replaywebpage 2.4.5 → 2.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/sw.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! sw.js (wabac.js 2.26.3) is part of Webrecorder project. Copyright (C) 2020-2026, Webrecorder Software. Licensed under the Affero General Public License v3. */var t={7526:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){var e,r,s=a(t),o=s[0],c=s[1],l=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,c)),h=0,u=c>0?o-4:o;for(r=0;r<u;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],l[h++]=e>>16&255,l[h++]=e>>8&255,l[h++]=255&e;return 2===c&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[h++]=255&e),1===c&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[h++]=e>>8&255,l[h++]=255&e),l},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,c=i-n;a<c;a+=o)s.push(l(t,a,a+o>c?c:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function l(t,e,r){for(var i,n=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),n.push(c(i));return n.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},6035:t=>{var e=4096,r=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function i(t){this.buf_=new Uint8Array(8224),this.input_=t,this.reset()}i.READ_SIZE=e,i.IBUF_MASK=8191,i.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var t=0;t<4;t++)this.val_|=this.buf_[this.pos_]<<8*t,++this.pos_;return this.bit_end_pos_>0},i.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var t=this.buf_ptr_,r=this.input_.read(this.buf_,t,e);if(r<0)throw new Error("Unexpected end of input");if(r<e){this.eos_=1;for(var i=0;i<32;i++)this.buf_[t+r+i]=0}if(0===t){for(i=0;i<32;i++)this.buf_[8192+i]=this.buf_[i];this.buf_ptr_=e}else this.buf_ptr_=0;this.bit_end_pos_+=r<<3}},i.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[8191&this.pos_]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},i.prototype.readBits=function(t){32-this.bit_pos_<t&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&r[t];return this.bit_pos_+=t,e},t.exports=i},2805:(t,e)=>{e.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},9206:(t,e,r)=>{var i=r(4927).z,n=r(4927).y,s=r(6035),o=r(8712),a=r(8171).z,c=r(8171).u,l=r(2805),h=r(7708),u=r(8270),p=1080,d=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),f=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),g=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),m=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function y(t){var e;return 0===t.readBits(1)?16:(e=t.readBits(3))>0?17+e:(e=t.readBits(3))>0?8+e:17}function w(t){if(t.readBits(1)){var e=t.readBits(3);return 0===e?1:t.readBits(e)+(1<<e)}return 0}function A(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function b(t){var e,r,i,n=new A;if(n.input_end=t.readBits(1),n.input_end&&t.readBits(1))return n;if(7===(e=t.readBits(2)+4)){if(n.is_metadata=!0,0!==t.readBits(1))throw new Error("Invalid reserved bit");if(0===(r=t.readBits(2)))return n;for(i=0;i<r;i++){var s=t.readBits(8);if(i+1===r&&r>1&&0===s)throw new Error("Invalid size byte");n.meta_block_length|=s<<8*i}}else for(i=0;i<e;++i){var o=t.readBits(4);if(i+1===e&&e>4&&0===o)throw new Error("Invalid size nibble");n.meta_block_length|=o<<4*i}return++n.meta_block_length,n.input_end||n.is_metadata||(n.is_uncompressed=t.readBits(1)),n}function E(t,e,r){var i;return r.fillBitWindow(),(i=t[e+=r.val_>>>r.bit_pos_&255].bits-8)>0&&(r.bit_pos_+=8,e+=t[e].value,e+=r.val_>>>r.bit_pos_&(1<<i)-1),r.bit_pos_+=t[e].bits,t[e].value}function v(t,e,r,i){var n,s,o=new Uint8Array(t);if(i.readMoreInput(),1===(s=i.readBits(2))){for(var l=t-1,h=0,u=new Int32Array(4),p=i.readBits(2)+1;l;)l>>=1,++h;for(f=0;f<p;++f)u[f]=i.readBits(h)%t,o[u[f]]=2;switch(o[u[0]]=1,p){case 1:break;case 3:if(u[0]===u[1]||u[0]===u[2]||u[1]===u[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(u[0]===u[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[u[1]]=1;break;case 4:if(u[0]===u[1]||u[0]===u[2]||u[0]===u[3]||u[1]===u[2]||u[1]===u[3]||u[2]===u[3])throw new Error("[ReadHuffmanCode] invalid symbols");i.readBits(1)?(o[u[2]]=3,o[u[3]]=3):o[u[0]]=2}}else{var f,g=new Uint8Array(18),m=32,y=0,w=[new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,1),new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,5)];for(f=s;f<18&&m>0;++f){var A,b=d[f],E=0;i.fillBitWindow(),E+=i.val_>>>i.bit_pos_&15,i.bit_pos_+=w[E].bits,A=w[E].value,g[b]=A,0!==A&&(m-=32>>A,++y)}if(1!==y&&0!==m)throw new Error("[ReadHuffmanCode] invalid num_codes or space");!function(t,e,r,i){for(var n=0,s=8,o=0,l=0,h=32768,u=[],p=0;p<32;p++)u.push(new a(0,0));for(c(u,0,5,t,18);n<e&&h>0;){var d,f=0;if(i.readMoreInput(),i.fillBitWindow(),f+=i.val_>>>i.bit_pos_&31,i.bit_pos_+=u[f].bits,(d=255&u[f].value)<16)o=0,r[n++]=d,0!==d&&(s=d,h-=32768>>d);else{var g,m,y=d-14,w=0;if(16===d&&(w=s),l!==w&&(o=0,l=w),g=o,o>0&&(o-=2,o<<=y),n+(m=(o+=i.readBits(y)+3)-g)>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var A=0;A<m;A++)r[n+A]=l;n+=m,0!==l&&(h-=m<<15-l)}}if(0!==h)throw new Error("[ReadHuffmanCodeLengths] space = "+h);for(;n<e;n++)r[n]=0}(g,t,o,i)}if(0===(n=c(e,r,8,o,t)))throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return n}function _(t,e,r){var i,n;return i=E(t,e,r),n=h.kBlockLengthPrefixCode[i].nbits,h.kBlockLengthPrefixCode[i].offset+r.readBits(n)}function x(t,e,r){var i;return t<16?(r+=f[t],i=e[r&=3]+g[t]):i=t-16+1,i}function I(t,e){for(var r=t[e],i=e;i;--i)t[i]=t[i-1];t[0]=r}function S(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*m[t+31>>>5]),this.htrees=new Uint32Array(e)}function T(t,e){var r,i,n={num_htrees:null,context_map:null},s=0;e.readMoreInput();var o=n.num_htrees=w(e)+1,c=n.context_map=new Uint8Array(t);if(o<=1)return n;for(e.readBits(1)&&(s=e.readBits(4)+1),r=[],i=0;i<p;i++)r[i]=new a(0,0);for(v(o+s,r,0,e),i=0;i<t;){var l;if(e.readMoreInput(),0===(l=E(r,0,e)))c[i]=0,++i;else if(l<=s)for(var h=1+(1<<l)+e.readBits(l);--h;){if(i>=t)throw new Error("[DecodeContextMap] i >= context_map_size");c[i]=0,++i}else c[i]=l-s,++i}return e.readBits(1)&&function(t,e){var r,i=new Uint8Array(256);for(r=0;r<256;++r)i[r]=r;for(r=0;r<e;++r){var n=t[r];t[r]=i[n],n&&I(i,n)}}(c,t),n}function C(t,e,r,i,n,s,o){var a,c=2*r,l=r,h=E(e,r*p,o);(a=0===h?n[c+(1&s[l])]:1===h?n[c+(s[l]-1&1)]+1:h-2)>=t&&(a-=t),i[r]=a,n[c+(1&s[l])]=a,++s[l]}function R(t,e,r,i,n,o){var a,c=n+1,l=r&n,h=o.pos_&s.IBUF_MASK;if(e<8||o.bit_pos_+(e<<3)<o.bit_end_pos_)for(;e-- >0;)o.readMoreInput(),i[l++]=o.readBits(8),l===c&&(t.write(i,c),l=0);else{if(o.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;o.bit_pos_<32;)i[l]=o.val_>>>o.bit_pos_,o.bit_pos_+=8,++l,--e;if(h+(a=o.bit_end_pos_-o.bit_pos_>>3)>s.IBUF_MASK){for(var u=s.IBUF_MASK+1-h,p=0;p<u;p++)i[l+p]=o.buf_[h+p];a-=u,l+=u,e-=u,h=0}for(p=0;p<a;p++)i[l+p]=o.buf_[h+p];if(e-=a,(l+=a)>=c)for(t.write(i,c),l-=c,p=0;p<l;p++)i[p]=i[c+p];for(;l+e>=c;){if(a=c-l,o.input_.read(i,l,a)<a)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");t.write(i,c),e-=a,l=0}if(o.input_.read(i,l,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");o.reset()}}function k(t){var e=t.bit_pos_+7&-8;return 0==t.readBits(e-t.bit_pos_)}function N(t){var e=new i(t),r=new s(e);return y(r),b(r).meta_block_length}function B(t,e){var r,i,n,c,d,f,g,m,A,I,N=0,B=0,O=0,P=[16,15,11,4],D=0,L=0,U=0,M=[new S(0,0),new S(0,0),new S(0,0)],F=128+s.READ_SIZE;n=(1<<(i=y(I=new s(t))))-16,d=(c=1<<i)-1,f=new Uint8Array(c+F+o.maxDictionaryWordLength),g=c,m=[],A=[];for(var H=0;H<3240;H++)m[H]=new a(0,0),A[H]=new a(0,0);for(;!B;){var j,V,W,z,Q,q,G,J,Y,K,X,Z=0,$=[1<<28,1<<28,1<<28],tt=[0],et=[1,1,1],rt=[0,1,0,1,0,1],it=[0],nt=null,st=null,ot=0,at=null,ct=0,lt=0,ht=0;for(r=0;r<3;++r)M[r].codes=null,M[r].htrees=null;I.readMoreInput();var ut=b(I);if(N+(Z=ut.meta_block_length)>e.buffer.length){var pt=new Uint8Array(N+Z);pt.set(e.buffer),e.buffer=pt}if(B=ut.input_end,j=ut.is_uncompressed,ut.is_metadata)for(k(I);Z>0;--Z)I.readMoreInput(),I.readBits(8);else if(0!==Z)if(j)I.bit_pos_=I.bit_pos_+7&-8,R(e,Z,N,f,d,I),N+=Z;else{for(r=0;r<3;++r)et[r]=w(I)+1,et[r]>=2&&(v(et[r]+2,m,r*p,I),v(26,A,r*p,I),$[r]=_(A,r*p,I),it[r]=1);for(I.readMoreInput(),z=(1<<(V=I.readBits(2)))-1,Q=(W=16+(I.readBits(4)<<V))+(48<<V),nt=new Uint8Array(et[0]),r=0;r<et[0];++r)I.readMoreInput(),nt[r]=I.readBits(2)<<1;var dt=T(et[0]<<6,I);G=dt.num_htrees,q=dt.context_map;var ft=T(et[2]<<2,I);for(Y=ft.num_htrees,J=ft.context_map,M[0]=new S(256,G),M[1]=new S(704,et[1]),M[2]=new S(Q,Y),r=0;r<3;++r)M[r].decode(I);for(st=0,at=0,K=nt[tt[0]],lt=l.lookupOffsets[K],ht=l.lookupOffsets[K+1],X=M[1].htrees[0];Z>0;){var gt,mt,yt,wt,At,bt,Et,vt,_t,xt,It,St;for(I.readMoreInput(),0===$[1]&&(C(et[1],m,1,tt,rt,it,I),$[1]=_(A,p,I),X=M[1].htrees[tt[1]]),--$[1],(mt=(gt=E(M[1].codes,X,I))>>6)>=2?(mt-=2,Et=-1):Et=0,yt=h.kInsertRangeLut[mt]+(gt>>3&7),wt=h.kCopyRangeLut[mt]+(7&gt),At=h.kInsertLengthPrefixCode[yt].offset+I.readBits(h.kInsertLengthPrefixCode[yt].nbits),bt=h.kCopyLengthPrefixCode[wt].offset+I.readBits(h.kCopyLengthPrefixCode[wt].nbits),L=f[N-1&d],U=f[N-2&d],_t=0;_t<At;++_t)I.readMoreInput(),0===$[0]&&(C(et[0],m,0,tt,rt,it,I),$[0]=_(A,0,I),st=tt[0]<<6,K=nt[tt[0]],lt=l.lookupOffsets[K],ht=l.lookupOffsets[K+1]),ot=q[st+(l.lookup[lt+L]|l.lookup[ht+U])],--$[0],U=L,L=E(M[0].codes,M[0].htrees[ot],I),f[N&d]=L,(N&d)===d&&e.write(f,c),++N;if((Z-=At)<=0)break;if(Et<0&&(I.readMoreInput(),0===$[2]&&(C(et[2],m,2,tt,rt,it,I),$[2]=_(A,2160,I),at=tt[2]<<2),--$[2],ct=J[at+(255&(bt>4?3:bt-2))],(Et=E(M[2].codes,M[2].htrees[ct],I))>=W&&(St=(Et-=W)&z,Et=W+((Tt=(2+(1&(Et>>=V))<<(It=1+(Et>>1)))-4)+I.readBits(It)<<V)+St)),(vt=x(Et,P,D))<0)throw new Error("[BrotliDecompress] invalid distance");if(xt=N&d,vt>(O=N<n&&O!==n?N:n)){if(!(bt>=o.minDictionaryWordLength&&bt<=o.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+N+" distance: "+vt+" len: "+bt+" bytes left: "+Z);var Tt=o.offsetsByLength[bt],Ct=vt-O-1,Rt=o.sizeBitsByLength[bt],kt=Ct>>Rt;if(Tt+=(Ct&(1<<Rt)-1)*bt,!(kt<u.kNumTransforms))throw new Error("Invalid backward reference. pos: "+N+" distance: "+vt+" len: "+bt+" bytes left: "+Z);var Nt=u.transformDictionaryWord(f,xt,Tt,bt,kt);if(N+=Nt,Z-=Nt,(xt+=Nt)>=g){e.write(f,c);for(var Bt=0;Bt<xt-g;Bt++)f[Bt]=f[g+Bt]}}else{if(Et>0&&(P[3&D]=vt,++D),bt>Z)throw new Error("Invalid backward reference. pos: "+N+" distance: "+vt+" len: "+bt+" bytes left: "+Z);for(_t=0;_t<bt;++_t)f[N&d]=f[N-vt&d],(N&d)===d&&e.write(f,c),++N,--Z}L=f[N-1&d],U=f[N-2&d]}N&=1073741823}}e.write(f,N&d)}S.prototype.decode=function(t){var e,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,r+=v(this.alphabet_size,this.codes,r,t)},e.BrotliDecompressBuffer=function(t,e){var r=new i(t);null==e&&(e=N(t));var s=new Uint8Array(e),o=new n(s);return B(r,o),o.pos<o.buffer.length&&(o.buffer=o.buffer.subarray(0,o.pos)),o.buffer},o.init()},9017:(t,e,r)=>{var i=r(3390);e.init=function(){return(0,r(9206).BrotliDecompressBuffer)(i.toByteArray(r(7611)))}},7611:t=>{t.exports="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"},8712:(t,e,r)=>{var i=r(9017);e.init=function(){e.dictionary=i.init()},e.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),e.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),e.minDictionaryWordLength=4,e.maxDictionaryWordLength=24},8171:(t,e)=>{function r(t,e){this.bits=t,this.value=e}e.z=r;function i(t,e){for(var r=1<<e-1;t&r;)r>>=1;return(t&r-1)+r}function n(t,e,i,n,s){do{t[e+(n-=i)]=new r(s.bits,s.value)}while(n>0)}function s(t,e,r){for(var i=1<<e-r;e<15&&!((i-=t[e])<=0);)++e,i<<=1;return e-r}e.u=function(t,e,o,a,c){var l,h,u,p,d,f,g,m,y,w,A=e,b=new Int32Array(16),E=new Int32Array(16);for(w=new Int32Array(c),h=0;h<c;h++)b[a[h]]++;for(E[1]=0,l=1;l<15;l++)E[l+1]=E[l]+b[l];for(h=0;h<c;h++)0!==a[h]&&(w[E[a[h]]++]=h);if(y=m=1<<(g=o),1===E[15]){for(u=0;u<y;++u)t[e+u]=new r(0,65535&w[0]);return y}for(u=0,h=0,l=1,p=2;l<=o;++l,p<<=1)for(;b[l]>0;--b[l])n(t,e+u,p,m,new r(255&l,65535&w[h++])),u=i(u,l);for(f=y-1,d=-1,l=o+1,p=2;l<=15;++l,p<<=1)for(;b[l]>0;--b[l])(u&f)!==d&&(e+=m,y+=m=1<<(g=s(b,l,o)),t[A+(d=u&f)]=new r(g+o&255,e-A-d&65535)),n(t,e+(u>>o),p,m,new r(l-o&255,65535&w[h++])),u=i(u,l);return y}},7708:(t,e)=>{function r(t,e){this.offset=t,this.nbits=e}e.kBlockLengthPrefixCode=[new r(1,2),new r(5,2),new r(9,2),new r(13,2),new r(17,3),new r(25,3),new r(33,3),new r(41,3),new r(49,4),new r(65,4),new r(81,4),new r(97,4),new r(113,5),new r(145,5),new r(177,5),new r(209,5),new r(241,6),new r(305,6),new r(369,7),new r(497,8),new r(753,9),new r(1265,10),new r(2289,11),new r(4337,12),new r(8433,13),new r(16625,24)],e.kInsertLengthPrefixCode=[new r(0,0),new r(1,0),new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,1),new r(8,1),new r(10,2),new r(14,2),new r(18,3),new r(26,3),new r(34,4),new r(50,4),new r(66,5),new r(98,5),new r(130,6),new r(194,7),new r(322,8),new r(578,9),new r(1090,10),new r(2114,12),new r(6210,14),new r(22594,24)],e.kCopyLengthPrefixCode=[new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,0),new r(7,0),new r(8,0),new r(9,0),new r(10,1),new r(12,1),new r(14,2),new r(18,2),new r(22,3),new r(30,3),new r(38,4),new r(54,4),new r(70,5),new r(102,5),new r(134,6),new r(198,7),new r(326,8),new r(582,9),new r(1094,10),new r(2118,24)],e.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],e.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},4927:(t,e)=>{function r(t){this.buffer=t,this.pos=0}function i(t){this.buffer=t,this.pos=0}r.prototype.read=function(t,e,r){this.pos+r>this.buffer.length&&(r=this.buffer.length-this.pos);for(var i=0;i<r;i++)t[e+i]=this.buffer[this.pos+i];return this.pos+=r,r},e.z=r,i.prototype.write=function(t,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(t.subarray(0,e),this.pos),this.pos+=e,e},e.y=i},8270:(t,e,r)=>{var i=r(8712),n=10,s=11;function o(t,e,r){this.prefix=new Uint8Array(t.length),this.transform=e,this.suffix=new Uint8Array(r.length);for(var i=0;i<t.length;i++)this.prefix[i]=t.charCodeAt(i);for(i=0;i<r.length;i++)this.suffix[i]=r.charCodeAt(i)}var a=[new o("",0,""),new o("",0," "),new o(" ",0," "),new o("",12,""),new o("",n," "),new o("",0," the "),new o(" ",0,""),new o("s ",0," "),new o("",0," of "),new o("",n,""),new o("",0," and "),new o("",13,""),new o("",1,""),new o(", ",0," "),new o("",0,", "),new o(" ",n," "),new o("",0," in "),new o("",0," to "),new o("e ",0," "),new o("",0,'"'),new o("",0,"."),new o("",0,'">'),new o("",0,"\n"),new o("",3,""),new o("",0,"]"),new o("",0," for "),new o("",14,""),new o("",2,""),new o("",0," a "),new o("",0," that "),new o(" ",n,""),new o("",0,". "),new o(".",0,""),new o(" ",0,", "),new o("",15,""),new o("",0," with "),new o("",0,"'"),new o("",0," from "),new o("",0," by "),new o("",16,""),new o("",17,""),new o(" the ",0,""),new o("",4,""),new o("",0,". The "),new o("",s,""),new o("",0," on "),new o("",0," as "),new o("",0," is "),new o("",7,""),new o("",1,"ing "),new o("",0,"\n\t"),new o("",0,":"),new o(" ",0,". "),new o("",0,"ed "),new o("",20,""),new o("",18,""),new o("",6,""),new o("",0,"("),new o("",n,", "),new o("",8,""),new o("",0," at "),new o("",0,"ly "),new o(" the ",0," of "),new o("",5,""),new o("",9,""),new o(" ",n,", "),new o("",n,'"'),new o(".",0,"("),new o("",s," "),new o("",n,'">'),new o("",0,'="'),new o(" ",0,"."),new o(".com/",0,""),new o(" the ",0," of the "),new o("",n,"'"),new o("",0,". This "),new o("",0,","),new o(".",0," "),new o("",n,"("),new o("",n,"."),new o("",0," not "),new o(" ",0,'="'),new o("",0,"er "),new o(" ",s," "),new o("",0,"al "),new o(" ",s,""),new o("",0,"='"),new o("",s,'"'),new o("",n,". "),new o(" ",0,"("),new o("",0,"ful "),new o(" ",n,". "),new o("",0,"ive "),new o("",0,"less "),new o("",s,"'"),new o("",0,"est "),new o(" ",n,"."),new o("",s,'">'),new o(" ",0,"='"),new o("",n,","),new o("",0,"ize "),new o("",s,"."),new o(" ",0,""),new o(" ",0,","),new o("",n,'="'),new o("",s,'="'),new o("",0,"ous "),new o("",s,", "),new o("",n,"='"),new o(" ",n,","),new o(" ",s,'="'),new o(" ",s,", "),new o("",s,","),new o("",s,"("),new o("",s,". "),new o(" ",s,"."),new o("",s,"='"),new o(" ",s,". "),new o(" ",n,'="'),new o(" ",s,"='"),new o(" ",n,"='")];function c(t,e){return t[e]<192?(t[e]>=97&&t[e]<=122&&(t[e]^=32),1):t[e]<224?(t[e+1]^=32,2):(t[e+2]^=5,3)}e.kTransforms=a,e.kNumTransforms=a.length,e.transformDictionaryWord=function(t,e,r,o,l){var h,u=a[l].prefix,p=a[l].suffix,d=a[l].transform,f=d<12?0:d-11,g=0,m=e;f>o&&(f=o);for(var y=0;y<u.length;)t[e++]=u[y++];for(r+=f,o-=f,d<=9&&(o-=d),g=0;g<o;g++)t[e++]=i.dictionary[r+g];if(h=e-o,d===n)c(t,h);else if(d===s)for(;o>0;){var w=c(t,h);h+=w,o-=w}for(var A=0;A<p.length;)t[e++]=p[A++];return e-m}},4698:(t,e,r)=>{t.exports=r(9206).BrotliDecompressBuffer},3390:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){for(var e,r=a(t),s=r[0],o=r[1],c=new n(function(t,e,r){return 3*(e+r)/4-r}(0,s,o)),l=0,h=o>0?s-4:s,u=0;u<h;u+=4)e=i[t.charCodeAt(u)]<<18|i[t.charCodeAt(u+1)]<<12|i[t.charCodeAt(u+2)]<<6|i[t.charCodeAt(u+3)],c[l++]=e>>16&255,c[l++]=e>>8&255,c[l++]=255&e;return 2===o&&(e=i[t.charCodeAt(u)]<<2|i[t.charCodeAt(u+1)]>>4,c[l++]=255&e),1===o&&(e=i[t.charCodeAt(u)]<<10|i[t.charCodeAt(u+1)]<<4|i[t.charCodeAt(u+2)]>>2,c[l++]=e>>8&255,c[l++]=255&e),c},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,c=i-n;a<c;a+=o)s.push(l(t,a,a+o>c?c:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function l(t,e,r){for(var i,n=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),n.push(c(i));return n.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8287:(t,e,r)=>{
1
+ /*! sw.js (wabac.js 2.26.4) is part of Webrecorder project. Copyright (C) 2020-2026, Webrecorder Software. Licensed under the Affero General Public License v3. */var t={7526:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){var e,r,s=a(t),o=s[0],c=s[1],l=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,c)),h=0,u=c>0?o-4:o;for(r=0;r<u;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],l[h++]=e>>16&255,l[h++]=e>>8&255,l[h++]=255&e;return 2===c&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[h++]=255&e),1===c&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[h++]=e>>8&255,l[h++]=255&e),l},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,c=i-n;a<c;a+=o)s.push(l(t,a,a+o>c?c:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function l(t,e,r){for(var i,n=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),n.push(c(i));return n.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},6035:t=>{var e=4096,r=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function i(t){this.buf_=new Uint8Array(8224),this.input_=t,this.reset()}i.READ_SIZE=e,i.IBUF_MASK=8191,i.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var t=0;t<4;t++)this.val_|=this.buf_[this.pos_]<<8*t,++this.pos_;return this.bit_end_pos_>0},i.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var t=this.buf_ptr_,r=this.input_.read(this.buf_,t,e);if(r<0)throw new Error("Unexpected end of input");if(r<e){this.eos_=1;for(var i=0;i<32;i++)this.buf_[t+r+i]=0}if(0===t){for(i=0;i<32;i++)this.buf_[8192+i]=this.buf_[i];this.buf_ptr_=e}else this.buf_ptr_=0;this.bit_end_pos_+=r<<3}},i.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[8191&this.pos_]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},i.prototype.readBits=function(t){32-this.bit_pos_<t&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&r[t];return this.bit_pos_+=t,e},t.exports=i},2805:(t,e)=>{e.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},9206:(t,e,r)=>{var i=r(4927).z,n=r(4927).y,s=r(6035),o=r(8712),a=r(8171).z,c=r(8171).u,l=r(2805),h=r(7708),u=r(8270),p=1080,d=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),f=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),g=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),m=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function y(t){var e;return 0===t.readBits(1)?16:(e=t.readBits(3))>0?17+e:(e=t.readBits(3))>0?8+e:17}function w(t){if(t.readBits(1)){var e=t.readBits(3);return 0===e?1:t.readBits(e)+(1<<e)}return 0}function A(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function b(t){var e,r,i,n=new A;if(n.input_end=t.readBits(1),n.input_end&&t.readBits(1))return n;if(7===(e=t.readBits(2)+4)){if(n.is_metadata=!0,0!==t.readBits(1))throw new Error("Invalid reserved bit");if(0===(r=t.readBits(2)))return n;for(i=0;i<r;i++){var s=t.readBits(8);if(i+1===r&&r>1&&0===s)throw new Error("Invalid size byte");n.meta_block_length|=s<<8*i}}else for(i=0;i<e;++i){var o=t.readBits(4);if(i+1===e&&e>4&&0===o)throw new Error("Invalid size nibble");n.meta_block_length|=o<<4*i}return++n.meta_block_length,n.input_end||n.is_metadata||(n.is_uncompressed=t.readBits(1)),n}function E(t,e,r){var i;return r.fillBitWindow(),(i=t[e+=r.val_>>>r.bit_pos_&255].bits-8)>0&&(r.bit_pos_+=8,e+=t[e].value,e+=r.val_>>>r.bit_pos_&(1<<i)-1),r.bit_pos_+=t[e].bits,t[e].value}function v(t,e,r,i){var n,s,o=new Uint8Array(t);if(i.readMoreInput(),1===(s=i.readBits(2))){for(var l=t-1,h=0,u=new Int32Array(4),p=i.readBits(2)+1;l;)l>>=1,++h;for(f=0;f<p;++f)u[f]=i.readBits(h)%t,o[u[f]]=2;switch(o[u[0]]=1,p){case 1:break;case 3:if(u[0]===u[1]||u[0]===u[2]||u[1]===u[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(u[0]===u[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[u[1]]=1;break;case 4:if(u[0]===u[1]||u[0]===u[2]||u[0]===u[3]||u[1]===u[2]||u[1]===u[3]||u[2]===u[3])throw new Error("[ReadHuffmanCode] invalid symbols");i.readBits(1)?(o[u[2]]=3,o[u[3]]=3):o[u[0]]=2}}else{var f,g=new Uint8Array(18),m=32,y=0,w=[new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,1),new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,5)];for(f=s;f<18&&m>0;++f){var A,b=d[f],E=0;i.fillBitWindow(),E+=i.val_>>>i.bit_pos_&15,i.bit_pos_+=w[E].bits,A=w[E].value,g[b]=A,0!==A&&(m-=32>>A,++y)}if(1!==y&&0!==m)throw new Error("[ReadHuffmanCode] invalid num_codes or space");!function(t,e,r,i){for(var n=0,s=8,o=0,l=0,h=32768,u=[],p=0;p<32;p++)u.push(new a(0,0));for(c(u,0,5,t,18);n<e&&h>0;){var d,f=0;if(i.readMoreInput(),i.fillBitWindow(),f+=i.val_>>>i.bit_pos_&31,i.bit_pos_+=u[f].bits,(d=255&u[f].value)<16)o=0,r[n++]=d,0!==d&&(s=d,h-=32768>>d);else{var g,m,y=d-14,w=0;if(16===d&&(w=s),l!==w&&(o=0,l=w),g=o,o>0&&(o-=2,o<<=y),n+(m=(o+=i.readBits(y)+3)-g)>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var A=0;A<m;A++)r[n+A]=l;n+=m,0!==l&&(h-=m<<15-l)}}if(0!==h)throw new Error("[ReadHuffmanCodeLengths] space = "+h);for(;n<e;n++)r[n]=0}(g,t,o,i)}if(0===(n=c(e,r,8,o,t)))throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return n}function _(t,e,r){var i,n;return i=E(t,e,r),n=h.kBlockLengthPrefixCode[i].nbits,h.kBlockLengthPrefixCode[i].offset+r.readBits(n)}function x(t,e,r){var i;return t<16?(r+=f[t],i=e[r&=3]+g[t]):i=t-16+1,i}function I(t,e){for(var r=t[e],i=e;i;--i)t[i]=t[i-1];t[0]=r}function S(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*m[t+31>>>5]),this.htrees=new Uint32Array(e)}function T(t,e){var r,i,n={num_htrees:null,context_map:null},s=0;e.readMoreInput();var o=n.num_htrees=w(e)+1,c=n.context_map=new Uint8Array(t);if(o<=1)return n;for(e.readBits(1)&&(s=e.readBits(4)+1),r=[],i=0;i<p;i++)r[i]=new a(0,0);for(v(o+s,r,0,e),i=0;i<t;){var l;if(e.readMoreInput(),0===(l=E(r,0,e)))c[i]=0,++i;else if(l<=s)for(var h=1+(1<<l)+e.readBits(l);--h;){if(i>=t)throw new Error("[DecodeContextMap] i >= context_map_size");c[i]=0,++i}else c[i]=l-s,++i}return e.readBits(1)&&function(t,e){var r,i=new Uint8Array(256);for(r=0;r<256;++r)i[r]=r;for(r=0;r<e;++r){var n=t[r];t[r]=i[n],n&&I(i,n)}}(c,t),n}function C(t,e,r,i,n,s,o){var a,c=2*r,l=r,h=E(e,r*p,o);(a=0===h?n[c+(1&s[l])]:1===h?n[c+(s[l]-1&1)]+1:h-2)>=t&&(a-=t),i[r]=a,n[c+(1&s[l])]=a,++s[l]}function R(t,e,r,i,n,o){var a,c=n+1,l=r&n,h=o.pos_&s.IBUF_MASK;if(e<8||o.bit_pos_+(e<<3)<o.bit_end_pos_)for(;e-- >0;)o.readMoreInput(),i[l++]=o.readBits(8),l===c&&(t.write(i,c),l=0);else{if(o.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;o.bit_pos_<32;)i[l]=o.val_>>>o.bit_pos_,o.bit_pos_+=8,++l,--e;if(h+(a=o.bit_end_pos_-o.bit_pos_>>3)>s.IBUF_MASK){for(var u=s.IBUF_MASK+1-h,p=0;p<u;p++)i[l+p]=o.buf_[h+p];a-=u,l+=u,e-=u,h=0}for(p=0;p<a;p++)i[l+p]=o.buf_[h+p];if(e-=a,(l+=a)>=c)for(t.write(i,c),l-=c,p=0;p<l;p++)i[p]=i[c+p];for(;l+e>=c;){if(a=c-l,o.input_.read(i,l,a)<a)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");t.write(i,c),e-=a,l=0}if(o.input_.read(i,l,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");o.reset()}}function k(t){var e=t.bit_pos_+7&-8;return 0==t.readBits(e-t.bit_pos_)}function N(t){var e=new i(t),r=new s(e);return y(r),b(r).meta_block_length}function B(t,e){var r,i,n,c,d,f,g,m,A,I,N=0,B=0,O=0,P=[16,15,11,4],D=0,L=0,U=0,M=[new S(0,0),new S(0,0),new S(0,0)],F=128+s.READ_SIZE;n=(1<<(i=y(I=new s(t))))-16,d=(c=1<<i)-1,f=new Uint8Array(c+F+o.maxDictionaryWordLength),g=c,m=[],A=[];for(var H=0;H<3240;H++)m[H]=new a(0,0),A[H]=new a(0,0);for(;!B;){var j,V,W,z,Q,q,G,J,Y,K,X,Z=0,$=[1<<28,1<<28,1<<28],tt=[0],et=[1,1,1],rt=[0,1,0,1,0,1],it=[0],nt=null,st=null,ot=0,at=null,ct=0,lt=0,ht=0;for(r=0;r<3;++r)M[r].codes=null,M[r].htrees=null;I.readMoreInput();var ut=b(I);if(N+(Z=ut.meta_block_length)>e.buffer.length){var pt=new Uint8Array(N+Z);pt.set(e.buffer),e.buffer=pt}if(B=ut.input_end,j=ut.is_uncompressed,ut.is_metadata)for(k(I);Z>0;--Z)I.readMoreInput(),I.readBits(8);else if(0!==Z)if(j)I.bit_pos_=I.bit_pos_+7&-8,R(e,Z,N,f,d,I),N+=Z;else{for(r=0;r<3;++r)et[r]=w(I)+1,et[r]>=2&&(v(et[r]+2,m,r*p,I),v(26,A,r*p,I),$[r]=_(A,r*p,I),it[r]=1);for(I.readMoreInput(),z=(1<<(V=I.readBits(2)))-1,Q=(W=16+(I.readBits(4)<<V))+(48<<V),nt=new Uint8Array(et[0]),r=0;r<et[0];++r)I.readMoreInput(),nt[r]=I.readBits(2)<<1;var dt=T(et[0]<<6,I);G=dt.num_htrees,q=dt.context_map;var ft=T(et[2]<<2,I);for(Y=ft.num_htrees,J=ft.context_map,M[0]=new S(256,G),M[1]=new S(704,et[1]),M[2]=new S(Q,Y),r=0;r<3;++r)M[r].decode(I);for(st=0,at=0,K=nt[tt[0]],lt=l.lookupOffsets[K],ht=l.lookupOffsets[K+1],X=M[1].htrees[0];Z>0;){var gt,mt,yt,wt,At,bt,Et,vt,_t,xt,It,St;for(I.readMoreInput(),0===$[1]&&(C(et[1],m,1,tt,rt,it,I),$[1]=_(A,p,I),X=M[1].htrees[tt[1]]),--$[1],(mt=(gt=E(M[1].codes,X,I))>>6)>=2?(mt-=2,Et=-1):Et=0,yt=h.kInsertRangeLut[mt]+(gt>>3&7),wt=h.kCopyRangeLut[mt]+(7&gt),At=h.kInsertLengthPrefixCode[yt].offset+I.readBits(h.kInsertLengthPrefixCode[yt].nbits),bt=h.kCopyLengthPrefixCode[wt].offset+I.readBits(h.kCopyLengthPrefixCode[wt].nbits),L=f[N-1&d],U=f[N-2&d],_t=0;_t<At;++_t)I.readMoreInput(),0===$[0]&&(C(et[0],m,0,tt,rt,it,I),$[0]=_(A,0,I),st=tt[0]<<6,K=nt[tt[0]],lt=l.lookupOffsets[K],ht=l.lookupOffsets[K+1]),ot=q[st+(l.lookup[lt+L]|l.lookup[ht+U])],--$[0],U=L,L=E(M[0].codes,M[0].htrees[ot],I),f[N&d]=L,(N&d)===d&&e.write(f,c),++N;if((Z-=At)<=0)break;if(Et<0&&(I.readMoreInput(),0===$[2]&&(C(et[2],m,2,tt,rt,it,I),$[2]=_(A,2160,I),at=tt[2]<<2),--$[2],ct=J[at+(255&(bt>4?3:bt-2))],(Et=E(M[2].codes,M[2].htrees[ct],I))>=W&&(St=(Et-=W)&z,Et=W+((Tt=(2+(1&(Et>>=V))<<(It=1+(Et>>1)))-4)+I.readBits(It)<<V)+St)),(vt=x(Et,P,D))<0)throw new Error("[BrotliDecompress] invalid distance");if(xt=N&d,vt>(O=N<n&&O!==n?N:n)){if(!(bt>=o.minDictionaryWordLength&&bt<=o.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+N+" distance: "+vt+" len: "+bt+" bytes left: "+Z);var Tt=o.offsetsByLength[bt],Ct=vt-O-1,Rt=o.sizeBitsByLength[bt],kt=Ct>>Rt;if(Tt+=(Ct&(1<<Rt)-1)*bt,!(kt<u.kNumTransforms))throw new Error("Invalid backward reference. pos: "+N+" distance: "+vt+" len: "+bt+" bytes left: "+Z);var Nt=u.transformDictionaryWord(f,xt,Tt,bt,kt);if(N+=Nt,Z-=Nt,(xt+=Nt)>=g){e.write(f,c);for(var Bt=0;Bt<xt-g;Bt++)f[Bt]=f[g+Bt]}}else{if(Et>0&&(P[3&D]=vt,++D),bt>Z)throw new Error("Invalid backward reference. pos: "+N+" distance: "+vt+" len: "+bt+" bytes left: "+Z);for(_t=0;_t<bt;++_t)f[N&d]=f[N-vt&d],(N&d)===d&&e.write(f,c),++N,--Z}L=f[N-1&d],U=f[N-2&d]}N&=1073741823}}e.write(f,N&d)}S.prototype.decode=function(t){var e,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,r+=v(this.alphabet_size,this.codes,r,t)},e.BrotliDecompressBuffer=function(t,e){var r=new i(t);null==e&&(e=N(t));var s=new Uint8Array(e),o=new n(s);return B(r,o),o.pos<o.buffer.length&&(o.buffer=o.buffer.subarray(0,o.pos)),o.buffer},o.init()},9017:(t,e,r)=>{var i=r(3390);e.init=function(){return(0,r(9206).BrotliDecompressBuffer)(i.toByteArray(r(7611)))}},7611:t=>{t.exports="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"},8712:(t,e,r)=>{var i=r(9017);e.init=function(){e.dictionary=i.init()},e.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),e.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),e.minDictionaryWordLength=4,e.maxDictionaryWordLength=24},8171:(t,e)=>{function r(t,e){this.bits=t,this.value=e}e.z=r;function i(t,e){for(var r=1<<e-1;t&r;)r>>=1;return(t&r-1)+r}function n(t,e,i,n,s){do{t[e+(n-=i)]=new r(s.bits,s.value)}while(n>0)}function s(t,e,r){for(var i=1<<e-r;e<15&&!((i-=t[e])<=0);)++e,i<<=1;return e-r}e.u=function(t,e,o,a,c){var l,h,u,p,d,f,g,m,y,w,A=e,b=new Int32Array(16),E=new Int32Array(16);for(w=new Int32Array(c),h=0;h<c;h++)b[a[h]]++;for(E[1]=0,l=1;l<15;l++)E[l+1]=E[l]+b[l];for(h=0;h<c;h++)0!==a[h]&&(w[E[a[h]]++]=h);if(y=m=1<<(g=o),1===E[15]){for(u=0;u<y;++u)t[e+u]=new r(0,65535&w[0]);return y}for(u=0,h=0,l=1,p=2;l<=o;++l,p<<=1)for(;b[l]>0;--b[l])n(t,e+u,p,m,new r(255&l,65535&w[h++])),u=i(u,l);for(f=y-1,d=-1,l=o+1,p=2;l<=15;++l,p<<=1)for(;b[l]>0;--b[l])(u&f)!==d&&(e+=m,y+=m=1<<(g=s(b,l,o)),t[A+(d=u&f)]=new r(g+o&255,e-A-d&65535)),n(t,e+(u>>o),p,m,new r(l-o&255,65535&w[h++])),u=i(u,l);return y}},7708:(t,e)=>{function r(t,e){this.offset=t,this.nbits=e}e.kBlockLengthPrefixCode=[new r(1,2),new r(5,2),new r(9,2),new r(13,2),new r(17,3),new r(25,3),new r(33,3),new r(41,3),new r(49,4),new r(65,4),new r(81,4),new r(97,4),new r(113,5),new r(145,5),new r(177,5),new r(209,5),new r(241,6),new r(305,6),new r(369,7),new r(497,8),new r(753,9),new r(1265,10),new r(2289,11),new r(4337,12),new r(8433,13),new r(16625,24)],e.kInsertLengthPrefixCode=[new r(0,0),new r(1,0),new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,1),new r(8,1),new r(10,2),new r(14,2),new r(18,3),new r(26,3),new r(34,4),new r(50,4),new r(66,5),new r(98,5),new r(130,6),new r(194,7),new r(322,8),new r(578,9),new r(1090,10),new r(2114,12),new r(6210,14),new r(22594,24)],e.kCopyLengthPrefixCode=[new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,0),new r(7,0),new r(8,0),new r(9,0),new r(10,1),new r(12,1),new r(14,2),new r(18,2),new r(22,3),new r(30,3),new r(38,4),new r(54,4),new r(70,5),new r(102,5),new r(134,6),new r(198,7),new r(326,8),new r(582,9),new r(1094,10),new r(2118,24)],e.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],e.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},4927:(t,e)=>{function r(t){this.buffer=t,this.pos=0}function i(t){this.buffer=t,this.pos=0}r.prototype.read=function(t,e,r){this.pos+r>this.buffer.length&&(r=this.buffer.length-this.pos);for(var i=0;i<r;i++)t[e+i]=this.buffer[this.pos+i];return this.pos+=r,r},e.z=r,i.prototype.write=function(t,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(t.subarray(0,e),this.pos),this.pos+=e,e},e.y=i},8270:(t,e,r)=>{var i=r(8712),n=10,s=11;function o(t,e,r){this.prefix=new Uint8Array(t.length),this.transform=e,this.suffix=new Uint8Array(r.length);for(var i=0;i<t.length;i++)this.prefix[i]=t.charCodeAt(i);for(i=0;i<r.length;i++)this.suffix[i]=r.charCodeAt(i)}var a=[new o("",0,""),new o("",0," "),new o(" ",0," "),new o("",12,""),new o("",n," "),new o("",0," the "),new o(" ",0,""),new o("s ",0," "),new o("",0," of "),new o("",n,""),new o("",0," and "),new o("",13,""),new o("",1,""),new o(", ",0," "),new o("",0,", "),new o(" ",n," "),new o("",0," in "),new o("",0," to "),new o("e ",0," "),new o("",0,'"'),new o("",0,"."),new o("",0,'">'),new o("",0,"\n"),new o("",3,""),new o("",0,"]"),new o("",0," for "),new o("",14,""),new o("",2,""),new o("",0," a "),new o("",0," that "),new o(" ",n,""),new o("",0,". "),new o(".",0,""),new o(" ",0,", "),new o("",15,""),new o("",0," with "),new o("",0,"'"),new o("",0," from "),new o("",0," by "),new o("",16,""),new o("",17,""),new o(" the ",0,""),new o("",4,""),new o("",0,". The "),new o("",s,""),new o("",0," on "),new o("",0," as "),new o("",0," is "),new o("",7,""),new o("",1,"ing "),new o("",0,"\n\t"),new o("",0,":"),new o(" ",0,". "),new o("",0,"ed "),new o("",20,""),new o("",18,""),new o("",6,""),new o("",0,"("),new o("",n,", "),new o("",8,""),new o("",0," at "),new o("",0,"ly "),new o(" the ",0," of "),new o("",5,""),new o("",9,""),new o(" ",n,", "),new o("",n,'"'),new o(".",0,"("),new o("",s," "),new o("",n,'">'),new o("",0,'="'),new o(" ",0,"."),new o(".com/",0,""),new o(" the ",0," of the "),new o("",n,"'"),new o("",0,". This "),new o("",0,","),new o(".",0," "),new o("",n,"("),new o("",n,"."),new o("",0," not "),new o(" ",0,'="'),new o("",0,"er "),new o(" ",s," "),new o("",0,"al "),new o(" ",s,""),new o("",0,"='"),new o("",s,'"'),new o("",n,". "),new o(" ",0,"("),new o("",0,"ful "),new o(" ",n,". "),new o("",0,"ive "),new o("",0,"less "),new o("",s,"'"),new o("",0,"est "),new o(" ",n,"."),new o("",s,'">'),new o(" ",0,"='"),new o("",n,","),new o("",0,"ize "),new o("",s,"."),new o(" ",0,""),new o(" ",0,","),new o("",n,'="'),new o("",s,'="'),new o("",0,"ous "),new o("",s,", "),new o("",n,"='"),new o(" ",n,","),new o(" ",s,'="'),new o(" ",s,", "),new o("",s,","),new o("",s,"("),new o("",s,". "),new o(" ",s,"."),new o("",s,"='"),new o(" ",s,". "),new o(" ",n,'="'),new o(" ",s,"='"),new o(" ",n,"='")];function c(t,e){return t[e]<192?(t[e]>=97&&t[e]<=122&&(t[e]^=32),1):t[e]<224?(t[e+1]^=32,2):(t[e+2]^=5,3)}e.kTransforms=a,e.kNumTransforms=a.length,e.transformDictionaryWord=function(t,e,r,o,l){var h,u=a[l].prefix,p=a[l].suffix,d=a[l].transform,f=d<12?0:d-11,g=0,m=e;f>o&&(f=o);for(var y=0;y<u.length;)t[e++]=u[y++];for(r+=f,o-=f,d<=9&&(o-=d),g=0;g<o;g++)t[e++]=i.dictionary[r+g];if(h=e-o,d===n)c(t,h);else if(d===s)for(;o>0;){var w=c(t,h);h+=w,o-=w}for(var A=0;A<p.length;)t[e++]=p[A++];return e-m}},4698:(t,e,r)=>{t.exports=r(9206).BrotliDecompressBuffer},3390:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){for(var e,r=a(t),s=r[0],o=r[1],c=new n(function(t,e,r){return 3*(e+r)/4-r}(0,s,o)),l=0,h=o>0?s-4:s,u=0;u<h;u+=4)e=i[t.charCodeAt(u)]<<18|i[t.charCodeAt(u+1)]<<12|i[t.charCodeAt(u+2)]<<6|i[t.charCodeAt(u+3)],c[l++]=e>>16&255,c[l++]=e>>8&255,c[l++]=255&e;return 2===o&&(e=i[t.charCodeAt(u)]<<2|i[t.charCodeAt(u+1)]>>4,c[l++]=255&e),1===o&&(e=i[t.charCodeAt(u)]<<10|i[t.charCodeAt(u+1)]<<4|i[t.charCodeAt(u+2)]>>2,c[l++]=e>>8&255,c[l++]=255&e),c},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,c=i-n;a<c;a+=o)s.push(l(t,a,a+o>c?c:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function l(t,e,r){for(var i,n=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),n.push(c(i));return n.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8287:(t,e,r)=>{
2
2
  /*!
3
3
  * The buffer module from node.js, for the browser.
4
4
  *
@@ -42,7 +42,7 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
42
42
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
43
43
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
44
44
  PERFORMANCE OF THIS SOFTWARE.
45
- ***************************************************************************** */function W(t,e,r,i){return new(r||(r=Promise))(function(n,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r(function(t){t(e)})).then(o,a)}c((i=i.apply(t,e||[])).next())})}class Q{constructor(){this.mutex=Promise.resolve()}lock(){let t=()=>{};return this.mutex=this.mutex.then(()=>new Promise(t)),new Promise(e=>{t=e})}dispatch(t){return W(this,void 0,void 0,function*(){const e=yield this.lock();try{return yield Promise.resolve(t())}finally{e()}})}}const z="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:r.g,V=null!==(L=z.Buffer)&&void 0!==L?L:null,G=z.TextEncoder?new z.TextEncoder:null;function q(t,e){return(15&t)+(t>>6|t>>3&8)<<4|(15&e)+(e>>6|e>>3&8)}function Y(t,e){const r=e.length>>1;for(let i=0;i<r;i++){const r=i<<1;t[i]=q(e.charCodeAt(r),e.charCodeAt(r+1))}}const K="a".charCodeAt(0)-10,X="0".charCodeAt(0);function J(t,e,r){let i=0;for(let n=0;n<r;n++){let r=e[n]>>>4;t[i++]=r>9?r+K:r+X,r=15&e[n],t[i++]=r>9?r+K:r+X}return String.fromCharCode.apply(null,t)}const Z=null!==V?t=>{if("string"==typeof t){const e=V.from(t,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.length)}if(V.isBuffer(t))return new Uint8Array(t.buffer,t.byteOffset,t.length);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")}:t=>{if("string"==typeof t)return G.encode(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")},$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tt=new Uint8Array(256);for(let t=0;t<64;t++)tt[$.charCodeAt(t)]=t;function et(t){let e=Math.floor(.75*t.length);const r=t.length;return"="===t[r-1]&&(e-=1,"="===t[r-2]&&(e-=1)),e}function rt(t){const e=et(t),r=t.length,i=new Uint8Array(e);let n=0;for(let e=0;e<r;e+=4){const r=tt[t.charCodeAt(e)],s=tt[t.charCodeAt(e+1)],o=tt[t.charCodeAt(e+2)],a=tt[t.charCodeAt(e+3)];i[n]=r<<2|s>>4,n+=1,i[n]=(15&s)<<4|o>>2,n+=1,i[n]=(3&o)<<6|63&a,n+=1}return i}const it=16384,nt=new Q,st=new Map;function ot(t,e){return W(this,void 0,void 0,function*(){let r=null,i=null,n=!1;if("undefined"==typeof WebAssembly)throw new Error("WebAssembly is not supported in this environment!");const s=()=>new DataView(r.exports.memory.buffer).getUint32(r.exports.STATE_SIZE,!0),o=nt.dispatch(()=>W(this,void 0,void 0,function*(){if(!st.has(t.name)){const e=rt(t.data),r=WebAssembly.compile(e);st.set(t.name,r)}const e=yield st.get(t.name);r=yield WebAssembly.instantiate(e,{})})),a=(t=null)=>{n=!0,r.exports.Hash_Init(t)},c=t=>{if(!n)throw new Error("update() called before init()");(t=>{let e=0;for(;e<t.length;){const n=t.subarray(e,e+it);e+=n.length,i.set(n),r.exports.Hash_Update(n.length)}})(Z(t))},l=new Uint8Array(2*e),h=(t,s=null)=>{if(!n)throw new Error("digest() called before init()");return n=!1,r.exports.Hash_Final(s),"binary"===t?i.slice(0,e):J(l,i,e)},u=t=>"string"==typeof t?t.length<4096:t.byteLength<it;let p=u;switch(t.name){case"argon2":case"scrypt":p=()=>!0;break;case"blake2b":case"blake2s":p=(t,e)=>e<=512&&u(t);break;case"blake3":p=(t,e)=>0===e&&u(t);break;case"xxhash64":case"xxhash3":case"xxhash128":p=()=>!1}return yield(()=>W(this,void 0,void 0,function*(){r||(yield o);const t=r.exports.Hash_GetBuffer(),e=r.exports.memory.buffer;i=new Uint8Array(e,t,it)}))(),{getMemory:()=>i,writeMemory:(t,e=0)=>{i.set(t,e)},getExports:()=>r.exports,setMemorySize:t=>{r.exports.Hash_SetMemorySize(t);const e=r.exports.Hash_GetBuffer(),n=r.exports.memory.buffer;i=new Uint8Array(n,e,t)},init:a,update:c,digest:h,save:()=>{if(!n)throw new Error("save() can only be called after init() and before digest()");const e=r.exports.Hash_GetState(),i=s(),o=r.exports.memory.buffer,a=new Uint8Array(o,e,i),c=new Uint8Array(4+i);return Y(c,t.hash),c.set(a,4),c},load:e=>{if(!(e instanceof Uint8Array))throw new Error("load() expects an Uint8Array generated by save()");const i=r.exports.Hash_GetState(),o=s(),a=4+o,c=r.exports.memory.buffer;if(e.length!==a)throw new Error(`Bad state length (expected ${a} bytes, got ${e.length})`);if(!function(t,e){if(t.length!==2*e.length)return!1;for(let r=0;r<e.length;r++){const i=r<<1;if(e[r]!==q(t.charCodeAt(i),t.charCodeAt(i+1)))return!1}return!0}(t.hash,e.subarray(0,4)))throw new Error("This state was written by an incompatible hash implementation");const l=e.subarray(4);new Uint8Array(c,i,o).set(l),n=!0},calculate:(t,n=null,s=null)=>{if(!p(t,n))return a(n),c(t),h("hex",s);const o=Z(t);return i.set(o),r.exports.Hash_Calculate(o.length,n,s),J(l,i,e)},hashLength:e}})}new Q,new Q,new DataView(new ArrayBuffer(4)),new Q,new Q,new Q,new Q,new Q,new Q;var at={name:"sha1",data:"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",hash:"40d92e5d"};new Q,new Q,new Q;var ct={name:"sha256",data:"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",hash:"817d957e"};function lt(){return ot(ct,32).then(t=>{t.init(256);const e={init:()=>(t.init(256),e),update:r=>(t.update(r),e),digest:e=>t.digest(e),save:()=>t.save(),load:r=>(t.load(r),e),blockSize:64,digestSize:32};return e})}function ht(t){let e;e="string"==typeof t?t:t?.length?t.reduce((t,e)=>t+String.fromCharCode(e),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function ut(t){try{if(!t.startsWith("https:")&&!t.startsWith("http:"))return t;let e=(t=t.replace(/^(https?:\/\/)www\d*\./,"$1")).toLowerCase(),r=new URL(e),i=r.hostname.split(".").reverse().join(",");if(r.port&&(i+=":"+r.port),i+=")",i+=r.pathname,r.search){let t=r.search.slice(1).split("&");t.sort(),i+="?"+t.join("&")}return i}catch{return t}}function pt(t,e=0){let{method:r,headers:i,postData:n=""}=t;if("GET"===r)return!1;let s=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(i);function o(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let a="";switch(s.split(";")[0]){case"application/x-www-form-urlencoded":a=o(n);break;case"application/json":a=gt(o(n));break;case"text/plain":try{a=gt(o(n),!1)}catch{a=ht(n)}break;case"multipart/form-data":if(!s)throw new Error("utils cannot call postToGetURL when missing content-type header");a=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],n=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of n){let e=t.trim().match(/name="([^"]+)"\r\n\r\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(o(n),s);break;default:a=ht(n)}if(null!=a){e>0&&a.length>e&&(a=a.slice(0,e)),t.requestBody=a;try{a=decodeURI(a)}catch{a=""}return t.url=dt(t.url,a,t.method),t.method="GET",!0}return!1}function dt(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}function ft(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},n=(t,e="")=>{let s="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)n(t[r],e)}else try{for(let[e,r]of Object.entries(t))n(r,e)}catch{null===t&&(s="null")}["string","number","boolean"].includes(typeof t)&&(s=t.toString()),s&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),s)};try{n(t)}catch(t){if(!e)throw t}return r}function gt(t="",e=!0){return ft(t,e).toString()}function mt(t,e){if(1===t.length)return t[0];let r=new Uint8Array(e),i=0;for(let e of t)r.set(e,i),i+=e.byteLength;return r}function yt(t,e){return[t.slice(0,e),t.slice(e)]}function wt(t){let e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=255&t.charCodeAt(r);return(new TextDecoder).decode(e)}new Q,new Q,new Q,new Q,new Q,new Q,new ArrayBuffer(8),new Q,new ArrayBuffer(8),new Q,new ArrayBuffer(8),new Q,new Q,new Q;var At=["warc-concurrent-to","warc-protocol"],bt=",,,";function Et(t){let e=t.toLowerCase();if(e.startsWith("warc-")&&!At.includes(e))throw new Error("Invalid multi value WARC header: "+t);return!0}var vt=class extends Map{constructor(t){if(t instanceof Array){super();for(let e of t)if(e instanceof Array){let t=e[0],r=e[1];this.append(t,r)}}else super(t?Object.entries(t):void 0)}isMultiValue(t,e){return e.indexOf(bt)>0&&Et(t)}getMultiple(t){let e=super.get(t);if(e)return this.isMultiValue(t,e)?e.split(bt):[e]}append(t,e){let r=this.get(t);r?(Et(t),this.set(t,r+bt+e)):this.set(t,e)}*[Symbol.iterator](){for(let[t,e]of super[Symbol.iterator]())if(this.isMultiValue(t,e))for(let r of e.split(bt))yield[t,r];else yield[t,e]}},_t=new TextDecoder("utf-8"),xt=class extends F.Inflate{constructor(t,e){super(t),this.ended=!1,this.chunks=[],this.reader=e}onEnd(t){this.err=t,this.err||(this.reader._rawOffset+=this.strm.total_in)}},It=class t{static async readFully(t){let e=[],r=0;for await(let i of t)e.push(i),r+=i.byteLength;return mt(e,r)}getReadableStream(){let t=this[Symbol.asyncIterator]();return new ReadableStream({pull:async e=>t.next().then(t=>{t.done||!t.value?e.close():e.enqueue(t.value)})})}async readFully(){return await t.readFully(this)}async readline(t=0){let e=await this.readlineRaw(t);return e?_t.decode(e):""}async*iterLines(t=0){let e=null;for(;e=await this.readline(t);)yield e}},St=class t extends It{constructor(e,r="gzip",i=!1){let n;if(super(),this.compressed=r,this.opts={raw:"deflateRaw"===r},this.inflator=r?new xt(this.opts,this):null,function(t){return!(!t||!(Symbol.asyncIterator in Object(t)))}(e))n=e;else if("object"==typeof e&&"read"in e&&"function"==typeof e.read)n=t.fromReadable(e);else if(e instanceof ReadableStream)n=t.fromReadable(e.getReader());else{if(!function(t){return!(!t||!(Symbol.iterator in Object(t)))}(e))throw new TypeError("Invalid Stream Source");n=t.fromIter(e)}this._sourceIter=i?this.dechunk(n):n[Symbol.asyncIterator](),this.lastValue=null,this.errored=!1,this._savedChunk=null,this._rawOffset=0,this._readOffset=0,this.numChunks=0}async _loadNext(){let t=await this._sourceIter.next();return t.done?null:t.value}async*dechunk(e){let r=e instanceof t?e:new t(e,null),i=-1,n=!0;for(;0!=i;){let t=await r.readlineRaw(64),e=new Uint8Array;if(i=t?parseInt(_t.decode(t),16):0,!i||i>2**32){if(Number.isNaN(i)||i>2**32){n||(this.errored=!0),yield t;break}}else if(e=await r.readSize(i),e.length!=i){n?yield t:this.errored=!0,yield e;break}let s=await r.readSize(2);if(13!=s[0]||10!=s[1]){n?yield t:this.errored=!0,yield e,yield s;break}if(n=!1,!e||0===i)return;yield e}yield*r}unread(t){t.length&&(this._readOffset-=t.length,this._savedChunk&&console.log("Already have chunk!"),this._savedChunk=t)}async _next(){if(this._savedChunk){let t=this._savedChunk;return this._savedChunk=null,t}if(this.compressed){let t=this._getNextChunk();if(t)return t}let t=await this._loadNext();for(;this.compressed&&t;){this._push(t);let e=this._getNextChunk(t);if(e)return e;t=await this._loadNext()}return t}_push(t){if(!this.inflator)throw new Error("AsyncIterReader cannot call _push when this.compressed is null");this.lastValue=t,this.inflator.ended&&(this.inflator=new xt(this.opts,this)),this.inflator.push(t),this.inflator.err&&this.inflator.ended&&"deflate"===this.compressed&&!this.opts.raw&&0===this.numChunks&&(this.opts.raw=!0,this.compressed="deflateRaw",this.inflator=new xt(this.opts,this),this.inflator.push(t))}_getNextChunk(t){if(!this.inflator)throw new Error("AsyncIterReader cannot call _getNextChunk when this.compressed is null");for(;;){if(this.inflator.chunks.length>0)return this.numChunks++,this.inflator.chunks.shift();if(this.inflator.ended){if(0!==this.inflator.err)return this.compressed=null,t;let e=this.inflator.strm.avail_in;if(e&&this.lastValue){this._push(this.lastValue.slice(-e));continue}}return null}}async*[Symbol.asyncIterator](){let t=null;for(;t=await this._next();)this._readOffset+=t.length,yield t}async readlineRaw(t){let e=[],r=0,i=-1,n=null;for await(let s of this){if(t&&r+s.byteLength>t){n=s,i=t-r-1;let e=s.slice(0,i+1).indexOf(10);e>=0&&(i=e);break}if(i=s.indexOf(10),i>=0){n=s;break}e.push(s),r+=s.byteLength}if(n){let[t,s]=yt(n,i+1);e.push(t),r+=t.byteLength,this.unread(s)}else if(!e.length)return null;return mt(e,r)}async readFully(){return(await this._readOrSkip())[1]}async readSize(t){return(await this._readOrSkip(t))[1]}async skipSize(t){return(await this._readOrSkip(t,!0))[0]}async _readOrSkip(t=-1,e=!1){let r=[],i=0;for await(let n of this){if(t>=0){if(n.length>t){let[s,o]=yt(n,t);e||r.push(s),i+=s.byteLength,this.unread(o);break}if(n.length===t){e||r.push(n),i+=n.byteLength,t=0;break}t-=n.length}e||r.push(n),i+=n.byteLength}return e?[i,new Uint8Array]:[i,mt(r,i)]}getReadOffset(){return this._readOffset}getRawOffset(){return this.compressed?this._rawOffset:this._readOffset}getRawLength(t){return this.compressed?this.inflator.strm.total_in:this._readOffset-t}static fromReadable(t){return{async*[Symbol.asyncIterator](){let e=null;for(;(e=await t.read())&&!e.done;)yield e.value}}}static fromIter(t){return{async*[Symbol.asyncIterator](){for(let e of t)yield e}}}},Tt=class extends It{constructor(t,e,r=0){super(),this.sourceIter=t,this.length=e,this.limit=e,this.skip=r}setLimitSkip(t,e=0){this.limit=t,this.skip=e}async*[Symbol.asyncIterator](){if(!(this.limit<=0))for await(let t of this.sourceIter){if(this.skip>0){if(!(t.length>=this.skip)){this.skip-=t.length;continue}{let[,e]=yt(t,this.skip);t=e,this.skip=0}}if(t.length>this.limit){let[e,r]=yt(t,this.limit);t=e,this.sourceIter.unread&&this.sourceIter.unread(r)}if(t.length&&(this.limit-=t.length,yield t),this.limit<=0)break}}async readlineRaw(t){if(this.limit<=0)return null;let e=await this.sourceIter.readlineRaw(t?Math.min(t,this.limit):this.limit);return this.limit-=e?.length||0,e}async skipFully(){let t=this.limit;for(;this.limit>0;)this.limit-=await this.sourceIter.skipSize(this.limit);return t}},Ct=new Uint8Array([13,10]),Rt=new Uint8Array([13,10,13,10]),kt=new TextDecoder("utf-8"),Nt=class{constructor({statusline:t,headers:e,reencodeHeaders:r}){this.statusline=t,this.headers=e,this.reencodeHeaders=r}toString(){let t=[this.statusline],e=this.headers instanceof Headers;for(let[r,i]of this.headers)e&&this.reencodeHeaders?.has(r)?t.push(`${r}: ${wt(i)}`):t.push(`${r}: ${i}`);return t.join("\r\n")+"\r\n"}async*iterSerialize(t){yield t.encode(this.statusline),yield Ct;for(let[e,r]of this.headers)yield t.encode(`${e}: ${r}\r\n`)}_parseResponseStatusLine(){let t=function(t){let e=t.split(" "),r=e.slice(0,2);return e.slice(2).length>0&&r.push(e.slice(2).join(" ")),r}(this.statusline);this._protocol=t[0]??"",this._statusCode=t.length>1?Number(t[1]):"",this._statusText=t.length>2?t[2]:""}get statusCode(){return void 0===this._statusCode&&this._parseResponseStatusLine(),this._statusCode}get protocol(){return void 0===this._protocol&&this._parseResponseStatusLine(),this._protocol}get statusText(){return void 0===this._statusText&&this._parseResponseStatusLine(),this._statusText}_parseRequestStatusLine(){let t=this.statusline.split(" ",2);this._method=t[0]??"",this._requestPath=t.length>1?t[1]:""}get method(){return void 0===this._method&&this._parseRequestStatusLine(),this._method}get requestPath(){return void 0===this._requestPath&&this._parseRequestStatusLine(),this._requestPath}},Bt=class{constructor(){this.reencodeHeaders=new Set}async parse(t,{headersClass:e,firstLine:r}={headersClass:vt}){let i=r||await t.readline();if(!i)return null;let n=i.trimEnd();if(!n)return null;let s,o,a,c,l=new e,h=await async function(t){let e=[],r=0,i=0,n=null,s=t[Symbol.asyncIterator]();for await(let t of s){if([i,t]=await Ot(t,s),i>=0){n=t;break}e.push(t),r+=t.byteLength}if(n){let[s,o]=yt(n,i+1);e.push(s),r+=s.byteLength,t.unread(o)}else if(!e.length)return"";return kt.decode(mt(e,r))}(t),u=0,p="";for(;u<h.length&&(a=h.indexOf("\n",u),!c||" "!==h[u]&&"\t"!==h[u]?(c&&(this.setHeader(p,c,l),c=null),s=h.indexOf(":",u),o=s<0?u:s+1,s>=0&&s<a?(p=h.slice(u,s).trimStart(),c=h.slice(o,a<0?void 0:a).trim()):c=null):c+=h.slice(u,a<0?void 0:a).trimEnd(),!(a<0));)u=a+1;return c&&this.setHeader(p,c,l),new Nt({statusline:n,headers:l,reencodeHeaders:this.reencodeHeaders})}setHeader(t,e,r,i=!1){try{r.append(t,e),r instanceof Headers&&i&&this.reencodeHeaders.add(t.toLowerCase())}catch{i||this.setHeader(t,function(t){let e=(new TextEncoder).encode(t),r="";return e.forEach(t=>r+=String.fromCharCode(t)),r}(e),r,!0)}}};async function Ot(t,e){let r=0;for(let i=0;i<t.length-4;i++){let i=t.indexOf(13,r);if(i<0)break;if(i+3>=t.length){let{value:r}=await e.next();if(!r)break;let i=new Uint8Array(r.length+t.length);i.set(t,0),i.set(r,t.length),t=i}if(10===t[i+1]&&13===t[i+2]&&10===t[i+3])return[i+3,t];r=i+1}return[-1,t]}var Pt=new TextDecoder("utf-8"),Dt=new TextEncoder,Lt="WARC/1.0",Ut={warcinfo:"application/warc-fields",response:"application/http; msgtype=response",revisit:"application/http; msgtype=response",request:"application/http; msgtype=request",metadata:"application/warc-fields"},Mt=class t extends It{constructor({warcHeaders:t,reader:e}){super(),this._offset=0,this._length=0,this._urlkey="",this.warcHeaders=t,this._reader=e,this._contentReader=null,this.payload=null,this.httpHeaders=null,this.consumed="",this.fixUp()}static create({url:e,date:r,type:i,warcHeaders:n={},filename:s="",httpHeaders:o={},statusline:a="HTTP/1.1 200 OK",warcVersion:c=Lt,keepHeadersCase:l=!0,refersToUrl:h,refersToDate:u}={},p){function d(t){let e=t;return c===Lt&&"Z"!=(t=t.split(".")[0]).charAt(e.length-1)&&(t+="Z"),t}r=d(r||(new Date).toISOString());let f=new vt(n);if("warcinfo"===i)s&&f.set("WARC-Filename",s);else if(e)try{f.set("WARC-Target-URI",new URL(e).href)}catch{f.set("WARC-Target-URI",e)}f.set("WARC-Date",r),i&&f.set("WARC-Type",i),"revisit"===i&&(f.set("WARC-Profile","WARC/1.1"===c?"http://netpreserve.org/warc/1.1/revisit/identical-payload-digest":"http://netpreserve.org/warc/1.0/revisit/identical-payload-digest"),h&&(f.set("WARC-Refers-To-Target-URI",h),f.set("WARC-Refers-To-Date",d(u||(new Date).toISOString()))));let g=new Nt({statusline:c,headers:f});g.headers.get("WARC-Record-ID")||g.headers.set("WARC-Record-ID",`<urn:uuid:${j()}>`),g.headers.get("Content-Type")||g.headers.set("Content-Type",i&&Ut[i]||"application/octet-stream"),p||(p=Ft());let m=new t({warcHeaders:g,reader:p}),y=null,w=!1;switch(i){case"response":case"request":case"revisit":l?(y=new vt(o),w=!y.size):(y=new Headers(o),w=!Object.entries(o).length),(!w||"revisit"!==i)&&(m.httpHeaders=new Nt({statusline:a,headers:y}))}return m}static createWARCInfo(e={},r){return e.type="warcinfo",t.create(e,async function*(){for(let[t,e]of Object.entries(r))yield Dt.encode(`${t}: ${e}\r\n`)}())}getResponseInfo(){let t=this.httpHeaders;return t?{headers:t.headers,status:t.statusCode,statusText:t.statusText}:null}fixUp(){let t=this.warcHeaders.headers.get("WARC-Target-URI");t&&t.startsWith("<")&&t.endsWith(">")&&this.warcHeaders.headers.set("WARC-Target-URI",t.slice(1,-1))}async readFully(t=!1){if(this.httpHeaders){if(this.payload&&!this.payload.length)return this.payload;if(this._contentReader&&!t)throw new TypeError("WARC Record decoding already started, but requesting raw payload");if(t&&"raw"===this.consumed&&this.payload)return await this._createDecodingReader([this.payload]).readFully()}return this.payload||(t?(this.payload=await super.readFully(),this.consumed="content"):(this.payload=await It.readFully(this._reader),this.consumed="raw")),this.payload}get reader(){if(this.payload&&!this.payload.length)return Ft();if(this._contentReader)throw new TypeError("WARC Record decoding already started, but requesting raw payload");return this._reader}get contentReader(){return this.httpHeaders?(this._contentReader||(this._contentReader=this._createDecodingReader(this._reader)),this._contentReader):this._reader}_createDecodingReader(t){if(!this.httpHeaders)throw new Error("WARCRecord cannot call _createDecodingReader when this.httpHeaders === null");let e=this.httpHeaders.headers.get("Content-Encoding"),r=this.httpHeaders.headers.get("Transfer-Encoding"),i="chunked"===r;return!e&&!i&&(e=r),new St(t,e,i)}async readlineRaw(t){if(this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");if(this.contentReader instanceof It)return this.contentReader.readlineRaw(t);throw new Error("WARCRecord cannot call readlineRaw on this.contentReader if it does not extend BaseAsyncIterReader")}async contentText(){let t=await this.readFully(!0);return Pt.decode(t)}async*[Symbol.asyncIterator](){for await(let t of this.contentReader)if(yield t,this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");this.consumed="content"}async skipFully(){if(!this.consumed){if(this._reader instanceof Tt){let t=await this._reader.skipFully();return this.consumed="skipped",t}throw new Error("WARCRecord cannot call skipFully on this._reader if it is not a LimitReader")}}warcHeader(t){return this.warcHeaders.headers.get(t)}get warcType(){return this.warcHeaders.headers.get("WARC-Type")}get warcTargetURI(){return this.warcHeaders.headers.get("WARC-Target-URI")}get warcDate(){return this.warcHeaders.headers.get("WARC-Date")}get warcRefersToTargetURI(){return this.warcHeaders.headers.get("WARC-Refers-To-Target-URI")}get warcRefersToDate(){return this.warcHeaders.headers.get("WARC-Refers-To-Date")}get warcPayloadDigest(){return this.warcHeaders.headers.get("WARC-Payload-Digest")}get warcBlockDigest(){return this.warcHeaders.headers.get("WARC-Block-Digest")}get warcContentType(){return this.warcHeaders.headers.get("Content-Type")}get warcContentLength(){return Number(this.warcHeaders.headers.get("Content-Length"))}get warcConcurrentTo(){if(this.warcHeaders.headers instanceof vt)return this.warcHeaders.headers.getMultiple("WARC-Concurrent-To");{let t=this.warcHeaders.headers.get("WARC-Concurrent-To");return t?t.split(","):[]}}};async function*Ft(){}var Ht=new TextDecoder,jt=new Uint8Array([]),Wt=class t{static async parse(e,r){return new t(e,r).parse()}static iterRecords(e,r){return new t(e,r)[Symbol.asyncIterator]()}constructor(t,{keepHeadersCase:e=!1,parseHttp:r=!0}={}){this._offset=0,this._warcHeadersLength=0,this._headersClass=e?vt:Headers,this._parseHttp=r,this._reader=t instanceof St?t:new St(t),this._record=null}async readToNextRecord(){if(!this._reader||!this._record)return jt;await this._record.skipFully(),this._reader.compressed&&(this._offset=this._reader.getRawOffset());let t=await this._reader.readlineRaw(),e=0;if(t){if(e=t.byteLength-1,9===e&&Ht.decode(t).startsWith("WARC/"))return t;for(;e>0;){let r=t[e-1];if(10!==r&&13!==r)break;e--}e&&console.warn(`Content-Length Too Small: Record not followed by newline, Remainder Length: ${e}, Offset: ${this._reader.getRawOffset()-t.byteLength}`)}else t=jt;if(this._reader.compressed)await this._reader.skipSize(2),t=jt;else{for(t=await this._reader.readlineRaw();t&&2===t.byteLength;)t=await this._reader.readlineRaw();this._offset=this._reader.getRawOffset(),t&&(this._offset-=t.length)}return t}_initRecordReader(t){return new Tt(this._reader,Number(t.headers.get("Content-Length")||0))}async parse(){let t=await this.readToNextRecord(),e=t?Ht.decode(t):"",r=new Bt,i=await r.parse(this._reader,{firstLine:e,headersClass:this._headersClass});if(!i)return null;this._warcHeadersLength=this._reader.getReadOffset();let n=new Mt({warcHeaders:i,reader:this._initRecordReader(i)});if(this._record=n,this._parseHttp)switch(n.warcType){case"response":case"request":await this._addHttpHeaders(n,r);break;case"revisit":n.warcContentLength>0&&await this._addHttpHeaders(n,r)}return n}get offset(){return this._offset}get recordLength(){return this._reader.getRawLength(this._offset)}async*[Symbol.asyncIterator](){let t=null;for(;null!==(t=await this.parse());)yield t;this._record=null}async _addHttpHeaders(t,e){let r=await e.parse(this._reader,{headersClass:this._headersClass});t.httpHeaders=r;let i=this._reader.getReadOffset()-this._warcHeadersLength;t.reader instanceof Tt&&t.reader.setLimitSkip(t.warcContentLength-i)}};function Qt(t,e,r){let i,n;switch(r=r||{},e){case"RFC3548":case"RFC4648":i="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",n=!0;break;case"RFC4648-HEX":i="0123456789ABCDEFGHIJKLMNOPQRSTUV",n=!0;break;case"Crockford":i="0123456789ABCDEFGHJKMNPQRSTVWXYZ",n=!1;break;default:throw new Error("Unknown base32 variant: "+e)}let s=void 0!==r.padding?r.padding:n,o=function(t){if(t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray)return new DataView(t.buffer,t.byteOffset,t.byteLength);if(t instanceof ArrayBuffer)return new DataView(t);throw new TypeError("Expected `data` to be an ArrayBuffer, Buffer, Int8Array, Uint8Array or Uint8ClampedArray")}(t),a=0,c=0,l="";for(let t=0;t<o.byteLength;t++)for(c=c<<8|o.getUint8(t),a+=8;a>=5;)l+=i[c>>>a-5&31],a-=5;if(a>0&&(l+=i[c<<5-a&31]),s)for(;l.length%8!=0;)l+="=";return l}var zt=new TextEncoder,Vt=class{},Gt=class extends Vt{constructor(){super(...arguments),this.buffers=[]}write(t){this.buffers.push(t)}async*readAll(){for(let t of this.buffers)yield t}purge(){this.buffers=[]}},qt=(Symbol.asyncIterator,["offset","warc-type","warc-target-uri"]),Yt=class{constructor(t={},e=qt){this.opts=t,t.fields?(this.fields=t.fields,this.reqFields=this.fields.filter(t=>{return(e=t).startsWith("req.")||"referrer"===e.toLowerCase();var e})):(this.fields=e,this.reqFields=[]),this.parseHttp=!1}serialize(t){return JSON.stringify(t)+"\n"}write(t,e){e.write(this.serialize(t))}async writeAll(t,e){for await(let r of this.iterIndex(t))this.write(r,e)}async*iterIndex(t){let e={strictHeaders:!0,parseHttp:this.parseHttp};for(let{filename:r,reader:i}of t){let t=new Wt(i,e);yield*this.iterRecords(t,r)}}async*iterRecords(t,e){for await(let r of t){await r.skipFully();let i=this.indexRecord(r,t,e);i&&(yield i)}}indexRecord(t,e,r){if(this.filterRecord&&!this.filterRecord(t))return null;let i={},{offset:n,recordLength:s}=e,o={offset:n,length:s,filename:r};for(let e of this.fields)e in o?i[e]=o[e]:this.setField(e,t,i);return i}setField(t,e,r){let i=this.getField(t,e);null!==i&&(r[t]=i)}getField(t,e){if(t.startsWith("req.")){if("request"!==e.warcType)return null;t=t.slice(4)}if("http:status"===t)return!e.httpHeaders||"response"!==e.warcType&&"revisit"!==e.warcType?null:e.httpHeaders.statusCode;if(t.startsWith("http:")){if(e.httpHeaders){let r=e.httpHeaders.headers,i=t.slice(5),n=r.get(i);if(r instanceof Map){let t=i.toLowerCase();for(let e of r.keys())t===e.toLowerCase()&&(n=r.get(e))}return n}return null}return e.warcHeaders.headers.get(t)||null}},Kt=class extends Yt{constructor(t,e){super(t,e);for(let t of this.fields)if(t.startsWith("http:")){this.parseHttp=!0;break}}},Xt="urlkey,timestamp,url,mime,status,digest,length,offset,filename".split(","),Jt="urlkey,timestamp,url,mime,status,digest,redirect,meta,length,offset,filename".split(","),Zt=class extends Kt{constructor(t){switch(super(t,Xt),this.includeAll=!!t?.all,this.overrideIndexForAll=!!t?.all,this.parseHttp=!0,this.noSurt=!!t?.noSurt,this._lastRecord=null,t?.format){case"cdxj":this.serialize=this.serializeCDXJ;break;case"cdx":this.serialize=this.serializeCDX11}}async*iterRecords(t,e){this._lastRecord=null;for await(let r of t){await r.readFully();let i=this.indexRecord(r,t,e);i&&(yield i)}let r=this.indexRecord(null,t,e);r&&(yield r)}filterRecord(t){if(this.includeAll)return!0;let e=t.warcType;return!("request"===e||"warcinfo"===e||("metadata"===e||"resource"===e)&&"application/warc-fields"===t.warcContentType)}indexRecord(t,e,r){if(this.overrideIndexForAll)return t?super.indexRecord(t,e,r):null;let i=this._lastRecord;if(this._lastRecord=t,t&&(t._offset=e.offset,t._length=e.recordLength),!i)return null;if(!t||i.warcTargetURI!=t.warcTargetURI)return this.indexRecordPair(i,null,e,r);let n=t.warcType,s=i.warcType;return"request"!==n||"response"!==s&&"revisit"!==s?"response"!==n&&"revisit"!==n||"request"!==s?this.indexRecordPair(i,null,e,r):(this._lastRecord=null,this.indexRecordPair(t,i,e,r)):(this._lastRecord=null,this.indexRecordPair(i,t,e,r))}indexRecordPair(t,e,r,i,n=4096){let s,o,a=t.warcTargetURI||"";if(e?.httpHeaders&&"GET"!==e.httpHeaders.method){let t={url:a,method:e.httpHeaders.method,headers:e.httpHeaders.headers,postData:e.payload};s=t.method,pt(t,n)&&(o=t.requestBody,a=t.url)}t._urlkey=a;let c=super.indexRecord(t,r,i);if(c&&(void 0!==t._offset&&(c.offset=t._offset,c.length=t._length),s&&(c.method=s),o&&(c.requestBody=o),e&&this.reqFields.length))for(let t of this.reqFields)this.setField(t,e,c);return c}serializeCDXJ(t){let{urlkey:e,timestamp:r}=t;return delete t.urlkey,delete t.timestamp,`${e} ${r} ${JSON.stringify(t,(t,e)=>["offset","length","status"].includes(t)?null==e?"":""+e:e)}\n`}serializeCDX11(t){let e=[];for(let r of Jt)e.push(null!=t[r]?t[r]:"-");return e.join(" ")+"\n"}getField(t,e){let r=null;switch(t){case"urlkey":return r=e._urlkey||e.warcTargetURI||null,this.noSurt||null===r?r:ut(r);case"timestamp":return r=e.warcDate??"",r.replace(/[-:T]/g,"").slice(0,14);case"url":return e.warcTargetURI;case"mime":switch(e.warcType){case"revisit":return"warc/revisit";case"response":case"request":t="http:content-type";break;default:return e.warcContentType}return r=super.getField(t,e),r?r.toString().split(";",1)[0]?.trim():null;case"status":return super.getField("http:status",e);case"referrer":return super.getField("req.http:referer",e);case"digest":return r=e.warcPayloadDigest,r?r.split(":",2)[1]:null;default:return super.getField(t,e)}}};async function $t(t,e,r){const i=t;try{"chunked"===r&&(t=function(t){let e=0,r=0;const i=new TextDecoder("utf-8");for(;e<t.length;){let n=e;for(;t[n]>=48&&t[n]<=57||t[n]>=65&&t[n]<=70||t[n]>=97&&t[n]<=102;)n++;if(0===n)return t;if(13!=t[n]||10!=t[n+1])return t;n+=2;const s=parseInt(i.decode(t.subarray(e,n)),16);if(0==s)break;t.set(t.subarray(n,n+s),r),n+=s,r+=s,13==t[n]&&10==t[n+1]&&(n+=2),e=n}return t.subarray(0,r)}(t))}catch(t){console.log("Chunk-Encoding Ignored: "+t)}try{if("br"===e)0===(t=M()(t)).length&&(t=i);else if("gzip"===e||"gzip"===r){const e=new(H().Inflate);e.push(t,!0),e.result&&!e.err&&(t=e.result)}}catch(t){console.log("Content-Encoding Ignored: "+t)}return t}var te=r(6454);function ee(t){let e,r;const i=t.response,n=i?.extraOpts;if(n&&(e=n.adaptive_max_resolution||n.maxRes,r=n.adaptive_max_bandwidth||n.maxBand,e&&r))return{maxRes:e,maxBand:r};let s;return s=t.response&&!t.response.isLive?{maxRes:921600,maxBand:2e6}:{maxRes:412800,maxBand:1e6},t.save&&(t.save.maxRes=s.maxRes,t.save.maxBand=s.maxBand),s}function re(t,e){const r=/#EXT-X-STREAM-INF:(?:.*[,])?BANDWIDTH=([\d]+)/,i=/RESOLUTION=([\d]+)x([\d]+)/,{maxRes:n,maxBand:s}=ee(e),o=n||s,a=[];let c=0;const l=[],h=t.trimEnd().split("\n");for(const t of h){const s=t.match(r);if(!s){e.rewriteUrl&&!t.startsWith("#")&&(h[c]=e.rewriteUrl(t)),c+=1;continue}a.push(c);const o=Number(s[1]),u=t.match(i),p=u?Number(u[1])*Number(u[2]):0;l.push({value:n?p:o,index:c}),c+=1}l.sort((t,e)=>t.value-e.value);let u=null,p=null;for(const t of l){if(t.value>o)break;p!=t.value&&(p=t.value,u=t.index)}null===u&&l.length>0&&(u=l[0].index),a.reverse();for(const t of a)t!==u&&h.splice(t,2);return h.join("\n")}const ie={ignoreAttributes:!1,removeNSPrefix:!1,format:!1,suppressEmptyNode:!0,suppressBooleanAttributes:!1};function ne(t,e,r){try{return function(t,e,r){const i=new te.XMLParser(ie).parse(t),{maxRes:n,maxBand:s}=ee(e);let o,a=null,c=0,l=0;o=Array.isArray(i.MPD.Period.AdaptationSet)?i.MPD.Period.AdaptationSet:[i.MPD.Period.AdaptationSet];for(const t of o){let e;a=null,c=0,l=0,e=Array.isArray(t.Representation)?t.Representation:[t.Representation];for(const t of e){const e=Number(t["@_width"]||"0")*Number(t["@_height"]||"0"),r=Number(t["@_bandwidth"]||"0");e&&n&&e<=n?e>c&&(c=e,l=r,a=t):r<=s&&r>l&&(c=e,l=r,a=t)}a&&Array.isArray(r)&&r.push(a["@_id"]),a&&(t.Representation=[a])}const h=new te.XMLBuilder(ie).build(i).trim();return h.slice(0,5).toLowerCase().startsWith("<?xml")?h:"<?xml version='1.0' encoding='UTF-8'?>\n"+h}(t,e,r)}catch(e){return console.log(e),t}}const se=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/ytplayer.load\(\);/,he('ytplayer.config.args.dash = "0"; ytplayer.config.args.dashmpd = ""; {0}')],[/yt\.setConfig.*PLAYER_CONFIG.*args":\s*{/,he('{0} "dash": "0", dashmpd: "", ')],[/(?:"player":|ytplayer\.config).*"args":\s*{/,he('{0}"dash":"0","dashmpd":"",')],[/yt\.setConfig.*PLAYER_VARS.*?{/,he('{0}"dash":"0","dashmpd":"",')],[/ytplayer.config={args:\s*{/,he('{0}"dash":"0","dashmpd":"",')],[/"0"\s*?==\s*?\w+\.dash&&/m,he("1&&")]]},{contains:["player.vimeo.com/video/"],rxRules:[[/^\{.+\}$/,function(t){let e;try{e=JSON.parse(t)}catch(e){return t}if(e?.request?.files){const t=e.request.files;if("object"==typeof t.progressive&&t.progressive.length)return t.dash&&(t.__dash=t.dash,delete t.dash),t.hls&&(t.__hls=t.hls,delete t.hls),JSON.stringify(e)}return t.replace(/query_string_ranges=1/g,"query_string_ranges=0")}]]},{contains:["master.json?query_string_ranges=0","master.json?base64"],rxRules:[[/^\{.+\}$/,function(t,e){if(!e)return t;let r=null;const i=pe(e);try{r=JSON.parse(t),console.log("manifest",r)}catch(e){return t}function n(t,e,r){if(!t)return null;let i=null,n=0;for(const s of t)s.mime_type==r&&s.bitrate>n&&s.bitrate<=e&&(n=s.bitrate,i=s);return i?[i]:t}return r.video=n(r.video,i,"video/mp4"),r.audio=n(r.audio,i,"audio/mp4"),JSON.stringify(r)}]]},{contains:["facebook.com/","fbsbx.com/"],rxRules:[[/"dash_manifests.*?,"failure_reason":null}]/,function(t,e){const r=t.indexOf("\\u003C?xml"),i=t.indexOf("/MPD>",r)+5;if(i<5)return t;let n=ne(JSON.parse('"'+t.slice(r,i)+'"'),e);n=JSON.stringify(n).replaceAll("<","\\u003C").slice(1,-1);const s=t.slice(0,r)+n+t.slice(i),o=Math.max(0,t.length-s.length);return s+" ".repeat(o)}],[/"playlist/,ue('"playli__')],[/"debugNoBatching\s?":(?:false|0)/,ue('"debugNoBatching":1')],[/"bulkRouteFetchBatchSize\s?":(?:[^{},]+)/,ue('"bulkRouteFetchBatchSize":1')],[/"maxBatchSize\s?":(?:[^{},]+)/,ue('"maxBatchSize":1')]]},{contains:["instagram.com/"],rxRules:[[/"is_dash_eligible":(?:true|1)/,ue('"is_dash_eligible":0')],[/"debugNoBatching\s?":(?:false|0)/,ue('"debugNoBatching":1')],[/"bulkRouteFetchBatchSize\s?":(?:[^{},]+)/,ue('"bulkRouteFetchBatchSize":1')],[/"maxBatchSize\s?":(?:[^{},]+)/,ue('"maxBatchSize":1')]]},{contains:["api.twitter.com/2/","twitter.com/i/api/2/","twitter.com/i/api/graphql/","api.x.com/2/","x.com/i/api/2/","x.com/i/api/graphql/"],rxRules:[[/"video_info":.*?}]}/,de('"video_info":')]]},{contains:["cdn.syndication.twimg.com/tweet-result"],rxRules:[[/"video":.*?viewCount":\d+}/,de('"video":')]]},{contains:["/vqlweb.js"],rxRules:[[/\b\w+\.updatePortSize\(\);this\.updateApplicationSize\(\)(?![*])/gim,he("/*{0}*/")]]}],oe=' ;Object.defineProperty(MediaSource, "isTypeSupported", {value: () => false, configurable: false, writable: false});',ae=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/[^"]<head.*?>/,t=>`\n ${t}<script>${oe}<\/script>\n `]]},...se],ce=[{contains:/video.*fbcdn.net/,start:"bytestart",end:"byteend"}];function le(t){if(!t)return null;for(const e of ce){const{contains:r,start:i,end:n}=e;if(t.match(r))return{start:i,end:n}}return null}function he(t){return e=>t.replace("{0}",e)}function ue(t){return e=>{const r=Math.max(0,e.length-t.length);return t+" ".repeat(r)}}function pe(t){let e=5e6;const r=t.response,i=r?.extraOpts;return t.save?t.save.maxBitrate=e:i?.maxBitrate&&(e=i.maxBitrate),e}function de(t){return(e,r)=>{if(!r)return e;const i=e;try{const i=/([\d]+)x([\d]+)/,n=pe(r);e=e.slice(t.length);const s=JSON.parse(e);let o=null,a=0;for(const t of s.variants)if(!(t.content_type&&"video/mp4"!==t.content_type||t.type&&"video/mp4"!==t.type))if(t.bitrate&&t.bitrate>a&&t.bitrate<=n)o=t,a=t.bitrate;else if(t.src){const e=i.exec(t.src);if(e){const r=Number(e[1])*Number(e[2]);r>a&&(a=r,o=t)}}return o&&(s.variants=[o]),t+JSON.stringify(s)}catch(t){return console.warn("rewriter error: ",t),i}}}class fe{rwRules;RewriterCls;rewriters=new Map;defaultRewriter;constructor(t,e){this.rwRules=e||se,this.RewriterCls=t,this._initRules()}_initRules(){this.rewriters=new Map;for(const t of this.rwRules)t.rxRules&&this.rewriters.set(t,new this.RewriterCls(t.rxRules));this.defaultRewriter=new this.RewriterCls}getCustomRewriter(t){for(const e of this.rwRules)if(e.contains)for(const r of e.contains)if(t.indexOf(r)>=0){const t=this.rewriters.get(e);if(t)return t}return null}getRewriter(t){return this.getCustomRewriter(t)||this.defaultRewriter}}class ge{rules;rx=null;constructor(t){this.rules=t||null,this.rules&&this.compileRules()}compileRules(){let t="";if(!this.rules)return;for(const e of this.rules)t&&(t+="|"),t+=`(${e[0].source})`;const e=`(?:${t})`;this.rx=new RegExp(e,"gm")}doReplace(t,e,r){const i=e[e.length-2],n=e[e.length-1];for(let t=0;t<this.rules.length;t++){const s=e[t];if(!s)continue;const o=this.rules[t][1].call(this,s,r,i,n);if(o)return o}return console.warn(`rx no match found for ${t} - rx rule contains extra matching group?`),t}rewrite(t,e){return this.rx?t.replace(this.rx,(t,...r)=>this.doReplace(t,r,e)):t}}var me=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239],ye=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],we="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟍꟐꟑꟓꟕ-Ƛꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",Ae={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},be="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",Ee={5:be,"5module":be+" export import",6:be+" const class extends export import super"},ve=/^in(stanceof)?$/,_e=new RegExp("["+we+"]"),xe=new RegExp("["+we+"‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・]");function Ie(t,e){for(var r=65536,i=0;i<e.length;i+=2){if((r+=e[i])>t)return!1;if((r+=e[i+1])>=t)return!0}return!1}function Se(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&_e.test(String.fromCharCode(t)):!1!==e&&Ie(t,ye)))}function Te(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&xe.test(String.fromCharCode(t)):!1!==e&&(Ie(t,ye)||Ie(t,me)))))}var Ce=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function Re(t,e){return new Ce(t,{beforeExpr:!0,binop:e})}var ke={beforeExpr:!0},Ne={startsExpr:!0},Be={};function Oe(t,e){return void 0===e&&(e={}),e.keyword=t,Be[t]=new Ce(t,e)}var Pe={num:new Ce("num",Ne),regexp:new Ce("regexp",Ne),string:new Ce("string",Ne),name:new Ce("name",Ne),privateId:new Ce("privateId",Ne),eof:new Ce("eof"),bracketL:new Ce("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new Ce("]"),braceL:new Ce("{",{beforeExpr:!0,startsExpr:!0}),braceR:new Ce("}"),parenL:new Ce("(",{beforeExpr:!0,startsExpr:!0}),parenR:new Ce(")"),comma:new Ce(",",ke),semi:new Ce(";",ke),colon:new Ce(":",ke),dot:new Ce("."),question:new Ce("?",ke),questionDot:new Ce("?."),arrow:new Ce("=>",ke),template:new Ce("template"),invalidTemplate:new Ce("invalidTemplate"),ellipsis:new Ce("...",ke),backQuote:new Ce("`",Ne),dollarBraceL:new Ce("${",{beforeExpr:!0,startsExpr:!0}),eq:new Ce("=",{beforeExpr:!0,isAssign:!0}),assign:new Ce("_=",{beforeExpr:!0,isAssign:!0}),incDec:new Ce("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new Ce("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Re("||",1),logicalAND:Re("&&",2),bitwiseOR:Re("|",3),bitwiseXOR:Re("^",4),bitwiseAND:Re("&",5),equality:Re("==/!=/===/!==",6),relational:Re("</>/<=/>=",7),bitShift:Re("<</>>/>>>",8),plusMin:new Ce("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Re("%",10),star:Re("*",10),slash:Re("/",10),starstar:new Ce("**",{beforeExpr:!0}),coalesce:Re("??",1),_break:Oe("break"),_case:Oe("case",ke),_catch:Oe("catch"),_continue:Oe("continue"),_debugger:Oe("debugger"),_default:Oe("default",ke),_do:Oe("do",{isLoop:!0,beforeExpr:!0}),_else:Oe("else",ke),_finally:Oe("finally"),_for:Oe("for",{isLoop:!0}),_function:Oe("function",Ne),_if:Oe("if"),_return:Oe("return",ke),_switch:Oe("switch"),_throw:Oe("throw",ke),_try:Oe("try"),_var:Oe("var"),_const:Oe("const"),_while:Oe("while",{isLoop:!0}),_with:Oe("with"),_new:Oe("new",{beforeExpr:!0,startsExpr:!0}),_this:Oe("this",Ne),_super:Oe("super",Ne),_class:Oe("class",Ne),_extends:Oe("extends",ke),_export:Oe("export"),_import:Oe("import",Ne),_null:Oe("null",Ne),_true:Oe("true",Ne),_false:Oe("false",Ne),_in:Oe("in",{beforeExpr:!0,binop:7}),_instanceof:Oe("instanceof",{beforeExpr:!0,binop:7}),_typeof:Oe("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:Oe("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:Oe("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},De=/\r\n?|\n|\u2028|\u2029/,Le=new RegExp(De.source,"g");function Ue(t){return 10===t||13===t||8232===t||8233===t}function Me(t,e,r){void 0===r&&(r=t.length);for(var i=e;i<r;i++){var n=t.charCodeAt(i);if(Ue(n))return i<r-1&&13===n&&10===t.charCodeAt(i+1)?i+2:i+1}return-1}var Fe=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,He=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,je=Object.prototype,We=je.hasOwnProperty,Qe=je.toString,ze=Object.hasOwn||function(t,e){return We.call(t,e)},Ve=Array.isArray||function(t){return"[object Array]"===Qe.call(t)},Ge=Object.create(null);function qe(t){return Ge[t]||(Ge[t]=new RegExp("^(?:"+t.replace(/ /g,"|")+")$"))}function Ye(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}var Ke=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,Xe=function(t,e){this.line=t,this.column=e};Xe.prototype.offset=function(t){return new Xe(this.line,this.column+t)};var Je=function(t,e,r){this.start=e,this.end=r,null!==t.sourceFile&&(this.source=t.sourceFile)};function Ze(t,e){for(var r=1,i=0;;){var n=Me(t,i,e);if(n<0)return new Xe(r,e-i);++r,i=n}}var $e={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},tr=!1;function er(t){var e={};for(var r in $e)e[r]=t&&ze(t,r)?t[r]:$e[r];if("latest"===e.ecmaVersion?e.ecmaVersion=1e8:null==e.ecmaVersion?(!tr&&"object"==typeof console&&console.warn&&(tr=!0,console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")),e.ecmaVersion=11):e.ecmaVersion>=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),t&&null!=t.allowHashBang||(e.allowHashBang=e.ecmaVersion>=14),Ve(e.onToken)){var i=e.onToken;e.onToken=function(t){return i.push(t)}}return Ve(e.onComment)&&(e.onComment=function(t,e){return function(r,i,n,s,o,a){var c={type:r?"Block":"Line",value:i,start:n,end:s};t.locations&&(c.loc=new Je(this,o,a)),t.ranges&&(c.range=[n,s]),e.push(c)}}(e,e.onComment)),e}var rr=256,ir=259;function nr(t,e){return 2|(t?4:0)|(e?8:0)}var sr=function(t,e,r){this.options=t=er(t),this.sourceFile=t.sourceFile,this.keywords=qe(Ee[t.ecmaVersion>=6?6:"module"===t.sourceType?"5module":5]);var i="";!0!==t.allowReserved&&(i=Ae[t.ecmaVersion>=6?6:5===t.ecmaVersion?5:3],"module"===t.sourceType&&(i+=" await")),this.reservedWords=qe(i);var n=(i?i+" ":"")+Ae.strict;this.reservedWordsStrict=qe(n),this.reservedWordsStrictBind=qe(n+" "+Ae.strictBind),this.input=String(e),this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf("\n",r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(De).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=Pe.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null,this.privateNameStack=[]},or={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};sr.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},or.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},or.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},or.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},or.canAwait.get=function(){for(var t=this.scopeStack.length-1;t>=0;t--){var e=this.scopeStack[t].flags;if(768&e)return!1;if(2&e)return(4&e)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},or.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0||this.options.allowSuperOutsideMethod},or.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},or.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},or.allowNewDotTarget.get=function(){for(var t=this.scopeStack.length-1;t>=0;t--){var e=this.scopeStack[t].flags;if(768&e||2&e&&!(16&e))return!0}return!1},or.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&rr)>0},sr.extend=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var r=this,i=0;i<t.length;i++)r=t[i](r);return r},sr.parse=function(t,e){return new this(e,t).parse()},sr.parseExpressionAt=function(t,e,r){var i=new this(r,t,e);return i.nextToken(),i.parseExpression()},sr.tokenizer=function(t,e){return new this(e,t)},Object.defineProperties(sr.prototype,or);var ar=sr.prototype,cr=/^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;ar.strictDirective=function(t){if(this.options.ecmaVersion<5)return!1;for(;;){He.lastIndex=t,t+=He.exec(this.input)[0].length;var e=cr.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2])){He.lastIndex=t+e[0].length;var r=He.exec(this.input),i=r.index+r[0].length,n=this.input.charAt(i);return";"===n||"}"===n||De.test(r[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(n)||"!"===n&&"="===this.input.charAt(i+1))}t+=e[0].length,He.lastIndex=t,t+=He.exec(this.input)[0].length,";"===this.input[t]&&t++}},ar.eat=function(t){return this.type===t&&(this.next(),!0)},ar.isContextual=function(t){return this.type===Pe.name&&this.value===t&&!this.containsEsc},ar.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},ar.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},ar.canInsertSemicolon=function(){return this.type===Pe.eof||this.type===Pe.braceR||De.test(this.input.slice(this.lastTokEnd,this.start))},ar.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ar.semicolon=function(){this.eat(Pe.semi)||this.insertSemicolon()||this.unexpected()},ar.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},ar.expect=function(t){this.eat(t)||this.unexpected()},ar.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")};var lr=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};ar.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var r=e?t.parenthesizedAssign:t.parenthesizedBind;r>-1&&this.raiseRecoverable(r,e?"Assigning to rvalue":"Parenthesized pattern")}},ar.checkExpressionErrors=function(t,e){if(!t)return!1;var r=t.shorthandAssign,i=t.doubleProto;if(!e)return r>=0||i>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")},ar.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},ar.isSimpleAssignTarget=function(t){return"ParenthesizedExpression"===t.type?this.isSimpleAssignTarget(t.expression):"Identifier"===t.type||"MemberExpression"===t.type};var hr=sr.prototype;hr.parseTopLevel=function(t){var e=Object.create(null);for(t.body||(t.body=[]);this.type!==Pe.eof;){var r=this.parseStatement(null,!0,e);t.body.push(r)}if(this.inModule)for(var i=0,n=Object.keys(this.undefinedExports);i<n.length;i+=1){var s=n[i];this.raiseRecoverable(this.undefinedExports[s].start,"Export '"+s+"' is not defined")}return this.adaptDirectivePrologue(t.body),this.next(),t.sourceType=this.options.sourceType,this.finishNode(t,"Program")};var ur={kind:"loop"},pr={kind:"switch"};hr.isLet=function(t){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;He.lastIndex=this.pos;var e=He.exec(this.input),r=this.pos+e[0].length,i=this.input.charCodeAt(r);if(91===i||92===i)return!0;if(t)return!1;if(123===i||i>55295&&i<56320)return!0;if(Se(i,!0)){for(var n=r+1;Te(i=this.input.charCodeAt(n),!0);)++n;if(92===i||i>55295&&i<56320)return!0;var s=this.input.slice(r,n);if(!ve.test(s))return!0}return!1},hr.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;He.lastIndex=this.pos;var t,e=He.exec(this.input),r=this.pos+e[0].length;return!(De.test(this.input.slice(this.pos,r))||"function"!==this.input.slice(r,r+8)||r+8!==this.input.length&&(Te(t=this.input.charCodeAt(r+8))||t>55295&&t<56320))},hr.isUsingKeyword=function(t,e){if(this.options.ecmaVersion<17||!this.isContextual(t?"await":"using"))return!1;He.lastIndex=this.pos;var r=He.exec(this.input),i=this.pos+r[0].length;if(De.test(this.input.slice(this.pos,i)))return!1;if(t){var n,s=i+5;if("using"!==this.input.slice(i,s)||s===this.input.length||Te(n=this.input.charCodeAt(s))||n>55295&&n<56320)return!1;He.lastIndex=s;var o=He.exec(this.input);if(o&&De.test(this.input.slice(s,s+o[0].length)))return!1}if(e){var a,c=i+2;if(!("of"!==this.input.slice(i,c)||c!==this.input.length&&(Te(a=this.input.charCodeAt(c))||a>55295&&a<56320)))return!1}var l=this.input.charCodeAt(i);return Se(l,!0)||92===l},hr.isAwaitUsing=function(t){return this.isUsingKeyword(!0,t)},hr.isUsing=function(t){return this.isUsingKeyword(!1,t)},hr.parseStatement=function(t,e,r){var i,n=this.type,s=this.startNode();switch(this.isLet(t)&&(n=Pe._var,i="let"),n){case Pe._break:case Pe._continue:return this.parseBreakContinueStatement(s,n.keyword);case Pe._debugger:return this.parseDebuggerStatement(s);case Pe._do:return this.parseDoStatement(s);case Pe._for:return this.parseForStatement(s);case Pe._function:return t&&(this.strict||"if"!==t&&"label"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(s,!1,!t);case Pe._class:return t&&this.unexpected(),this.parseClass(s,!0);case Pe._if:return this.parseIfStatement(s);case Pe._return:return this.parseReturnStatement(s);case Pe._switch:return this.parseSwitchStatement(s);case Pe._throw:return this.parseThrowStatement(s);case Pe._try:return this.parseTryStatement(s);case Pe._const:case Pe._var:return i=i||this.value,t&&"var"!==i&&this.unexpected(),this.parseVarStatement(s,i);case Pe._while:return this.parseWhileStatement(s);case Pe._with:return this.parseWithStatement(s);case Pe.braceL:return this.parseBlock(!0,s);case Pe.semi:return this.parseEmptyStatement(s);case Pe._export:case Pe._import:if(this.options.ecmaVersion>10&&n===Pe._import){He.lastIndex=this.pos;var o=He.exec(this.input),a=this.pos+o[0].length,c=this.input.charCodeAt(a);if(40===c||46===c)return this.parseExpressionStatement(s,this.parseExpression())}return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),n===Pe._import?this.parseImport(s):this.parseExport(s,r);default:if(this.isAsyncFunction())return t&&this.unexpected(),this.next(),this.parseFunctionStatement(s,!0,!t);var l=this.isAwaitUsing(!1)?"await using":this.isUsing(!1)?"using":null;if(l)return e&&"script"===this.options.sourceType&&this.raise(this.start,"Using declaration cannot appear in the top level when source type is `script`"),"await using"===l&&(this.canAwait||this.raise(this.start,"Await using cannot appear outside of async function"),this.next()),this.next(),this.parseVar(s,!1,l),this.semicolon(),this.finishNode(s,"VariableDeclaration");var h=this.value,u=this.parseExpression();return n===Pe.name&&"Identifier"===u.type&&this.eat(Pe.colon)?this.parseLabeledStatement(s,h,u,t):this.parseExpressionStatement(s,u)}},hr.parseBreakContinueStatement=function(t,e){var r="break"===e;this.next(),this.eat(Pe.semi)||this.insertSemicolon()?t.label=null:this.type!==Pe.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var i=0;i<this.labels.length;++i){var n=this.labels[i];if(null==t.label||n.name===t.label.name){if(null!=n.kind&&(r||"loop"===n.kind))break;if(t.label&&r)break}}return i===this.labels.length&&this.raise(t.start,"Unsyntactic "+e),this.finishNode(t,r?"BreakStatement":"ContinueStatement")},hr.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},hr.parseDoStatement=function(t){return this.next(),this.labels.push(ur),t.body=this.parseStatement("do"),this.labels.pop(),this.expect(Pe._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(Pe.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},hr.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(ur),this.enterScope(0),this.expect(Pe.parenL),this.type===Pe.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var r=this.isLet();if(this.type===Pe._var||this.type===Pe._const||r){var i=this.startNode(),n=r?"let":this.value;return this.next(),this.parseVar(i,!0,n),this.finishNode(i,"VariableDeclaration"),this.parseForAfterInit(t,i,e)}var s=this.isContextual("let"),o=!1,a=this.isUsing(!0)?"using":this.isAwaitUsing(!0)?"await using":null;if(a){var c=this.startNode();return this.next(),"await using"===a&&this.next(),this.parseVar(c,!0,a),this.finishNode(c,"VariableDeclaration"),this.parseForAfterInit(t,c,e)}var l=this.containsEsc,h=new lr,u=this.start,p=e>-1?this.parseExprSubscripts(h,"await"):this.parseExpression(!0,h);return this.type===Pe._in||(o=this.options.ecmaVersion>=6&&this.isContextual("of"))?(e>-1?(this.type===Pe._in&&this.unexpected(e),t.await=!0):o&&this.options.ecmaVersion>=8&&(p.start!==u||l||"Identifier"!==p.type||"async"!==p.name?this.options.ecmaVersion>=9&&(t.await=!1):this.unexpected()),s&&o&&this.raise(p.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(p,!1,h),this.checkLValPattern(p),this.parseForIn(t,p)):(this.checkExpressionErrors(h,!0),e>-1&&this.unexpected(e),this.parseFor(t,p))},hr.parseForAfterInit=function(t,e,r){return(this.type===Pe._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===e.declarations.length?(this.options.ecmaVersion>=9&&(this.type===Pe._in?r>-1&&this.unexpected(r):t.await=r>-1),this.parseForIn(t,e)):(r>-1&&this.unexpected(r),this.parseFor(t,e))},hr.parseFunctionStatement=function(t,e,r){return this.next(),this.parseFunction(t,fr|(r?0:gr),!1,e)},hr.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(Pe._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},hr.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(Pe.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},hr.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(Pe.braceL),this.labels.push(pr),this.enterScope(0);for(var r=!1;this.type!==Pe.braceR;)if(this.type===Pe._case||this.type===Pe._default){var i=this.type===Pe._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),i?e.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,e.test=null),this.expect(Pe.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(null));return this.exitScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},hr.parseThrowStatement=function(t){return this.next(),De.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var dr=[];hr.parseCatchClauseParam=function(){var t=this.parseBindingAtom(),e="Identifier"===t.type;return this.enterScope(e?32:0),this.checkLValPattern(t,e?4:2),this.expect(Pe.parenR),t},hr.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===Pe._catch){var e=this.startNode();this.next(),this.eat(Pe.parenL)?e.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterScope(0)),e.body=this.parseBlock(!1),this.exitScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(Pe._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},hr.parseVarStatement=function(t,e,r){return this.next(),this.parseVar(t,!1,e,r),this.semicolon(),this.finishNode(t,"VariableDeclaration")},hr.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(ur),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},hr.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement("with"),this.finishNode(t,"WithStatement")},hr.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},hr.parseLabeledStatement=function(t,e,r,i){for(var n=0,s=this.labels;n<s.length;n+=1)s[n].name===e&&this.raise(r.start,"Label '"+e+"' is already declared");for(var o=this.type.isLoop?"loop":this.type===Pe._switch?"switch":null,a=this.labels.length-1;a>=0;a--){var c=this.labels[a];if(c.statementStart!==t.start)break;c.statementStart=this.start,c.kind=o}return this.labels.push({name:e,kind:o,statementStart:this.start}),t.body=this.parseStatement(i?-1===i.indexOf("label")?i+"label":i:"label"),this.labels.pop(),t.label=r,this.finishNode(t,"LabeledStatement")},hr.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},hr.parseBlock=function(t,e,r){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(Pe.braceL),t&&this.enterScope(0);this.type!==Pe.braceR;){var i=this.parseStatement(null);e.body.push(i)}return r&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},hr.parseFor=function(t,e){return t.init=e,this.expect(Pe.semi),t.test=this.type===Pe.semi?null:this.parseExpression(),this.expect(Pe.semi),t.update=this.type===Pe.parenR?null:this.parseExpression(),this.expect(Pe.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},hr.parseForIn=function(t,e){var r=this.type===Pe._in;return this.next(),"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(!r||this.options.ecmaVersion<8||this.strict||"var"!==e.kind||"Identifier"!==e.declarations[0].id.type)&&this.raise(e.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"),t.left=e,t.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(Pe.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,r?"ForInStatement":"ForOfStatement")},hr.parseVar=function(t,e,r,i){for(t.declarations=[],t.kind=r;;){var n=this.startNode();if(this.parseVarId(n,r),this.eat(Pe.eq)?n.init=this.parseMaybeAssign(e):i||"const"!==r||this.type===Pe._in||this.options.ecmaVersion>=6&&this.isContextual("of")?i||"using"!==r&&"await using"!==r||!(this.options.ecmaVersion>=17)||this.type===Pe._in||this.isContextual("of")?i||"Identifier"===n.id.type||e&&(this.type===Pe._in||this.isContextual("of"))?n.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.raise(this.lastTokEnd,"Missing initializer in "+r+" declaration"):this.unexpected(),t.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(Pe.comma))break}return t},hr.parseVarId=function(t,e){t.id="using"===e||"await using"===e?this.parseIdent():this.parseBindingAtom(),this.checkLValPattern(t.id,"var"===e?1:2,!1)};var fr=1,gr=2;function mr(t,e){var r=e.key.name,i=t[r],n="true";return"MethodDefinition"!==e.type||"get"!==e.kind&&"set"!==e.kind||(n=(e.static?"s":"i")+e.kind),"iget"===i&&"iset"===n||"iset"===i&&"iget"===n||"sget"===i&&"sset"===n||"sset"===i&&"sget"===n?(t[r]="true",!1):!!i||(t[r]=n,!1)}function yr(t,e){var r=t.computed,i=t.key;return!r&&("Identifier"===i.type&&i.name===e||"Literal"===i.type&&i.value===e)}hr.parseFunction=function(t,e,r,i,n){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===Pe.star&&e&gr&&this.unexpected(),t.generator=this.eat(Pe.star)),this.options.ecmaVersion>=8&&(t.async=!!i),e&fr&&(t.id=4&e&&this.type!==Pe.name?null:this.parseIdent(),!t.id||e&gr||this.checkLValSimple(t.id,this.strict||t.generator||t.async?this.treatFunctionsAsVar?1:2:3));var s=this.yieldPos,o=this.awaitPos,a=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(nr(t.async,t.generator)),e&fr||(t.id=this.type===Pe.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,r,!1,n),this.yieldPos=s,this.awaitPos=o,this.awaitIdentPos=a,this.finishNode(t,e&fr?"FunctionDeclaration":"FunctionExpression")},hr.parseFunctionParams=function(t){this.expect(Pe.parenL),t.params=this.parseBindingList(Pe.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},hr.parseClass=function(t,e){this.next();var r=this.strict;this.strict=!0,this.parseClassId(t,e),this.parseClassSuper(t);var i=this.enterClassBody(),n=this.startNode(),s=!1;for(n.body=[],this.expect(Pe.braceL);this.type!==Pe.braceR;){var o=this.parseClassElement(null!==t.superClass);o&&(n.body.push(o),"MethodDefinition"===o.type&&"constructor"===o.kind?(s&&this.raiseRecoverable(o.start,"Duplicate constructor in the same class"),s=!0):o.key&&"PrivateIdentifier"===o.key.type&&mr(i,o)&&this.raiseRecoverable(o.key.start,"Identifier '#"+o.key.name+"' has already been declared"))}return this.strict=r,this.next(),t.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},hr.parseClassElement=function(t){if(this.eat(Pe.semi))return null;var e=this.options.ecmaVersion,r=this.startNode(),i="",n=!1,s=!1,o="method",a=!1;if(this.eatContextual("static")){if(e>=13&&this.eat(Pe.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===Pe.star?a=!0:i="static"}if(r.static=a,!i&&e>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==Pe.star||this.canInsertSemicolon()?i="async":s=!0),!i&&(e>=9||!s)&&this.eat(Pe.star)&&(n=!0),!i&&!s&&!n){var c=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?o=c:i=c)}if(i?(r.computed=!1,r.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),r.key.name=i,this.finishNode(r.key,"Identifier")):this.parseClassElementName(r),e<13||this.type===Pe.parenL||"method"!==o||n||s){var l=!r.static&&yr(r,"constructor"),h=l&&t;l&&"method"!==o&&this.raise(r.key.start,"Constructor can't have get/set modifier"),r.kind=l?"constructor":o,this.parseClassMethod(r,n,s,h)}else this.parseClassField(r);return r},hr.isClassElementNameStart=function(){return this.type===Pe.name||this.type===Pe.privateId||this.type===Pe.num||this.type===Pe.string||this.type===Pe.bracketL||this.type.keyword},hr.parseClassElementName=function(t){this.type===Pe.privateId?("constructor"===this.value&&this.raise(this.start,"Classes can't have an element named '#constructor'"),t.computed=!1,t.key=this.parsePrivateIdent()):this.parsePropertyName(t)},hr.parseClassMethod=function(t,e,r,i){var n=t.key;"constructor"===t.kind?(e&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method")):t.static&&yr(t,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var s=t.value=this.parseMethod(e,r,i);return"get"===t.kind&&0!==s.params.length&&this.raiseRecoverable(s.start,"getter should have no params"),"set"===t.kind&&1!==s.params.length&&this.raiseRecoverable(s.start,"setter should have exactly one param"),"set"===t.kind&&"RestElement"===s.params[0].type&&this.raiseRecoverable(s.params[0].start,"Setter cannot use rest params"),this.finishNode(t,"MethodDefinition")},hr.parseClassField=function(t){return yr(t,"constructor")?this.raise(t.key.start,"Classes can't have a field named 'constructor'"):t.static&&yr(t,"prototype")&&this.raise(t.key.start,"Classes can't have a static field named 'prototype'"),this.eat(Pe.eq)?(this.enterScope(576),t.value=this.parseMaybeAssign(),this.exitScope()):t.value=null,this.semicolon(),this.finishNode(t,"PropertyDefinition")},hr.parseClassStaticBlock=function(t){t.body=[];var e=this.labels;for(this.labels=[],this.enterScope(320);this.type!==Pe.braceR;){var r=this.parseStatement(null);t.body.push(r)}return this.next(),this.exitScope(),this.labels=e,this.finishNode(t,"StaticBlock")},hr.parseClassId=function(t,e){this.type===Pe.name?(t.id=this.parseIdent(),e&&this.checkLValSimple(t.id,2,!1)):(!0===e&&this.unexpected(),t.id=null)},hr.parseClassSuper=function(t){t.superClass=this.eat(Pe._extends)?this.parseExprSubscripts(null,!1):null},hr.enterClassBody=function(){var t={declared:Object.create(null),used:[]};return this.privateNameStack.push(t),t.declared},hr.exitClassBody=function(){var t=this.privateNameStack.pop(),e=t.declared,r=t.used;if(this.options.checkPrivateFields)for(var i=this.privateNameStack.length,n=0===i?null:this.privateNameStack[i-1],s=0;s<r.length;++s){var o=r[s];ze(e,o.name)||(n?n.used.push(o):this.raiseRecoverable(o.start,"Private field '#"+o.name+"' must be declared in an enclosing class"))}},hr.parseExportAllDeclaration=function(t,e){return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(t.exported=this.parseModuleExportName(),this.checkExport(e,t.exported,this.lastTokStart)):t.exported=null),this.expectContextual("from"),this.type!==Pe.string&&this.unexpected(),t.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(t.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(t,"ExportAllDeclaration")},hr.parseExport=function(t,e){if(this.next(),this.eat(Pe.star))return this.parseExportAllDeclaration(t,e);if(this.eat(Pe._default))return this.checkExport(e,"default",this.lastTokStart),t.declaration=this.parseExportDefaultDeclaration(),this.finishNode(t,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())t.declaration=this.parseExportDeclaration(t),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id,t.declaration.id.start),t.specifiers=[],t.source=null,this.options.ecmaVersion>=16&&(t.attributes=[]);else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==Pe.string&&this.unexpected(),t.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(t.attributes=this.parseWithClause());else{for(var r=0,i=t.specifiers;r<i.length;r+=1){var n=i[r];this.checkUnreserved(n.local),this.checkLocalExport(n.local),"Literal"===n.local.type&&this.raise(n.local.start,"A string literal cannot be used as an exported binding without `from`.")}t.source=null,this.options.ecmaVersion>=16&&(t.attributes=[])}this.semicolon()}return this.finishNode(t,"ExportNamedDeclaration")},hr.parseExportDeclaration=function(t){return this.parseStatement(null)},hr.parseExportDefaultDeclaration=function(){var t;if(this.type===Pe._function||(t=this.isAsyncFunction())){var e=this.startNode();return this.next(),t&&this.next(),this.parseFunction(e,4|fr,!1,t)}if(this.type===Pe._class){var r=this.startNode();return this.parseClass(r,"nullableID")}var i=this.parseMaybeAssign();return this.semicolon(),i},hr.checkExport=function(t,e,r){t&&("string"!=typeof e&&(e="Identifier"===e.type?e.name:e.value),ze(t,e)&&this.raiseRecoverable(r,"Duplicate export '"+e+"'"),t[e]=!0)},hr.checkPatternExport=function(t,e){var r=e.type;if("Identifier"===r)this.checkExport(t,e,e.start);else if("ObjectPattern"===r)for(var i=0,n=e.properties;i<n.length;i+=1){var s=n[i];this.checkPatternExport(t,s)}else if("ArrayPattern"===r)for(var o=0,a=e.elements;o<a.length;o+=1){var c=a[o];c&&this.checkPatternExport(t,c)}else"Property"===r?this.checkPatternExport(t,e.value):"AssignmentPattern"===r?this.checkPatternExport(t,e.left):"RestElement"===r&&this.checkPatternExport(t,e.argument)},hr.checkVariableExport=function(t,e){if(t)for(var r=0,i=e;r<i.length;r+=1){var n=i[r];this.checkPatternExport(t,n.id)}},hr.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},hr.parseExportSpecifier=function(t){var e=this.startNode();return e.local=this.parseModuleExportName(),e.exported=this.eatContextual("as")?this.parseModuleExportName():e.local,this.checkExport(t,e.exported,e.exported.start),this.finishNode(e,"ExportSpecifier")},hr.parseExportSpecifiers=function(t){var e=[],r=!0;for(this.expect(Pe.braceL);!this.eat(Pe.braceR);){if(r)r=!1;else if(this.expect(Pe.comma),this.afterTrailingComma(Pe.braceR))break;e.push(this.parseExportSpecifier(t))}return e},hr.parseImport=function(t){return this.next(),this.type===Pe.string?(t.specifiers=dr,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===Pe.string?this.parseExprAtom():this.unexpected()),this.options.ecmaVersion>=16&&(t.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},hr.parseImportSpecifier=function(){var t=this.startNode();return t.imported=this.parseModuleExportName(),this.eatContextual("as")?t.local=this.parseIdent():(this.checkUnreserved(t.imported),t.local=t.imported),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportSpecifier")},hr.parseImportDefaultSpecifier=function(){var t=this.startNode();return t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportDefaultSpecifier")},hr.parseImportNamespaceSpecifier=function(){var t=this.startNode();return this.next(),this.expectContextual("as"),t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportNamespaceSpecifier")},hr.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===Pe.name&&(t.push(this.parseImportDefaultSpecifier()),!this.eat(Pe.comma)))return t;if(this.type===Pe.star)return t.push(this.parseImportNamespaceSpecifier()),t;for(this.expect(Pe.braceL);!this.eat(Pe.braceR);){if(e)e=!1;else if(this.expect(Pe.comma),this.afterTrailingComma(Pe.braceR))break;t.push(this.parseImportSpecifier())}return t},hr.parseWithClause=function(){var t=[];if(!this.eat(Pe._with))return t;this.expect(Pe.braceL);for(var e={},r=!0;!this.eat(Pe.braceR);){if(r)r=!1;else if(this.expect(Pe.comma),this.afterTrailingComma(Pe.braceR))break;var i=this.parseImportAttribute(),n="Identifier"===i.key.type?i.key.name:i.key.value;ze(e,n)&&this.raiseRecoverable(i.key.start,"Duplicate attribute key '"+n+"'"),e[n]=!0,t.push(i)}return t},hr.parseImportAttribute=function(){var t=this.startNode();return t.key=this.type===Pe.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved),this.expect(Pe.colon),this.type!==Pe.string&&this.unexpected(),t.value=this.parseExprAtom(),this.finishNode(t,"ImportAttribute")},hr.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===Pe.string){var t=this.parseLiteral(this.value);return Ke.test(t.value)&&this.raise(t.start,"An export name cannot include a lone surrogate."),t}return this.parseIdent(!0)},hr.adaptDirectivePrologue=function(t){for(var e=0;e<t.length&&this.isDirectiveCandidate(t[e]);++e)t[e].directive=t[e].expression.raw.slice(1,-1)},hr.isDirectiveCandidate=function(t){return this.options.ecmaVersion>=5&&"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"==typeof t.expression.value&&('"'===this.input[t.start]||"'"===this.input[t.start])};var wr=sr.prototype;wr.toAssignable=function(t,e,r){if(this.options.ecmaVersion>=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var i=0,n=t.properties;i<n.length;i+=1){var s=n[i];this.toAssignable(s,e),"RestElement"!==s.type||"ArrayPattern"!==s.argument.type&&"ObjectPattern"!==s.argument.type||this.raise(s.argument.start,"Unexpected token")}break;case"Property":"init"!==t.kind&&this.raise(t.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(t.value,e);break;case"ArrayExpression":t.type="ArrayPattern",r&&this.checkPatternErrors(r,!0),this.toAssignableList(t.elements,e);break;case"SpreadElement":t.type="RestElement",this.toAssignable(t.argument,e),"AssignmentPattern"===t.argument.type&&this.raise(t.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":"="!==t.operator&&this.raise(t.left.end,"Only '=' operator can be used for specifying default value."),t.type="AssignmentPattern",delete t.operator,this.toAssignable(t.left,e);break;case"ParenthesizedExpression":this.toAssignable(t.expression,e,r);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":if(!e)break;default:this.raise(t.start,"Assigning to rvalue")}else r&&this.checkPatternErrors(r,!0);return t},wr.toAssignableList=function(t,e){for(var r=t.length,i=0;i<r;i++){var n=t[i];n&&this.toAssignable(n,e)}if(r){var s=t[r-1];6===this.options.ecmaVersion&&e&&s&&"RestElement"===s.type&&"Identifier"!==s.argument.type&&this.unexpected(s.argument.start)}return t},wr.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},wr.parseRestBinding=function(){var t=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==Pe.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},wr.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case Pe.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(Pe.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case Pe.braceL:return this.parseObj(!0)}return this.parseIdent()},wr.parseBindingList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);)if(s?s=!1:this.expect(Pe.comma),e&&this.type===Pe.comma)n.push(null);else{if(r&&this.afterTrailingComma(t))break;if(this.type===Pe.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),n.push(o),this.type===Pe.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}n.push(this.parseAssignableListItem(i))}return n},wr.parseAssignableListItem=function(t){var e=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(e),e},wr.parseBindingListItem=function(t){return t},wr.parseMaybeDefault=function(t,e,r){if(r=r||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(Pe.eq))return r;var i=this.startNodeAt(t,e);return i.left=r,i.right=this.parseMaybeAssign(),this.finishNode(i,"AssignmentPattern")},wr.checkLValSimple=function(t,e,r){void 0===e&&(e=0);var i=0!==e;switch(t.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(i?"Binding ":"Assigning to ")+t.name+" in strict mode"),i&&(2===e&&"let"===t.name&&this.raiseRecoverable(t.start,"let is disallowed as a lexically bound name"),r&&(ze(r,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),r[t.name]=!0),5!==e&&this.declareName(t.name,e,t.start));break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":i&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ParenthesizedExpression":return i&&this.raiseRecoverable(t.start,"Binding parenthesized expression"),this.checkLValSimple(t.expression,e,r);default:this.raise(t.start,(i?"Binding":"Assigning to")+" rvalue")}},wr.checkLValPattern=function(t,e,r){switch(void 0===e&&(e=0),t.type){case"ObjectPattern":for(var i=0,n=t.properties;i<n.length;i+=1){var s=n[i];this.checkLValInnerPattern(s,e,r)}break;case"ArrayPattern":for(var o=0,a=t.elements;o<a.length;o+=1){var c=a[o];c&&this.checkLValInnerPattern(c,e,r)}break;default:this.checkLValSimple(t,e,r)}},wr.checkLValInnerPattern=function(t,e,r){switch(void 0===e&&(e=0),t.type){case"Property":this.checkLValInnerPattern(t.value,e,r);break;case"AssignmentPattern":this.checkLValPattern(t.left,e,r);break;case"RestElement":this.checkLValPattern(t.argument,e,r);break;default:this.checkLValPattern(t,e,r)}};var Ar=function(t,e,r,i,n){this.token=t,this.isExpr=!!e,this.preserveSpace=!!r,this.override=i,this.generator=!!n},br={b_stat:new Ar("{",!1),b_expr:new Ar("{",!0),b_tmpl:new Ar("${",!1),p_stat:new Ar("(",!1),p_expr:new Ar("(",!0),q_tmpl:new Ar("`",!0,!0,function(t){return t.tryReadTemplateToken()}),f_stat:new Ar("function",!1),f_expr:new Ar("function",!0),f_expr_gen:new Ar("function",!0,!1,null,!0),f_gen:new Ar("function",!1,!1,null,!0)},Er=sr.prototype;Er.initialContext=function(){return[br.b_stat]},Er.curContext=function(){return this.context[this.context.length-1]},Er.braceIsBlock=function(t){var e=this.curContext();return e===br.f_expr||e===br.f_stat||(t!==Pe.colon||e!==br.b_stat&&e!==br.b_expr?t===Pe._return||t===Pe.name&&this.exprAllowed?De.test(this.input.slice(this.lastTokEnd,this.start)):t===Pe._else||t===Pe.semi||t===Pe.eof||t===Pe.parenR||t===Pe.arrow||(t===Pe.braceL?e===br.b_stat:t!==Pe._var&&t!==Pe._const&&t!==Pe.name&&!this.exprAllowed):!e.isExpr)},Er.inGeneratorContext=function(){for(var t=this.context.length-1;t>=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},Er.updateContext=function(t){var e,r=this.type;r.keyword&&t===Pe.dot?this.exprAllowed=!1:(e=r.updateContext)?e.call(this,t):this.exprAllowed=r.beforeExpr},Er.overrideContext=function(t){this.curContext()!==t&&(this.context[this.context.length-1]=t)},Pe.parenR.updateContext=Pe.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===br.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},Pe.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?br.b_stat:br.b_expr),this.exprAllowed=!0},Pe.dollarBraceL.updateContext=function(){this.context.push(br.b_tmpl),this.exprAllowed=!0},Pe.parenL.updateContext=function(t){var e=t===Pe._if||t===Pe._for||t===Pe._with||t===Pe._while;this.context.push(e?br.p_stat:br.p_expr),this.exprAllowed=!0},Pe.incDec.updateContext=function(){},Pe._function.updateContext=Pe._class.updateContext=function(t){!t.beforeExpr||t===Pe._else||t===Pe.semi&&this.curContext()!==br.p_stat||t===Pe._return&&De.test(this.input.slice(this.lastTokEnd,this.start))||(t===Pe.colon||t===Pe.braceL)&&this.curContext()===br.b_stat?this.context.push(br.f_stat):this.context.push(br.f_expr),this.exprAllowed=!1},Pe.colon.updateContext=function(){"function"===this.curContext().token&&this.context.pop(),this.exprAllowed=!0},Pe.backQuote.updateContext=function(){this.curContext()===br.q_tmpl?this.context.pop():this.context.push(br.q_tmpl),this.exprAllowed=!1},Pe.star.updateContext=function(t){if(t===Pe._function){var e=this.context.length-1;this.context[e]===br.f_expr?this.context[e]=br.f_expr_gen:this.context[e]=br.f_gen}this.exprAllowed=!0},Pe.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==Pe.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var vr=sr.prototype;function _r(t){return"Identifier"===t.type||"ParenthesizedExpression"===t.type&&_r(t.expression)}function xr(t){return"MemberExpression"===t.type&&"PrivateIdentifier"===t.property.type||"ChainExpression"===t.type&&xr(t.expression)||"ParenthesizedExpression"===t.type&&xr(t.expression)}vr.checkPropClash=function(t,e,r){if(!(this.options.ecmaVersion>=9&&"SpreadElement"===t.type||this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var i,n=t.key;switch(n.type){case"Identifier":i=n.name;break;case"Literal":i=String(n.value);break;default:return}var s=t.kind;if(this.options.ecmaVersion>=6)"__proto__"===i&&"init"===s&&(e.proto&&(r?r.doubleProto<0&&(r.doubleProto=n.start):this.raiseRecoverable(n.start,"Redefinition of __proto__ property")),e.proto=!0);else{var o=e[i="$"+i];o?("init"===s?this.strict&&o.init||o.get||o.set:o.init||o[s])&&this.raiseRecoverable(n.start,"Redefinition of property"):o=e[i]={init:!1,get:!1,set:!1},o[s]=!0}}},vr.parseExpression=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeAssign(t,e);if(this.type===Pe.comma){var s=this.startNodeAt(r,i);for(s.expressions=[n];this.eat(Pe.comma);)s.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(s,"SequenceExpression")}return n},vr.parseMaybeAssign=function(t,e,r){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(t);this.exprAllowed=!1}var i=!1,n=-1,s=-1,o=-1;e?(n=e.parenthesizedAssign,s=e.trailingComma,o=e.doubleProto,e.parenthesizedAssign=e.trailingComma=-1):(e=new lr,i=!0);var a=this.start,c=this.startLoc;this.type!==Pe.parenL&&this.type!==Pe.name||(this.potentialArrowAt=this.start,this.potentialArrowInForAwait="await"===t);var l=this.parseMaybeConditional(t,e);if(r&&(l=r.call(this,l,a,c)),this.type.isAssign){var h=this.startNodeAt(a,c);return h.operator=this.value,this.type===Pe.eq&&(l=this.toAssignable(l,!1,e)),i||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=l.start&&(e.shorthandAssign=-1),this.type===Pe.eq?this.checkLValPattern(l):this.checkLValSimple(l),h.left=l,this.next(),h.right=this.parseMaybeAssign(t),o>-1&&(e.doubleProto=o),this.finishNode(h,"AssignmentExpression")}return i&&this.checkExpressionErrors(e,!0),n>-1&&(e.parenthesizedAssign=n),s>-1&&(e.trailingComma=s),l},vr.parseMaybeConditional=function(t,e){var r=this.start,i=this.startLoc,n=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return n;if(this.eat(Pe.question)){var s=this.startNodeAt(r,i);return s.test=n,s.consequent=this.parseMaybeAssign(),this.expect(Pe.colon),s.alternate=this.parseMaybeAssign(t),this.finishNode(s,"ConditionalExpression")}return n},vr.parseExprOps=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeUnary(e,!1,!1,t);return this.checkExpressionErrors(e)||n.start===r&&"ArrowFunctionExpression"===n.type?n:this.parseExprOp(n,r,i,-1,t)},vr.parseExprOp=function(t,e,r,i,n){var s=this.type.binop;if(null!=s&&(!n||this.type!==Pe._in)&&s>i){var o=this.type===Pe.logicalOR||this.type===Pe.logicalAND,a=this.type===Pe.coalesce;a&&(s=Pe.logicalAND.binop);var c=this.value;this.next();var l=this.start,h=this.startLoc,u=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,n),l,h,s,n),p=this.buildBinary(e,r,t,u,c,o||a);return(o&&this.type===Pe.coalesce||a&&(this.type===Pe.logicalOR||this.type===Pe.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(p,e,r,i,n)}return t},vr.buildBinary=function(t,e,r,i,n,s){"PrivateIdentifier"===i.type&&this.raise(i.start,"Private identifier can only be left side of binary expression");var o=this.startNodeAt(t,e);return o.left=r,o.operator=n,o.right=i,this.finishNode(o,s?"LogicalExpression":"BinaryExpression")},vr.parseMaybeUnary=function(t,e,r,i){var n,s=this.start,o=this.startLoc;if(this.isContextual("await")&&this.canAwait)n=this.parseAwait(i),e=!0;else if(this.type.prefix){var a=this.startNode(),c=this.type===Pe.incDec;a.operator=this.value,a.prefix=!0,this.next(),a.argument=this.parseMaybeUnary(null,!0,c,i),this.checkExpressionErrors(t,!0),c?this.checkLValSimple(a.argument):this.strict&&"delete"===a.operator&&_r(a.argument)?this.raiseRecoverable(a.start,"Deleting local variable in strict mode"):"delete"===a.operator&&xr(a.argument)?this.raiseRecoverable(a.start,"Private fields can not be deleted"):e=!0,n=this.finishNode(a,c?"UpdateExpression":"UnaryExpression")}else if(e||this.type!==Pe.privateId){if(n=this.parseExprSubscripts(t,i),this.checkExpressionErrors(t))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var l=this.startNodeAt(s,o);l.operator=this.value,l.prefix=!1,l.argument=n,this.checkLValSimple(n),this.next(),n=this.finishNode(l,"UpdateExpression")}}else(i||0===this.privateNameStack.length)&&this.options.checkPrivateFields&&this.unexpected(),n=this.parsePrivateIdent(),this.type!==Pe._in&&this.unexpected();return r||!this.eat(Pe.starstar)?n:e?void this.unexpected(this.lastTokStart):this.buildBinary(s,o,n,this.parseMaybeUnary(null,!1,!1,i),"**",!1)},vr.parseExprSubscripts=function(t,e){var r=this.start,i=this.startLoc,n=this.parseExprAtom(t,e);if("ArrowFunctionExpression"===n.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd))return n;var s=this.parseSubscripts(n,r,i,!1,e);return t&&"MemberExpression"===s.type&&(t.parenthesizedAssign>=s.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=s.start&&(t.parenthesizedBind=-1),t.trailingComma>=s.start&&(t.trailingComma=-1)),s},vr.parseSubscripts=function(t,e,r,i,n){for(var s=this.options.ecmaVersion>=8&&"Identifier"===t.type&&"async"===t.name&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start===5&&this.potentialArrowAt===t.start,o=!1;;){var a=this.parseSubscript(t,e,r,i,s,o,n);if(a.optional&&(o=!0),a===t||"ArrowFunctionExpression"===a.type){if(o){var c=this.startNodeAt(e,r);c.expression=a,a=this.finishNode(c,"ChainExpression")}return a}t=a}},vr.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(Pe.arrow)},vr.parseSubscriptAsyncArrow=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!0,i)},vr.parseSubscript=function(t,e,r,i,n,s,o){var a=this.options.ecmaVersion>=11,c=a&&this.eat(Pe.questionDot);i&&c&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var l=this.eat(Pe.bracketL);if(l||c&&this.type!==Pe.parenL&&this.type!==Pe.backQuote||this.eat(Pe.dot)){var h=this.startNodeAt(e,r);h.object=t,l?(h.property=this.parseExpression(),this.expect(Pe.bracketR)):this.type===Pe.privateId&&"Super"!==t.type?h.property=this.parsePrivateIdent():h.property=this.parseIdent("never"!==this.options.allowReserved),h.computed=!!l,a&&(h.optional=c),t=this.finishNode(h,"MemberExpression")}else if(!i&&this.eat(Pe.parenL)){var u=new lr,p=this.yieldPos,d=this.awaitPos,f=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var g=this.parseExprList(Pe.parenR,this.options.ecmaVersion>=8,!1,u);if(n&&!c&&this.shouldParseAsyncArrow())return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=p,this.awaitPos=d,this.awaitIdentPos=f,this.parseSubscriptAsyncArrow(e,r,g,o);this.checkExpressionErrors(u,!0),this.yieldPos=p||this.yieldPos,this.awaitPos=d||this.awaitPos,this.awaitIdentPos=f||this.awaitIdentPos;var m=this.startNodeAt(e,r);m.callee=t,m.arguments=g,a&&(m.optional=c),t=this.finishNode(m,"CallExpression")}else if(this.type===Pe.backQuote){(c||s)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var y=this.startNodeAt(e,r);y.tag=t,y.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(y,"TaggedTemplateExpression")}return t},vr.parseExprAtom=function(t,e,r){this.type===Pe.slash&&this.readRegexp();var i,n=this.potentialArrowAt===this.start;switch(this.type){case Pe._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),i=this.startNode(),this.next(),this.type!==Pe.parenL||this.allowDirectSuper||this.raise(i.start,"super() call outside constructor of a subclass"),this.type!==Pe.dot&&this.type!==Pe.bracketL&&this.type!==Pe.parenL&&this.unexpected(),this.finishNode(i,"Super");case Pe._this:return i=this.startNode(),this.next(),this.finishNode(i,"ThisExpression");case Pe.name:var s=this.start,o=this.startLoc,a=this.containsEsc,c=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!a&&"async"===c.name&&!this.canInsertSemicolon()&&this.eat(Pe._function))return this.overrideContext(br.f_expr),this.parseFunction(this.startNodeAt(s,o),0,!1,!0,e);if(n&&!this.canInsertSemicolon()){if(this.eat(Pe.arrow))return this.parseArrowExpression(this.startNodeAt(s,o),[c],!1,e);if(this.options.ecmaVersion>=8&&"async"===c.name&&this.type===Pe.name&&!a&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return c=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(Pe.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,o),[c],!0,e)}return c;case Pe.regexp:var l=this.value;return(i=this.parseLiteral(l.value)).regex={pattern:l.pattern,flags:l.flags},i;case Pe.num:case Pe.string:return this.parseLiteral(this.value);case Pe._null:case Pe._true:case Pe._false:return(i=this.startNode()).value=this.type===Pe._null?null:this.type===Pe._true,i.raw=this.type.keyword,this.next(),this.finishNode(i,"Literal");case Pe.parenL:var h=this.start,u=this.parseParenAndDistinguishExpression(n,e);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(u)&&(t.parenthesizedAssign=h),t.parenthesizedBind<0&&(t.parenthesizedBind=h)),u;case Pe.bracketL:return i=this.startNode(),this.next(),i.elements=this.parseExprList(Pe.bracketR,!0,!0,t),this.finishNode(i,"ArrayExpression");case Pe.braceL:return this.overrideContext(br.b_expr),this.parseObj(!1,t);case Pe._function:return i=this.startNode(),this.next(),this.parseFunction(i,0);case Pe._class:return this.parseClass(this.startNode(),!1);case Pe._new:return this.parseNew();case Pe.backQuote:return this.parseTemplate();case Pe._import:return this.options.ecmaVersion>=11?this.parseExprImport(r):this.unexpected();default:return this.parseExprAtomDefault()}},vr.parseExprAtomDefault=function(){this.unexpected()},vr.parseExprImport=function(t){var e=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import"),this.next(),this.type===Pe.parenL&&!t)return this.parseDynamicImport(e);if(this.type===Pe.dot){var r=this.startNodeAt(e.start,e.loc&&e.loc.start);return r.name="import",e.meta=this.finishNode(r,"Identifier"),this.parseImportMeta(e)}this.unexpected()},vr.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),this.options.ecmaVersion>=16)this.eat(Pe.parenR)?t.options=null:(this.expect(Pe.comma),this.afterTrailingComma(Pe.parenR)?t.options=null:(t.options=this.parseMaybeAssign(),this.eat(Pe.parenR)||(this.expect(Pe.comma),this.afterTrailingComma(Pe.parenR)||this.unexpected())));else if(!this.eat(Pe.parenR)){var e=this.start;this.eat(Pe.comma)&&this.eat(Pe.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},vr.parseImportMeta=function(t){this.next();var e=this.containsEsc;return t.property=this.parseIdent(!0),"meta"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for import is 'import.meta'"),e&&this.raiseRecoverable(t.start,"'import.meta' must not contain escaped characters"),"module"===this.options.sourceType||this.options.allowImportExportEverywhere||this.raiseRecoverable(t.start,"Cannot use 'import.meta' outside a module"),this.finishNode(t,"MetaProperty")},vr.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),110===e.raw.charCodeAt(e.raw.length-1)&&(e.bigint=null!=e.value?e.value.toString():e.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(e,"Literal")},vr.parseParenExpression=function(){this.expect(Pe.parenL);var t=this.parseExpression();return this.expect(Pe.parenR),t},vr.shouldParseArrow=function(t){return!this.canInsertSemicolon()},vr.parseParenAndDistinguishExpression=function(t,e){var r,i=this.start,n=this.startLoc,s=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var o,a=this.start,c=this.startLoc,l=[],h=!0,u=!1,p=new lr,d=this.yieldPos,f=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==Pe.parenR;){if(h?h=!1:this.expect(Pe.comma),s&&this.afterTrailingComma(Pe.parenR,!0)){u=!0;break}if(this.type===Pe.ellipsis){o=this.start,l.push(this.parseParenItem(this.parseRestBinding())),this.type===Pe.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}l.push(this.parseMaybeAssign(!1,p,this.parseParenItem))}var g=this.lastTokEnd,m=this.lastTokEndLoc;if(this.expect(Pe.parenR),t&&this.shouldParseArrow(l)&&this.eat(Pe.arrow))return this.checkPatternErrors(p,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=d,this.awaitPos=f,this.parseParenArrowList(i,n,l,e);l.length&&!u||this.unexpected(this.lastTokStart),o&&this.unexpected(o),this.checkExpressionErrors(p,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=f||this.awaitPos,l.length>1?((r=this.startNodeAt(a,c)).expressions=l,this.finishNodeAt(r,"SequenceExpression",g,m)):r=l[0]}else r=this.parseParenExpression();if(this.options.preserveParens){var y=this.startNodeAt(i,n);return y.expression=r,this.finishNode(y,"ParenthesizedExpression")}return r},vr.parseParenItem=function(t){return t},vr.parseParenArrowList=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!1,i)};var Ir=[];vr.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var t=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===Pe.dot){var e=this.startNodeAt(t.start,t.loc&&t.loc.start);e.name="new",t.meta=this.finishNode(e,"Identifier"),this.next();var r=this.containsEsc;return t.property=this.parseIdent(!0),"target"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(t.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(t.start,"'new.target' can only be used in functions and class static block"),this.finishNode(t,"MetaProperty")}var i=this.start,n=this.startLoc;return t.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),i,n,!0,!1),this.eat(Pe.parenL)?t.arguments=this.parseExprList(Pe.parenR,this.options.ecmaVersion>=8,!1):t.arguments=Ir,this.finishNode(t,"NewExpression")},vr.parseTemplateElement=function(t){var e=t.isTagged,r=this.startNode();return this.type===Pe.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value.replace(/\r\n?/g,"\n"),cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),r.tail=this.type===Pe.backQuote,this.finishNode(r,"TemplateElement")},vr.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var r=this.startNode();this.next(),r.expressions=[];var i=this.parseTemplateElement({isTagged:e});for(r.quasis=[i];!i.tail;)this.type===Pe.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(Pe.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(Pe.braceR),r.quasis.push(i=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(r,"TemplateLiteral")},vr.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===Pe.name||this.type===Pe.num||this.type===Pe.string||this.type===Pe.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===Pe.star)&&!De.test(this.input.slice(this.lastTokEnd,this.start))},vr.parseObj=function(t,e){var r=this.startNode(),i=!0,n={};for(r.properties=[],this.next();!this.eat(Pe.braceR);){if(i)i=!1;else if(this.expect(Pe.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(Pe.braceR))break;var s=this.parseProperty(t,e);t||this.checkPropClash(s,n,e),r.properties.push(s)}return this.finishNode(r,t?"ObjectPattern":"ObjectExpression")},vr.parseProperty=function(t,e){var r,i,n,s,o=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(Pe.ellipsis))return t?(o.argument=this.parseIdent(!1),this.type===Pe.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(o,"RestElement")):(o.argument=this.parseMaybeAssign(!1,e),this.type===Pe.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(o,"SpreadElement"));this.options.ecmaVersion>=6&&(o.method=!1,o.shorthand=!1,(t||e)&&(n=this.start,s=this.startLoc),t||(r=this.eat(Pe.star)));var a=this.containsEsc;return this.parsePropertyName(o),!t&&!a&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(o)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(Pe.star),this.parsePropertyName(o)):i=!1,this.parsePropertyValue(o,t,r,i,n,s,e,a),this.finishNode(o,"Property")},vr.parseGetterSetter=function(t){var e=t.key.name;this.parsePropertyName(t),t.value=this.parseMethod(!1),t.kind=e;var r="get"===t.kind?0:1;if(t.value.params.length!==r){var i=t.value.start;"get"===t.kind?this.raiseRecoverable(i,"getter should have no params"):this.raiseRecoverable(i,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")},vr.parsePropertyValue=function(t,e,r,i,n,s,o,a){(r||i)&&this.type===Pe.colon&&this.unexpected(),this.eat(Pe.colon)?(t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),t.kind="init"):this.options.ecmaVersion>=6&&this.type===Pe.parenL?(e&&this.unexpected(),t.method=!0,t.value=this.parseMethod(r,i),t.kind="init"):e||a||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===Pe.comma||this.type===Pe.braceR||this.type===Pe.eq?this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?((r||i)&&this.unexpected(),this.checkUnreserved(t.key),"await"!==t.key.name||this.awaitIdentPos||(this.awaitIdentPos=n),e?t.value=this.parseMaybeDefault(n,s,this.copyNode(t.key)):this.type===Pe.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),t.value=this.parseMaybeDefault(n,s,this.copyNode(t.key))):t.value=this.copyNode(t.key),t.kind="init",t.shorthand=!0):this.unexpected():((r||i)&&this.unexpected(),this.parseGetterSetter(t))},vr.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(Pe.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(Pe.bracketR),t.key;t.computed=!1}return t.key=this.type===Pe.num||this.type===Pe.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},vr.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},vr.parseMethod=function(t,e,r){var i=this.startNode(),n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=t),this.options.ecmaVersion>=8&&(i.async=!!e),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|nr(e,i.generator)|(r?128:0)),this.expect(Pe.parenL),i.params=this.parseBindingList(Pe.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0,!1),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(i,"FunctionExpression")},vr.parseArrowExpression=function(t,e,r,i){var n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.enterScope(16|nr(r,!1)),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0,!1,i),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(t,"ArrowFunctionExpression")},vr.parseFunctionBody=function(t,e,r,i){var n=e&&this.type!==Pe.braceL,s=this.strict,o=!1;if(n)t.body=this.parseMaybeAssign(i),t.expression=!0,this.checkParams(t,!1);else{var a=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);s&&!a||(o=this.strictDirective(this.end))&&a&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var c=this.labels;this.labels=[],o&&(this.strict=!0),this.checkParams(t,!s&&!o&&!e&&!r&&this.isSimpleParamList(t.params)),this.strict&&t.id&&this.checkLValSimple(t.id,5),t.body=this.parseBlock(!1,void 0,o&&!s),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=c}this.exitScope()},vr.isSimpleParamList=function(t){for(var e=0,r=t;e<r.length;e+=1)if("Identifier"!==r[e].type)return!1;return!0},vr.checkParams=function(t,e){for(var r=Object.create(null),i=0,n=t.params;i<n.length;i+=1){var s=n[i];this.checkLValInnerPattern(s,1,e?null:r)}},vr.parseExprList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);){if(s)s=!1;else if(this.expect(Pe.comma),e&&this.afterTrailingComma(t))break;var o=void 0;r&&this.type===Pe.comma?o=null:this.type===Pe.ellipsis?(o=this.parseSpread(i),i&&this.type===Pe.comma&&i.trailingComma<0&&(i.trailingComma=this.start)):o=this.parseMaybeAssign(!1,i),n.push(o)}return n},vr.checkUnreserved=function(t){var e=t.start,r=t.end,i=t.name;this.inGenerator&&"yield"===i&&this.raiseRecoverable(e,"Cannot use 'yield' as identifier inside a generator"),this.inAsync&&"await"===i&&this.raiseRecoverable(e,"Cannot use 'await' as identifier inside an async function"),this.currentThisScope().flags&ir||"arguments"!==i||this.raiseRecoverable(e,"Cannot use 'arguments' in class field initializer"),!this.inClassStaticBlock||"arguments"!==i&&"await"!==i||this.raise(e,"Cannot use "+i+" in class static initialization block"),this.keywords.test(i)&&this.raise(e,"Unexpected keyword '"+i+"'"),this.options.ecmaVersion<6&&-1!==this.input.slice(e,r).indexOf("\\")||(this.strict?this.reservedWordsStrict:this.reservedWords).test(i)&&(this.inAsync||"await"!==i||this.raiseRecoverable(e,"Cannot use keyword 'await' outside an async function"),this.raiseRecoverable(e,"The keyword '"+i+"' is reserved"))},vr.parseIdent=function(t){var e=this.parseIdentNode();return this.next(!!t),this.finishNode(e,"Identifier"),t||(this.checkUnreserved(e),"await"!==e.name||this.awaitIdentPos||(this.awaitIdentPos=e.start)),e},vr.parseIdentNode=function(){var t=this.startNode();return this.type===Pe.name?t.name=this.value:this.type.keyword?(t.name=this.type.keyword,"class"!==t.name&&"function"!==t.name||this.lastTokEnd===this.lastTokStart+1&&46===this.input.charCodeAt(this.lastTokStart)||this.context.pop(),this.type=Pe.name):this.unexpected(),t},vr.parsePrivateIdent=function(){var t=this.startNode();return this.type===Pe.privateId?t.name=this.value:this.unexpected(),this.next(),this.finishNode(t,"PrivateIdentifier"),this.options.checkPrivateFields&&(0===this.privateNameStack.length?this.raise(t.start,"Private field '#"+t.name+"' must be declared in an enclosing class"):this.privateNameStack[this.privateNameStack.length-1].used.push(t)),t},vr.parseYield=function(t){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===Pe.semi||this.canInsertSemicolon()||this.type!==Pe.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(Pe.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")},vr.parseAwait=function(t){this.awaitPos||(this.awaitPos=this.start);var e=this.startNode();return this.next(),e.argument=this.parseMaybeUnary(null,!0,!1,t),this.finishNode(e,"AwaitExpression")};var Sr=sr.prototype;Sr.raise=function(t,e){var r=Ze(this.input,t);e+=" ("+r.line+":"+r.column+")",this.sourceFile&&(e+=" in "+this.sourceFile);var i=new SyntaxError(e);throw i.pos=t,i.loc=r,i.raisedAt=this.pos,i},Sr.raiseRecoverable=Sr.raise,Sr.curPosition=function(){if(this.options.locations)return new Xe(this.curLine,this.pos-this.lineStart)};var Tr=sr.prototype,Cr=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[]};Tr.enterScope=function(t){this.scopeStack.push(new Cr(t))},Tr.exitScope=function(){this.scopeStack.pop()},Tr.treatFunctionsAsVarInScope=function(t){return 2&t.flags||!this.inModule&&1&t.flags},Tr.declareName=function(t,e,r){var i=!1;if(2===e){var n=this.currentScope();i=n.lexical.indexOf(t)>-1||n.functions.indexOf(t)>-1||n.var.indexOf(t)>-1,n.lexical.push(t),this.inModule&&1&n.flags&&delete this.undefinedExports[t]}else if(4===e)this.currentScope().lexical.push(t);else if(3===e){var s=this.currentScope();i=this.treatFunctionsAsVar?s.lexical.indexOf(t)>-1:s.lexical.indexOf(t)>-1||s.var.indexOf(t)>-1,s.functions.push(t)}else for(var o=this.scopeStack.length-1;o>=0;--o){var a=this.scopeStack[o];if(a.lexical.indexOf(t)>-1&&!(32&a.flags&&a.lexical[0]===t)||!this.treatFunctionsAsVarInScope(a)&&a.functions.indexOf(t)>-1){i=!0;break}if(a.var.push(t),this.inModule&&1&a.flags&&delete this.undefinedExports[t],a.flags&ir)break}i&&this.raiseRecoverable(r,"Identifier '"+t+"' has already been declared")},Tr.checkLocalExport=function(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&(this.undefinedExports[t.name]=t)},Tr.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Tr.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(771&e.flags)return e}},Tr.currentThisScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(771&e.flags&&!(16&e.flags))return e}};var Rr=function(t,e,r){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new Je(t,r)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},kr=sr.prototype;function Nr(t,e,r,i){return t.type=e,t.end=r,this.options.locations&&(t.loc.end=i),this.options.ranges&&(t.range[1]=r),t}kr.startNode=function(){return new Rr(this,this.start,this.startLoc)},kr.startNodeAt=function(t,e){return new Rr(this,t,e)},kr.finishNode=function(t,e){return Nr.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},kr.finishNodeAt=function(t,e,r,i){return Nr.call(this,t,e,r,i)},kr.copyNode=function(t){var e=new Rr(this,t.start,this.startLoc);for(var r in t)e[r]=t[r];return e};var Br="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Or=Br+" Extended_Pictographic",Pr=Or+" EBase EComp EMod EPres ExtPict",Dr={9:Br,10:Or,11:Or,12:Pr,13:Pr,14:Pr},Lr={9:"",10:"",11:"",12:"",13:"",14:"Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji"},Ur="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Mr="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Fr=Mr+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Hr=Fr+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",jr=Hr+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",Wr=jr+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",Qr={9:Mr,10:Fr,11:Hr,12:jr,13:Wr,14:Wr+" Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz"},zr={};function Vr(t){var e=zr[t]={binary:qe(Dr[t]+" "+Ur),binaryOfStrings:qe(Lr[t]),nonBinary:{General_Category:qe(Ur),Script:qe(Qr[t])}};e.nonBinary.Script_Extensions=e.nonBinary.Script,e.nonBinary.gc=e.nonBinary.General_Category,e.nonBinary.sc=e.nonBinary.Script,e.nonBinary.scx=e.nonBinary.Script_Extensions}for(var Gr=0,qr=[9,10,11,12,13,14];Gr<qr.length;Gr+=1)Vr(qr[Gr]);var Yr=sr.prototype,Kr=function(t,e){this.parent=t,this.base=e||this};Kr.prototype.separatedFrom=function(t){for(var e=this;e;e=e.parent)for(var r=t;r;r=r.parent)if(e.base===r.base&&e!==r)return!0;return!1},Kr.prototype.sibling=function(){return new Kr(this.parent,this.base)};var Xr=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":"")+(t.options.ecmaVersion>=15?"v":""),this.unicodeProperties=zr[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=Object.create(null),this.backReferenceNames=[],this.branchID=null};function Jr(t){return 105===t||109===t||115===t}function Zr(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function $r(t){return t>=65&&t<=90||t>=97&&t<=122}function ti(t){return $r(t)||95===t}function ei(t){return ti(t)||ri(t)}function ri(t){return t>=48&&t<=57}function ii(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function ni(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function si(t){return t>=48&&t<=55}Xr.prototype.reset=function(t,e,r){var i=-1!==r.indexOf("v"),n=-1!==r.indexOf("u");this.start=0|t,this.source=e+"",this.flags=r,i&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=n&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=n&&this.parser.options.ecmaVersion>=9)},Xr.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},Xr.prototype.at=function(t,e){void 0===e&&(e=!1);var r=this.source,i=r.length;if(t>=i)return-1;var n=r.charCodeAt(t);if(!e&&!this.switchU||n<=55295||n>=57344||t+1>=i)return n;var s=r.charCodeAt(t+1);return s>=56320&&s<=57343?(n<<10)+s-56613888:n},Xr.prototype.nextIndex=function(t,e){void 0===e&&(e=!1);var r=this.source,i=r.length;if(t>=i)return i;var n,s=r.charCodeAt(t);return!e&&!this.switchU||s<=55295||s>=57344||t+1>=i||(n=r.charCodeAt(t+1))<56320||n>57343?t+1:t+2},Xr.prototype.current=function(t){return void 0===t&&(t=!1),this.at(this.pos,t)},Xr.prototype.lookahead=function(t){return void 0===t&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},Xr.prototype.advance=function(t){void 0===t&&(t=!1),this.pos=this.nextIndex(this.pos,t)},Xr.prototype.eat=function(t,e){return void 0===e&&(e=!1),this.current(e)===t&&(this.advance(e),!0)},Xr.prototype.eatChars=function(t,e){void 0===e&&(e=!1);for(var r=this.pos,i=0,n=t;i<n.length;i+=1){var s=n[i],o=this.at(r,e);if(-1===o||o!==s)return!1;r=this.nextIndex(r,e)}return this.pos=r,!0},Yr.validateRegExpFlags=function(t){for(var e=t.validFlags,r=t.flags,i=!1,n=!1,s=0;s<r.length;s++){var o=r.charAt(s);-1===e.indexOf(o)&&this.raise(t.start,"Invalid regular expression flag"),r.indexOf(o,s+1)>-1&&this.raise(t.start,"Duplicate regular expression flag"),"u"===o&&(i=!0),"v"===o&&(n=!0)}this.options.ecmaVersion>=15&&i&&n&&this.raise(t.start,"Invalid regular expression flag")},Yr.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&function(t){for(var e in t)return!0;return!1}(t.groupNames)&&(t.switchN=!0,this.regexp_pattern(t))},Yr.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames=Object.create(null),t.backReferenceNames.length=0,t.branchID=null,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,r=t.backReferenceNames;e<r.length;e+=1){var i=r[e];t.groupNames[i]||t.raise("Invalid named capture referenced")}},Yr.regexp_disjunction=function(t){var e=this.options.ecmaVersion>=16;for(e&&(t.branchID=new Kr(t.branchID,null)),this.regexp_alternative(t);t.eat(124);)e&&(t.branchID=t.branchID.sibling()),this.regexp_alternative(t);e&&(t.branchID=t.branchID.parent),this.regexp_eatQuantifier(t,!0)&&t.raise("Nothing to repeat"),t.eat(123)&&t.raise("Lone quantifier brackets")},Yr.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},Yr.regexp_eatTerm=function(t){return this.regexp_eatAssertion(t)?(t.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(t)&&t.switchU&&t.raise("Invalid quantifier"),!0):!!(t.switchU?this.regexp_eatAtom(t):this.regexp_eatExtendedAtom(t))&&(this.regexp_eatQuantifier(t),!0)},Yr.regexp_eatAssertion=function(t){var e=t.pos;if(t.lastAssertionIsQuantifiable=!1,t.eat(94)||t.eat(36))return!0;if(t.eat(92)){if(t.eat(66)||t.eat(98))return!0;t.pos=e}if(t.eat(40)&&t.eat(63)){var r=!1;if(this.options.ecmaVersion>=9&&(r=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!r,!0}return t.pos=e,!1},Yr.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},Yr.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},Yr.regexp_eatBracedQuantifier=function(t,e){var r=t.pos;if(t.eat(123)){var i=0,n=-1;if(this.regexp_eatDecimalDigits(t)&&(i=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(n=t.lastIntValue),t.eat(125)))return-1!==n&&n<i&&!e&&t.raise("numbers out of order in {} quantifier"),!0;t.switchU&&!e&&t.raise("Incomplete quantifier"),t.pos=r}return!1},Yr.regexp_eatAtom=function(t){return this.regexp_eatPatternCharacters(t)||t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)},Yr.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},Yr.regexp_eatUncapturingGroup=function(t){var e=t.pos;if(t.eat(40)){if(t.eat(63)){if(this.options.ecmaVersion>=16){var r=this.regexp_eatModifiers(t),i=t.eat(45);if(r||i){for(var n=0;n<r.length;n++){var s=r.charAt(n);r.indexOf(s,n+1)>-1&&t.raise("Duplicate regular expression modifiers")}if(i){var o=this.regexp_eatModifiers(t);r||o||58!==t.current()||t.raise("Invalid regular expression modifiers");for(var a=0;a<o.length;a++){var c=o.charAt(a);(o.indexOf(c,a+1)>-1||r.indexOf(c)>-1)&&t.raise("Duplicate regular expression modifiers")}}}}if(t.eat(58)){if(this.regexp_disjunction(t),t.eat(41))return!0;t.raise("Unterminated group")}}t.pos=e}return!1},Yr.regexp_eatCapturingGroup=function(t){if(t.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},Yr.regexp_eatModifiers=function(t){for(var e="",r=0;-1!==(r=t.current())&&Jr(r);)e+=Ye(r),t.advance();return e},Yr.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},Yr.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},Yr.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!Zr(e)&&(t.lastIntValue=e,t.advance(),!0)},Yr.regexp_eatPatternCharacters=function(t){for(var e=t.pos,r=0;-1!==(r=t.current())&&!Zr(r);)t.advance();return t.pos!==e},Yr.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e||(t.advance(),0))},Yr.regexp_groupSpecifier=function(t){if(t.eat(63)){this.regexp_eatGroupName(t)||t.raise("Invalid group");var e=this.options.ecmaVersion>=16,r=t.groupNames[t.lastStringValue];if(r)if(e)for(var i=0,n=r;i<n.length;i+=1)n[i].separatedFrom(t.branchID)||t.raise("Duplicate capture group name");else t.raise("Duplicate capture group name");e?(r||(t.groupNames[t.lastStringValue]=[])).push(t.branchID):t.groupNames[t.lastStringValue]=!0}},Yr.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},Yr.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=Ye(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=Ye(t.lastIntValue);return!0}return!1},Yr.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,r=this.options.ecmaVersion>=11,i=t.current(r);return t.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,r)&&(i=t.lastIntValue),function(t){return Se(t,!0)||36===t||95===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},Yr.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,r=this.options.ecmaVersion>=11,i=t.current(r);return t.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,r)&&(i=t.lastIntValue),function(t){return Te(t,!0)||36===t||95===t||8204===t||8205===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},Yr.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},Yr.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var r=t.lastIntValue;if(t.switchU)return r>t.maxBackReference&&(t.maxBackReference=r),!0;if(r<=t.numCapturingParens)return!0;t.pos=e}return!1},Yr.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},Yr.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t,!1)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},Yr.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},Yr.regexp_eatZero=function(t){return 48===t.current()&&!ri(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},Yr.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},Yr.regexp_eatControlLetter=function(t){var e=t.current();return!!$r(e)&&(t.lastIntValue=e%32,t.advance(),!0)},Yr.regexp_eatRegExpUnicodeEscapeSequence=function(t,e){void 0===e&&(e=!1);var r,i=t.pos,n=e||t.switchU;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var s=t.lastIntValue;if(n&&s>=55296&&s<=56319){var o=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var a=t.lastIntValue;if(a>=56320&&a<=57343)return t.lastIntValue=1024*(s-55296)+(a-56320)+65536,!0}t.pos=o,t.lastIntValue=s}return!0}if(n&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&(r=t.lastIntValue)>=0&&r<=1114111)return!0;n&&t.raise("Invalid unicode escape"),t.pos=i}return!1},Yr.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e||(t.lastIntValue=e,t.advance(),0))},Yr.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},Yr.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),1;var r=!1;if(t.switchU&&this.options.ecmaVersion>=9&&((r=80===e)||112===e)){var i;if(t.lastIntValue=-1,t.advance(),t.eat(123)&&(i=this.regexp_eatUnicodePropertyValueExpression(t))&&t.eat(125))return r&&2===i&&t.raise("Invalid property name"),i;t.raise("Invalid property name")}return 0},Yr.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var r=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var i=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,r,i),1}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var n=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,n)}return 0},Yr.regexp_validateUnicodePropertyNameAndValue=function(t,e,r){ze(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(r)||t.raise("Invalid property value")},Yr.regexp_validateUnicodePropertyNameOrValue=function(t,e){return t.unicodeProperties.binary.test(e)?1:t.switchV&&t.unicodeProperties.binaryOfStrings.test(e)?2:void t.raise("Invalid property name")},Yr.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";ti(e=t.current());)t.lastStringValue+=Ye(e),t.advance();return""!==t.lastStringValue},Yr.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";ei(e=t.current());)t.lastStringValue+=Ye(e),t.advance();return""!==t.lastStringValue},Yr.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},Yr.regexp_eatCharacterClass=function(t){if(t.eat(91)){var e=t.eat(94),r=this.regexp_classContents(t);return t.eat(93)||t.raise("Unterminated character class"),e&&2===r&&t.raise("Negated character class may contain strings"),!0}return!1},Yr.regexp_classContents=function(t){return 93===t.current()?1:t.switchV?this.regexp_classSetExpression(t):(this.regexp_nonEmptyClassRanges(t),1)},Yr.regexp_nonEmptyClassRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var r=t.lastIntValue;!t.switchU||-1!==e&&-1!==r||t.raise("Invalid character class"),-1!==e&&-1!==r&&e>r&&t.raise("Range out of order in character class")}}},Yr.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var r=t.current();(99===r||si(r))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var i=t.current();return 93!==i&&(t.lastIntValue=i,t.advance(),!0)},Yr.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},Yr.regexp_classSetExpression=function(t){var e,r=1;if(this.regexp_eatClassSetRange(t));else if(e=this.regexp_eatClassSetOperand(t)){2===e&&(r=2);for(var i=t.pos;t.eatChars([38,38]);)38!==t.current()&&(e=this.regexp_eatClassSetOperand(t))?2!==e&&(r=1):t.raise("Invalid character in character class");if(i!==t.pos)return r;for(;t.eatChars([45,45]);)this.regexp_eatClassSetOperand(t)||t.raise("Invalid character in character class");if(i!==t.pos)return r}else t.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(t)){if(!(e=this.regexp_eatClassSetOperand(t)))return r;2===e&&(r=2)}},Yr.regexp_eatClassSetRange=function(t){var e=t.pos;if(this.regexp_eatClassSetCharacter(t)){var r=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassSetCharacter(t)){var i=t.lastIntValue;return-1!==r&&-1!==i&&r>i&&t.raise("Range out of order in character class"),!0}t.pos=e}return!1},Yr.regexp_eatClassSetOperand=function(t){return this.regexp_eatClassSetCharacter(t)?1:this.regexp_eatClassStringDisjunction(t)||this.regexp_eatNestedClass(t)},Yr.regexp_eatNestedClass=function(t){var e=t.pos;if(t.eat(91)){var r=t.eat(94),i=this.regexp_classContents(t);if(t.eat(93))return r&&2===i&&t.raise("Negated character class may contain strings"),i;t.pos=e}if(t.eat(92)){var n=this.regexp_eatCharacterClassEscape(t);if(n)return n;t.pos=e}return null},Yr.regexp_eatClassStringDisjunction=function(t){var e=t.pos;if(t.eatChars([92,113])){if(t.eat(123)){var r=this.regexp_classStringDisjunctionContents(t);if(t.eat(125))return r}else t.raise("Invalid escape");t.pos=e}return null},Yr.regexp_classStringDisjunctionContents=function(t){for(var e=this.regexp_classString(t);t.eat(124);)2===this.regexp_classString(t)&&(e=2);return e},Yr.regexp_classString=function(t){for(var e=0;this.regexp_eatClassSetCharacter(t);)e++;return 1===e?1:2},Yr.regexp_eatClassSetCharacter=function(t){var e=t.pos;if(t.eat(92))return!(!this.regexp_eatCharacterEscape(t)&&!this.regexp_eatClassSetReservedPunctuator(t)&&(t.eat(98)?(t.lastIntValue=8,0):(t.pos=e,1)));var r=t.current();return!(r<0||r===t.lookahead()&&function(t){return 33===t||t>=35&&t<=38||t>=42&&t<=44||46===t||t>=58&&t<=64||94===t||96===t||126===t}(r)||function(t){return 40===t||41===t||45===t||47===t||t>=91&&t<=93||t>=123&&t<=125}(r)||(t.advance(),t.lastIntValue=r,0))},Yr.regexp_eatClassSetReservedPunctuator=function(t){var e=t.current();return!!function(t){return 33===t||35===t||37===t||38===t||44===t||45===t||t>=58&&t<=62||64===t||96===t||126===t}(e)&&(t.lastIntValue=e,t.advance(),!0)},Yr.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!ri(e)&&95!==e||(t.lastIntValue=e%32,t.advance(),0))},Yr.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},Yr.regexp_eatDecimalDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;ri(r=t.current());)t.lastIntValue=10*t.lastIntValue+(r-48),t.advance();return t.pos!==e},Yr.regexp_eatHexDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;ii(r=t.current());)t.lastIntValue=16*t.lastIntValue+ni(r),t.advance();return t.pos!==e},Yr.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var r=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*r+t.lastIntValue:t.lastIntValue=8*e+r}else t.lastIntValue=e;return!0}return!1},Yr.regexp_eatOctalDigit=function(t){var e=t.current();return si(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},Yr.regexp_eatFixedHexDigits=function(t,e){var r=t.pos;t.lastIntValue=0;for(var i=0;i<e;++i){var n=t.current();if(!ii(n))return t.pos=r,!1;t.lastIntValue=16*t.lastIntValue+ni(n),t.advance()}return!0};var oi=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new Je(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},ai=sr.prototype;function ci(t){return"function"!=typeof BigInt?null:BigInt(t.replace(/_/g,""))}ai.next=function(t){!t&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new oi(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},ai.getToken=function(){return this.next(),new oi(this)},"undefined"!=typeof Symbol&&(ai[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===Pe.eof,value:e}}}}),ai.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(Pe.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},ai.readToken=function(t){return Se(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},ai.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);if(t<=55295||t>=56320)return t;var e=this.input.charCodeAt(this.pos+1);return e<=56319||e>=57344?t:(t<<10)+e-56613888},ai.skipBlockComment=function(){var t=this.options.onComment&&this.curPosition(),e=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(-1===r&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations)for(var i=void 0,n=e;(i=Me(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=i;this.options.onComment&&this.options.onComment(!0,this.input.slice(e+2,r),e,this.pos,t,this.curPosition())},ai.skipLineComment=function(t){for(var e=this.pos,r=this.options.onComment&&this.curPosition(),i=this.input.charCodeAt(this.pos+=t);this.pos<this.input.length&&!Ue(i);)i=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(e+t,this.pos),e,this.pos,r,this.curPosition())},ai.skipSpace=function(){t:for(;this.pos<this.input.length;){var t=this.input.charCodeAt(this.pos);switch(t){case 32:case 160:++this.pos;break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(!(t>8&&t<14||t>=5760&&Fe.test(String.fromCharCode(t))))break t;++this.pos}}},ai.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=t,this.value=e,this.updateContext(r)},ai.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(Pe.ellipsis)):(++this.pos,this.finishToken(Pe.dot))},ai.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(Pe.assign,2):this.finishOp(Pe.slash,1)},ai.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),r=1,i=42===t?Pe.star:Pe.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++r,i=Pe.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(Pe.assign,r+1):this.finishOp(i,r)},ai.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?this.options.ecmaVersion>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(Pe.assign,3):this.finishOp(124===t?Pe.logicalOR:Pe.logicalAND,2):61===e?this.finishOp(Pe.assign,2):this.finishOp(124===t?Pe.bitwiseOR:Pe.bitwiseAND,1)},ai.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(Pe.assign,2):this.finishOp(Pe.bitwiseXOR,1)},ai.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!De.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(Pe.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(Pe.assign,2):this.finishOp(Pe.plusMin,1)},ai.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),r=1;return e===t?(r=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+r)?this.finishOp(Pe.assign,r+1):this.finishOp(Pe.bitShift,r)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(r=2),this.finishOp(Pe.relational,r)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},ai.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(Pe.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(Pe.arrow)):this.finishOp(61===t?Pe.eq:Pe.prefix,1)},ai.readToken_question=function(){var t=this.options.ecmaVersion;if(t>=11){var e=this.input.charCodeAt(this.pos+1);if(46===e){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(Pe.questionDot,2)}if(63===e)return t>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(Pe.assign,3):this.finishOp(Pe.coalesce,2)}return this.finishOp(Pe.question,1)},ai.readToken_numberSign=function(){var t=35;if(this.options.ecmaVersion>=13&&(++this.pos,Se(t=this.fullCharCodeAtPos(),!0)||92===t))return this.finishToken(Pe.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Ye(t)+"'")},ai.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(Pe.parenL);case 41:return++this.pos,this.finishToken(Pe.parenR);case 59:return++this.pos,this.finishToken(Pe.semi);case 44:return++this.pos,this.finishToken(Pe.comma);case 91:return++this.pos,this.finishToken(Pe.bracketL);case 93:return++this.pos,this.finishToken(Pe.bracketR);case 123:return++this.pos,this.finishToken(Pe.braceL);case 125:return++this.pos,this.finishToken(Pe.braceR);case 58:return++this.pos,this.finishToken(Pe.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(Pe.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 63:return this.readToken_question();case 126:return this.finishOp(Pe.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Ye(t)+"'")},ai.finishOp=function(t,e){var r=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,r)},ai.readRegexp=function(){for(var t,e,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var i=this.input.charAt(this.pos);if(De.test(i)&&this.raise(r,"Unterminated regular expression"),t)t=!1;else{if("["===i)e=!0;else if("]"===i&&e)e=!1;else if("/"===i&&!e)break;t="\\"===i}++this.pos}var n=this.input.slice(r,this.pos);++this.pos;var s=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(s);var a=this.regexpState||(this.regexpState=new Xr(this));a.reset(r,n,o),this.validateRegExpFlags(a),this.validateRegExpPattern(a);var c=null;try{c=new RegExp(n,o)}catch(t){}return this.finishToken(Pe.regexp,{pattern:n,flags:o,value:c})},ai.readInt=function(t,e,r){for(var i=this.options.ecmaVersion>=12&&void 0===e,n=r&&48===this.input.charCodeAt(this.pos),s=this.pos,o=0,a=0,c=0,l=null==e?1/0:e;c<l;++c,++this.pos){var h=this.input.charCodeAt(this.pos),u=void 0;if(i&&95===h)n&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),95===a&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),0===c&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),a=h;else{if((u=h>=97?h-97+10:h>=65?h-65+10:h>=48&&h<=57?h-48:1/0)>=t)break;a=h,o=o*t+u}}return i&&95===a&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===s||null!=e&&this.pos-s!==e?null:o},ai.readRadixNumber=function(t){var e=this.pos;this.pos+=2;var r=this.readInt(t);return null==r&&this.raise(this.start+2,"Expected number in radix "+t),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(r=ci(this.input.slice(e,this.pos)),++this.pos):Se(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Pe.num,r)},ai.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10,void 0,!0)||this.raise(e,"Invalid number");var r=this.pos-e>=2&&48===this.input.charCodeAt(e);r&&this.strict&&this.raise(e,"Invalid number");var i=this.input.charCodeAt(this.pos);if(!r&&!t&&this.options.ecmaVersion>=11&&110===i){var n=ci(this.input.slice(e,this.pos));return++this.pos,Se(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Pe.num,n)}r&&/[89]/.test(this.input.slice(e,this.pos))&&(r=!1),46!==i||r||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||r||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),Se(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var s=function(t,e){return e?parseInt(t,8):parseFloat(t.replace(/_/g,""))}(this.input.slice(e,this.pos),r);return this.finishToken(Pe.num,s)},ai.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},ai.readString=function(t){for(var e="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var i=this.input.charCodeAt(this.pos);if(i===t)break;92===i?(e+=this.input.slice(r,this.pos),e+=this.readEscapedChar(!1),r=this.pos):8232===i||8233===i?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(Ue(i)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(r,this.pos++),this.finishToken(Pe.string,e)};var li={};ai.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==li)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},ai.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw li;this.raise(t,e)},ai.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==Pe.template&&this.type!==Pe.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(Pe.template,t)):36===r?(this.pos+=2,this.finishToken(Pe.dollarBraceL)):(++this.pos,this.finishToken(Pe.backQuote));if(92===r)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(Ue(r)){switch(t+=this.input.slice(e,this.pos),++this.pos,r){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(r)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},ai.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case"\\":++this.pos;break;case"$":if("{"!==this.input[this.pos+1])break;case"`":return this.finishToken(Pe.invalidTemplate,this.input.slice(this.start,this.pos));case"\r":"\n"===this.input[this.pos+1]&&++this.pos;case"\n":case"\u2028":case"\u2029":++this.curLine,this.lineStart=this.pos+1}this.raise(this.start,"Unterminated template")},ai.readEscapedChar=function(t){var e=this.input.charCodeAt(++this.pos);switch(++this.pos,e){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return Ye(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,"Invalid escape sequence"),t){var r=this.pos-1;this.invalidStringToken(r,"Invalid escape sequence in template string")}default:if(e>=48&&e<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(i,8);return n>255&&(i=i.slice(0,-1),n=parseInt(i,8)),this.pos+=i.length-1,e=this.input.charCodeAt(this.pos),"0"===i&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-i.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return Ue(e)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),""):String.fromCharCode(e)}},ai.readHexChar=function(t){var e=this.pos,r=this.readInt(16,t);return null===r&&this.invalidStringToken(e,"Bad character escape sequence"),r},ai.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,r=this.pos,i=this.options.ecmaVersion>=6;this.pos<this.input.length;){var n=this.fullCharCodeAtPos();if(Te(n,i))this.pos+=n<=65535?1:2;else{if(92!==n)break;this.containsEsc=!0,t+=this.input.slice(r,this.pos);var s=this.pos;117!==this.input.charCodeAt(++this.pos)&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var o=this.readCodePoint();(e?Se:Te)(o,i)||this.invalidStringToken(s,"Invalid Unicode escape"),t+=Ye(o),r=this.pos}e=!1}return t+this.input.slice(r,this.pos)},ai.readWord=function(){var t=this.readWord1(),e=Pe.name;return this.keywords.test(t)&&(e=Be[t]),this.finishToken(e,t)},sr.acorn={Parser:sr,version:"8.15.0",defaultOptions:$e,Position:Xe,SourceLocation:Je,getLineInfo:Ze,Node:Rr,TokenType:Ce,tokTypes:Pe,keywordTypes:Be,TokContext:Ar,tokContexts:br,isIdentifierChar:Te,isIdentifierStart:Se,Token:oi,isNewLine:Ue,lineBreak:De,lineBreakG:Le,nonASCIIwhitespace:Fe};const hi=/^\s*?import\s*?[{"'*]/,ui=/^\s*?export\s*?({([\s\w,$\n]+?)}[\s;]*|default|class)\s+/m,pi=/(^|;)\s*?(?:im|ex)port(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s])(?:.*?)['"\s]/,di=/((?:im|ex)port(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s]))((?:https?|[./]).*?)(['"\s])/,fi=["window","globalThis","self","document","location","top","parent","frames","opener"],gi=["globalThis","self","location"],mi=fi.map(t=>`(?:^|[^$.])\\b${t}\\b(?:$|[^$])`).join("|"),yi=new RegExp(`(${mi})`),wi=(()=>{const t="_____WB$wombat$check$this$function_____(this)",e="WB_wombat_runEval2((_______eval_arg, isGlobal) => { var ge = eval; return isGlobal ? ge(_______eval_arg) : eval(_______eval_arg); }).eval(this, (function() { return arguments })(),";function r(){return(e,r,i,n)=>function(t,e){let r=t.lastIndexOf('"',e);return r<0&&(r=t.indexOf('"',e)),r>0&&"\\"===t[r-1]}(n,i)?e:e.replace("this",t)}function i(t,e){return r=>r.replace(t,e)}return[[/(?<!static|function|})(?:^|\s)\beval\s*\(/,(n=e,t=>{const e=t.indexOf("eval");return 0===e?n:t.slice(0,e)+n})],[/\([\w]+,\s*eval\)\(/,()=>" "+e],[/[=]\s*\beval\b(?![(:.$])/,i("eval","self.eval")],[/var\s+self/,i("var","let")],[/\.postMessage\b\(/,t=>".__WB_pmw(self)"+t],[/(?:^|[^$.+*/%^-])\s?\blocation\b\s*[=]\s*(?![\s\d=>])/,(t,e,r,i)=>{if(r>0){const e=i[r-1];if("."===e||"$"===e)return t}return t+function(t,e,r,i){return void 0===e.isStrict&&(e.isStrict=i.slice(0,r).indexOf("class ")>=0),e.isStrict?t.replace("arguments","[]"):t}("((self.__WB_check_loc && self.__WB_check_loc(location, arguments)) || {}).maybeHref = ",e,r,i)}],[/\breturn\s+this\b\s*(?![\s\w.$])/,r()],[new RegExp(`[^$.]\\s?\\bthis\\b(?=(?:\\.(?:${fi.join("|")})\\b))`),(e,r,i,n)=>{const s=n[i];return"\n"===s?e.replace("this",";"+t):"."!==s&&"$"!==s?e.replace("this",t):e}],[/[=,]\s*\bthis\b\s*(?![\s\w:.$])/,r()],[/\}(?:\s*\))?\s*\(this\)/,r()],[/[^|&][|&]{2}\s*this\b\s*(?![|\s&.$](?:[^|&]|$))/,r()],[/async\s+import\s*\(/,t=>t],[/[^$.]\bimport\s*\([^)]*\)\s*\{/,t=>t],[/[^$.]\bimport\s*\(/,(t,e)=>{let r=t.replace("import","____wb_rewrite_import__");return r+=e.isModule?"import.meta.url, ":"null, ",r}]];var n})(),Ai=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),bi="�";var Ei;!function(t){t[t.EOF=-1]="EOF",t[t.NULL=0]="NULL",t[t.TABULATION=9]="TABULATION",t[t.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",t[t.LINE_FEED=10]="LINE_FEED",t[t.FORM_FEED=12]="FORM_FEED",t[t.SPACE=32]="SPACE",t[t.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",t[t.QUOTATION_MARK=34]="QUOTATION_MARK",t[t.NUMBER_SIGN=35]="NUMBER_SIGN",t[t.AMPERSAND=38]="AMPERSAND",t[t.APOSTROPHE=39]="APOSTROPHE",t[t.HYPHEN_MINUS=45]="HYPHEN_MINUS",t[t.SOLIDUS=47]="SOLIDUS",t[t.DIGIT_0=48]="DIGIT_0",t[t.DIGIT_9=57]="DIGIT_9",t[t.SEMICOLON=59]="SEMICOLON",t[t.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",t[t.EQUALS_SIGN=61]="EQUALS_SIGN",t[t.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",t[t.QUESTION_MARK=63]="QUESTION_MARK",t[t.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",t[t.LATIN_CAPITAL_F=70]="LATIN_CAPITAL_F",t[t.LATIN_CAPITAL_X=88]="LATIN_CAPITAL_X",t[t.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",t[t.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",t[t.GRAVE_ACCENT=96]="GRAVE_ACCENT",t[t.LATIN_SMALL_A=97]="LATIN_SMALL_A",t[t.LATIN_SMALL_F=102]="LATIN_SMALL_F",t[t.LATIN_SMALL_X=120]="LATIN_SMALL_X",t[t.LATIN_SMALL_Z=122]="LATIN_SMALL_Z",t[t.REPLACEMENT_CHARACTER=65533]="REPLACEMENT_CHARACTER"}(Ei=Ei||(Ei={}));const vi="--",_i="[CDATA[",xi="doctype",Ii="script",Si="public",Ti="system";function Ci(t){return t>=55296&&t<=57343}function Ri(t){return 32!==t&&10!==t&&13!==t&&9!==t&&12!==t&&t>=1&&t<=31||t>=127&&t<=159}function ki(t){return t>=64976&&t<=65007||Ai.has(t)}var Ni,Oi;!function(t){t.controlCharacterInInputStream="control-character-in-input-stream",t.noncharacterInInputStream="noncharacter-in-input-stream",t.surrogateInInputStream="surrogate-in-input-stream",t.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",t.endTagWithAttributes="end-tag-with-attributes",t.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",t.unexpectedSolidusInTag="unexpected-solidus-in-tag",t.unexpectedNullCharacter="unexpected-null-character",t.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",t.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",t.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",t.missingEndTagName="missing-end-tag-name",t.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",t.unknownNamedCharacterReference="unknown-named-character-reference",t.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",t.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",t.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",t.eofBeforeTagName="eof-before-tag-name",t.eofInTag="eof-in-tag",t.missingAttributeValue="missing-attribute-value",t.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",t.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",t.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",t.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",t.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",t.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",t.missingDoctypePublicIdentifier="missing-doctype-public-identifier",t.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",t.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",t.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",t.cdataInHtmlContent="cdata-in-html-content",t.incorrectlyOpenedComment="incorrectly-opened-comment",t.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",t.eofInDoctype="eof-in-doctype",t.nestedComment="nested-comment",t.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",t.eofInComment="eof-in-comment",t.incorrectlyClosedComment="incorrectly-closed-comment",t.eofInCdata="eof-in-cdata",t.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",t.nullCharacterReference="null-character-reference",t.surrogateCharacterReference="surrogate-character-reference",t.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",t.controlCharacterReference="control-character-reference",t.noncharacterCharacterReference="noncharacter-character-reference",t.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",t.missingDoctypeName="missing-doctype-name",t.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",t.duplicateAttribute="duplicate-attribute",t.nonConformingDoctype="non-conforming-doctype",t.missingDoctype="missing-doctype",t.misplacedDoctype="misplaced-doctype",t.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",t.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",t.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",t.openElementsLeftAfterEof="open-elements-left-after-eof",t.abandonedHeadElementChild="abandoned-head-element-child",t.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",t.nestedNoscriptInHead="nested-noscript-in-head",t.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"}(Ni=Ni||(Ni={}));class Bi{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t){const{line:e,col:r,offset:i}=this;return{code:t,startLine:e,endLine:e,startCol:r,endCol:r,startOffset:i,endOffset:i}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){const e=this.html.charCodeAt(this.pos+1);if(function(t){return t>=56320&&t<=57343}(e))return this.pos++,this._addGap(),1024*(t-55296)+9216+e}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,Ei.EOF;return this._err(Ni.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,e){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=e}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,e){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(e)return this.html.startsWith(t,this.pos);for(let e=0;e<t.length;e++)if((32|this.html.charCodeAt(this.pos+e))!==t.charCodeAt(e))return!1;return!0}peek(t){const e=this.pos+t;if(e>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Ei.EOF;const r=this.html.charCodeAt(e);return r===Ei.CARRIAGE_RETURN?Ei.LINE_FEED:r}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Ei.EOF;let t=this.html.charCodeAt(this.pos);return t===Ei.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,Ei.LINE_FEED):t===Ei.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,Ci(t)&&(t=this._processSurrogate(t)),null===this.handler.onParseError||t>31&&t<127||t===Ei.LINE_FEED||t===Ei.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){Ri(t)?this._err(Ni.controlCharacterInInputStream):ki(t)&&this._err(Ni.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.pos<this.lastGapPos;)this.lastGapPos=this.gapStack.pop(),this.pos--;this.isEol=!1}}!function(t){t[t.CHARACTER=0]="CHARACTER",t[t.NULL_CHARACTER=1]="NULL_CHARACTER",t[t.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",t[t.START_TAG=3]="START_TAG",t[t.END_TAG=4]="END_TAG",t[t.COMMENT=5]="COMMENT",t[t.DOCTYPE=6]="DOCTYPE",t[t.EOF=7]="EOF",t[t.HIBERNATION=8]="HIBERNATION"}(Oi=Oi||(Oi={}));const Pi=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(t=>t.charCodeAt(0))),Di=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(t=>t.charCodeAt(0)));var Li;const Ui=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Mi=null!==(Li=String.fromCodePoint)&&void 0!==Li?Li:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+=String.fromCharCode(t),e};function Fi(t){return Mi(function(t){var e;return t>=55296&&t<=57343||t>1114111?65533:null!==(e=Ui.get(t))&&void 0!==e?e:t}(t))}var Hi,ji,zi,Vi,Gi,qi,Yi;function Wi(t){return function(e,r){let i="",n=0,s=0;for(;(s=e.indexOf("&",s))>=0;){if(i+=e.slice(n,s),n=s,s+=1,e.charCodeAt(s)===Hi.NUM){let t=s+1,o=10,a=e.charCodeAt(t);(a|Hi.To_LOWER_BIT)===Hi.LOWER_X&&(o=16,s+=1,t+=1);do{a=e.charCodeAt(++s)}while(a>=Hi.ZERO&&a<=Hi.NINE||16===o&&(a|Hi.To_LOWER_BIT)>=Hi.LOWER_A&&(a|Hi.To_LOWER_BIT)<=Hi.LOWER_F);if(t!==s){const a=e.substring(t,s),c=parseInt(a,o);if(e.charCodeAt(s)===Hi.SEMI)s+=1;else if(r)continue;i+=Fi(c),n=s}continue}let o=0,a=1,c=0,l=t[c];for(;s<e.length&&(c=Qi(t,l,c+1,e.charCodeAt(s)),!(c<0));s++,a++){l=t[c];const i=l&ji.VALUE_LENGTH;if(i){r&&e.charCodeAt(s)!==Hi.SEMI||(o=c,a=0);const t=(i>>14)-1;if(0===t)break;c+=t}}if(0!==o){const e=(t[o]&ji.VALUE_LENGTH)>>14;i+=1===e?String.fromCharCode(t[o]&~ji.VALUE_LENGTH):2===e?String.fromCharCode(t[o+1]):String.fromCharCode(t[o+1],t[o+2]),n=s-a+1}}return i+e.slice(n)}}function Qi(t,e,r,i){const n=(e&ji.BRANCH_LENGTH)>>7,s=e&ji.JUMP_TABLE;if(0===n)return 0!==s&&i===s?r:-1;if(s){const e=i-s;return e<0||e>=n?-1:t[r+e]-1}let o=r,a=o+n-1;for(;o<=a;){const e=o+a>>>1,r=t[e];if(r<i)o=e+1;else{if(!(r>i))return t[e+n];a=e-1}}return-1}!function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.To_LOWER_BIT=32]="To_LOWER_BIT"}(Hi||(Hi={})),function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"}(ji||(ji={})),Wi(Pi),Wi(Di),function(t){t.HTML="http://www.w3.org/1999/xhtml",t.MATHML="http://www.w3.org/1998/Math/MathML",t.SVG="http://www.w3.org/2000/svg",t.XLINK="http://www.w3.org/1999/xlink",t.XML="http://www.w3.org/XML/1998/namespace",t.XMLNS="http://www.w3.org/2000/xmlns/"}(zi=zi||(zi={})),function(t){t.TYPE="type",t.ACTION="action",t.ENCODING="encoding",t.PROMPT="prompt",t.NAME="name",t.COLOR="color",t.FACE="face",t.SIZE="size"}(Vi=Vi||(Vi={})),function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"}(Gi=Gi||(Gi={})),function(t){t.A="a",t.ADDRESS="address",t.ANNOTATION_XML="annotation-xml",t.APPLET="applet",t.AREA="area",t.ARTICLE="article",t.ASIDE="aside",t.B="b",t.BASE="base",t.BASEFONT="basefont",t.BGSOUND="bgsound",t.BIG="big",t.BLOCKQUOTE="blockquote",t.BODY="body",t.BR="br",t.BUTTON="button",t.CAPTION="caption",t.CENTER="center",t.CODE="code",t.COL="col",t.COLGROUP="colgroup",t.DD="dd",t.DESC="desc",t.DETAILS="details",t.DIALOG="dialog",t.DIR="dir",t.DIV="div",t.DL="dl",t.DT="dt",t.EM="em",t.EMBED="embed",t.FIELDSET="fieldset",t.FIGCAPTION="figcaption",t.FIGURE="figure",t.FONT="font",t.FOOTER="footer",t.FOREIGN_OBJECT="foreignObject",t.FORM="form",t.FRAME="frame",t.FRAMESET="frameset",t.H1="h1",t.H2="h2",t.H3="h3",t.H4="h4",t.H5="h5",t.H6="h6",t.HEAD="head",t.HEADER="header",t.HGROUP="hgroup",t.HR="hr",t.HTML="html",t.I="i",t.IMG="img",t.IMAGE="image",t.INPUT="input",t.IFRAME="iframe",t.KEYGEN="keygen",t.LABEL="label",t.LI="li",t.LINK="link",t.LISTING="listing",t.MAIN="main",t.MALIGNMARK="malignmark",t.MARQUEE="marquee",t.MATH="math",t.MENU="menu",t.META="meta",t.MGLYPH="mglyph",t.MI="mi",t.MO="mo",t.MN="mn",t.MS="ms",t.MTEXT="mtext",t.NAV="nav",t.NOBR="nobr",t.NOFRAMES="noframes",t.NOEMBED="noembed",t.NOSCRIPT="noscript",t.OBJECT="object",t.OL="ol",t.OPTGROUP="optgroup",t.OPTION="option",t.P="p",t.PARAM="param",t.PLAINTEXT="plaintext",t.PRE="pre",t.RB="rb",t.RP="rp",t.RT="rt",t.RTC="rtc",t.RUBY="ruby",t.S="s",t.SCRIPT="script",t.SECTION="section",t.SELECT="select",t.SOURCE="source",t.SMALL="small",t.SPAN="span",t.STRIKE="strike",t.STRONG="strong",t.STYLE="style",t.SUB="sub",t.SUMMARY="summary",t.SUP="sup",t.TABLE="table",t.TBODY="tbody",t.TEMPLATE="template",t.TEXTAREA="textarea",t.TFOOT="tfoot",t.TD="td",t.TH="th",t.THEAD="thead",t.TITLE="title",t.TR="tr",t.TRACK="track",t.TT="tt",t.U="u",t.UL="ul",t.SVG="svg",t.VAR="var",t.WBR="wbr",t.XMP="xmp"}(qi=qi||(qi={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A=1]="A",t[t.ADDRESS=2]="ADDRESS",t[t.ANNOTATION_XML=3]="ANNOTATION_XML",t[t.APPLET=4]="APPLET",t[t.AREA=5]="AREA",t[t.ARTICLE=6]="ARTICLE",t[t.ASIDE=7]="ASIDE",t[t.B=8]="B",t[t.BASE=9]="BASE",t[t.BASEFONT=10]="BASEFONT",t[t.BGSOUND=11]="BGSOUND",t[t.BIG=12]="BIG",t[t.BLOCKQUOTE=13]="BLOCKQUOTE",t[t.BODY=14]="BODY",t[t.BR=15]="BR",t[t.BUTTON=16]="BUTTON",t[t.CAPTION=17]="CAPTION",t[t.CENTER=18]="CENTER",t[t.CODE=19]="CODE",t[t.COL=20]="COL",t[t.COLGROUP=21]="COLGROUP",t[t.DD=22]="DD",t[t.DESC=23]="DESC",t[t.DETAILS=24]="DETAILS",t[t.DIALOG=25]="DIALOG",t[t.DIR=26]="DIR",t[t.DIV=27]="DIV",t[t.DL=28]="DL",t[t.DT=29]="DT",t[t.EM=30]="EM",t[t.EMBED=31]="EMBED",t[t.FIELDSET=32]="FIELDSET",t[t.FIGCAPTION=33]="FIGCAPTION",t[t.FIGURE=34]="FIGURE",t[t.FONT=35]="FONT",t[t.FOOTER=36]="FOOTER",t[t.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",t[t.FORM=38]="FORM",t[t.FRAME=39]="FRAME",t[t.FRAMESET=40]="FRAMESET",t[t.H1=41]="H1",t[t.H2=42]="H2",t[t.H3=43]="H3",t[t.H4=44]="H4",t[t.H5=45]="H5",t[t.H6=46]="H6",t[t.HEAD=47]="HEAD",t[t.HEADER=48]="HEADER",t[t.HGROUP=49]="HGROUP",t[t.HR=50]="HR",t[t.HTML=51]="HTML",t[t.I=52]="I",t[t.IMG=53]="IMG",t[t.IMAGE=54]="IMAGE",t[t.INPUT=55]="INPUT",t[t.IFRAME=56]="IFRAME",t[t.KEYGEN=57]="KEYGEN",t[t.LABEL=58]="LABEL",t[t.LI=59]="LI",t[t.LINK=60]="LINK",t[t.LISTING=61]="LISTING",t[t.MAIN=62]="MAIN",t[t.MALIGNMARK=63]="MALIGNMARK",t[t.MARQUEE=64]="MARQUEE",t[t.MATH=65]="MATH",t[t.MENU=66]="MENU",t[t.META=67]="META",t[t.MGLYPH=68]="MGLYPH",t[t.MI=69]="MI",t[t.MO=70]="MO",t[t.MN=71]="MN",t[t.MS=72]="MS",t[t.MTEXT=73]="MTEXT",t[t.NAV=74]="NAV",t[t.NOBR=75]="NOBR",t[t.NOFRAMES=76]="NOFRAMES",t[t.NOEMBED=77]="NOEMBED",t[t.NOSCRIPT=78]="NOSCRIPT",t[t.OBJECT=79]="OBJECT",t[t.OL=80]="OL",t[t.OPTGROUP=81]="OPTGROUP",t[t.OPTION=82]="OPTION",t[t.P=83]="P",t[t.PARAM=84]="PARAM",t[t.PLAINTEXT=85]="PLAINTEXT",t[t.PRE=86]="PRE",t[t.RB=87]="RB",t[t.RP=88]="RP",t[t.RT=89]="RT",t[t.RTC=90]="RTC",t[t.RUBY=91]="RUBY",t[t.S=92]="S",t[t.SCRIPT=93]="SCRIPT",t[t.SECTION=94]="SECTION",t[t.SELECT=95]="SELECT",t[t.SOURCE=96]="SOURCE",t[t.SMALL=97]="SMALL",t[t.SPAN=98]="SPAN",t[t.STRIKE=99]="STRIKE",t[t.STRONG=100]="STRONG",t[t.STYLE=101]="STYLE",t[t.SUB=102]="SUB",t[t.SUMMARY=103]="SUMMARY",t[t.SUP=104]="SUP",t[t.TABLE=105]="TABLE",t[t.TBODY=106]="TBODY",t[t.TEMPLATE=107]="TEMPLATE",t[t.TEXTAREA=108]="TEXTAREA",t[t.TFOOT=109]="TFOOT",t[t.TD=110]="TD",t[t.TH=111]="TH",t[t.THEAD=112]="THEAD",t[t.TITLE=113]="TITLE",t[t.TR=114]="TR",t[t.TRACK=115]="TRACK",t[t.TT=116]="TT",t[t.U=117]="U",t[t.UL=118]="UL",t[t.SVG=119]="SVG",t[t.VAR=120]="VAR",t[t.WBR=121]="WBR",t[t.XMP=122]="XMP"}(Yi=Yi||(Yi={}));const Ki=new Map([[qi.A,Yi.A],[qi.ADDRESS,Yi.ADDRESS],[qi.ANNOTATION_XML,Yi.ANNOTATION_XML],[qi.APPLET,Yi.APPLET],[qi.AREA,Yi.AREA],[qi.ARTICLE,Yi.ARTICLE],[qi.ASIDE,Yi.ASIDE],[qi.B,Yi.B],[qi.BASE,Yi.BASE],[qi.BASEFONT,Yi.BASEFONT],[qi.BGSOUND,Yi.BGSOUND],[qi.BIG,Yi.BIG],[qi.BLOCKQUOTE,Yi.BLOCKQUOTE],[qi.BODY,Yi.BODY],[qi.BR,Yi.BR],[qi.BUTTON,Yi.BUTTON],[qi.CAPTION,Yi.CAPTION],[qi.CENTER,Yi.CENTER],[qi.CODE,Yi.CODE],[qi.COL,Yi.COL],[qi.COLGROUP,Yi.COLGROUP],[qi.DD,Yi.DD],[qi.DESC,Yi.DESC],[qi.DETAILS,Yi.DETAILS],[qi.DIALOG,Yi.DIALOG],[qi.DIR,Yi.DIR],[qi.DIV,Yi.DIV],[qi.DL,Yi.DL],[qi.DT,Yi.DT],[qi.EM,Yi.EM],[qi.EMBED,Yi.EMBED],[qi.FIELDSET,Yi.FIELDSET],[qi.FIGCAPTION,Yi.FIGCAPTION],[qi.FIGURE,Yi.FIGURE],[qi.FONT,Yi.FONT],[qi.FOOTER,Yi.FOOTER],[qi.FOREIGN_OBJECT,Yi.FOREIGN_OBJECT],[qi.FORM,Yi.FORM],[qi.FRAME,Yi.FRAME],[qi.FRAMESET,Yi.FRAMESET],[qi.H1,Yi.H1],[qi.H2,Yi.H2],[qi.H3,Yi.H3],[qi.H4,Yi.H4],[qi.H5,Yi.H5],[qi.H6,Yi.H6],[qi.HEAD,Yi.HEAD],[qi.HEADER,Yi.HEADER],[qi.HGROUP,Yi.HGROUP],[qi.HR,Yi.HR],[qi.HTML,Yi.HTML],[qi.I,Yi.I],[qi.IMG,Yi.IMG],[qi.IMAGE,Yi.IMAGE],[qi.INPUT,Yi.INPUT],[qi.IFRAME,Yi.IFRAME],[qi.KEYGEN,Yi.KEYGEN],[qi.LABEL,Yi.LABEL],[qi.LI,Yi.LI],[qi.LINK,Yi.LINK],[qi.LISTING,Yi.LISTING],[qi.MAIN,Yi.MAIN],[qi.MALIGNMARK,Yi.MALIGNMARK],[qi.MARQUEE,Yi.MARQUEE],[qi.MATH,Yi.MATH],[qi.MENU,Yi.MENU],[qi.META,Yi.META],[qi.MGLYPH,Yi.MGLYPH],[qi.MI,Yi.MI],[qi.MO,Yi.MO],[qi.MN,Yi.MN],[qi.MS,Yi.MS],[qi.MTEXT,Yi.MTEXT],[qi.NAV,Yi.NAV],[qi.NOBR,Yi.NOBR],[qi.NOFRAMES,Yi.NOFRAMES],[qi.NOEMBED,Yi.NOEMBED],[qi.NOSCRIPT,Yi.NOSCRIPT],[qi.OBJECT,Yi.OBJECT],[qi.OL,Yi.OL],[qi.OPTGROUP,Yi.OPTGROUP],[qi.OPTION,Yi.OPTION],[qi.P,Yi.P],[qi.PARAM,Yi.PARAM],[qi.PLAINTEXT,Yi.PLAINTEXT],[qi.PRE,Yi.PRE],[qi.RB,Yi.RB],[qi.RP,Yi.RP],[qi.RT,Yi.RT],[qi.RTC,Yi.RTC],[qi.RUBY,Yi.RUBY],[qi.S,Yi.S],[qi.SCRIPT,Yi.SCRIPT],[qi.SECTION,Yi.SECTION],[qi.SELECT,Yi.SELECT],[qi.SOURCE,Yi.SOURCE],[qi.SMALL,Yi.SMALL],[qi.SPAN,Yi.SPAN],[qi.STRIKE,Yi.STRIKE],[qi.STRONG,Yi.STRONG],[qi.STYLE,Yi.STYLE],[qi.SUB,Yi.SUB],[qi.SUMMARY,Yi.SUMMARY],[qi.SUP,Yi.SUP],[qi.TABLE,Yi.TABLE],[qi.TBODY,Yi.TBODY],[qi.TEMPLATE,Yi.TEMPLATE],[qi.TEXTAREA,Yi.TEXTAREA],[qi.TFOOT,Yi.TFOOT],[qi.TD,Yi.TD],[qi.TH,Yi.TH],[qi.THEAD,Yi.THEAD],[qi.TITLE,Yi.TITLE],[qi.TR,Yi.TR],[qi.TRACK,Yi.TRACK],[qi.TT,Yi.TT],[qi.U,Yi.U],[qi.UL,Yi.UL],[qi.SVG,Yi.SVG],[qi.VAR,Yi.VAR],[qi.WBR,Yi.WBR],[qi.XMP,Yi.XMP]]);function Xi(t){var e;return null!==(e=Ki.get(t))&&void 0!==e?e:Yi.UNKNOWN}const Ji=Yi;zi.HTML,new Set([Ji.ADDRESS,Ji.APPLET,Ji.AREA,Ji.ARTICLE,Ji.ASIDE,Ji.BASE,Ji.BASEFONT,Ji.BGSOUND,Ji.BLOCKQUOTE,Ji.BODY,Ji.BR,Ji.BUTTON,Ji.CAPTION,Ji.CENTER,Ji.COL,Ji.COLGROUP,Ji.DD,Ji.DETAILS,Ji.DIR,Ji.DIV,Ji.DL,Ji.DT,Ji.EMBED,Ji.FIELDSET,Ji.FIGCAPTION,Ji.FIGURE,Ji.FOOTER,Ji.FORM,Ji.FRAME,Ji.FRAMESET,Ji.H1,Ji.H2,Ji.H3,Ji.H4,Ji.H5,Ji.H6,Ji.HEAD,Ji.HEADER,Ji.HGROUP,Ji.HR,Ji.HTML,Ji.IFRAME,Ji.IMG,Ji.INPUT,Ji.LI,Ji.LINK,Ji.LISTING,Ji.MAIN,Ji.MARQUEE,Ji.MENU,Ji.META,Ji.NAV,Ji.NOEMBED,Ji.NOFRAMES,Ji.NOSCRIPT,Ji.OBJECT,Ji.OL,Ji.P,Ji.PARAM,Ji.PLAINTEXT,Ji.PRE,Ji.SCRIPT,Ji.SECTION,Ji.SELECT,Ji.SOURCE,Ji.STYLE,Ji.SUMMARY,Ji.TABLE,Ji.TBODY,Ji.TD,Ji.TEMPLATE,Ji.TEXTAREA,Ji.TFOOT,Ji.TH,Ji.THEAD,Ji.TITLE,Ji.TR,Ji.TRACK,Ji.UL,Ji.WBR,Ji.XMP]),zi.MATHML,new Set([Ji.MI,Ji.MO,Ji.MN,Ji.MS,Ji.MTEXT,Ji.ANNOTATION_XML]),zi.SVG,new Set([Ji.TITLE,Ji.FOREIGN_OBJECT,Ji.DESC]),zi.XLINK,new Set,zi.XML,new Set,zi.XMLNS,new Set;const Zi=new Set([qi.STYLE,qi.SCRIPT,qi.XMP,qi.IFRAME,qi.NOEMBED,qi.NOFRAMES,qi.PLAINTEXT]),$i=new Map([[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);var tn;!function(t){t[t.DATA=0]="DATA",t[t.RCDATA=1]="RCDATA",t[t.RAWTEXT=2]="RAWTEXT",t[t.SCRIPT_DATA=3]="SCRIPT_DATA",t[t.PLAINTEXT=4]="PLAINTEXT",t[t.TAG_OPEN=5]="TAG_OPEN",t[t.END_TAG_OPEN=6]="END_TAG_OPEN",t[t.TAG_NAME=7]="TAG_NAME",t[t.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",t[t.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",t[t.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",t[t.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",t[t.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",t[t.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",t[t.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",t[t.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",t[t.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",t[t.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",t[t.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",t[t.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",t[t.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",t[t.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",t[t.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",t[t.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",t[t.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",t[t.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",t[t.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",t[t.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",t[t.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",t[t.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",t[t.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",t[t.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",t[t.BOGUS_COMMENT=40]="BOGUS_COMMENT",t[t.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",t[t.COMMENT_START=42]="COMMENT_START",t[t.COMMENT_START_DASH=43]="COMMENT_START_DASH",t[t.COMMENT=44]="COMMENT",t[t.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",t[t.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",t[t.COMMENT_END_DASH=49]="COMMENT_END_DASH",t[t.COMMENT_END=50]="COMMENT_END",t[t.COMMENT_END_BANG=51]="COMMENT_END_BANG",t[t.DOCTYPE=52]="DOCTYPE",t[t.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",t[t.DOCTYPE_NAME=54]="DOCTYPE_NAME",t[t.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",t[t.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",t[t.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",t[t.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",t[t.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",t[t.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",t[t.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",t[t.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",t[t.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",t[t.CDATA_SECTION=68]="CDATA_SECTION",t[t.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",t[t.CDATA_SECTION_END=70]="CDATA_SECTION_END",t[t.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",t[t.NAMED_CHARACTER_REFERENCE=72]="NAMED_CHARACTER_REFERENCE",t[t.AMBIGUOUS_AMPERSAND=73]="AMBIGUOUS_AMPERSAND",t[t.NUMERIC_CHARACTER_REFERENCE=74]="NUMERIC_CHARACTER_REFERENCE",t[t.HEXADEMICAL_CHARACTER_REFERENCE_START=75]="HEXADEMICAL_CHARACTER_REFERENCE_START",t[t.HEXADEMICAL_CHARACTER_REFERENCE=76]="HEXADEMICAL_CHARACTER_REFERENCE",t[t.DECIMAL_CHARACTER_REFERENCE=77]="DECIMAL_CHARACTER_REFERENCE",t[t.NUMERIC_CHARACTER_REFERENCE_END=78]="NUMERIC_CHARACTER_REFERENCE_END"}(tn||(tn={}));const en={DATA:tn.DATA,RCDATA:tn.RCDATA,RAWTEXT:tn.RAWTEXT,SCRIPT_DATA:tn.SCRIPT_DATA,PLAINTEXT:tn.PLAINTEXT,CDATA_SECTION:tn.CDATA_SECTION};function rn(t){return t>=Ei.DIGIT_0&&t<=Ei.DIGIT_9}function nn(t){return t>=Ei.LATIN_CAPITAL_A&&t<=Ei.LATIN_CAPITAL_Z}function sn(t){return function(t){return t>=Ei.LATIN_SMALL_A&&t<=Ei.LATIN_SMALL_Z}(t)||nn(t)}function on(t){return sn(t)||rn(t)}function an(t){return t>=Ei.LATIN_CAPITAL_A&&t<=Ei.LATIN_CAPITAL_F}function cn(t){return t>=Ei.LATIN_SMALL_A&&t<=Ei.LATIN_SMALL_F}function ln(t){return t+32}function hn(t){return t===Ei.SPACE||t===Ei.LINE_FEED||t===Ei.TABULATION||t===Ei.FORM_FEED}function un(t){return t===Ei.EQUALS_SIGN||on(t)}function pn(t){return hn(t)||t===Ei.SOLIDUS||t===Ei.GREATER_THAN_SIGN}class dn{constructor(t,e){this.options=t,this.handler=e,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=tn.DATA,this.returnState=tn.DATA,this.charRefCode=-1,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new Bi(e),this.currentLocation=this.getCurrentLocation(-1)}_err(t){var e,r;null===(r=(e=this.handler).onParseError)||void 0===r||r.call(e,this.preprocessor.getError(t))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,this.inLoop||(this._runParsingLoop(),this.paused||null==t||t())}write(t,e,r){this.active=!0,this.preprocessor.write(t,e),this._runParsingLoop(),this.paused||null==r||r()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return!!this.preprocessor.endOfChunkHit&&(this._unconsume(this.consumedAfterSnapshot),this.active=!1,!0)}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(t){this.consumedAfterSnapshot-=t,this.preprocessor.retreat(t)}_reconsumeInState(t,e){this.state=t,this._callState(e)}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let e=0;e<t;e++)this.preprocessor.advance()}_consumeSequenceIfMatch(t,e){return!!this.preprocessor.startsWith(t,e)&&(this._advanceBy(t.length-1),!0)}_createStartTagToken(){this.currentToken={type:Oi.START_TAG,tagName:"",tagID:Yi.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:Oi.END_TAG,tagName:"",tagID:Yi.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(t){this.currentToken={type:Oi.COMMENT,data:"",location:this.getCurrentLocation(t)}}_createDoctypeToken(t){this.currentToken={type:Oi.DOCTYPE,name:t,forceQuirks:!1,publicId:null,systemId:null,location:this.currentLocation}}_createCharacterToken(t,e){this.currentCharacterToken={type:t,chars:e,location:this.currentLocation}}_createAttr(t){this.currentAttr={name:t,value:""},this.currentLocation=this.getCurrentLocation(0)}_leaveAttrName(){var t,e;const r=this.currentToken;null===function(t,e){for(let r=t.attrs.length-1;r>=0;r--)if(t.attrs[r].name===e)return t.attrs[r].value;return null}(r,this.currentAttr.name)?(r.attrs.push(this.currentAttr),r.location&&this.currentLocation&&((null!==(t=(e=r.location).attrs)&&void 0!==t?t:e.attrs=Object.create(null))[this.currentAttr.name]=this.currentLocation,this._leaveAttrValue())):this._err(Ni.duplicateAttribute)}_leaveAttrValue(){this.currentLocation&&(this.currentLocation.endLine=this.preprocessor.line,this.currentLocation.endCol=this.preprocessor.col,this.currentLocation.endOffset=this.preprocessor.offset)}prepareToken(t){this._emitCurrentCharacterToken(t.location),this.currentToken=null,t.location&&(t.location.endLine=this.preprocessor.line,t.location.endCol=this.preprocessor.col+1,t.location.endOffset=this.preprocessor.offset+1),this.currentLocation=this.getCurrentLocation(-1)}emitCurrentTagToken(){const t=this.currentToken;this.prepareToken(t),t.tagID=Xi(t.tagName),t.type===Oi.START_TAG?(this.lastStartTagName=t.tagName,this.handler.onStartTag(t)):(t.attrs.length>0&&this._err(Ni.endTagWithAttributes),t.selfClosing&&this._err(Ni.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case Oi.CHARACTER:this.handler.onCharacter(this.currentCharacterToken);break;case Oi.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken);break;case Oi.WHITESPACE_CHARACTER:this.handler.onWhitespaceCharacter(this.currentCharacterToken)}this.currentCharacterToken=null}}_emitEOFToken(){const t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:Oi.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,e){if(this.currentCharacterToken){if(this.currentCharacterToken.type===t)return void(this.currentCharacterToken.chars+=e);this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk()}this._createCharacterToken(t,e)}_emitCodePoint(t){const e=hn(t)?Oi.WHITESPACE_CHARACTER:t===Ei.NULL?Oi.NULL_CHARACTER:Oi.CHARACTER;this._appendCharToCurrentCharacterToken(e,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(Oi.CHARACTER,t)}_matchNamedCharacterReference(t){let e=null,r=0,i=!1;for(let n=0,s=Pi[0];n>=0&&(n=Qi(Pi,s,n+1,t),!(n<0));t=this._consume()){r+=1,s=Pi[n];const o=s&ji.VALUE_LENGTH;if(o){const s=(o>>14)-1;if(t!==Ei.SEMICOLON&&this._isCharacterReferenceInAttribute()&&un(this.preprocessor.peek(1))?(e=[Ei.AMPERSAND],n+=s):(e=0===s?[Pi[n]&~ji.VALUE_LENGTH]:1===s?[Pi[++n]]:[Pi[++n],Pi[++n]],r=0,i=t!==Ei.SEMICOLON),0===s){this._consume();break}}}return this._unconsume(r),i&&!this.preprocessor.endOfChunkHit&&this._err(Ni.missingSemicolonAfterCharacterReference),this._unconsume(1),e}_isCharacterReferenceInAttribute(){return this.returnState===tn.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===tn.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===tn.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case tn.DATA:this._stateData(t);break;case tn.RCDATA:this._stateRcdata(t);break;case tn.RAWTEXT:this._stateRawtext(t);break;case tn.SCRIPT_DATA:this._stateScriptData(t);break;case tn.PLAINTEXT:this._statePlaintext(t);break;case tn.TAG_OPEN:this._stateTagOpen(t);break;case tn.END_TAG_OPEN:this._stateEndTagOpen(t);break;case tn.TAG_NAME:this._stateTagName(t);break;case tn.RCDATA_LESS_THAN_SIGN:this._stateRcdataLessThanSign(t);break;case tn.RCDATA_END_TAG_OPEN:this._stateRcdataEndTagOpen(t);break;case tn.RCDATA_END_TAG_NAME:this._stateRcdataEndTagName(t);break;case tn.RAWTEXT_LESS_THAN_SIGN:this._stateRawtextLessThanSign(t);break;case tn.RAWTEXT_END_TAG_OPEN:this._stateRawtextEndTagOpen(t);break;case tn.RAWTEXT_END_TAG_NAME:this._stateRawtextEndTagName(t);break;case tn.SCRIPT_DATA_LESS_THAN_SIGN:this._stateScriptDataLessThanSign(t);break;case tn.SCRIPT_DATA_END_TAG_OPEN:this._stateScriptDataEndTagOpen(t);break;case tn.SCRIPT_DATA_END_TAG_NAME:this._stateScriptDataEndTagName(t);break;case tn.SCRIPT_DATA_ESCAPE_START:this._stateScriptDataEscapeStart(t);break;case tn.SCRIPT_DATA_ESCAPE_START_DASH:this._stateScriptDataEscapeStartDash(t);break;case tn.SCRIPT_DATA_ESCAPED:this._stateScriptDataEscaped(t);break;case tn.SCRIPT_DATA_ESCAPED_DASH:this._stateScriptDataEscapedDash(t);break;case tn.SCRIPT_DATA_ESCAPED_DASH_DASH:this._stateScriptDataEscapedDashDash(t);break;case tn.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataEscapedLessThanSign(t);break;case tn.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:this._stateScriptDataEscapedEndTagOpen(t);break;case tn.SCRIPT_DATA_ESCAPED_END_TAG_NAME:this._stateScriptDataEscapedEndTagName(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPE_START:this._stateScriptDataDoubleEscapeStart(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:this._stateScriptDataDoubleEscapedDash(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:this._stateScriptDataDoubleEscapedDashDash(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataDoubleEscapedLessThanSign(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(t);break;case tn.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(t);break;case tn.ATTRIBUTE_NAME:this._stateAttributeName(t);break;case tn.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(t);break;case tn.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(t);break;case tn.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(t);break;case tn.ATTRIBUTE_VALUE_SINGLE_QUOTED:this._stateAttributeValueSingleQuoted(t);break;case tn.ATTRIBUTE_VALUE_UNQUOTED:this._stateAttributeValueUnquoted(t);break;case tn.AFTER_ATTRIBUTE_VALUE_QUOTED:this._stateAfterAttributeValueQuoted(t);break;case tn.SELF_CLOSING_START_TAG:this._stateSelfClosingStartTag(t);break;case tn.BOGUS_COMMENT:this._stateBogusComment(t);break;case tn.MARKUP_DECLARATION_OPEN:this._stateMarkupDeclarationOpen(t);break;case tn.COMMENT_START:this._stateCommentStart(t);break;case tn.COMMENT_START_DASH:this._stateCommentStartDash(t);break;case tn.COMMENT:this._stateComment(t);break;case tn.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(t);break;case tn.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(t);break;case tn.COMMENT_LESS_THAN_SIGN_BANG_DASH:this._stateCommentLessThanSignBangDash(t);break;case tn.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:this._stateCommentLessThanSignBangDashDash(t);break;case tn.COMMENT_END_DASH:this._stateCommentEndDash(t);break;case tn.COMMENT_END:this._stateCommentEnd(t);break;case tn.COMMENT_END_BANG:this._stateCommentEndBang(t);break;case tn.DOCTYPE:this._stateDoctype(t);break;case tn.BEFORE_DOCTYPE_NAME:this._stateBeforeDoctypeName(t);break;case tn.DOCTYPE_NAME:this._stateDoctypeName(t);break;case tn.AFTER_DOCTYPE_NAME:this._stateAfterDoctypeName(t);break;case tn.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._stateAfterDoctypePublicKeyword(t);break;case tn.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:this._stateBeforeDoctypePublicIdentifier(t);break;case tn.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypePublicIdentifierDoubleQuoted(t);break;case tn.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypePublicIdentifierSingleQuoted(t);break;case tn.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:this._stateAfterDoctypePublicIdentifier(t);break;case tn.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break;case tn.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(t);break;case tn.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:this._stateBeforeDoctypeSystemIdentifier(t);break;case tn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypeSystemIdentifierDoubleQuoted(t);break;case tn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypeSystemIdentifierSingleQuoted(t);break;case tn.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:this._stateAfterDoctypeSystemIdentifier(t);break;case tn.BOGUS_DOCTYPE:this._stateBogusDoctype(t);break;case tn.CDATA_SECTION:this._stateCdataSection(t);break;case tn.CDATA_SECTION_BRACKET:this._stateCdataSectionBracket(t);break;case tn.CDATA_SECTION_END:this._stateCdataSectionEnd(t);break;case tn.CHARACTER_REFERENCE:this._stateCharacterReference(t);break;case tn.NAMED_CHARACTER_REFERENCE:this._stateNamedCharacterReference(t);break;case tn.AMBIGUOUS_AMPERSAND:this._stateAmbiguousAmpersand(t);break;case tn.NUMERIC_CHARACTER_REFERENCE:this._stateNumericCharacterReference(t);break;case tn.HEXADEMICAL_CHARACTER_REFERENCE_START:this._stateHexademicalCharacterReferenceStart(t);break;case tn.HEXADEMICAL_CHARACTER_REFERENCE:this._stateHexademicalCharacterReference(t);break;case tn.DECIMAL_CHARACTER_REFERENCE:this._stateDecimalCharacterReference(t);break;case tn.NUMERIC_CHARACTER_REFERENCE_END:this._stateNumericCharacterReferenceEnd(t);break;default:throw new Error("Unknown state")}}_stateData(t){switch(t){case Ei.LESS_THAN_SIGN:this.state=tn.TAG_OPEN;break;case Ei.AMPERSAND:this.returnState=tn.DATA,this.state=tn.CHARACTER_REFERENCE;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitCodePoint(t);break;case Ei.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case Ei.AMPERSAND:this.returnState=tn.RCDATA,this.state=tn.CHARACTER_REFERENCE;break;case Ei.LESS_THAN_SIGN:this.state=tn.RCDATA_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case Ei.LESS_THAN_SIGN:this.state=tn.RAWTEXT_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateTagOpen(t){if(sn(t))this._createStartTagToken(),this.state=tn.TAG_NAME,this._stateTagName(t);else switch(t){case Ei.EXCLAMATION_MARK:this.state=tn.MARKUP_DECLARATION_OPEN;break;case Ei.SOLIDUS:this.state=tn.END_TAG_OPEN;break;case Ei.QUESTION_MARK:this._err(Ni.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=tn.BOGUS_COMMENT,this._stateBogusComment(t);break;case Ei.EOF:this._err(Ni.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break;default:this._err(Ni.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=tn.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(sn(t))this._createEndTagToken(),this.state=tn.TAG_NAME,this._stateTagName(t);else switch(t){case Ei.GREATER_THAN_SIGN:this._err(Ni.missingEndTagName),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break;default:this._err(Ni.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=tn.BOGUS_COMMENT,this._stateBogusComment(t)}}_stateTagName(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.BEFORE_ATTRIBUTE_NAME;break;case Ei.SOLIDUS:this.state=tn.SELF_CLOSING_START_TAG;break;case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentTagToken();break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.tagName+=bi;break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:e.tagName+=String.fromCodePoint(nn(t)?ln(t):t)}}_stateRcdataLessThanSign(t){t===Ei.SOLIDUS?this.state=tn.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=tn.RCDATA,this._stateRcdata(t))}_stateRcdataEndTagOpen(t){sn(t)?(this.state=tn.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(t)):(this._emitChars("</"),this.state=tn.RCDATA,this._stateRcdata(t))}handleSpecialEndTag(t){if(!this.preprocessor.startsWith(this.lastStartTagName,!1))return!this._ensureHibernation();switch(this._createEndTagToken(),this.currentToken.tagName=this.lastStartTagName,this.preprocessor.peek(this.lastStartTagName.length)){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=tn.BEFORE_ATTRIBUTE_NAME,!1;case Ei.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=tn.SELF_CLOSING_START_TAG,!1;case Ei.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=tn.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=tn.RCDATA,this._stateRcdata(t))}_stateRawtextLessThanSign(t){t===Ei.SOLIDUS?this.state=tn.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=tn.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagOpen(t){sn(t)?(this.state=tn.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(t)):(this._emitChars("</"),this.state=tn.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=tn.RAWTEXT,this._stateRawtext(t))}_stateScriptDataLessThanSign(t){switch(t){case Ei.SOLIDUS:this.state=tn.SCRIPT_DATA_END_TAG_OPEN;break;case Ei.EXCLAMATION_MARK:this.state=tn.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break;default:this._emitChars("<"),this.state=tn.SCRIPT_DATA,this._stateScriptData(t)}}_stateScriptDataEndTagOpen(t){sn(t)?(this.state=tn.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(t)):(this._emitChars("</"),this.state=tn.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=tn.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStart(t){t===Ei.HYPHEN_MINUS?(this.state=tn.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=tn.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStartDash(t){t===Ei.HYPHEN_MINUS?(this.state=tn.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=tn.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscaped(t){switch(t){case Ei.HYPHEN_MINUS:this.state=tn.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataEscapedDash(t){switch(t){case Ei.HYPHEN_MINUS:this.state=tn.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.state=tn.SCRIPT_DATA_ESCAPED,this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=tn.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedDashDash(t){switch(t){case Ei.HYPHEN_MINUS:this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Ei.GREATER_THAN_SIGN:this.state=tn.SCRIPT_DATA,this._emitChars(">");break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.state=tn.SCRIPT_DATA_ESCAPED,this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=tn.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===Ei.SOLIDUS?this.state=tn.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:sn(t)?(this._emitChars("<"),this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=tn.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){sn(t)?(this.state=tn.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("</"),this.state=tn.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=tn.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscapeStart(t){if(this.preprocessor.startsWith(Ii,!1)&&pn(this.preprocessor.peek(6))){this._emitCodePoint(t);for(let t=0;t<6;t++)this._emitCodePoint(this._consume());this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=tn.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscaped(t){switch(t){case Ei.HYPHEN_MINUS:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDash(t){switch(t){case Ei.HYPHEN_MINUS:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDashDash(t){switch(t){case Ei.HYPHEN_MINUS:this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Ei.GREATER_THAN_SIGN:this.state=tn.SCRIPT_DATA,this._emitChars(">");break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===Ei.SOLIDUS?(this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(Ii,!1)&&pn(this.preprocessor.peek(6))){this._emitCodePoint(t);for(let t=0;t<6;t++)this._emitCodePoint(this._consume());this.state=tn.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateBeforeAttributeName(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.SOLIDUS:case Ei.GREATER_THAN_SIGN:case Ei.EOF:this.state=tn.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Ei.EQUALS_SIGN:this._err(Ni.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=tn.ATTRIBUTE_NAME;break;default:this._createAttr(""),this.state=tn.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateAttributeName(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:case Ei.SOLIDUS:case Ei.GREATER_THAN_SIGN:case Ei.EOF:this._leaveAttrName(),this.state=tn.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Ei.EQUALS_SIGN:this._leaveAttrName(),this.state=tn.BEFORE_ATTRIBUTE_VALUE;break;case Ei.QUOTATION_MARK:case Ei.APOSTROPHE:case Ei.LESS_THAN_SIGN:this._err(Ni.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(t);break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.currentAttr.name+=bi;break;default:this.currentAttr.name+=String.fromCodePoint(nn(t)?ln(t):t)}}_stateAfterAttributeName(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.SOLIDUS:this.state=tn.SELF_CLOSING_START_TAG;break;case Ei.EQUALS_SIGN:this.state=tn.BEFORE_ATTRIBUTE_VALUE;break;case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentTagToken();break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this._createAttr(""),this.state=tn.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateBeforeAttributeValue(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.QUOTATION_MARK:this.state=tn.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:this.state=tn.ATTRIBUTE_VALUE_SINGLE_QUOTED;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.missingAttributeValue),this.state=tn.DATA,this.emitCurrentTagToken();break;default:this.state=tn.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(t)}}_stateAttributeValueDoubleQuoted(t){switch(t){case Ei.QUOTATION_MARK:this.state=tn.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Ei.AMPERSAND:this.returnState=tn.ATTRIBUTE_VALUE_DOUBLE_QUOTED,this.state=tn.CHARACTER_REFERENCE;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.currentAttr.value+=bi;break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueSingleQuoted(t){switch(t){case Ei.APOSTROPHE:this.state=tn.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Ei.AMPERSAND:this.returnState=tn.ATTRIBUTE_VALUE_SINGLE_QUOTED,this.state=tn.CHARACTER_REFERENCE;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.currentAttr.value+=bi;break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueUnquoted(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this._leaveAttrValue(),this.state=tn.BEFORE_ATTRIBUTE_NAME;break;case Ei.AMPERSAND:this.returnState=tn.ATTRIBUTE_VALUE_UNQUOTED,this.state=tn.CHARACTER_REFERENCE;break;case Ei.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=tn.DATA,this.emitCurrentTagToken();break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.currentAttr.value+=bi;break;case Ei.QUOTATION_MARK:case Ei.APOSTROPHE:case Ei.LESS_THAN_SIGN:case Ei.EQUALS_SIGN:case Ei.GRAVE_ACCENT:this._err(Ni.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(t);break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAfterAttributeValueQuoted(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this._leaveAttrValue(),this.state=tn.BEFORE_ATTRIBUTE_NAME;break;case Ei.SOLIDUS:this._leaveAttrValue(),this.state=tn.SELF_CLOSING_START_TAG;break;case Ei.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=tn.DATA,this.emitCurrentTagToken();break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this._err(Ni.missingWhitespaceBetweenAttributes),this.state=tn.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateSelfClosingStartTag(t){switch(t){case Ei.GREATER_THAN_SIGN:this.currentToken.selfClosing=!0,this.state=tn.DATA,this.emitCurrentTagToken();break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this._err(Ni.unexpectedSolidusInTag),this.state=tn.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateBogusComment(t){const e=this.currentToken;switch(t){case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentComment(e);break;case Ei.EOF:this.emitCurrentComment(e),this._emitEOFToken();break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.data+=bi;break;default:e.data+=String.fromCodePoint(t)}}_stateMarkupDeclarationOpen(t){this._consumeSequenceIfMatch(vi,!0)?(this._createCommentToken(3),this.state=tn.COMMENT_START):this._consumeSequenceIfMatch(xi,!1)?(this.currentLocation=this.getCurrentLocation(8),this.state=tn.DOCTYPE):this._consumeSequenceIfMatch(_i,!0)?this.inForeignNode?this.state=tn.CDATA_SECTION:(this._err(Ni.cdataInHtmlContent),this._createCommentToken(8),this.currentToken.data="[CDATA[",this.state=tn.BOGUS_COMMENT):this._ensureHibernation()||(this._err(Ni.incorrectlyOpenedComment),this._createCommentToken(2),this.state=tn.BOGUS_COMMENT,this._stateBogusComment(t))}_stateCommentStart(t){switch(t){case Ei.HYPHEN_MINUS:this.state=tn.COMMENT_START_DASH;break;case Ei.GREATER_THAN_SIGN:{this._err(Ni.abruptClosingOfEmptyComment),this.state=tn.DATA;const t=this.currentToken;this.emitCurrentComment(t);break}default:this.state=tn.COMMENT,this._stateComment(t)}}_stateCommentStartDash(t){const e=this.currentToken;switch(t){case Ei.HYPHEN_MINUS:this.state=tn.COMMENT_END;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.abruptClosingOfEmptyComment),this.state=tn.DATA,this.emitCurrentComment(e);break;case Ei.EOF:this._err(Ni.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=tn.COMMENT,this._stateComment(t)}}_stateComment(t){const e=this.currentToken;switch(t){case Ei.HYPHEN_MINUS:this.state=tn.COMMENT_END_DASH;break;case Ei.LESS_THAN_SIGN:e.data+="<",this.state=tn.COMMENT_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.data+=bi;break;case Ei.EOF:this._err(Ni.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+=String.fromCodePoint(t)}}_stateCommentLessThanSign(t){const e=this.currentToken;switch(t){case Ei.EXCLAMATION_MARK:e.data+="!",this.state=tn.COMMENT_LESS_THAN_SIGN_BANG;break;case Ei.LESS_THAN_SIGN:e.data+="<";break;default:this.state=tn.COMMENT,this._stateComment(t)}}_stateCommentLessThanSignBang(t){t===Ei.HYPHEN_MINUS?this.state=tn.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=tn.COMMENT,this._stateComment(t))}_stateCommentLessThanSignBangDash(t){t===Ei.HYPHEN_MINUS?this.state=tn.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=tn.COMMENT_END_DASH,this._stateCommentEndDash(t))}_stateCommentLessThanSignBangDashDash(t){t!==Ei.GREATER_THAN_SIGN&&t!==Ei.EOF&&this._err(Ni.nestedComment),this.state=tn.COMMENT_END,this._stateCommentEnd(t)}_stateCommentEndDash(t){const e=this.currentToken;switch(t){case Ei.HYPHEN_MINUS:this.state=tn.COMMENT_END;break;case Ei.EOF:this._err(Ni.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=tn.COMMENT,this._stateComment(t)}}_stateCommentEnd(t){const e=this.currentToken;switch(t){case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentComment(e);break;case Ei.EXCLAMATION_MARK:this.state=tn.COMMENT_END_BANG;break;case Ei.HYPHEN_MINUS:e.data+="-";break;case Ei.EOF:this._err(Ni.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--",this.state=tn.COMMENT,this._stateComment(t)}}_stateCommentEndBang(t){const e=this.currentToken;switch(t){case Ei.HYPHEN_MINUS:e.data+="--!",this.state=tn.COMMENT_END_DASH;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.incorrectlyClosedComment),this.state=tn.DATA,this.emitCurrentComment(e);break;case Ei.EOF:this._err(Ni.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--!",this.state=tn.COMMENT,this._stateComment(t)}}_stateDoctype(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.BEFORE_DOCTYPE_NAME;break;case Ei.GREATER_THAN_SIGN:this.state=tn.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t);break;case Ei.EOF:{this._err(Ni.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(Ni.missingWhitespaceBeforeDoctypeName),this.state=tn.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t)}}_stateBeforeDoctypeName(t){if(nn(t))this._createDoctypeToken(String.fromCharCode(ln(t))),this.state=tn.DOCTYPE_NAME;else switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._createDoctypeToken(bi),this.state=tn.DOCTYPE_NAME;break;case Ei.GREATER_THAN_SIGN:{this._err(Ni.missingDoctypeName),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=tn.DATA;break}case Ei.EOF:{this._err(Ni.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(t)),this.state=tn.DOCTYPE_NAME}}_stateDoctypeName(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.AFTER_DOCTYPE_NAME;break;case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.name+=bi;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.name+=String.fromCodePoint(nn(t)?ln(t):t)}}_stateAfterDoctypeName(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._consumeSequenceIfMatch(Si,!1)?this.state=tn.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch(Ti,!1)?this.state=tn.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(Ni.invalidCharacterSequenceAfterDoctypeName),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t))}}_stateAfterDoctypePublicKeyword(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break;case Ei.QUOTATION_MARK:this._err(Ni.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=tn.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:this._err(Ni.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=tn.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.QUOTATION_MARK:e.publicId="",this.state=tn.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:e.publicId="",this.state=tn.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypePublicIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Ei.QUOTATION_MARK:this.state=tn.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.publicId+=bi;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateDoctypePublicIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case Ei.APOSTROPHE:this.state=tn.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.publicId+=bi;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateAfterDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break;case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.QUOTATION_MARK:this._err(Ni.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:this._err(Ni.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBetweenDoctypePublicAndSystemIdentifiers(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.QUOTATION_MARK:e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateAfterDoctypeSystemKeyword(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break;case Ei.QUOTATION_MARK:this._err(Ni.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:this._err(Ni.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.QUOTATION_MARK:e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypeSystemIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Ei.QUOTATION_MARK:this.state=tn.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.systemId+=bi;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateDoctypeSystemIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case Ei.APOSTROPHE:this.state=tn.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.systemId+=bi;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateAfterDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBogusDoctype(t){const e=this.currentToken;switch(t){case Ei.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter);break;case Ei.EOF:this.emitCurrentDoctype(e),this._emitEOFToken()}}_stateCdataSection(t){switch(t){case Ei.RIGHT_SQUARE_BRACKET:this.state=tn.CDATA_SECTION_BRACKET;break;case Ei.EOF:this._err(Ni.eofInCdata),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateCdataSectionBracket(t){t===Ei.RIGHT_SQUARE_BRACKET?this.state=tn.CDATA_SECTION_END:(this._emitChars("]"),this.state=tn.CDATA_SECTION,this._stateCdataSection(t))}_stateCdataSectionEnd(t){switch(t){case Ei.GREATER_THAN_SIGN:this.state=tn.DATA;break;case Ei.RIGHT_SQUARE_BRACKET:this._emitChars("]");break;default:this._emitChars("]]"),this.state=tn.CDATA_SECTION,this._stateCdataSection(t)}}_stateCharacterReference(t){t===Ei.NUMBER_SIGN?this.state=tn.NUMERIC_CHARACTER_REFERENCE:on(t)?(this.state=tn.NAMED_CHARACTER_REFERENCE,this._stateNamedCharacterReference(t)):(this._flushCodePointConsumedAsCharacterReference(Ei.AMPERSAND),this._reconsumeInState(this.returnState,t))}_stateNamedCharacterReference(t){const e=this._matchNamedCharacterReference(t);if(this._ensureHibernation());else if(e){for(let t=0;t<e.length;t++)this._flushCodePointConsumedAsCharacterReference(e[t]);this.state=this.returnState}else this._flushCodePointConsumedAsCharacterReference(Ei.AMPERSAND),this.state=tn.AMBIGUOUS_AMPERSAND}_stateAmbiguousAmpersand(t){on(t)?this._flushCodePointConsumedAsCharacterReference(t):(t===Ei.SEMICOLON&&this._err(Ni.unknownNamedCharacterReference),this._reconsumeInState(this.returnState,t))}_stateNumericCharacterReference(t){this.charRefCode=0,t===Ei.LATIN_SMALL_X||t===Ei.LATIN_CAPITAL_X?this.state=tn.HEXADEMICAL_CHARACTER_REFERENCE_START:rn(t)?(this.state=tn.DECIMAL_CHARACTER_REFERENCE,this._stateDecimalCharacterReference(t)):(this._err(Ni.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Ei.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Ei.NUMBER_SIGN),this._reconsumeInState(this.returnState,t))}_stateHexademicalCharacterReferenceStart(t){!function(t){return rn(t)||an(t)||cn(t)}(t)?(this._err(Ni.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Ei.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Ei.NUMBER_SIGN),this._unconsume(2),this.state=this.returnState):(this.state=tn.HEXADEMICAL_CHARACTER_REFERENCE,this._stateHexademicalCharacterReference(t))}_stateHexademicalCharacterReference(t){an(t)?this.charRefCode=16*this.charRefCode+t-55:cn(t)?this.charRefCode=16*this.charRefCode+t-87:rn(t)?this.charRefCode=16*this.charRefCode+t-48:t===Ei.SEMICOLON?this.state=tn.NUMERIC_CHARACTER_REFERENCE_END:(this._err(Ni.missingSemicolonAfterCharacterReference),this.state=tn.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateDecimalCharacterReference(t){rn(t)?this.charRefCode=10*this.charRefCode+t-48:t===Ei.SEMICOLON?this.state=tn.NUMERIC_CHARACTER_REFERENCE_END:(this._err(Ni.missingSemicolonAfterCharacterReference),this.state=tn.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateNumericCharacterReferenceEnd(t){if(this.charRefCode===Ei.NULL)this._err(Ni.nullCharacterReference),this.charRefCode=Ei.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(Ni.characterReferenceOutsideUnicodeRange),this.charRefCode=Ei.REPLACEMENT_CHARACTER;else if(Ci(this.charRefCode))this._err(Ni.surrogateCharacterReference),this.charRefCode=Ei.REPLACEMENT_CHARACTER;else if(ki(this.charRefCode))this._err(Ni.noncharacterCharacterReference);else if(Ri(this.charRefCode)||this.charRefCode===Ei.CARRIAGE_RETURN){this._err(Ni.controlCharacterReference);const t=$i.get(this.charRefCode);void 0!==t&&(this.charRefCode=t)}this._flushCodePointConsumedAsCharacterReference(this.charRefCode),this._reconsumeInState(this.returnState,t)}}const fn=new Set([Yi.DD,Yi.DT,Yi.LI,Yi.OPTGROUP,Yi.OPTION,Yi.P,Yi.RB,Yi.RP,Yi.RT,Yi.RTC]);var gn;new Set([...fn,Yi.CAPTION,Yi.COLGROUP,Yi.TBODY,Yi.TD,Yi.TFOOT,Yi.TH,Yi.THEAD,Yi.TR]),new Map([[Yi.APPLET,zi.HTML],[Yi.CAPTION,zi.HTML],[Yi.HTML,zi.HTML],[Yi.MARQUEE,zi.HTML],[Yi.OBJECT,zi.HTML],[Yi.TABLE,zi.HTML],[Yi.TD,zi.HTML],[Yi.TEMPLATE,zi.HTML],[Yi.TH,zi.HTML],[Yi.ANNOTATION_XML,zi.MATHML],[Yi.MI,zi.MATHML],[Yi.MN,zi.MATHML],[Yi.MO,zi.MATHML],[Yi.MS,zi.MATHML],[Yi.MTEXT,zi.MATHML],[Yi.DESC,zi.SVG],[Yi.FOREIGN_OBJECT,zi.SVG],[Yi.TITLE,zi.SVG]]),Yi.H1,Yi.H2,Yi.H3,Yi.H4,Yi.H5,Yi.H6,Yi.TR,Yi.TEMPLATE,Yi.HTML,Yi.TBODY,Yi.TFOOT,Yi.THEAD,Yi.TEMPLATE,Yi.HTML,Yi.TABLE,Yi.TEMPLATE,Yi.HTML,Yi.TD,Yi.TH,function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"}(gn=gn||(gn={})),gn.Marker;const mn=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],yn=(new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"]),wn="text/html",An="application/xhtml+xml",bn=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t])),En=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:zi.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:zi.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:zi.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:zi.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:zi.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:zi.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:zi.XLINK}],["xml:base",{prefix:"xml",name:"base",namespace:zi.XML}],["xml:lang",{prefix:"xml",name:"lang",namespace:zi.XML}],["xml:space",{prefix:"xml",name:"space",namespace:zi.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:zi.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:zi.XMLNS}]]),vn=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),_n=new Set([Yi.B,Yi.BIG,Yi.BLOCKQUOTE,Yi.BODY,Yi.BR,Yi.CENTER,Yi.CODE,Yi.DD,Yi.DIV,Yi.DL,Yi.DT,Yi.EM,Yi.EMBED,Yi.H1,Yi.H2,Yi.H3,Yi.H4,Yi.H5,Yi.H6,Yi.HEAD,Yi.HR,Yi.I,Yi.IMG,Yi.LI,Yi.LISTING,Yi.MENU,Yi.META,Yi.NOBR,Yi.OL,Yi.P,Yi.PRE,Yi.RUBY,Yi.S,Yi.SMALL,Yi.SPAN,Yi.STRONG,Yi.STRIKE,Yi.SUB,Yi.SUP,Yi.TABLE,Yi.TT,Yi.U,Yi.UL,Yi.VAR]);function xn(t){const e=vn.get(t.tagName);null!=e&&(t.tagName=e,t.tagID=Xi(t.tagName))}function In(t,e,r,i){return(!i||i===zi.HTML)&&function(t,e,r){if(e===zi.MATHML&&t===Yi.ANNOTATION_XML)for(let t=0;t<r.length;t++)if(r[t].name===Vi.ENCODING){const e=r[t].value.toLowerCase();return e===wn||e===An}return e===zi.SVG&&(t===Yi.FOREIGN_OBJECT||t===Yi.DESC||t===Yi.TITLE)}(t,e,r)||(!i||i===zi.MATHML)&&function(t,e){return e===zi.MATHML&&(t===Yi.MI||t===Yi.MO||t===Yi.MN||t===Yi.MS||t===Yi.MTEXT)}(t,e)}var Sn;!function(t){t[t.INITIAL=0]="INITIAL",t[t.BEFORE_HTML=1]="BEFORE_HTML",t[t.BEFORE_HEAD=2]="BEFORE_HEAD",t[t.IN_HEAD=3]="IN_HEAD",t[t.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",t[t.AFTER_HEAD=5]="AFTER_HEAD",t[t.IN_BODY=6]="IN_BODY",t[t.TEXT=7]="TEXT",t[t.IN_TABLE=8]="IN_TABLE",t[t.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",t[t.IN_CAPTION=10]="IN_CAPTION",t[t.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",t[t.IN_TABLE_BODY=12]="IN_TABLE_BODY",t[t.IN_ROW=13]="IN_ROW",t[t.IN_CELL=14]="IN_CELL",t[t.IN_SELECT=15]="IN_SELECT",t[t.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",t[t.IN_TEMPLATE=17]="IN_TEMPLATE",t[t.AFTER_BODY=18]="AFTER_BODY",t[t.IN_FRAMESET=19]="IN_FRAMESET",t[t.AFTER_FRAMESET=20]="AFTER_FRAMESET",t[t.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",t[t.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"}(Sn||(Sn={})),new Set([Yi.TABLE,Yi.TBODY,Yi.TFOOT,Yi.THEAD,Yi.TR]),new Set([Yi.CAPTION,Yi.COL,Yi.COLGROUP,Yi.TBODY,Yi.TD,Yi.TFOOT,Yi.TH,Yi.THEAD,Yi.TR]);const Tn=new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]);function Cn(t,e){return function(r){let i,n=0,s="";for(;i=t.exec(r);)n!==i.index&&(s+=r.substring(n,i.index)),s+=e.get(i[0].charCodeAt(0)),n=i.index+1;return s+r.substring(n)}}String.prototype.codePointAt,Cn(/[&<>'"]/g,Tn);const Rn=Cn(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]])),kn=Cn(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]));new Set([qi.AREA,qi.BASE,qi.BASEFONT,qi.BGSOUND,qi.BR,qi.COL,qi.EMBED,qi.FRAME,qi.HR,qi.IMG,qi.INPUT,qi.KEYGEN,qi.LINK,qi.META,qi.PARAM,qi.SOURCE,qi.TRACK,qi.WBR]);var Nn=r(8310);class Bn extends Nn.Writable{_write(t,e,r){r()}}const On=Yi;class Pn{constructor(t,e){this.handler=e,this.namespaceStack=[],this.inForeignContent=!1,this.skipNextNewLine=!1,this.tokenizer=new dn(t,this),this._enterNamespace(zi.HTML)}onNullCharacter(t){this.skipNextNewLine=!1,this.inForeignContent?this.handler.onCharacter({type:Oi.CHARACTER,chars:"�",location:t.location}):this.handler.onNullCharacter(t)}onWhitespaceCharacter(t){if(this.skipNextNewLine&&10===t.chars.charCodeAt(0)){if(this.skipNextNewLine=!1,1===t.chars.length)return;t.chars=t.chars.substr(1)}this.handler.onWhitespaceCharacter(t)}onCharacter(t){this.skipNextNewLine=!1,this.handler.onCharacter(t)}onComment(t){this.skipNextNewLine=!1,this.handler.onComment(t)}onDoctype(t){this.skipNextNewLine=!1,this.handler.onDoctype(t)}onEof(t){this.skipNextNewLine=!1,this.handler.onEof(t)}_enterNamespace(t){this.namespaceStack.unshift(t),this.inForeignContent=t!==zi.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_leaveCurrentNamespace(){this.namespaceStack.shift(),this.inForeignContent=this.namespaceStack[0]!==zi.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_ensureTokenizerMode(t){switch(t){case On.TEXTAREA:case On.TITLE:this.tokenizer.state=en.RCDATA;break;case On.PLAINTEXT:this.tokenizer.state=en.PLAINTEXT;break;case On.SCRIPT:this.tokenizer.state=en.SCRIPT_DATA;break;case On.STYLE:case On.IFRAME:case On.XMP:case On.NOEMBED:case On.NOFRAMES:case On.NOSCRIPT:this.tokenizer.state=en.RAWTEXT}}onStartTag(t){let e=t.tagID;switch(e){case On.SVG:this._enterNamespace(zi.SVG);break;case On.MATH:this._enterNamespace(zi.MATHML)}if(this.inForeignContent)if(function(t){const e=t.tagID;return e===Yi.FONT&&t.attrs.some(({name:t})=>t===Vi.COLOR||t===Vi.SIZE||t===Vi.FACE)||_n.has(e)}(t))this._leaveCurrentNamespace();else{const r=this.namespaceStack[0];r===zi.MATHML?function(t){for(let e=0;e<t.attrs.length;e++)if("definitionurl"===t.attrs[e].name){t.attrs[e].name="definitionURL";break}}(t):r===zi.SVG&&(xn(t),function(t){for(let e=0;e<t.attrs.length;e++){const r=bn.get(t.attrs[e].name);null!=r&&(t.attrs[e].name=r)}}(t)),function(t){for(let e=0;e<t.attrs.length;e++){const r=En.get(t.attrs[e].name);r&&(t.attrs[e].prefix=r.prefix,t.attrs[e].name=r.name,t.attrs[e].namespace=r.namespace)}}(t),e=t.tagID,!t.selfClosing&&In(e,r,t.attrs)&&this._enterNamespace(zi.HTML)}else{switch(e){case On.PRE:case On.TEXTAREA:case On.LISTING:this.skipNextNewLine=!0;break;case On.IMAGE:t.tagName=qi.IMG,t.tagID=On.IMG}this._ensureTokenizerMode(e)}this.handler.onStartTag(t)}onEndTag(t){let e=t.tagID;if(this.inForeignContent)(e===On.SVG&&this.namespaceStack[0]===zi.SVG||e===On.MATH&&this.namespaceStack[0]===zi.MATHML)&&this._leaveCurrentNamespace();else{const r=this.namespaceStack[1];if(r===zi.SVG){const r=vn.get(t.tagName);r&&(e=Xi(r))}In(e,r,t.attrs)&&this._leaveCurrentNamespace()}this.namespaceStack[0]===zi.SVG&&xn(t),this.handler.onEndTag(t)}}class Dn extends Nn.Transform{constructor(t={}){super({encoding:"utf8",decodeStrings:!1}),this.pendingText=null,this.lastChunkWritten=!1,this.stopped=!1,this.options={sourceCodeLocationInfo:!1,...t},this.parserFeedbackSimulator=new Pn(this.options,this),this.tokenizer=this.parserFeedbackSimulator.tokenizer,this.pipe(new Bn)}_transform(t,e,r){if("string"!=typeof t)throw new TypeError("Parser can work only with string streams.");r(null,this._transformChunk(t))}_final(t){this.lastChunkWritten=!0,t(null,this._transformChunk(""))}stop(){this.stopped=!0,this.tokenizer.pause()}_transformChunk(t){return this.stopped||this.tokenizer.write(t,this.lastChunkWritten),t}onCharacter({chars:t,location:e}){if(null===this.pendingText)this.pendingText={text:t,sourceCodeLocation:e};else if(this.pendingText.text+=t,e&&this.pendingText.sourceCodeLocation){const{endLine:t,endCol:r,endOffset:i}=e;this.pendingText.sourceCodeLocation={...this.pendingText.sourceCodeLocation,endLine:t,endCol:r,endOffset:i}}this.tokenizer.preprocessor.willDropParsedChunk()&&this._emitPendingText()}onWhitespaceCharacter(t){this.onCharacter(t)}onNullCharacter(t){this.onCharacter(t)}onEof(){this._emitPendingText(),this.stopped=!0}onStartTag(t){this._emitPendingText();const e={tagName:t.tagName,attrs:t.attrs,selfClosing:t.selfClosing,sourceCodeLocation:t.location};this.emitIfListenerExists("startTag",e)}onEndTag(t){this._emitPendingText();const e={tagName:t.tagName,sourceCodeLocation:t.location};this.emitIfListenerExists("endTag",e)}onDoctype(t){this._emitPendingText();const e={name:t.name,publicId:t.publicId,systemId:t.systemId,sourceCodeLocation:t.location};this.emitIfListenerExists("doctype",e)}onComment(t){this._emitPendingText();const e={text:t.data,sourceCodeLocation:t.location};this.emitIfListenerExists("comment",e)}emitIfListenerExists(t,e){return 0!==this.listenerCount(t)&&(this._emitToken(t,e),!0)}_emitToken(t,e){this.emit(t,e)}_emitPendingText(){null!==this.pendingText&&(this.emitIfListenerExists("text",this.pendingText),this.pendingText=null)}}class Ln extends Dn{constructor(){super({sourceCodeLocationInfo:!0})}_transformChunk(t){return super._transformChunk(t),""}_getRawHtml(t){const{droppedBufferSize:e,html:r}=this.tokenizer.preprocessor,i=t.startOffset-e,n=t.endOffset-e;return r.slice(i,n)}emitIfListenerExists(t,e){return super.emitIfListenerExists(t,e)||this.emitRaw(this._getRawHtml(e.sourceCodeLocation)),this.parserFeedbackSimulator.skipNextNewLine=!1,!0}_emitToken(t,e){this.emit(t,e,this._getRawHtml(e.sourceCodeLocation))}emitDoctype(t){let e=`<!DOCTYPE ${t.name}`;null!==t.publicId?e+=` PUBLIC "${t.publicId}"`:null!==t.systemId&&(e+=" SYSTEM"),null!==t.systemId&&(e+=` "${t.systemId}"`),e+=">",this.push(e)}emitStartTag(t){let e=`<${t.tagName}`;for(const r of t.attrs)e+=` ${r.name}="${Rn(r.value)}"`;e+=t.selfClosing?"/>":">",this.push(e)}emitEndTag(t){this.push(`</${t.tagName}>`)}emitText({text:t}){var e;this.push(!this.parserFeedbackSimulator.inForeignContent&&(e=this.tokenizer.lastStartTagName,Zi.has(e)||e===qi.NOSCRIPT)?t:kn(t))}emitComment(t){this.push(`\x3c!--${t.text}--\x3e`)}emitRaw(t){this.push(t)}}const Un=new TextEncoder,Mn=new TextDecoder,Fn=/([\d.]+\s*;\s*(?:url\s*=)?\s*)['"]?(.+)['"]?(\s*)/im,Hn=["http://","https://","//"],jn="mp_",Wn=["utf-8","utf8"],Qn={a:{href:"ln_"},applet:{codebase:"oe_",archive:"oe_"},area:{href:jn},audio:{src:"oe_"},base:{href:jn},blockquote:{cite:jn},body:{background:"im_"},button:{formaction:jn},command:{icon:"im_"},del:{cite:jn},embed:{src:"oe_"},iframe:{src:"if_"},image:{src:"im_","xlink:href":"im_",href:"im_"},img:{src:"im_",srcset:"im_"},ins:{cite:jn},input:{src:"im_",formaction:jn},form:{action:jn},frame:{src:"fr_"},link:{href:"oe_"},meta:{content:"mt_"},object:{codebase:"oe_",data:"oe_"},param:{value:"oe_"},q:{cite:jn},ref:{href:"oe_"},script:{src:"js_","xlink:href":"js_"},source:{src:"oe_",srcset:"oe_"},video:{src:"oe_",poster:"im_"}},zn=[{match:/youtube.com\/v\/([^&]+)[&]/,replace:"youtube.com/embed/$1?"}],Vn=[{urlMatch:/[?&]:loadOrderID=([\d]+)/,match:/(loadOrderID&(quot;&)?#x[^;]+?;)([\d]+)/gi,replace:"$1$U1"}];class Gn{rewriter;rule=null;ruleMatch=null;isCharsetUTF8;detectedCharset="";jsOpts;constructor(t){this.rewriter=t,this.rule=null,this.jsOpts={baseUrl:t.baseUrl,prefix:t.prefix};for(const t of Vn){const e=this.rewriter.url.match(t.urlMatch);if(e){this.ruleMatch=e,this.rule=t;break}}this.isCharsetUTF8=t.isCharsetUTF8}detectMetaCharset(t){t.length>1024&&(t=t.slice(0,1024));const e=new TextDecoder("latin1").decode(t),r=e.match(/<meta[^>]*charset\s*=\s*["']?([^"'\s>/]+)["']?[^>]*>/i);if(r?.[1])return r[1].toLowerCase();const i=e.match(/<meta[^>]*http-equiv\s*=\s*["']?content-type["']?[^>]*content\s*=\s*["']?[^"']*charset\s*=\s*([^"'\s>/;]+)[^>]*>/i);return i?.[1]?i[1].toLowerCase():""}rewriteMetaContent(t,e,r){let i=this.getAttr(t,"http-equiv");if(i&&(i=i.toLowerCase()),"content-security-policy"===i)e.name="_"+e.name;else{if("refresh"===i)return e.value.replace(Fn,(t,e,i,n)=>e+this.rewriteUrl(r,i,!1,"mt_")+n);if("referrer"===this.getAttr(t,"name"))return"no-referrer-when-downgrade";if(p(e.value,Hn))return this.rewriteUrl(r,e.value)}return e.value}rewriteSrcSet(t,e){const r=/\s*(\S*\s+[\d.]+[wx]),|(?:\s*,(?:\s+|(?=https?:)))/,i=[];for(const n of t.split(r))if(n){const t=n.trim().split(" ");t[0]=this.rewriteUrl(e,t[0]),i.push(t.join(" "))}return i.join(", ")}rewriteTagAndAttrs(t,e,r){const i=t=>p(t,Hn),n=t.tagName;if(n.indexOf("-")>0)return"";let s="";const o=e=>{"iframe"===e&&(t.selfClosing&&(t.selfClosing=!1,s=e),t.attrs.push({name:"style",value:"border: none"})),t.tagName=e};for(const s of t.attrs){const a=s.name||"",l=s.value||"";if(l.startsWith("javascript:"))s.value="javascript:"+r.rewriteJS(l.slice(11),{inline:!0,...this.jsOpts});else if(a.startsWith("on")&&"-"!=a.slice(2,3))s.value=r.rewriteJS(l,{inline:!0,...this.jsOpts});else if("style"===a)s.value=r.rewriteCSS(s.value);else if("background"===a)s.value=this.rewriteUrl(r,l);else if("srcset"===a||"imagesrcset"===a&&"link"===n)s.value=this.rewriteSrcSet(l,r);else if("crossorigin"===a||"integrity"===a||"download"===a)s.name="_"+s.name;else if("meta"===n&&"content"===a)s.value=this.rewriteMetaContent(t.attrs,s,r);else if("meta"===n&&"charset"===a)l&&Wn.includes(l.toLowerCase())&&(this.isCharsetUTF8=!0);else if("param"===n&&i(l))s.value=this.rewriteUrl(r,s.value);else if(a.startsWith("data-")&&i(l))s.value=this.rewriteUrl(r,s.value);else if("base"===n&&"href"===a)try{s.value=this.rewriter.updateBaseUrl(s.value)}catch(t){console.warn("Invalid <base>: "+s.value)}else if("script"===n&&"src"===a){const e="module"===this.getScriptRWType(t)?"esm_":"",i=this.rewriteUrl(r,s.value,!1,e);i===s.value?(t.attrs.push({name:"__wb_orig_src",value:s.value}),s.value&&s.value.startsWith("data:text/javascript;base64")?s.value=this.rewriteJSBase64(s.value,r):s.value=this.rewriteUrl(r,s.value,!0,e)):s.value=i}else if("object"===n&&"data"===a){const e=this.getAttr(t.attrs,"type");if("application/pdf"===e)s.name="src",s.value=this.rewriteUrl(r,s.value,!1,"if_"),o("iframe");else if("image/svg+xml"===e)s.name="src",s.value=this.rewriteUrl(r,s.value),o("img");else if("application/x-shockwave-flash"===e)for(const t of zn){const e=s.value.replace(t.match,t.replace);if(e!==s.value){s.name="src",s.value=this.rewriteUrl(r,e,!1,"if_"),o("iframe");break}}}else if("embed"===n&&"src"===a){const e=this.getAttr(t.attrs,"type")||"";e.startsWith("image/")?(o("img"),s.value=this.rewriteUrl(r,l,!1,"mp_")):"application/pdf"!==e&&e.startsWith("application/")||(o("iframe"),s.value=this.rewriteUrl(r,l,!1,"if_"),"application/pdf"!==e&&t.attrs.push({name:"sandbox",value:"allow-same-origin allow-scripts"}))}else if("target"===a){const t=s.value;"_blank"!==t&&"_parent"!==t&&"_top"!==t&&"new"!==t||(s.value=c)}else(e[a]||"href"===a||"src"===a)&&(s.value=this.rewriteUrl(r,s.value,!1,e[a]))}return s}getAttr(t,e){for(const r of t)if(r.name===e)return r.value;return null}getScriptRWType(t){const e=this.getAttr(t.attrs,"type");return"module"===e?"module":"application/json"===e?"json":!e||e.indexOf("javascript")>=0||e.indexOf("ecmascript")>=0?"js":e.startsWith("text/")?"text":"importmap"===e?"importmap":""}async rewrite(t){let e=await t.getBuffer();if(!e)return t;if(e.length>5e7)return console.warn("Skipping rewriting, HTML file too big: "+e.length),t;const{bomFound:r,text:i}=await t.getText(this.isCharsetUTF8,!0);r&&(e=(new TextEncoder).encode(i),this.isCharsetUTF8=!0),this.isCharsetUTF8||this.rewriter.isCharsetDetected||(this.detectedCharset=this.detectMetaCharset(e),Wn.includes(this.detectedCharset)&&(this.isCharsetUTF8=!0));const n=this.rewriter,s=new Ln;s.tokenizer.preprocessor.bufferWaterline=1/0;let o=!1,c=!1,l=!0,h="",u="",p="";const d=()=>{if(!o&&n.headInsertFunc){this.detectedCharset&&s.emitRaw(`<meta charset="${this.detectedCharset}"/>`);const t=n.headInsertFunc(n.url);t&&s.emitRaw(t),o=!0}};s.on("startTag",t=>{const e=Qn[t.tagName],r=t.tagName,i=this.rewriteTagAndAttrs(t,e||{},n);switch(o||["head","html"].includes(t.tagName)||d(),s.emitStartTag(t),i&&s.emitEndTag({tagName:i}),t.tagName){case"script":if(t.selfClosing)break;h=t.tagName,l=!0,u=this.getScriptRWType(t);break;case"style":t.selfClosing||(h=t.tagName);break;case"head":d();break;case"body":c=!0}t.tagName!==r&&(h=r,p=t.tagName)}),s.on("endTag",t=>{if(t.tagName===h){switch(p&&(t.tagName=p,p=""),h){case"head":c=!0;break;case"script":c&&!l&&"js"===u&&s.emitRaw(";document.close();")}h=""}s.emitEndTag(t)}),s.on("text",(t,e)=>{const r=(()=>{if("script"===h){const e="module"===u;return l=l&&0===t.text.trim().length,"js"===u||e?n.rewriteJS(t.text,{isModule:e,...this.jsOpts}):"json"===u?n.rewriteJSON(t.text,{isModule:e,...this.jsOpts}):"importmap"===u?n.rewriteImportmap(t.text):t.text}return"style"===h?n.rewriteCSS(t.text):this.rewriteHTMLText(e)})();for(let t=0;t<r.length;t+=a)s.emitRaw(r.slice(t,t+a))});const f=this;return t.setReader(new ReadableStream({async start(t){s.on("data",e=>{t.enqueue(f.isCharsetUTF8?Un.encode(e):A(e))}),s.on("end",()=>{t.close()}),f.isCharsetUTF8?s.write(Mn.decode(e),"utf8"):s.write(w(e),"latin1"),d(),s.end()}})),t}rewriteUrl(t,e,r=!1,i=""){this.isCharsetUTF8||(e=Mn.decode(A(e)));const n=t.rewriteUrl(e,r);return i&&i!==jn&&"ln_"!==i&&"mt_"!==i?n.replace("mp_/",i+"/"):n}rewriteHTMLText(t){if(this.rule&&this.ruleMatch){const e=this.rule.replace.replace("$U1",this.ruleMatch[1]),r=t.replace(this.rule.match,e);if(t!==r)return r}return t}rewriteJSBase64(t,e){const r=t.split(","),i=e.rewriteJS(atob(r[1]),{isModule:!1,...this.jsOpts});return r[1]=btoa(i),r.join(",")}}class qn extends Gn{rewriteUrl(t,e,r=!1,i=""){return"if_"===i||"fr_"===i||"mt_"===i?t.fullRewriteUrl(e,r):"ln_"===i?(this.isCharsetUTF8||(e=Mn.decode(A(e))),t.rewriteUrl(e,r)):t.httpToHttps?t.rewriteUrl(e,r):e}rewriteTagAndAttrs(t,e,r){const i=r;if(i.httpToHttps)return super.rewriteTagAndAttrs(t,e,r);const n=t.tagName;if("embed"===n||"object"===n)return super.rewriteTagAndAttrs(t,e,r);if(n.indexOf("-")>0)return"";for(const s of t.attrs){const o=s.name||"",a=s.value||"";"meta"===n&&"content"===o?s.value=this.rewriteMetaContent(t.attrs,s,r):(e[o]||"href"===o||"src"===o)&&(s.value=this.rewriteUrl(r,a,!1,e[o])),i.rewriteRelCanonical&&"link"===n&&"href"===o&&a&&"canonical"===this.getAttr(t.attrs,"rel")&&(s.value=i.rewriteUrl(s.value))}return""}}var Yn=r(8287);const Kn=new TextEncoder,Xn=new TextDecoder;class Jn{static fromResponse({url:t,response:e,date:r,noRW:i,isLive:n,archivePrefix:s}){const o=e.body?new St(e.body.getReader(),null,!1):null,a=Number(e.headers.get("x-redirect-status")||e.status),c=e.headers.get("x-redirect-statusText")||e.statusText,l=new Headers(e.headers);let h=l.get("x-orig-location");if(h){if(h.startsWith(self.location.origin)&&(h=h.slice(self.location.origin.length)),s&&h.startsWith(s)){const t=h.indexOf("/http");t>0&&(h=h.slice(t+1))}l.set("location",h),l.delete("x-orig-location"),l.delete("x-redirect-status"),l.delete("x-redirect-statusText")}let u=null;const p=l.get("x-orig-ts");p&&(r=f(p),l.delete("x-orig-ts"),p&&h&&(u=p));const d=l.get("memento-datetime");d&&(r=new Date(d));const g=l.get("x-proxy-set-cookie");if(g){const t=[];g.split(",").forEach(e=>{const r=e.split(";",1)[0].trim();r.indexOf("=")>0&&t.push(r)}),l.delete("x-proxy-set-cookie"),t.length&&l.set("x-wabac-preset-cookie",t.join(";"))}return new Jn({payload:o,status:a,statusText:c,headers:l,url:t,date:r,noRW:i,isLive:n,updateTS:u})}reader;buffer;status;statusText;url;date;extraOpts;headers;noRW;isLive;updateTS;clonedResponse=null;constructor({payload:t,status:e,statusText:r,headers:i,url:n,date:s,extraOpts:o=null,noRW:a=!1,isLive:c=!1,updateTS:l=null}){this.reader=null,this.buffer=null,t&&t instanceof It?this.reader=t:this.buffer=t,this.status=e,this.statusText=r||x(e),this.headers=i,this.url=n,this.date=s,this.extraOpts=o,this.noRW=a,this.isLive=c,this.updateTS=l}async getText(t=!1,e=!1){const r=await this.getBuffer();return"string"==typeof r?{bomFound:!1,text:r}:r?239===r[0]&&187===r[1]&&191===r[2]?{bomFound:!0,text:Xn.decode(r.slice(3))}:254===r[0]&&255===r[1]?{bomFound:!0,text:Yn.Buffer.from(r.slice(2)).swap16().toString("utf16le")}:255===r[0]&&254===r[1]?{bomFound:!0,text:Yn.Buffer.from(r.slice(2)).toString("utf16le")}:{bomFound:!1,text:e?"":t?Xn.decode(r):w(r)}:{bomFound:!1,text:""}}setText(t,e=!1){this.setBuffer(e?Kn.encode(t):A(t))}async getBuffer(){return this.buffer||!this.reader||(this.buffer=await this.reader.readFully()),this.buffer}setBuffer(t){this.buffer=t,this.reader=null}setReader(t){t instanceof It?(this.reader=t,this.buffer=null):t.getReader&&(this.reader=new St(t.getReader()),this.buffer=null)}setRange(t){if(206===this.status){const t=this.headers.get("Content-Range");if(t&&!t.startsWith("bytes 0-"))return!1}const e=t.match(/^bytes=(\d+)-(\d+)?$/);let r=0;if(this.buffer)r=this.buffer.length;else if(this.reader&&(r=Number(this.headers.get("content-length")),!r))return!1;if(!e)return this.status=416,this.statusText="Range Not Satisfiable",this.headers.set("Content-Range",`*/${r}`),!1;const i=Number(e[1]),n=Number(e[2])||r-1;return!!this.setRawRange(i,n)&&(this.headers.set("Content-Range",`bytes ${i}-${n}/${r}`),this.headers.set("Content-Length",String(n-i+1)),this.status=206,this.statusText="Partial Content",!0)}setRawRange(t,e){const r=this.reader;return this.buffer?(this.buffer=this.buffer.slice(t,e+1),!0):!!r?.setLimitSkip&&(r.setLimitSkip(e-t+1,t),!0)}makeResponse(t=!1,e=!1){let r=null;_(this.status)||(r=this.buffer||!this.reader?this.buffer:this.reader.getReadableStream());const i=new Response(r,{status:this.status,statusText:this.statusText,headers:this.headers});return i.date=this.date,t&&(i.headers.set("Cross-Origin-Opener-Policy","same-origin"),i.headers.set("Cross-Origin-Embedder-Policy","require-corp")),e&&i.headers.set("content-disposition","inline"),i}}const Zn=/(url\s*\(\s*[\\"']*)([^)'"]+)([\\"']*\s*\)?)/gi,$n=/(@import\s*[\\"']*)([^)'";]+)([\\"']*\s*;?)/gi,ts=/WB_wombat_/g,es=/^(?:\s*(?:(?:\/\*[^*]*\*\/)|(?:\/\/[^\n]+[\n])))*\s*([\w.]+)\([{[]/,rs=/[?].*(?:callback|jsonp)=([^&]+)/i,is=new fe(class extends ge{extraRules;firstBuff;lastBuff;constructor(t=[]){super(),this.extraRules=t,this.firstBuff=this.initLocalDecl(fi),this.lastBuff="\n\n}"}initLocalDecl(t){const e="_____WB$wombat$assign$function_____";let r=`var ${e} = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n{\n`;for(const i of t)r+=`let ${i} = ${e}("${i}");\n`;return r+="let arguments;\n",r+"\n"}getModuleDecl(t,e){return`import { ${t.join(", ")} } from "${e}__wb_module_decl.js";\n`}detectModuleOrStrict(t){return t.indexOf("import")>=0&&t.match(hi)?"module":t.indexOf('"use strict";')>=0?"strict":t.indexOf("export")>=0&&t.match(ui)?"module":"lax"}parseGlobals(t,e){const r=sr.parse(t,{ecmaVersion:"latest"});let i=!1;const n=[],s=new Set,o=[];let a=-1;for(const t of r.body){const{type:r,start:c}=t;if("VariableDeclaration"===r){const{kind:r,declarations:i}=t;for(const t of i)if("Identifier"===t.id.type){const i=t.id.name;e.includes(i)?s.add(i):"const"!==r&&"let"!==r||(n.push({name:i,kind:r}),"let"===r&&(a!==c&&o.unshift(c),a=c))}}else if("ClassDeclaration"===r){if(t.id.name){const e=t.id.name;n.push({name:e,kind:"const"})}}else if(!i&&"ExpressionStatement"===r){const{expression:e}=t;if("CallExpression"===e.type){const{callee:t}=e;if("MemberExpression"===t.type){const{object:e,property:r}=t;"Identifier"===e.type&&"document"===e.name&&"Identifier"===r.type&&"write"===r.name&&(i=!0)}}}}if(s.size){const t=fi.filter(t=>!s.has(t));this.firstBuff=this.initLocalDecl(t)}return i&&(this.lastBuff=";document.close();"+this.lastBuff),{names:n,letOffsets:o}}rewrite(t,e){if(void 0===e.isModule)switch(this.detectModuleOrStrict(t)){case"module":e.isModule=!0,e.isStrict=!0;break;case"strict":e.isModule=!1,e.isStrict=!0}else e.isModule&&(e.isStrict=!0);let r=wi;e.isModule&&(r=[...r,this.getESMImportRule()]),this.extraRules.length?this.rules=[...r,...this.extraRules]:this.rules=r,this.compileRules();let i=super.rewrite(t,e);if(e.isModule)return this.getModuleDecl(fi,e.prefix||"")+(e.moduleInsert||"")+i;const n=!!yi.exec(t);e.inline&&(i=i.replace(/\n/g," "));const s=e.isWorker;if(s&&-1===t.indexOf("location"))return i;if(n){let r=this.firstBuff,n=fi;s&&(r="{ const location = self._WB_wombat_location || self.location;\n",n=gi);let o="",a="",c="";if(i)try{const{names:t,letOffsets:e}=this.parseGlobals(i,n);for(const t of e)i=i.slice(0,t)+i.slice(t+3);for(const{name:e,kind:r}of t)if("const"===r){const t=`self.___WB_const_${e}`;a+=`${t} = ${e};\n`,c+=`${r} ${e} = ${t}; delete ${t};\n`}else"let"===r&&(o+=`let ${e};\n`);a&&(a="\n;"+a),c&&(c="\n"+c)}catch(t){console.warn(`acorn parsing failed, script len ${i.length}`)}i=o+r+i+a+this.lastBuff+c,e.inline&&(i=i.replace(/\n/g," "))}return i}getESMImportRule(){return[pi,(t,e)=>{const r=(e.prefix||"").replace("mp_/","esm_/");return t.replace(di,(t,i,n,s)=>{try{n=new URL(n,e.baseUrl).href,n=r+n}catch(t){}return i+n+s})}]}}),ns=new fe(ge),ss=(new fe(ge,ae),["if_","fr_","ln_","oe_","mt_"]);class os{urlRewrite;contentRewrite;baseUrl;dsRules;decode;prefix="";originPrefix="";relPrefix="";schemeRelPrefix="";scheme;url;responseUrl;isCharsetUTF8;isCharsetDetected=!1;headInsertFunc;workerInsertFunc;_jsonpCallback;constructor({baseUrl:t,prefix:e,responseUrl:r,workerInsertFunc:i=null,headInsertFunc:n=null,urlRewrite:s=!0,contentRewrite:o=!0,decode:a=!0,useBaseRules:c=!1}){if(this.urlRewrite=s,this.contentRewrite=o,this.dsRules=s&&!c?is:ns,this.decode=a,this.prefix=e||"",this.prefix&&s){const t=new URL(this.prefix);this.originPrefix=t.origin,this.relPrefix=t.pathname,this.schemeRelPrefix=this.prefix.slice(t.protocol.length)}const l=new URL(r||t);this.scheme=l.protocol,t.startsWith("//")&&(t=this.scheme+t),this.url=this.baseUrl=t,this.headInsertFunc=n,this.workerInsertFunc=i,this.responseUrl=r||t,this.isCharsetUTF8=!1,this._jsonpCallback=null}getRewriteMode(t,e,r="",i=""){if(!i&&e){const t=(i=e.headers.get("Content-Type")||"").split(";");i=t[0],t.length>1&&(this.isCharsetUTF8="utf8"===t[1].trim().toLowerCase().replace("charset=","").replace("-",""),this.isCharsetDetected=!0)}if(i=i.toLowerCase(),"esm_"===t.mod&&(this.isCharsetUTF8=!0),t)switch(t.destination){case"style":return"css";case"script":return this.getScriptRewriteMode(i,r,t.mod,"js");case"worker":return"js-worker"}switch(i){case"text/html":return t.destination||"application/json"!==t.headers.get("Accept")?"html":"json";case"text/css":return"css";case"application/x-mpegurl":case"application/vnd.apple.mpegurl":return"hls";case"application/dash+xml":return"dash";case"":if(this.isGuessHtml(t,e))return"html";default:return this.getScriptRewriteMode(i,r,t.mod,"")}}isGuessHtml(t,e){if(t.destination&&"document"!==t.destination&&"iframe"!==t.destination)return!1;if(e.buffer)try{const t=(new TextDecoder).decode(e.buffer.slice(0,1024));if(/<\s*html/i.exec(t))return!0}catch(t){return!1}return!1}getScriptRewriteMode(t,e,r="",i=""){switch(t){case"text/javascript":case"application/javascript":case"application/x-javascript":return this.parseJSONPCallback(e)?"jsonp":e.endsWith(".json")?"json":"wkr_"===r||"wkrm_"===r?"js-worker":"js";case"application/json":return"json";default:return i}}async rewrite(t,e){const r=this.contentRewrite?this.getRewriteMode(e,t,this.baseUrl):null,i=I(e),n=this.urlRewrite&&!i,s=this.rewriteHeaders(t.headers,this.urlRewrite,!!r,i),o=t.headers.get("content-encoding"),a=t.headers.get("transfer-encoding");t.headers=s,this.decode&&(o||a)&&(t=await async function(t,e,r,i){if(t.reader&&i&&("gzip"===e&&!r||!e&&"gzip"===r))return t.setReader(new St(t.reader)),t;const n=await t.getBuffer()||[],s=new Uint8Array(n),o=await $t(s,e,r);return s!==o&&t.setBuffer(o),t}(t,o,a,null===r));const c={response:t,prefix:this.prefix,baseUrl:this.baseUrl};let l=null;switch(r){case"html":if(n)return await this.rewriteHtml(t);break;case"css":this.urlRewrite&&(l=this.rewriteCSS);break;case"js":l=this.rewriteJS,"esm_"===e.mod&&(c.isModule=!0);break;case"json":l=this.rewriteJSON;break;case"js-worker":"wkrm_"!==e.mod&&"esm_"!==e.mod||(c.isModule=!0),l=this.rewriteJSWorker;break;case"jsonp":l=this.rewriteJSONP;break;case"hls":l=re;break;case"dash":l=ne}if(n&&(c.rewriteUrl=t=>this.rewriteUrl(t)),l){let{bomFound:e,text:r}=await t.getText(this.isCharsetUTF8);if(r=l.call(this,r,c),e&&!this.isCharsetUTF8){let t=s.get("Content-Type")||"";const e=t.split(";");t=e[0],t&&s.set("Content-Type",t+"; charset=utf-8"),this.isCharsetUTF8=!0}t.setText(r,this.isCharsetUTF8)}else{const r=le(e.url);if(r){const i=new URL(e.url),n=parseInt(i.searchParams.get(r.start)||""),s=parseInt(i.searchParams.get(r.end)||"");if(!isNaN(n)&&!isNaN(s)){const e=Number(t.headers.get("Content-Length")),r=s-n+1;e!==r&&(isNaN(e)||e>r)&&t.setRawRange(n,s)&&t.headers.set("Content-Length",String(r))}}}return t}updateBaseUrl(t){if(this.originPrefix&&t.startsWith(this.originPrefix)){const e=t.indexOf("/http");e>=0&&(t=t.slice(e+1))}if(this.baseUrl=new URL(t,this.baseUrl).href,t&&this.baseUrl!=t)try{t=new URL(t).href}catch(e){t.startsWith("//")&&(t=(t=new URL("https:"+t).href).slice(6))}return this.rewriteUrl(t)}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(const r of e)if(t.startsWith(r))return!1;return!0}rewriteUrl(t,e=!1){if(!this.urlRewrite)return t;const r=t;return(t=t.trim()).startsWith("\\")&&(t=t.replace(/\\(?![//])/g,"/")),!t||!this.isRewritableUrl(t)||t.startsWith(this.prefix)||t.startsWith(this.relPrefix)?r:t.startsWith("http:")||t.startsWith("https:")||t.startsWith("https\\3a/")?this.prefix+t:t.startsWith("//")||t.startsWith("\\/\\/")?this.schemeRelPrefix+t:t.startsWith("/")?(t=new URL(t,this.baseUrl).href,this.relPrefix+t):e||t.indexOf("../")>=0?(t=new URL(t,this.baseUrl).href,this.prefix+t):r}async rewriteHtml(t){return new Gn(this).rewrite(t)}rewriteCSS(t){const e=this;function r(t,r,i,n){return i=i.trim(),r+e.rewriteUrl(i)+n}return t.replace(Zn,r).replace($n,r).replace(ts,"")}rewriteJS(t,e){const r=e&&!e.rewriteUrl&&void 0===e.isModule&&!e.inline,i=r?ns:this.dsRules,n=i.getRewriter(this.baseUrl);return n===i.defaultRewriter&&r?t:n.rewrite(t,e)}rewriteJSWorker(t,e){e.isWorker=!0;const r=this.workerInsertFunc(e.isModule??!1);return e.isModule?(e.moduleInsert=r,this.rewriteJS(t,e)):r+this.rewriteJS(t,e)}rewriteJSON(t,e){t=this.rewriteJSONP(t);const r=ns.getRewriter(this.baseUrl);return r!==ns.defaultRewriter?r.rewrite(t,e):t}rewriteImportmap(t){const e=t=>this.rewriteUrl(t).replace("mp_/","esm_/");try{const r=JSON.parse(t),i={},n={imports:i};for(const[t,n]of Object.entries(r.imports||{}))i[e(t)]=e(n);if(r.scopes){const t={};for(const[i,n]of Object.entries(r.scopes)){const r={};for(const[t,i]of Object.entries(n))r[e(t)]=e(i);t[e(i)]=r}n.scopes=t}return JSON.stringify(n,null,2)}catch(e){return console.warn("Error parsing importmap",e),t}}parseJSONPCallback(t){const e=t.match(rs);return e&&"?"!==e[1]?(this._jsonpCallback=e[1],!0):(this._jsonpCallback=!1,!1)}rewriteJSONP(t){const e=t.match(es);return e?(null===this._jsonpCallback&&this.parseJSONPCallback(this.baseUrl),!1===this._jsonpCallback?t:this._jsonpCallback+t.slice(t.indexOf(e[1])+e[1].length)):t}rewriteHeaders(t,e,r,i){const n={"access-control-allow-origin":"prefix-if-url-rewrite","access-control-allow-credentials":"prefix-if-url-rewrite","access-control-expose-headers":"prefix-if-url-rewrite","access-control-max-age":"prefix-if-url-rewrite","access-control-allow-methods":"prefix-if-url-rewrite","access-control-allow-headers":"prefix-if-url-rewrite","accept-patch":"keep","accept-ranges":"keep",age:"prefix",allow:"keep","alt-svc":"prefix","cache-control":"prefix",connection:"prefix","content-base":"url-rewrite","content-disposition":"keep","content-encoding":"prefix-if-content-rewrite","content-language":"keep","content-length":"content-length","content-location":"url-rewrite","content-md5":"prefix","content-range":"keep","content-security-policy":"prefix","content-security-policy-report-only":"prefix","content-type":"keep",date:"keep",etag:"prefix",expires:"prefix","last-modified":"prefix",link:"link",location:"url-rewrite",p3p:"prefix",pragma:"prefix","proxy-authenticate":"keep","public-key-pins":"prefix","referrer-policy":"prefix","retry-after":"prefix",server:"prefix","set-cookie":"cookie",status:"prefix","strict-transport-security":"prefix",trailer:"prefix","transfer-encoding":"transfer-encoding",tk:"prefix",upgrade:"prefix","upgrade-insecure-requests":"prefix",vary:"prefix",via:"prefix",warning:"prefix","www-authenticate":"keep","x-frame-options":"prefix","x-xss-protection":"prefix","origin-agent-cluster":"prefix"},s="X-Archive-Orig-",o=new Headers;for(let[a,c]of t.entries())switch(n[a]){case"keep":case"cookie":default:o.append(a,c);break;case"url-rewrite":if(e){if("location"===a&&this.url!==this.responseUrl){const t="http:"===this.scheme?"https:":"http:";c===t+this.responseUrl.slice(this.scheme.length)&&(c=t+this.url.slice(this.url.indexOf("//")))}o.append(a,this.rewriteUrl(c))}else o.append(a,c);break;case"prefix-if-content-rewrite":r?o.append(s+a,c):o.append(a,c);break;case"prefix-if-url-rewrite":e?o.append(s+a,c):o.append(a,c);break;case"content-length":if("0"==c){o.append(a,c);continue}if(r)try{if(parseInt(c)>=0){o.append(a,c);continue}}catch(t){}o.append(a,c);break;case"transfer-encoding":case"prefix":o.append(s+a,c);break;case"link":e?o.append(a,this.rewriteLinkHeader(c,i)):o.append(a,c)}return o}rewriteLinkHeader(t,e=!1){try{t=t.replace(e?/<(.*?)>(?=[^,]+rel=["']?(?:preload|modulepreload|stylesheet))/g:/<(.*?)>/g,(t,e)=>"<"+this.rewriteUrl(e)+">")}catch(e){console.warn("Error parsing link header: "+t)}return t}}class as extends os{proxyOrigin;proxyHost;altProxyOrigins;localOrigin;proxyTLD;localTLD;localScheme;httpToHttps;rewriteRelCanonical;constructor(t,e,{rewriteRelCanonical:r=!1}){super(t),this.proxyOrigin=e.proxyOrigin,this.localOrigin=e.localOrigin,this.altProxyOrigins=e.altProxyOrigins,this.proxyTLD=e.proxyTLD||"",this.localTLD=e.localTLD||"";const i=new URL(this.proxyOrigin);this.proxyHost=i.host;const n=new URL(this.localOrigin);this.localScheme=n.protocol,this.httpToHttps=e.httpToHttpsNeeded,this.rewriteRelCanonical=r}rewriteUrl(t){if(t.startsWith(this.proxyOrigin))return this.localOrigin+t.slice(this.proxyOrigin.length);if(this.altProxyOrigins)for(const e of this.altProxyOrigins)if(t.startsWith(e))return this.localOrigin+t.slice(e.length);if(this.proxyTLD&&this.localTLD&&t.indexOf(this.proxyTLD)>0){const e=new URL(t);if(e.host.endsWith(this.proxyTLD)){const t=e.host.slice(0,-this.proxyTLD.length).replace(".","-")+this.localTLD;return this.localScheme+"//"+t+e.href.slice(e.origin.length)}}return this.httpToHttps?t.replace("http:","https:"):t}fullRewriteUrl(t,e=!1){return t.startsWith(this.proxyOrigin)?this.localOrigin+t.slice(this.proxyOrigin.length):t.startsWith("//"+this.proxyHost)?this.localOrigin+t.slice(this.proxyHost.length+2):t.startsWith("https://")||t.startsWith("http://")||t.startsWith("//")?super.rewriteUrl(t,e):t}async rewriteHtml(t){return new qn(this).rewrite(t)}rewriteJS(t,e){return t}rewriteCSS(t){return this.httpToHttps?super.rewriteCSS(t):t}rewriteJSON(t,e){return t}rewriteImportmap(t){return t}updateBaseUrl(t){return t}}async function cs(t,e){const r=t.split("."),i=[];for(let t=0;t<r.length-1;t++)"www"!==r[t]&&i.push(r.slice(t).join("."));const n=i.length?i[i.length-1]:"";let s=(await fetch(e)).body;const o=new Headers({"Content-Type":"text/css"});if(!s)return new Response("",{status:400,headers:o,statusText:"Not Found"});e.endsWith(".gz")&&(s=s.pipeThrough(new self.DecompressionStream("gzip")));const a=s.pipeThrough(new hs),c=new TextEncoder,l=async function*(){for await(const t of async function*(t){try{let e;const r=t.getReader();for(;(e=await r.read())&&!e.done;){const t=e.value;if(n&&t.indexOf(n)>=0){const e=t.split("##");if(e.length<2)continue;if(e[0].endsWith("#@"))continue;const r=e[0].split(",");for(const t of i)if(r.includes(t)){yield e[1];break}}else!n&&t.startsWith("##")&&(yield t.slice(2))}}catch(t){console.warn(t)}}(a))yield c.encode(`${t} {\n display: none !important;\n}\n\n`)}(),h=new ReadableStream({pull:async t=>l.next().then(e=>{e.done||!e.value?t.close():t.enqueue(e.value)})});return new Response(h,{status:200,statusText:"OK",headers:o})}class ls{_buffer=[];_lastChunkEndedWithCR=!1;decoder=new TextDecoder;transform(t,e){const r=this.decoder.decode(t),i=r.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g),n=this._buffer;for(this._lastChunkEndedWithCR&&r.startsWith("\n")&&i.shift(),n.length>0&&(n[n.length-1]+=i[0],i.shift()),this._lastChunkEndedWithCR=r.endsWith("\r");n.length>1;){const t=n.shift();t?.length&&e.enqueue(t)}for(;i.length>1;){const t=i.shift();t?.length&&e.enqueue(t)}}flush(t){const e=this._buffer;for(;e.length;){const r=e.shift();r?.length&&t.enqueue(r)}}}class hs extends TransformStream{constructor(){super(new ls)}}const us='<!doctype html>\n<html>\n <head>\n <script>\n window.requestURL = $REQUEST_URL;\n window.redirectOnNotFound = $REDIRECT_NOT_FOUND;\n window.errorMsg = $REQUEST_ERR_MSG;\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Archived Page Not Found</h2>\n <p id="msg"></p>\n <p>\n <code id="url" style="word-break: break-all; font-size: larger"></code>\n </p>\n <p id="#redirectMessage" style="display: none">\n Redirecting to live page now... (If this URL is a file download, the\n download should have started).\n </p>\n <script>\n if (window.redirectOnNotFound) {\n document.querySelector("redirectMessage").style.display = "initial";\n window.top.location.href = window.requestURL;\n }\n <\/script>\n <p id="goback" style="display: none">\n <a href="#" onclick="window.history.back()">Go Back</a> to the previous\n page.\n </p>\n\n <p>\n <a id="livelink" target="_blank" href="">Load the live page</a> in a new\n tab (or download the file, if this URL points to a file).\n </p>\n\n <script>\n document.querySelector("#url").innerText = window.requestURL;\n document.querySelector("#msg").innerText = window.errorMsg;\n document.querySelector("#livelink").href = window.requestURL;\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {}\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage(\n {\n wb_type: "archive-not-found",\n url: window.requestURL,\n ts: $REQUEST_TS,\n },\n "*",\n );\n }\n <\/script>\n </body>\n</html>\n';let ps="";function ds(t,e,r=404){return fs(t,t.url,"",!1,r,e)}function fs(t,e,r,i=!1,n=404,s){let o,a;switch(t.destination){case"json":case"":o=function(t,e,r="not_found"){return JSON.stringify({error:r,URL:t,TS:e})}(e,r,s),a="application/json; charset=utf-8";break;case"script":o=ms("Script",e,r,s),a="text/javascript; charset=utf-8";break;case"style":o=ms("CSS",e,r,s),a="text/css; charset=utf-8";break;default:o=function(t,e,r,i,n){let s=ps||us;return s=s.replaceAll("$REQUEST_URL",JSON.stringify(e)),s=s.replaceAll("$REQUEST_TS",JSON.stringify(r)),s=s.replaceAll("$REDIRECT_NOT_FOUND",i&&"navigate"===t.mode?"1":"0"),s=s.replaceAll("$REQUEST_ERR_MSG",JSON.stringify(n||"Sorry, this page was not found in this archive:")),s}(t,e,r,i,s),a="text/html; charset=utf-8"}return gs(o,a,n)}function gs(t,e,r=200){const i=(new TextEncoder).encode(t),n={status:r,statusText:x(r),headers:{"Content-Type":e,"Content-Length":i.length+"","Content-Security-Policy":u()}};return new Response(i,n)}function ms(t,e,r,i){return`/*\n ${i||t+" Not Found"}\n URL: ${e}\n TS: ${r}\n*/\n `}function ys(t,e){return gs(function(t,e){return`\n <!doctype html>\n <html>\n <head>\n <script>\n window.requestURL = ${JSON.stringify(t)};\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Live page could not be loaded</h2>\n <p>\n Sorry, this page was could not be loaded through the archiving proxy.\n Check the URL and try again.\n </p>\n <p>\n <code\n id="url"\n style="word-break: break-all; font-size: larger"\n ></code>\n </p>\n <p id="goback" style="display: none">\n <a href="#" onclick="window.history.back()">Go Back</a> to the\n previous page.\n </p>\n\n <script>\n document.getElementById("url").innerText = ${JSON.stringify(`Status Code: ${e}`)};\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {}\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage(\n {\n wb_type: "live-proxy-url-error",\n url: window.requestURL,\n status: ${JSON.stringify(e)},\n },\n "*",\n );\n }\n <\/script>\n </body>\n </html>\n `}(t,e),"text/html",e)}const ws={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/dicom":["dcm"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg","one","onea"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"application/zip+dotlottie":["lottie"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a","m4b"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/ief":["ief"],"image/jaii":["jaii"],"image/jais":["jais"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpg","jpeg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxl":["jxl"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/pjpeg":["jfif"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime","mht","mhtml"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step":["step","stp","stpnc","p21","210"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts","m2t","m2ts","mts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(ws);const As=ws;var bs,Es,vs,_s=function(t,e,r,i){if("a"===r&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?i:"a"===r?i.call(t):i?i.value:e.get(t)};bs=new WeakMap,Es=new WeakMap,vs=new WeakMap;const xs=class{constructor(...t){bs.set(this,new Map),Es.set(this,new Map),vs.set(this,new Map);for(const e of t)this.define(e)}define(t,e=!1){for(let[r,i]of Object.entries(t)){r=r.toLowerCase(),i=i.map(t=>t.toLowerCase()),_s(this,vs,"f").has(r)||_s(this,vs,"f").set(r,new Set);const t=_s(this,vs,"f").get(r);let n=!0;for(let s of i){const i=s.startsWith("*");if(s=i?s.slice(1):s,t?.add(s),n&&_s(this,Es,"f").set(r,s),n=!1,i)continue;const o=_s(this,bs,"f").get(s);if(o&&o!=r&&!e)throw new Error(`"${r} -> ${s}" conflicts with "${o} -> ${s}". Pass \`force=true\` to override this definition.`);_s(this,bs,"f").set(s,r)}}return this}getType(t){if("string"!=typeof t)return null;const e=t.replace(/^.*[/\\]/s,"").toLowerCase(),r=e.replace(/^.*\./s,"").toLowerCase(),i=e.length<t.length;return r.length<e.length-1||!i?_s(this,bs,"f").get(r)??null:null}getExtension(t){return"string"!=typeof t?null:(t=t?.split?.(";")[0],(t&&_s(this,Es,"f").get(t.trim().toLowerCase()))??null)}getAllExtensions(t){return"string"!=typeof t?null:_s(this,vs,"f").get(t.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const t of _s(this,vs,"f").values())Object.freeze(t);return this}_getTestState(){return{types:_s(this,bs,"f"),extensions:_s(this,Es,"f")}}},Is=(new xs(As)._freeze(),Rs([80,75,3,4])),Ss=Rs([31,139,8]),Ts=Rs([87,65,82,67]),Cs=(new xs).define(As).define({"application/x-javascript":[".js"]});function Rs(t){return e=>{for(const[r,i]of t.entries())if(i!==e[r])return!1;return!0}}async function ks(t){const e=t.body.getReader();let r="";const{value:i,done:n}=await e.read();var s;return!n&&i.length>=4&&(s=i.slice(0,4),r=Is(s)?".wacz":Ts(s)?".warc":Ss(s)?".warc.gz":"",r||(r=function(t){try{const e=(new TextDecoder).decode(t).split("\n");if(e.length>1&&e.indexOf(" {")>=0)return".cdxj"}catch(t){return""}}(i))),n||e.cancel().catch(()=>{}),r}class Ns{name;store;config;metadata;injectScripts;noRewritePrefixes;noPostToGet;convertPostToGet;coHeaders;csp;injectRelCanon;baseFramePrefix;baseFrameUrl;baseFrameHashReplay=!1;baseFrameAppendReplay=!1;liveRedirectOnNotFound=!1;rootPrefix;isRoot;prefix;adblockUrl;excludeUrlPaths;staticPrefix;proxyPrefix;proxyBannerUrl="";proxyCustomInsert="";proxyHomePageUrl;constructor(t,e,r={}){const{name:i,store:n,config:s}=t;this.name=i,this.store=n,this.config=s,this.metadata=this.config.metadata?this.config.metadata:{};const o={...r,...this.config.extraConfig};this.injectScripts=o.injectScripts||[],this.noRewritePrefixes=o.noRewritePrefixes||null,this.noPostToGet=!!o.noPostToGet,this.convertPostToGet=!!o.convertPostToGet,this.coHeaders=o.coHeaders||!1,this.injectRelCanon=o.injectRelCanon||!1,this.baseFramePrefix=o.baseUrlSourcePrefix,this.baseFrameUrl=o.baseUrl,this.baseFrameHashReplay=o.baseUrlHashReplay||!1,this.baseFrameAppendReplay=o.baseUrlAppendReplay||!1,this.liveRedirectOnNotFound=o.liveRedirectOnNotFound||!1,this.rootPrefix=e.root||e.main,this.proxyHomePageUrl=o.proxyHomePageUrl,this.adblockUrl=o.adblockUrl,this.excludeUrlPaths=o.excludeUrlPaths,this.prefix=e.main,this.proxyBannerUrl=o.proxyBannerUrl||"",this.proxyBannerUrl&&D([this.proxyBannerUrl]),this.proxyCustomInsert=o.proxyCustomInsert||"",this.config.root?(this.isRoot=!0,this.csp=o.csp||u()):(this.prefix+=this.name+"/",this.isRoot=!1,this.csp=o.csp||u()+this.name+"/"),this.staticPrefix=e.static,this.proxyPrefix=e.proxy}async handleRequest(t,e){let r=t.url,i=t.timestamp;if(!t.mod)return await this.makeTopFrame(r,i);if(this.noPostToGet||(r=await t.convertPostToGet()),t.isProxyOrigin&&this.proxyHomePageUrl&&t.proxyOrigin&&r.startsWith(t.proxyOrigin)&&"/"===new URL(r).pathname)return fetch(this.proxyHomePageUrl,{mode:"no-cors"});if(this.excludeUrlPaths?.length)for(const e of this.excludeUrlPaths)if(r.startsWith(e))return ds(t.request);let n=null,s=r;try{if(r.startsWith("srcdoc:"))n=this.getSrcDocResponse(r,r.slice(7));else if(r.startsWith("blob:")){const t=r.indexOf("/"),e=r.slice(5,t),i=`blob:${self.location.origin}/${e}`;s=r.slice(t+1),n=await this.getBlobResponse(i)}else"about:blank"===r?n=await this.getSrcDocResponse(r):"__wb_module_decl.js"===r?n=await this.getWrappedModuleDecl():this.adblockUrl&&r.startsWith("adblock:")?n=await cs(r.slice(8),this.adblockUrl):(n=await this.getReplayResponse(t,e),r=t.url,n&&n instanceof Jn&&n.updateTS&&(i=n.updateTS))}catch(e){if(await S(e,this.config))return ds(t.request,"Please wait, this page will reload after authentication...",401)}if(!n){try{r=decodeURIComponent(r),r+=t.hash}catch(t){}return fs(t.request,r,i,this.liveRedirectOnNotFound)}if(n instanceof Response)return n;n.noRW||(n=t.isProxyOrigin?await this.proxyRewrite(t,n,s,i):await this.fullRewrite(t,n,s,r,i));const o=t.headers.get("range");!o||200!==n.status&&206!==n.status||n.setRange(o);let a=!1;if("dl_"===t.mod){const e=n.headers.get("Content-Disposition");if(!e?.match(/^attachment\s*;/i)){const e=await async function(t,e){let r="";try{const e=new URL(t.url.startsWith("//")?"https:"+t.url:t.url);r=e.pathname.slice(e.pathname.lastIndexOf("/")+1)}catch(t){}if(r||(r="index"),-1===r.indexOf(".")){const t=e.headers.get("content-type"),i=t?Cs.getExtension(t):"";i&&(r+="."+i)}const i=encodeURIComponent(r);return i!==r?`filename*=UTF-8''${i}`:`filename="${r}"`}(t,n);n.headers.set("Content-Disposition",`attachment; ${e}`)}}else a="iframe"===t.destination||"document"===t.destination;return n.makeResponse(this.coHeaders,a)}async fullRewrite(t,e,r,i,n){const s=this.prefix+(t.pageId?`:${t.pageId}/`:""),o=s+n,a=e,c=ss.includes(t.mod)?"mp_":t.mod,l="id_"===c||"wkrf_"===c||"dl_"===c,h=o+c+"/",u={baseUrl:r,responseUrl:e.url,prefix:h,headInsertFunc:e=>{const r=o+(n?"/":"")+e;return this.makeHeadInsert(e,n,r,s,a,t.referrer)},workerInsertFunc:t=>{const e=`new WBWombat(\n {"prefix": "${o}",\n "mod": "wkr_",\n "originalURL": "${i}"\n })`;return t?`import '${this.staticPrefix}wombatWorkers.js'; if (!self.__wb_wombat) { self.__wb_wombat = ${e} }`:`\n { if (!self.__wb_wombat) { self.importScripts('${this.staticPrefix}wombatWorkers.js'); self.__wb_wombat = ${e};} }`},urlRewrite:!l,contentRewrite:!l,decode:this.config.decode},p=new os(u);return(e=await p.rewrite(e,t)).headers.set("Content-Security-Policy",this.csp),e}async proxyRewrite(t,e,r,i){const n=this.prefix+(t.pageId?`:${t.pageId}/`:""),s=e.date.toISOString(),o=n+(i||d(s)),a=o+"mp_/",c={baseUrl:r,responseUrl:e.url,prefix:a,headInsertFunc:r=>{const n=this.getCookiePreset(e,t.proxyScheme),a=g(e.date),c=e.extraOpts,l=c?.disableMSE;return`\n\x3c!-- WB Insert --\x3e\n<script>\n const wbinfo = {};\n wbinfo.url = "${r}";\n wbinfo.request_ts = "${i}";\n wbinfo.timestamp = "${s}";\n wbinfo.proxyOrigin = "${t.proxyOrigin||""}";\n wbinfo.localOrigin = "${t.localOrigin||""}";\n wbinfo.localTLD = "${t.localTLD||""}";\n wbinfo.proxyTLD = "${t.proxyTLD||""}";\n wbinfo.prefix = "${o}";\n wbinfo.presetCookie = ${n};\n wbinfo.seconds = "${a}";\n self.__wbinfo = wbinfo;\n<\/script>\n<script src="${this.staticPrefix}wombatProxy.js"><\/script>\n${this.proxyBannerUrl?`\n<script src="${this.proxyPrefix}${this.proxyBannerUrl}"><\/script>`:""}\n${this.proxyCustomInsert?this.proxyCustomInsert:""}\n${l?oe:""}\n\x3c!-- End WB Insert --\x3e\n `},workerInsertFunc:null,urlRewrite:!0,contentRewrite:!0,decode:this.config.decode},l=this.config.extraConfig||{},h=new as(c,t,{rewriteRelCanonical:l.proxyRewriteRelCanonical});return e=await h.rewrite(e,t)}getCookiePreset(t,e){let r=t.headers.get("x-wabac-preset-cookie")||"";const i=t.headers.get("Set-Cookie");return i&&(r=function(t,e){t=t.replace(l,"");const r=[];for(const i of t.split(",")){const t=i.split(";",1)[0];if(t!==i){const r=i.slice(t.length).toLowerCase();if(r.indexOf("httponly")>0)continue;if("http"===e&&r.indexOf("secure")>0)continue}r.push(t)}return r.join(";")}(i,e)+";"+r),r?JSON.stringify(r):'""'}getCanonRedirect(t){let{url:e,timestamp:r,mod:i,referrer:n}=t;const s=e.startsWith("//");s&&(e=(n&&n.indexOf("/http://")>0?"http:":"https:")+e);try{const n=new URL(e);if(n.href!==e){if("/"===n.pathname){let t=this.prefix+r+i;return(r||i)&&(t+="/"),t+=n.href,Response.redirect(t,301)}(!s&&e.indexOf(":443")||e.indexOf(":80"))&&(t.url=n.href)}}catch(t){}return null}getWrappedModuleDecl(){const t=(new TextEncoder).encode('\n var wrapObj = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\n if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n\n const window = wrapObj("window");\n const document = wrapObj("document");\n const location = wrapObj("location");\n const top = wrapObj("top");\n const parent = wrapObj("parent");\n const frames = wrapObj("frames");\n const opener = wrapObj("opener");\n const __self = wrapObj("self");\n const __globalThis = wrapObj("globalThis");\n\n export { window, document, location, top, parent, frames, opener, __self as self, __globalThis as globalThis };\n '),e=new Headers({"Content-Type":"application/javascript"});return new Response(t,{headers:e,status:200,statusText:"OK"})}getSrcDocResponse(t,e){const r=e?decodeURIComponent(atob(e)):"<html><head></head><body></body></html>",i=(new TextEncoder).encode(r),n=new Headers({"Content-Type":"text/html"}),s=new Date;return new Jn({payload:i,status:200,statusText:"OK",headers:n,url:t,date:s})}async getBlobResponse(t){const e=await fetch(t),r=e.status,i=e.statusText,n=new Headers(e.headers);"application/xhtml+xml"===n.get("content-type")&&n.set("content-type","text/html");const s=new Date,o=new Uint8Array(await e.arrayBuffer());return new Jn({payload:o,status:r,statusText:i,headers:n,url:t,date:s})}async getReplayResponse(t,e){let r=this.getCanonRedirect(t);if(r)return r;const i={pageId:t.pageId,noRedirect:t.isProxyOrigin};if(r=await this.store.getResource(t,this.prefix,e,i),!r&&t.altProxyOrigins&&t.isProxyOrigin&&t.proxyOrigin&&t.url.startsWith(t.proxyOrigin)){const n=t.url;for(const s of t.altProxyOrigins)if(t.url=n.replace(t.proxyOrigin,s),r=await this.store.getResource(t,this.prefix,e,i),r)break}return r}async makeTopFrame(t,e){let r="";if(this.baseFrameUrl&&!this.baseFramePrefix?r=this.baseFrameUrl:!this.isRoot&&this.config.sourceUrl&&(r=this.baseFramePrefix||"./",r+=`?source=${this.config.sourceUrl}`),r)return this.baseFrameAppendReplay?r+=`${e}/${t}`:this.baseFrameHashReplay?r+=`#${e}/${t}`:r+="#"+new URLSearchParams({url:t,ts:e,view:"replay"}).toString(),Response.redirect(r);let i="";if(this.config.topTemplateUrl){const r=await fetch(this.config.topTemplateUrl);i=(await r.text()).replace("$URL",t).replace("$TS",e).replace("$PREFIX",this.prefix)}else i=`\n<!DOCTYPE html>\n<html>\n<head>\n<style>\nhtml, body\n{\n height: 100%;\n margin: 0px;\n padding: 0px;\n border: 0px;\n overflow: hidden;\n}\n\n</style>\n<script src='${this.staticPrefix}wb_frame.js'> <\/script>\n\n<script>\nwindow.home = "${this.rootPrefix}";\n<\/script>\n\n<script src='${this.staticPrefix}default_banner.js'> <\/script>\n<link rel='stylesheet' href='${this.staticPrefix}default_banner.css'/>\n\n</head>\n<body style="margin: 0px; padding: 0px;">\n<div id="wb_iframe_div">\n<iframe id="replay_iframe" name="${c}" frameborder="0" seamless="seamless" scrolling="yes" class="wb_iframe" allow="autoplay; fullscreen"></iframe>\n</div>\n<script>\n var cframe = new ContentFrame({"url": "${t}",\n "app_prefix": "${this.prefix}",\n "content_prefix": "${this.prefix}",\n "request_ts": "${e}",\n "iframe": "#replay_iframe"});\n\n<\/script>\n</body>\n</html>\n`;const n={status:200,statusText:"OK",headers:{"Content-Type":"text/html","Content-Security-Policy":this.csp}};return new Response(i,n)}makeHeadInsert(t,e,r,i,n,s){const o=this.name,a=n.date,l=n.isLive,h=n.extraOpts,u=g(a),p=d(a.toISOString()),f=new URL(t);let m;m="https:"!==f.protocol&&"http:"!==f.protocol?s&&s.indexOf("/http://")>0?"http":"https":f.protocol.slice(0,-1);const y=this.getCookiePreset(n,m),w=h&&Number(h.pixelRatio)?h.pixelRatio:2,A=h?.storage?JSON.stringify(h.storage):'""',b=h?.disableMSE;return`\n\x3c!-- WB Insert --\x3e\n${this.adblockUrl?`\n<link rel='stylesheet' href="${i}mp_/adblock:${f.hostname}"/>\n<link rel='stylesheet' href="${i}mp_/adblock:"/>\n`:""}\n<style>\nbody {\n font-family: inherit;\n font-size: inherit;\n}\n</style>\n${this.injectRelCanon?`<link rel="canonical" href="${t}"/>`:""}\n<script>\n wbinfo = {};\n wbinfo.top_url = "${r}";\n // Fast Top-Frame Redirect\n if (window == window.top && wbinfo.top_url) {\n var loc = window.location.href.replace(window.location.hash, "");\n loc = decodeURI(loc);\n\n if (loc != decodeURI(wbinfo.top_url)) {\n window.location.href = wbinfo.top_url + window.location.hash;\n }\n }\n wbinfo.url = "${t}";\n wbinfo.timestamp = "${p}";\n wbinfo.request_ts = "${e}";\n wbinfo.prefix = decodeURI("${i}");\n wbinfo.mod = "mp_";\n wbinfo.is_framed = true;\n wbinfo.is_live = ${l?"true":"false"};\n wbinfo.coll = "${o}";\n wbinfo.proxy_magic = "";\n wbinfo.static_prefix = "${this.staticPrefix}";\n wbinfo.enable_auto_fetch = true;\n wbinfo.presetCookie = ${y};\n wbinfo.storage = ${A};\n wbinfo.isSW = true;\n wbinfo.injectDocClose = true;\n wbinfo.pixel_ratio = ${w};\n wbinfo.convert_post_to_get = ${this.convertPostToGet};\n wbinfo.target_frame = "${c}";\n<\/script>\n<script src='${this.staticPrefix}wombat.js'> <\/script>\n<script>\n wbinfo.wombat_ts = "${l?p:e}";\n wbinfo.wombat_sec = "${u}";\n wbinfo.wombat_scheme = "${m}";\n wbinfo.wombat_host = "${f.host}";\n\n ${this.noRewritePrefixes?`\n wbinfo.wombat_opts = {"no_rewrite_prefixes": ${JSON.stringify(this.noRewritePrefixes)}}`:"\n wbinfo.wombat_opts = {}\n "}\n\n if (window && window._WBWombatInit) {\n window._WBWombatInit(wbinfo);\n }\n ${b?oe:""}\n<\/script>\n${this.injectScripts.map(t=>`<script src='${this.proxyPrefix}${t}'> <\/script>`).join("")}\n\x3c!-- End WB Insert --\x3e\n`}}const Bs=(t,e)=>e.some(e=>t instanceof e);let Os,Ps;const Ds=new WeakMap,Ls=new WeakMap,Us=new WeakMap,Ms=new WeakMap,Fs=new WeakMap;let Hs={get(t,e,r){if(t instanceof IDBTransaction){if("done"===e)return Ls.get(t);if("objectStoreNames"===e)return t.objectStoreNames||Us.get(t);if("store"===e)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return zs(t[e])},set:(t,e,r)=>(t[e]=r,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function js(t){Hs=t(Hs)}function Ws(t){return t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(Ps||(Ps=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(Vs(this),e),zs(Ds.get(this))}:function(...e){return zs(t.apply(Vs(this),e))}:function(e,...r){const i=t.call(Vs(this),e,...r);return Us.set(i,e.sort?e.sort():[e]),zs(i)}}function Qs(t){return"function"==typeof t?Ws(t):(t instanceof IDBTransaction&&function(t){if(Ls.has(t))return;const e=new Promise((e,r)=>{const i=()=>{t.removeEventListener("complete",n),t.removeEventListener("error",s),t.removeEventListener("abort",s)},n=()=>{e(),i()},s=()=>{r(t.error||new DOMException("AbortError","AbortError")),i()};t.addEventListener("complete",n),t.addEventListener("error",s),t.addEventListener("abort",s)});Ls.set(t,e)}(t),Bs(t,Os||(Os=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(t,Hs):t)}function zs(t){if(t instanceof IDBRequest)return function(t){const e=new Promise((e,r)=>{const i=()=>{t.removeEventListener("success",n),t.removeEventListener("error",s)},n=()=>{e(zs(t.result)),i()},s=()=>{r(t.error),i()};t.addEventListener("success",n),t.addEventListener("error",s)});return e.then(e=>{e instanceof IDBCursor&&Ds.set(e,t)}).catch(()=>{}),Fs.set(e,t),e}(t);if(Ms.has(t))return Ms.get(t);const e=Qs(t);return e!==t&&(Ms.set(t,e),Fs.set(e,t)),e}const Vs=t=>Fs.get(t);function Gs(t,e,{blocked:r,upgrade:i,blocking:n,terminated:s}={}){const o=indexedDB.open(t,e),a=zs(o);return i&&o.addEventListener("upgradeneeded",t=>{i(zs(o.result),t.oldVersion,t.newVersion,zs(o.transaction),t)}),r&&o.addEventListener("blocked",t=>r(t.oldVersion,t.newVersion,t)),a.then(t=>{s&&t.addEventListener("close",()=>s()),n&&t.addEventListener("versionchange",t=>n(t.oldVersion,t.newVersion,t))}).catch(()=>{}),a}function qs(t,{blocked:e}={}){const r=indexedDB.deleteDatabase(t);return e&&r.addEventListener("blocked",t=>e(t.oldVersion,t)),zs(r).then(()=>{})}const Ys=["get","getKey","getAll","getAllKeys","count"],Ks=["put","add","delete","clear"],Xs=new Map;function Js(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(Xs.get(e))return Xs.get(e);const r=e.replace(/FromIndex$/,""),i=e!==r,n=Ks.includes(r);if(!(r in(i?IDBIndex:IDBObjectStore).prototype)||!n&&!Ys.includes(r))return;const s=async function(t,...e){const s=this.transaction(t,n?"readwrite":"readonly");let o=s.store;return i&&(o=o.index(e.shift())),(await Promise.all([o[r](...e),n&&s.done]))[0]};return Xs.set(e,s),s}js(t=>({...t,get:(e,r,i)=>Js(e,r)||t.get(e,r,i),has:(e,r)=>!!Js(e,r)||t.has(e,r)}));const Zs=["continue","continuePrimaryKey","advance"],$s={},to=new WeakMap,eo=new WeakMap,ro={get(t,e){if(!Zs.includes(e))return t[e];let r=$s[e];return r||(r=$s[e]=function(...t){to.set(this,eo.get(this)[e](...t))}),r}};async function*io(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;const r=new Proxy(e,ro);for(eo.set(r,e),Fs.set(r,Vs(e));e;)yield r,e=await(to.get(r)||e.continue()),to.delete(r)}function no(t,e){return e===Symbol.asyncIterator&&Bs(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===e&&Bs(t,[IDBIndex,IDBObjectStore])}js(t=>({...t,get:(e,r,i)=>no(e,r)?io:t.get(e,r,i),has:(e,r)=>no(e,r)||t.has(e,r)}));var so=r(4668),oo=r.n(so);const ao=1024,co=/\[\d]+/,lo=[{match:/\/\/.*(?:gcs-vimeo|vod|vod-progressive|vod-adaptive)\.akamaized\.net.*?\/([\d/]+\.mp4)/,fuzzyCanonReplace:"//vimeo-cdn.fuzzy.replayweb.page/$1",split:".net"},{match:/\/\/.*player.vimeo.com\/(video\/[\d]+)\?.*/i,fuzzyCanonReplace:"//vimeo.fuzzy.replayweb.page/$1"},{match:/www.\washingtonpost\.com\/wp-apps\/imrs.php/,args:[["src"]]},{match:/(static.wixstatic.com\/.*\.[\w]+\/v1\/fill\/)(w_.*)/,replace:"$1?_args=$2",split:"/v1/fill"},{match:/(twimg.com\/profile_images\/[^/]+\/[^_]+)_([\w]+\.[\w]+)/,replace:"$1=_args=$2",split:"_",splitLast:!0},{match:/^https?:\/\/(?:www\.)?(youtube\.com\/embed\/[^?]+)[?].*/i,replace:"$1"},{match:/^(https?:\/\/(?:www\.)?)(youtube\.com\/@[^?]+)[?].*/i,fuzzyCanonReplace:"$1$2"},{match:/\/\/(?:www\.)?youtube(?:-nocookie)?\.com\/(get_video_info)/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1",args:[["video_id"]]},{match:/\/\/(?:www\.)?youtube(?:-nocookie)?\.com\/(youtubei\/v1\/[^?]+\?).*(videoId[^&]+).*/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1$2",args:[["videoId"]]},{match:/\/\/.*googlevideo.com\/(videoplayback)/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1",args:[["id","itag"],["id"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\/pagelet\/generic.php\/photoviewerinitpagelet/i,args:[[{arg:"data",keys:["query_type","fbid","v","cursor","data"]}]]},{match:/((?:twitter|x)\.com\/[^/]+\/status\/[^?]+)(\?.*)/,fuzzyCanonReplace:"$1"},{match:/((?:twitter|x)\.com\/i\/api\/graphql\/.*)/,args:[["cursor"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\//i,fuzzySet:!0},{match:(ho=["(callback=jsonp)[^&]+(?=&|$)","((?:\\w+)=jquery)[\\d]+_[\\d]+","utm_[^=]+=[^&]+(?=&|$)","(_|cb|_ga|\\w*cache\\w*)=[\\d.-]+(?=$|&)"],new RegExp("[?&]"+ho.map(t=>"("+t+")").join("|"),"gi")),replace:""},{match:/(\.(?:js|webm|mp4|gif|jpg|png|css|json|m3u8))\?.*/i,replace:"$1",maxResults:2}];var ho;const uo=new class{rules;constructor(t){this.rules=t||lo}getRuleFor(t){let e;const r=-1===t.indexOf("?")?t+"?":t;for(const t of this.rules)if(r.length<4096&&r.match(t.match)){e=t;break}let i=t;e?.fuzzyCanonReplace&&(i=t.replace(e.match,e.fuzzyCanonReplace));const n=e?.split||"?",s=e?.splitLast?t.lastIndexOf(n):t.indexOf(n);return{prefix:s>0?t.slice(0,s+n.length):t,rule:e,fuzzyCanonUrl:i}}getFuzzyCanonsWithArgs(t){let{fuzzyCanonUrl:e,prefix:r,rule:i}=this.getRuleFor(t);e===t&&(e=r);const n=[];if(i?.args){const r=new URL(e),s=new URL(t);for(const t of i.args){const e=new URLSearchParams;for(const r of t)e.set(r,s.searchParams.get(r)||"");r.search=e.toString(),n.push(r.href)}return n}return[e]}fuzzyCompareUrls(t,e,r){if(!e?.length)return null;if(void 0!==r?.replace&&void 0!==r.match&&(!r.maxResults||e.length<=r.maxResults)){const i=r.match,n=r.replace,s=t.replace(i,n),o=[];for(const t of e){const e=t.url.replace(i,n);if(s===e)return t;t.fuzzyMatchUrl=e,o.push(t)}e=o,t=s}return this.fuzzyBestMatchQuery(t,e,r)}fuzzyBestMatchQuery(t,e,r){let i;try{i=new URL(t)}catch(t){return null}const n=r?.args&&!r.fuzzyArgs?new Set(r.args[0]):null;let s=Number.MIN_SAFE_INTEGER,o=null;const a=new URLSearchParams(i.search);for(const i of e){if(204===i.status||304===i.status)continue;let e;try{e=new URL(i.fuzzyMatchUrl||i.url)}catch(t){continue}const c=new URLSearchParams(e.search);let l=this.getMatch(a,c,n,r?.fuzzySet);l+=this.getMatch(c,a,n),l/=2,i.status>200&&(l+=.1*(200-i.status)),l>s&&(s=l,o=i)}return o}getMatch(t,e,r=null,i=!1){let n=1,s=1;const o={};for(let[a,c]of t){let t,l=e.get(a);if(r&&r.has(a)&&l!==c)return-1e3;t=a.startsWith("_")?.1:10,null!==l&&(n+=.5*t,l.length>ao&&(l=l.slice(0,ao))),c&&c.length>ao&&(c=c.slice(0,ao));const h=Number(c),u=Number(l);if(s+=t,i&&l&&this.addSetMatch(o,a,c,l),l===c)n+=t*c.length;else if(null===l||null===c)n+=0;else if(isNaN(h)||isNaN(u))if(c.startsWith("{")&&l.startsWith("{"))try{const e=ft(c),r=ft(l);n+=this.getMatch(e,r)*t*2}catch(e){n+=.5*t*this.levScore(c,l)}else i||(n+=t*this.levScore(c,l));else n+=10-Math.log(Math.abs(h-u)+1)}return n/s+(i?this.paramSetMatch(o,100):0)}addSetMatch(t,e,r,i){if(!(r&&i&&r.startsWith("/")&&i.startsWith("/")))return;const n=e.split(co);if(n.length<=1)return;const s=r.indexOf("?"),o=i.indexOf("?"),a=n[0],c=s>0?r.slice(0,s):r,l=o>0?i.slice(0,o):i;t[a]||(t[a]={value:[],found:new Set}),t[a].value.push(c),t[a].found.add(l)}paramSetMatch(t,e){let r=0;for(const i of Object.values(t)){let t=e;for(const e of i.value)i.found.has(e)&&(r+=t),t*=.33}return r}levScore(t,e){const r=Math.min(t.length,e.length),i=oo()(t,e);return i<r?r-i:0}},po=new Date("9999-01-01").getTime(),fo="warc/revisit";class go{name;minDedupSize;version;autoHttpsCheck=!0;useRefCounts=!1;allowRepeats=!0;repeatTracker=null;fuzzyPrefixSearch=!0;initing;db=null;constructor(t,e={}){this.name=t,this.db=null;const{minDedupSize:r,noRefCounts:i}=e;this.minDedupSize=Number.isInteger(r)?r:1024,this.version=4,this.autoHttpsCheck=!0,this.useRefCounts=!i,this.allowRepeats=!0,this.repeatTracker=new mo,this.fuzzyPrefixSearch=!0,this.initing=this.init()}async init(){let t=0;this.db=await Gs(this.name,this.version,{upgrade:(e,r,i,n)=>{t=r,this._initDB(e,r,i,n)},blocking:(t,e)=>{e||this.close()}}),1===t&&await this.convertCuratedPagesToV2(this.db)}_initDB(t,e,r,i){if(!e){const e=t.createObjectStore("pages",{keyPath:"id"});e.createIndex("url","url"),e.createIndex("ts","ts"),e.createIndex("state","state"),t.createObjectStore("pageLists",{keyPath:"id",autoIncrement:!0}),t.createObjectStore("curatedPages",{keyPath:"id",autoIncrement:!0}).createIndex("listPages",["list","pos"]);const r=t.createObjectStore("resources",{keyPath:["url","ts"]});r.createIndex("pageId","pageId"),r.createIndex("mimeStatusUrl",["mime","status","url"]),t.createObjectStore("payload",{keyPath:"digest"}).createIndex("digest","digest",{unique:!0}),t.createObjectStore("digestRef",{keyPath:"digest"}).createIndex("digest","digest",{unique:!0})}}async clearAll(){const t=["pages","resources","payload","digestRef"];if(this.db)for(const e of t)await this.db.clear(e)}close(){this.db&&(this.db.close(),this.db=null)}async delete(){this.close(),await qs(this.name,{blocked(t,e){console.log("Unable to delete: "+e)}})}async addPage(t,e){const r=t.url,i=t.title||t.url,n=t.id||this.newPageId(),s=t.state||17;let o=t.ts;if("number"!=typeof o)if(t.timestamp)o=f(t.timestamp).getTime();else{const e=t.ts||t.date||t.datetime;e&&(o=new Date(e).getTime())}const a={...t,url:r,ts:o,title:i,id:n,state:s};return e?(e.store.put(a),a.id):await this.db.put("pages",a)}async addPages(t,e="pages",r=!1){const i=this.db.transaction(e,"readwrite");for(const e of t)r?i.store.put(e):this.addPage(e,i);try{await i.done}catch(t){console.warn("addPages tx",String(t))}}async createPageList(t){const e={title:t.title,desc:t.desc||t.description,slug:t.id||t.slug};return await this.db.put("pageLists",e)}async addCuratedPageList(t,e){const r=await this.createPageList(t);let i=0;for(const t of e)t.pos=i++,t.list=r;await this.addPages(e,"curatedPages")}async addCuratedPageLists(t,e="pages",r="public"){for(const i of t){if(r&&!i[r])continue;const t=i[e]||[];await this.addCuratedPageList(i,t)}}async convertCuratedPagesToV2(t){const e=await t.getAll("curatedPages");if(!e?.length)return;const r=await t.getAll("pages"),i=new Map;for(const t of r)i.set(t.id,t);for(const t of e)if(t.page){const e=i.get(t.page);e&&(t.id=this.newPageId(),t.url=e.url,t.ts=e.ts,!t.title&&e.title&&(t.title=e.title)),delete t.page}await t.clear("curatedPages");const n=t.transaction("curatedPages","readwrite");for(const t of e)n.store.put(t);try{await n.done}catch(t){console.warn("Conversion Failed",t)}}async getCuratedPagesByList(){const t=await this.db.getAll("pageLists"),e=this.db.transaction("curatedPages","readonly");for await(const r of e.store.index("listPages").iterate()){const e=t[r.value.list-1];e&&(e.show=!0,e.pages||(e.pages=[]),e.pages.push(r.value))}return t}newPageId(){return b()}async getAllPages(){return await this.db.getAll("pages")}async getPagesByUrl(t){return await this.db.getAllFromIndex("pages","url",t)}async getPages(t){const e=[];t.sort();for await(const r of this.matchAny("pages",null,t))e.push(r);return e}async getTimestampsByURL(t){const e=this.db.transaction("resources"),r=IDBKeyRange.bound([t],[t,po]),i=[];for await(const t of e.store.iterate(r))i.push(t.key[1]);return i}async getPagesWithState(t){return await this.db.getAllFromIndex("pages","state",t)}async getVerifyInfo(){return{}}async addVerifyData(t="",e,r,i=null,n=!1){}async addVerifyDataList(t,e){}async dedupResource(t,e,r,i=1){const n=r.objectStore("digestRef"),s=await n.get(t);if(s)return++s.count,s;if(e)try{return r.objectStore("payload").put({digest:t,payload:e}),{digest:t,count:i,size:e.length}}catch(t){console.log(t)}return null}async addResources(t){const e=[],r=[],i=[],n={},s=new Set,o=this.db.transaction(["digestRef","payload"],"readwrite");for(const a of t){let t=1;const c=a.status||200,l=a.mime===fo?e:c>=300?r:i;l.push(a);const h=this.getFuzzyUrl(a);if(h&&(l.push(h),t=2),this.useRefCounts&&a.digest){const e=n[a.digest];e?(e.count+=t,s.add(a.digest)):n[a.digest]=await this.dedupResource(a.digest,a.payload,o,t),delete a.payload}}if(this.useRefCounts){const t=o.objectStore("digestRef");for(const e of s)t.put(n[e])}try{await o.done}catch(t){console.error("Payload and Ref Count Bulk Add Failed: ",t)}const a=this.db.transaction("resources","readwrite");for(const t of e)a.store.put(t);for(const t of r)a.store.put(t);for(const t of i)a.store.put(t);try{await a.done}catch(t){console.error("Resources Bulk Add Failed",t)}}getFuzzyUrl(t){if(t.status&&t.status>=200&&t.status<400&&304!==t.status&&204!==t.status){const{fuzzyCanonUrl:e}=uo.getRuleFor(t.url);return e&&e!==t.url?{url:e,ts:t.ts,origURL:t.url,origTS:t.ts,pageId:t.pageId,digest:t.digest}:null}return null}async addResource(t){t.payload&&t.payload.length>this.minDedupSize&&(t.digest||(t.digest=await y(t.payload,"sha-256")));let e=null,r=!1;const i=this.db.transaction(["resources","digestRef","payload"],"readwrite");if(t.payload&&t.payload.length>this.minDedupSize?(e=await this.dedupResource(t.digest||"",t.payload,i),r=!!e&&1===e.count,delete t.payload):t.payload&&(r=!0),t.mime!==fo){i.objectStore("resources").put(t);const r=this.getFuzzyUrl(t);r&&(i.objectStore("resources").put(r),e&&e.count++)}else i.objectStore("resources").add(t);e&&i.objectStore("digestRef").put(e);try{await i.done}catch(e){t.mime===fo?console.log("Skip Duplicate revisit for: "+t.url):console.log("Add Error for "+t.url),console.log(e)}return r}async getResource(t,e,r,i={}){const n=f(t.timestamp).getTime();let s=t.url,o=null;const a=this.repeatTracker?this.repeatTracker.getSkipCount(r,s,t.request.method):0,c={...i,skip:a};if(t.httpToHttpsNeeded&&(s=s.slice(s.indexOf("//"))),s.startsWith("//")){let e=!1;o=await this.lookupUrl("https:"+s,n,c),o||(o=await this.lookupUrl("http:"+s,n,c),(o||t.request.referrer.indexOf("/http://",2)>0)&&(e=!0)),s=(e?"http:":"https:")+s}else if(o=await this.lookupUrl(s,n,c),!o&&this.autoHttpsCheck&&s.startsWith("http://")){const t=s.replace("http://","https://");o=await this.lookupUrl(t,n,c),o&&(s=t)}if(o||!this.fuzzyPrefixSearch||i.noFuzzyCheck||(o=await this.lookupQueryPrefix(s,i)),o?.origURL){const t=await this.lookupUrl(o.origURL,o.origTS||o.ts,i);t&&(s=t.url,o=t)}if(!o)return null;const l=o.status||0,h=o.statusText||x(l);let u=null;if(!_(l)&&(u=await this.loadPayload(o,i),!u))return null;const p=o.respHeaders?E(o.respHeaders):new Headers,d=new Date(o.ts),g=o.extraOpts||null;return s=o.url,s!==t.url&&p.set("Content-Location",s),new Jn({url:s,payload:u,status:l,statusText:h,headers:p,date:d,extraOpts:g})}async loadPayload(t,e){if(t.digest&&!t.payload){if("sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"===t.digest||"sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ"===t.digest)return new Uint8Array([]);const e=await this.db.get("payload",t.digest);if(!e)return null;const{payload:r}=e;return r}return t.payload||null}shouldSkipResult(t,e,r){try{if(r&&e?.status&&e.status>=500)return!0;if(e?.respHeaders&&e.status&&e.status>=300&&e.status<400){const r=new Headers(e.respHeaders).get("location")||"";if(new URL(r,t).href===t)return!0}}catch(t){}return!1}async lookupUrl(t,e,r={}){const i=this.db.transaction("resources","readonly");if(e){const n=IDBKeyRange.bound([t,e],[t,po]);if(r.noRevisits||r.pageId){let e=await i.store.getAll(n,16);e=e||[];for(const i of e)if(!(r.pageId&&i.pageId&&i.pageId!==r.pageId||r.noRevisits&&i.mime===fo||this.shouldSkipResult(t,i,r.skip5xx)))return i}else{const s=await i.store.get(n);if(s&&this.shouldSkipResult(t,s,r.skip5xx))e+=1e4;else if(s)return s}}const n=IDBKeyRange.bound([t],[t,e||po]);for await(const e of i.store.iterate(n,"prev")){const i=e.value;if(!(r.pageId&&i.pageId&&i.pageId!==r.pageId||r.noRevisits&&i.mime===fo||this.shouldSkipResult(t,i,r.skip5xx)))return i}return null}async lookupQueryPrefix(t,e){const{rule:r,prefix:i,fuzzyCanonUrl:n}=uo.getRuleFor(t);if(n!==t){const t=await this.lookupUrl(n,0,e);if(t)return t}if(!r&&i===t&&i===n&&!t.endsWith("?"))return null;const s=await this.db.getAll("resources",this.getLookupRange(i,"prefix"),128e3);return uo.fuzzyCompareUrls(t,s,r)}resJson(t){const e=new Date(t.ts).toISOString();return{url:t.url,date:e,ts:d(e),mime:t.mime||"",status:t.status||0}}async resourcesByPage(t){return this.db.getAllFromIndex("resources","pageId",t)}async*resourcesByPages2(t){t.sort(),yield*this.matchAny("resources","pageId",t)}async*resourcesByPages(t){const e=this.db.transaction("resources","readonly");for await(const r of e.store.iterate())t.includes(r.value.pageId)&&(yield r.value)}async*matchAny(t,e,r,i,n=!1){const s=this.db.transaction(t,"readonly"),o=IDBKeyRange.lowerBound(r[0],n);let a=e?await s.store.index(e).openCursor(o):await s.store.openCursor(o),c=0;for(;a&&c<r.length;){let t,e,n;void 0!==i?(t=a.key[i],e=r[c][i],n=t.startsWith(e)):(t=a.key,e=r[c],n=t===e),!n&&t>e?++c:n?(yield a.value,a=await a.continue()):a=await a.continue(r[c])}}async resourcesByUrlAndMime(t,e,r=1e3,i=!0,n="",s=""){const o=e?0:r,a=await this.db.getAll("resources",this.getLookupRange(t,i?"prefix":"exact",n,s),o),c=e.split(","),l=[];for(const t of a)for(const e of c)if(!e||t.mime?.startsWith(e)){if(l.push(this.resJson(t)),l.length===r)return l;break}return l}async resourcesByMime(t,e=100,r="",i="",n=0){const s=t.split(","),o=[];s.sort();const a=[];r&&a.push([r,n,i]);for(const t of s)(!r||!t||t>r)&&a.push([t,0,""]);for await(const t of this.matchAny("resources","mimeStatusUrl",a,0,!0))if(o.push(this.resJson(t)),o.length===e)break;return o}async deletePage(t){const e=this.db.transaction("pages","readwrite"),r=await e.store.get(t);await e.store.delete(t);const i=await this.deletePageResources(t);return{pageSize:r?.size||0,dedupSize:i}}async deletePageResources(t){const e={},r=this.db.transaction("resources","readwrite");let i=await r.store.index("pageId").openCursor(t),n=0;for(;i;){const t=i.value.digest;t?e[t]=(e[t]||0)+1:i.value.payload&&(n+=i.value.payload.length),r.store.delete(i.primaryKey),i=await i.continue()}await r.done;const s=this.db.transaction(["payload","digestRef"],"readwrite"),o=s.objectStore("digestRef");for(const t of Object.keys(e)){const r=await o.get(t);r&&(r.count-=e[t]),r&&r.count>=1?o.put(r):(n+=r?r.size:0,o.delete(t),s.objectStore("payload").delete(t))}return await s.done,n}prefixUpperBound(t){return t.slice(0,-1)+String.fromCharCode(t.charCodeAt(t.length-1)+1)}getLookupRange(t,e,r,i){let n,s,o;switch(e){case"prefix":n=[t],s=[this.prefixUpperBound(t)];break;case"host":{const e=new URL(t).origin;n=[e+"/"],s=[e+"0"];break}default:n=[t],s=[t,Number.MAX_SAFE_INTEGER]}return r?(n=[r,i||""],o=!0):o=!1,IDBKeyRange.bound(n,s,o,!0)}}class mo{repeats={};getSkipCount(t,e,r){if("POST"!==r&&!e.endsWith(".m3u8"))return 0;t.replacesClientId&&delete this.repeats[t.replacesClientId];const i=t.resultingClientId||t.clientId;return i?(void 0===this.repeats[i]&&(this.repeats[i]={}),void 0===this.repeats[i][e]?this.repeats[i][e]=0:this.repeats[i][e]++,this.repeats[i][e]):0}}const yo=["script","style","header","footer","banner-div","noscript"];class wo{batchSize;promises=[];batch=[];count=0;dupeSet=new Set;db;constructor(t=1e3){this.batchSize=t}addPage(t){this.promises.push(this.db.addPage(t))}isBatchFull(){return this.batch.length>=this.batchSize}addResource(t){if(this.isBatchFull()&&this.flush(),Number.isNaN(t.ts))return void console.warn("Skipping resource with missing/invalid ts: "+t.url);const e=t.url+" "+t.ts;if("warc/revisit"===t.mime){if(this.dupeSet.has(e))return void console.warn("Skipping duplicate revisit, prevent overriding non-revisit")}else this.dupeSet.add(e);this.batch.push(t)}flush(){this.batch.length>0&&this.promises.push(this.db.addResources(this.batch)),console.log(`Read ${this.count+=this.batch.length} records`),this.batch=[]}async finishIndexing(){this.flush(),this._finishLoad();try{await Promise.all(this.promises)}catch(t){console.warn(t)}this.promises=[]}_finishLoad(){}}class Ao extends wo{reader;abort;loadId;sourceExtra;anyPages=!1;detectPages=!1;_lastRecord=null;metadata={};pages=[];lists=[];pageMap={};constructor(t,e=null,r=null,i=null){super(),this.reader=t,this.abort=e,this.loadId=r,this._lastRecord=null,this.metadata={},this.pageMap={},this.pages=[],this.lists=[],this.sourceExtra=i}parseWarcInfo(t){if(!t.payload)return;const e=new TextDecoder("utf-8").decode(t.payload);for(const r of e.split("\n"))if(r.startsWith("json-metadata:"))try{const t=JSON.parse(r.slice(14));if("collection"===t.type&&(this.metadata.desc=t.desc,this.metadata.title=t.title),t.pages?.length){this.pages=this.pages.concat(t.pages);for(const e of t.pages)e.ts=f(e.timestamp).getTime(),this.pageMap[e.ts+"/"+e.url]={page:e};this.anyPages=!0}t.lists?.length&&(this.lists=this.lists.concat(t.lists))}catch(t){console.log("Page Add Error",t.toString())}}index(t,e){if("warcinfo"!==t.warcType){if(this._lastRecord)return this._lastRecord.warcTargetURI!=t.warcTargetURI?(this.indexReqResponse(this._lastRecord,null,e),void(this._lastRecord=t)):void("request"===t.warcType&&"response"===this._lastRecord.warcType?(this.indexReqResponse(this._lastRecord,t,e),this._lastRecord=null):"response"===t.warcType&&"request"===this._lastRecord.warcType?(this.indexReqResponse(t,this._lastRecord,e),this._lastRecord=null):(this.indexReqResponse(this._lastRecord,null,e),this._lastRecord=t));this._lastRecord=t}else this.parseWarcInfo(t)}indexDone(t){this._lastRecord&&(this.indexReqResponse(this._lastRecord,null,t),this._lastRecord=null)}shouldIndexMetadataRecord(t){const e=t.warcTargetURI;return!!e?.startsWith("metadata://")}parseRevisitRecord(t,e){const r=t.warcTargetURI.split("#")[0],i=t.warcDate,n=i?new Date(i).getTime():Date.now();let s,o=null;if(t.httpHeaders){const i=this.parseResponseHttpHeaders(t,r,e);i&&(o=Object.fromEntries(i.headers.entries()),s=i.status)}const a=t.warcRefersToTargetURI,c=new Date(t.warcRefersToDate).getTime(),l=t.warcHeader("WARC-Refers-To-Container");let h="";return l?.endsWith(".wacz")&&(h=l,l.startsWith("file://")&&(h=h.slice(7))),a===r&&c===n?null:{url:r,ts:n,origURL:a,origTS:c,origWACZ:h,digest:t.warcPayloadDigest||null,pageId:null,respHeaders:o,status:s}}parseResponseHttpHeaders(t,e,r){let i=200,n=null,s="";const o=r?.httpHeaders?.method;if(t.httpHeaders){if(i=Number(t.httpHeaders.statusCode)||200,"OPTIONS"===o||"HEAD"===o)return null;if(n=E(t.httpHeaders.headers),s=(n.get("content-type")||"").split(";")[0],206===i&&!this.isFullRangeRequest(n))return null}else n=new Headers,n.set("content-type",t.warcContentType),n.set("content-length",String(t.warcContentLength)),s=t.warcContentType||"";return{status:i,method:o,headers:n,mime:s}}indexReqResponse(t,e,r){const i=this.parseRecords(t,e);i&&this.addResource(i)}parseRecords(t,e){switch(t.warcType){case"revisit":return this.parseRevisitRecord(t,e);case"resource":e=null;break;case"response":break;case"metadata":if(!this.shouldIndexMetadataRecord(t))return null;break;default:return null}let r=t.warcTargetURI.split("#")[0];const i=t.warcDate,n=this.parseResponseHttpHeaders(t,r,e);if(!n)return null;const{status:s,method:o,headers:a,mime:c}=n;let l,h,u=null,p=null;if(e?.httpHeaders?.headers){let t=null;try{t=new Headers(e.httpHeaders.headers);const r=t.get("cookie");r&&a.set("x-wabac-preset-cookie",r),u=e.httpHeaders.headers.get("Referer")||null}catch(e){t=new Headers,console.warn(e)}if(h=Object.fromEntries(t.entries()),"GET"!==o){const i={headers:t,method:o||"GET",url:r,postData:e.payload};pt(i)&&(l=r,r=i.url,p=e.payload)}}if(void 0===this.detectPages&&(this.detectPages=!this.anyPages),this.detectPages&&function(t,e,r){if(200!=e)return!1;if(!t.startsWith("http:")&&!t.startsWith("https:")&&!t.startsWith("blob:"))return!1;if(t.endsWith("/robots.txt"))return!1;const i=t.split("?",2);return!(2===i.length&&i[1].length>i[0].length)&&(!i[0].substring(i[0].lastIndexOf("/")+1).startsWith(".")&&(!r||"text/html"===r))}(r,s,c)){const t=r;this.addPage({url:r,date:i,title:t})}const d=i?new Date(i).getTime():Date.now(),f=Object.fromEntries(a.entries()),g=t.warcPayloadDigest||null,m=t.payload,y={url:r,ts:d,status:s,mime:c,respHeaders:f,reqHeaders:h,digest:g,payload:m,reader:m?null:t.reader,referrer:u};this.pageMap[d+"/"+r]&&m&&c.startsWith("text/")&&(this.pageMap[d+"/"+r].textPromise=async function(t,e,r,i){const n=new Dn,s=[];let o=null;n.on("text",t=>{if(o)return;const e=t.text.trim();e&&s.push(e)}),n.on("startTag",t=>{!t.selfClosing&&yo.includes(t.tagName)&&(o=t.tagName)}),n.on("endTag",t=>{t.tagName===o&&(o=null)}),(r||i)&&(e=await $t(e,r,i)),n.end((new TextDecoder).decode(e));const a=new Promise(t=>{n.on("end",()=>{t(s.join(" "))})});return await a}(0,m,a.get("content-encoding"),a.get("transfer-encoding")));const w=t.warcHeader("WARC-JSON-Metadata");if(w)try{y.extraOpts=JSON.parse(w)}catch(t){}const A=t.warcHeader("WARC-Page-ID");return A&&(y.pageId=A),this.sourceExtra&&(y.source=this.sourceExtra),"GET"!==o&&l&&(y.requestUrl=l,y.method=o,y.requestBody=p||new Uint8Array([])),y}isFullRangeRequest(t){const e=t.get("content-range"),r=parseInt(t.get("content-length")||"0");return e&&e===`bytes 0-${r-1}/${r}`}filterRecord(t){return null}async load(t,e,r=0){if(e&&!r)throw new Error("totalSize is required");this.db=t;const i=new Wt(this.reader);let n=0,s=0,o=0;try{for await(const a of i){if(o++,!a.warcType){console.log("skip empty record");continue}const c=self.interruptLoads;if(e&&this.loadId&&c[this.loadId])throw e(Math.round(i.offset/r*95),"Loading Canceled",i.offset,r),c[this.loadId](),this.abort&&this.abort.abort(),new N;if(s=(new Date).getTime(),s-n>500){const t=`Processed ${o} records`;e(Math.round(i.offset/r*95),null,i.offset,r,null,t),n=s}const l=this.filterRecord(a);if("done"===l){this.abort&&this.abort.abort();break}if("skip"!==l&&("skipContent"===l?await a.skipFully():await a.readFully(),o++,this.index(a,i),this.promises.length>0)){try{await Promise.all(this.promises)}catch(t){console.warn(t.toString())}this.promises=[]}}}catch(t){if(t instanceof N)throw t;e(Math.round(i.offset/r*95),`Sorry there was an error downloading. Please try again (${t})`,i.offset,r),console.warn(t)}return this.indexDone(i),e(95,null,i.offset,r),await this.finishIndexing(),e(100,null,r,r),this.metadata}async _finishLoad(){if(this.pages.length){for(const{page:t,textPromise:e}of Object.values(this.pageMap))if(e)try{t.text=await e}catch(t){console.warn("Error adding text: "+t.toString())}this.promises.push(this.db.addPages(this.pages))}this.lists.length&&this.promises.push(this.db.addCuratedPageLists(this.lists,"bookmarks","public"))}}class bo extends Ao{constructor(t){super(t),this.detectPages=!1}addPage(){}async load(){const t=await new Wt(this.reader).parse();if(!t)return null;const e=this.parseRecords(t,null);return e&&"revisit"!==t.warcType||await t.readFully(),e}}const Eo="https://w3s.link/";function vo(t){const{hostname:e,protocol:r,pathname:i}=new URL(t),n=r.slice(0,-1);if(!e){const[t,...e]=i.slice(2).split("/");return{type:n,cid:t,path:"/"+e.join("/")}}return{type:n,cid:e,path:i}}async function _o(t){return Ro(t)?t:ko(t)?So(t):t}async function xo(t){return new Response(t).blob()}async function*Io(t){const e=await t.getReader();try{for(;;){const{done:t,value:r}=await e.read();if(t)return;yield r}}finally{e.releaseLock()}}function So(t){let e=t;e.next||(e=t[Symbol.asyncIterator]());const r=new TextEncoder;return new ReadableStream({async pull(t){const{value:i,done:n}=await e.next();if(n)await t.close();else{let e=i;"string"==typeof e&&(e=r.encode(e)),await t.enqueue(e)}}})}async function To(t){if(!t.ok){const e=await t.text(),r=t.status;throw new Error(`HTTP Error ${r}: ${e}`)}}async function Co({url:t,file:e,fileName:r="",parameterName:i="file",fetch:n=globalThis.fetch,signal:s}){const o=new FormData,a=new Headers;No(t,a);const c=await async function(t){if(Ro(t))return await xo(t);if(ko(t)){const e=So(t);return await xo(e)}return t instanceof Blob?t:new Blob([t])}(e);r?o.append(i,c,r):o.append(i,c);const l=await n(t,{method:"POST",body:o,headers:a,signal:s});return await To(l),l}function Ro(t){return"function"==typeof t.getReader}function ko(t){return t[Symbol.asyncIterator]}function No(t,e){if(t.password)if(t.username){const r=`Basic ${btoa(`${unescape(t.username)}:${unescape(t.password)}`)}`;e.append("Authorization",unescape(r)),t.username="",t.password=""}else{const r=`Bearer ${t.password}`;e.append("Authorization",unescape(r)),t.password=""}}async function Bo({url:t,fetch:e=globalThis.fetch,signal:r}){const i=await e(t,{method:"HEAD",signal:r});await To(i);const n=i.headers.get("x-ipfs-datasize")||i.headers.get("Content-Length");return parseInt(n,10)}async function*Oo({url:t,start:e,end:r,format:i,signal:n,fetch:s=globalThis.fetch}){const o=new Headers;Number.isInteger(e)&&(Number.isInteger(r)?o.set("Range",`bytes=${e}-${r}`):o.set("Range",`bytes=${e}-`));const a=new URL(t);i&&(o.set("Accept",`application/vnd.ipld.${i}`),o.set("cache-control","no-cache"));const c=await s(a.href,{headers:o,signal:n});await To(c),yield*Io(c.body)}async function*Po({url:t,start:e,end:r,format:i,signal:n,gatewayURL:s=Do()}){const o=function(t,e=Do()){const{cid:r,path:i,type:n}=vo(t);return new URL(`/${n}/${r}${i}`,e)}(t,s);yield*Oo({url:o,start:e,end:r,format:i,signal:n})}function Do(){if(!globalThis.location)return Eo;const{pathname:t,hostname:e,protocol:r}=globalThis.location;if(t.startsWith("/ipfs/")||t.startsWith("/ipns/"))return`${r}//${e}/`;const[i,...n]=e.split(".");return 59===i.length&&n.length>=2?`${r}//${n.join(".")}/`:Eo}let Lo=!1;const Uo=[5001,45001,45002,45003,45004,45005],Mo="https://api.web3.storage/",Fo="https://api.estuary.tech/",Ho="http://localhost:5001/",jo="agregore",Wo="daemon",Qo="web3.storage",zo="estuary",Vo="readonly",Go=[jo,Wo,Qo,zo,Vo];class qo{get type(){return"invalid"}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){throw new Error("Not Implemented")}async getSize(t,e=null){throw new Error("Not Implemented")}async uploadCAR(t,e=null){throw new Error("Not Implemented")}async uploadFile(t,e,r=null){throw new Error("Not Implemented")}async clear(t,e=null){throw new Error("Not Implemented")}}async function Yo({daemonURL:t,web3StorageToken:e,web3StorageURL:r=Mo,estuaryToken:i,estuaryURL:n=Fo,publicGatewayURL:s=Do(),readonly:o=!0,timeout:a=1e3,fetch:c=globalThis.fetch}={}){const l=[],h=[];if(h.push(async function(t=globalThis.fetch){try{return await t("ipfs://localhost/"),!0}catch(t){return Lo&&console.warn("Unable to detect Agregore",t),!1}}(c).then(t=>t&&l.push({type:jo,fetch:c}))),h.push(async function(){const t=Uo.map(t=>`http://localhost:${t}`);try{const r=await Promise.any(t.map(t=>ia(t).then(e=>{if(e)return t;throw new Error("Not found")})));return!!r&&(ra&&!ea&&(e=r,ea=!0,globalThis.chrome.webRequest.onBeforeSendHeaders.addListener(t=>{const{requestHeaders:r}=t;for(const t of r)if("origin"===t.name.toLowerCase())return t.value=e,{requestHeaders:r};return t.requestHeaders.push({name:"Origin",value:e}),{requestHeaders:r}},{urls:[e+"/*"]},["blocking","requestHeaders","extraHeaders"])),r)}catch{return!1}var e}().then(t=>t&&l.push({type:Wo,url:t,fetch:c}))),t&&h.push(ia(t,a,c).then(e=>e&&l.push({type:Wo,url:t,fetch:c}))),i){const t=n,e=i;l.push({type:zo,url:t,authorization:e,fetch:c,publicGatewayURL:s})}if(e){const t=r,i=e;l.push({type:Qo,url:t,authorization:i,fetch:c,publicGatewayURL:s})}return o&&s&&l.push({type:Vo,fetch:c,publicGatewayURL:s}),await Promise.allSettled(h),l}async function Ko({chooseOrder:t=Go,...e}={}){const r=function(t,e=Go){const r=t.filter(({type:t})=>e.includes(t)).sort(({type:t},{type:r})=>e.indexOf(t)-e.indexOf(r))[0];if(!r)throw new Error("Unable to find valid type");return r}(await Yo(e),t);return async function(t){const{type:e}=t;let r=null;if(e===jo)r=new Zo(t.fetch||globalThis.fetch);else if(e===Wo)r=new ta(t.url);else if(e===Qo)r=new $o(t.authorization,t.url,t.publicGatewayURL);else if(e===zo)r=new Jo(t.authorization,t.url,t.publicGatewayURL);else{if(e!==Vo)throw new TypeError(`Unknown API type: ${e}.`);r=new Xo(t.publicGatewayURL)}return r}(r)}class Xo extends qo{constructor(t=Do()){super(),this.gatewayURL=t}get type(){return Vo}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){yield*Po({url:t,start:e,end:r,format:n,gatewayURL:this.gatewayURL,signal:i})}async getSize(t,e=null){const{cid:r,path:i,type:n}=vo(t);return Bo({url:new URL(`/${n}/${r}${i}`,this.gatewayURL),signal:e})}}class Jo extends Xo{constructor(t,e=Fo,r=Do()){super(r),this.authorization=t,this.url=e}get type(){return zo}async uploadCAR(t,e=null){throw new Error("Not Implemented")}async uploadFile(t,e,r=null){const i=new URL("/content/add",this.url);i.password=this.authorization;const n=await Co({url:i,file:t,fileName:e,parameterName:"data",signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Zo extends qo{constructor(t=globalThis.fetch){super(),this.fetch=t}get type(){return jo}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{fetch:s}=this;yield*Oo({url:t,start:e,end:r,format:n,fetch:s,signal:i})}async getSize(t,e=null){const{fetch:r}=this;return Bo({url:t,fetch:r,signal:e})}async uploadCAR(t,e=null){const r=await _o(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/vnd.ipld.car"},signal:e,body:r});return await To(n),(await n.text()).split("\n")}async uploadFile(t,e=null){const r=await _o(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/octet-stream"},signal:e,body:r});return await To(n),n.headers.get("Location")}}class $o extends Xo{constructor(t,e=Mo,r=Do()){super(r),this.authorization=t,this.url=e}get type(){return Qo}async uploadCAR(t,e=null){const r=new URL("/car",this.url);r.password=this.authorization;const i=await async function({url:t,fileIterator:e,signal:r}){const i=new Headers;i.set("Content-Type","application/octet-stream"),No(t,i);const n=await _o(e),s=await fetch(t,{method:"POST",signal:r,body:n,headers:i,duplex:"half"});return await To(s),s}({url:r,fileIterator:t,signal:e});return(await i.text()).split("\n").filter(t=>t).map(t=>{const{cid:e}=JSON.parse(t);return`ipfs://${e}/`})}async uploadFile(t,{fileName:e="",signal:r=null}={}){const i=new URL("/upload",this.url);i.password=this.authorization;const n=await Co({url:i,file:t,fileName:e,signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class ta extends qo{constructor(t=Ho){super(),this.url=t}get type(){return Wo}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{cid:s,path:o,type:a}=vo(t),c=new URL(`/api/v0/cat?arg=/${a}/${s}${o}`,this.url);if(e&&c.searchParams.set("offset",e),r&&c.searchParams.set("length",r-(e||0)+1),n)throw new Error("Format is unsupported on Kubo Daemons for now");const l=await fetch(c,{method:"POST",signal:i});await To(l),yield*Io(l.body)}async getSize(t,e=null){try{const{cid:r,path:i,type:n}=vo(t),s=`/api/v0/file/ls?arg=/${n}/${r}${i}&size=true`,o=new URL(s,this.url),a=await fetch(o,{method:"POST",signal:e});await To(a);const{Objects:c}=await a.json(),[{Size:l}]=Object.values(c);return l}catch(r){return Lo&&console.warn(r),this._getSizeWithDag(t,e)}}async _getSizeWithDag(t,e=null){const{cid:r,path:i,type:n}=vo(t),s=new URL(`/api/v0/dag/stat?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await To(o);const{Size:a}=await o.json();return parseInt(a,10)}async _pin(t,e=null){const{cid:r,path:i,type:n}=vo(t),s=new URL(`/api/v0/pin/add?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await To(o)}async _unpin(t,e=null){const{cid:r,path:i,type:n}=vo(t),s=new URL(`/api/v0/pin/rm?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await To(o)}async clear(t,e=null){return this._unpin(t,e)}async uploadCAR(t,e=null){const r=new URL("/api/v0/dag/import?allow-big-block=true&pin-roots=true",this.url),i=await Co({url:r,file:t,signal:e});return(await i.text()).split("\n").filter(t=>t).map(t=>{const{Root:e}=JSON.parse(t);return`ipfs://${e.Cid["/"]}/`})}async uploadFile(t,e="",r=null){const i=new URL("/api/v0/add?pin=true&cid-version=1&inline=false&raw-leaves=true",this.url),n=t.name&&t instanceof Blob;(e||n)&&i.searchParams.set("wrap-with-directory","true");const s=await Co({url:i,file:t,fileName:e,signal:r}),o=await s.text(),[a]=o.split("\n"),{Hash:c}=JSON.parse(a),l=`ipfs://${c}/`;return await this._pin(l,r),l}}let ea=!1;const ra=!!(globalThis&&globalThis.chrome&&globalThis.chrome.webRequest&&globalThis.chrome.webRequest.onBeforeSendHeaders&&globalThis.chrome.webRequest.onBeforeSendHeaders.addListener);async function ia(t=Ho,e=1e3,r=globalThis.fetch){try{const i=new AbortController,{signal:n}=i;setTimeout(()=>i.abort(),e);const s=await r(new URL("/api/v0/version",t),{method:"POST",signal:n});return!!s.ok||!(!s.status||404===s.status)}catch(e){return Lo&&console.warn("Unable to detect Kubo Daemon",e,t),!1}}let na=null;async function sa(t){return na||(na=await Ko(t)),na}const oa="https://helper-proxy.webrecorder.workers.dev";async function aa(t){const{url:e}=t;if(t.extra?.arrayBuffer)return new ua(t.extra.arrayBuffer);const r=e.split(":",1)[0];switch(r){case"blob":return new pa(t);case"http":case"https":return new la(t);case"file":return new da(t);case"googledrive":return new ha(t);case"ipfs":return new fa(t)}try{if(self.location&&r===self.location.protocol.split(":")[0])return new la(t)}catch(t){}try{await fetch(`${r}://localhost`,{method:"HEAD"});try{new URL(e)}catch(r){let i=e.replace(":\\","//");i=i.replaceAll("\\","/"),t.url=i}return new la(t)}catch(t){}throw new Error("Invalid URL: "+e)}class ca{canLoadOnDemand=!0;headers={};length=null;canDoNegativeRange=!1;constructor(t){this.canLoadOnDemand=t}async getRangeFromEnd(t,e,r){if(this.canDoNegativeRange)return await this.getRange(0,-t,e,r);{const i=await this.getLength();return t=Math.min(t,i),await this.getRange(i-t,t,e,r)}}getFullBuffer(){return null}}class la extends ca{url;length;isValid=!1;ipfsAPI=null;loadingIPFS=null;arrayBuffer=null;constructor({url:t,headers:e,length:r=null,canLoadOnDemand:i=!1}){super(i),this.url=t,this.headers=e||{},this.length=r,this.canLoadOnDemand=i,this.canDoNegativeRange=!0}async doInitialFetch(t,e=!1){const r=new Headers(this.headers);e||r.set("Range","bytes=0-"),this.isValid=!1;let i=null,n=null;if(t)try{n=await this.retryFetch(this.url,{headers:r,method:"HEAD",cache:"no-store"}),200!==n.status&&206!=n.status||(this.canLoadOnDemand=206===n.status||"bytes"===n.headers.get("Accept-Ranges"),this.isValid=!0)}catch(t){}if(!this.isValid||!this.canLoadOnDemand){i=new AbortController;const e=i.signal;n=await this.retryFetch(this.url,{headers:r,signal:e,cache:"no-store"}),this.canLoadOnDemand=206===n.status||"bytes"===n.headers.get("Accept-Ranges"),this.isValid=206===n.status||200===n.status,t&&(i.abort(),i=null)}if(null===this.length&&n&&(this.length=Number(n.headers.get("Content-Length")),this.length||206!==n.status||this.parseLengthFromContentRange(n.headers)),null===this.length)try{const t=await fetch(`${oa}/c/${this.url}`),e=await t.json();e.size&&(this.length=e.size)}catch(t){console.log("Error fetching from helper: "+t)}if(this.length=Number(this.length||0),!this.canLoadOnDemand&&this.isValid&&this.length>0&&this.length<=o){const t=await this.retryFetch(this.url,{headers:r,cache:"no-store"});t.ok&&(this.arrayBuffer=new ua(new Uint8Array(await t.arrayBuffer())),this.canLoadOnDemand=!0,this.canDoNegativeRange=!1)}return{response:n,abort:i}}async getLength(){if(null===this.length){const{abort:t}=await this.doInitialFetch(!0);t&&t.abort()}return this.length||0}async getRange(t,e,r=!1,i=null){if(this.arrayBuffer)return await this.arrayBuffer.getRange(t,e,r);const n=new Headers(this.headers);e<0?n.set("Range",`bytes=${e}`):n.set("Range",`bytes=${t}-${t+e-1}`);const s={signal:i,headers:n,cache:"no-store"};let o;try{o=await this.retryFetch(this.url,s)}catch(t){throw new C(this.url)}if(206!=o.status){if(e<0){const t=await this.getLength();return-e>t&&(e=-t),await this.getRange(t+e,-e,r,i)}const t={url:this.url,status:o.status,resp:o};throw 401===o.status?new R(t):403==o.status?new k(t):new C(t)}return null===this.length&&this.parseLengthFromContentRange(o.headers),r?o.body||new Uint8Array:new Uint8Array(await o.arrayBuffer())}async retryFetch(t,e){let r=1e3;for(let i=0;i<20;i++){const i=await fetch(t,e);if(429!==i.status&&503!==i.status)return i;await O(r),r+=2e3}throw new Error("retryFetch failed")}parseLengthFromContentRange(t){const e=t.get("Content-Range");if(e){const t=e.split("/");2===t.length&&(this.length=parseInt(t[1]))}}getFullBuffer(){return this.arrayBuffer?.getFullBuffer()??null}}class ha extends ca{fileId;apiUrl;length;publicUrl=null;isValid=!1;constructor({url:t,headers:e,size:r,extra:i}){super(!0),this.fileId=t.slice(14),this.apiUrl=`https://www.googleapis.com/drive/v3/files/${this.fileId}?alt=media`,this.headers=e||{},i?.publicUrl&&(this.publicUrl=i.publicUrl),this.length=r||0}async getLength(){return this.length}async doInitialFetch(t){let e=null,r=null;if(this.publicUrl){e=new la({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}if(!e.isValid&&(r?.abort&&r.abort.abort(),await this.refreshPublicUrl())){e=new la({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}!e.isValid&&r?.abort&&r.abort.abort()}}return e?.isValid||(this.publicUrl=null,e=new la({url:this.apiUrl,headers:this.headers,length:this.length}),r=await e.doInitialFetch(t)),this.isValid=e.isValid,!this.length&&e.length&&(this.length=e.length),r}async getRange(t,e,r=!1,i){let n=null;if(this.publicUrl){n=new la({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(s){if(await this.refreshPublicUrl()){n=new la({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(t){}}}this.publicUrl=null}n=new la({url:this.apiUrl,headers:this.headers,length:this.length});let s=50;for(;s<2e3;)try{return await n.getRange(t,e,r,i)}catch(t){if(t instanceof k&&t.info.resp?.headers.get("content-type").startsWith("application/json")){const e=await t.info.resp.json();if(e.error?.errors&&"userRateLimitExceeded"===e.error.errors[0].reason){console.log(`Exponential backoff, waiting for: ${s}`),await O(s),s*=2;continue}}throw t}throw new C("not found")}async refreshPublicUrl(){try{const t=await fetch(`${oa}/g/${this.fileId}`),e=await t.json();if(e.url)return this.publicUrl=e.url,!0}catch(t){}return!1}}class ua extends ca{arrayBuffer;size;constructor(t){super(!0),this.arrayBuffer=t,this.size=t.length,this.length=this.size}get isValid(){return!!this.arrayBuffer}async getLength(){return this.size}async doInitialFetch(t=!1){const e=t?null:ma(this.arrayBuffer);return{response:new Response(e),abort:null}}async getRange(t,e,r=!1){const i=this.arrayBuffer.slice(t,t+e);return r?ma(i):i}getFullBuffer(){return this.arrayBuffer}}class pa extends ca{url;blob;size;arrayBuffer=null;constructor({url:t,blob:e=null,size:r=null}){super(!0),this.url=t,this.blob=e,this.size=this.blob?this.blob.size:r||0,this.length=this.size}get isValid(){return!!this.blob}async getLength(){if(!this.blob?.size){const t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.size,this.length=this.size}return this.size}async doInitialFetch(t=!1){if(!this.blob)try{const t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.size,this.length=this.size}catch(t){throw console.warn(t),t}const e=this.blob.arrayBuffer?await this.blob.arrayBuffer():await this._getArrayBuffer();this.arrayBuffer=new Uint8Array(e);const r=t?null:ma(this.arrayBuffer);return{response:new Response(r),abort:null}}async getRange(t,e,r=!1){this.arrayBuffer||await this.doInitialFetch(!0);const i=this.arrayBuffer.slice(t,t+e);return r?ma(i):i}async _getArrayBuffer(){return new Promise((t,e)=>{const r=new FileReader;r.onloadend=()=>{r.result instanceof ArrayBuffer?t(r.result):e(r.result)},this.blob&&r.readAsArrayBuffer(this.blob)})}}class da extends ca{url;file;size;fileHandle;constructor({blob:t,size:e,extra:r,url:i}){super(!0),this.url=i,this.file=null,this.size=t?t.size:e||0,this.length=this.size,this.fileHandle=r.fileHandle}get isValid(){return!!this.file}async getLength(){return void 0===this.size&&await this.initFileObject(),this.size}async initFileObject(){const t={mode:"read"};if("granted"!==await this.fileHandle.queryPermission(t)&&"granted"!==await this.fileHandle.requestPermission(t))throw new R({fileHandle:this.fileHandle});this.file=await this.fileHandle.getFile(),this.size=this.file.size,this.length=this.size}async doInitialFetch(t=!1){this.file||await this.initFileObject();const e=t?null:this.file.stream();return{response:new Response(e),abort:null}}async getRange(t,e,r=!1){this.file||await this.initFileObject();const i=this.file.slice(t,t+e);return r?i.stream():new Uint8Array(await i.arrayBuffer())}}class fa extends ca{url;opts;length;isValid=!1;constructor({url:t,headers:e,...r}){super(!0),this.url=t,this.opts=r,this.headers=e||{},this.length=null}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length}async doInitialFetch(t){const e=await sa(this.opts);try{this.length=await e.getSize(this.url),this.isValid=null!==this.length}catch(t){console.warn(t),this.length=null,this.isValid=!1}let r=206;this.isValid||(r=404);const i=new AbortController,n=i.signal;let s;return s=t||!this.isValid?new Uint8Array([]):ga(e.get(this.url,{signal:n})),{response:new Response(s,{status:r}),abort:i}}async getRange(t,e,r=!1,i=null){const n=(await sa(this.opts)).get(this.url,{start:t,end:t+e-1,signal:i});if(r)return ga(n);{const t=[];let e=0;for await(const r of n)t.push(r),e+=r.byteLength;return mt(t,e)}}}function ga(t){return new ReadableStream({start:async e=>{try{for await(const r of t)e.enqueue(r)}catch(t){console.log(t)}e.close()}})}function ma(t){return new ReadableStream({start(e){e.enqueue(t),e.close()}})}class ya extends go{noCache;streamMap;constructor(t,e=!1){super(t),this.noCache=e,this.useRefCounts=!e,this.streamMap=new Map}isSameUrl(t,e,r){if(t===e)return!0;const i=decodeURIComponent(t),n=decodeURIComponent(e);return i===n||!(!r||!n.startsWith(i))}async loadPayload(t,e){let r=await super.loadPayload(t,e);if(r&&t.respHeaders&&("warc/revisit"!==t.mime||t.status>=300&&t.status<400))return r;const i=this.streamMap.get(t.url);if(i)return console.log(`Reuse stream for ${t.url}`),new Ea(i);const{remote:n,hasher:s}=await this.loadRecordFromSource(t);if(!n)return console.log(`No WARC Record Loaded for: ${t.url}`),null;if(!this.isSameUrl(n.url,t.url,t.method))return console.log(`Wrong url: expected ${t.url}, got ${n.url}`),null;const o=t.origTS||t.ts;if(n.ts!==o&&1e3*Math.floor(n.ts/1e3)!==o)return console.log(`Wrong timestamp: expected ${o}, got ${n.ts}`),null;if(n.digest!==t.digest&&t.digest&&n.digest){const e=n.digest.split(":"),r=t.digest.split(":");2===e.length&&2===r.length&&r[1]===e[1]?t.digest=e[0]+":"+r[1]:console.log(`Wrong digest: expected ${t.digest}, got ${n.digest}`)}if(n.origURL){if(!r&&t.status>=300&&t.status<400&&n.respHeaders){if(t.respHeaders=n.respHeaders,!this.noCache)try{await this.db.put("resources",t)}catch(t){console.log(t)}return new Uint8Array([])}const i={...e,noRevisits:!0};n.origWACZ&&(i.waczname=n.origWACZ);const s=await this.lookupUrl(n.origURL,n.origTS||0,i);if(!s)return null;const o=e.depth||0;if(!r&&(o<2?r=await this.loadPayload(s,{...e,depth:o+1}):console.warn("Avoiding revisit lookup loop for: "+JSON.stringify(n)),!r))return null;if(n.respHeaders&&s.respHeaders?(t.respHeaders=n.respHeaders,s.respHeaders["content-length"]&&(t.respHeaders["content-length"]=s.respHeaders["content-length"])):t.respHeaders=s.respHeaders,t.mime=s.mime,t.origTS=s.ts,t.origURL=s.url,t.source=s.source,t.digest=s.digest,s.extraOpts&&(t.extraOpts=s.extraOpts),!this.noCache){delete t.payload;try{await this.db.put("resources",t)}catch(t){console.log(t)}s.digest!==n.digest&&n.digest&&r instanceof Uint8Array&&await this.commitPayload(r,n.digest)}return r}const a=n.digest,c=t.source.length>=25e6;if(!this.noCache&&!c&&n.reader&&a&&(n.reader=new _a(this,n.reader,a,t.url,this.streamMap,s||null,t.recordDigest,t.source)),c&&console.log("Not cacheing, too big: "+t.url),r=n.payload||null,!r&&!n.reader)return null;try{r&&!this.noCache&&!c&&a&&await this.commitPayload(r,a)}catch(e){console.warn(`Payload Update Error: ${t.url}`),console.warn(e)}if(!(t.respHeaders&&t.digest||(t.respHeaders=n.respHeaders,t.digest=a,n.extraOpts&&(t.extraOpts=n.extraOpts),this.noCache||c)))try{await this.db.put("resources",t)}catch(e){console.warn(`Resource Update Error: ${t.url}`),console.warn(e)}return r||n.reader||null}async commitPayload(t,e){if(!t||0===t.length)return;const r=this.db.transaction(["payload","digestRef"],"readwrite");try{if(r.objectStore("payload").put({payload:t,digest:e}),this.useRefCounts){const i=await r.objectStore("digestRef").get(e);i&&(i.size=t.length,r.objectStore("digestRef").put(i))}await r.done}catch(t){console.warn("Payload Commit Error: "+t)}}}class wa extends ya{async loadRecordFromSource(t){const e=await this.loadSource(t.source),r=new bo(e);return{remote:await r.load()}}}class Aa extends wa{loader;constructor(t,e,r=!1){super(t,r),this.loader=e}updateHeaders(t){this.loader.headers=t}async loadSource(t){const{start:e,length:r}=t;return await this.loader.getRange(e,r,!0)}}class ba extends wa{remoteUrlPrefix;headers;constructor(t,e,r,i=!1){super(t,i),this.remoteUrlPrefix=e,this.headers=r}updateHeaders(t){this.headers=t}async loadSource(t){const{start:e,length:r}=t,i=new Headers(this.headers),n=new URL(t.path,this.remoteUrlPrefix).href,s=await aa({url:n,headers:i});return await s.getRange(e,r,!0)}}class Ea extends It{chunkstore;offset;size;constructor(t){super(),this.chunkstore=t,this.offset=0,this.size=this.chunkstore.totalLength}setLimitSkip(t=-1,e=0){this.offset=e,t>0&&(this.size=t)}setRangeAll(t){this.size=t}async*[Symbol.asyncIterator](){yield*this.chunkstore.getChunkIter()}getReadableStream(){console.log(`Offset: ${this.offset}, Size: ${this.size}`);const t=this.chunkstore.getChunkIter();return new Tt(t,this.size,this.offset).getReadableStream()}async readlineRaw(t){throw new Error("Method not implemented.")}}class va{chunks;size=0;done=!1;totalLength;nextChunk;_nextResolve=()=>{};constructor(t){this.chunks=[],this.size=0,this.done=!1,this.totalLength=t,this.nextChunk=new Promise(t=>this._nextResolve=t)}add(t){this.chunks.push(t),this.size+=t.byteLength,this._nextResolve(!0),this.nextChunk=new Promise(t=>this._nextResolve=t)}concatChunks(){return this._nextResolve(!1),this.done=!0,mt(this.chunks,this.size)}async*getChunkIter(){for(const t of this.chunks)yield t;let t=this.chunks.length;for(;!this.done&&await this.nextChunk;)for(;t<this.chunks.length;t++)yield this.chunks[t]}}class _a extends It{db;reader;digest;url;commit=!0;fullbuff=null;hasher;expectedHash;source;isRange=!1;totalLength=-1;fixedSize=0;streamMap;constructor(t,e,r,i="",n,s,o,a){super(),this.db=t,this.reader=e,this.digest=r,this.url=i,this.commit=!0,this.fullbuff=null,this.hasher=s,this.expectedHash=o,this.source=a,this.isRange=!1,this.totalLength=-1,this.streamMap=n}setRangeAll(t){this.isRange=!0,this.totalLength=t}setLimitSkip(t=-1,e=0){this.isRange=!0,2!==t||0!==e?((-1!=t||e>0)&&(this.commit=!1),this.reader.setLimitSkip(t,e)):this.fixedSize=2}async*[Symbol.asyncIterator](){let t=null;this.commit&&(t=new va(this.totalLength),this.isRange&&(console.log(`Store stream for ${this.url}, ${this.totalLength}`),this.streamMap.set(this.url,t)));for await(const e of this.reader)t&&t.add(e),yield e;if(0!==this.reader.limit)console.warn(`Expected payload not consumed, ${this.reader.limit} bytes left`);else{if(!this.isRange&&this.hasher&&this.expectedHash&&this.source){const t=this.hasher.getHash(),{path:e,start:r,length:i}=this.source,n=`${e}:${r}-${i}`;this.db.addVerifyData(n,this.expectedHash,t)}this.commit&&(this.fullbuff=t.concatChunks(),await this.db.commitPayload(this.fullbuff,this.digest))}this.commit&&this.isRange&&(this.streamMap.delete(this.url),console.log(`Delete stream for ${this.url}`))}async _consumeIter(t){for await(const e of t);}async readFully(){return this.fullbuff||await this._consumeIter(this),this.fullbuff}getReadableStream(){const t=super.getReadableStream();if(!this.commit)return t;const e=t.tee();return this._consumeIter(St.fromReadable(e[1].getReader())),this.fixedSize?this.getFixedSizeReader(e[0].getReader(),this.fixedSize):e[0]}getFixedSizeReader(t,e){return new ReadableStream({async start(r){const{value:i,done:n}=await t.read();n||r.enqueue(i.slice(0,e)),r.close()}})}async readlineRaw(t){throw new Error("Method not implemented.")}}class xa extends wo{har;pageRefs;constructor(t){super(),this.har="string"==typeof t?JSON.parse(t):t,this.pageRefs={}}async load(t){this.db=t,this.parseEntries(this.har),this.parsePages(this.har),await this.finishIndexing()}parsePages(t){for(const e of t.log.pages){if(!e.pageTimings?.onLoad)continue;let t;t=e.title&&(e.title.startsWith("http:")||e.title.startsWith("https:"))?e.title:this.pageRefs[e.id];const r=e.title||t,i=e.startedDateTime;this.addPage({url:t,date:i,title:r})}}parseEntries(t){for(const e of t.log.entries){const r=new Date(e.startedDateTime).getTime(),i={};for(const{name:t,value:r}of e.response.headers)i[t]=r;let n=null;const s=new TextEncoder;if(e.response.content?.text)try{n=Uint8Array.from(atob(e.response.content.text),t=>t.charCodeAt(0))}catch(t){n=e.response.content.text}else{const t=i["Content-Length"];t&&"0"!==t?(console.log(`Warning: Content-Length ${t} but no content found for ${e.request.url}`),n=s.encode("Sorry, the HAR file did not include the content for this resource.")):n=Uint8Array.from([])}this.addResource({url:e.request.url,ts:r,status:e.response.status,respHeaders:i,payload:n}),e.pageref&&!this.pageRefs[e.pageref]&&(this.pageRefs[e.pageref]=e.request.url)}}}const Ia="req.http:cookie",Sa=["text/javascript","application/javascript","application/x-javascript","application/json","application/octet-stream","text/html"];class Ta extends Ao{cdxindexer=null;sourceExtra;shaPrefix;constructor(t,e,r,i={},n="sha256:"){super(t,e,r),this.sourceExtra=i,this.shaPrefix=n}filterRecord(t){switch(t.warcType){case"warcinfo":case"revisit":case"request":return null;case"metadata":return this.shouldIndexMetadataRecord(t)?null:"skip"}const e=t.warcTargetURI,r=t.warcDate?new Date(t.warcDate).getTime():Date.now();return this.pageMap[r+"/"+e]?(t._isPage=!0,null):null}index(t,e){return t&&(t._offset=e.offset,t._length=e.recordLength),super.index(t,e)}indexReqResponse(t,e,r){if(t._isPage)return super.indexReqResponse(t,e,r);if("warcinfo"===t.warcType)return void this.parseWarcInfo(t);this.cdxindexer||(this.cdxindexer=new Zt({noSurt:!0}));const i=this.cdxindexer.indexRecordPair(t,e,r,"");if(i){if(206===i.status){const e=t.httpHeaders?.headers;if(e&&!this.isFullRangeRequest(e))return}if(e&&e.httpHeaders){const t=e.httpHeaders.headers.get("cookie");t&&(i[Ia]=t)}this.addCdx(i)}}getSource(t){return{...this.sourceExtra,path:t.filename,start:Number(t.offset),length:Number(t.length)}}addCdx(t){const{url:e,mime:r}=t,i=Number(t.status)||200,n=f(t.timestamp).getTime(),s=this.getSource(t);let{digest:o,recordDigest:a}=t;o&&-1===o.indexOf(":")&&(o=this.shaPrefix+o);const c={url:e,ts:n,status:i,digest:o,recordDigest:a,mime:r,loaded:!1,source:s};if(t.method){if("HEAD"===t.method||"OPTIONS"===t.method)return;c.method=t.method}if(t[Ia]&&(c[Ia]=t[Ia]),t.method&&"GET"!==t.method)if(c.url=dt(t.url,t.requestBody||"",t.method),r&&Sa.includes(r))try{const t=new URL(c.url);for(const[e,r]of t.searchParams)r.length>ao&&t.searchParams.set(e,r.slice(0,ao));c.url=t.href}catch(t){c.url=c.url.slice(0,8192)}else c.url.length>512&&(c.url=c.url.slice(0,512));this.addResource(c)}}class Ca extends Ta{async load(t,e,r){this.db=t;let i=this.reader;i.iterLines||(i=new St(this.reader));let n=0;for await(const s of i.iterLines()){let i,o,a;n+=s.length;let c=s.trimEnd();if(!c.startsWith("{")){const t=c.indexOf(" {");if(t<0)continue;[o,a]=c.split(" ",2),c=c.slice(t)}try{i=JSON.parse(c)}catch(t){console.log("JSON Parser error on: "+c);continue}i.timestamp=a,i.url||(i.url=o,console.warn(`URL missing, using urlkey ${o}`)),e&&r&&this.isBatchFull()&&e(Math.round(n/r*100),null,n,r),this.addCdx(i)}return await this.finishIndexing(),e&&e(100,null,r,r),{}}}const Ra=4294967295,ka=65535;class Na{start;length;constructor(t,e){this.start=t,this.length=e}}let Ba=!1;class Oa extends St{hasher=null;hashInited=!1;hash="";constructor(t,e="gzip",r=!1){super(t,e,r)}async initHasher(){try{this.hasher=await lt()}catch(t){console.warn("Hasher init failed, not checking hashes: "+t.toString())}finally{this.hashInited=!0}}async _loadNext(){const t=await super._loadNext();return t?(this.hashInited||await this.initHasher(),this.hasher&&this.hasher.update(t)):this.hasher&&(this.hash="sha256:"+this.hasher.digest("hex"),this.hasher=null),t}getHash(){return this.hash}}class Pa{loader;entriesUpdated=!1;entries=null;constructor(t,e=null){this.loader=t,this.entries=e,this.entriesUpdated=!1}async load(t=!1){if(!this.entries||t){const e=65558,r=await this.loader.getRangeFromEnd(e,!1),i=Math.max(await this.loader.getLength()-e,0);try{this.entries=this._loadEntries(r,i)}catch(t){if(t instanceof Na){const e=mt([await this.loader.getRange(t.start,t.length,!1),r],t.length+r.length);this.entries=this._loadEntries(e,t.start)}}this.entriesUpdated=!0}return this.entries}_loadEntries(t,e){const r=t.byteLength;if(!r)return null;const i=new DataView(t.buffer,t.byteOffset,t.byteLength),n=new TextDecoder("utf8"),s=new TextDecoder("ascii"),o={};let a=0,c=0,l=r;for(let e=r-22,n=Math.max(0,e-ka);e>=n;--e)if(80===t[e]&&75===t[e+1]&&5===t[e+2]&&6===t[e+3]){l=e,c=i.getUint32(e+16,!0),a=i.getUint16(e+8,!0);break}if(c===Ra||a===ka){if(117853008!==i.getUint32(l-20,!0))return console.warn("invalid zip64 EOCD locator"),null;const t=this.getUint64(i,l-12,!0)-e;if(101075792!==i.getUint32(t,!0))return console.warn("invalid zip64 EOCD record"),null;a=this.getUint64(i,t+32,!0),c=this.getUint64(i,t+48,!0)}if(c>=e)c-=e;else if(c<e&&c>0)throw new Na(c,e-c);if(c>=r||c<0)for(c=-1,a=ka;++c<r&&80!==t[c]&&75!==t[c+1]&&1!==t[c+2]&&2!==t[c+3];);for(l-=46;--a>=0&&c<l&&1347092738==i.getUint32(c);){const e=i.getUint16(c+8,!0);let r=i.getUint32(c+20,!0),a=i.getUint32(c+24,!0);const l=i.getUint16(c+28,!0),h=i.getUint16(c+30,!0),u=i.getUint16(c+32,!0),p=8===i.getUint16(c+10,!0);let d=i.getUint32(c+42,!0);const f=(2048&e?n:s).decode(t.subarray(c+46,c+46+l));if(r===Ra||a===Ra||d===Ra){let t=c+46+l;const e=t+h-3;for(;t<e;){const e=i.getUint16(t,!0);let n=i.getUint16(t+2,!0);t+=4,1===e&&(a===Ra&&n>=8&&(a=this.getUint64(i,t,!0),t+=8,n-=8),r===Ra&&n>=8&&(r=this.getUint64(i,t,!0),t+=8,n-=8),d===Ra&&n>=8&&(d=this.getUint64(i,t,!0),t+=8,n-=8)),t+=n}}f.endsWith("/")||(o[f]={filename:f,deflate:p,uncompressedSize:a,compressedSize:r,localEntryOffset:d},h||(o[f].offset=30+l+d)),c+=46+l+h+u}return o}getCompressedSize(t){if(null===this.entries)return 0;const e=this.entries[t];return e?isNaN(e.compressedSize)?0:e.compressedSize:0}async loadFile(t,{offset:e=0,length:r=-1,signal:i=null,unzip:n=!1,computeHash:s=!1}={}){if(null===this.entries&&await this.load(),!this.entries)throw new Error("entries not loaded");const o=this.entries[t];if(!o)throw new Error("file not found in zip: "+t);if(void 0===o.offset){const t=await this.loader.getRange(o.localEntryOffset,30,!1),e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=e.getUint16(26,!0),i=e.getUint16(28,!0);o.offset=30+r+i+o.localEntryOffset,this.entriesUpdated=!0}r=r<0?o.compressedSize:Math.min(r,o.compressedSize-e),e+=o.offset;const a=(await this.loader.getRange(e,r,!0,i)).getReader();let c,l=null;return c=n?o.deflate?new St(new St(a,"deflate")):new St(a):new St(a,o.deflate?"deflate":null),c=(t=>s&&Ba?(l=new Oa(t),l):t)(c),{reader:c,hasher:l}}getUint64(t,e,r){const i=t.getUint32(e,r),n=t.getUint32(e+4,r),s=r?i+2**32*n:2**32*i+n;return Number.isSafeInteger(s)||console.warn(s,"exceeds MAX_SAFE_INTEGER. Precision may be lost"),s}}class Da extends ca{zipreader;filename;constructor(t,e){super(!0),this.zipreader=t,this.filename=e}get isValid(){return!0}async doInitialFetch(t=!1){await this.zipreader.load(),this.length=this.zipreader.getCompressedSize(this.filename);let e=null;if(!t){const{reader:t}=await this.zipreader.loadFile(this.filename,{unzip:!0});e=ga(t)}return{response:new Response(e),abort:null}}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length||0}async getRange(t,e,r=!1,i=null){const{reader:n}=await this.zipreader.loadFile(this.filename,{offset:t,length:e,signal:i,unzip:!0});return r?ga(n):await n.readFully()}}const La="wacz";class Ua{waczname;hash;path;crawlId;parent;fileType;indexType;reqFiles=[];entries;nonSurt;loader;zipreader;constructor({waczname:t,hash:e,path:r,parent:i=null,entries:n=null,fileType:s=La,indexType:o=0,nonSurt:a=!1,loader:c=null,crawlId:l}){this.waczname=t,this.hash=e,this.path=r,this.loader=c,this.parent=i,this.zipreader=null,this.entries=n,this.indexType=o,this.fileType=s,this.nonSurt=a,this.crawlId=l}markAsMultiWACZ(){this.fileType="multi-wacz"}async init(t){if(t&&(this.path=t),this.loader)await this.initFromLoader(this.loader);else{if(!this.parent)throw new Error("must have either loader or parent");{const t=await this.parent.createLoader({url:this.path});await this.initFromLoader(t)}}if(!this.zipreader)return{};try{const{reader:t}=await this.zipreader.loadFile("datapackage.json"),e=(new TextDecoder).decode(await t.readFully()),r=JSON.parse(e);if(r.relation?.requires){const t=r.relation.requires.map(t=>t.filename);this.reqFiles=t}}catch(t){console.warn("Error parsing reqFiles",t)}return this.entries}async initFromLoader(t){return this.zipreader=new Pa(t,this.entries),this.entries||(this.entries=await this.zipreader.load()||{}),this.entries}async loadFile(t,e){return this.zipreader||await this.init(),await this.zipreader.loadFile(t,e)}containsFile(t){return this.entries&&!!this.entries[t]}getSizeOf(t){return this.zipreader?this.zipreader.getCompressedSize(t):0}serialize(){return{waczname:this.waczname,hash:this.hash,path:this.path,crawlId:this.crawlId,entries:this.entries,indexType:this.indexType,nonSurt:this.nonSurt,reqFiles:this.reqFiles}}async save(t,e=!1){const r=this.zipreader;(e||r&&r.entriesUpdated)&&(await t.put("waczfiles",this.serialize()),r&&(r.entriesUpdated=!1))}iterContainedFiles(){return this.entries?Object.keys(this.entries):[]}getLoadPath(t){return this.waczname+"#!/"+t}getName(t){return this.waczname+"#!/"+t}async createLoader(t){const{url:e}=t,r=e.lastIndexOf("#!/");if(this.zipreader||await this.init(),r>=0)return new Da(this.zipreader,e.slice(r+3));throw new Error("invalid wacz url: "+e)}}
45
+ ***************************************************************************** */function W(t,e,r,i){return new(r||(r=Promise))(function(n,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r(function(t){t(e)})).then(o,a)}c((i=i.apply(t,e||[])).next())})}class Q{constructor(){this.mutex=Promise.resolve()}lock(){let t=()=>{};return this.mutex=this.mutex.then(()=>new Promise(t)),new Promise(e=>{t=e})}dispatch(t){return W(this,void 0,void 0,function*(){const e=yield this.lock();try{return yield Promise.resolve(t())}finally{e()}})}}const z="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:r.g,V=null!==(L=z.Buffer)&&void 0!==L?L:null,G=z.TextEncoder?new z.TextEncoder:null;function q(t,e){return(15&t)+(t>>6|t>>3&8)<<4|(15&e)+(e>>6|e>>3&8)}function Y(t,e){const r=e.length>>1;for(let i=0;i<r;i++){const r=i<<1;t[i]=q(e.charCodeAt(r),e.charCodeAt(r+1))}}const K="a".charCodeAt(0)-10,X="0".charCodeAt(0);function J(t,e,r){let i=0;for(let n=0;n<r;n++){let r=e[n]>>>4;t[i++]=r>9?r+K:r+X,r=15&e[n],t[i++]=r>9?r+K:r+X}return String.fromCharCode.apply(null,t)}const Z=null!==V?t=>{if("string"==typeof t){const e=V.from(t,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.length)}if(V.isBuffer(t))return new Uint8Array(t.buffer,t.byteOffset,t.length);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")}:t=>{if("string"==typeof t)return G.encode(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")},$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tt=new Uint8Array(256);for(let t=0;t<64;t++)tt[$.charCodeAt(t)]=t;function et(t){let e=Math.floor(.75*t.length);const r=t.length;return"="===t[r-1]&&(e-=1,"="===t[r-2]&&(e-=1)),e}function rt(t){const e=et(t),r=t.length,i=new Uint8Array(e);let n=0;for(let e=0;e<r;e+=4){const r=tt[t.charCodeAt(e)],s=tt[t.charCodeAt(e+1)],o=tt[t.charCodeAt(e+2)],a=tt[t.charCodeAt(e+3)];i[n]=r<<2|s>>4,n+=1,i[n]=(15&s)<<4|o>>2,n+=1,i[n]=(3&o)<<6|63&a,n+=1}return i}const it=16384,nt=new Q,st=new Map;function ot(t,e){return W(this,void 0,void 0,function*(){let r=null,i=null,n=!1;if("undefined"==typeof WebAssembly)throw new Error("WebAssembly is not supported in this environment!");const s=()=>new DataView(r.exports.memory.buffer).getUint32(r.exports.STATE_SIZE,!0),o=nt.dispatch(()=>W(this,void 0,void 0,function*(){if(!st.has(t.name)){const e=rt(t.data),r=WebAssembly.compile(e);st.set(t.name,r)}const e=yield st.get(t.name);r=yield WebAssembly.instantiate(e,{})})),a=(t=null)=>{n=!0,r.exports.Hash_Init(t)},c=t=>{if(!n)throw new Error("update() called before init()");(t=>{let e=0;for(;e<t.length;){const n=t.subarray(e,e+it);e+=n.length,i.set(n),r.exports.Hash_Update(n.length)}})(Z(t))},l=new Uint8Array(2*e),h=(t,s=null)=>{if(!n)throw new Error("digest() called before init()");return n=!1,r.exports.Hash_Final(s),"binary"===t?i.slice(0,e):J(l,i,e)},u=t=>"string"==typeof t?t.length<4096:t.byteLength<it;let p=u;switch(t.name){case"argon2":case"scrypt":p=()=>!0;break;case"blake2b":case"blake2s":p=(t,e)=>e<=512&&u(t);break;case"blake3":p=(t,e)=>0===e&&u(t);break;case"xxhash64":case"xxhash3":case"xxhash128":p=()=>!1}return yield(()=>W(this,void 0,void 0,function*(){r||(yield o);const t=r.exports.Hash_GetBuffer(),e=r.exports.memory.buffer;i=new Uint8Array(e,t,it)}))(),{getMemory:()=>i,writeMemory:(t,e=0)=>{i.set(t,e)},getExports:()=>r.exports,setMemorySize:t=>{r.exports.Hash_SetMemorySize(t);const e=r.exports.Hash_GetBuffer(),n=r.exports.memory.buffer;i=new Uint8Array(n,e,t)},init:a,update:c,digest:h,save:()=>{if(!n)throw new Error("save() can only be called after init() and before digest()");const e=r.exports.Hash_GetState(),i=s(),o=r.exports.memory.buffer,a=new Uint8Array(o,e,i),c=new Uint8Array(4+i);return Y(c,t.hash),c.set(a,4),c},load:e=>{if(!(e instanceof Uint8Array))throw new Error("load() expects an Uint8Array generated by save()");const i=r.exports.Hash_GetState(),o=s(),a=4+o,c=r.exports.memory.buffer;if(e.length!==a)throw new Error(`Bad state length (expected ${a} bytes, got ${e.length})`);if(!function(t,e){if(t.length!==2*e.length)return!1;for(let r=0;r<e.length;r++){const i=r<<1;if(e[r]!==q(t.charCodeAt(i),t.charCodeAt(i+1)))return!1}return!0}(t.hash,e.subarray(0,4)))throw new Error("This state was written by an incompatible hash implementation");const l=e.subarray(4);new Uint8Array(c,i,o).set(l),n=!0},calculate:(t,n=null,s=null)=>{if(!p(t,n))return a(n),c(t),h("hex",s);const o=Z(t);return i.set(o),r.exports.Hash_Calculate(o.length,n,s),J(l,i,e)},hashLength:e}})}new Q,new Q,new DataView(new ArrayBuffer(4)),new Q,new Q,new Q,new Q,new Q,new Q;var at={name:"sha1",data:"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",hash:"40d92e5d"};new Q,new Q,new Q;var ct={name:"sha256",data:"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",hash:"817d957e"};function lt(){return ot(ct,32).then(t=>{t.init(256);const e={init:()=>(t.init(256),e),update:r=>(t.update(r),e),digest:e=>t.digest(e),save:()=>t.save(),load:r=>(t.load(r),e),blockSize:64,digestSize:32};return e})}function ht(t){let e;e="string"==typeof t?t:t?.length?t.reduce((t,e)=>t+String.fromCharCode(e),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function ut(t){try{if(!t.startsWith("https:")&&!t.startsWith("http:"))return t;let e=(t=t.replace(/^(https?:\/\/)www\d*\./,"$1")).toLowerCase(),r=new URL(e),i=r.hostname.split(".").reverse().join(",");if(r.port&&(i+=":"+r.port),i+=")",i+=r.pathname,r.search){let t=r.search.slice(1).split("&");t.sort(),i+="?"+t.join("&")}return i}catch{return t}}function pt(t,e=0){let{method:r,headers:i,postData:n=""}=t;if("GET"===r)return!1;let s=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(i);function o(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let a="";switch(s.split(";")[0]){case"application/x-www-form-urlencoded":a=o(n);break;case"application/json":a=gt(o(n));break;case"text/plain":try{a=gt(o(n),!1)}catch{a=ht(n)}break;case"multipart/form-data":if(!s)throw new Error("utils cannot call postToGetURL when missing content-type header");a=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],n=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of n){let e=t.trim().match(/name="([^"]+)"\r\n\r\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(o(n),s);break;default:a=ht(n)}if(null!=a){e>0&&a.length>e&&(a=a.slice(0,e)),t.requestBody=a;try{a=decodeURI(a)}catch{a=""}return t.url=dt(t.url,a,t.method),t.method="GET",!0}return!1}function dt(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}function ft(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},n=(t,e="")=>{let s="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)n(t[r],e)}else try{for(let[e,r]of Object.entries(t))n(r,e)}catch{null===t&&(s="null")}["string","number","boolean"].includes(typeof t)&&(s=t.toString()),s&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),s)};try{n(t)}catch(t){if(!e)throw t}return r}function gt(t="",e=!0){return ft(t,e).toString()}function mt(t,e){if(1===t.length)return t[0];let r=new Uint8Array(e),i=0;for(let e of t)r.set(e,i),i+=e.byteLength;return r}function yt(t,e){return[t.slice(0,e),t.slice(e)]}function wt(t){let e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=255&t.charCodeAt(r);return(new TextDecoder).decode(e)}new Q,new Q,new Q,new Q,new Q,new Q,new ArrayBuffer(8),new Q,new ArrayBuffer(8),new Q,new ArrayBuffer(8),new Q,new Q,new Q;var At=["warc-concurrent-to","warc-protocol"],bt=",,,";function Et(t){let e=t.toLowerCase();if(e.startsWith("warc-")&&!At.includes(e))throw new Error("Invalid multi value WARC header: "+t);return!0}var vt=class extends Map{constructor(t){if(t instanceof Array){super();for(let e of t)if(e instanceof Array){let t=e[0],r=e[1];this.append(t,r)}}else super(t?Object.entries(t):void 0)}isMultiValue(t,e){return e.indexOf(bt)>0&&Et(t)}getMultiple(t){let e=super.get(t);if(e)return this.isMultiValue(t,e)?e.split(bt):[e]}append(t,e){let r=this.get(t);r?(Et(t),this.set(t,r+bt+e)):this.set(t,e)}*[Symbol.iterator](){for(let[t,e]of super[Symbol.iterator]())if(this.isMultiValue(t,e))for(let r of e.split(bt))yield[t,r];else yield[t,e]}},_t=new TextDecoder("utf-8"),xt=class extends F.Inflate{constructor(t,e){super(t),this.ended=!1,this.chunks=[],this.reader=e}onEnd(t){this.err=t,this.err||(this.reader._rawOffset+=this.strm.total_in)}},It=class t{static async readFully(t){let e=[],r=0;for await(let i of t)e.push(i),r+=i.byteLength;return mt(e,r)}getReadableStream(){let t=this[Symbol.asyncIterator]();return new ReadableStream({pull:async e=>t.next().then(t=>{t.done||!t.value?e.close():e.enqueue(t.value)})})}async readFully(){return await t.readFully(this)}async readline(t=0){let e=await this.readlineRaw(t);return e?_t.decode(e):""}async*iterLines(t=0){let e=null;for(;e=await this.readline(t);)yield e}},St=class t extends It{constructor(e,r="gzip",i=!1){let n;if(super(),this.compressed=r,this.opts={raw:"deflateRaw"===r},this.inflator=r?new xt(this.opts,this):null,function(t){return!(!t||!(Symbol.asyncIterator in Object(t)))}(e))n=e;else if("object"==typeof e&&"read"in e&&"function"==typeof e.read)n=t.fromReadable(e);else if(e instanceof ReadableStream)n=t.fromReadable(e.getReader());else{if(!function(t){return!(!t||!(Symbol.iterator in Object(t)))}(e))throw new TypeError("Invalid Stream Source");n=t.fromIter(e)}this._sourceIter=i?this.dechunk(n):n[Symbol.asyncIterator](),this.lastValue=null,this.errored=!1,this._savedChunk=null,this._rawOffset=0,this._readOffset=0,this.numChunks=0}async _loadNext(){let t=await this._sourceIter.next();return t.done?null:t.value}async*dechunk(e){let r=e instanceof t?e:new t(e,null),i=-1,n=!0;for(;0!=i;){let t=await r.readlineRaw(64),e=new Uint8Array;if(i=t?parseInt(_t.decode(t),16):0,!i||i>2**32){if(Number.isNaN(i)||i>2**32){n||(this.errored=!0),yield t;break}}else if(e=await r.readSize(i),e.length!=i){n?yield t:this.errored=!0,yield e;break}let s=await r.readSize(2);if(13!=s[0]||10!=s[1]){n?yield t:this.errored=!0,yield e,yield s;break}if(n=!1,!e||0===i)return;yield e}yield*r}unread(t){t.length&&(this._readOffset-=t.length,this._savedChunk&&console.log("Already have chunk!"),this._savedChunk=t)}async _next(){if(this._savedChunk){let t=this._savedChunk;return this._savedChunk=null,t}if(this.compressed){let t=this._getNextChunk();if(t)return t}let t=await this._loadNext();for(;this.compressed&&t;){this._push(t);let e=this._getNextChunk(t);if(e)return e;t=await this._loadNext()}return t}_push(t){if(!this.inflator)throw new Error("AsyncIterReader cannot call _push when this.compressed is null");this.lastValue=t,this.inflator.ended&&(this.inflator=new xt(this.opts,this)),this.inflator.push(t),this.inflator.err&&this.inflator.ended&&"deflate"===this.compressed&&!this.opts.raw&&0===this.numChunks&&(this.opts.raw=!0,this.compressed="deflateRaw",this.inflator=new xt(this.opts,this),this.inflator.push(t))}_getNextChunk(t){if(!this.inflator)throw new Error("AsyncIterReader cannot call _getNextChunk when this.compressed is null");for(;;){if(this.inflator.chunks.length>0)return this.numChunks++,this.inflator.chunks.shift();if(this.inflator.ended){if(0!==this.inflator.err)return this.compressed=null,t;let e=this.inflator.strm.avail_in;if(e&&this.lastValue){this._push(this.lastValue.slice(-e));continue}}return null}}async*[Symbol.asyncIterator](){let t=null;for(;t=await this._next();)this._readOffset+=t.length,yield t}async readlineRaw(t){let e=[],r=0,i=-1,n=null;for await(let s of this){if(t&&r+s.byteLength>t){n=s,i=t-r-1;let e=s.slice(0,i+1).indexOf(10);e>=0&&(i=e);break}if(i=s.indexOf(10),i>=0){n=s;break}e.push(s),r+=s.byteLength}if(n){let[t,s]=yt(n,i+1);e.push(t),r+=t.byteLength,this.unread(s)}else if(!e.length)return null;return mt(e,r)}async readFully(){return(await this._readOrSkip())[1]}async readSize(t){return(await this._readOrSkip(t))[1]}async skipSize(t){return(await this._readOrSkip(t,!0))[0]}async _readOrSkip(t=-1,e=!1){let r=[],i=0;for await(let n of this){if(t>=0){if(n.length>t){let[s,o]=yt(n,t);e||r.push(s),i+=s.byteLength,this.unread(o);break}if(n.length===t){e||r.push(n),i+=n.byteLength,t=0;break}t-=n.length}e||r.push(n),i+=n.byteLength}return e?[i,new Uint8Array]:[i,mt(r,i)]}getReadOffset(){return this._readOffset}getRawOffset(){return this.compressed?this._rawOffset:this._readOffset}getRawLength(t){return this.compressed?this.inflator.strm.total_in:this._readOffset-t}static fromReadable(t){return{async*[Symbol.asyncIterator](){let e=null;for(;(e=await t.read())&&!e.done;)yield e.value}}}static fromIter(t){return{async*[Symbol.asyncIterator](){for(let e of t)yield e}}}},Tt=class extends It{constructor(t,e,r=0){super(),this.sourceIter=t,this.length=e,this.limit=e,this.skip=r}setLimitSkip(t,e=0){this.limit=t,this.skip=e}async*[Symbol.asyncIterator](){if(!(this.limit<=0))for await(let t of this.sourceIter){if(this.skip>0){if(!(t.length>=this.skip)){this.skip-=t.length;continue}{let[,e]=yt(t,this.skip);t=e,this.skip=0}}if(t.length>this.limit){let[e,r]=yt(t,this.limit);t=e,this.sourceIter.unread&&this.sourceIter.unread(r)}if(t.length&&(this.limit-=t.length,yield t),this.limit<=0)break}}async readlineRaw(t){if(this.limit<=0)return null;let e=await this.sourceIter.readlineRaw(t?Math.min(t,this.limit):this.limit);return this.limit-=e?.length||0,e}async skipFully(){let t=this.limit;for(;this.limit>0;)this.limit-=await this.sourceIter.skipSize(this.limit);return t}},Ct=new Uint8Array([13,10]),Rt=new Uint8Array([13,10,13,10]),kt=new TextDecoder("utf-8"),Nt=class{constructor({statusline:t,headers:e,reencodeHeaders:r}){this.statusline=t,this.headers=e,this.reencodeHeaders=r}toString(){let t=[this.statusline],e=this.headers instanceof Headers;for(let[r,i]of this.headers)e&&this.reencodeHeaders?.has(r)?t.push(`${r}: ${wt(i)}`):t.push(`${r}: ${i}`);return t.join("\r\n")+"\r\n"}async*iterSerialize(t){yield t.encode(this.statusline),yield Ct;for(let[e,r]of this.headers)yield t.encode(`${e}: ${r}\r\n`)}_parseResponseStatusLine(){let t=function(t){let e=t.split(" "),r=e.slice(0,2);return e.slice(2).length>0&&r.push(e.slice(2).join(" ")),r}(this.statusline);this._protocol=t[0]??"",this._statusCode=t.length>1?Number(t[1]):"",this._statusText=t.length>2?t[2]:""}get statusCode(){return void 0===this._statusCode&&this._parseResponseStatusLine(),this._statusCode}get protocol(){return void 0===this._protocol&&this._parseResponseStatusLine(),this._protocol}get statusText(){return void 0===this._statusText&&this._parseResponseStatusLine(),this._statusText}_parseRequestStatusLine(){let t=this.statusline.split(" ",2);this._method=t[0]??"",this._requestPath=t.length>1?t[1]:""}get method(){return void 0===this._method&&this._parseRequestStatusLine(),this._method}get requestPath(){return void 0===this._requestPath&&this._parseRequestStatusLine(),this._requestPath}},Bt=class{constructor(){this.reencodeHeaders=new Set}async parse(t,{headersClass:e,firstLine:r}={headersClass:vt}){let i=r||await t.readline();if(!i)return null;let n=i.trimEnd();if(!n)return null;let s,o,a,c,l=new e,h=await async function(t){let e=[],r=0,i=0,n=null,s=t[Symbol.asyncIterator]();for await(let t of s){if([i,t]=await Ot(t,s),i>=0){n=t;break}e.push(t),r+=t.byteLength}if(n){let[s,o]=yt(n,i+1);e.push(s),r+=s.byteLength,t.unread(o)}else if(!e.length)return"";return kt.decode(mt(e,r))}(t),u=0,p="";for(;u<h.length&&(a=h.indexOf("\n",u),!c||" "!==h[u]&&"\t"!==h[u]?(c&&(this.setHeader(p,c,l),c=null),s=h.indexOf(":",u),o=s<0?u:s+1,s>=0&&s<a?(p=h.slice(u,s).trimStart(),c=h.slice(o,a<0?void 0:a).trim()):c=null):c+=h.slice(u,a<0?void 0:a).trimEnd(),!(a<0));)u=a+1;return c&&this.setHeader(p,c,l),new Nt({statusline:n,headers:l,reencodeHeaders:this.reencodeHeaders})}setHeader(t,e,r,i=!1){try{r.append(t,e),r instanceof Headers&&i&&this.reencodeHeaders.add(t.toLowerCase())}catch{i||this.setHeader(t,function(t){let e=(new TextEncoder).encode(t),r="";return e.forEach(t=>r+=String.fromCharCode(t)),r}(e),r,!0)}}};async function Ot(t,e){let r=0;for(let i=0;i<t.length-4;i++){let i=t.indexOf(13,r);if(i<0)break;if(i+3>=t.length){let{value:r}=await e.next();if(!r)break;let i=new Uint8Array(r.length+t.length);i.set(t,0),i.set(r,t.length),t=i}if(10===t[i+1]&&13===t[i+2]&&10===t[i+3])return[i+3,t];r=i+1}return[-1,t]}var Pt=new TextDecoder("utf-8"),Dt=new TextEncoder,Lt="WARC/1.0",Ut={warcinfo:"application/warc-fields",response:"application/http; msgtype=response",revisit:"application/http; msgtype=response",request:"application/http; msgtype=request",metadata:"application/warc-fields"},Mt=class t extends It{constructor({warcHeaders:t,reader:e}){super(),this._offset=0,this._length=0,this._urlkey="",this.warcHeaders=t,this._reader=e,this._contentReader=null,this.payload=null,this.httpHeaders=null,this.consumed="",this.fixUp()}static create({url:e,date:r,type:i,warcHeaders:n={},filename:s="",httpHeaders:o={},statusline:a="HTTP/1.1 200 OK",warcVersion:c=Lt,keepHeadersCase:l=!0,refersToUrl:h,refersToDate:u}={},p){function d(t){let e=t;return c===Lt&&"Z"!=(t=t.split(".")[0]).charAt(e.length-1)&&(t+="Z"),t}r=d(r||(new Date).toISOString());let f=new vt(n);if("warcinfo"===i)s&&f.set("WARC-Filename",s);else if(e)try{f.set("WARC-Target-URI",new URL(e).href)}catch{f.set("WARC-Target-URI",e)}f.set("WARC-Date",r),i&&f.set("WARC-Type",i),"revisit"===i&&(f.set("WARC-Profile","WARC/1.1"===c?"http://netpreserve.org/warc/1.1/revisit/identical-payload-digest":"http://netpreserve.org/warc/1.0/revisit/identical-payload-digest"),h&&(f.set("WARC-Refers-To-Target-URI",h),f.set("WARC-Refers-To-Date",d(u||(new Date).toISOString()))));let g=new Nt({statusline:c,headers:f});g.headers.get("WARC-Record-ID")||g.headers.set("WARC-Record-ID",`<urn:uuid:${j()}>`),g.headers.get("Content-Type")||g.headers.set("Content-Type",i&&Ut[i]||"application/octet-stream"),p||(p=Ft());let m=new t({warcHeaders:g,reader:p}),y=null,w=!1;switch(i){case"response":case"request":case"revisit":l?(y=new vt(o),w=!y.size):(y=new Headers(o),w=!Object.entries(o).length),(!w||"revisit"!==i)&&(m.httpHeaders=new Nt({statusline:a,headers:y}))}return m}static createWARCInfo(e={},r){return e.type="warcinfo",t.create(e,async function*(){for(let[t,e]of Object.entries(r))yield Dt.encode(`${t}: ${e}\r\n`)}())}getResponseInfo(){let t=this.httpHeaders;return t?{headers:t.headers,status:t.statusCode,statusText:t.statusText}:null}fixUp(){let t=this.warcHeaders.headers.get("WARC-Target-URI");t&&t.startsWith("<")&&t.endsWith(">")&&this.warcHeaders.headers.set("WARC-Target-URI",t.slice(1,-1))}async readFully(t=!1){if(this.httpHeaders){if(this.payload&&!this.payload.length)return this.payload;if(this._contentReader&&!t)throw new TypeError("WARC Record decoding already started, but requesting raw payload");if(t&&"raw"===this.consumed&&this.payload)return await this._createDecodingReader([this.payload]).readFully()}return this.payload||(t?(this.payload=await super.readFully(),this.consumed="content"):(this.payload=await It.readFully(this._reader),this.consumed="raw")),this.payload}get reader(){if(this.payload&&!this.payload.length)return Ft();if(this._contentReader)throw new TypeError("WARC Record decoding already started, but requesting raw payload");return this._reader}get contentReader(){return this.httpHeaders?(this._contentReader||(this._contentReader=this._createDecodingReader(this._reader)),this._contentReader):this._reader}_createDecodingReader(t){if(!this.httpHeaders)throw new Error("WARCRecord cannot call _createDecodingReader when this.httpHeaders === null");let e=this.httpHeaders.headers.get("Content-Encoding"),r=this.httpHeaders.headers.get("Transfer-Encoding"),i="chunked"===r;return!e&&!i&&(e=r),new St(t,e,i)}async readlineRaw(t){if(this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");if(this.contentReader instanceof It)return this.contentReader.readlineRaw(t);throw new Error("WARCRecord cannot call readlineRaw on this.contentReader if it does not extend BaseAsyncIterReader")}async contentText(){let t=await this.readFully(!0);return Pt.decode(t)}async*[Symbol.asyncIterator](){for await(let t of this.contentReader)if(yield t,this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");this.consumed="content"}async skipFully(){if(!this.consumed){if(this._reader instanceof Tt){let t=await this._reader.skipFully();return this.consumed="skipped",t}throw new Error("WARCRecord cannot call skipFully on this._reader if it is not a LimitReader")}}warcHeader(t){return this.warcHeaders.headers.get(t)}get warcType(){return this.warcHeaders.headers.get("WARC-Type")}get warcTargetURI(){return this.warcHeaders.headers.get("WARC-Target-URI")}get warcDate(){return this.warcHeaders.headers.get("WARC-Date")}get warcRefersToTargetURI(){return this.warcHeaders.headers.get("WARC-Refers-To-Target-URI")}get warcRefersToDate(){return this.warcHeaders.headers.get("WARC-Refers-To-Date")}get warcPayloadDigest(){return this.warcHeaders.headers.get("WARC-Payload-Digest")}get warcBlockDigest(){return this.warcHeaders.headers.get("WARC-Block-Digest")}get warcContentType(){return this.warcHeaders.headers.get("Content-Type")}get warcContentLength(){return Number(this.warcHeaders.headers.get("Content-Length"))}get warcConcurrentTo(){if(this.warcHeaders.headers instanceof vt)return this.warcHeaders.headers.getMultiple("WARC-Concurrent-To");{let t=this.warcHeaders.headers.get("WARC-Concurrent-To");return t?t.split(","):[]}}};async function*Ft(){}var Ht=new TextDecoder,jt=new Uint8Array([]),Wt=class t{static async parse(e,r){return new t(e,r).parse()}static iterRecords(e,r){return new t(e,r)[Symbol.asyncIterator]()}constructor(t,{keepHeadersCase:e=!1,parseHttp:r=!0}={}){this._offset=0,this._warcHeadersLength=0,this._headersClass=e?vt:Headers,this._parseHttp=r,this._reader=t instanceof St?t:new St(t),this._record=null}async readToNextRecord(){if(!this._reader||!this._record)return jt;await this._record.skipFully(),this._reader.compressed&&(this._offset=this._reader.getRawOffset());let t=await this._reader.readlineRaw(),e=0;if(t){if(e=t.byteLength-1,9===e&&Ht.decode(t).startsWith("WARC/"))return t;for(;e>0;){let r=t[e-1];if(10!==r&&13!==r)break;e--}e&&console.warn(`Content-Length Too Small: Record not followed by newline, Remainder Length: ${e}, Offset: ${this._reader.getRawOffset()-t.byteLength}`)}else t=jt;if(this._reader.compressed)await this._reader.skipSize(2),t=jt;else{for(t=await this._reader.readlineRaw();t&&2===t.byteLength;)t=await this._reader.readlineRaw();this._offset=this._reader.getRawOffset(),t&&(this._offset-=t.length)}return t}_initRecordReader(t){return new Tt(this._reader,Number(t.headers.get("Content-Length")||0))}async parse(){let t=await this.readToNextRecord(),e=t?Ht.decode(t):"",r=new Bt,i=await r.parse(this._reader,{firstLine:e,headersClass:this._headersClass});if(!i)return null;this._warcHeadersLength=this._reader.getReadOffset();let n=new Mt({warcHeaders:i,reader:this._initRecordReader(i)});if(this._record=n,this._parseHttp)switch(n.warcType){case"response":case"request":await this._addHttpHeaders(n,r);break;case"revisit":n.warcContentLength>0&&await this._addHttpHeaders(n,r)}return n}get offset(){return this._offset}get recordLength(){return this._reader.getRawLength(this._offset)}async*[Symbol.asyncIterator](){let t=null;for(;null!==(t=await this.parse());)yield t;this._record=null}async _addHttpHeaders(t,e){let r=await e.parse(this._reader,{headersClass:this._headersClass});t.httpHeaders=r;let i=this._reader.getReadOffset()-this._warcHeadersLength;t.reader instanceof Tt&&t.reader.setLimitSkip(t.warcContentLength-i)}};function Qt(t,e,r){let i,n;switch(r=r||{},e){case"RFC3548":case"RFC4648":i="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",n=!0;break;case"RFC4648-HEX":i="0123456789ABCDEFGHIJKLMNOPQRSTUV",n=!0;break;case"Crockford":i="0123456789ABCDEFGHJKMNPQRSTVWXYZ",n=!1;break;default:throw new Error("Unknown base32 variant: "+e)}let s=void 0!==r.padding?r.padding:n,o=function(t){if(t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray)return new DataView(t.buffer,t.byteOffset,t.byteLength);if(t instanceof ArrayBuffer)return new DataView(t);throw new TypeError("Expected `data` to be an ArrayBuffer, Buffer, Int8Array, Uint8Array or Uint8ClampedArray")}(t),a=0,c=0,l="";for(let t=0;t<o.byteLength;t++)for(c=c<<8|o.getUint8(t),a+=8;a>=5;)l+=i[c>>>a-5&31],a-=5;if(a>0&&(l+=i[c<<5-a&31]),s)for(;l.length%8!=0;)l+="=";return l}var zt=new TextEncoder,Vt=class{},Gt=class extends Vt{constructor(){super(...arguments),this.buffers=[]}write(t){this.buffers.push(t)}async*readAll(){for(let t of this.buffers)yield t}purge(){this.buffers=[]}},qt=(Symbol.asyncIterator,["offset","warc-type","warc-target-uri"]),Yt=class{constructor(t={},e=qt){this.opts=t,t.fields?(this.fields=t.fields,this.reqFields=this.fields.filter(t=>{return(e=t).startsWith("req.")||"referrer"===e.toLowerCase();var e})):(this.fields=e,this.reqFields=[]),this.parseHttp=!1}serialize(t){return JSON.stringify(t)+"\n"}write(t,e){e.write(this.serialize(t))}async writeAll(t,e){for await(let r of this.iterIndex(t))this.write(r,e)}async*iterIndex(t){let e={strictHeaders:!0,parseHttp:this.parseHttp};for(let{filename:r,reader:i}of t){let t=new Wt(i,e);yield*this.iterRecords(t,r)}}async*iterRecords(t,e){for await(let r of t){await r.skipFully();let i=this.indexRecord(r,t,e);i&&(yield i)}}indexRecord(t,e,r){if(this.filterRecord&&!this.filterRecord(t))return null;let i={},{offset:n,recordLength:s}=e,o={offset:n,length:s,filename:r};for(let e of this.fields)e in o?i[e]=o[e]:this.setField(e,t,i);return i}setField(t,e,r){let i=this.getField(t,e);null!==i&&(r[t]=i)}getField(t,e){if(t.startsWith("req.")){if("request"!==e.warcType)return null;t=t.slice(4)}if("http:status"===t)return!e.httpHeaders||"response"!==e.warcType&&"revisit"!==e.warcType?null:e.httpHeaders.statusCode;if(t.startsWith("http:")){if(e.httpHeaders){let r=e.httpHeaders.headers,i=t.slice(5),n=r.get(i);if(r instanceof Map){let t=i.toLowerCase();for(let e of r.keys())t===e.toLowerCase()&&(n=r.get(e))}return n}return null}return e.warcHeaders.headers.get(t)||null}},Kt=class extends Yt{constructor(t,e){super(t,e);for(let t of this.fields)if(t.startsWith("http:")){this.parseHttp=!0;break}}},Xt="urlkey,timestamp,url,mime,status,digest,length,offset,filename".split(","),Jt="urlkey,timestamp,url,mime,status,digest,redirect,meta,length,offset,filename".split(","),Zt=class extends Kt{constructor(t){switch(super(t,Xt),this.includeAll=!!t?.all,this.overrideIndexForAll=!!t?.all,this.parseHttp=!0,this.noSurt=!!t?.noSurt,this._lastRecord=null,t?.format){case"cdxj":this.serialize=this.serializeCDXJ;break;case"cdx":this.serialize=this.serializeCDX11}}async*iterRecords(t,e){this._lastRecord=null;for await(let r of t){await r.readFully();let i=this.indexRecord(r,t,e);i&&(yield i)}let r=this.indexRecord(null,t,e);r&&(yield r)}filterRecord(t){if(this.includeAll)return!0;let e=t.warcType;return!("request"===e||"warcinfo"===e||("metadata"===e||"resource"===e)&&"application/warc-fields"===t.warcContentType)}indexRecord(t,e,r){if(this.overrideIndexForAll)return t?super.indexRecord(t,e,r):null;let i=this._lastRecord;if(this._lastRecord=t,t&&(t._offset=e.offset,t._length=e.recordLength),!i)return null;if(!t||i.warcTargetURI!=t.warcTargetURI)return this.indexRecordPair(i,null,e,r);let n=t.warcType,s=i.warcType;return"request"!==n||"response"!==s&&"revisit"!==s?"response"!==n&&"revisit"!==n||"request"!==s?this.indexRecordPair(i,null,e,r):(this._lastRecord=null,this.indexRecordPair(t,i,e,r)):(this._lastRecord=null,this.indexRecordPair(i,t,e,r))}indexRecordPair(t,e,r,i,n=4096){let s,o,a=t.warcTargetURI||"";if(e?.httpHeaders&&"GET"!==e.httpHeaders.method){let t={url:a,method:e.httpHeaders.method,headers:e.httpHeaders.headers,postData:e.payload};s=t.method,pt(t,n)&&(o=t.requestBody,a=t.url)}t._urlkey=a;let c=super.indexRecord(t,r,i);if(c&&(void 0!==t._offset&&(c.offset=t._offset,c.length=t._length),s&&(c.method=s),o&&(c.requestBody=o),e&&this.reqFields.length))for(let t of this.reqFields)this.setField(t,e,c);return c}serializeCDXJ(t){let{urlkey:e,timestamp:r}=t;return delete t.urlkey,delete t.timestamp,`${e} ${r} ${JSON.stringify(t,(t,e)=>["offset","length","status"].includes(t)?null==e?"":""+e:e)}\n`}serializeCDX11(t){let e=[];for(let r of Jt)e.push(null!=t[r]?t[r]:"-");return e.join(" ")+"\n"}getField(t,e){let r=null;switch(t){case"urlkey":return r=e._urlkey||e.warcTargetURI||null,this.noSurt||null===r?r:ut(r);case"timestamp":return r=e.warcDate??"",r.replace(/[-:T]/g,"").slice(0,14);case"url":return e.warcTargetURI;case"mime":switch(e.warcType){case"revisit":return"warc/revisit";case"response":case"request":t="http:content-type";break;default:return e.warcContentType}return r=super.getField(t,e),r?r.toString().split(";",1)[0]?.trim():null;case"status":return super.getField("http:status",e);case"referrer":return super.getField("req.http:referer",e);case"digest":return r=e.warcPayloadDigest,r?r.split(":",2)[1]:null;default:return super.getField(t,e)}}};async function $t(t,e,r){const i=t;try{"chunked"===r&&(t=function(t){let e=0,r=0;const i=new TextDecoder("utf-8");for(;e<t.length;){let n=e;for(;t[n]>=48&&t[n]<=57||t[n]>=65&&t[n]<=70||t[n]>=97&&t[n]<=102;)n++;if(0===n)return t;if(13!=t[n]||10!=t[n+1])return t;n+=2;const s=parseInt(i.decode(t.subarray(e,n)),16);if(0==s)break;t.set(t.subarray(n,n+s),r),n+=s,r+=s,13==t[n]&&10==t[n+1]&&(n+=2),e=n}return t.subarray(0,r)}(t))}catch(t){console.log("Chunk-Encoding Ignored: "+t)}try{if("br"===e)0===(t=M()(t)).length&&(t=i);else if("gzip"===e||"gzip"===r){const e=new(H().Inflate);e.push(t,!0),e.result&&!e.err&&(t=e.result)}}catch(t){console.log("Content-Encoding Ignored: "+t)}return t}var te=r(6454);function ee(t){let e,r;const i=t.response,n=i?.extraOpts;if(n&&(e=n.adaptive_max_resolution||n.maxRes,r=n.adaptive_max_bandwidth||n.maxBand,e&&r))return{maxRes:e,maxBand:r};let s;return s=t.response&&!t.response.isLive?{maxRes:921600,maxBand:2e6}:{maxRes:412800,maxBand:1e6},t.save&&(t.save.maxRes=s.maxRes,t.save.maxBand=s.maxBand),s}function re(t,e){const r=/#EXT-X-STREAM-INF:(?:.*[,])?BANDWIDTH=([\d]+)/,i=/RESOLUTION=([\d]+)x([\d]+)/,{maxRes:n,maxBand:s}=ee(e),o=n||s,a=[];let c=0;const l=[],h=t.trimEnd().split("\n");for(const t of h){const s=t.match(r);if(!s){e.rewriteUrl&&!t.startsWith("#")&&(h[c]=e.rewriteUrl(t)),c+=1;continue}a.push(c);const o=Number(s[1]),u=t.match(i),p=u?Number(u[1])*Number(u[2]):0;l.push({value:n?p:o,index:c}),c+=1}l.sort((t,e)=>t.value-e.value);let u=null,p=null;for(const t of l){if(t.value>o)break;p!=t.value&&(p=t.value,u=t.index)}null===u&&l.length>0&&(u=l[0].index),a.reverse();for(const t of a)t!==u&&h.splice(t,2);return h.join("\n")}const ie={ignoreAttributes:!1,removeNSPrefix:!1,format:!1,suppressEmptyNode:!0,suppressBooleanAttributes:!1};function ne(t,e,r){try{return function(t,e,r){const i=new te.XMLParser(ie).parse(t),{maxRes:n,maxBand:s}=ee(e);let o,a=null,c=0,l=0;o=Array.isArray(i.MPD.Period.AdaptationSet)?i.MPD.Period.AdaptationSet:[i.MPD.Period.AdaptationSet];for(const t of o){let e;a=null,c=0,l=0,e=Array.isArray(t.Representation)?t.Representation:[t.Representation];for(const t of e){const e=Number(t["@_width"]||"0")*Number(t["@_height"]||"0"),r=Number(t["@_bandwidth"]||"0");e&&n&&e<=n?e>c&&(c=e,l=r,a=t):r<=s&&r>l&&(c=e,l=r,a=t)}a&&Array.isArray(r)&&r.push(a["@_id"]),a&&(t.Representation=[a])}const h=new te.XMLBuilder(ie).build(i).trim();return h.slice(0,5).toLowerCase().startsWith("<?xml")?h:"<?xml version='1.0' encoding='UTF-8'?>\n"+h}(t,e,r)}catch(e){return console.log(e),t}}const se=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/ytplayer.load\(\);/,he('ytplayer.config.args.dash = "0"; ytplayer.config.args.dashmpd = ""; {0}')],[/yt\.setConfig.*PLAYER_CONFIG.*args":\s*{/,he('{0} "dash": "0", dashmpd: "", ')],[/(?:"player":|ytplayer\.config).*"args":\s*{/,he('{0}"dash":"0","dashmpd":"",')],[/yt\.setConfig.*PLAYER_VARS.*?{/,he('{0}"dash":"0","dashmpd":"",')],[/ytplayer.config={args:\s*{/,he('{0}"dash":"0","dashmpd":"",')],[/"0"\s*?==\s*?\w+\.dash&&/m,he("1&&")]]},{contains:["player.vimeo.com/video/"],rxRules:[[/^\{.+\}$/,function(t){let e;try{e=JSON.parse(t)}catch(e){return t}if(e?.request?.files){const t=e.request.files;if("object"==typeof t.progressive&&t.progressive.length)return t.dash&&(t.__dash=t.dash,delete t.dash),t.hls&&(t.__hls=t.hls,delete t.hls),JSON.stringify(e)}return t.replace(/query_string_ranges=1/g,"query_string_ranges=0")}]]},{contains:["master.json?query_string_ranges=0","master.json?base64"],rxRules:[[/^\{.+\}$/,function(t,e){if(!e)return t;let r=null;const i=pe(e);try{r=JSON.parse(t),console.log("manifest",r)}catch(e){return t}function n(t,e,r){if(!t)return null;let i=null,n=0;for(const s of t)s.mime_type==r&&s.bitrate>n&&s.bitrate<=e&&(n=s.bitrate,i=s);return i?[i]:t}return r.video=n(r.video,i,"video/mp4"),r.audio=n(r.audio,i,"audio/mp4"),JSON.stringify(r)}]]},{contains:["facebook.com/","fbsbx.com/"],rxRules:[[/"dash_manifests.*?,"failure_reason":null}]/,function(t,e){const r=t.indexOf("\\u003C?xml"),i=t.indexOf("/MPD>",r)+5;if(i<5)return t;let n=ne(JSON.parse('"'+t.slice(r,i)+'"'),e);n=JSON.stringify(n).replaceAll("<","\\u003C").slice(1,-1);const s=t.slice(0,r)+n+t.slice(i),o=Math.max(0,t.length-s.length);return s+" ".repeat(o)}],[/"playlist/,ue('"playli__')],[/"debugNoBatching\s?":(?:false|0)/,ue('"debugNoBatching":1')],[/"bulkRouteFetchBatchSize\s?":(?:[^{},]+)/,ue('"bulkRouteFetchBatchSize":1')],[/"maxBatchSize\s?":(?:[^{},]+)/,ue('"maxBatchSize":1')]]},{contains:["instagram.com/"],rxRules:[[/"is_dash_eligible":(?:true|1)/,ue('"is_dash_eligible":0')],[/"debugNoBatching\s?":(?:false|0)/,ue('"debugNoBatching":1')],[/"bulkRouteFetchBatchSize\s?":(?:[^{},]+)/,ue('"bulkRouteFetchBatchSize":1')],[/"maxBatchSize\s?":(?:[^{},]+)/,ue('"maxBatchSize":1')]]},{contains:["api.twitter.com/2/","twitter.com/i/api/2/","twitter.com/i/api/graphql/","api.x.com/2/","x.com/i/api/2/","x.com/i/api/graphql/"],rxRules:[[/"video_info":.*?}]}/,de('"video_info":')]]},{contains:["cdn.syndication.twimg.com/tweet-result"],rxRules:[[/"video":.*?viewCount":\d+}/,de('"video":')]]},{contains:["/vqlweb.js"],rxRules:[[/\b\w+\.updatePortSize\(\);this\.updateApplicationSize\(\)(?![*])/gim,he("/*{0}*/")]]}],oe=' ;Object.defineProperty(MediaSource, "isTypeSupported", {value: () => false, configurable: false, writable: false});',ae=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/[^"]<head.*?>/,t=>`\n ${t}<script>${oe}<\/script>\n `]]},...se],ce=[{contains:/video.*fbcdn.net/,start:"bytestart",end:"byteend"}];function le(t){if(!t)return null;for(const e of ce){const{contains:r,start:i,end:n}=e;if(t.match(r))return{start:i,end:n}}return null}function he(t){return e=>t.replace("{0}",e)}function ue(t){return e=>{const r=Math.max(0,e.length-t.length);return t+" ".repeat(r)}}function pe(t){let e=5e6;const r=t.response,i=r?.extraOpts;return t.save?t.save.maxBitrate=e:i?.maxBitrate&&(e=i.maxBitrate),e}function de(t){return(e,r)=>{if(!r)return e;const i=e;try{const i=/([\d]+)x([\d]+)/,n=pe(r);e=e.slice(t.length);const s=JSON.parse(e);let o=null,a=0;for(const t of s.variants)if(!(t.content_type&&"video/mp4"!==t.content_type||t.type&&"video/mp4"!==t.type))if(t.bitrate&&t.bitrate>a&&t.bitrate<=n)o=t,a=t.bitrate;else if(t.src){const e=i.exec(t.src);if(e){const r=Number(e[1])*Number(e[2]);r>a&&(a=r,o=t)}}return o&&(s.variants=[o]),t+JSON.stringify(s)}catch(t){return console.warn("rewriter error: ",t),i}}}class fe{rwRules;RewriterCls;rewriters=new Map;defaultRewriter;constructor(t,e){this.rwRules=e||se,this.RewriterCls=t,this._initRules()}_initRules(){this.rewriters=new Map;for(const t of this.rwRules)t.rxRules&&this.rewriters.set(t,new this.RewriterCls(t.rxRules));this.defaultRewriter=new this.RewriterCls}getCustomRewriter(t){for(const e of this.rwRules)if(e.contains)for(const r of e.contains)if(t.indexOf(r)>=0){const t=this.rewriters.get(e);if(t)return t}return null}getRewriter(t){return this.getCustomRewriter(t)||this.defaultRewriter}}class ge{rules;rx=null;constructor(t){this.rules=t||null,this.rules&&this.compileRules()}compileRules(){let t="";if(!this.rules)return;for(const e of this.rules)t&&(t+="|"),t+=`(${e[0].source})`;const e=`(?:${t})`;this.rx=new RegExp(e,"gm")}doReplace(t,e,r){const i=e[e.length-2],n=e[e.length-1];for(let t=0;t<this.rules.length;t++){const s=e[t];if(!s)continue;const o=this.rules[t][1].call(this,s,r,i,n);if(o)return o}return console.warn(`rx no match found for ${t} - rx rule contains extra matching group?`),t}rewrite(t,e){return this.rx?t.replace(this.rx,(t,...r)=>this.doReplace(t,r,e)):t}}var me=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239],ye=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],we="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟍꟐꟑꟓꟕ-Ƛꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",Ae={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},be="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",Ee={5:be,"5module":be+" export import",6:be+" const class extends export import super"},ve=/^in(stanceof)?$/,_e=new RegExp("["+we+"]"),xe=new RegExp("["+we+"‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・]");function Ie(t,e){for(var r=65536,i=0;i<e.length;i+=2){if((r+=e[i])>t)return!1;if((r+=e[i+1])>=t)return!0}return!1}function Se(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&_e.test(String.fromCharCode(t)):!1!==e&&Ie(t,ye)))}function Te(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&xe.test(String.fromCharCode(t)):!1!==e&&(Ie(t,ye)||Ie(t,me)))))}var Ce=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function Re(t,e){return new Ce(t,{beforeExpr:!0,binop:e})}var ke={beforeExpr:!0},Ne={startsExpr:!0},Be={};function Oe(t,e){return void 0===e&&(e={}),e.keyword=t,Be[t]=new Ce(t,e)}var Pe={num:new Ce("num",Ne),regexp:new Ce("regexp",Ne),string:new Ce("string",Ne),name:new Ce("name",Ne),privateId:new Ce("privateId",Ne),eof:new Ce("eof"),bracketL:new Ce("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new Ce("]"),braceL:new Ce("{",{beforeExpr:!0,startsExpr:!0}),braceR:new Ce("}"),parenL:new Ce("(",{beforeExpr:!0,startsExpr:!0}),parenR:new Ce(")"),comma:new Ce(",",ke),semi:new Ce(";",ke),colon:new Ce(":",ke),dot:new Ce("."),question:new Ce("?",ke),questionDot:new Ce("?."),arrow:new Ce("=>",ke),template:new Ce("template"),invalidTemplate:new Ce("invalidTemplate"),ellipsis:new Ce("...",ke),backQuote:new Ce("`",Ne),dollarBraceL:new Ce("${",{beforeExpr:!0,startsExpr:!0}),eq:new Ce("=",{beforeExpr:!0,isAssign:!0}),assign:new Ce("_=",{beforeExpr:!0,isAssign:!0}),incDec:new Ce("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new Ce("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Re("||",1),logicalAND:Re("&&",2),bitwiseOR:Re("|",3),bitwiseXOR:Re("^",4),bitwiseAND:Re("&",5),equality:Re("==/!=/===/!==",6),relational:Re("</>/<=/>=",7),bitShift:Re("<</>>/>>>",8),plusMin:new Ce("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Re("%",10),star:Re("*",10),slash:Re("/",10),starstar:new Ce("**",{beforeExpr:!0}),coalesce:Re("??",1),_break:Oe("break"),_case:Oe("case",ke),_catch:Oe("catch"),_continue:Oe("continue"),_debugger:Oe("debugger"),_default:Oe("default",ke),_do:Oe("do",{isLoop:!0,beforeExpr:!0}),_else:Oe("else",ke),_finally:Oe("finally"),_for:Oe("for",{isLoop:!0}),_function:Oe("function",Ne),_if:Oe("if"),_return:Oe("return",ke),_switch:Oe("switch"),_throw:Oe("throw",ke),_try:Oe("try"),_var:Oe("var"),_const:Oe("const"),_while:Oe("while",{isLoop:!0}),_with:Oe("with"),_new:Oe("new",{beforeExpr:!0,startsExpr:!0}),_this:Oe("this",Ne),_super:Oe("super",Ne),_class:Oe("class",Ne),_extends:Oe("extends",ke),_export:Oe("export"),_import:Oe("import",Ne),_null:Oe("null",Ne),_true:Oe("true",Ne),_false:Oe("false",Ne),_in:Oe("in",{beforeExpr:!0,binop:7}),_instanceof:Oe("instanceof",{beforeExpr:!0,binop:7}),_typeof:Oe("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:Oe("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:Oe("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},De=/\r\n?|\n|\u2028|\u2029/,Le=new RegExp(De.source,"g");function Ue(t){return 10===t||13===t||8232===t||8233===t}function Me(t,e,r){void 0===r&&(r=t.length);for(var i=e;i<r;i++){var n=t.charCodeAt(i);if(Ue(n))return i<r-1&&13===n&&10===t.charCodeAt(i+1)?i+2:i+1}return-1}var Fe=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,He=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,je=Object.prototype,We=je.hasOwnProperty,Qe=je.toString,ze=Object.hasOwn||function(t,e){return We.call(t,e)},Ve=Array.isArray||function(t){return"[object Array]"===Qe.call(t)},Ge=Object.create(null);function qe(t){return Ge[t]||(Ge[t]=new RegExp("^(?:"+t.replace(/ /g,"|")+")$"))}function Ye(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}var Ke=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,Xe=function(t,e){this.line=t,this.column=e};Xe.prototype.offset=function(t){return new Xe(this.line,this.column+t)};var Je=function(t,e,r){this.start=e,this.end=r,null!==t.sourceFile&&(this.source=t.sourceFile)};function Ze(t,e){for(var r=1,i=0;;){var n=Me(t,i,e);if(n<0)return new Xe(r,e-i);++r,i=n}}var $e={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},tr=!1;function er(t){var e={};for(var r in $e)e[r]=t&&ze(t,r)?t[r]:$e[r];if("latest"===e.ecmaVersion?e.ecmaVersion=1e8:null==e.ecmaVersion?(!tr&&"object"==typeof console&&console.warn&&(tr=!0,console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")),e.ecmaVersion=11):e.ecmaVersion>=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),t&&null!=t.allowHashBang||(e.allowHashBang=e.ecmaVersion>=14),Ve(e.onToken)){var i=e.onToken;e.onToken=function(t){return i.push(t)}}return Ve(e.onComment)&&(e.onComment=function(t,e){return function(r,i,n,s,o,a){var c={type:r?"Block":"Line",value:i,start:n,end:s};t.locations&&(c.loc=new Je(this,o,a)),t.ranges&&(c.range=[n,s]),e.push(c)}}(e,e.onComment)),e}var rr=256,ir=259;function nr(t,e){return 2|(t?4:0)|(e?8:0)}var sr=function(t,e,r){this.options=t=er(t),this.sourceFile=t.sourceFile,this.keywords=qe(Ee[t.ecmaVersion>=6?6:"module"===t.sourceType?"5module":5]);var i="";!0!==t.allowReserved&&(i=Ae[t.ecmaVersion>=6?6:5===t.ecmaVersion?5:3],"module"===t.sourceType&&(i+=" await")),this.reservedWords=qe(i);var n=(i?i+" ":"")+Ae.strict;this.reservedWordsStrict=qe(n),this.reservedWordsStrictBind=qe(n+" "+Ae.strictBind),this.input=String(e),this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf("\n",r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(De).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=Pe.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null,this.privateNameStack=[]},or={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};sr.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},or.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},or.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},or.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},or.canAwait.get=function(){for(var t=this.scopeStack.length-1;t>=0;t--){var e=this.scopeStack[t].flags;if(768&e)return!1;if(2&e)return(4&e)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},or.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0||this.options.allowSuperOutsideMethod},or.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},or.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},or.allowNewDotTarget.get=function(){for(var t=this.scopeStack.length-1;t>=0;t--){var e=this.scopeStack[t].flags;if(768&e||2&e&&!(16&e))return!0}return!1},or.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&rr)>0},sr.extend=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var r=this,i=0;i<t.length;i++)r=t[i](r);return r},sr.parse=function(t,e){return new this(e,t).parse()},sr.parseExpressionAt=function(t,e,r){var i=new this(r,t,e);return i.nextToken(),i.parseExpression()},sr.tokenizer=function(t,e){return new this(e,t)},Object.defineProperties(sr.prototype,or);var ar=sr.prototype,cr=/^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;ar.strictDirective=function(t){if(this.options.ecmaVersion<5)return!1;for(;;){He.lastIndex=t,t+=He.exec(this.input)[0].length;var e=cr.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2])){He.lastIndex=t+e[0].length;var r=He.exec(this.input),i=r.index+r[0].length,n=this.input.charAt(i);return";"===n||"}"===n||De.test(r[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(n)||"!"===n&&"="===this.input.charAt(i+1))}t+=e[0].length,He.lastIndex=t,t+=He.exec(this.input)[0].length,";"===this.input[t]&&t++}},ar.eat=function(t){return this.type===t&&(this.next(),!0)},ar.isContextual=function(t){return this.type===Pe.name&&this.value===t&&!this.containsEsc},ar.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},ar.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},ar.canInsertSemicolon=function(){return this.type===Pe.eof||this.type===Pe.braceR||De.test(this.input.slice(this.lastTokEnd,this.start))},ar.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ar.semicolon=function(){this.eat(Pe.semi)||this.insertSemicolon()||this.unexpected()},ar.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},ar.expect=function(t){this.eat(t)||this.unexpected()},ar.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")};var lr=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};ar.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var r=e?t.parenthesizedAssign:t.parenthesizedBind;r>-1&&this.raiseRecoverable(r,e?"Assigning to rvalue":"Parenthesized pattern")}},ar.checkExpressionErrors=function(t,e){if(!t)return!1;var r=t.shorthandAssign,i=t.doubleProto;if(!e)return r>=0||i>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")},ar.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},ar.isSimpleAssignTarget=function(t){return"ParenthesizedExpression"===t.type?this.isSimpleAssignTarget(t.expression):"Identifier"===t.type||"MemberExpression"===t.type};var hr=sr.prototype;hr.parseTopLevel=function(t){var e=Object.create(null);for(t.body||(t.body=[]);this.type!==Pe.eof;){var r=this.parseStatement(null,!0,e);t.body.push(r)}if(this.inModule)for(var i=0,n=Object.keys(this.undefinedExports);i<n.length;i+=1){var s=n[i];this.raiseRecoverable(this.undefinedExports[s].start,"Export '"+s+"' is not defined")}return this.adaptDirectivePrologue(t.body),this.next(),t.sourceType=this.options.sourceType,this.finishNode(t,"Program")};var ur={kind:"loop"},pr={kind:"switch"};hr.isLet=function(t){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;He.lastIndex=this.pos;var e=He.exec(this.input),r=this.pos+e[0].length,i=this.input.charCodeAt(r);if(91===i||92===i)return!0;if(t)return!1;if(123===i||i>55295&&i<56320)return!0;if(Se(i,!0)){for(var n=r+1;Te(i=this.input.charCodeAt(n),!0);)++n;if(92===i||i>55295&&i<56320)return!0;var s=this.input.slice(r,n);if(!ve.test(s))return!0}return!1},hr.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;He.lastIndex=this.pos;var t,e=He.exec(this.input),r=this.pos+e[0].length;return!(De.test(this.input.slice(this.pos,r))||"function"!==this.input.slice(r,r+8)||r+8!==this.input.length&&(Te(t=this.input.charCodeAt(r+8))||t>55295&&t<56320))},hr.isUsingKeyword=function(t,e){if(this.options.ecmaVersion<17||!this.isContextual(t?"await":"using"))return!1;He.lastIndex=this.pos;var r=He.exec(this.input),i=this.pos+r[0].length;if(De.test(this.input.slice(this.pos,i)))return!1;if(t){var n,s=i+5;if("using"!==this.input.slice(i,s)||s===this.input.length||Te(n=this.input.charCodeAt(s))||n>55295&&n<56320)return!1;He.lastIndex=s;var o=He.exec(this.input);if(o&&De.test(this.input.slice(s,s+o[0].length)))return!1}if(e){var a,c=i+2;if(!("of"!==this.input.slice(i,c)||c!==this.input.length&&(Te(a=this.input.charCodeAt(c))||a>55295&&a<56320)))return!1}var l=this.input.charCodeAt(i);return Se(l,!0)||92===l},hr.isAwaitUsing=function(t){return this.isUsingKeyword(!0,t)},hr.isUsing=function(t){return this.isUsingKeyword(!1,t)},hr.parseStatement=function(t,e,r){var i,n=this.type,s=this.startNode();switch(this.isLet(t)&&(n=Pe._var,i="let"),n){case Pe._break:case Pe._continue:return this.parseBreakContinueStatement(s,n.keyword);case Pe._debugger:return this.parseDebuggerStatement(s);case Pe._do:return this.parseDoStatement(s);case Pe._for:return this.parseForStatement(s);case Pe._function:return t&&(this.strict||"if"!==t&&"label"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(s,!1,!t);case Pe._class:return t&&this.unexpected(),this.parseClass(s,!0);case Pe._if:return this.parseIfStatement(s);case Pe._return:return this.parseReturnStatement(s);case Pe._switch:return this.parseSwitchStatement(s);case Pe._throw:return this.parseThrowStatement(s);case Pe._try:return this.parseTryStatement(s);case Pe._const:case Pe._var:return i=i||this.value,t&&"var"!==i&&this.unexpected(),this.parseVarStatement(s,i);case Pe._while:return this.parseWhileStatement(s);case Pe._with:return this.parseWithStatement(s);case Pe.braceL:return this.parseBlock(!0,s);case Pe.semi:return this.parseEmptyStatement(s);case Pe._export:case Pe._import:if(this.options.ecmaVersion>10&&n===Pe._import){He.lastIndex=this.pos;var o=He.exec(this.input),a=this.pos+o[0].length,c=this.input.charCodeAt(a);if(40===c||46===c)return this.parseExpressionStatement(s,this.parseExpression())}return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),n===Pe._import?this.parseImport(s):this.parseExport(s,r);default:if(this.isAsyncFunction())return t&&this.unexpected(),this.next(),this.parseFunctionStatement(s,!0,!t);var l=this.isAwaitUsing(!1)?"await using":this.isUsing(!1)?"using":null;if(l)return e&&"script"===this.options.sourceType&&this.raise(this.start,"Using declaration cannot appear in the top level when source type is `script`"),"await using"===l&&(this.canAwait||this.raise(this.start,"Await using cannot appear outside of async function"),this.next()),this.next(),this.parseVar(s,!1,l),this.semicolon(),this.finishNode(s,"VariableDeclaration");var h=this.value,u=this.parseExpression();return n===Pe.name&&"Identifier"===u.type&&this.eat(Pe.colon)?this.parseLabeledStatement(s,h,u,t):this.parseExpressionStatement(s,u)}},hr.parseBreakContinueStatement=function(t,e){var r="break"===e;this.next(),this.eat(Pe.semi)||this.insertSemicolon()?t.label=null:this.type!==Pe.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var i=0;i<this.labels.length;++i){var n=this.labels[i];if(null==t.label||n.name===t.label.name){if(null!=n.kind&&(r||"loop"===n.kind))break;if(t.label&&r)break}}return i===this.labels.length&&this.raise(t.start,"Unsyntactic "+e),this.finishNode(t,r?"BreakStatement":"ContinueStatement")},hr.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},hr.parseDoStatement=function(t){return this.next(),this.labels.push(ur),t.body=this.parseStatement("do"),this.labels.pop(),this.expect(Pe._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(Pe.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},hr.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(ur),this.enterScope(0),this.expect(Pe.parenL),this.type===Pe.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var r=this.isLet();if(this.type===Pe._var||this.type===Pe._const||r){var i=this.startNode(),n=r?"let":this.value;return this.next(),this.parseVar(i,!0,n),this.finishNode(i,"VariableDeclaration"),this.parseForAfterInit(t,i,e)}var s=this.isContextual("let"),o=!1,a=this.isUsing(!0)?"using":this.isAwaitUsing(!0)?"await using":null;if(a){var c=this.startNode();return this.next(),"await using"===a&&this.next(),this.parseVar(c,!0,a),this.finishNode(c,"VariableDeclaration"),this.parseForAfterInit(t,c,e)}var l=this.containsEsc,h=new lr,u=this.start,p=e>-1?this.parseExprSubscripts(h,"await"):this.parseExpression(!0,h);return this.type===Pe._in||(o=this.options.ecmaVersion>=6&&this.isContextual("of"))?(e>-1?(this.type===Pe._in&&this.unexpected(e),t.await=!0):o&&this.options.ecmaVersion>=8&&(p.start!==u||l||"Identifier"!==p.type||"async"!==p.name?this.options.ecmaVersion>=9&&(t.await=!1):this.unexpected()),s&&o&&this.raise(p.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(p,!1,h),this.checkLValPattern(p),this.parseForIn(t,p)):(this.checkExpressionErrors(h,!0),e>-1&&this.unexpected(e),this.parseFor(t,p))},hr.parseForAfterInit=function(t,e,r){return(this.type===Pe._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===e.declarations.length?(this.options.ecmaVersion>=9&&(this.type===Pe._in?r>-1&&this.unexpected(r):t.await=r>-1),this.parseForIn(t,e)):(r>-1&&this.unexpected(r),this.parseFor(t,e))},hr.parseFunctionStatement=function(t,e,r){return this.next(),this.parseFunction(t,fr|(r?0:gr),!1,e)},hr.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(Pe._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},hr.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(Pe.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},hr.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(Pe.braceL),this.labels.push(pr),this.enterScope(0);for(var r=!1;this.type!==Pe.braceR;)if(this.type===Pe._case||this.type===Pe._default){var i=this.type===Pe._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),i?e.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,e.test=null),this.expect(Pe.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(null));return this.exitScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},hr.parseThrowStatement=function(t){return this.next(),De.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var dr=[];hr.parseCatchClauseParam=function(){var t=this.parseBindingAtom(),e="Identifier"===t.type;return this.enterScope(e?32:0),this.checkLValPattern(t,e?4:2),this.expect(Pe.parenR),t},hr.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===Pe._catch){var e=this.startNode();this.next(),this.eat(Pe.parenL)?e.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterScope(0)),e.body=this.parseBlock(!1),this.exitScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(Pe._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},hr.parseVarStatement=function(t,e,r){return this.next(),this.parseVar(t,!1,e,r),this.semicolon(),this.finishNode(t,"VariableDeclaration")},hr.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(ur),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},hr.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement("with"),this.finishNode(t,"WithStatement")},hr.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},hr.parseLabeledStatement=function(t,e,r,i){for(var n=0,s=this.labels;n<s.length;n+=1)s[n].name===e&&this.raise(r.start,"Label '"+e+"' is already declared");for(var o=this.type.isLoop?"loop":this.type===Pe._switch?"switch":null,a=this.labels.length-1;a>=0;a--){var c=this.labels[a];if(c.statementStart!==t.start)break;c.statementStart=this.start,c.kind=o}return this.labels.push({name:e,kind:o,statementStart:this.start}),t.body=this.parseStatement(i?-1===i.indexOf("label")?i+"label":i:"label"),this.labels.pop(),t.label=r,this.finishNode(t,"LabeledStatement")},hr.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},hr.parseBlock=function(t,e,r){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(Pe.braceL),t&&this.enterScope(0);this.type!==Pe.braceR;){var i=this.parseStatement(null);e.body.push(i)}return r&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},hr.parseFor=function(t,e){return t.init=e,this.expect(Pe.semi),t.test=this.type===Pe.semi?null:this.parseExpression(),this.expect(Pe.semi),t.update=this.type===Pe.parenR?null:this.parseExpression(),this.expect(Pe.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},hr.parseForIn=function(t,e){var r=this.type===Pe._in;return this.next(),"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(!r||this.options.ecmaVersion<8||this.strict||"var"!==e.kind||"Identifier"!==e.declarations[0].id.type)&&this.raise(e.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"),t.left=e,t.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(Pe.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,r?"ForInStatement":"ForOfStatement")},hr.parseVar=function(t,e,r,i){for(t.declarations=[],t.kind=r;;){var n=this.startNode();if(this.parseVarId(n,r),this.eat(Pe.eq)?n.init=this.parseMaybeAssign(e):i||"const"!==r||this.type===Pe._in||this.options.ecmaVersion>=6&&this.isContextual("of")?i||"using"!==r&&"await using"!==r||!(this.options.ecmaVersion>=17)||this.type===Pe._in||this.isContextual("of")?i||"Identifier"===n.id.type||e&&(this.type===Pe._in||this.isContextual("of"))?n.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.raise(this.lastTokEnd,"Missing initializer in "+r+" declaration"):this.unexpected(),t.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(Pe.comma))break}return t},hr.parseVarId=function(t,e){t.id="using"===e||"await using"===e?this.parseIdent():this.parseBindingAtom(),this.checkLValPattern(t.id,"var"===e?1:2,!1)};var fr=1,gr=2;function mr(t,e){var r=e.key.name,i=t[r],n="true";return"MethodDefinition"!==e.type||"get"!==e.kind&&"set"!==e.kind||(n=(e.static?"s":"i")+e.kind),"iget"===i&&"iset"===n||"iset"===i&&"iget"===n||"sget"===i&&"sset"===n||"sset"===i&&"sget"===n?(t[r]="true",!1):!!i||(t[r]=n,!1)}function yr(t,e){var r=t.computed,i=t.key;return!r&&("Identifier"===i.type&&i.name===e||"Literal"===i.type&&i.value===e)}hr.parseFunction=function(t,e,r,i,n){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===Pe.star&&e&gr&&this.unexpected(),t.generator=this.eat(Pe.star)),this.options.ecmaVersion>=8&&(t.async=!!i),e&fr&&(t.id=4&e&&this.type!==Pe.name?null:this.parseIdent(),!t.id||e&gr||this.checkLValSimple(t.id,this.strict||t.generator||t.async?this.treatFunctionsAsVar?1:2:3));var s=this.yieldPos,o=this.awaitPos,a=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(nr(t.async,t.generator)),e&fr||(t.id=this.type===Pe.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,r,!1,n),this.yieldPos=s,this.awaitPos=o,this.awaitIdentPos=a,this.finishNode(t,e&fr?"FunctionDeclaration":"FunctionExpression")},hr.parseFunctionParams=function(t){this.expect(Pe.parenL),t.params=this.parseBindingList(Pe.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},hr.parseClass=function(t,e){this.next();var r=this.strict;this.strict=!0,this.parseClassId(t,e),this.parseClassSuper(t);var i=this.enterClassBody(),n=this.startNode(),s=!1;for(n.body=[],this.expect(Pe.braceL);this.type!==Pe.braceR;){var o=this.parseClassElement(null!==t.superClass);o&&(n.body.push(o),"MethodDefinition"===o.type&&"constructor"===o.kind?(s&&this.raiseRecoverable(o.start,"Duplicate constructor in the same class"),s=!0):o.key&&"PrivateIdentifier"===o.key.type&&mr(i,o)&&this.raiseRecoverable(o.key.start,"Identifier '#"+o.key.name+"' has already been declared"))}return this.strict=r,this.next(),t.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},hr.parseClassElement=function(t){if(this.eat(Pe.semi))return null;var e=this.options.ecmaVersion,r=this.startNode(),i="",n=!1,s=!1,o="method",a=!1;if(this.eatContextual("static")){if(e>=13&&this.eat(Pe.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===Pe.star?a=!0:i="static"}if(r.static=a,!i&&e>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==Pe.star||this.canInsertSemicolon()?i="async":s=!0),!i&&(e>=9||!s)&&this.eat(Pe.star)&&(n=!0),!i&&!s&&!n){var c=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?o=c:i=c)}if(i?(r.computed=!1,r.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),r.key.name=i,this.finishNode(r.key,"Identifier")):this.parseClassElementName(r),e<13||this.type===Pe.parenL||"method"!==o||n||s){var l=!r.static&&yr(r,"constructor"),h=l&&t;l&&"method"!==o&&this.raise(r.key.start,"Constructor can't have get/set modifier"),r.kind=l?"constructor":o,this.parseClassMethod(r,n,s,h)}else this.parseClassField(r);return r},hr.isClassElementNameStart=function(){return this.type===Pe.name||this.type===Pe.privateId||this.type===Pe.num||this.type===Pe.string||this.type===Pe.bracketL||this.type.keyword},hr.parseClassElementName=function(t){this.type===Pe.privateId?("constructor"===this.value&&this.raise(this.start,"Classes can't have an element named '#constructor'"),t.computed=!1,t.key=this.parsePrivateIdent()):this.parsePropertyName(t)},hr.parseClassMethod=function(t,e,r,i){var n=t.key;"constructor"===t.kind?(e&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method")):t.static&&yr(t,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var s=t.value=this.parseMethod(e,r,i);return"get"===t.kind&&0!==s.params.length&&this.raiseRecoverable(s.start,"getter should have no params"),"set"===t.kind&&1!==s.params.length&&this.raiseRecoverable(s.start,"setter should have exactly one param"),"set"===t.kind&&"RestElement"===s.params[0].type&&this.raiseRecoverable(s.params[0].start,"Setter cannot use rest params"),this.finishNode(t,"MethodDefinition")},hr.parseClassField=function(t){return yr(t,"constructor")?this.raise(t.key.start,"Classes can't have a field named 'constructor'"):t.static&&yr(t,"prototype")&&this.raise(t.key.start,"Classes can't have a static field named 'prototype'"),this.eat(Pe.eq)?(this.enterScope(576),t.value=this.parseMaybeAssign(),this.exitScope()):t.value=null,this.semicolon(),this.finishNode(t,"PropertyDefinition")},hr.parseClassStaticBlock=function(t){t.body=[];var e=this.labels;for(this.labels=[],this.enterScope(320);this.type!==Pe.braceR;){var r=this.parseStatement(null);t.body.push(r)}return this.next(),this.exitScope(),this.labels=e,this.finishNode(t,"StaticBlock")},hr.parseClassId=function(t,e){this.type===Pe.name?(t.id=this.parseIdent(),e&&this.checkLValSimple(t.id,2,!1)):(!0===e&&this.unexpected(),t.id=null)},hr.parseClassSuper=function(t){t.superClass=this.eat(Pe._extends)?this.parseExprSubscripts(null,!1):null},hr.enterClassBody=function(){var t={declared:Object.create(null),used:[]};return this.privateNameStack.push(t),t.declared},hr.exitClassBody=function(){var t=this.privateNameStack.pop(),e=t.declared,r=t.used;if(this.options.checkPrivateFields)for(var i=this.privateNameStack.length,n=0===i?null:this.privateNameStack[i-1],s=0;s<r.length;++s){var o=r[s];ze(e,o.name)||(n?n.used.push(o):this.raiseRecoverable(o.start,"Private field '#"+o.name+"' must be declared in an enclosing class"))}},hr.parseExportAllDeclaration=function(t,e){return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(t.exported=this.parseModuleExportName(),this.checkExport(e,t.exported,this.lastTokStart)):t.exported=null),this.expectContextual("from"),this.type!==Pe.string&&this.unexpected(),t.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(t.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(t,"ExportAllDeclaration")},hr.parseExport=function(t,e){if(this.next(),this.eat(Pe.star))return this.parseExportAllDeclaration(t,e);if(this.eat(Pe._default))return this.checkExport(e,"default",this.lastTokStart),t.declaration=this.parseExportDefaultDeclaration(),this.finishNode(t,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())t.declaration=this.parseExportDeclaration(t),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id,t.declaration.id.start),t.specifiers=[],t.source=null,this.options.ecmaVersion>=16&&(t.attributes=[]);else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==Pe.string&&this.unexpected(),t.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(t.attributes=this.parseWithClause());else{for(var r=0,i=t.specifiers;r<i.length;r+=1){var n=i[r];this.checkUnreserved(n.local),this.checkLocalExport(n.local),"Literal"===n.local.type&&this.raise(n.local.start,"A string literal cannot be used as an exported binding without `from`.")}t.source=null,this.options.ecmaVersion>=16&&(t.attributes=[])}this.semicolon()}return this.finishNode(t,"ExportNamedDeclaration")},hr.parseExportDeclaration=function(t){return this.parseStatement(null)},hr.parseExportDefaultDeclaration=function(){var t;if(this.type===Pe._function||(t=this.isAsyncFunction())){var e=this.startNode();return this.next(),t&&this.next(),this.parseFunction(e,4|fr,!1,t)}if(this.type===Pe._class){var r=this.startNode();return this.parseClass(r,"nullableID")}var i=this.parseMaybeAssign();return this.semicolon(),i},hr.checkExport=function(t,e,r){t&&("string"!=typeof e&&(e="Identifier"===e.type?e.name:e.value),ze(t,e)&&this.raiseRecoverable(r,"Duplicate export '"+e+"'"),t[e]=!0)},hr.checkPatternExport=function(t,e){var r=e.type;if("Identifier"===r)this.checkExport(t,e,e.start);else if("ObjectPattern"===r)for(var i=0,n=e.properties;i<n.length;i+=1){var s=n[i];this.checkPatternExport(t,s)}else if("ArrayPattern"===r)for(var o=0,a=e.elements;o<a.length;o+=1){var c=a[o];c&&this.checkPatternExport(t,c)}else"Property"===r?this.checkPatternExport(t,e.value):"AssignmentPattern"===r?this.checkPatternExport(t,e.left):"RestElement"===r&&this.checkPatternExport(t,e.argument)},hr.checkVariableExport=function(t,e){if(t)for(var r=0,i=e;r<i.length;r+=1){var n=i[r];this.checkPatternExport(t,n.id)}},hr.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},hr.parseExportSpecifier=function(t){var e=this.startNode();return e.local=this.parseModuleExportName(),e.exported=this.eatContextual("as")?this.parseModuleExportName():e.local,this.checkExport(t,e.exported,e.exported.start),this.finishNode(e,"ExportSpecifier")},hr.parseExportSpecifiers=function(t){var e=[],r=!0;for(this.expect(Pe.braceL);!this.eat(Pe.braceR);){if(r)r=!1;else if(this.expect(Pe.comma),this.afterTrailingComma(Pe.braceR))break;e.push(this.parseExportSpecifier(t))}return e},hr.parseImport=function(t){return this.next(),this.type===Pe.string?(t.specifiers=dr,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===Pe.string?this.parseExprAtom():this.unexpected()),this.options.ecmaVersion>=16&&(t.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},hr.parseImportSpecifier=function(){var t=this.startNode();return t.imported=this.parseModuleExportName(),this.eatContextual("as")?t.local=this.parseIdent():(this.checkUnreserved(t.imported),t.local=t.imported),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportSpecifier")},hr.parseImportDefaultSpecifier=function(){var t=this.startNode();return t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportDefaultSpecifier")},hr.parseImportNamespaceSpecifier=function(){var t=this.startNode();return this.next(),this.expectContextual("as"),t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportNamespaceSpecifier")},hr.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===Pe.name&&(t.push(this.parseImportDefaultSpecifier()),!this.eat(Pe.comma)))return t;if(this.type===Pe.star)return t.push(this.parseImportNamespaceSpecifier()),t;for(this.expect(Pe.braceL);!this.eat(Pe.braceR);){if(e)e=!1;else if(this.expect(Pe.comma),this.afterTrailingComma(Pe.braceR))break;t.push(this.parseImportSpecifier())}return t},hr.parseWithClause=function(){var t=[];if(!this.eat(Pe._with))return t;this.expect(Pe.braceL);for(var e={},r=!0;!this.eat(Pe.braceR);){if(r)r=!1;else if(this.expect(Pe.comma),this.afterTrailingComma(Pe.braceR))break;var i=this.parseImportAttribute(),n="Identifier"===i.key.type?i.key.name:i.key.value;ze(e,n)&&this.raiseRecoverable(i.key.start,"Duplicate attribute key '"+n+"'"),e[n]=!0,t.push(i)}return t},hr.parseImportAttribute=function(){var t=this.startNode();return t.key=this.type===Pe.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved),this.expect(Pe.colon),this.type!==Pe.string&&this.unexpected(),t.value=this.parseExprAtom(),this.finishNode(t,"ImportAttribute")},hr.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===Pe.string){var t=this.parseLiteral(this.value);return Ke.test(t.value)&&this.raise(t.start,"An export name cannot include a lone surrogate."),t}return this.parseIdent(!0)},hr.adaptDirectivePrologue=function(t){for(var e=0;e<t.length&&this.isDirectiveCandidate(t[e]);++e)t[e].directive=t[e].expression.raw.slice(1,-1)},hr.isDirectiveCandidate=function(t){return this.options.ecmaVersion>=5&&"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"==typeof t.expression.value&&('"'===this.input[t.start]||"'"===this.input[t.start])};var wr=sr.prototype;wr.toAssignable=function(t,e,r){if(this.options.ecmaVersion>=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var i=0,n=t.properties;i<n.length;i+=1){var s=n[i];this.toAssignable(s,e),"RestElement"!==s.type||"ArrayPattern"!==s.argument.type&&"ObjectPattern"!==s.argument.type||this.raise(s.argument.start,"Unexpected token")}break;case"Property":"init"!==t.kind&&this.raise(t.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(t.value,e);break;case"ArrayExpression":t.type="ArrayPattern",r&&this.checkPatternErrors(r,!0),this.toAssignableList(t.elements,e);break;case"SpreadElement":t.type="RestElement",this.toAssignable(t.argument,e),"AssignmentPattern"===t.argument.type&&this.raise(t.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":"="!==t.operator&&this.raise(t.left.end,"Only '=' operator can be used for specifying default value."),t.type="AssignmentPattern",delete t.operator,this.toAssignable(t.left,e);break;case"ParenthesizedExpression":this.toAssignable(t.expression,e,r);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":if(!e)break;default:this.raise(t.start,"Assigning to rvalue")}else r&&this.checkPatternErrors(r,!0);return t},wr.toAssignableList=function(t,e){for(var r=t.length,i=0;i<r;i++){var n=t[i];n&&this.toAssignable(n,e)}if(r){var s=t[r-1];6===this.options.ecmaVersion&&e&&s&&"RestElement"===s.type&&"Identifier"!==s.argument.type&&this.unexpected(s.argument.start)}return t},wr.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},wr.parseRestBinding=function(){var t=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==Pe.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},wr.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case Pe.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(Pe.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case Pe.braceL:return this.parseObj(!0)}return this.parseIdent()},wr.parseBindingList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);)if(s?s=!1:this.expect(Pe.comma),e&&this.type===Pe.comma)n.push(null);else{if(r&&this.afterTrailingComma(t))break;if(this.type===Pe.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),n.push(o),this.type===Pe.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}n.push(this.parseAssignableListItem(i))}return n},wr.parseAssignableListItem=function(t){var e=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(e),e},wr.parseBindingListItem=function(t){return t},wr.parseMaybeDefault=function(t,e,r){if(r=r||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(Pe.eq))return r;var i=this.startNodeAt(t,e);return i.left=r,i.right=this.parseMaybeAssign(),this.finishNode(i,"AssignmentPattern")},wr.checkLValSimple=function(t,e,r){void 0===e&&(e=0);var i=0!==e;switch(t.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(i?"Binding ":"Assigning to ")+t.name+" in strict mode"),i&&(2===e&&"let"===t.name&&this.raiseRecoverable(t.start,"let is disallowed as a lexically bound name"),r&&(ze(r,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),r[t.name]=!0),5!==e&&this.declareName(t.name,e,t.start));break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":i&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ParenthesizedExpression":return i&&this.raiseRecoverable(t.start,"Binding parenthesized expression"),this.checkLValSimple(t.expression,e,r);default:this.raise(t.start,(i?"Binding":"Assigning to")+" rvalue")}},wr.checkLValPattern=function(t,e,r){switch(void 0===e&&(e=0),t.type){case"ObjectPattern":for(var i=0,n=t.properties;i<n.length;i+=1){var s=n[i];this.checkLValInnerPattern(s,e,r)}break;case"ArrayPattern":for(var o=0,a=t.elements;o<a.length;o+=1){var c=a[o];c&&this.checkLValInnerPattern(c,e,r)}break;default:this.checkLValSimple(t,e,r)}},wr.checkLValInnerPattern=function(t,e,r){switch(void 0===e&&(e=0),t.type){case"Property":this.checkLValInnerPattern(t.value,e,r);break;case"AssignmentPattern":this.checkLValPattern(t.left,e,r);break;case"RestElement":this.checkLValPattern(t.argument,e,r);break;default:this.checkLValPattern(t,e,r)}};var Ar=function(t,e,r,i,n){this.token=t,this.isExpr=!!e,this.preserveSpace=!!r,this.override=i,this.generator=!!n},br={b_stat:new Ar("{",!1),b_expr:new Ar("{",!0),b_tmpl:new Ar("${",!1),p_stat:new Ar("(",!1),p_expr:new Ar("(",!0),q_tmpl:new Ar("`",!0,!0,function(t){return t.tryReadTemplateToken()}),f_stat:new Ar("function",!1),f_expr:new Ar("function",!0),f_expr_gen:new Ar("function",!0,!1,null,!0),f_gen:new Ar("function",!1,!1,null,!0)},Er=sr.prototype;Er.initialContext=function(){return[br.b_stat]},Er.curContext=function(){return this.context[this.context.length-1]},Er.braceIsBlock=function(t){var e=this.curContext();return e===br.f_expr||e===br.f_stat||(t!==Pe.colon||e!==br.b_stat&&e!==br.b_expr?t===Pe._return||t===Pe.name&&this.exprAllowed?De.test(this.input.slice(this.lastTokEnd,this.start)):t===Pe._else||t===Pe.semi||t===Pe.eof||t===Pe.parenR||t===Pe.arrow||(t===Pe.braceL?e===br.b_stat:t!==Pe._var&&t!==Pe._const&&t!==Pe.name&&!this.exprAllowed):!e.isExpr)},Er.inGeneratorContext=function(){for(var t=this.context.length-1;t>=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},Er.updateContext=function(t){var e,r=this.type;r.keyword&&t===Pe.dot?this.exprAllowed=!1:(e=r.updateContext)?e.call(this,t):this.exprAllowed=r.beforeExpr},Er.overrideContext=function(t){this.curContext()!==t&&(this.context[this.context.length-1]=t)},Pe.parenR.updateContext=Pe.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===br.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},Pe.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?br.b_stat:br.b_expr),this.exprAllowed=!0},Pe.dollarBraceL.updateContext=function(){this.context.push(br.b_tmpl),this.exprAllowed=!0},Pe.parenL.updateContext=function(t){var e=t===Pe._if||t===Pe._for||t===Pe._with||t===Pe._while;this.context.push(e?br.p_stat:br.p_expr),this.exprAllowed=!0},Pe.incDec.updateContext=function(){},Pe._function.updateContext=Pe._class.updateContext=function(t){!t.beforeExpr||t===Pe._else||t===Pe.semi&&this.curContext()!==br.p_stat||t===Pe._return&&De.test(this.input.slice(this.lastTokEnd,this.start))||(t===Pe.colon||t===Pe.braceL)&&this.curContext()===br.b_stat?this.context.push(br.f_stat):this.context.push(br.f_expr),this.exprAllowed=!1},Pe.colon.updateContext=function(){"function"===this.curContext().token&&this.context.pop(),this.exprAllowed=!0},Pe.backQuote.updateContext=function(){this.curContext()===br.q_tmpl?this.context.pop():this.context.push(br.q_tmpl),this.exprAllowed=!1},Pe.star.updateContext=function(t){if(t===Pe._function){var e=this.context.length-1;this.context[e]===br.f_expr?this.context[e]=br.f_expr_gen:this.context[e]=br.f_gen}this.exprAllowed=!0},Pe.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==Pe.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var vr=sr.prototype;function _r(t){return"Identifier"===t.type||"ParenthesizedExpression"===t.type&&_r(t.expression)}function xr(t){return"MemberExpression"===t.type&&"PrivateIdentifier"===t.property.type||"ChainExpression"===t.type&&xr(t.expression)||"ParenthesizedExpression"===t.type&&xr(t.expression)}vr.checkPropClash=function(t,e,r){if(!(this.options.ecmaVersion>=9&&"SpreadElement"===t.type||this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var i,n=t.key;switch(n.type){case"Identifier":i=n.name;break;case"Literal":i=String(n.value);break;default:return}var s=t.kind;if(this.options.ecmaVersion>=6)"__proto__"===i&&"init"===s&&(e.proto&&(r?r.doubleProto<0&&(r.doubleProto=n.start):this.raiseRecoverable(n.start,"Redefinition of __proto__ property")),e.proto=!0);else{var o=e[i="$"+i];o?("init"===s?this.strict&&o.init||o.get||o.set:o.init||o[s])&&this.raiseRecoverable(n.start,"Redefinition of property"):o=e[i]={init:!1,get:!1,set:!1},o[s]=!0}}},vr.parseExpression=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeAssign(t,e);if(this.type===Pe.comma){var s=this.startNodeAt(r,i);for(s.expressions=[n];this.eat(Pe.comma);)s.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(s,"SequenceExpression")}return n},vr.parseMaybeAssign=function(t,e,r){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(t);this.exprAllowed=!1}var i=!1,n=-1,s=-1,o=-1;e?(n=e.parenthesizedAssign,s=e.trailingComma,o=e.doubleProto,e.parenthesizedAssign=e.trailingComma=-1):(e=new lr,i=!0);var a=this.start,c=this.startLoc;this.type!==Pe.parenL&&this.type!==Pe.name||(this.potentialArrowAt=this.start,this.potentialArrowInForAwait="await"===t);var l=this.parseMaybeConditional(t,e);if(r&&(l=r.call(this,l,a,c)),this.type.isAssign){var h=this.startNodeAt(a,c);return h.operator=this.value,this.type===Pe.eq&&(l=this.toAssignable(l,!1,e)),i||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=l.start&&(e.shorthandAssign=-1),this.type===Pe.eq?this.checkLValPattern(l):this.checkLValSimple(l),h.left=l,this.next(),h.right=this.parseMaybeAssign(t),o>-1&&(e.doubleProto=o),this.finishNode(h,"AssignmentExpression")}return i&&this.checkExpressionErrors(e,!0),n>-1&&(e.parenthesizedAssign=n),s>-1&&(e.trailingComma=s),l},vr.parseMaybeConditional=function(t,e){var r=this.start,i=this.startLoc,n=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return n;if(this.eat(Pe.question)){var s=this.startNodeAt(r,i);return s.test=n,s.consequent=this.parseMaybeAssign(),this.expect(Pe.colon),s.alternate=this.parseMaybeAssign(t),this.finishNode(s,"ConditionalExpression")}return n},vr.parseExprOps=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeUnary(e,!1,!1,t);return this.checkExpressionErrors(e)||n.start===r&&"ArrowFunctionExpression"===n.type?n:this.parseExprOp(n,r,i,-1,t)},vr.parseExprOp=function(t,e,r,i,n){var s=this.type.binop;if(null!=s&&(!n||this.type!==Pe._in)&&s>i){var o=this.type===Pe.logicalOR||this.type===Pe.logicalAND,a=this.type===Pe.coalesce;a&&(s=Pe.logicalAND.binop);var c=this.value;this.next();var l=this.start,h=this.startLoc,u=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,n),l,h,s,n),p=this.buildBinary(e,r,t,u,c,o||a);return(o&&this.type===Pe.coalesce||a&&(this.type===Pe.logicalOR||this.type===Pe.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(p,e,r,i,n)}return t},vr.buildBinary=function(t,e,r,i,n,s){"PrivateIdentifier"===i.type&&this.raise(i.start,"Private identifier can only be left side of binary expression");var o=this.startNodeAt(t,e);return o.left=r,o.operator=n,o.right=i,this.finishNode(o,s?"LogicalExpression":"BinaryExpression")},vr.parseMaybeUnary=function(t,e,r,i){var n,s=this.start,o=this.startLoc;if(this.isContextual("await")&&this.canAwait)n=this.parseAwait(i),e=!0;else if(this.type.prefix){var a=this.startNode(),c=this.type===Pe.incDec;a.operator=this.value,a.prefix=!0,this.next(),a.argument=this.parseMaybeUnary(null,!0,c,i),this.checkExpressionErrors(t,!0),c?this.checkLValSimple(a.argument):this.strict&&"delete"===a.operator&&_r(a.argument)?this.raiseRecoverable(a.start,"Deleting local variable in strict mode"):"delete"===a.operator&&xr(a.argument)?this.raiseRecoverable(a.start,"Private fields can not be deleted"):e=!0,n=this.finishNode(a,c?"UpdateExpression":"UnaryExpression")}else if(e||this.type!==Pe.privateId){if(n=this.parseExprSubscripts(t,i),this.checkExpressionErrors(t))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var l=this.startNodeAt(s,o);l.operator=this.value,l.prefix=!1,l.argument=n,this.checkLValSimple(n),this.next(),n=this.finishNode(l,"UpdateExpression")}}else(i||0===this.privateNameStack.length)&&this.options.checkPrivateFields&&this.unexpected(),n=this.parsePrivateIdent(),this.type!==Pe._in&&this.unexpected();return r||!this.eat(Pe.starstar)?n:e?void this.unexpected(this.lastTokStart):this.buildBinary(s,o,n,this.parseMaybeUnary(null,!1,!1,i),"**",!1)},vr.parseExprSubscripts=function(t,e){var r=this.start,i=this.startLoc,n=this.parseExprAtom(t,e);if("ArrowFunctionExpression"===n.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd))return n;var s=this.parseSubscripts(n,r,i,!1,e);return t&&"MemberExpression"===s.type&&(t.parenthesizedAssign>=s.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=s.start&&(t.parenthesizedBind=-1),t.trailingComma>=s.start&&(t.trailingComma=-1)),s},vr.parseSubscripts=function(t,e,r,i,n){for(var s=this.options.ecmaVersion>=8&&"Identifier"===t.type&&"async"===t.name&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start===5&&this.potentialArrowAt===t.start,o=!1;;){var a=this.parseSubscript(t,e,r,i,s,o,n);if(a.optional&&(o=!0),a===t||"ArrowFunctionExpression"===a.type){if(o){var c=this.startNodeAt(e,r);c.expression=a,a=this.finishNode(c,"ChainExpression")}return a}t=a}},vr.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(Pe.arrow)},vr.parseSubscriptAsyncArrow=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!0,i)},vr.parseSubscript=function(t,e,r,i,n,s,o){var a=this.options.ecmaVersion>=11,c=a&&this.eat(Pe.questionDot);i&&c&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var l=this.eat(Pe.bracketL);if(l||c&&this.type!==Pe.parenL&&this.type!==Pe.backQuote||this.eat(Pe.dot)){var h=this.startNodeAt(e,r);h.object=t,l?(h.property=this.parseExpression(),this.expect(Pe.bracketR)):this.type===Pe.privateId&&"Super"!==t.type?h.property=this.parsePrivateIdent():h.property=this.parseIdent("never"!==this.options.allowReserved),h.computed=!!l,a&&(h.optional=c),t=this.finishNode(h,"MemberExpression")}else if(!i&&this.eat(Pe.parenL)){var u=new lr,p=this.yieldPos,d=this.awaitPos,f=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var g=this.parseExprList(Pe.parenR,this.options.ecmaVersion>=8,!1,u);if(n&&!c&&this.shouldParseAsyncArrow())return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=p,this.awaitPos=d,this.awaitIdentPos=f,this.parseSubscriptAsyncArrow(e,r,g,o);this.checkExpressionErrors(u,!0),this.yieldPos=p||this.yieldPos,this.awaitPos=d||this.awaitPos,this.awaitIdentPos=f||this.awaitIdentPos;var m=this.startNodeAt(e,r);m.callee=t,m.arguments=g,a&&(m.optional=c),t=this.finishNode(m,"CallExpression")}else if(this.type===Pe.backQuote){(c||s)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var y=this.startNodeAt(e,r);y.tag=t,y.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(y,"TaggedTemplateExpression")}return t},vr.parseExprAtom=function(t,e,r){this.type===Pe.slash&&this.readRegexp();var i,n=this.potentialArrowAt===this.start;switch(this.type){case Pe._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),i=this.startNode(),this.next(),this.type!==Pe.parenL||this.allowDirectSuper||this.raise(i.start,"super() call outside constructor of a subclass"),this.type!==Pe.dot&&this.type!==Pe.bracketL&&this.type!==Pe.parenL&&this.unexpected(),this.finishNode(i,"Super");case Pe._this:return i=this.startNode(),this.next(),this.finishNode(i,"ThisExpression");case Pe.name:var s=this.start,o=this.startLoc,a=this.containsEsc,c=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!a&&"async"===c.name&&!this.canInsertSemicolon()&&this.eat(Pe._function))return this.overrideContext(br.f_expr),this.parseFunction(this.startNodeAt(s,o),0,!1,!0,e);if(n&&!this.canInsertSemicolon()){if(this.eat(Pe.arrow))return this.parseArrowExpression(this.startNodeAt(s,o),[c],!1,e);if(this.options.ecmaVersion>=8&&"async"===c.name&&this.type===Pe.name&&!a&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return c=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(Pe.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,o),[c],!0,e)}return c;case Pe.regexp:var l=this.value;return(i=this.parseLiteral(l.value)).regex={pattern:l.pattern,flags:l.flags},i;case Pe.num:case Pe.string:return this.parseLiteral(this.value);case Pe._null:case Pe._true:case Pe._false:return(i=this.startNode()).value=this.type===Pe._null?null:this.type===Pe._true,i.raw=this.type.keyword,this.next(),this.finishNode(i,"Literal");case Pe.parenL:var h=this.start,u=this.parseParenAndDistinguishExpression(n,e);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(u)&&(t.parenthesizedAssign=h),t.parenthesizedBind<0&&(t.parenthesizedBind=h)),u;case Pe.bracketL:return i=this.startNode(),this.next(),i.elements=this.parseExprList(Pe.bracketR,!0,!0,t),this.finishNode(i,"ArrayExpression");case Pe.braceL:return this.overrideContext(br.b_expr),this.parseObj(!1,t);case Pe._function:return i=this.startNode(),this.next(),this.parseFunction(i,0);case Pe._class:return this.parseClass(this.startNode(),!1);case Pe._new:return this.parseNew();case Pe.backQuote:return this.parseTemplate();case Pe._import:return this.options.ecmaVersion>=11?this.parseExprImport(r):this.unexpected();default:return this.parseExprAtomDefault()}},vr.parseExprAtomDefault=function(){this.unexpected()},vr.parseExprImport=function(t){var e=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import"),this.next(),this.type===Pe.parenL&&!t)return this.parseDynamicImport(e);if(this.type===Pe.dot){var r=this.startNodeAt(e.start,e.loc&&e.loc.start);return r.name="import",e.meta=this.finishNode(r,"Identifier"),this.parseImportMeta(e)}this.unexpected()},vr.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),this.options.ecmaVersion>=16)this.eat(Pe.parenR)?t.options=null:(this.expect(Pe.comma),this.afterTrailingComma(Pe.parenR)?t.options=null:(t.options=this.parseMaybeAssign(),this.eat(Pe.parenR)||(this.expect(Pe.comma),this.afterTrailingComma(Pe.parenR)||this.unexpected())));else if(!this.eat(Pe.parenR)){var e=this.start;this.eat(Pe.comma)&&this.eat(Pe.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},vr.parseImportMeta=function(t){this.next();var e=this.containsEsc;return t.property=this.parseIdent(!0),"meta"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for import is 'import.meta'"),e&&this.raiseRecoverable(t.start,"'import.meta' must not contain escaped characters"),"module"===this.options.sourceType||this.options.allowImportExportEverywhere||this.raiseRecoverable(t.start,"Cannot use 'import.meta' outside a module"),this.finishNode(t,"MetaProperty")},vr.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),110===e.raw.charCodeAt(e.raw.length-1)&&(e.bigint=null!=e.value?e.value.toString():e.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(e,"Literal")},vr.parseParenExpression=function(){this.expect(Pe.parenL);var t=this.parseExpression();return this.expect(Pe.parenR),t},vr.shouldParseArrow=function(t){return!this.canInsertSemicolon()},vr.parseParenAndDistinguishExpression=function(t,e){var r,i=this.start,n=this.startLoc,s=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var o,a=this.start,c=this.startLoc,l=[],h=!0,u=!1,p=new lr,d=this.yieldPos,f=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==Pe.parenR;){if(h?h=!1:this.expect(Pe.comma),s&&this.afterTrailingComma(Pe.parenR,!0)){u=!0;break}if(this.type===Pe.ellipsis){o=this.start,l.push(this.parseParenItem(this.parseRestBinding())),this.type===Pe.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}l.push(this.parseMaybeAssign(!1,p,this.parseParenItem))}var g=this.lastTokEnd,m=this.lastTokEndLoc;if(this.expect(Pe.parenR),t&&this.shouldParseArrow(l)&&this.eat(Pe.arrow))return this.checkPatternErrors(p,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=d,this.awaitPos=f,this.parseParenArrowList(i,n,l,e);l.length&&!u||this.unexpected(this.lastTokStart),o&&this.unexpected(o),this.checkExpressionErrors(p,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=f||this.awaitPos,l.length>1?((r=this.startNodeAt(a,c)).expressions=l,this.finishNodeAt(r,"SequenceExpression",g,m)):r=l[0]}else r=this.parseParenExpression();if(this.options.preserveParens){var y=this.startNodeAt(i,n);return y.expression=r,this.finishNode(y,"ParenthesizedExpression")}return r},vr.parseParenItem=function(t){return t},vr.parseParenArrowList=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!1,i)};var Ir=[];vr.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var t=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===Pe.dot){var e=this.startNodeAt(t.start,t.loc&&t.loc.start);e.name="new",t.meta=this.finishNode(e,"Identifier"),this.next();var r=this.containsEsc;return t.property=this.parseIdent(!0),"target"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(t.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(t.start,"'new.target' can only be used in functions and class static block"),this.finishNode(t,"MetaProperty")}var i=this.start,n=this.startLoc;return t.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),i,n,!0,!1),this.eat(Pe.parenL)?t.arguments=this.parseExprList(Pe.parenR,this.options.ecmaVersion>=8,!1):t.arguments=Ir,this.finishNode(t,"NewExpression")},vr.parseTemplateElement=function(t){var e=t.isTagged,r=this.startNode();return this.type===Pe.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value.replace(/\r\n?/g,"\n"),cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),r.tail=this.type===Pe.backQuote,this.finishNode(r,"TemplateElement")},vr.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var r=this.startNode();this.next(),r.expressions=[];var i=this.parseTemplateElement({isTagged:e});for(r.quasis=[i];!i.tail;)this.type===Pe.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(Pe.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(Pe.braceR),r.quasis.push(i=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(r,"TemplateLiteral")},vr.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===Pe.name||this.type===Pe.num||this.type===Pe.string||this.type===Pe.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===Pe.star)&&!De.test(this.input.slice(this.lastTokEnd,this.start))},vr.parseObj=function(t,e){var r=this.startNode(),i=!0,n={};for(r.properties=[],this.next();!this.eat(Pe.braceR);){if(i)i=!1;else if(this.expect(Pe.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(Pe.braceR))break;var s=this.parseProperty(t,e);t||this.checkPropClash(s,n,e),r.properties.push(s)}return this.finishNode(r,t?"ObjectPattern":"ObjectExpression")},vr.parseProperty=function(t,e){var r,i,n,s,o=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(Pe.ellipsis))return t?(o.argument=this.parseIdent(!1),this.type===Pe.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(o,"RestElement")):(o.argument=this.parseMaybeAssign(!1,e),this.type===Pe.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(o,"SpreadElement"));this.options.ecmaVersion>=6&&(o.method=!1,o.shorthand=!1,(t||e)&&(n=this.start,s=this.startLoc),t||(r=this.eat(Pe.star)));var a=this.containsEsc;return this.parsePropertyName(o),!t&&!a&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(o)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(Pe.star),this.parsePropertyName(o)):i=!1,this.parsePropertyValue(o,t,r,i,n,s,e,a),this.finishNode(o,"Property")},vr.parseGetterSetter=function(t){var e=t.key.name;this.parsePropertyName(t),t.value=this.parseMethod(!1),t.kind=e;var r="get"===t.kind?0:1;if(t.value.params.length!==r){var i=t.value.start;"get"===t.kind?this.raiseRecoverable(i,"getter should have no params"):this.raiseRecoverable(i,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")},vr.parsePropertyValue=function(t,e,r,i,n,s,o,a){(r||i)&&this.type===Pe.colon&&this.unexpected(),this.eat(Pe.colon)?(t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),t.kind="init"):this.options.ecmaVersion>=6&&this.type===Pe.parenL?(e&&this.unexpected(),t.method=!0,t.value=this.parseMethod(r,i),t.kind="init"):e||a||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===Pe.comma||this.type===Pe.braceR||this.type===Pe.eq?this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?((r||i)&&this.unexpected(),this.checkUnreserved(t.key),"await"!==t.key.name||this.awaitIdentPos||(this.awaitIdentPos=n),e?t.value=this.parseMaybeDefault(n,s,this.copyNode(t.key)):this.type===Pe.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),t.value=this.parseMaybeDefault(n,s,this.copyNode(t.key))):t.value=this.copyNode(t.key),t.kind="init",t.shorthand=!0):this.unexpected():((r||i)&&this.unexpected(),this.parseGetterSetter(t))},vr.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(Pe.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(Pe.bracketR),t.key;t.computed=!1}return t.key=this.type===Pe.num||this.type===Pe.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},vr.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},vr.parseMethod=function(t,e,r){var i=this.startNode(),n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=t),this.options.ecmaVersion>=8&&(i.async=!!e),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|nr(e,i.generator)|(r?128:0)),this.expect(Pe.parenL),i.params=this.parseBindingList(Pe.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0,!1),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(i,"FunctionExpression")},vr.parseArrowExpression=function(t,e,r,i){var n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.enterScope(16|nr(r,!1)),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0,!1,i),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(t,"ArrowFunctionExpression")},vr.parseFunctionBody=function(t,e,r,i){var n=e&&this.type!==Pe.braceL,s=this.strict,o=!1;if(n)t.body=this.parseMaybeAssign(i),t.expression=!0,this.checkParams(t,!1);else{var a=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);s&&!a||(o=this.strictDirective(this.end))&&a&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var c=this.labels;this.labels=[],o&&(this.strict=!0),this.checkParams(t,!s&&!o&&!e&&!r&&this.isSimpleParamList(t.params)),this.strict&&t.id&&this.checkLValSimple(t.id,5),t.body=this.parseBlock(!1,void 0,o&&!s),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=c}this.exitScope()},vr.isSimpleParamList=function(t){for(var e=0,r=t;e<r.length;e+=1)if("Identifier"!==r[e].type)return!1;return!0},vr.checkParams=function(t,e){for(var r=Object.create(null),i=0,n=t.params;i<n.length;i+=1){var s=n[i];this.checkLValInnerPattern(s,1,e?null:r)}},vr.parseExprList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);){if(s)s=!1;else if(this.expect(Pe.comma),e&&this.afterTrailingComma(t))break;var o=void 0;r&&this.type===Pe.comma?o=null:this.type===Pe.ellipsis?(o=this.parseSpread(i),i&&this.type===Pe.comma&&i.trailingComma<0&&(i.trailingComma=this.start)):o=this.parseMaybeAssign(!1,i),n.push(o)}return n},vr.checkUnreserved=function(t){var e=t.start,r=t.end,i=t.name;this.inGenerator&&"yield"===i&&this.raiseRecoverable(e,"Cannot use 'yield' as identifier inside a generator"),this.inAsync&&"await"===i&&this.raiseRecoverable(e,"Cannot use 'await' as identifier inside an async function"),this.currentThisScope().flags&ir||"arguments"!==i||this.raiseRecoverable(e,"Cannot use 'arguments' in class field initializer"),!this.inClassStaticBlock||"arguments"!==i&&"await"!==i||this.raise(e,"Cannot use "+i+" in class static initialization block"),this.keywords.test(i)&&this.raise(e,"Unexpected keyword '"+i+"'"),this.options.ecmaVersion<6&&-1!==this.input.slice(e,r).indexOf("\\")||(this.strict?this.reservedWordsStrict:this.reservedWords).test(i)&&(this.inAsync||"await"!==i||this.raiseRecoverable(e,"Cannot use keyword 'await' outside an async function"),this.raiseRecoverable(e,"The keyword '"+i+"' is reserved"))},vr.parseIdent=function(t){var e=this.parseIdentNode();return this.next(!!t),this.finishNode(e,"Identifier"),t||(this.checkUnreserved(e),"await"!==e.name||this.awaitIdentPos||(this.awaitIdentPos=e.start)),e},vr.parseIdentNode=function(){var t=this.startNode();return this.type===Pe.name?t.name=this.value:this.type.keyword?(t.name=this.type.keyword,"class"!==t.name&&"function"!==t.name||this.lastTokEnd===this.lastTokStart+1&&46===this.input.charCodeAt(this.lastTokStart)||this.context.pop(),this.type=Pe.name):this.unexpected(),t},vr.parsePrivateIdent=function(){var t=this.startNode();return this.type===Pe.privateId?t.name=this.value:this.unexpected(),this.next(),this.finishNode(t,"PrivateIdentifier"),this.options.checkPrivateFields&&(0===this.privateNameStack.length?this.raise(t.start,"Private field '#"+t.name+"' must be declared in an enclosing class"):this.privateNameStack[this.privateNameStack.length-1].used.push(t)),t},vr.parseYield=function(t){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===Pe.semi||this.canInsertSemicolon()||this.type!==Pe.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(Pe.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")},vr.parseAwait=function(t){this.awaitPos||(this.awaitPos=this.start);var e=this.startNode();return this.next(),e.argument=this.parseMaybeUnary(null,!0,!1,t),this.finishNode(e,"AwaitExpression")};var Sr=sr.prototype;Sr.raise=function(t,e){var r=Ze(this.input,t);e+=" ("+r.line+":"+r.column+")",this.sourceFile&&(e+=" in "+this.sourceFile);var i=new SyntaxError(e);throw i.pos=t,i.loc=r,i.raisedAt=this.pos,i},Sr.raiseRecoverable=Sr.raise,Sr.curPosition=function(){if(this.options.locations)return new Xe(this.curLine,this.pos-this.lineStart)};var Tr=sr.prototype,Cr=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[]};Tr.enterScope=function(t){this.scopeStack.push(new Cr(t))},Tr.exitScope=function(){this.scopeStack.pop()},Tr.treatFunctionsAsVarInScope=function(t){return 2&t.flags||!this.inModule&&1&t.flags},Tr.declareName=function(t,e,r){var i=!1;if(2===e){var n=this.currentScope();i=n.lexical.indexOf(t)>-1||n.functions.indexOf(t)>-1||n.var.indexOf(t)>-1,n.lexical.push(t),this.inModule&&1&n.flags&&delete this.undefinedExports[t]}else if(4===e)this.currentScope().lexical.push(t);else if(3===e){var s=this.currentScope();i=this.treatFunctionsAsVar?s.lexical.indexOf(t)>-1:s.lexical.indexOf(t)>-1||s.var.indexOf(t)>-1,s.functions.push(t)}else for(var o=this.scopeStack.length-1;o>=0;--o){var a=this.scopeStack[o];if(a.lexical.indexOf(t)>-1&&!(32&a.flags&&a.lexical[0]===t)||!this.treatFunctionsAsVarInScope(a)&&a.functions.indexOf(t)>-1){i=!0;break}if(a.var.push(t),this.inModule&&1&a.flags&&delete this.undefinedExports[t],a.flags&ir)break}i&&this.raiseRecoverable(r,"Identifier '"+t+"' has already been declared")},Tr.checkLocalExport=function(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&(this.undefinedExports[t.name]=t)},Tr.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Tr.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(771&e.flags)return e}},Tr.currentThisScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(771&e.flags&&!(16&e.flags))return e}};var Rr=function(t,e,r){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new Je(t,r)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},kr=sr.prototype;function Nr(t,e,r,i){return t.type=e,t.end=r,this.options.locations&&(t.loc.end=i),this.options.ranges&&(t.range[1]=r),t}kr.startNode=function(){return new Rr(this,this.start,this.startLoc)},kr.startNodeAt=function(t,e){return new Rr(this,t,e)},kr.finishNode=function(t,e){return Nr.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},kr.finishNodeAt=function(t,e,r,i){return Nr.call(this,t,e,r,i)},kr.copyNode=function(t){var e=new Rr(this,t.start,this.startLoc);for(var r in t)e[r]=t[r];return e};var Br="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Or=Br+" Extended_Pictographic",Pr=Or+" EBase EComp EMod EPres ExtPict",Dr={9:Br,10:Or,11:Or,12:Pr,13:Pr,14:Pr},Lr={9:"",10:"",11:"",12:"",13:"",14:"Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji"},Ur="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Mr="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Fr=Mr+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Hr=Fr+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",jr=Hr+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",Wr=jr+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",Qr={9:Mr,10:Fr,11:Hr,12:jr,13:Wr,14:Wr+" Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz"},zr={};function Vr(t){var e=zr[t]={binary:qe(Dr[t]+" "+Ur),binaryOfStrings:qe(Lr[t]),nonBinary:{General_Category:qe(Ur),Script:qe(Qr[t])}};e.nonBinary.Script_Extensions=e.nonBinary.Script,e.nonBinary.gc=e.nonBinary.General_Category,e.nonBinary.sc=e.nonBinary.Script,e.nonBinary.scx=e.nonBinary.Script_Extensions}for(var Gr=0,qr=[9,10,11,12,13,14];Gr<qr.length;Gr+=1)Vr(qr[Gr]);var Yr=sr.prototype,Kr=function(t,e){this.parent=t,this.base=e||this};Kr.prototype.separatedFrom=function(t){for(var e=this;e;e=e.parent)for(var r=t;r;r=r.parent)if(e.base===r.base&&e!==r)return!0;return!1},Kr.prototype.sibling=function(){return new Kr(this.parent,this.base)};var Xr=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":"")+(t.options.ecmaVersion>=15?"v":""),this.unicodeProperties=zr[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=Object.create(null),this.backReferenceNames=[],this.branchID=null};function Jr(t){return 105===t||109===t||115===t}function Zr(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function $r(t){return t>=65&&t<=90||t>=97&&t<=122}function ti(t){return $r(t)||95===t}function ei(t){return ti(t)||ri(t)}function ri(t){return t>=48&&t<=57}function ii(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function ni(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function si(t){return t>=48&&t<=55}Xr.prototype.reset=function(t,e,r){var i=-1!==r.indexOf("v"),n=-1!==r.indexOf("u");this.start=0|t,this.source=e+"",this.flags=r,i&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=n&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=n&&this.parser.options.ecmaVersion>=9)},Xr.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},Xr.prototype.at=function(t,e){void 0===e&&(e=!1);var r=this.source,i=r.length;if(t>=i)return-1;var n=r.charCodeAt(t);if(!e&&!this.switchU||n<=55295||n>=57344||t+1>=i)return n;var s=r.charCodeAt(t+1);return s>=56320&&s<=57343?(n<<10)+s-56613888:n},Xr.prototype.nextIndex=function(t,e){void 0===e&&(e=!1);var r=this.source,i=r.length;if(t>=i)return i;var n,s=r.charCodeAt(t);return!e&&!this.switchU||s<=55295||s>=57344||t+1>=i||(n=r.charCodeAt(t+1))<56320||n>57343?t+1:t+2},Xr.prototype.current=function(t){return void 0===t&&(t=!1),this.at(this.pos,t)},Xr.prototype.lookahead=function(t){return void 0===t&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},Xr.prototype.advance=function(t){void 0===t&&(t=!1),this.pos=this.nextIndex(this.pos,t)},Xr.prototype.eat=function(t,e){return void 0===e&&(e=!1),this.current(e)===t&&(this.advance(e),!0)},Xr.prototype.eatChars=function(t,e){void 0===e&&(e=!1);for(var r=this.pos,i=0,n=t;i<n.length;i+=1){var s=n[i],o=this.at(r,e);if(-1===o||o!==s)return!1;r=this.nextIndex(r,e)}return this.pos=r,!0},Yr.validateRegExpFlags=function(t){for(var e=t.validFlags,r=t.flags,i=!1,n=!1,s=0;s<r.length;s++){var o=r.charAt(s);-1===e.indexOf(o)&&this.raise(t.start,"Invalid regular expression flag"),r.indexOf(o,s+1)>-1&&this.raise(t.start,"Duplicate regular expression flag"),"u"===o&&(i=!0),"v"===o&&(n=!0)}this.options.ecmaVersion>=15&&i&&n&&this.raise(t.start,"Invalid regular expression flag")},Yr.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&function(t){for(var e in t)return!0;return!1}(t.groupNames)&&(t.switchN=!0,this.regexp_pattern(t))},Yr.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames=Object.create(null),t.backReferenceNames.length=0,t.branchID=null,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,r=t.backReferenceNames;e<r.length;e+=1){var i=r[e];t.groupNames[i]||t.raise("Invalid named capture referenced")}},Yr.regexp_disjunction=function(t){var e=this.options.ecmaVersion>=16;for(e&&(t.branchID=new Kr(t.branchID,null)),this.regexp_alternative(t);t.eat(124);)e&&(t.branchID=t.branchID.sibling()),this.regexp_alternative(t);e&&(t.branchID=t.branchID.parent),this.regexp_eatQuantifier(t,!0)&&t.raise("Nothing to repeat"),t.eat(123)&&t.raise("Lone quantifier brackets")},Yr.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},Yr.regexp_eatTerm=function(t){return this.regexp_eatAssertion(t)?(t.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(t)&&t.switchU&&t.raise("Invalid quantifier"),!0):!!(t.switchU?this.regexp_eatAtom(t):this.regexp_eatExtendedAtom(t))&&(this.regexp_eatQuantifier(t),!0)},Yr.regexp_eatAssertion=function(t){var e=t.pos;if(t.lastAssertionIsQuantifiable=!1,t.eat(94)||t.eat(36))return!0;if(t.eat(92)){if(t.eat(66)||t.eat(98))return!0;t.pos=e}if(t.eat(40)&&t.eat(63)){var r=!1;if(this.options.ecmaVersion>=9&&(r=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!r,!0}return t.pos=e,!1},Yr.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},Yr.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},Yr.regexp_eatBracedQuantifier=function(t,e){var r=t.pos;if(t.eat(123)){var i=0,n=-1;if(this.regexp_eatDecimalDigits(t)&&(i=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(n=t.lastIntValue),t.eat(125)))return-1!==n&&n<i&&!e&&t.raise("numbers out of order in {} quantifier"),!0;t.switchU&&!e&&t.raise("Incomplete quantifier"),t.pos=r}return!1},Yr.regexp_eatAtom=function(t){return this.regexp_eatPatternCharacters(t)||t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)},Yr.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},Yr.regexp_eatUncapturingGroup=function(t){var e=t.pos;if(t.eat(40)){if(t.eat(63)){if(this.options.ecmaVersion>=16){var r=this.regexp_eatModifiers(t),i=t.eat(45);if(r||i){for(var n=0;n<r.length;n++){var s=r.charAt(n);r.indexOf(s,n+1)>-1&&t.raise("Duplicate regular expression modifiers")}if(i){var o=this.regexp_eatModifiers(t);r||o||58!==t.current()||t.raise("Invalid regular expression modifiers");for(var a=0;a<o.length;a++){var c=o.charAt(a);(o.indexOf(c,a+1)>-1||r.indexOf(c)>-1)&&t.raise("Duplicate regular expression modifiers")}}}}if(t.eat(58)){if(this.regexp_disjunction(t),t.eat(41))return!0;t.raise("Unterminated group")}}t.pos=e}return!1},Yr.regexp_eatCapturingGroup=function(t){if(t.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},Yr.regexp_eatModifiers=function(t){for(var e="",r=0;-1!==(r=t.current())&&Jr(r);)e+=Ye(r),t.advance();return e},Yr.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},Yr.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},Yr.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!Zr(e)&&(t.lastIntValue=e,t.advance(),!0)},Yr.regexp_eatPatternCharacters=function(t){for(var e=t.pos,r=0;-1!==(r=t.current())&&!Zr(r);)t.advance();return t.pos!==e},Yr.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e||(t.advance(),0))},Yr.regexp_groupSpecifier=function(t){if(t.eat(63)){this.regexp_eatGroupName(t)||t.raise("Invalid group");var e=this.options.ecmaVersion>=16,r=t.groupNames[t.lastStringValue];if(r)if(e)for(var i=0,n=r;i<n.length;i+=1)n[i].separatedFrom(t.branchID)||t.raise("Duplicate capture group name");else t.raise("Duplicate capture group name");e?(r||(t.groupNames[t.lastStringValue]=[])).push(t.branchID):t.groupNames[t.lastStringValue]=!0}},Yr.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},Yr.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=Ye(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=Ye(t.lastIntValue);return!0}return!1},Yr.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,r=this.options.ecmaVersion>=11,i=t.current(r);return t.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,r)&&(i=t.lastIntValue),function(t){return Se(t,!0)||36===t||95===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},Yr.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,r=this.options.ecmaVersion>=11,i=t.current(r);return t.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,r)&&(i=t.lastIntValue),function(t){return Te(t,!0)||36===t||95===t||8204===t||8205===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},Yr.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},Yr.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var r=t.lastIntValue;if(t.switchU)return r>t.maxBackReference&&(t.maxBackReference=r),!0;if(r<=t.numCapturingParens)return!0;t.pos=e}return!1},Yr.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},Yr.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t,!1)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},Yr.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},Yr.regexp_eatZero=function(t){return 48===t.current()&&!ri(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},Yr.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},Yr.regexp_eatControlLetter=function(t){var e=t.current();return!!$r(e)&&(t.lastIntValue=e%32,t.advance(),!0)},Yr.regexp_eatRegExpUnicodeEscapeSequence=function(t,e){void 0===e&&(e=!1);var r,i=t.pos,n=e||t.switchU;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var s=t.lastIntValue;if(n&&s>=55296&&s<=56319){var o=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var a=t.lastIntValue;if(a>=56320&&a<=57343)return t.lastIntValue=1024*(s-55296)+(a-56320)+65536,!0}t.pos=o,t.lastIntValue=s}return!0}if(n&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&(r=t.lastIntValue)>=0&&r<=1114111)return!0;n&&t.raise("Invalid unicode escape"),t.pos=i}return!1},Yr.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e||(t.lastIntValue=e,t.advance(),0))},Yr.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},Yr.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),1;var r=!1;if(t.switchU&&this.options.ecmaVersion>=9&&((r=80===e)||112===e)){var i;if(t.lastIntValue=-1,t.advance(),t.eat(123)&&(i=this.regexp_eatUnicodePropertyValueExpression(t))&&t.eat(125))return r&&2===i&&t.raise("Invalid property name"),i;t.raise("Invalid property name")}return 0},Yr.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var r=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var i=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,r,i),1}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var n=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,n)}return 0},Yr.regexp_validateUnicodePropertyNameAndValue=function(t,e,r){ze(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(r)||t.raise("Invalid property value")},Yr.regexp_validateUnicodePropertyNameOrValue=function(t,e){return t.unicodeProperties.binary.test(e)?1:t.switchV&&t.unicodeProperties.binaryOfStrings.test(e)?2:void t.raise("Invalid property name")},Yr.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";ti(e=t.current());)t.lastStringValue+=Ye(e),t.advance();return""!==t.lastStringValue},Yr.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";ei(e=t.current());)t.lastStringValue+=Ye(e),t.advance();return""!==t.lastStringValue},Yr.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},Yr.regexp_eatCharacterClass=function(t){if(t.eat(91)){var e=t.eat(94),r=this.regexp_classContents(t);return t.eat(93)||t.raise("Unterminated character class"),e&&2===r&&t.raise("Negated character class may contain strings"),!0}return!1},Yr.regexp_classContents=function(t){return 93===t.current()?1:t.switchV?this.regexp_classSetExpression(t):(this.regexp_nonEmptyClassRanges(t),1)},Yr.regexp_nonEmptyClassRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var r=t.lastIntValue;!t.switchU||-1!==e&&-1!==r||t.raise("Invalid character class"),-1!==e&&-1!==r&&e>r&&t.raise("Range out of order in character class")}}},Yr.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var r=t.current();(99===r||si(r))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var i=t.current();return 93!==i&&(t.lastIntValue=i,t.advance(),!0)},Yr.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},Yr.regexp_classSetExpression=function(t){var e,r=1;if(this.regexp_eatClassSetRange(t));else if(e=this.regexp_eatClassSetOperand(t)){2===e&&(r=2);for(var i=t.pos;t.eatChars([38,38]);)38!==t.current()&&(e=this.regexp_eatClassSetOperand(t))?2!==e&&(r=1):t.raise("Invalid character in character class");if(i!==t.pos)return r;for(;t.eatChars([45,45]);)this.regexp_eatClassSetOperand(t)||t.raise("Invalid character in character class");if(i!==t.pos)return r}else t.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(t)){if(!(e=this.regexp_eatClassSetOperand(t)))return r;2===e&&(r=2)}},Yr.regexp_eatClassSetRange=function(t){var e=t.pos;if(this.regexp_eatClassSetCharacter(t)){var r=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassSetCharacter(t)){var i=t.lastIntValue;return-1!==r&&-1!==i&&r>i&&t.raise("Range out of order in character class"),!0}t.pos=e}return!1},Yr.regexp_eatClassSetOperand=function(t){return this.regexp_eatClassSetCharacter(t)?1:this.regexp_eatClassStringDisjunction(t)||this.regexp_eatNestedClass(t)},Yr.regexp_eatNestedClass=function(t){var e=t.pos;if(t.eat(91)){var r=t.eat(94),i=this.regexp_classContents(t);if(t.eat(93))return r&&2===i&&t.raise("Negated character class may contain strings"),i;t.pos=e}if(t.eat(92)){var n=this.regexp_eatCharacterClassEscape(t);if(n)return n;t.pos=e}return null},Yr.regexp_eatClassStringDisjunction=function(t){var e=t.pos;if(t.eatChars([92,113])){if(t.eat(123)){var r=this.regexp_classStringDisjunctionContents(t);if(t.eat(125))return r}else t.raise("Invalid escape");t.pos=e}return null},Yr.regexp_classStringDisjunctionContents=function(t){for(var e=this.regexp_classString(t);t.eat(124);)2===this.regexp_classString(t)&&(e=2);return e},Yr.regexp_classString=function(t){for(var e=0;this.regexp_eatClassSetCharacter(t);)e++;return 1===e?1:2},Yr.regexp_eatClassSetCharacter=function(t){var e=t.pos;if(t.eat(92))return!(!this.regexp_eatCharacterEscape(t)&&!this.regexp_eatClassSetReservedPunctuator(t)&&(t.eat(98)?(t.lastIntValue=8,0):(t.pos=e,1)));var r=t.current();return!(r<0||r===t.lookahead()&&function(t){return 33===t||t>=35&&t<=38||t>=42&&t<=44||46===t||t>=58&&t<=64||94===t||96===t||126===t}(r)||function(t){return 40===t||41===t||45===t||47===t||t>=91&&t<=93||t>=123&&t<=125}(r)||(t.advance(),t.lastIntValue=r,0))},Yr.regexp_eatClassSetReservedPunctuator=function(t){var e=t.current();return!!function(t){return 33===t||35===t||37===t||38===t||44===t||45===t||t>=58&&t<=62||64===t||96===t||126===t}(e)&&(t.lastIntValue=e,t.advance(),!0)},Yr.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!ri(e)&&95!==e||(t.lastIntValue=e%32,t.advance(),0))},Yr.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},Yr.regexp_eatDecimalDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;ri(r=t.current());)t.lastIntValue=10*t.lastIntValue+(r-48),t.advance();return t.pos!==e},Yr.regexp_eatHexDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;ii(r=t.current());)t.lastIntValue=16*t.lastIntValue+ni(r),t.advance();return t.pos!==e},Yr.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var r=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*r+t.lastIntValue:t.lastIntValue=8*e+r}else t.lastIntValue=e;return!0}return!1},Yr.regexp_eatOctalDigit=function(t){var e=t.current();return si(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},Yr.regexp_eatFixedHexDigits=function(t,e){var r=t.pos;t.lastIntValue=0;for(var i=0;i<e;++i){var n=t.current();if(!ii(n))return t.pos=r,!1;t.lastIntValue=16*t.lastIntValue+ni(n),t.advance()}return!0};var oi=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new Je(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},ai=sr.prototype;function ci(t){return"function"!=typeof BigInt?null:BigInt(t.replace(/_/g,""))}ai.next=function(t){!t&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new oi(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},ai.getToken=function(){return this.next(),new oi(this)},"undefined"!=typeof Symbol&&(ai[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===Pe.eof,value:e}}}}),ai.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(Pe.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},ai.readToken=function(t){return Se(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},ai.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);if(t<=55295||t>=56320)return t;var e=this.input.charCodeAt(this.pos+1);return e<=56319||e>=57344?t:(t<<10)+e-56613888},ai.skipBlockComment=function(){var t=this.options.onComment&&this.curPosition(),e=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(-1===r&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations)for(var i=void 0,n=e;(i=Me(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=i;this.options.onComment&&this.options.onComment(!0,this.input.slice(e+2,r),e,this.pos,t,this.curPosition())},ai.skipLineComment=function(t){for(var e=this.pos,r=this.options.onComment&&this.curPosition(),i=this.input.charCodeAt(this.pos+=t);this.pos<this.input.length&&!Ue(i);)i=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(e+t,this.pos),e,this.pos,r,this.curPosition())},ai.skipSpace=function(){t:for(;this.pos<this.input.length;){var t=this.input.charCodeAt(this.pos);switch(t){case 32:case 160:++this.pos;break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(!(t>8&&t<14||t>=5760&&Fe.test(String.fromCharCode(t))))break t;++this.pos}}},ai.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=t,this.value=e,this.updateContext(r)},ai.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(Pe.ellipsis)):(++this.pos,this.finishToken(Pe.dot))},ai.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(Pe.assign,2):this.finishOp(Pe.slash,1)},ai.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),r=1,i=42===t?Pe.star:Pe.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++r,i=Pe.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(Pe.assign,r+1):this.finishOp(i,r)},ai.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?this.options.ecmaVersion>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(Pe.assign,3):this.finishOp(124===t?Pe.logicalOR:Pe.logicalAND,2):61===e?this.finishOp(Pe.assign,2):this.finishOp(124===t?Pe.bitwiseOR:Pe.bitwiseAND,1)},ai.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(Pe.assign,2):this.finishOp(Pe.bitwiseXOR,1)},ai.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!De.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(Pe.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(Pe.assign,2):this.finishOp(Pe.plusMin,1)},ai.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),r=1;return e===t?(r=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+r)?this.finishOp(Pe.assign,r+1):this.finishOp(Pe.bitShift,r)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(r=2),this.finishOp(Pe.relational,r)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},ai.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(Pe.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(Pe.arrow)):this.finishOp(61===t?Pe.eq:Pe.prefix,1)},ai.readToken_question=function(){var t=this.options.ecmaVersion;if(t>=11){var e=this.input.charCodeAt(this.pos+1);if(46===e){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(Pe.questionDot,2)}if(63===e)return t>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(Pe.assign,3):this.finishOp(Pe.coalesce,2)}return this.finishOp(Pe.question,1)},ai.readToken_numberSign=function(){var t=35;if(this.options.ecmaVersion>=13&&(++this.pos,Se(t=this.fullCharCodeAtPos(),!0)||92===t))return this.finishToken(Pe.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Ye(t)+"'")},ai.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(Pe.parenL);case 41:return++this.pos,this.finishToken(Pe.parenR);case 59:return++this.pos,this.finishToken(Pe.semi);case 44:return++this.pos,this.finishToken(Pe.comma);case 91:return++this.pos,this.finishToken(Pe.bracketL);case 93:return++this.pos,this.finishToken(Pe.bracketR);case 123:return++this.pos,this.finishToken(Pe.braceL);case 125:return++this.pos,this.finishToken(Pe.braceR);case 58:return++this.pos,this.finishToken(Pe.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(Pe.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 63:return this.readToken_question();case 126:return this.finishOp(Pe.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Ye(t)+"'")},ai.finishOp=function(t,e){var r=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,r)},ai.readRegexp=function(){for(var t,e,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var i=this.input.charAt(this.pos);if(De.test(i)&&this.raise(r,"Unterminated regular expression"),t)t=!1;else{if("["===i)e=!0;else if("]"===i&&e)e=!1;else if("/"===i&&!e)break;t="\\"===i}++this.pos}var n=this.input.slice(r,this.pos);++this.pos;var s=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(s);var a=this.regexpState||(this.regexpState=new Xr(this));a.reset(r,n,o),this.validateRegExpFlags(a),this.validateRegExpPattern(a);var c=null;try{c=new RegExp(n,o)}catch(t){}return this.finishToken(Pe.regexp,{pattern:n,flags:o,value:c})},ai.readInt=function(t,e,r){for(var i=this.options.ecmaVersion>=12&&void 0===e,n=r&&48===this.input.charCodeAt(this.pos),s=this.pos,o=0,a=0,c=0,l=null==e?1/0:e;c<l;++c,++this.pos){var h=this.input.charCodeAt(this.pos),u=void 0;if(i&&95===h)n&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),95===a&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),0===c&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),a=h;else{if((u=h>=97?h-97+10:h>=65?h-65+10:h>=48&&h<=57?h-48:1/0)>=t)break;a=h,o=o*t+u}}return i&&95===a&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===s||null!=e&&this.pos-s!==e?null:o},ai.readRadixNumber=function(t){var e=this.pos;this.pos+=2;var r=this.readInt(t);return null==r&&this.raise(this.start+2,"Expected number in radix "+t),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(r=ci(this.input.slice(e,this.pos)),++this.pos):Se(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Pe.num,r)},ai.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10,void 0,!0)||this.raise(e,"Invalid number");var r=this.pos-e>=2&&48===this.input.charCodeAt(e);r&&this.strict&&this.raise(e,"Invalid number");var i=this.input.charCodeAt(this.pos);if(!r&&!t&&this.options.ecmaVersion>=11&&110===i){var n=ci(this.input.slice(e,this.pos));return++this.pos,Se(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Pe.num,n)}r&&/[89]/.test(this.input.slice(e,this.pos))&&(r=!1),46!==i||r||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||r||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),Se(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var s=function(t,e){return e?parseInt(t,8):parseFloat(t.replace(/_/g,""))}(this.input.slice(e,this.pos),r);return this.finishToken(Pe.num,s)},ai.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},ai.readString=function(t){for(var e="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var i=this.input.charCodeAt(this.pos);if(i===t)break;92===i?(e+=this.input.slice(r,this.pos),e+=this.readEscapedChar(!1),r=this.pos):8232===i||8233===i?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(Ue(i)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(r,this.pos++),this.finishToken(Pe.string,e)};var li={};ai.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==li)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},ai.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw li;this.raise(t,e)},ai.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==Pe.template&&this.type!==Pe.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(Pe.template,t)):36===r?(this.pos+=2,this.finishToken(Pe.dollarBraceL)):(++this.pos,this.finishToken(Pe.backQuote));if(92===r)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(Ue(r)){switch(t+=this.input.slice(e,this.pos),++this.pos,r){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(r)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},ai.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case"\\":++this.pos;break;case"$":if("{"!==this.input[this.pos+1])break;case"`":return this.finishToken(Pe.invalidTemplate,this.input.slice(this.start,this.pos));case"\r":"\n"===this.input[this.pos+1]&&++this.pos;case"\n":case"\u2028":case"\u2029":++this.curLine,this.lineStart=this.pos+1}this.raise(this.start,"Unterminated template")},ai.readEscapedChar=function(t){var e=this.input.charCodeAt(++this.pos);switch(++this.pos,e){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return Ye(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,"Invalid escape sequence"),t){var r=this.pos-1;this.invalidStringToken(r,"Invalid escape sequence in template string")}default:if(e>=48&&e<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(i,8);return n>255&&(i=i.slice(0,-1),n=parseInt(i,8)),this.pos+=i.length-1,e=this.input.charCodeAt(this.pos),"0"===i&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-i.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return Ue(e)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),""):String.fromCharCode(e)}},ai.readHexChar=function(t){var e=this.pos,r=this.readInt(16,t);return null===r&&this.invalidStringToken(e,"Bad character escape sequence"),r},ai.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,r=this.pos,i=this.options.ecmaVersion>=6;this.pos<this.input.length;){var n=this.fullCharCodeAtPos();if(Te(n,i))this.pos+=n<=65535?1:2;else{if(92!==n)break;this.containsEsc=!0,t+=this.input.slice(r,this.pos);var s=this.pos;117!==this.input.charCodeAt(++this.pos)&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var o=this.readCodePoint();(e?Se:Te)(o,i)||this.invalidStringToken(s,"Invalid Unicode escape"),t+=Ye(o),r=this.pos}e=!1}return t+this.input.slice(r,this.pos)},ai.readWord=function(){var t=this.readWord1(),e=Pe.name;return this.keywords.test(t)&&(e=Be[t]),this.finishToken(e,t)},sr.acorn={Parser:sr,version:"8.15.0",defaultOptions:$e,Position:Xe,SourceLocation:Je,getLineInfo:Ze,Node:Rr,TokenType:Ce,tokTypes:Pe,keywordTypes:Be,TokContext:Ar,tokContexts:br,isIdentifierChar:Te,isIdentifierStart:Se,Token:oi,isNewLine:Ue,lineBreak:De,lineBreakG:Le,nonASCIIwhitespace:Fe};const hi=/^\s*?import\s*?[{"'*]/,ui=/^\s*?export\s*?({([\s\w,$\n]+?)}[\s;]*|default|class)\s+/m,pi=/(^|;)\s*?(?:im|ex)port(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s])(?:.*?)['"\s]/,di=/((?:im|ex)port(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s]))((?:https?|[./]).*?)(['"\s])/,fi=["window","globalThis","self","document","location","top","parent","frames","opener"],gi=["globalThis","self","location"],mi=fi.map(t=>`(?:^|[^$.])\\b${t}\\b(?:$|[^$])`).join("|"),yi=new RegExp(`(${mi})`),wi=(()=>{const t="_____WB$wombat$check$this$function_____(this)",e="WB_wombat_runEval2((_______eval_arg, isGlobal) => { var ge = eval; return isGlobal ? ge(_______eval_arg) : eval(_______eval_arg); }).eval(this, (function() { return arguments })(),";function r(){return(e,r,i,n)=>function(t,e){let r=t.lastIndexOf('"',e);return r<0&&(r=t.indexOf('"',e)),r>0&&"\\"===t[r-1]}(n,i)?e:e.replace("this",t)}function i(t,e){return r=>r.replace(t,e)}return[[/(?<!static|function|})(?:^|\s)\beval\s*\(/,(n=e,t=>{const e=t.indexOf("eval");return 0===e?n:t.slice(0,e)+n})],[/\([\w]+,\s*eval\)\(/,()=>" "+e],[/[=]\s*\beval\b(?![(:.$])/,i("eval","self.eval")],[/var\s+self/,i("var","let")],[/\.postMessage\b\(/,t=>".__WB_pmw(self)"+t],[/(?:^|[^$.+*/%^-])\s?\blocation\b\s*[=]\s*(?![\s\d=>])/,(t,e,r,i)=>{if(r>0){const e=i[r-1];if("."===e||"$"===e)return t}return t+function(t,e,r,i){return void 0===e.isStrict&&(e.isStrict=i.slice(0,r).indexOf("class ")>=0),e.isStrict?t.replace("arguments","[]"):t}("((self.__WB_check_loc && self.__WB_check_loc(location, arguments)) || {}).maybeHref = ",e,r,i)}],[/\breturn\s+this\b\s*(?![\s\w.$])/,r()],[new RegExp(`[^$.]\\s?\\bthis\\b(?=(?:\\.(?:${fi.join("|")})\\b))`),(e,r,i,n)=>{const s=n[i];return"\n"===s?e.replace("this",";"+t):"."!==s&&"$"!==s?e.replace("this",t):e}],[/[=,]\s*\bthis\b\s*(?![\s\w:.$])/,r()],[/\}(?:\s*\))?\s*\(this\)/,r()],[/[^|&][|&]{2}\s*this\b\s*(?![|\s&.$](?:[^|&]|$))/,r()],[/async\s+import\s*\(/,t=>t],[/[^$.]\bimport\s*\([^)]*\)\s*\{/,t=>t],[/[^$.]\bimport\s*\(/,(t,e)=>{let r=t.replace("import","____wb_rewrite_import__");return r+=e.isModule?"import.meta.url, ":"null, ",r}]];var n})(),Ai=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),bi="�";var Ei;!function(t){t[t.EOF=-1]="EOF",t[t.NULL=0]="NULL",t[t.TABULATION=9]="TABULATION",t[t.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",t[t.LINE_FEED=10]="LINE_FEED",t[t.FORM_FEED=12]="FORM_FEED",t[t.SPACE=32]="SPACE",t[t.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",t[t.QUOTATION_MARK=34]="QUOTATION_MARK",t[t.NUMBER_SIGN=35]="NUMBER_SIGN",t[t.AMPERSAND=38]="AMPERSAND",t[t.APOSTROPHE=39]="APOSTROPHE",t[t.HYPHEN_MINUS=45]="HYPHEN_MINUS",t[t.SOLIDUS=47]="SOLIDUS",t[t.DIGIT_0=48]="DIGIT_0",t[t.DIGIT_9=57]="DIGIT_9",t[t.SEMICOLON=59]="SEMICOLON",t[t.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",t[t.EQUALS_SIGN=61]="EQUALS_SIGN",t[t.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",t[t.QUESTION_MARK=63]="QUESTION_MARK",t[t.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",t[t.LATIN_CAPITAL_F=70]="LATIN_CAPITAL_F",t[t.LATIN_CAPITAL_X=88]="LATIN_CAPITAL_X",t[t.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",t[t.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",t[t.GRAVE_ACCENT=96]="GRAVE_ACCENT",t[t.LATIN_SMALL_A=97]="LATIN_SMALL_A",t[t.LATIN_SMALL_F=102]="LATIN_SMALL_F",t[t.LATIN_SMALL_X=120]="LATIN_SMALL_X",t[t.LATIN_SMALL_Z=122]="LATIN_SMALL_Z",t[t.REPLACEMENT_CHARACTER=65533]="REPLACEMENT_CHARACTER"}(Ei=Ei||(Ei={}));const vi="--",_i="[CDATA[",xi="doctype",Ii="script",Si="public",Ti="system";function Ci(t){return t>=55296&&t<=57343}function Ri(t){return 32!==t&&10!==t&&13!==t&&9!==t&&12!==t&&t>=1&&t<=31||t>=127&&t<=159}function ki(t){return t>=64976&&t<=65007||Ai.has(t)}var Ni,Oi;!function(t){t.controlCharacterInInputStream="control-character-in-input-stream",t.noncharacterInInputStream="noncharacter-in-input-stream",t.surrogateInInputStream="surrogate-in-input-stream",t.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",t.endTagWithAttributes="end-tag-with-attributes",t.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",t.unexpectedSolidusInTag="unexpected-solidus-in-tag",t.unexpectedNullCharacter="unexpected-null-character",t.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",t.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",t.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",t.missingEndTagName="missing-end-tag-name",t.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",t.unknownNamedCharacterReference="unknown-named-character-reference",t.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",t.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",t.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",t.eofBeforeTagName="eof-before-tag-name",t.eofInTag="eof-in-tag",t.missingAttributeValue="missing-attribute-value",t.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",t.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",t.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",t.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",t.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",t.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",t.missingDoctypePublicIdentifier="missing-doctype-public-identifier",t.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",t.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",t.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",t.cdataInHtmlContent="cdata-in-html-content",t.incorrectlyOpenedComment="incorrectly-opened-comment",t.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",t.eofInDoctype="eof-in-doctype",t.nestedComment="nested-comment",t.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",t.eofInComment="eof-in-comment",t.incorrectlyClosedComment="incorrectly-closed-comment",t.eofInCdata="eof-in-cdata",t.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",t.nullCharacterReference="null-character-reference",t.surrogateCharacterReference="surrogate-character-reference",t.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",t.controlCharacterReference="control-character-reference",t.noncharacterCharacterReference="noncharacter-character-reference",t.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",t.missingDoctypeName="missing-doctype-name",t.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",t.duplicateAttribute="duplicate-attribute",t.nonConformingDoctype="non-conforming-doctype",t.missingDoctype="missing-doctype",t.misplacedDoctype="misplaced-doctype",t.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",t.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",t.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",t.openElementsLeftAfterEof="open-elements-left-after-eof",t.abandonedHeadElementChild="abandoned-head-element-child",t.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",t.nestedNoscriptInHead="nested-noscript-in-head",t.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"}(Ni=Ni||(Ni={}));class Bi{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t){const{line:e,col:r,offset:i}=this;return{code:t,startLine:e,endLine:e,startCol:r,endCol:r,startOffset:i,endOffset:i}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){const e=this.html.charCodeAt(this.pos+1);if(function(t){return t>=56320&&t<=57343}(e))return this.pos++,this._addGap(),1024*(t-55296)+9216+e}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,Ei.EOF;return this._err(Ni.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,e){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=e}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,e){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(e)return this.html.startsWith(t,this.pos);for(let e=0;e<t.length;e++)if((32|this.html.charCodeAt(this.pos+e))!==t.charCodeAt(e))return!1;return!0}peek(t){const e=this.pos+t;if(e>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Ei.EOF;const r=this.html.charCodeAt(e);return r===Ei.CARRIAGE_RETURN?Ei.LINE_FEED:r}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Ei.EOF;let t=this.html.charCodeAt(this.pos);return t===Ei.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,Ei.LINE_FEED):t===Ei.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,Ci(t)&&(t=this._processSurrogate(t)),null===this.handler.onParseError||t>31&&t<127||t===Ei.LINE_FEED||t===Ei.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){Ri(t)?this._err(Ni.controlCharacterInInputStream):ki(t)&&this._err(Ni.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.pos<this.lastGapPos;)this.lastGapPos=this.gapStack.pop(),this.pos--;this.isEol=!1}}!function(t){t[t.CHARACTER=0]="CHARACTER",t[t.NULL_CHARACTER=1]="NULL_CHARACTER",t[t.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",t[t.START_TAG=3]="START_TAG",t[t.END_TAG=4]="END_TAG",t[t.COMMENT=5]="COMMENT",t[t.DOCTYPE=6]="DOCTYPE",t[t.EOF=7]="EOF",t[t.HIBERNATION=8]="HIBERNATION"}(Oi=Oi||(Oi={}));const Pi=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(t=>t.charCodeAt(0))),Di=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(t=>t.charCodeAt(0)));var Li;const Ui=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Mi=null!==(Li=String.fromCodePoint)&&void 0!==Li?Li:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+=String.fromCharCode(t),e};function Fi(t){return Mi(function(t){var e;return t>=55296&&t<=57343||t>1114111?65533:null!==(e=Ui.get(t))&&void 0!==e?e:t}(t))}var Hi,ji,zi,Vi,Gi,qi,Yi;function Wi(t){return function(e,r){let i="",n=0,s=0;for(;(s=e.indexOf("&",s))>=0;){if(i+=e.slice(n,s),n=s,s+=1,e.charCodeAt(s)===Hi.NUM){let t=s+1,o=10,a=e.charCodeAt(t);(a|Hi.To_LOWER_BIT)===Hi.LOWER_X&&(o=16,s+=1,t+=1);do{a=e.charCodeAt(++s)}while(a>=Hi.ZERO&&a<=Hi.NINE||16===o&&(a|Hi.To_LOWER_BIT)>=Hi.LOWER_A&&(a|Hi.To_LOWER_BIT)<=Hi.LOWER_F);if(t!==s){const a=e.substring(t,s),c=parseInt(a,o);if(e.charCodeAt(s)===Hi.SEMI)s+=1;else if(r)continue;i+=Fi(c),n=s}continue}let o=0,a=1,c=0,l=t[c];for(;s<e.length&&(c=Qi(t,l,c+1,e.charCodeAt(s)),!(c<0));s++,a++){l=t[c];const i=l&ji.VALUE_LENGTH;if(i){r&&e.charCodeAt(s)!==Hi.SEMI||(o=c,a=0);const t=(i>>14)-1;if(0===t)break;c+=t}}if(0!==o){const e=(t[o]&ji.VALUE_LENGTH)>>14;i+=1===e?String.fromCharCode(t[o]&~ji.VALUE_LENGTH):2===e?String.fromCharCode(t[o+1]):String.fromCharCode(t[o+1],t[o+2]),n=s-a+1}}return i+e.slice(n)}}function Qi(t,e,r,i){const n=(e&ji.BRANCH_LENGTH)>>7,s=e&ji.JUMP_TABLE;if(0===n)return 0!==s&&i===s?r:-1;if(s){const e=i-s;return e<0||e>=n?-1:t[r+e]-1}let o=r,a=o+n-1;for(;o<=a;){const e=o+a>>>1,r=t[e];if(r<i)o=e+1;else{if(!(r>i))return t[e+n];a=e-1}}return-1}!function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.To_LOWER_BIT=32]="To_LOWER_BIT"}(Hi||(Hi={})),function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"}(ji||(ji={})),Wi(Pi),Wi(Di),function(t){t.HTML="http://www.w3.org/1999/xhtml",t.MATHML="http://www.w3.org/1998/Math/MathML",t.SVG="http://www.w3.org/2000/svg",t.XLINK="http://www.w3.org/1999/xlink",t.XML="http://www.w3.org/XML/1998/namespace",t.XMLNS="http://www.w3.org/2000/xmlns/"}(zi=zi||(zi={})),function(t){t.TYPE="type",t.ACTION="action",t.ENCODING="encoding",t.PROMPT="prompt",t.NAME="name",t.COLOR="color",t.FACE="face",t.SIZE="size"}(Vi=Vi||(Vi={})),function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"}(Gi=Gi||(Gi={})),function(t){t.A="a",t.ADDRESS="address",t.ANNOTATION_XML="annotation-xml",t.APPLET="applet",t.AREA="area",t.ARTICLE="article",t.ASIDE="aside",t.B="b",t.BASE="base",t.BASEFONT="basefont",t.BGSOUND="bgsound",t.BIG="big",t.BLOCKQUOTE="blockquote",t.BODY="body",t.BR="br",t.BUTTON="button",t.CAPTION="caption",t.CENTER="center",t.CODE="code",t.COL="col",t.COLGROUP="colgroup",t.DD="dd",t.DESC="desc",t.DETAILS="details",t.DIALOG="dialog",t.DIR="dir",t.DIV="div",t.DL="dl",t.DT="dt",t.EM="em",t.EMBED="embed",t.FIELDSET="fieldset",t.FIGCAPTION="figcaption",t.FIGURE="figure",t.FONT="font",t.FOOTER="footer",t.FOREIGN_OBJECT="foreignObject",t.FORM="form",t.FRAME="frame",t.FRAMESET="frameset",t.H1="h1",t.H2="h2",t.H3="h3",t.H4="h4",t.H5="h5",t.H6="h6",t.HEAD="head",t.HEADER="header",t.HGROUP="hgroup",t.HR="hr",t.HTML="html",t.I="i",t.IMG="img",t.IMAGE="image",t.INPUT="input",t.IFRAME="iframe",t.KEYGEN="keygen",t.LABEL="label",t.LI="li",t.LINK="link",t.LISTING="listing",t.MAIN="main",t.MALIGNMARK="malignmark",t.MARQUEE="marquee",t.MATH="math",t.MENU="menu",t.META="meta",t.MGLYPH="mglyph",t.MI="mi",t.MO="mo",t.MN="mn",t.MS="ms",t.MTEXT="mtext",t.NAV="nav",t.NOBR="nobr",t.NOFRAMES="noframes",t.NOEMBED="noembed",t.NOSCRIPT="noscript",t.OBJECT="object",t.OL="ol",t.OPTGROUP="optgroup",t.OPTION="option",t.P="p",t.PARAM="param",t.PLAINTEXT="plaintext",t.PRE="pre",t.RB="rb",t.RP="rp",t.RT="rt",t.RTC="rtc",t.RUBY="ruby",t.S="s",t.SCRIPT="script",t.SECTION="section",t.SELECT="select",t.SOURCE="source",t.SMALL="small",t.SPAN="span",t.STRIKE="strike",t.STRONG="strong",t.STYLE="style",t.SUB="sub",t.SUMMARY="summary",t.SUP="sup",t.TABLE="table",t.TBODY="tbody",t.TEMPLATE="template",t.TEXTAREA="textarea",t.TFOOT="tfoot",t.TD="td",t.TH="th",t.THEAD="thead",t.TITLE="title",t.TR="tr",t.TRACK="track",t.TT="tt",t.U="u",t.UL="ul",t.SVG="svg",t.VAR="var",t.WBR="wbr",t.XMP="xmp"}(qi=qi||(qi={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A=1]="A",t[t.ADDRESS=2]="ADDRESS",t[t.ANNOTATION_XML=3]="ANNOTATION_XML",t[t.APPLET=4]="APPLET",t[t.AREA=5]="AREA",t[t.ARTICLE=6]="ARTICLE",t[t.ASIDE=7]="ASIDE",t[t.B=8]="B",t[t.BASE=9]="BASE",t[t.BASEFONT=10]="BASEFONT",t[t.BGSOUND=11]="BGSOUND",t[t.BIG=12]="BIG",t[t.BLOCKQUOTE=13]="BLOCKQUOTE",t[t.BODY=14]="BODY",t[t.BR=15]="BR",t[t.BUTTON=16]="BUTTON",t[t.CAPTION=17]="CAPTION",t[t.CENTER=18]="CENTER",t[t.CODE=19]="CODE",t[t.COL=20]="COL",t[t.COLGROUP=21]="COLGROUP",t[t.DD=22]="DD",t[t.DESC=23]="DESC",t[t.DETAILS=24]="DETAILS",t[t.DIALOG=25]="DIALOG",t[t.DIR=26]="DIR",t[t.DIV=27]="DIV",t[t.DL=28]="DL",t[t.DT=29]="DT",t[t.EM=30]="EM",t[t.EMBED=31]="EMBED",t[t.FIELDSET=32]="FIELDSET",t[t.FIGCAPTION=33]="FIGCAPTION",t[t.FIGURE=34]="FIGURE",t[t.FONT=35]="FONT",t[t.FOOTER=36]="FOOTER",t[t.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",t[t.FORM=38]="FORM",t[t.FRAME=39]="FRAME",t[t.FRAMESET=40]="FRAMESET",t[t.H1=41]="H1",t[t.H2=42]="H2",t[t.H3=43]="H3",t[t.H4=44]="H4",t[t.H5=45]="H5",t[t.H6=46]="H6",t[t.HEAD=47]="HEAD",t[t.HEADER=48]="HEADER",t[t.HGROUP=49]="HGROUP",t[t.HR=50]="HR",t[t.HTML=51]="HTML",t[t.I=52]="I",t[t.IMG=53]="IMG",t[t.IMAGE=54]="IMAGE",t[t.INPUT=55]="INPUT",t[t.IFRAME=56]="IFRAME",t[t.KEYGEN=57]="KEYGEN",t[t.LABEL=58]="LABEL",t[t.LI=59]="LI",t[t.LINK=60]="LINK",t[t.LISTING=61]="LISTING",t[t.MAIN=62]="MAIN",t[t.MALIGNMARK=63]="MALIGNMARK",t[t.MARQUEE=64]="MARQUEE",t[t.MATH=65]="MATH",t[t.MENU=66]="MENU",t[t.META=67]="META",t[t.MGLYPH=68]="MGLYPH",t[t.MI=69]="MI",t[t.MO=70]="MO",t[t.MN=71]="MN",t[t.MS=72]="MS",t[t.MTEXT=73]="MTEXT",t[t.NAV=74]="NAV",t[t.NOBR=75]="NOBR",t[t.NOFRAMES=76]="NOFRAMES",t[t.NOEMBED=77]="NOEMBED",t[t.NOSCRIPT=78]="NOSCRIPT",t[t.OBJECT=79]="OBJECT",t[t.OL=80]="OL",t[t.OPTGROUP=81]="OPTGROUP",t[t.OPTION=82]="OPTION",t[t.P=83]="P",t[t.PARAM=84]="PARAM",t[t.PLAINTEXT=85]="PLAINTEXT",t[t.PRE=86]="PRE",t[t.RB=87]="RB",t[t.RP=88]="RP",t[t.RT=89]="RT",t[t.RTC=90]="RTC",t[t.RUBY=91]="RUBY",t[t.S=92]="S",t[t.SCRIPT=93]="SCRIPT",t[t.SECTION=94]="SECTION",t[t.SELECT=95]="SELECT",t[t.SOURCE=96]="SOURCE",t[t.SMALL=97]="SMALL",t[t.SPAN=98]="SPAN",t[t.STRIKE=99]="STRIKE",t[t.STRONG=100]="STRONG",t[t.STYLE=101]="STYLE",t[t.SUB=102]="SUB",t[t.SUMMARY=103]="SUMMARY",t[t.SUP=104]="SUP",t[t.TABLE=105]="TABLE",t[t.TBODY=106]="TBODY",t[t.TEMPLATE=107]="TEMPLATE",t[t.TEXTAREA=108]="TEXTAREA",t[t.TFOOT=109]="TFOOT",t[t.TD=110]="TD",t[t.TH=111]="TH",t[t.THEAD=112]="THEAD",t[t.TITLE=113]="TITLE",t[t.TR=114]="TR",t[t.TRACK=115]="TRACK",t[t.TT=116]="TT",t[t.U=117]="U",t[t.UL=118]="UL",t[t.SVG=119]="SVG",t[t.VAR=120]="VAR",t[t.WBR=121]="WBR",t[t.XMP=122]="XMP"}(Yi=Yi||(Yi={}));const Ki=new Map([[qi.A,Yi.A],[qi.ADDRESS,Yi.ADDRESS],[qi.ANNOTATION_XML,Yi.ANNOTATION_XML],[qi.APPLET,Yi.APPLET],[qi.AREA,Yi.AREA],[qi.ARTICLE,Yi.ARTICLE],[qi.ASIDE,Yi.ASIDE],[qi.B,Yi.B],[qi.BASE,Yi.BASE],[qi.BASEFONT,Yi.BASEFONT],[qi.BGSOUND,Yi.BGSOUND],[qi.BIG,Yi.BIG],[qi.BLOCKQUOTE,Yi.BLOCKQUOTE],[qi.BODY,Yi.BODY],[qi.BR,Yi.BR],[qi.BUTTON,Yi.BUTTON],[qi.CAPTION,Yi.CAPTION],[qi.CENTER,Yi.CENTER],[qi.CODE,Yi.CODE],[qi.COL,Yi.COL],[qi.COLGROUP,Yi.COLGROUP],[qi.DD,Yi.DD],[qi.DESC,Yi.DESC],[qi.DETAILS,Yi.DETAILS],[qi.DIALOG,Yi.DIALOG],[qi.DIR,Yi.DIR],[qi.DIV,Yi.DIV],[qi.DL,Yi.DL],[qi.DT,Yi.DT],[qi.EM,Yi.EM],[qi.EMBED,Yi.EMBED],[qi.FIELDSET,Yi.FIELDSET],[qi.FIGCAPTION,Yi.FIGCAPTION],[qi.FIGURE,Yi.FIGURE],[qi.FONT,Yi.FONT],[qi.FOOTER,Yi.FOOTER],[qi.FOREIGN_OBJECT,Yi.FOREIGN_OBJECT],[qi.FORM,Yi.FORM],[qi.FRAME,Yi.FRAME],[qi.FRAMESET,Yi.FRAMESET],[qi.H1,Yi.H1],[qi.H2,Yi.H2],[qi.H3,Yi.H3],[qi.H4,Yi.H4],[qi.H5,Yi.H5],[qi.H6,Yi.H6],[qi.HEAD,Yi.HEAD],[qi.HEADER,Yi.HEADER],[qi.HGROUP,Yi.HGROUP],[qi.HR,Yi.HR],[qi.HTML,Yi.HTML],[qi.I,Yi.I],[qi.IMG,Yi.IMG],[qi.IMAGE,Yi.IMAGE],[qi.INPUT,Yi.INPUT],[qi.IFRAME,Yi.IFRAME],[qi.KEYGEN,Yi.KEYGEN],[qi.LABEL,Yi.LABEL],[qi.LI,Yi.LI],[qi.LINK,Yi.LINK],[qi.LISTING,Yi.LISTING],[qi.MAIN,Yi.MAIN],[qi.MALIGNMARK,Yi.MALIGNMARK],[qi.MARQUEE,Yi.MARQUEE],[qi.MATH,Yi.MATH],[qi.MENU,Yi.MENU],[qi.META,Yi.META],[qi.MGLYPH,Yi.MGLYPH],[qi.MI,Yi.MI],[qi.MO,Yi.MO],[qi.MN,Yi.MN],[qi.MS,Yi.MS],[qi.MTEXT,Yi.MTEXT],[qi.NAV,Yi.NAV],[qi.NOBR,Yi.NOBR],[qi.NOFRAMES,Yi.NOFRAMES],[qi.NOEMBED,Yi.NOEMBED],[qi.NOSCRIPT,Yi.NOSCRIPT],[qi.OBJECT,Yi.OBJECT],[qi.OL,Yi.OL],[qi.OPTGROUP,Yi.OPTGROUP],[qi.OPTION,Yi.OPTION],[qi.P,Yi.P],[qi.PARAM,Yi.PARAM],[qi.PLAINTEXT,Yi.PLAINTEXT],[qi.PRE,Yi.PRE],[qi.RB,Yi.RB],[qi.RP,Yi.RP],[qi.RT,Yi.RT],[qi.RTC,Yi.RTC],[qi.RUBY,Yi.RUBY],[qi.S,Yi.S],[qi.SCRIPT,Yi.SCRIPT],[qi.SECTION,Yi.SECTION],[qi.SELECT,Yi.SELECT],[qi.SOURCE,Yi.SOURCE],[qi.SMALL,Yi.SMALL],[qi.SPAN,Yi.SPAN],[qi.STRIKE,Yi.STRIKE],[qi.STRONG,Yi.STRONG],[qi.STYLE,Yi.STYLE],[qi.SUB,Yi.SUB],[qi.SUMMARY,Yi.SUMMARY],[qi.SUP,Yi.SUP],[qi.TABLE,Yi.TABLE],[qi.TBODY,Yi.TBODY],[qi.TEMPLATE,Yi.TEMPLATE],[qi.TEXTAREA,Yi.TEXTAREA],[qi.TFOOT,Yi.TFOOT],[qi.TD,Yi.TD],[qi.TH,Yi.TH],[qi.THEAD,Yi.THEAD],[qi.TITLE,Yi.TITLE],[qi.TR,Yi.TR],[qi.TRACK,Yi.TRACK],[qi.TT,Yi.TT],[qi.U,Yi.U],[qi.UL,Yi.UL],[qi.SVG,Yi.SVG],[qi.VAR,Yi.VAR],[qi.WBR,Yi.WBR],[qi.XMP,Yi.XMP]]);function Xi(t){var e;return null!==(e=Ki.get(t))&&void 0!==e?e:Yi.UNKNOWN}const Ji=Yi;zi.HTML,new Set([Ji.ADDRESS,Ji.APPLET,Ji.AREA,Ji.ARTICLE,Ji.ASIDE,Ji.BASE,Ji.BASEFONT,Ji.BGSOUND,Ji.BLOCKQUOTE,Ji.BODY,Ji.BR,Ji.BUTTON,Ji.CAPTION,Ji.CENTER,Ji.COL,Ji.COLGROUP,Ji.DD,Ji.DETAILS,Ji.DIR,Ji.DIV,Ji.DL,Ji.DT,Ji.EMBED,Ji.FIELDSET,Ji.FIGCAPTION,Ji.FIGURE,Ji.FOOTER,Ji.FORM,Ji.FRAME,Ji.FRAMESET,Ji.H1,Ji.H2,Ji.H3,Ji.H4,Ji.H5,Ji.H6,Ji.HEAD,Ji.HEADER,Ji.HGROUP,Ji.HR,Ji.HTML,Ji.IFRAME,Ji.IMG,Ji.INPUT,Ji.LI,Ji.LINK,Ji.LISTING,Ji.MAIN,Ji.MARQUEE,Ji.MENU,Ji.META,Ji.NAV,Ji.NOEMBED,Ji.NOFRAMES,Ji.NOSCRIPT,Ji.OBJECT,Ji.OL,Ji.P,Ji.PARAM,Ji.PLAINTEXT,Ji.PRE,Ji.SCRIPT,Ji.SECTION,Ji.SELECT,Ji.SOURCE,Ji.STYLE,Ji.SUMMARY,Ji.TABLE,Ji.TBODY,Ji.TD,Ji.TEMPLATE,Ji.TEXTAREA,Ji.TFOOT,Ji.TH,Ji.THEAD,Ji.TITLE,Ji.TR,Ji.TRACK,Ji.UL,Ji.WBR,Ji.XMP]),zi.MATHML,new Set([Ji.MI,Ji.MO,Ji.MN,Ji.MS,Ji.MTEXT,Ji.ANNOTATION_XML]),zi.SVG,new Set([Ji.TITLE,Ji.FOREIGN_OBJECT,Ji.DESC]),zi.XLINK,new Set,zi.XML,new Set,zi.XMLNS,new Set;const Zi=new Set([qi.STYLE,qi.SCRIPT,qi.XMP,qi.IFRAME,qi.NOEMBED,qi.NOFRAMES,qi.PLAINTEXT]),$i=new Map([[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);var tn;!function(t){t[t.DATA=0]="DATA",t[t.RCDATA=1]="RCDATA",t[t.RAWTEXT=2]="RAWTEXT",t[t.SCRIPT_DATA=3]="SCRIPT_DATA",t[t.PLAINTEXT=4]="PLAINTEXT",t[t.TAG_OPEN=5]="TAG_OPEN",t[t.END_TAG_OPEN=6]="END_TAG_OPEN",t[t.TAG_NAME=7]="TAG_NAME",t[t.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",t[t.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",t[t.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",t[t.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",t[t.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",t[t.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",t[t.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",t[t.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",t[t.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",t[t.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",t[t.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",t[t.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",t[t.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",t[t.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",t[t.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",t[t.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",t[t.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",t[t.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",t[t.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",t[t.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",t[t.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",t[t.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",t[t.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",t[t.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",t[t.BOGUS_COMMENT=40]="BOGUS_COMMENT",t[t.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",t[t.COMMENT_START=42]="COMMENT_START",t[t.COMMENT_START_DASH=43]="COMMENT_START_DASH",t[t.COMMENT=44]="COMMENT",t[t.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",t[t.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",t[t.COMMENT_END_DASH=49]="COMMENT_END_DASH",t[t.COMMENT_END=50]="COMMENT_END",t[t.COMMENT_END_BANG=51]="COMMENT_END_BANG",t[t.DOCTYPE=52]="DOCTYPE",t[t.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",t[t.DOCTYPE_NAME=54]="DOCTYPE_NAME",t[t.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",t[t.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",t[t.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",t[t.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",t[t.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",t[t.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",t[t.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",t[t.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",t[t.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",t[t.CDATA_SECTION=68]="CDATA_SECTION",t[t.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",t[t.CDATA_SECTION_END=70]="CDATA_SECTION_END",t[t.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",t[t.NAMED_CHARACTER_REFERENCE=72]="NAMED_CHARACTER_REFERENCE",t[t.AMBIGUOUS_AMPERSAND=73]="AMBIGUOUS_AMPERSAND",t[t.NUMERIC_CHARACTER_REFERENCE=74]="NUMERIC_CHARACTER_REFERENCE",t[t.HEXADEMICAL_CHARACTER_REFERENCE_START=75]="HEXADEMICAL_CHARACTER_REFERENCE_START",t[t.HEXADEMICAL_CHARACTER_REFERENCE=76]="HEXADEMICAL_CHARACTER_REFERENCE",t[t.DECIMAL_CHARACTER_REFERENCE=77]="DECIMAL_CHARACTER_REFERENCE",t[t.NUMERIC_CHARACTER_REFERENCE_END=78]="NUMERIC_CHARACTER_REFERENCE_END"}(tn||(tn={}));const en={DATA:tn.DATA,RCDATA:tn.RCDATA,RAWTEXT:tn.RAWTEXT,SCRIPT_DATA:tn.SCRIPT_DATA,PLAINTEXT:tn.PLAINTEXT,CDATA_SECTION:tn.CDATA_SECTION};function rn(t){return t>=Ei.DIGIT_0&&t<=Ei.DIGIT_9}function nn(t){return t>=Ei.LATIN_CAPITAL_A&&t<=Ei.LATIN_CAPITAL_Z}function sn(t){return function(t){return t>=Ei.LATIN_SMALL_A&&t<=Ei.LATIN_SMALL_Z}(t)||nn(t)}function on(t){return sn(t)||rn(t)}function an(t){return t>=Ei.LATIN_CAPITAL_A&&t<=Ei.LATIN_CAPITAL_F}function cn(t){return t>=Ei.LATIN_SMALL_A&&t<=Ei.LATIN_SMALL_F}function ln(t){return t+32}function hn(t){return t===Ei.SPACE||t===Ei.LINE_FEED||t===Ei.TABULATION||t===Ei.FORM_FEED}function un(t){return t===Ei.EQUALS_SIGN||on(t)}function pn(t){return hn(t)||t===Ei.SOLIDUS||t===Ei.GREATER_THAN_SIGN}class dn{constructor(t,e){this.options=t,this.handler=e,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=tn.DATA,this.returnState=tn.DATA,this.charRefCode=-1,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new Bi(e),this.currentLocation=this.getCurrentLocation(-1)}_err(t){var e,r;null===(r=(e=this.handler).onParseError)||void 0===r||r.call(e,this.preprocessor.getError(t))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,this.inLoop||(this._runParsingLoop(),this.paused||null==t||t())}write(t,e,r){this.active=!0,this.preprocessor.write(t,e),this._runParsingLoop(),this.paused||null==r||r()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return!!this.preprocessor.endOfChunkHit&&(this._unconsume(this.consumedAfterSnapshot),this.active=!1,!0)}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(t){this.consumedAfterSnapshot-=t,this.preprocessor.retreat(t)}_reconsumeInState(t,e){this.state=t,this._callState(e)}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let e=0;e<t;e++)this.preprocessor.advance()}_consumeSequenceIfMatch(t,e){return!!this.preprocessor.startsWith(t,e)&&(this._advanceBy(t.length-1),!0)}_createStartTagToken(){this.currentToken={type:Oi.START_TAG,tagName:"",tagID:Yi.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:Oi.END_TAG,tagName:"",tagID:Yi.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(t){this.currentToken={type:Oi.COMMENT,data:"",location:this.getCurrentLocation(t)}}_createDoctypeToken(t){this.currentToken={type:Oi.DOCTYPE,name:t,forceQuirks:!1,publicId:null,systemId:null,location:this.currentLocation}}_createCharacterToken(t,e){this.currentCharacterToken={type:t,chars:e,location:this.currentLocation}}_createAttr(t){this.currentAttr={name:t,value:""},this.currentLocation=this.getCurrentLocation(0)}_leaveAttrName(){var t,e;const r=this.currentToken;null===function(t,e){for(let r=t.attrs.length-1;r>=0;r--)if(t.attrs[r].name===e)return t.attrs[r].value;return null}(r,this.currentAttr.name)?(r.attrs.push(this.currentAttr),r.location&&this.currentLocation&&((null!==(t=(e=r.location).attrs)&&void 0!==t?t:e.attrs=Object.create(null))[this.currentAttr.name]=this.currentLocation,this._leaveAttrValue())):this._err(Ni.duplicateAttribute)}_leaveAttrValue(){this.currentLocation&&(this.currentLocation.endLine=this.preprocessor.line,this.currentLocation.endCol=this.preprocessor.col,this.currentLocation.endOffset=this.preprocessor.offset)}prepareToken(t){this._emitCurrentCharacterToken(t.location),this.currentToken=null,t.location&&(t.location.endLine=this.preprocessor.line,t.location.endCol=this.preprocessor.col+1,t.location.endOffset=this.preprocessor.offset+1),this.currentLocation=this.getCurrentLocation(-1)}emitCurrentTagToken(){const t=this.currentToken;this.prepareToken(t),t.tagID=Xi(t.tagName),t.type===Oi.START_TAG?(this.lastStartTagName=t.tagName,this.handler.onStartTag(t)):(t.attrs.length>0&&this._err(Ni.endTagWithAttributes),t.selfClosing&&this._err(Ni.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case Oi.CHARACTER:this.handler.onCharacter(this.currentCharacterToken);break;case Oi.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken);break;case Oi.WHITESPACE_CHARACTER:this.handler.onWhitespaceCharacter(this.currentCharacterToken)}this.currentCharacterToken=null}}_emitEOFToken(){const t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:Oi.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,e){if(this.currentCharacterToken){if(this.currentCharacterToken.type===t)return void(this.currentCharacterToken.chars+=e);this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk()}this._createCharacterToken(t,e)}_emitCodePoint(t){const e=hn(t)?Oi.WHITESPACE_CHARACTER:t===Ei.NULL?Oi.NULL_CHARACTER:Oi.CHARACTER;this._appendCharToCurrentCharacterToken(e,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(Oi.CHARACTER,t)}_matchNamedCharacterReference(t){let e=null,r=0,i=!1;for(let n=0,s=Pi[0];n>=0&&(n=Qi(Pi,s,n+1,t),!(n<0));t=this._consume()){r+=1,s=Pi[n];const o=s&ji.VALUE_LENGTH;if(o){const s=(o>>14)-1;if(t!==Ei.SEMICOLON&&this._isCharacterReferenceInAttribute()&&un(this.preprocessor.peek(1))?(e=[Ei.AMPERSAND],n+=s):(e=0===s?[Pi[n]&~ji.VALUE_LENGTH]:1===s?[Pi[++n]]:[Pi[++n],Pi[++n]],r=0,i=t!==Ei.SEMICOLON),0===s){this._consume();break}}}return this._unconsume(r),i&&!this.preprocessor.endOfChunkHit&&this._err(Ni.missingSemicolonAfterCharacterReference),this._unconsume(1),e}_isCharacterReferenceInAttribute(){return this.returnState===tn.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===tn.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===tn.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case tn.DATA:this._stateData(t);break;case tn.RCDATA:this._stateRcdata(t);break;case tn.RAWTEXT:this._stateRawtext(t);break;case tn.SCRIPT_DATA:this._stateScriptData(t);break;case tn.PLAINTEXT:this._statePlaintext(t);break;case tn.TAG_OPEN:this._stateTagOpen(t);break;case tn.END_TAG_OPEN:this._stateEndTagOpen(t);break;case tn.TAG_NAME:this._stateTagName(t);break;case tn.RCDATA_LESS_THAN_SIGN:this._stateRcdataLessThanSign(t);break;case tn.RCDATA_END_TAG_OPEN:this._stateRcdataEndTagOpen(t);break;case tn.RCDATA_END_TAG_NAME:this._stateRcdataEndTagName(t);break;case tn.RAWTEXT_LESS_THAN_SIGN:this._stateRawtextLessThanSign(t);break;case tn.RAWTEXT_END_TAG_OPEN:this._stateRawtextEndTagOpen(t);break;case tn.RAWTEXT_END_TAG_NAME:this._stateRawtextEndTagName(t);break;case tn.SCRIPT_DATA_LESS_THAN_SIGN:this._stateScriptDataLessThanSign(t);break;case tn.SCRIPT_DATA_END_TAG_OPEN:this._stateScriptDataEndTagOpen(t);break;case tn.SCRIPT_DATA_END_TAG_NAME:this._stateScriptDataEndTagName(t);break;case tn.SCRIPT_DATA_ESCAPE_START:this._stateScriptDataEscapeStart(t);break;case tn.SCRIPT_DATA_ESCAPE_START_DASH:this._stateScriptDataEscapeStartDash(t);break;case tn.SCRIPT_DATA_ESCAPED:this._stateScriptDataEscaped(t);break;case tn.SCRIPT_DATA_ESCAPED_DASH:this._stateScriptDataEscapedDash(t);break;case tn.SCRIPT_DATA_ESCAPED_DASH_DASH:this._stateScriptDataEscapedDashDash(t);break;case tn.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataEscapedLessThanSign(t);break;case tn.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:this._stateScriptDataEscapedEndTagOpen(t);break;case tn.SCRIPT_DATA_ESCAPED_END_TAG_NAME:this._stateScriptDataEscapedEndTagName(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPE_START:this._stateScriptDataDoubleEscapeStart(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:this._stateScriptDataDoubleEscapedDash(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:this._stateScriptDataDoubleEscapedDashDash(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataDoubleEscapedLessThanSign(t);break;case tn.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(t);break;case tn.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(t);break;case tn.ATTRIBUTE_NAME:this._stateAttributeName(t);break;case tn.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(t);break;case tn.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(t);break;case tn.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(t);break;case tn.ATTRIBUTE_VALUE_SINGLE_QUOTED:this._stateAttributeValueSingleQuoted(t);break;case tn.ATTRIBUTE_VALUE_UNQUOTED:this._stateAttributeValueUnquoted(t);break;case tn.AFTER_ATTRIBUTE_VALUE_QUOTED:this._stateAfterAttributeValueQuoted(t);break;case tn.SELF_CLOSING_START_TAG:this._stateSelfClosingStartTag(t);break;case tn.BOGUS_COMMENT:this._stateBogusComment(t);break;case tn.MARKUP_DECLARATION_OPEN:this._stateMarkupDeclarationOpen(t);break;case tn.COMMENT_START:this._stateCommentStart(t);break;case tn.COMMENT_START_DASH:this._stateCommentStartDash(t);break;case tn.COMMENT:this._stateComment(t);break;case tn.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(t);break;case tn.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(t);break;case tn.COMMENT_LESS_THAN_SIGN_BANG_DASH:this._stateCommentLessThanSignBangDash(t);break;case tn.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:this._stateCommentLessThanSignBangDashDash(t);break;case tn.COMMENT_END_DASH:this._stateCommentEndDash(t);break;case tn.COMMENT_END:this._stateCommentEnd(t);break;case tn.COMMENT_END_BANG:this._stateCommentEndBang(t);break;case tn.DOCTYPE:this._stateDoctype(t);break;case tn.BEFORE_DOCTYPE_NAME:this._stateBeforeDoctypeName(t);break;case tn.DOCTYPE_NAME:this._stateDoctypeName(t);break;case tn.AFTER_DOCTYPE_NAME:this._stateAfterDoctypeName(t);break;case tn.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._stateAfterDoctypePublicKeyword(t);break;case tn.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:this._stateBeforeDoctypePublicIdentifier(t);break;case tn.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypePublicIdentifierDoubleQuoted(t);break;case tn.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypePublicIdentifierSingleQuoted(t);break;case tn.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:this._stateAfterDoctypePublicIdentifier(t);break;case tn.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break;case tn.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(t);break;case tn.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:this._stateBeforeDoctypeSystemIdentifier(t);break;case tn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypeSystemIdentifierDoubleQuoted(t);break;case tn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypeSystemIdentifierSingleQuoted(t);break;case tn.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:this._stateAfterDoctypeSystemIdentifier(t);break;case tn.BOGUS_DOCTYPE:this._stateBogusDoctype(t);break;case tn.CDATA_SECTION:this._stateCdataSection(t);break;case tn.CDATA_SECTION_BRACKET:this._stateCdataSectionBracket(t);break;case tn.CDATA_SECTION_END:this._stateCdataSectionEnd(t);break;case tn.CHARACTER_REFERENCE:this._stateCharacterReference(t);break;case tn.NAMED_CHARACTER_REFERENCE:this._stateNamedCharacterReference(t);break;case tn.AMBIGUOUS_AMPERSAND:this._stateAmbiguousAmpersand(t);break;case tn.NUMERIC_CHARACTER_REFERENCE:this._stateNumericCharacterReference(t);break;case tn.HEXADEMICAL_CHARACTER_REFERENCE_START:this._stateHexademicalCharacterReferenceStart(t);break;case tn.HEXADEMICAL_CHARACTER_REFERENCE:this._stateHexademicalCharacterReference(t);break;case tn.DECIMAL_CHARACTER_REFERENCE:this._stateDecimalCharacterReference(t);break;case tn.NUMERIC_CHARACTER_REFERENCE_END:this._stateNumericCharacterReferenceEnd(t);break;default:throw new Error("Unknown state")}}_stateData(t){switch(t){case Ei.LESS_THAN_SIGN:this.state=tn.TAG_OPEN;break;case Ei.AMPERSAND:this.returnState=tn.DATA,this.state=tn.CHARACTER_REFERENCE;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitCodePoint(t);break;case Ei.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case Ei.AMPERSAND:this.returnState=tn.RCDATA,this.state=tn.CHARACTER_REFERENCE;break;case Ei.LESS_THAN_SIGN:this.state=tn.RCDATA_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case Ei.LESS_THAN_SIGN:this.state=tn.RAWTEXT_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateTagOpen(t){if(sn(t))this._createStartTagToken(),this.state=tn.TAG_NAME,this._stateTagName(t);else switch(t){case Ei.EXCLAMATION_MARK:this.state=tn.MARKUP_DECLARATION_OPEN;break;case Ei.SOLIDUS:this.state=tn.END_TAG_OPEN;break;case Ei.QUESTION_MARK:this._err(Ni.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=tn.BOGUS_COMMENT,this._stateBogusComment(t);break;case Ei.EOF:this._err(Ni.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break;default:this._err(Ni.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=tn.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(sn(t))this._createEndTagToken(),this.state=tn.TAG_NAME,this._stateTagName(t);else switch(t){case Ei.GREATER_THAN_SIGN:this._err(Ni.missingEndTagName),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break;default:this._err(Ni.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=tn.BOGUS_COMMENT,this._stateBogusComment(t)}}_stateTagName(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.BEFORE_ATTRIBUTE_NAME;break;case Ei.SOLIDUS:this.state=tn.SELF_CLOSING_START_TAG;break;case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentTagToken();break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.tagName+=bi;break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:e.tagName+=String.fromCodePoint(nn(t)?ln(t):t)}}_stateRcdataLessThanSign(t){t===Ei.SOLIDUS?this.state=tn.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=tn.RCDATA,this._stateRcdata(t))}_stateRcdataEndTagOpen(t){sn(t)?(this.state=tn.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(t)):(this._emitChars("</"),this.state=tn.RCDATA,this._stateRcdata(t))}handleSpecialEndTag(t){if(!this.preprocessor.startsWith(this.lastStartTagName,!1))return!this._ensureHibernation();switch(this._createEndTagToken(),this.currentToken.tagName=this.lastStartTagName,this.preprocessor.peek(this.lastStartTagName.length)){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=tn.BEFORE_ATTRIBUTE_NAME,!1;case Ei.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=tn.SELF_CLOSING_START_TAG,!1;case Ei.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=tn.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=tn.RCDATA,this._stateRcdata(t))}_stateRawtextLessThanSign(t){t===Ei.SOLIDUS?this.state=tn.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=tn.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagOpen(t){sn(t)?(this.state=tn.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(t)):(this._emitChars("</"),this.state=tn.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=tn.RAWTEXT,this._stateRawtext(t))}_stateScriptDataLessThanSign(t){switch(t){case Ei.SOLIDUS:this.state=tn.SCRIPT_DATA_END_TAG_OPEN;break;case Ei.EXCLAMATION_MARK:this.state=tn.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break;default:this._emitChars("<"),this.state=tn.SCRIPT_DATA,this._stateScriptData(t)}}_stateScriptDataEndTagOpen(t){sn(t)?(this.state=tn.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(t)):(this._emitChars("</"),this.state=tn.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=tn.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStart(t){t===Ei.HYPHEN_MINUS?(this.state=tn.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=tn.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStartDash(t){t===Ei.HYPHEN_MINUS?(this.state=tn.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=tn.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscaped(t){switch(t){case Ei.HYPHEN_MINUS:this.state=tn.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataEscapedDash(t){switch(t){case Ei.HYPHEN_MINUS:this.state=tn.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.state=tn.SCRIPT_DATA_ESCAPED,this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=tn.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedDashDash(t){switch(t){case Ei.HYPHEN_MINUS:this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Ei.GREATER_THAN_SIGN:this.state=tn.SCRIPT_DATA,this._emitChars(">");break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.state=tn.SCRIPT_DATA_ESCAPED,this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=tn.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===Ei.SOLIDUS?this.state=tn.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:sn(t)?(this._emitChars("<"),this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=tn.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){sn(t)?(this.state=tn.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("</"),this.state=tn.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=tn.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscapeStart(t){if(this.preprocessor.startsWith(Ii,!1)&&pn(this.preprocessor.peek(6))){this._emitCodePoint(t);for(let t=0;t<6;t++)this._emitCodePoint(this._consume());this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=tn.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscaped(t){switch(t){case Ei.HYPHEN_MINUS:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDash(t){switch(t){case Ei.HYPHEN_MINUS:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDashDash(t){switch(t){case Ei.HYPHEN_MINUS:this._emitChars("-");break;case Ei.LESS_THAN_SIGN:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Ei.GREATER_THAN_SIGN:this.state=tn.SCRIPT_DATA,this._emitChars(">");break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(bi);break;case Ei.EOF:this._err(Ni.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===Ei.SOLIDUS?(this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(Ii,!1)&&pn(this.preprocessor.peek(6))){this._emitCodePoint(t);for(let t=0;t<6;t++)this._emitCodePoint(this._consume());this.state=tn.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=tn.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateBeforeAttributeName(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.SOLIDUS:case Ei.GREATER_THAN_SIGN:case Ei.EOF:this.state=tn.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Ei.EQUALS_SIGN:this._err(Ni.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=tn.ATTRIBUTE_NAME;break;default:this._createAttr(""),this.state=tn.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateAttributeName(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:case Ei.SOLIDUS:case Ei.GREATER_THAN_SIGN:case Ei.EOF:this._leaveAttrName(),this.state=tn.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Ei.EQUALS_SIGN:this._leaveAttrName(),this.state=tn.BEFORE_ATTRIBUTE_VALUE;break;case Ei.QUOTATION_MARK:case Ei.APOSTROPHE:case Ei.LESS_THAN_SIGN:this._err(Ni.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(t);break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.currentAttr.name+=bi;break;default:this.currentAttr.name+=String.fromCodePoint(nn(t)?ln(t):t)}}_stateAfterAttributeName(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.SOLIDUS:this.state=tn.SELF_CLOSING_START_TAG;break;case Ei.EQUALS_SIGN:this.state=tn.BEFORE_ATTRIBUTE_VALUE;break;case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentTagToken();break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this._createAttr(""),this.state=tn.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateBeforeAttributeValue(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.QUOTATION_MARK:this.state=tn.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:this.state=tn.ATTRIBUTE_VALUE_SINGLE_QUOTED;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.missingAttributeValue),this.state=tn.DATA,this.emitCurrentTagToken();break;default:this.state=tn.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(t)}}_stateAttributeValueDoubleQuoted(t){switch(t){case Ei.QUOTATION_MARK:this.state=tn.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Ei.AMPERSAND:this.returnState=tn.ATTRIBUTE_VALUE_DOUBLE_QUOTED,this.state=tn.CHARACTER_REFERENCE;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.currentAttr.value+=bi;break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueSingleQuoted(t){switch(t){case Ei.APOSTROPHE:this.state=tn.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Ei.AMPERSAND:this.returnState=tn.ATTRIBUTE_VALUE_SINGLE_QUOTED,this.state=tn.CHARACTER_REFERENCE;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.currentAttr.value+=bi;break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueUnquoted(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this._leaveAttrValue(),this.state=tn.BEFORE_ATTRIBUTE_NAME;break;case Ei.AMPERSAND:this.returnState=tn.ATTRIBUTE_VALUE_UNQUOTED,this.state=tn.CHARACTER_REFERENCE;break;case Ei.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=tn.DATA,this.emitCurrentTagToken();break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this.currentAttr.value+=bi;break;case Ei.QUOTATION_MARK:case Ei.APOSTROPHE:case Ei.LESS_THAN_SIGN:case Ei.EQUALS_SIGN:case Ei.GRAVE_ACCENT:this._err(Ni.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(t);break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAfterAttributeValueQuoted(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this._leaveAttrValue(),this.state=tn.BEFORE_ATTRIBUTE_NAME;break;case Ei.SOLIDUS:this._leaveAttrValue(),this.state=tn.SELF_CLOSING_START_TAG;break;case Ei.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=tn.DATA,this.emitCurrentTagToken();break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this._err(Ni.missingWhitespaceBetweenAttributes),this.state=tn.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateSelfClosingStartTag(t){switch(t){case Ei.GREATER_THAN_SIGN:this.currentToken.selfClosing=!0,this.state=tn.DATA,this.emitCurrentTagToken();break;case Ei.EOF:this._err(Ni.eofInTag),this._emitEOFToken();break;default:this._err(Ni.unexpectedSolidusInTag),this.state=tn.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateBogusComment(t){const e=this.currentToken;switch(t){case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentComment(e);break;case Ei.EOF:this.emitCurrentComment(e),this._emitEOFToken();break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.data+=bi;break;default:e.data+=String.fromCodePoint(t)}}_stateMarkupDeclarationOpen(t){this._consumeSequenceIfMatch(vi,!0)?(this._createCommentToken(3),this.state=tn.COMMENT_START):this._consumeSequenceIfMatch(xi,!1)?(this.currentLocation=this.getCurrentLocation(8),this.state=tn.DOCTYPE):this._consumeSequenceIfMatch(_i,!0)?this.inForeignNode?this.state=tn.CDATA_SECTION:(this._err(Ni.cdataInHtmlContent),this._createCommentToken(8),this.currentToken.data="[CDATA[",this.state=tn.BOGUS_COMMENT):this._ensureHibernation()||(this._err(Ni.incorrectlyOpenedComment),this._createCommentToken(2),this.state=tn.BOGUS_COMMENT,this._stateBogusComment(t))}_stateCommentStart(t){switch(t){case Ei.HYPHEN_MINUS:this.state=tn.COMMENT_START_DASH;break;case Ei.GREATER_THAN_SIGN:{this._err(Ni.abruptClosingOfEmptyComment),this.state=tn.DATA;const t=this.currentToken;this.emitCurrentComment(t);break}default:this.state=tn.COMMENT,this._stateComment(t)}}_stateCommentStartDash(t){const e=this.currentToken;switch(t){case Ei.HYPHEN_MINUS:this.state=tn.COMMENT_END;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.abruptClosingOfEmptyComment),this.state=tn.DATA,this.emitCurrentComment(e);break;case Ei.EOF:this._err(Ni.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=tn.COMMENT,this._stateComment(t)}}_stateComment(t){const e=this.currentToken;switch(t){case Ei.HYPHEN_MINUS:this.state=tn.COMMENT_END_DASH;break;case Ei.LESS_THAN_SIGN:e.data+="<",this.state=tn.COMMENT_LESS_THAN_SIGN;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.data+=bi;break;case Ei.EOF:this._err(Ni.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+=String.fromCodePoint(t)}}_stateCommentLessThanSign(t){const e=this.currentToken;switch(t){case Ei.EXCLAMATION_MARK:e.data+="!",this.state=tn.COMMENT_LESS_THAN_SIGN_BANG;break;case Ei.LESS_THAN_SIGN:e.data+="<";break;default:this.state=tn.COMMENT,this._stateComment(t)}}_stateCommentLessThanSignBang(t){t===Ei.HYPHEN_MINUS?this.state=tn.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=tn.COMMENT,this._stateComment(t))}_stateCommentLessThanSignBangDash(t){t===Ei.HYPHEN_MINUS?this.state=tn.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=tn.COMMENT_END_DASH,this._stateCommentEndDash(t))}_stateCommentLessThanSignBangDashDash(t){t!==Ei.GREATER_THAN_SIGN&&t!==Ei.EOF&&this._err(Ni.nestedComment),this.state=tn.COMMENT_END,this._stateCommentEnd(t)}_stateCommentEndDash(t){const e=this.currentToken;switch(t){case Ei.HYPHEN_MINUS:this.state=tn.COMMENT_END;break;case Ei.EOF:this._err(Ni.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=tn.COMMENT,this._stateComment(t)}}_stateCommentEnd(t){const e=this.currentToken;switch(t){case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentComment(e);break;case Ei.EXCLAMATION_MARK:this.state=tn.COMMENT_END_BANG;break;case Ei.HYPHEN_MINUS:e.data+="-";break;case Ei.EOF:this._err(Ni.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--",this.state=tn.COMMENT,this._stateComment(t)}}_stateCommentEndBang(t){const e=this.currentToken;switch(t){case Ei.HYPHEN_MINUS:e.data+="--!",this.state=tn.COMMENT_END_DASH;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.incorrectlyClosedComment),this.state=tn.DATA,this.emitCurrentComment(e);break;case Ei.EOF:this._err(Ni.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--!",this.state=tn.COMMENT,this._stateComment(t)}}_stateDoctype(t){switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.BEFORE_DOCTYPE_NAME;break;case Ei.GREATER_THAN_SIGN:this.state=tn.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t);break;case Ei.EOF:{this._err(Ni.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(Ni.missingWhitespaceBeforeDoctypeName),this.state=tn.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t)}}_stateBeforeDoctypeName(t){if(nn(t))this._createDoctypeToken(String.fromCharCode(ln(t))),this.state=tn.DOCTYPE_NAME;else switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),this._createDoctypeToken(bi),this.state=tn.DOCTYPE_NAME;break;case Ei.GREATER_THAN_SIGN:{this._err(Ni.missingDoctypeName),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=tn.DATA;break}case Ei.EOF:{this._err(Ni.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(t)),this.state=tn.DOCTYPE_NAME}}_stateDoctypeName(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.AFTER_DOCTYPE_NAME;break;case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.name+=bi;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.name+=String.fromCodePoint(nn(t)?ln(t):t)}}_stateAfterDoctypeName(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._consumeSequenceIfMatch(Si,!1)?this.state=tn.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch(Ti,!1)?this.state=tn.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(Ni.invalidCharacterSequenceAfterDoctypeName),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t))}}_stateAfterDoctypePublicKeyword(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break;case Ei.QUOTATION_MARK:this._err(Ni.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=tn.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:this._err(Ni.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=tn.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.QUOTATION_MARK:e.publicId="",this.state=tn.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:e.publicId="",this.state=tn.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypePublicIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Ei.QUOTATION_MARK:this.state=tn.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.publicId+=bi;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateDoctypePublicIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case Ei.APOSTROPHE:this.state=tn.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.publicId+=bi;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateAfterDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break;case Ei.GREATER_THAN_SIGN:this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.QUOTATION_MARK:this._err(Ni.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:this._err(Ni.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBetweenDoctypePublicAndSystemIdentifiers(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.QUOTATION_MARK:e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateAfterDoctypeSystemKeyword(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:this.state=tn.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break;case Ei.QUOTATION_MARK:this._err(Ni.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:this._err(Ni.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.QUOTATION_MARK:e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Ei.APOSTROPHE:e.systemId="",this.state=tn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.DATA,this.emitCurrentDoctype(e);break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypeSystemIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Ei.QUOTATION_MARK:this.state=tn.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.systemId+=bi;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateDoctypeSystemIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case Ei.APOSTROPHE:this.state=tn.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter),e.systemId+=bi;break;case Ei.GREATER_THAN_SIGN:this._err(Ni.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateAfterDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case Ei.SPACE:case Ei.LINE_FEED:case Ei.TABULATION:case Ei.FORM_FEED:break;case Ei.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.EOF:this._err(Ni.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(Ni.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=tn.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBogusDoctype(t){const e=this.currentToken;switch(t){case Ei.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=tn.DATA;break;case Ei.NULL:this._err(Ni.unexpectedNullCharacter);break;case Ei.EOF:this.emitCurrentDoctype(e),this._emitEOFToken()}}_stateCdataSection(t){switch(t){case Ei.RIGHT_SQUARE_BRACKET:this.state=tn.CDATA_SECTION_BRACKET;break;case Ei.EOF:this._err(Ni.eofInCdata),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateCdataSectionBracket(t){t===Ei.RIGHT_SQUARE_BRACKET?this.state=tn.CDATA_SECTION_END:(this._emitChars("]"),this.state=tn.CDATA_SECTION,this._stateCdataSection(t))}_stateCdataSectionEnd(t){switch(t){case Ei.GREATER_THAN_SIGN:this.state=tn.DATA;break;case Ei.RIGHT_SQUARE_BRACKET:this._emitChars("]");break;default:this._emitChars("]]"),this.state=tn.CDATA_SECTION,this._stateCdataSection(t)}}_stateCharacterReference(t){t===Ei.NUMBER_SIGN?this.state=tn.NUMERIC_CHARACTER_REFERENCE:on(t)?(this.state=tn.NAMED_CHARACTER_REFERENCE,this._stateNamedCharacterReference(t)):(this._flushCodePointConsumedAsCharacterReference(Ei.AMPERSAND),this._reconsumeInState(this.returnState,t))}_stateNamedCharacterReference(t){const e=this._matchNamedCharacterReference(t);if(this._ensureHibernation());else if(e){for(let t=0;t<e.length;t++)this._flushCodePointConsumedAsCharacterReference(e[t]);this.state=this.returnState}else this._flushCodePointConsumedAsCharacterReference(Ei.AMPERSAND),this.state=tn.AMBIGUOUS_AMPERSAND}_stateAmbiguousAmpersand(t){on(t)?this._flushCodePointConsumedAsCharacterReference(t):(t===Ei.SEMICOLON&&this._err(Ni.unknownNamedCharacterReference),this._reconsumeInState(this.returnState,t))}_stateNumericCharacterReference(t){this.charRefCode=0,t===Ei.LATIN_SMALL_X||t===Ei.LATIN_CAPITAL_X?this.state=tn.HEXADEMICAL_CHARACTER_REFERENCE_START:rn(t)?(this.state=tn.DECIMAL_CHARACTER_REFERENCE,this._stateDecimalCharacterReference(t)):(this._err(Ni.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Ei.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Ei.NUMBER_SIGN),this._reconsumeInState(this.returnState,t))}_stateHexademicalCharacterReferenceStart(t){!function(t){return rn(t)||an(t)||cn(t)}(t)?(this._err(Ni.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Ei.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Ei.NUMBER_SIGN),this._unconsume(2),this.state=this.returnState):(this.state=tn.HEXADEMICAL_CHARACTER_REFERENCE,this._stateHexademicalCharacterReference(t))}_stateHexademicalCharacterReference(t){an(t)?this.charRefCode=16*this.charRefCode+t-55:cn(t)?this.charRefCode=16*this.charRefCode+t-87:rn(t)?this.charRefCode=16*this.charRefCode+t-48:t===Ei.SEMICOLON?this.state=tn.NUMERIC_CHARACTER_REFERENCE_END:(this._err(Ni.missingSemicolonAfterCharacterReference),this.state=tn.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateDecimalCharacterReference(t){rn(t)?this.charRefCode=10*this.charRefCode+t-48:t===Ei.SEMICOLON?this.state=tn.NUMERIC_CHARACTER_REFERENCE_END:(this._err(Ni.missingSemicolonAfterCharacterReference),this.state=tn.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateNumericCharacterReferenceEnd(t){if(this.charRefCode===Ei.NULL)this._err(Ni.nullCharacterReference),this.charRefCode=Ei.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(Ni.characterReferenceOutsideUnicodeRange),this.charRefCode=Ei.REPLACEMENT_CHARACTER;else if(Ci(this.charRefCode))this._err(Ni.surrogateCharacterReference),this.charRefCode=Ei.REPLACEMENT_CHARACTER;else if(ki(this.charRefCode))this._err(Ni.noncharacterCharacterReference);else if(Ri(this.charRefCode)||this.charRefCode===Ei.CARRIAGE_RETURN){this._err(Ni.controlCharacterReference);const t=$i.get(this.charRefCode);void 0!==t&&(this.charRefCode=t)}this._flushCodePointConsumedAsCharacterReference(this.charRefCode),this._reconsumeInState(this.returnState,t)}}const fn=new Set([Yi.DD,Yi.DT,Yi.LI,Yi.OPTGROUP,Yi.OPTION,Yi.P,Yi.RB,Yi.RP,Yi.RT,Yi.RTC]);var gn;new Set([...fn,Yi.CAPTION,Yi.COLGROUP,Yi.TBODY,Yi.TD,Yi.TFOOT,Yi.TH,Yi.THEAD,Yi.TR]),new Map([[Yi.APPLET,zi.HTML],[Yi.CAPTION,zi.HTML],[Yi.HTML,zi.HTML],[Yi.MARQUEE,zi.HTML],[Yi.OBJECT,zi.HTML],[Yi.TABLE,zi.HTML],[Yi.TD,zi.HTML],[Yi.TEMPLATE,zi.HTML],[Yi.TH,zi.HTML],[Yi.ANNOTATION_XML,zi.MATHML],[Yi.MI,zi.MATHML],[Yi.MN,zi.MATHML],[Yi.MO,zi.MATHML],[Yi.MS,zi.MATHML],[Yi.MTEXT,zi.MATHML],[Yi.DESC,zi.SVG],[Yi.FOREIGN_OBJECT,zi.SVG],[Yi.TITLE,zi.SVG]]),Yi.H1,Yi.H2,Yi.H3,Yi.H4,Yi.H5,Yi.H6,Yi.TR,Yi.TEMPLATE,Yi.HTML,Yi.TBODY,Yi.TFOOT,Yi.THEAD,Yi.TEMPLATE,Yi.HTML,Yi.TABLE,Yi.TEMPLATE,Yi.HTML,Yi.TD,Yi.TH,function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"}(gn=gn||(gn={})),gn.Marker;const mn=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],yn=(new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"]),wn="text/html",An="application/xhtml+xml",bn=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t])),En=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:zi.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:zi.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:zi.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:zi.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:zi.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:zi.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:zi.XLINK}],["xml:base",{prefix:"xml",name:"base",namespace:zi.XML}],["xml:lang",{prefix:"xml",name:"lang",namespace:zi.XML}],["xml:space",{prefix:"xml",name:"space",namespace:zi.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:zi.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:zi.XMLNS}]]),vn=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),_n=new Set([Yi.B,Yi.BIG,Yi.BLOCKQUOTE,Yi.BODY,Yi.BR,Yi.CENTER,Yi.CODE,Yi.DD,Yi.DIV,Yi.DL,Yi.DT,Yi.EM,Yi.EMBED,Yi.H1,Yi.H2,Yi.H3,Yi.H4,Yi.H5,Yi.H6,Yi.HEAD,Yi.HR,Yi.I,Yi.IMG,Yi.LI,Yi.LISTING,Yi.MENU,Yi.META,Yi.NOBR,Yi.OL,Yi.P,Yi.PRE,Yi.RUBY,Yi.S,Yi.SMALL,Yi.SPAN,Yi.STRONG,Yi.STRIKE,Yi.SUB,Yi.SUP,Yi.TABLE,Yi.TT,Yi.U,Yi.UL,Yi.VAR]);function xn(t){const e=vn.get(t.tagName);null!=e&&(t.tagName=e,t.tagID=Xi(t.tagName))}function In(t,e,r,i){return(!i||i===zi.HTML)&&function(t,e,r){if(e===zi.MATHML&&t===Yi.ANNOTATION_XML)for(let t=0;t<r.length;t++)if(r[t].name===Vi.ENCODING){const e=r[t].value.toLowerCase();return e===wn||e===An}return e===zi.SVG&&(t===Yi.FOREIGN_OBJECT||t===Yi.DESC||t===Yi.TITLE)}(t,e,r)||(!i||i===zi.MATHML)&&function(t,e){return e===zi.MATHML&&(t===Yi.MI||t===Yi.MO||t===Yi.MN||t===Yi.MS||t===Yi.MTEXT)}(t,e)}var Sn;!function(t){t[t.INITIAL=0]="INITIAL",t[t.BEFORE_HTML=1]="BEFORE_HTML",t[t.BEFORE_HEAD=2]="BEFORE_HEAD",t[t.IN_HEAD=3]="IN_HEAD",t[t.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",t[t.AFTER_HEAD=5]="AFTER_HEAD",t[t.IN_BODY=6]="IN_BODY",t[t.TEXT=7]="TEXT",t[t.IN_TABLE=8]="IN_TABLE",t[t.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",t[t.IN_CAPTION=10]="IN_CAPTION",t[t.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",t[t.IN_TABLE_BODY=12]="IN_TABLE_BODY",t[t.IN_ROW=13]="IN_ROW",t[t.IN_CELL=14]="IN_CELL",t[t.IN_SELECT=15]="IN_SELECT",t[t.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",t[t.IN_TEMPLATE=17]="IN_TEMPLATE",t[t.AFTER_BODY=18]="AFTER_BODY",t[t.IN_FRAMESET=19]="IN_FRAMESET",t[t.AFTER_FRAMESET=20]="AFTER_FRAMESET",t[t.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",t[t.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"}(Sn||(Sn={})),new Set([Yi.TABLE,Yi.TBODY,Yi.TFOOT,Yi.THEAD,Yi.TR]),new Set([Yi.CAPTION,Yi.COL,Yi.COLGROUP,Yi.TBODY,Yi.TD,Yi.TFOOT,Yi.TH,Yi.THEAD,Yi.TR]);const Tn=new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]);function Cn(t,e){return function(r){let i,n=0,s="";for(;i=t.exec(r);)n!==i.index&&(s+=r.substring(n,i.index)),s+=e.get(i[0].charCodeAt(0)),n=i.index+1;return s+r.substring(n)}}String.prototype.codePointAt,Cn(/[&<>'"]/g,Tn);const Rn=Cn(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]])),kn=Cn(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]));new Set([qi.AREA,qi.BASE,qi.BASEFONT,qi.BGSOUND,qi.BR,qi.COL,qi.EMBED,qi.FRAME,qi.HR,qi.IMG,qi.INPUT,qi.KEYGEN,qi.LINK,qi.META,qi.PARAM,qi.SOURCE,qi.TRACK,qi.WBR]);var Nn=r(8310);class Bn extends Nn.Writable{_write(t,e,r){r()}}const On=Yi;class Pn{constructor(t,e){this.handler=e,this.namespaceStack=[],this.inForeignContent=!1,this.skipNextNewLine=!1,this.tokenizer=new dn(t,this),this._enterNamespace(zi.HTML)}onNullCharacter(t){this.skipNextNewLine=!1,this.inForeignContent?this.handler.onCharacter({type:Oi.CHARACTER,chars:"�",location:t.location}):this.handler.onNullCharacter(t)}onWhitespaceCharacter(t){if(this.skipNextNewLine&&10===t.chars.charCodeAt(0)){if(this.skipNextNewLine=!1,1===t.chars.length)return;t.chars=t.chars.substr(1)}this.handler.onWhitespaceCharacter(t)}onCharacter(t){this.skipNextNewLine=!1,this.handler.onCharacter(t)}onComment(t){this.skipNextNewLine=!1,this.handler.onComment(t)}onDoctype(t){this.skipNextNewLine=!1,this.handler.onDoctype(t)}onEof(t){this.skipNextNewLine=!1,this.handler.onEof(t)}_enterNamespace(t){this.namespaceStack.unshift(t),this.inForeignContent=t!==zi.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_leaveCurrentNamespace(){this.namespaceStack.shift(),this.inForeignContent=this.namespaceStack[0]!==zi.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_ensureTokenizerMode(t){switch(t){case On.TEXTAREA:case On.TITLE:this.tokenizer.state=en.RCDATA;break;case On.PLAINTEXT:this.tokenizer.state=en.PLAINTEXT;break;case On.SCRIPT:this.tokenizer.state=en.SCRIPT_DATA;break;case On.STYLE:case On.IFRAME:case On.XMP:case On.NOEMBED:case On.NOFRAMES:case On.NOSCRIPT:this.tokenizer.state=en.RAWTEXT}}onStartTag(t){let e=t.tagID;switch(e){case On.SVG:this._enterNamespace(zi.SVG);break;case On.MATH:this._enterNamespace(zi.MATHML)}if(this.inForeignContent)if(function(t){const e=t.tagID;return e===Yi.FONT&&t.attrs.some(({name:t})=>t===Vi.COLOR||t===Vi.SIZE||t===Vi.FACE)||_n.has(e)}(t))this._leaveCurrentNamespace();else{const r=this.namespaceStack[0];r===zi.MATHML?function(t){for(let e=0;e<t.attrs.length;e++)if("definitionurl"===t.attrs[e].name){t.attrs[e].name="definitionURL";break}}(t):r===zi.SVG&&(xn(t),function(t){for(let e=0;e<t.attrs.length;e++){const r=bn.get(t.attrs[e].name);null!=r&&(t.attrs[e].name=r)}}(t)),function(t){for(let e=0;e<t.attrs.length;e++){const r=En.get(t.attrs[e].name);r&&(t.attrs[e].prefix=r.prefix,t.attrs[e].name=r.name,t.attrs[e].namespace=r.namespace)}}(t),e=t.tagID,!t.selfClosing&&In(e,r,t.attrs)&&this._enterNamespace(zi.HTML)}else{switch(e){case On.PRE:case On.TEXTAREA:case On.LISTING:this.skipNextNewLine=!0;break;case On.IMAGE:t.tagName=qi.IMG,t.tagID=On.IMG}this._ensureTokenizerMode(e)}this.handler.onStartTag(t)}onEndTag(t){let e=t.tagID;if(this.inForeignContent)(e===On.SVG&&this.namespaceStack[0]===zi.SVG||e===On.MATH&&this.namespaceStack[0]===zi.MATHML)&&this._leaveCurrentNamespace();else{const r=this.namespaceStack[1];if(r===zi.SVG){const r=vn.get(t.tagName);r&&(e=Xi(r))}In(e,r,t.attrs)&&this._leaveCurrentNamespace()}this.namespaceStack[0]===zi.SVG&&xn(t),this.handler.onEndTag(t)}}class Dn extends Nn.Transform{constructor(t={}){super({encoding:"utf8",decodeStrings:!1}),this.pendingText=null,this.lastChunkWritten=!1,this.stopped=!1,this.options={sourceCodeLocationInfo:!1,...t},this.parserFeedbackSimulator=new Pn(this.options,this),this.tokenizer=this.parserFeedbackSimulator.tokenizer,this.pipe(new Bn)}_transform(t,e,r){if("string"!=typeof t)throw new TypeError("Parser can work only with string streams.");r(null,this._transformChunk(t))}_final(t){this.lastChunkWritten=!0,t(null,this._transformChunk(""))}stop(){this.stopped=!0,this.tokenizer.pause()}_transformChunk(t){return this.stopped||this.tokenizer.write(t,this.lastChunkWritten),t}onCharacter({chars:t,location:e}){if(null===this.pendingText)this.pendingText={text:t,sourceCodeLocation:e};else if(this.pendingText.text+=t,e&&this.pendingText.sourceCodeLocation){const{endLine:t,endCol:r,endOffset:i}=e;this.pendingText.sourceCodeLocation={...this.pendingText.sourceCodeLocation,endLine:t,endCol:r,endOffset:i}}this.tokenizer.preprocessor.willDropParsedChunk()&&this._emitPendingText()}onWhitespaceCharacter(t){this.onCharacter(t)}onNullCharacter(t){this.onCharacter(t)}onEof(){this._emitPendingText(),this.stopped=!0}onStartTag(t){this._emitPendingText();const e={tagName:t.tagName,attrs:t.attrs,selfClosing:t.selfClosing,sourceCodeLocation:t.location};this.emitIfListenerExists("startTag",e)}onEndTag(t){this._emitPendingText();const e={tagName:t.tagName,sourceCodeLocation:t.location};this.emitIfListenerExists("endTag",e)}onDoctype(t){this._emitPendingText();const e={name:t.name,publicId:t.publicId,systemId:t.systemId,sourceCodeLocation:t.location};this.emitIfListenerExists("doctype",e)}onComment(t){this._emitPendingText();const e={text:t.data,sourceCodeLocation:t.location};this.emitIfListenerExists("comment",e)}emitIfListenerExists(t,e){return 0!==this.listenerCount(t)&&(this._emitToken(t,e),!0)}_emitToken(t,e){this.emit(t,e)}_emitPendingText(){null!==this.pendingText&&(this.emitIfListenerExists("text",this.pendingText),this.pendingText=null)}}class Ln extends Dn{constructor(){super({sourceCodeLocationInfo:!0})}_transformChunk(t){return super._transformChunk(t),""}_getRawHtml(t){const{droppedBufferSize:e,html:r}=this.tokenizer.preprocessor,i=t.startOffset-e,n=t.endOffset-e;return r.slice(i,n)}emitIfListenerExists(t,e){return super.emitIfListenerExists(t,e)||this.emitRaw(this._getRawHtml(e.sourceCodeLocation)),this.parserFeedbackSimulator.skipNextNewLine=!1,!0}_emitToken(t,e){this.emit(t,e,this._getRawHtml(e.sourceCodeLocation))}emitDoctype(t){let e=`<!DOCTYPE ${t.name}`;null!==t.publicId?e+=` PUBLIC "${t.publicId}"`:null!==t.systemId&&(e+=" SYSTEM"),null!==t.systemId&&(e+=` "${t.systemId}"`),e+=">",this.push(e)}emitStartTag(t){let e=`<${t.tagName}`;for(const r of t.attrs)e+=` ${r.name}="${Rn(r.value)}"`;e+=t.selfClosing?"/>":">",this.push(e)}emitEndTag(t){this.push(`</${t.tagName}>`)}emitText({text:t}){var e;this.push(!this.parserFeedbackSimulator.inForeignContent&&(e=this.tokenizer.lastStartTagName,Zi.has(e)||e===qi.NOSCRIPT)?t:kn(t))}emitComment(t){this.push(`\x3c!--${t.text}--\x3e`)}emitRaw(t){this.push(t)}}const Un=new TextEncoder,Mn=new TextDecoder,Fn=/([\d.]+\s*;\s*(?:url\s*=)?\s*)['"]?(.+)['"]?(\s*)/im,Hn=["http://","https://","//"],jn="mp_",Wn=["utf-8","utf8"],Qn={a:{href:"ln_"},applet:{codebase:"oe_",archive:"oe_"},area:{href:jn},audio:{src:"oe_"},base:{href:jn},blockquote:{cite:jn},body:{background:"im_"},button:{formaction:jn},command:{icon:"im_"},del:{cite:jn},embed:{src:"oe_"},iframe:{src:"if_"},image:{src:"im_","xlink:href":"im_",href:"im_"},img:{src:"im_",srcset:"im_"},ins:{cite:jn},input:{src:"im_",formaction:jn},form:{action:jn},frame:{src:"fr_"},link:{href:"oe_"},meta:{content:"mt_"},object:{codebase:"oe_",data:"oe_"},param:{value:"oe_"},q:{cite:jn},ref:{href:"oe_"},script:{src:"js_","xlink:href":"js_"},source:{src:"oe_",srcset:"oe_"},video:{src:"oe_",poster:"im_"}},zn=[{match:/youtube.com\/v\/([^&]+)[&]/,replace:"youtube.com/embed/$1?"}],Vn=[{urlMatch:/[?&]:loadOrderID=([\d]+)/,match:/(loadOrderID&(quot;&)?#x[^;]+?;)([\d]+)/gi,replace:"$1$U1"}];class Gn{rewriter;rule=null;ruleMatch=null;isCharsetUTF8;detectedCharset="";jsOpts;constructor(t){this.rewriter=t,this.rule=null,this.jsOpts={baseUrl:t.baseUrl,prefix:t.prefix};for(const t of Vn){const e=this.rewriter.url.match(t.urlMatch);if(e){this.ruleMatch=e,this.rule=t;break}}this.isCharsetUTF8=t.isCharsetUTF8}detectMetaCharset(t){t.length>1024&&(t=t.slice(0,1024));const e=new TextDecoder("latin1").decode(t),r=e.match(/<meta[^>]*charset\s*=\s*["']?([^"'\s>/]+)["']?[^>]*>/i);if(r?.[1])return r[1].toLowerCase();const i=e.match(/<meta[^>]*http-equiv\s*=\s*["']?content-type["']?[^>]*content\s*=\s*["']?[^"']*charset\s*=\s*([^"'\s>/;]+)[^>]*>/i);return i?.[1]?i[1].toLowerCase():""}rewriteMetaContent(t,e,r){let i=this.getAttr(t,"http-equiv");if(i&&(i=i.toLowerCase()),"content-security-policy"===i)e.name="_"+e.name;else{if("refresh"===i)return e.value.replace(Fn,(t,e,i,n)=>e+this.rewriteUrl(r,i,!1,"mt_")+n);if("referrer"===this.getAttr(t,"name"))return"no-referrer-when-downgrade";if(p(e.value,Hn))return this.rewriteUrl(r,e.value)}return e.value}rewriteSrcSet(t,e){const r=/\s*(\S*\s+[\d.]+[wx]),|(?:\s*,(?:\s+|(?=https?:)))/,i=[];for(const n of t.split(r))if(n){const t=n.trim().split(" ");t[0]=this.rewriteUrl(e,t[0]),i.push(t.join(" "))}return i.join(", ")}rewriteTagAndAttrs(t,e,r){const i=t=>p(t,Hn),n=t.tagName;if(n.indexOf("-")>0)return"";let s="";const o=e=>{"iframe"===e&&(t.selfClosing&&(t.selfClosing=!1,s=e),t.attrs.push({name:"style",value:"border: none"})),t.tagName=e};for(const s of t.attrs){const a=s.name||"",l=s.value||"";if(l.startsWith("javascript:"))s.value="javascript:"+r.rewriteJS(l.slice(11),{inline:!0,...this.jsOpts});else if(a.startsWith("on")&&"-"!=a.slice(2,3))s.value=r.rewriteJS(l,{inline:!0,...this.jsOpts});else if("style"===a)s.value=r.rewriteCSS(s.value);else if("background"===a)s.value=this.rewriteUrl(r,l);else if("srcset"===a||"imagesrcset"===a&&"link"===n)s.value=this.rewriteSrcSet(l,r);else if("crossorigin"===a||"integrity"===a||"download"===a)s.name="_"+s.name;else if("meta"===n&&"content"===a)s.value=this.rewriteMetaContent(t.attrs,s,r);else if("meta"===n&&"charset"===a)l&&Wn.includes(l.toLowerCase())&&(this.isCharsetUTF8=!0);else if("param"===n&&i(l))s.value=this.rewriteUrl(r,s.value);else if(a.startsWith("data-")&&i(l))s.value=this.rewriteUrl(r,s.value);else if("base"===n&&"href"===a)try{s.value=this.rewriter.updateBaseUrl(s.value)}catch(t){console.warn("Invalid <base>: "+s.value)}else if("script"===n&&"src"===a){const e="module"===this.getScriptRWType(t)?"esm_":"",i=this.rewriteUrl(r,s.value,!1,e);i===s.value?(t.attrs.push({name:"__wb_orig_src",value:s.value}),s.value&&s.value.startsWith("data:text/javascript;base64")?s.value=this.rewriteJSBase64(s.value,r):s.value=this.rewriteUrl(r,s.value,!0,e)):s.value=i}else if("object"===n&&"data"===a){const e=this.getAttr(t.attrs,"type");if("application/pdf"===e)s.name="src",s.value=this.rewriteUrl(r,s.value,!1,"if_"),o("iframe");else if("image/svg+xml"===e)s.name="src",s.value=this.rewriteUrl(r,s.value),o("img");else if("application/x-shockwave-flash"===e)for(const t of zn){const e=s.value.replace(t.match,t.replace);if(e!==s.value){s.name="src",s.value=this.rewriteUrl(r,e,!1,"if_"),o("iframe");break}}}else if("embed"===n&&"src"===a){const e=this.getAttr(t.attrs,"type")||"";e.startsWith("image/")?(o("img"),s.value=this.rewriteUrl(r,l,!1,"mp_")):"application/pdf"!==e&&e.startsWith("application/")||(o("iframe"),s.value=this.rewriteUrl(r,l,!1,"if_"),"application/pdf"!==e&&t.attrs.push({name:"sandbox",value:"allow-same-origin allow-scripts"}))}else if("target"===a){const t=s.value;"_blank"!==t&&"_parent"!==t&&"_top"!==t&&"new"!==t||(s.value=c)}else(e[a]||"href"===a||"src"===a)&&(s.value=this.rewriteUrl(r,s.value,!1,e[a]))}return s}getAttr(t,e){for(const r of t)if(r.name===e)return r.value;return null}getScriptRWType(t){const e=this.getAttr(t.attrs,"type");return"module"===e?"module":"application/json"===e?"json":!e||e.indexOf("javascript")>=0||e.indexOf("ecmascript")>=0?"js":e.startsWith("text/")?"text":"importmap"===e?"importmap":""}async rewrite(t){let e=await t.getBuffer();if(!e)return t;if(e.length>5e7)return console.warn("Skipping rewriting, HTML file too big: "+e.length),t;const{bomFound:r,text:i}=await t.getText(this.isCharsetUTF8,!0);r&&(e=(new TextEncoder).encode(i),this.isCharsetUTF8=!0),this.isCharsetUTF8||this.rewriter.isCharsetDetected||(this.detectedCharset=this.detectMetaCharset(e),Wn.includes(this.detectedCharset)&&(this.isCharsetUTF8=!0));const n=this.rewriter,s=new Ln;s.tokenizer.preprocessor.bufferWaterline=1/0;let o=!1,c=!1,l=!0,h="",u="",p="";const d=()=>{if(!o&&n.headInsertFunc){this.detectedCharset&&s.emitRaw(`<meta charset="${this.detectedCharset}"/>`);const t=n.headInsertFunc(n.url);t&&s.emitRaw(t),o=!0}};s.on("startTag",t=>{const e=Qn[t.tagName],r=t.tagName,i=this.rewriteTagAndAttrs(t,e||{},n);switch(o||["head","html"].includes(t.tagName)||d(),s.emitStartTag(t),i&&s.emitEndTag({tagName:i}),t.tagName){case"script":if(t.selfClosing)break;h=t.tagName,l=!0,u=this.getScriptRWType(t);break;case"style":t.selfClosing||(h=t.tagName);break;case"head":d();break;case"body":c=!0}t.tagName!==r&&(h=r,p=t.tagName)}),s.on("endTag",t=>{if(t.tagName===h){switch(p&&(t.tagName=p,p=""),h){case"head":c=!0;break;case"script":c&&!l&&"js"===u&&s.emitRaw(";document.close();")}h=""}s.emitEndTag(t)}),s.on("text",(t,e)=>{const r=(()=>{if("script"===h){const e="module"===u;return l=l&&0===t.text.trim().length,"js"===u||e?n.rewriteJS(t.text,{isModule:e,...this.jsOpts}):"json"===u?n.rewriteJSON(t.text,{isModule:e,...this.jsOpts}):"importmap"===u?n.rewriteImportmap(t.text):t.text}return"style"===h?n.rewriteCSS(t.text):this.rewriteHTMLText(e)})();for(let t=0;t<r.length;t+=a)s.emitRaw(r.slice(t,t+a))});const f=this;return t.setReader(new ReadableStream({async start(t){s.on("data",e=>{t.enqueue(f.isCharsetUTF8?Un.encode(e):A(e))}),s.on("end",()=>{t.close()}),f.isCharsetUTF8?s.write(Mn.decode(e),"utf8"):s.write(w(e),"latin1"),d(),s.end()}})),t}rewriteUrl(t,e,r=!1,i=""){this.isCharsetUTF8||(e=Mn.decode(A(e)));const n=t.rewriteUrl(e,r);return i&&i!==jn&&"ln_"!==i&&"mt_"!==i?n.replace("mp_/",i+"/"):n}rewriteHTMLText(t){if(this.rule&&this.ruleMatch){const e=this.rule.replace.replace("$U1",this.ruleMatch[1]),r=t.replace(this.rule.match,e);if(t!==r)return r}return t}rewriteJSBase64(t,e){const r=t.split(","),i=e.rewriteJS(atob(r[1]),{isModule:!1,...this.jsOpts});return r[1]=btoa(i),r.join(",")}}class qn extends Gn{rewriteUrl(t,e,r=!1,i=""){return"if_"===i||"fr_"===i||"mt_"===i?t.fullRewriteUrl(e,r):"ln_"===i?(this.isCharsetUTF8||(e=Mn.decode(A(e))),t.rewriteUrl(e,r)):t.httpToHttps?t.rewriteUrl(e,r):e}rewriteTagAndAttrs(t,e,r){const i=r;if(i.httpToHttps)return super.rewriteTagAndAttrs(t,e,r);const n=t.tagName;if("embed"===n||"object"===n)return super.rewriteTagAndAttrs(t,e,r);if(n.indexOf("-")>0)return"";for(const s of t.attrs){const o=s.name||"",a=s.value||"";"meta"===n&&"content"===o?s.value=this.rewriteMetaContent(t.attrs,s,r):(e[o]||"href"===o||"src"===o)&&(s.value=this.rewriteUrl(r,a,!1,e[o])),i.rewriteRelCanonical&&"link"===n&&"href"===o&&a&&"canonical"===this.getAttr(t.attrs,"rel")&&(s.value=i.rewriteUrl(s.value))}return""}}var Yn=r(8287);const Kn=new TextEncoder,Xn=new TextDecoder;class Jn{static fromResponse({url:t,response:e,date:r,noRW:i,isLive:n,archivePrefix:s}){const o=e.body?new St(e.body.getReader(),null,!1):null,a=Number(e.headers.get("x-redirect-status")||e.status),c=e.headers.get("x-redirect-statusText")||e.statusText,l=new Headers(e.headers);let h=l.get("x-orig-location");if(h){if(h.startsWith(self.location.origin)&&(h=h.slice(self.location.origin.length)),s&&h.startsWith(s)){const t=h.indexOf("/http");t>0&&(h=h.slice(t+1))}l.set("location",h),l.delete("x-orig-location"),l.delete("x-redirect-status"),l.delete("x-redirect-statusText")}let u=null;const p=l.get("x-orig-ts");p&&(r=f(p),l.delete("x-orig-ts"),p&&h&&(u=p));const d=l.get("memento-datetime");d&&(r=new Date(d));const g=l.get("x-proxy-set-cookie");if(g){const t=[];g.split(",").forEach(e=>{const r=e.split(";",1)[0].trim();r.indexOf("=")>0&&t.push(r)}),l.delete("x-proxy-set-cookie"),t.length&&l.set("x-wabac-preset-cookie",t.join(";"))}return new Jn({payload:o,status:a,statusText:c,headers:l,url:t,date:r,noRW:i,isLive:n,updateTS:u})}reader;buffer;status;statusText;url;date;extraOpts;headers;noRW;isLive;updateTS;clonedResponse=null;constructor({payload:t,status:e,statusText:r,headers:i,url:n,date:s,extraOpts:o=null,noRW:a=!1,isLive:c=!1,updateTS:l=null}){this.reader=null,this.buffer=null,t&&t instanceof It?this.reader=t:this.buffer=t,this.status=e,this.statusText=r||x(e),this.headers=i,this.url=n,this.date=s,this.extraOpts=o,this.noRW=a,this.isLive=c,this.updateTS=l}async getText(t=!1,e=!1){const r=await this.getBuffer();return"string"==typeof r?{bomFound:!1,text:r}:r?239===r[0]&&187===r[1]&&191===r[2]?{bomFound:!0,text:Xn.decode(r.slice(3))}:254===r[0]&&255===r[1]?{bomFound:!0,text:Yn.Buffer.from(r.slice(2)).swap16().toString("utf16le")}:255===r[0]&&254===r[1]?{bomFound:!0,text:Yn.Buffer.from(r.slice(2)).toString("utf16le")}:{bomFound:!1,text:e?"":t?Xn.decode(r):w(r)}:{bomFound:!1,text:""}}setText(t,e=!1){this.setBuffer(e?Kn.encode(t):A(t))}async getBuffer(){return this.buffer||!this.reader||(this.buffer=await this.reader.readFully()),this.buffer}setBuffer(t){this.buffer=t,this.reader=null}setReader(t){t instanceof It?(this.reader=t,this.buffer=null):t.getReader&&(this.reader=new St(t.getReader()),this.buffer=null)}setRange(t){if(206===this.status){const t=this.headers.get("Content-Range");if(t&&!t.startsWith("bytes 0-"))return!1}const e=t.match(/^bytes=(\d+)-(\d+)?$/);let r=0;if(this.buffer)r=this.buffer.length;else if(this.reader&&(r=Number(this.headers.get("content-length")),!r))return!1;if(!e)return this.status=416,this.statusText="Range Not Satisfiable",this.headers.set("Content-Range",`*/${r}`),!1;const i=Number(e[1]),n=Number(e[2])||r-1;return!!this.setRawRange(i,n)&&(this.headers.set("Content-Range",`bytes ${i}-${n}/${r}`),this.headers.set("Content-Length",String(n-i+1)),this.status=206,this.statusText="Partial Content",!0)}setRawRange(t,e){const r=this.reader;return this.buffer?(this.buffer=this.buffer.slice(t,e+1),!0):!!r?.setLimitSkip&&(r.setLimitSkip(e-t+1,t),!0)}makeResponse(t=!1,e=!1){let r=null;_(this.status)||(r=this.buffer||!this.reader?this.buffer:this.reader.getReadableStream());const i=new Response(r,{status:this.status,statusText:this.statusText,headers:this.headers});return i.date=this.date,t&&(i.headers.set("Cross-Origin-Opener-Policy","same-origin"),i.headers.set("Cross-Origin-Embedder-Policy","require-corp")),e&&i.headers.set("content-disposition","inline"),i}}const Zn=/(url\s*\(\s*[\\"']*)([^)'"]+)([\\"']*\s*\)?)/gi,$n=/(@import\s*[\\"']*)([^)'";]+)([\\"']*\s*;?)/gi,ts=/WB_wombat_/g,es=/^(?:\s*(?:(?:\/\*[^*]*\*\/)|(?:\/\/[^\n]+[\n])))*\s*([\w.]+)\([{[]/,rs=/[?].*(?:callback|jsonp)=([^&]+)/i,is=new fe(class extends ge{extraRules;firstBuff;lastBuff;constructor(t=[]){super(),this.extraRules=t,this.firstBuff=this.initLocalDecl(fi),this.lastBuff="\n\n}"}initLocalDecl(t){const e="_____WB$wombat$assign$function_____";let r=`var ${e} = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n{\n`;for(const i of t)r+=`let ${i} = ${e}("${i}");\n`;return r+="let arguments;\n",r+"\n"}getModuleDecl(t,e){return`import { ${t.join(", ")} } from "${e}__wb_module_decl.js";\n`}detectModuleOrStrict(t){return t.indexOf("import")>=0&&t.match(hi)?"module":t.indexOf('"use strict";')>=0?"strict":t.indexOf("export")>=0&&t.match(ui)?"module":"lax"}parseGlobals(t,e){const r=sr.parse(t,{ecmaVersion:"latest"});let i=!1;const n=[],s=new Set,o=[];let a=-1;for(const t of r.body){const{type:r,start:c}=t;if("VariableDeclaration"===r){const{kind:r,declarations:i}=t;for(const t of i)if("Identifier"===t.id.type){const i=t.id.name;e.includes(i)?s.add(i):"const"!==r&&"let"!==r||(n.push({name:i,kind:r}),"let"===r&&(a!==c&&o.unshift(c),a=c))}}else if("ClassDeclaration"===r){if(t.id.name){const e=t.id.name;n.push({name:e,kind:"const"})}}else if(!i&&"ExpressionStatement"===r){const{expression:e}=t;if("CallExpression"===e.type){const{callee:t}=e;if("MemberExpression"===t.type){const{object:e,property:r}=t;"Identifier"===e.type&&"document"===e.name&&"Identifier"===r.type&&"write"===r.name&&(i=!0)}}}}if(s.size){const t=fi.filter(t=>!s.has(t));this.firstBuff=this.initLocalDecl(t)}return i&&(this.lastBuff=";document.close();"+this.lastBuff),{names:n,letOffsets:o}}rewrite(t,e){if(void 0===e.isModule)switch(this.detectModuleOrStrict(t)){case"module":e.isModule=!0,e.isStrict=!0;break;case"strict":e.isModule=!1,e.isStrict=!0}else e.isModule&&(e.isStrict=!0);let r=wi;e.isModule&&(r=[...r,this.getESMImportRule()]),this.extraRules.length?this.rules=[...r,...this.extraRules]:this.rules=r,this.compileRules();let i=super.rewrite(t,e);if(e.isModule)return this.getModuleDecl(fi,e.prefix||"")+(e.moduleInsert||"")+i;const n=!!yi.exec(t);e.inline&&(i=i.replace(/\n/g," "));const s=e.isWorker;if(s&&-1===t.indexOf("location"))return i;if(n){let r=this.firstBuff,n=fi;s&&(r="{ const location = self._WB_wombat_location || self.location;\n",n=gi);let o="",a="",c="";if(i)try{const{names:t,letOffsets:e}=this.parseGlobals(i,n);for(const t of e)i=i.slice(0,t)+i.slice(t+3);for(const{name:e,kind:r}of t)if("const"===r){const t=`self.___WB_const_${e}`;a+=`${t} = ${e};\n`,c+=`${r} ${e} = ${t}; delete ${t};\n`}else"let"===r&&(o+=`let ${e};\n`);a&&(a="\n;"+a),c&&(c="\n"+c)}catch(t){console.warn(`acorn parsing failed, script len ${i.length}`)}i=o+r+i+a+this.lastBuff+c,e.inline&&(i=i.replace(/\n/g," "))}return i}getESMImportRule(){return[pi,(t,e)=>{const r=(e.prefix||"").replace("mp_/","esm_/");return t.replace(di,(t,i,n,s)=>{try{n=new URL(n,e.baseUrl).href,n=r+n}catch(t){}return i+n+s})}]}}),ns=new fe(ge),ss=(new fe(ge,ae),["if_","fr_","ln_","oe_","mt_"]);class os{urlRewrite;contentRewrite;baseUrl;dsRules;decode;prefix="";originPrefix="";relPrefix="";schemeRelPrefix="";scheme;url;responseUrl;isCharsetUTF8;isCharsetDetected=!1;headInsertFunc;workerInsertFunc;_jsonpCallback;constructor({baseUrl:t,prefix:e,responseUrl:r,workerInsertFunc:i=null,headInsertFunc:n=null,urlRewrite:s=!0,contentRewrite:o=!0,decode:a=!0,useBaseRules:c=!1}){if(this.urlRewrite=s,this.contentRewrite=o,this.dsRules=s&&!c?is:ns,this.decode=a,this.prefix=e||"",this.prefix&&s){const t=new URL(this.prefix);this.originPrefix=t.origin,this.relPrefix=t.pathname,this.schemeRelPrefix=this.prefix.slice(t.protocol.length)}const l=new URL(r||t);this.scheme=l.protocol,t.startsWith("//")&&(t=this.scheme+t),this.url=this.baseUrl=t,this.headInsertFunc=n,this.workerInsertFunc=i,this.responseUrl=r||t,this.isCharsetUTF8=!1,this._jsonpCallback=null}getRewriteMode(t,e,r="",i=""){if(!i&&e){const t=(i=e.headers.get("Content-Type")||"").split(";");i=t[0],t.length>1&&(this.isCharsetUTF8="utf8"===t[1].trim().toLowerCase().replace("charset=","").replace("-",""),this.isCharsetDetected=!0)}if(i=i.toLowerCase(),"esm_"===t.mod&&(this.isCharsetUTF8=!0),t)switch(t.destination){case"style":return"css";case"script":return this.getScriptRewriteMode(i,r,t.mod,"js");case"worker":return"js-worker"}switch(i){case"text/html":return t.destination||"application/json"!==t.headers.get("Accept")?"html":"json";case"text/css":return"css";case"application/x-mpegurl":case"application/vnd.apple.mpegurl":return"hls";case"application/dash+xml":return"dash";case"":if(this.isGuessHtml(t,e))return"html";default:return this.getScriptRewriteMode(i,r,t.mod,"")}}isGuessHtml(t,e){if(t.destination&&"document"!==t.destination&&"iframe"!==t.destination)return!1;if(e.buffer)try{const t=(new TextDecoder).decode(e.buffer.slice(0,1024));if(/<\s*html/i.exec(t))return!0}catch(t){return!1}return!1}getScriptRewriteMode(t,e,r="",i=""){switch(t){case"text/javascript":case"application/javascript":case"application/x-javascript":return this.parseJSONPCallback(e)?"jsonp":e.endsWith(".json")?"json":"wkr_"===r||"wkrm_"===r?"js-worker":"js";case"application/json":return"json";default:return i}}async rewrite(t,e){const r=this.contentRewrite?this.getRewriteMode(e,t,this.baseUrl):null,i=I(e),n=this.urlRewrite&&!i,s=this.rewriteHeaders(t.headers,this.urlRewrite,!!r,i),o=t.headers.get("content-encoding"),a=t.headers.get("transfer-encoding");t.headers=s,this.decode&&(o||a)&&(t=await async function(t,e,r,i){if(t.reader&&i&&("gzip"===e&&!r||!e&&"gzip"===r))return t.setReader(new St(t.reader)),t;const n=await t.getBuffer()||[],s=new Uint8Array(n),o=await $t(s,e,r);return s!==o&&t.setBuffer(o),t}(t,o,a,null===r));const c={response:t,prefix:this.prefix,baseUrl:this.baseUrl};let l=null;switch(r){case"html":if(n)return await this.rewriteHtml(t);break;case"css":this.urlRewrite&&(l=this.rewriteCSS);break;case"js":l=this.rewriteJS,"esm_"===e.mod&&(c.isModule=!0);break;case"json":l=this.rewriteJSON;break;case"js-worker":"wkrm_"!==e.mod&&"esm_"!==e.mod||(c.isModule=!0),l=this.rewriteJSWorker;break;case"jsonp":l=this.rewriteJSONP;break;case"hls":l=re;break;case"dash":l=ne}if(n&&(c.rewriteUrl=t=>this.rewriteUrl(t)),l){let{bomFound:e,text:r}=await t.getText(this.isCharsetUTF8);if(r=l.call(this,r,c),e&&!this.isCharsetUTF8){let t=s.get("Content-Type")||"";const e=t.split(";");t=e[0],t&&s.set("Content-Type",t+"; charset=utf-8"),this.isCharsetUTF8=!0}t.setText(r,this.isCharsetUTF8)}else{const r=le(e.url);if(r){const i=new URL(e.url),n=parseInt(i.searchParams.get(r.start)||""),s=parseInt(i.searchParams.get(r.end)||"");if(!isNaN(n)&&!isNaN(s)){const e=Number(t.headers.get("Content-Length")),r=s-n+1;e!==r&&(isNaN(e)||e>r)&&t.setRawRange(n,s)&&t.headers.set("Content-Length",String(r))}}}return t}updateBaseUrl(t){if(this.originPrefix&&t.startsWith(this.originPrefix)){const e=t.indexOf("/http");e>=0&&(t=t.slice(e+1))}if(this.baseUrl=new URL(t,this.baseUrl).href,t&&this.baseUrl!=t)try{t=new URL(t).href}catch(e){t.startsWith("//")&&(t=(t=new URL("https:"+t).href).slice(6))}return this.rewriteUrl(t)}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(const r of e)if(t.startsWith(r))return!1;return!0}rewriteUrl(t,e=!1){if(!this.urlRewrite)return t;const r=t;return(t=t.trim()).startsWith("\\")&&(t=t.replace(/\\(?![//])/g,"/")),!t||!this.isRewritableUrl(t)||t.startsWith(this.prefix)||t.startsWith(this.relPrefix)?r:t.startsWith("http:")||t.startsWith("https:")||t.startsWith("https\\3a/")?this.prefix+t:t.startsWith("//")||t.startsWith("\\/\\/")?this.schemeRelPrefix+t:t.startsWith("/")?(t=new URL(t,this.baseUrl).href,this.relPrefix+t):e||t.indexOf("../")>=0?(t=new URL(t,this.baseUrl).href,this.prefix+t):r}async rewriteHtml(t){return new Gn(this).rewrite(t)}rewriteCSS(t){const e=this;function r(t,r,i,n){return i=i.trim(),r+e.rewriteUrl(i)+n}return t.replace(Zn,r).replace($n,r).replace(ts,"")}rewriteJS(t,e){const r=e&&!e.rewriteUrl&&void 0===e.isModule&&!e.inline,i=r?ns:this.dsRules,n=i.getRewriter(this.baseUrl);return n===i.defaultRewriter&&r?t:n.rewrite(t,e)}rewriteJSWorker(t,e){e.isWorker=!0;const r=this.workerInsertFunc(e.isModule??!1);return e.isModule?(e.moduleInsert=r,this.rewriteJS(t,e)):r+this.rewriteJS(t,e)}rewriteJSON(t,e){t=this.rewriteJSONP(t);const r=ns.getRewriter(this.baseUrl);return r!==ns.defaultRewriter?r.rewrite(t,e):t}rewriteImportmap(t){const e=t=>this.rewriteUrl(t).replace("mp_/","esm_/");try{const r=JSON.parse(t),i={},n={imports:i};for(const[t,n]of Object.entries(r.imports||{}))i[e(t)]=e(n);if(r.scopes){const t={};for(const[i,n]of Object.entries(r.scopes)){const r={};for(const[t,i]of Object.entries(n))r[e(t)]=e(i);t[e(i)]=r}n.scopes=t}return JSON.stringify(n,null,2)}catch(e){return console.warn("Error parsing importmap",e),t}}parseJSONPCallback(t){const e=t.match(rs);return e&&"?"!==e[1]?(this._jsonpCallback=e[1],!0):(this._jsonpCallback=!1,!1)}rewriteJSONP(t){const e=t.match(es);return e?(null===this._jsonpCallback&&this.parseJSONPCallback(this.baseUrl),!1===this._jsonpCallback?t:this._jsonpCallback+t.slice(t.indexOf(e[1])+e[1].length)):t}rewriteHeaders(t,e,r,i){const n={"access-control-allow-origin":"prefix-if-url-rewrite","access-control-allow-credentials":"prefix-if-url-rewrite","access-control-expose-headers":"prefix-if-url-rewrite","access-control-max-age":"prefix-if-url-rewrite","access-control-allow-methods":"prefix-if-url-rewrite","access-control-allow-headers":"prefix-if-url-rewrite","accept-patch":"keep","accept-ranges":"keep",age:"prefix",allow:"keep","alt-svc":"prefix","cache-control":"prefix",connection:"prefix","content-base":"url-rewrite","content-disposition":"keep","content-encoding":"prefix-if-content-rewrite","content-language":"keep","content-length":"content-length","content-location":"url-rewrite","content-md5":"prefix","content-range":"keep","content-security-policy":"prefix","content-security-policy-report-only":"prefix","content-type":"keep",date:"keep",etag:"prefix",expires:"prefix","last-modified":"prefix",link:"link",location:"url-rewrite",p3p:"prefix",pragma:"prefix","proxy-authenticate":"keep","public-key-pins":"prefix","referrer-policy":"prefix","retry-after":"prefix",server:"prefix","set-cookie":"cookie",status:"prefix","strict-transport-security":"prefix",trailer:"prefix","transfer-encoding":"transfer-encoding",tk:"prefix",upgrade:"prefix","upgrade-insecure-requests":"prefix",vary:"prefix",via:"prefix",warning:"prefix","www-authenticate":"keep","x-frame-options":"prefix","x-xss-protection":"prefix","origin-agent-cluster":"prefix"},s="X-Archive-Orig-",o=new Headers;for(let[a,c]of t.entries())switch(n[a]){case"keep":case"cookie":default:o.append(a,c);break;case"url-rewrite":if(e){if("location"===a&&this.url!==this.responseUrl){const t="http:"===this.scheme?"https:":"http:";c===t+this.responseUrl.slice(this.scheme.length)&&(c=t+this.url.slice(this.url.indexOf("//")))}o.append(a,this.rewriteUrl(c))}else o.append(a,c);break;case"prefix-if-content-rewrite":r?o.append(s+a,c):o.append(a,c);break;case"prefix-if-url-rewrite":e?o.append(s+a,c):o.append(a,c);break;case"content-length":if("0"==c){o.append(a,c);continue}if(r)try{if(parseInt(c)>=0){o.append(a,c);continue}}catch(t){}o.append(a,c);break;case"transfer-encoding":case"prefix":o.append(s+a,c);break;case"link":e?o.append(a,this.rewriteLinkHeader(c,i)):o.append(a,c)}return o}rewriteLinkHeader(t,e=!1){try{t=t.replace(e?/<(.*?)>(?=[^,]+rel=["']?(?:preload|modulepreload|stylesheet))/g:/<(.*?)>/g,(t,e)=>"<"+this.rewriteUrl(e)+">")}catch(e){console.warn("Error parsing link header: "+t)}return t}}class as extends os{proxyOrigin;proxyHost;altProxyOrigins;localOrigin;proxyTLD;localTLD;localScheme;httpToHttps;rewriteRelCanonical;constructor(t,e,{rewriteRelCanonical:r=!1}){super(t),this.proxyOrigin=e.proxyOrigin,this.localOrigin=e.localOrigin,this.altProxyOrigins=e.altProxyOrigins,this.proxyTLD=e.proxyTLD||"",this.localTLD=e.localTLD||"";const i=new URL(this.proxyOrigin);this.proxyHost=i.host;const n=new URL(this.localOrigin);this.localScheme=n.protocol,this.httpToHttps=e.httpToHttpsNeeded,this.rewriteRelCanonical=r}rewriteUrl(t){if(t.startsWith(this.proxyOrigin))return this.localOrigin+t.slice(this.proxyOrigin.length);if(this.altProxyOrigins)for(const e of this.altProxyOrigins)if(t.startsWith(e))return this.localOrigin+t.slice(e.length);if(this.proxyTLD&&this.localTLD&&t.indexOf(this.proxyTLD)>0){const e=new URL(t);if(e.host.endsWith(this.proxyTLD)){const t=e.host.slice(0,-this.proxyTLD.length).replace(".","-")+this.localTLD;return this.localScheme+"//"+t+e.href.slice(e.origin.length)}}return this.httpToHttps?t.replace("http:","https:"):t}fullRewriteUrl(t,e=!1){return t.startsWith(this.proxyOrigin)?this.localOrigin+t.slice(this.proxyOrigin.length):t.startsWith("//"+this.proxyHost)?this.localOrigin+t.slice(this.proxyHost.length+2):t.startsWith("https://")||t.startsWith("http://")||t.startsWith("//")?super.rewriteUrl(t,e):t}async rewriteHtml(t){return new qn(this).rewrite(t)}rewriteJS(t,e){return t}rewriteCSS(t){return this.httpToHttps?super.rewriteCSS(t):t}rewriteJSON(t,e){return t}rewriteImportmap(t){return t}updateBaseUrl(t){return t}}async function cs(t,e){const r=t.split("."),i=[];for(let t=0;t<r.length-1;t++)"www"!==r[t]&&i.push(r.slice(t).join("."));const n=i.length?i[i.length-1]:"";let s=(await fetch(e)).body;const o=new Headers({"Content-Type":"text/css"});if(!s)return new Response("",{status:400,headers:o,statusText:"Not Found"});e.endsWith(".gz")&&(s=s.pipeThrough(new self.DecompressionStream("gzip")));const a=s.pipeThrough(new hs),c=new TextEncoder,l=async function*(){for await(const t of async function*(t){try{let e;const r=t.getReader();for(;(e=await r.read())&&!e.done;){const t=e.value;if(n&&t.indexOf(n)>=0){const e=t.split("##");if(e.length<2)continue;if(e[0].endsWith("#@"))continue;const r=e[0].split(",");for(const t of i)if(r.includes(t)){yield e[1];break}}else!n&&t.startsWith("##")&&(yield t.slice(2))}}catch(t){console.warn(t)}}(a))yield c.encode(`${t} {\n display: none !important;\n}\n\n`)}(),h=new ReadableStream({pull:async t=>l.next().then(e=>{e.done||!e.value?t.close():t.enqueue(e.value)})});return new Response(h,{status:200,statusText:"OK",headers:o})}class ls{_buffer=[];_lastChunkEndedWithCR=!1;decoder=new TextDecoder;transform(t,e){const r=this.decoder.decode(t),i=r.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g),n=this._buffer;for(this._lastChunkEndedWithCR&&r.startsWith("\n")&&i.shift(),n.length>0&&(n[n.length-1]+=i[0],i.shift()),this._lastChunkEndedWithCR=r.endsWith("\r");n.length>1;){const t=n.shift();t?.length&&e.enqueue(t)}for(;i.length>1;){const t=i.shift();t?.length&&e.enqueue(t)}}flush(t){const e=this._buffer;for(;e.length;){const r=e.shift();r?.length&&t.enqueue(r)}}}class hs extends TransformStream{constructor(){super(new ls)}}const us='<!doctype html>\n<html>\n <head>\n <script>\n window.requestURL = $REQUEST_URL;\n window.redirectOnNotFound = $REDIRECT_NOT_FOUND;\n window.errorMsg = $REQUEST_ERR_MSG;\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Archived Page Not Found</h2>\n <p id="msg"></p>\n <p>\n <code id="url" style="word-break: break-all; font-size: larger"></code>\n </p>\n <p id="#redirectMessage" style="display: none">\n Redirecting to live page now... (If this URL is a file download, the\n download should have started).\n </p>\n <script>\n if (window.redirectOnNotFound) {\n document.querySelector("redirectMessage").style.display = "initial";\n window.top.location.href = window.requestURL;\n }\n <\/script>\n <p id="goback" style="display: none">\n <a href="#" onclick="window.history.back()">Go Back</a> to the previous\n page.\n </p>\n\n <p>\n <a id="livelink" target="_blank" href="">Load the live page</a> in a new\n tab (or download the file, if this URL points to a file).\n </p>\n\n <script>\n document.querySelector("#url").innerText = window.requestURL;\n document.querySelector("#msg").innerText = window.errorMsg;\n document.querySelector("#livelink").href = window.requestURL;\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {}\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage(\n {\n wb_type: "archive-not-found",\n url: window.requestURL,\n ts: $REQUEST_TS,\n },\n "*",\n );\n }\n <\/script>\n </body>\n</html>\n';let ps="";function ds(t,e,r=404){return fs(t,t.url,"",!1,r,e)}function fs(t,e,r,i=!1,n=404,s){let o,a;switch(t.destination){case"json":case"":o=function(t,e,r="not_found"){return JSON.stringify({error:r,URL:t,TS:e})}(e,r,s),a="application/json; charset=utf-8";break;case"script":o=ms("Script",e,r,s),a="text/javascript; charset=utf-8";break;case"style":o=ms("CSS",e,r,s),a="text/css; charset=utf-8";break;default:o=function(t,e,r,i,n){let s=ps||us;return s=s.replaceAll("$REQUEST_URL",JSON.stringify(e)),s=s.replaceAll("$REQUEST_TS",JSON.stringify(r)),s=s.replaceAll("$REDIRECT_NOT_FOUND",i&&"navigate"===t.mode?"1":"0"),s=s.replaceAll("$REQUEST_ERR_MSG",JSON.stringify(n||"Sorry, this page was not found in this archive:")),s}(t,e,r,i,s),a="text/html; charset=utf-8"}return gs(o,a,n)}function gs(t,e,r=200){const i=(new TextEncoder).encode(t),n={status:r,statusText:x(r),headers:{"Content-Type":e,"Content-Length":i.length+"","Content-Security-Policy":u()}};return new Response(i,n)}function ms(t,e,r,i){return`/*\n ${i||t+" Not Found"}\n URL: ${e}\n TS: ${r}\n*/\n `}function ys(t,e){return gs(function(t,e){return`\n <!doctype html>\n <html>\n <head>\n <script>\n window.requestURL = ${JSON.stringify(t)};\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Live page could not be loaded</h2>\n <p>\n Sorry, this page was could not be loaded through the archiving proxy.\n Check the URL and try again.\n </p>\n <p>\n <code\n id="url"\n style="word-break: break-all; font-size: larger"\n ></code>\n </p>\n <p id="goback" style="display: none">\n <a href="#" onclick="window.history.back()">Go Back</a> to the\n previous page.\n </p>\n\n <script>\n document.getElementById("url").innerText = ${JSON.stringify(`Status Code: ${e}`)};\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {}\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage(\n {\n wb_type: "live-proxy-url-error",\n url: window.requestURL,\n status: ${JSON.stringify(e)},\n },\n "*",\n );\n }\n <\/script>\n </body>\n </html>\n `}(t,e),"text/html",e)}const ws={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/dicom":["dcm"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg","one","onea"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"application/zip+dotlottie":["lottie"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a","m4b"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/ief":["ief"],"image/jaii":["jaii"],"image/jais":["jais"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpg","jpeg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxl":["jxl"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/pjpeg":["jfif"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime","mht","mhtml"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step":["step","stp","stpnc","p21","210"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts","m2t","m2ts","mts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(ws);const As=ws;var bs,Es,vs,_s=function(t,e,r,i){if("a"===r&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?i:"a"===r?i.call(t):i?i.value:e.get(t)};bs=new WeakMap,Es=new WeakMap,vs=new WeakMap;const xs=class{constructor(...t){bs.set(this,new Map),Es.set(this,new Map),vs.set(this,new Map);for(const e of t)this.define(e)}define(t,e=!1){for(let[r,i]of Object.entries(t)){r=r.toLowerCase(),i=i.map(t=>t.toLowerCase()),_s(this,vs,"f").has(r)||_s(this,vs,"f").set(r,new Set);const t=_s(this,vs,"f").get(r);let n=!0;for(let s of i){const i=s.startsWith("*");if(s=i?s.slice(1):s,t?.add(s),n&&_s(this,Es,"f").set(r,s),n=!1,i)continue;const o=_s(this,bs,"f").get(s);if(o&&o!=r&&!e)throw new Error(`"${r} -> ${s}" conflicts with "${o} -> ${s}". Pass \`force=true\` to override this definition.`);_s(this,bs,"f").set(s,r)}}return this}getType(t){if("string"!=typeof t)return null;const e=t.replace(/^.*[/\\]/s,"").toLowerCase(),r=e.replace(/^.*\./s,"").toLowerCase(),i=e.length<t.length;return r.length<e.length-1||!i?_s(this,bs,"f").get(r)??null:null}getExtension(t){return"string"!=typeof t?null:(t=t?.split?.(";")[0],(t&&_s(this,Es,"f").get(t.trim().toLowerCase()))??null)}getAllExtensions(t){return"string"!=typeof t?null:_s(this,vs,"f").get(t.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const t of _s(this,vs,"f").values())Object.freeze(t);return this}_getTestState(){return{types:_s(this,bs,"f"),extensions:_s(this,Es,"f")}}},Is=(new xs(As)._freeze(),Rs([80,75,3,4])),Ss=Rs([31,139,8]),Ts=Rs([87,65,82,67]),Cs=(new xs).define(As).define({"application/x-javascript":[".js"]});function Rs(t){return e=>{for(const[r,i]of t.entries())if(i!==e[r])return!1;return!0}}async function ks(t){const e=t.body.getReader();let r="";const{value:i,done:n}=await e.read();var s;return!n&&i.length>=4&&(s=i.slice(0,4),r=Is(s)?".wacz":Ts(s)?".warc":Ss(s)?".warc.gz":"",r||(r=function(t){try{const e=(new TextDecoder).decode(t).split("\n");if(e.length>1&&e.indexOf(" {")>=0)return".cdxj"}catch(t){return""}}(i))),n||e.cancel().catch(()=>{}),r}class Ns{name;store;config;metadata;injectScripts;noRewritePrefixes;noPostToGet;convertPostToGet;coHeaders;csp;injectRelCanon;baseFramePrefix;baseFrameUrl;baseFrameHashReplay=!1;baseFrameAppendReplay=!1;liveRedirectOnNotFound=!1;rootPrefix;isRoot;prefix;adblockUrl;excludeUrlPaths;staticPrefix;proxyPrefix;proxyBannerUrl="";proxyCustomInsert="";proxyHomePageUrl;constructor(t,e,r={}){const{name:i,store:n,config:s}=t;this.name=i,this.store=n,this.config=s,this.metadata=this.config.metadata?this.config.metadata:{};const o={...r,...this.config.extraConfig};this.injectScripts=o.injectScripts||[],this.noRewritePrefixes=o.noRewritePrefixes||null,this.noPostToGet=!!o.noPostToGet,this.convertPostToGet=!!o.convertPostToGet,this.coHeaders=o.coHeaders||!1,this.injectRelCanon=o.injectRelCanon||!1,this.baseFramePrefix=o.baseUrlSourcePrefix,this.baseFrameUrl=o.baseUrl,this.baseFrameHashReplay=o.baseUrlHashReplay||!1,this.baseFrameAppendReplay=o.baseUrlAppendReplay||!1,this.liveRedirectOnNotFound=o.liveRedirectOnNotFound||!1,this.rootPrefix=e.root||e.main,this.proxyHomePageUrl=o.proxyHomePageUrl,this.adblockUrl=o.adblockUrl,this.excludeUrlPaths=o.excludeUrlPaths,this.prefix=e.main,this.proxyBannerUrl=o.proxyBannerUrl||"",this.proxyBannerUrl&&D([this.proxyBannerUrl]),this.proxyCustomInsert=o.proxyCustomInsert||"",this.config.root?(this.isRoot=!0,this.csp=o.csp||u()):(this.prefix+=this.name+"/",this.isRoot=!1,this.csp=o.csp||u()+this.name+"/"),this.staticPrefix=e.static,this.proxyPrefix=e.proxy}async handleRequest(t,e){let r=t.url,i=t.timestamp;if(!t.mod)return await this.makeTopFrame(r,i);if(this.noPostToGet||(r=await t.convertPostToGet()),t.isProxyOrigin&&this.proxyHomePageUrl&&t.proxyOrigin&&r.startsWith(t.proxyOrigin)&&"/"===new URL(r).pathname)return fetch(this.proxyHomePageUrl,{mode:"no-cors"});if(this.excludeUrlPaths?.length)for(const e of this.excludeUrlPaths)if(r.startsWith(e))return ds(t.request);let n=null,s=r;try{if(r.startsWith("srcdoc:"))n=this.getSrcDocResponse(r,r.slice(7));else if(r.startsWith("blob:")){const t=r.indexOf("/"),e=r.slice(5,t),i=`blob:${self.location.origin}/${e}`;s=r.slice(t+1),n=await this.getBlobResponse(i)}else"about:blank"===r?n=await this.getSrcDocResponse(r):"__wb_module_decl.js"===r?n=await this.getWrappedModuleDecl():this.adblockUrl&&r.startsWith("adblock:")?n=await cs(r.slice(8),this.adblockUrl):(n=await this.getReplayResponse(t,e),r=t.url,n&&n instanceof Jn&&n.updateTS&&(i=n.updateTS))}catch(e){if(await S(e,this.config))return ds(t.request,"Please wait, this page will reload after authentication...",401)}if(!n){try{r=decodeURIComponent(r),r+=t.hash}catch(t){}return fs(t.request,r,i,this.liveRedirectOnNotFound)}if(n instanceof Response)return n;n.noRW||(n=t.isProxyOrigin?await this.proxyRewrite(t,n,s,i):await this.fullRewrite(t,n,s,r,i));const o=t.headers.get("range");!o||200!==n.status&&206!==n.status||n.setRange(o);let a=!1;if("dl_"===t.mod){const e=n.headers.get("Content-Disposition");if(!e?.match(/^attachment\s*;/i)){const e=await async function(t,e){let r="";try{const e=new URL(t.url.startsWith("//")?"https:"+t.url:t.url);r=e.pathname.slice(e.pathname.lastIndexOf("/")+1)}catch(t){}if(r||(r="index"),-1===r.indexOf(".")){const t=e.headers.get("content-type"),i=t?Cs.getExtension(t):"";i&&(r+="."+i)}const i=encodeURIComponent(r);return i!==r?`filename*=UTF-8''${i}`:`filename="${r}"`}(t,n);n.headers.set("Content-Disposition",`attachment; ${e}`)}}else a="iframe"===t.destination||"document"===t.destination;return n.makeResponse(this.coHeaders,a)}async fullRewrite(t,e,r,i,n){const s=this.prefix+(t.pageId?`:${t.pageId}/`:""),o=s+n,a=e,c=ss.includes(t.mod)?"mp_":t.mod,l="id_"===c||"wkrf_"===c||"dl_"===c,h=o+c+"/",u={baseUrl:r,responseUrl:e.url,prefix:h,headInsertFunc:e=>{const r=o+(n?"/":"")+e;return this.makeHeadInsert(e,n,r,s,a,t.referrer)},workerInsertFunc:t=>{const e=`new WBWombat(\n {"prefix": "${o}",\n "mod": "wkr_",\n "originalURL": "${i}"\n })`;return t?`import '${this.staticPrefix}wombatWorkers.js'; if (!self.__wb_wombat) { self.__wb_wombat = ${e} }`:`\n { if (!self.__wb_wombat) { self.importScripts('${this.staticPrefix}wombatWorkers.js'); self.__wb_wombat = ${e};} }`},urlRewrite:!l,contentRewrite:!l,decode:this.config.decode},p=new os(u);return(e=await p.rewrite(e,t)).headers.set("Content-Security-Policy",this.csp),e}async proxyRewrite(t,e,r,i){const n=this.prefix+(t.pageId?`:${t.pageId}/`:""),s=e.date.toISOString(),o=n+(i||d(s)),a=o+"mp_/",c={baseUrl:r,responseUrl:e.url,prefix:a,headInsertFunc:r=>{const n=this.getCookiePreset(e,t.proxyScheme),a=g(e.date),c=e.extraOpts,l=c?.disableMSE;return`\n\x3c!-- WB Insert --\x3e\n<script>\n const wbinfo = {};\n wbinfo.url = "${r}";\n wbinfo.request_ts = "${i}";\n wbinfo.timestamp = "${s}";\n wbinfo.proxyOrigin = "${t.proxyOrigin||""}";\n wbinfo.localOrigin = "${t.localOrigin||""}";\n wbinfo.localTLD = "${t.localTLD||""}";\n wbinfo.proxyTLD = "${t.proxyTLD||""}";\n wbinfo.prefix = "${o}";\n wbinfo.presetCookie = ${n};\n wbinfo.seconds = "${a}";\n self.__wbinfo = wbinfo;\n<\/script>\n<script src="${this.staticPrefix}wombatProxy.js"><\/script>\n${this.proxyBannerUrl?`\n<script src="${this.proxyPrefix}${this.proxyBannerUrl}"><\/script>`:""}\n${this.proxyCustomInsert?this.proxyCustomInsert:""}\n${l?oe:""}\n\x3c!-- End WB Insert --\x3e\n `},workerInsertFunc:null,urlRewrite:!0,contentRewrite:!0,decode:this.config.decode},l=this.config.extraConfig||{},h=new as(c,t,{rewriteRelCanonical:l.proxyRewriteRelCanonical});return e=await h.rewrite(e,t)}getCookiePreset(t,e){let r=t.headers.get("x-wabac-preset-cookie")||"";const i=t.headers.get("Set-Cookie");return i&&(r=function(t,e){t=t.replace(l,"");const r=[];for(const i of t.split(",")){const t=i.split(";",1)[0];if(t!==i){const r=i.slice(t.length).toLowerCase();if(r.indexOf("httponly")>0)continue;if("http"===e&&r.indexOf("secure")>0)continue}r.push(t)}return r.join(";")}(i,e)+";"+r),r?JSON.stringify(r):'""'}getCanonRedirect(t){let{url:e,timestamp:r,mod:i,referrer:n}=t;const s=e.startsWith("//");s&&(e=(n&&n.indexOf("/http://")>0?"http:":"https:")+e);try{const n=new URL(e);if(n.href!==e){if("/"===n.pathname){let t=this.prefix+r+i;return(r||i)&&(t+="/"),t+=n.href,Response.redirect(t,301)}(!s&&e.indexOf(":443")||e.indexOf(":80"))&&(t.url=n.href)}}catch(t){}return null}getWrappedModuleDecl(){const t=(new TextEncoder).encode('\n var wrapObj = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\n if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n\n const window = wrapObj("window");\n const document = wrapObj("document");\n const location = wrapObj("location");\n const top = wrapObj("top");\n const parent = wrapObj("parent");\n const frames = wrapObj("frames");\n const opener = wrapObj("opener");\n const __self = wrapObj("self");\n const __globalThis = wrapObj("globalThis");\n\n export { window, document, location, top, parent, frames, opener, __self as self, __globalThis as globalThis };\n '),e=new Headers({"Content-Type":"application/javascript"});return new Response(t,{headers:e,status:200,statusText:"OK"})}getSrcDocResponse(t,e){const r=e?decodeURIComponent(atob(e)):"<html><head></head><body></body></html>",i=(new TextEncoder).encode(r),n=new Headers({"Content-Type":"text/html"}),s=new Date;return new Jn({payload:i,status:200,statusText:"OK",headers:n,url:t,date:s})}async getBlobResponse(t){const e=await fetch(t),r=e.status,i=e.statusText,n=new Headers(e.headers);"application/xhtml+xml"===n.get("content-type")&&n.set("content-type","text/html");const s=new Date,o=new Uint8Array(await e.arrayBuffer());return new Jn({payload:o,status:r,statusText:i,headers:n,url:t,date:s})}async getReplayResponse(t,e){let r=this.getCanonRedirect(t);if(r)return r;const i={pageId:t.pageId,noRedirect:t.isProxyOrigin};if(r=await this.store.getResource(t,this.prefix,e,i),!r&&t.altProxyOrigins&&t.isProxyOrigin&&t.proxyOrigin&&t.url.startsWith(t.proxyOrigin)){const n=t.url;for(const s of t.altProxyOrigins)if(t.url=n.replace(t.proxyOrigin,s),r=await this.store.getResource(t,this.prefix,e,i),r)break}return r}async makeTopFrame(t,e){let r="";if(this.baseFrameUrl&&!this.baseFramePrefix?r=this.baseFrameUrl:!this.isRoot&&this.config.sourceUrl&&(r=this.baseFramePrefix||"./",r+=`?source=${this.config.sourceUrl}`),r)return this.baseFrameAppendReplay?r+=`${e}/${t}`:this.baseFrameHashReplay?r+=`#${e}/${t}`:r+="#"+new URLSearchParams({url:t,ts:e,view:"replay"}).toString(),Response.redirect(r);let i="";if(this.config.topTemplateUrl){const r=await fetch(this.config.topTemplateUrl);i=(await r.text()).replace("$URL",t).replace("$TS",e).replace("$PREFIX",this.prefix)}else i=`\n<!DOCTYPE html>\n<html>\n<head>\n<style>\nhtml, body\n{\n height: 100%;\n margin: 0px;\n padding: 0px;\n border: 0px;\n overflow: hidden;\n}\n\n</style>\n<script src='${this.staticPrefix}wb_frame.js'> <\/script>\n\n<script>\nwindow.home = "${this.rootPrefix}";\n<\/script>\n\n<script src='${this.staticPrefix}default_banner.js'> <\/script>\n<link rel='stylesheet' href='${this.staticPrefix}default_banner.css'/>\n\n</head>\n<body style="margin: 0px; padding: 0px;">\n<div id="wb_iframe_div">\n<iframe id="replay_iframe" name="${c}" frameborder="0" seamless="seamless" scrolling="yes" class="wb_iframe" allow="autoplay; fullscreen"></iframe>\n</div>\n<script>\n var cframe = new ContentFrame({"url": "${t}",\n "app_prefix": "${this.prefix}",\n "content_prefix": "${this.prefix}",\n "request_ts": "${e}",\n "iframe": "#replay_iframe"});\n\n<\/script>\n</body>\n</html>\n`;const n={status:200,statusText:"OK",headers:{"Content-Type":"text/html","Content-Security-Policy":this.csp}};return new Response(i,n)}makeHeadInsert(t,e,r,i,n,s){const o=this.name,a=n.date,l=n.isLive,h=n.extraOpts,u=g(a),p=d(a.toISOString()),f=new URL(t);let m;m="https:"!==f.protocol&&"http:"!==f.protocol?s&&s.indexOf("/http://")>0?"http":"https":f.protocol.slice(0,-1);const y=this.getCookiePreset(n,m),w=h&&Number(h.pixelRatio)?h.pixelRatio:2,A=h?.storage?JSON.stringify(h.storage):'""',b=h?.disableMSE;return`\n\x3c!-- WB Insert --\x3e\n${this.adblockUrl?`\n<link rel='stylesheet' href="${i}mp_/adblock:${f.hostname}"/>\n<link rel='stylesheet' href="${i}mp_/adblock:"/>\n`:""}\n<style>\nbody {\n font-family: inherit;\n font-size: inherit;\n}\n</style>\n${this.injectRelCanon?`<link rel="canonical" href="${t}"/>`:""}\n<script>\n wbinfo = {};\n wbinfo.top_url = "${r}";\n // Fast Top-Frame Redirect\n if (window == window.top && wbinfo.top_url) {\n var loc = window.location.href.replace(window.location.hash, "");\n loc = decodeURI(loc);\n\n if (loc != decodeURI(wbinfo.top_url)) {\n window.location.href = wbinfo.top_url + window.location.hash;\n }\n }\n wbinfo.url = "${t}";\n wbinfo.timestamp = "${p}";\n wbinfo.request_ts = "${e}";\n wbinfo.prefix = decodeURI("${i}");\n wbinfo.mod = "mp_";\n wbinfo.is_framed = true;\n wbinfo.is_live = ${l?"true":"false"};\n wbinfo.coll = "${o}";\n wbinfo.proxy_magic = "";\n wbinfo.static_prefix = "${this.staticPrefix}";\n wbinfo.enable_auto_fetch = true;\n wbinfo.presetCookie = ${y};\n wbinfo.storage = ${A};\n wbinfo.isSW = true;\n wbinfo.injectDocClose = true;\n wbinfo.pixel_ratio = ${w};\n wbinfo.convert_post_to_get = ${this.convertPostToGet};\n wbinfo.target_frame = "${c}";\n<\/script>\n<script src='${this.staticPrefix}wombat.js'> <\/script>\n<script>\n wbinfo.wombat_ts = "${l?p:e}";\n wbinfo.wombat_sec = "${u}";\n wbinfo.wombat_scheme = "${m}";\n wbinfo.wombat_host = "${f.host}";\n\n ${this.noRewritePrefixes?`\n wbinfo.wombat_opts = {"no_rewrite_prefixes": ${JSON.stringify(this.noRewritePrefixes)}}`:"\n wbinfo.wombat_opts = {}\n "}\n\n if (window && window._WBWombatInit) {\n window._WBWombatInit(wbinfo);\n }\n ${b?oe:""}\n<\/script>\n${this.injectScripts.map(t=>`<script src='${this.proxyPrefix}${t}'> <\/script>`).join("")}\n\x3c!-- End WB Insert --\x3e\n`}}const Bs=(t,e)=>e.some(e=>t instanceof e);let Os,Ps;const Ds=new WeakMap,Ls=new WeakMap,Us=new WeakMap,Ms=new WeakMap,Fs=new WeakMap;let Hs={get(t,e,r){if(t instanceof IDBTransaction){if("done"===e)return Ls.get(t);if("objectStoreNames"===e)return t.objectStoreNames||Us.get(t);if("store"===e)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return zs(t[e])},set:(t,e,r)=>(t[e]=r,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function js(t){Hs=t(Hs)}function Ws(t){return t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(Ps||(Ps=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(Vs(this),e),zs(Ds.get(this))}:function(...e){return zs(t.apply(Vs(this),e))}:function(e,...r){const i=t.call(Vs(this),e,...r);return Us.set(i,e.sort?e.sort():[e]),zs(i)}}function Qs(t){return"function"==typeof t?Ws(t):(t instanceof IDBTransaction&&function(t){if(Ls.has(t))return;const e=new Promise((e,r)=>{const i=()=>{t.removeEventListener("complete",n),t.removeEventListener("error",s),t.removeEventListener("abort",s)},n=()=>{e(),i()},s=()=>{r(t.error||new DOMException("AbortError","AbortError")),i()};t.addEventListener("complete",n),t.addEventListener("error",s),t.addEventListener("abort",s)});Ls.set(t,e)}(t),Bs(t,Os||(Os=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(t,Hs):t)}function zs(t){if(t instanceof IDBRequest)return function(t){const e=new Promise((e,r)=>{const i=()=>{t.removeEventListener("success",n),t.removeEventListener("error",s)},n=()=>{e(zs(t.result)),i()},s=()=>{r(t.error),i()};t.addEventListener("success",n),t.addEventListener("error",s)});return e.then(e=>{e instanceof IDBCursor&&Ds.set(e,t)}).catch(()=>{}),Fs.set(e,t),e}(t);if(Ms.has(t))return Ms.get(t);const e=Qs(t);return e!==t&&(Ms.set(t,e),Fs.set(e,t)),e}const Vs=t=>Fs.get(t);function Gs(t,e,{blocked:r,upgrade:i,blocking:n,terminated:s}={}){const o=indexedDB.open(t,e),a=zs(o);return i&&o.addEventListener("upgradeneeded",t=>{i(zs(o.result),t.oldVersion,t.newVersion,zs(o.transaction),t)}),r&&o.addEventListener("blocked",t=>r(t.oldVersion,t.newVersion,t)),a.then(t=>{s&&t.addEventListener("close",()=>s()),n&&t.addEventListener("versionchange",t=>n(t.oldVersion,t.newVersion,t))}).catch(()=>{}),a}function qs(t,{blocked:e}={}){const r=indexedDB.deleteDatabase(t);return e&&r.addEventListener("blocked",t=>e(t.oldVersion,t)),zs(r).then(()=>{})}const Ys=["get","getKey","getAll","getAllKeys","count"],Ks=["put","add","delete","clear"],Xs=new Map;function Js(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(Xs.get(e))return Xs.get(e);const r=e.replace(/FromIndex$/,""),i=e!==r,n=Ks.includes(r);if(!(r in(i?IDBIndex:IDBObjectStore).prototype)||!n&&!Ys.includes(r))return;const s=async function(t,...e){const s=this.transaction(t,n?"readwrite":"readonly");let o=s.store;return i&&(o=o.index(e.shift())),(await Promise.all([o[r](...e),n&&s.done]))[0]};return Xs.set(e,s),s}js(t=>({...t,get:(e,r,i)=>Js(e,r)||t.get(e,r,i),has:(e,r)=>!!Js(e,r)||t.has(e,r)}));const Zs=["continue","continuePrimaryKey","advance"],$s={},to=new WeakMap,eo=new WeakMap,ro={get(t,e){if(!Zs.includes(e))return t[e];let r=$s[e];return r||(r=$s[e]=function(...t){to.set(this,eo.get(this)[e](...t))}),r}};async function*io(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;const r=new Proxy(e,ro);for(eo.set(r,e),Fs.set(r,Vs(e));e;)yield r,e=await(to.get(r)||e.continue()),to.delete(r)}function no(t,e){return e===Symbol.asyncIterator&&Bs(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===e&&Bs(t,[IDBIndex,IDBObjectStore])}js(t=>({...t,get:(e,r,i)=>no(e,r)?io:t.get(e,r,i),has:(e,r)=>no(e,r)||t.has(e,r)}));var so=r(4668),oo=r.n(so);const ao=1024,co=/\[\d]+/,lo=[{match:/\/\/.*(?:gcs-vimeo|vod|vod-progressive|vod-adaptive)\.akamaized\.net.*?\/([\d/]+\.mp4)/,fuzzyCanonReplace:"//vimeo-cdn.fuzzy.replayweb.page/$1",split:".net"},{match:/\/\/.*player.vimeo.com\/(video\/[\d]+)\?.*/i,fuzzyCanonReplace:"//vimeo.fuzzy.replayweb.page/$1"},{match:/www.\washingtonpost\.com\/wp-apps\/imrs.php/,args:[["src"]]},{match:/(static.wixstatic.com\/.*\.[\w]+\/v1\/fill\/)(w_.*)/,replace:"$1?_args=$2",split:"/v1/fill"},{match:/(twimg.com\/profile_images\/[^/]+\/[^_]+)_([\w]+\.[\w]+)/,replace:"$1=_args=$2",split:"_",splitLast:!0},{match:/^https?:\/\/(?:www\.)?(youtube\.com\/embed\/[^?]+)[?].*/i,replace:"$1"},{match:/^(https?:\/\/(?:www\.)?)(youtube\.com\/@[^?]+)[?].*/i,fuzzyCanonReplace:"$1$2"},{match:/\/\/(?:www\.)?youtube(?:-nocookie)?\.com\/(get_video_info)/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1",args:[["video_id"]]},{match:/\/\/(?:www\.)?youtube(?:-nocookie)?\.com\/(youtubei\/v1\/[^?]+\?).*(videoId[^&]+).*/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1$2",args:[["videoId"]]},{match:/\/\/.*googlevideo.com\/(videoplayback)/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1",args:[["id","itag"],["id"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\/pagelet\/generic.php\/photoviewerinitpagelet/i,args:[[{arg:"data",keys:["query_type","fbid","v","cursor","data"]}]]},{match:/((?:twitter|x)\.com\/[^/]+\/status\/[^?]+)(\?.*)/,fuzzyCanonReplace:"$1"},{match:/((?:twitter|x)\.com\/i\/api\/graphql\/.*)/,args:[["cursor"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\//i,fuzzySet:!0},{match:(ho=["(callback=jsonp)[^&]+(?=&|$)","((?:\\w+)=jquery)[\\d]+_[\\d]+","utm_[^=]+=[^&]+(?=&|$)","(_|cb|_ga|\\w*cache\\w*)=[\\d.-]+(?=$|&)"],new RegExp("[?&]"+ho.map(t=>"("+t+")").join("|"),"gi")),replace:""},{match:/(\.(?:js|webm|mp4|gif|jpg|png|css|json|m3u8))\?.*/i,replace:"$1",maxResults:2}];var ho;const uo=new class{rules;constructor(t){this.rules=t||lo}getRuleFor(t){let e;const r=-1===t.indexOf("?")?t+"?":t;for(const t of this.rules)if(r.length<4096&&r.match(t.match)){e=t;break}let i=t;e?.fuzzyCanonReplace&&(i=t.replace(e.match,e.fuzzyCanonReplace));const n=e?.split||"?",s=e?.splitLast?t.lastIndexOf(n):t.indexOf(n);return{prefix:s>0?t.slice(0,s+n.length):t,rule:e,fuzzyCanonUrl:i}}getFuzzyCanonsWithArgs(t){let{fuzzyCanonUrl:e,prefix:r,rule:i}=this.getRuleFor(t);e===t&&(e=r);const n=[];if(i?.args){const r=new URL(e),s=new URL(t);for(const t of i.args){const e=new URLSearchParams;for(const r of t)e.set(r,s.searchParams.get(r)||"");r.search=e.toString(),n.push(r.href)}return n}return[e]}fuzzyCompareUrls(t,e,r){if(!e?.length)return null;if(void 0!==r?.replace&&void 0!==r.match&&(!r.maxResults||e.length<=r.maxResults)){const i=r.match,n=r.replace,s=t.replace(i,n),o=[];for(const t of e){const e=t.url.replace(i,n);if(s===e)return t;t.fuzzyMatchUrl=e,o.push(t)}e=o,t=s}return this.fuzzyBestMatchQuery(t,e,r)}fuzzyBestMatchQuery(t,e,r){let i;try{i=new URL(t)}catch(t){return null}const n=r?.args&&!r.fuzzyArgs?new Set(r.args[0]):null;let s=Number.MIN_SAFE_INTEGER,o=null;const a=new URLSearchParams(i.search);for(const i of e){if(304===i.status)continue;let e;try{e=new URL(i.fuzzyMatchUrl||i.url)}catch(t){continue}const c=new URLSearchParams(e.search);let l=this.getMatch(a,c,n,r?.fuzzySet);l+=this.getMatch(c,a,n),l/=2,i.status>200&&(l+=.1*(200-i.status)),l>s&&(s=l,o=i)}return o}getMatch(t,e,r=null,i=!1){let n=1,s=1;const o={};for(let[a,c]of t){let t,l=e.get(a);if(r&&r.has(a)&&l!==c)return-1e3;t=a.startsWith("_")?.1:10,null!==l&&(n+=.5*t,l.length>ao&&(l=l.slice(0,ao))),c&&c.length>ao&&(c=c.slice(0,ao));const h=Number(c),u=Number(l);if(s+=t,i&&l&&this.addSetMatch(o,a,c,l),l===c)n+=t*c.length;else if(null===l||null===c)n+=0;else if(isNaN(h)||isNaN(u))if(c.startsWith("{")&&l.startsWith("{"))try{const e=ft(c),r=ft(l);n+=this.getMatch(e,r)*t*2}catch(e){n+=.5*t*this.levScore(c,l)}else i||(n+=t*this.levScore(c,l));else n+=10-Math.log(Math.abs(h-u)+1)}return n/s+(i?this.paramSetMatch(o,100):0)}addSetMatch(t,e,r,i){if(!(r&&i&&r.startsWith("/")&&i.startsWith("/")))return;const n=e.split(co);if(n.length<=1)return;const s=r.indexOf("?"),o=i.indexOf("?"),a=n[0],c=s>0?r.slice(0,s):r,l=o>0?i.slice(0,o):i;t[a]||(t[a]={value:[],found:new Set}),t[a].value.push(c),t[a].found.add(l)}paramSetMatch(t,e){let r=0;for(const i of Object.values(t)){let t=e;for(const e of i.value)i.found.has(e)&&(r+=t),t*=.33}return r}levScore(t,e){const r=Math.min(t.length,e.length),i=oo()(t,e);return i<r?r-i:0}},po=new Date("9999-01-01").getTime(),fo="warc/revisit";class go{name;minDedupSize;version;autoHttpsCheck=!0;useRefCounts=!1;allowRepeats=!0;repeatTracker=null;fuzzyPrefixSearch=!0;initing;db=null;constructor(t,e={}){this.name=t,this.db=null;const{minDedupSize:r,noRefCounts:i}=e;this.minDedupSize=Number.isInteger(r)?r:1024,this.version=4,this.autoHttpsCheck=!0,this.useRefCounts=!i,this.allowRepeats=!0,this.repeatTracker=new mo,this.fuzzyPrefixSearch=!0,this.initing=this.init()}async init(){let t=0;this.db=await Gs(this.name,this.version,{upgrade:(e,r,i,n)=>{t=r,this._initDB(e,r,i,n)},blocking:(t,e)=>{e||this.close()}}),1===t&&await this.convertCuratedPagesToV2(this.db)}_initDB(t,e,r,i){if(!e){const e=t.createObjectStore("pages",{keyPath:"id"});e.createIndex("url","url"),e.createIndex("ts","ts"),e.createIndex("state","state"),t.createObjectStore("pageLists",{keyPath:"id",autoIncrement:!0}),t.createObjectStore("curatedPages",{keyPath:"id",autoIncrement:!0}).createIndex("listPages",["list","pos"]);const r=t.createObjectStore("resources",{keyPath:["url","ts"]});r.createIndex("pageId","pageId"),r.createIndex("mimeStatusUrl",["mime","status","url"]),t.createObjectStore("payload",{keyPath:"digest"}).createIndex("digest","digest",{unique:!0}),t.createObjectStore("digestRef",{keyPath:"digest"}).createIndex("digest","digest",{unique:!0})}}async clearAll(){const t=["pages","resources","payload","digestRef"];if(this.db)for(const e of t)await this.db.clear(e)}close(){this.db&&(this.db.close(),this.db=null)}async delete(){this.close(),await qs(this.name,{blocked(t,e){console.log("Unable to delete: "+e)}})}async addPage(t,e){const r=t.url,i=t.title||t.url,n=t.id||this.newPageId(),s=t.state||17;let o=t.ts;if("number"!=typeof o)if(t.timestamp)o=f(t.timestamp).getTime();else{const e=t.ts||t.date||t.datetime;e&&(o=new Date(e).getTime())}const a={...t,url:r,ts:o,title:i,id:n,state:s};return e?(e.store.put(a),a.id):await this.db.put("pages",a)}async addPages(t,e="pages",r=!1){const i=this.db.transaction(e,"readwrite");for(const e of t)r?i.store.put(e):this.addPage(e,i);try{await i.done}catch(t){console.warn("addPages tx",String(t))}}async createPageList(t){const e={title:t.title,desc:t.desc||t.description,slug:t.id||t.slug};return await this.db.put("pageLists",e)}async addCuratedPageList(t,e){const r=await this.createPageList(t);let i=0;for(const t of e)t.pos=i++,t.list=r;await this.addPages(e,"curatedPages")}async addCuratedPageLists(t,e="pages",r="public"){for(const i of t){if(r&&!i[r])continue;const t=i[e]||[];await this.addCuratedPageList(i,t)}}async convertCuratedPagesToV2(t){const e=await t.getAll("curatedPages");if(!e?.length)return;const r=await t.getAll("pages"),i=new Map;for(const t of r)i.set(t.id,t);for(const t of e)if(t.page){const e=i.get(t.page);e&&(t.id=this.newPageId(),t.url=e.url,t.ts=e.ts,!t.title&&e.title&&(t.title=e.title)),delete t.page}await t.clear("curatedPages");const n=t.transaction("curatedPages","readwrite");for(const t of e)n.store.put(t);try{await n.done}catch(t){console.warn("Conversion Failed",t)}}async getCuratedPagesByList(){const t=await this.db.getAll("pageLists"),e=this.db.transaction("curatedPages","readonly");for await(const r of e.store.index("listPages").iterate()){const e=t[r.value.list-1];e&&(e.show=!0,e.pages||(e.pages=[]),e.pages.push(r.value))}return t}newPageId(){return b()}async getAllPages(){return await this.db.getAll("pages")}async getPagesByUrl(t){return await this.db.getAllFromIndex("pages","url",t)}async getPages(t){const e=[];t.sort();for await(const r of this.matchAny("pages",null,t))e.push(r);return e}async getTimestampsByURL(t){const e=this.db.transaction("resources"),r=IDBKeyRange.bound([t],[t,po]),i=[];for await(const t of e.store.iterate(r))i.push(t.key[1]);return i}async getPagesWithState(t){return await this.db.getAllFromIndex("pages","state",t)}async getVerifyInfo(){return{}}async addVerifyData(t="",e,r,i=null,n=!1){}async addVerifyDataList(t,e){}async dedupResource(t,e,r,i=1){const n=r.objectStore("digestRef"),s=await n.get(t);if(s)return++s.count,s;if(e)try{return r.objectStore("payload").put({digest:t,payload:e}),{digest:t,count:i,size:e.length}}catch(t){console.log(t)}return null}async addResources(t){const e=[],r=[],i=[],n={},s=new Set,o=this.db.transaction(["digestRef","payload"],"readwrite");for(const a of t){let t=1;const c=a.status||200,l=a.mime===fo?e:c>=300?r:i;l.push(a);const h=this.getFuzzyUrl(a);if(h&&(l.push(h),t=2),this.useRefCounts&&a.digest){const e=n[a.digest];e?(e.count+=t,s.add(a.digest)):n[a.digest]=await this.dedupResource(a.digest,a.payload,o,t),delete a.payload}}if(this.useRefCounts){const t=o.objectStore("digestRef");for(const e of s)t.put(n[e])}try{await o.done}catch(t){console.error("Payload and Ref Count Bulk Add Failed: ",t)}const a=this.db.transaction("resources","readwrite");for(const t of e)a.store.put(t);for(const t of r)a.store.put(t);for(const t of i)a.store.put(t);try{await a.done}catch(t){console.error("Resources Bulk Add Failed",t)}}getFuzzyUrl(t){if(t.status&&t.status>=200&&t.status<400&&304!==t.status&&204!==t.status){const{fuzzyCanonUrl:e}=uo.getRuleFor(t.url);return e&&e!==t.url?{url:e,ts:t.ts,origURL:t.url,origTS:t.ts,pageId:t.pageId,digest:t.digest}:null}return null}async addResource(t){t.payload&&t.payload.length>this.minDedupSize&&(t.digest||(t.digest=await y(t.payload,"sha-256")));let e=null,r=!1;const i=this.db.transaction(["resources","digestRef","payload"],"readwrite");if(t.payload&&t.payload.length>this.minDedupSize?(e=await this.dedupResource(t.digest||"",t.payload,i),r=!!e&&1===e.count,delete t.payload):t.payload&&(r=!0),t.mime!==fo){i.objectStore("resources").put(t);const r=this.getFuzzyUrl(t);r&&(i.objectStore("resources").put(r),e&&e.count++)}else i.objectStore("resources").add(t);e&&i.objectStore("digestRef").put(e);try{await i.done}catch(e){t.mime===fo?console.log("Skip Duplicate revisit for: "+t.url):console.log("Add Error for "+t.url),console.log(e)}return r}async getResource(t,e,r,i={}){const n=f(t.timestamp).getTime();let s=t.url,o=null;const a=this.repeatTracker?this.repeatTracker.getSkipCount(r,s,t.request.method):0,c={...i,skip:a};if(t.httpToHttpsNeeded&&(s=s.slice(s.indexOf("//"))),s.startsWith("//")){let e=!1;o=await this.lookupUrl("https:"+s,n,c),o||(o=await this.lookupUrl("http:"+s,n,c),(o||t.request.referrer.indexOf("/http://",2)>0)&&(e=!0)),s=(e?"http:":"https:")+s}else if(o=await this.lookupUrl(s,n,c),!o&&this.autoHttpsCheck&&s.startsWith("http://")){const t=s.replace("http://","https://");o=await this.lookupUrl(t,n,c),o&&(s=t)}if(o||!this.fuzzyPrefixSearch||i.noFuzzyCheck||(o=await this.lookupQueryPrefix(s,i)),o?.origURL){const t=await this.lookupUrl(o.origURL,o.origTS||o.ts,i);t&&(s=t.url,o=t)}if(!o)return null;const l=o.status||0,h=o.statusText||x(l);let u=null;if(!_(l)&&(u=await this.loadPayload(o,i),!u))return null;const p=o.respHeaders?E(o.respHeaders):new Headers,d=new Date(o.ts),g=o.extraOpts||null;return s=o.url,s!==t.url&&p.set("Content-Location",s),new Jn({url:s,payload:u,status:l,statusText:h,headers:p,date:d,extraOpts:g})}async loadPayload(t,e){if(t.digest&&!t.payload){if("sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"===t.digest||"sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ"===t.digest)return new Uint8Array([]);const e=await this.db.get("payload",t.digest);if(!e)return null;const{payload:r}=e;return r}return t.payload||null}shouldSkipResult(t,e,r){try{if(r&&e?.status&&e.status>=500)return!0;if(e?.respHeaders&&e.status&&e.status>=300&&e.status<400){const r=new Headers(e.respHeaders).get("location")||"";if(new URL(r,t).href===t)return!0}}catch(t){}return!1}async lookupUrl(t,e,r={}){const i=this.db.transaction("resources","readonly");if(e){const n=IDBKeyRange.bound([t,e],[t,po]);if(r.noRevisits||r.pageId){let e=await i.store.getAll(n,16);e=e||[];for(const i of e)if(!(r.pageId&&i.pageId&&i.pageId!==r.pageId||r.noRevisits&&i.mime===fo||this.shouldSkipResult(t,i,r.skip5xx)))return i}else{const s=await i.store.get(n);if(s&&this.shouldSkipResult(t,s,r.skip5xx))e+=1e4;else if(s)return s}}const n=IDBKeyRange.bound([t],[t,e||po]);for await(const e of i.store.iterate(n,"prev")){const i=e.value;if(!(r.pageId&&i.pageId&&i.pageId!==r.pageId||r.noRevisits&&i.mime===fo||this.shouldSkipResult(t,i,r.skip5xx)))return i}return null}async lookupQueryPrefix(t,e){const{rule:r,prefix:i,fuzzyCanonUrl:n}=uo.getRuleFor(t);if(n!==t){const t=await this.lookupUrl(n,0,e);if(t)return t}if(!r&&i===t&&i===n&&!t.endsWith("?"))return null;const s=await this.db.getAll("resources",this.getLookupRange(i,"prefix"),128e3);return uo.fuzzyCompareUrls(t,s,r)}resJson(t){const e=new Date(t.ts).toISOString();return{url:t.url,date:e,ts:d(e),mime:t.mime||"",status:t.status||0}}async resourcesByPage(t){return this.db.getAllFromIndex("resources","pageId",t)}async*resourcesByPages2(t){t.sort(),yield*this.matchAny("resources","pageId",t)}async*resourcesByPages(t){const e=this.db.transaction("resources","readonly");for await(const r of e.store.iterate())t.includes(r.value.pageId)&&(yield r.value)}async*matchAny(t,e,r,i,n=!1){const s=this.db.transaction(t,"readonly"),o=IDBKeyRange.lowerBound(r[0],n);let a=e?await s.store.index(e).openCursor(o):await s.store.openCursor(o),c=0;for(;a&&c<r.length;){let t,e,n;void 0!==i?(t=a.key[i],e=r[c][i],n=t.startsWith(e)):(t=a.key,e=r[c],n=t===e),!n&&t>e?++c:n?(yield a.value,a=await a.continue()):a=await a.continue(r[c])}}async resourcesByUrlAndMime(t,e,r=1e3,i=!0,n="",s=""){const o=e?0:r,a=await this.db.getAll("resources",this.getLookupRange(t,i?"prefix":"exact",n,s),o),c=e.split(","),l=[];for(const t of a)for(const e of c)if(!e||t.mime?.startsWith(e)){if(l.push(this.resJson(t)),l.length===r)return l;break}return l}async resourcesByMime(t,e=100,r="",i="",n=0){const s=t.split(","),o=[];s.sort();const a=[];r&&a.push([r,n,i]);for(const t of s)(!r||!t||t>r)&&a.push([t,0,""]);for await(const t of this.matchAny("resources","mimeStatusUrl",a,0,!0))if(o.push(this.resJson(t)),o.length===e)break;return o}async deletePage(t){const e=this.db.transaction("pages","readwrite"),r=await e.store.get(t);await e.store.delete(t);const i=await this.deletePageResources(t);return{pageSize:r?.size||0,dedupSize:i}}async deletePageResources(t){const e={},r=this.db.transaction("resources","readwrite");let i=await r.store.index("pageId").openCursor(t),n=0;for(;i;){const t=i.value.digest;t?e[t]=(e[t]||0)+1:i.value.payload&&(n+=i.value.payload.length),r.store.delete(i.primaryKey),i=await i.continue()}await r.done;const s=this.db.transaction(["payload","digestRef"],"readwrite"),o=s.objectStore("digestRef");for(const t of Object.keys(e)){const r=await o.get(t);r&&(r.count-=e[t]),r&&r.count>=1?o.put(r):(n+=r?r.size:0,o.delete(t),s.objectStore("payload").delete(t))}return await s.done,n}prefixUpperBound(t){return t.slice(0,-1)+String.fromCharCode(t.charCodeAt(t.length-1)+1)}getLookupRange(t,e,r,i){let n,s,o;switch(e){case"prefix":n=[t],s=[this.prefixUpperBound(t)];break;case"host":{const e=new URL(t).origin;n=[e+"/"],s=[e+"0"];break}default:n=[t],s=[t,Number.MAX_SAFE_INTEGER]}return r?(n=[r,i||""],o=!0):o=!1,IDBKeyRange.bound(n,s,o,!0)}}class mo{repeats={};getSkipCount(t,e,r){if("POST"!==r&&!e.endsWith(".m3u8"))return 0;t.replacesClientId&&delete this.repeats[t.replacesClientId];const i=t.resultingClientId||t.clientId;return i?(void 0===this.repeats[i]&&(this.repeats[i]={}),void 0===this.repeats[i][e]?this.repeats[i][e]=0:this.repeats[i][e]++,this.repeats[i][e]):0}}const yo=["script","style","header","footer","banner-div","noscript"];class wo{batchSize;promises=[];batch=[];count=0;dupeSet=new Set;db;constructor(t=1e3){this.batchSize=t}addPage(t){this.promises.push(this.db.addPage(t))}isBatchFull(){return this.batch.length>=this.batchSize}addResource(t){if(this.isBatchFull()&&this.flush(),Number.isNaN(t.ts))return void console.warn("Skipping resource with missing/invalid ts: "+t.url);const e=t.url+" "+t.ts;if("warc/revisit"===t.mime){if(this.dupeSet.has(e))return void console.warn("Skipping duplicate revisit, prevent overriding non-revisit")}else this.dupeSet.add(e);this.batch.push(t)}flush(){this.batch.length>0&&this.promises.push(this.db.addResources(this.batch)),console.log(`Read ${this.count+=this.batch.length} records`),this.batch=[]}async finishIndexing(){this.flush(),this._finishLoad();try{await Promise.all(this.promises)}catch(t){console.warn(t)}this.promises=[]}_finishLoad(){}}class Ao extends wo{reader;abort;loadId;sourceExtra;anyPages=!1;detectPages=!1;_lastRecord=null;metadata={};pages=[];lists=[];pageMap={};constructor(t,e=null,r=null,i=null){super(),this.reader=t,this.abort=e,this.loadId=r,this._lastRecord=null,this.metadata={},this.pageMap={},this.pages=[],this.lists=[],this.sourceExtra=i}parseWarcInfo(t){if(!t.payload)return;const e=new TextDecoder("utf-8").decode(t.payload);for(const r of e.split("\n"))if(r.startsWith("json-metadata:"))try{const t=JSON.parse(r.slice(14));if("collection"===t.type&&(this.metadata.desc=t.desc,this.metadata.title=t.title),t.pages?.length){this.pages=this.pages.concat(t.pages);for(const e of t.pages)e.ts=f(e.timestamp).getTime(),this.pageMap[e.ts+"/"+e.url]={page:e};this.anyPages=!0}t.lists?.length&&(this.lists=this.lists.concat(t.lists))}catch(t){console.log("Page Add Error",t.toString())}}index(t,e){if("warcinfo"!==t.warcType){if(this._lastRecord)return this._lastRecord.warcTargetURI!=t.warcTargetURI?(this.indexReqResponse(this._lastRecord,null,e),void(this._lastRecord=t)):void("request"===t.warcType&&"response"===this._lastRecord.warcType?(this.indexReqResponse(this._lastRecord,t,e),this._lastRecord=null):"response"===t.warcType&&"request"===this._lastRecord.warcType?(this.indexReqResponse(t,this._lastRecord,e),this._lastRecord=null):(this.indexReqResponse(this._lastRecord,null,e),this._lastRecord=t));this._lastRecord=t}else this.parseWarcInfo(t)}indexDone(t){this._lastRecord&&(this.indexReqResponse(this._lastRecord,null,t),this._lastRecord=null)}shouldIndexMetadataRecord(t){const e=t.warcTargetURI;return!!e?.startsWith("metadata://")}parseRevisitRecord(t,e){const r=t.warcTargetURI.split("#")[0],i=t.warcDate,n=i?new Date(i).getTime():Date.now();let s,o=null;if(t.httpHeaders){const i=this.parseResponseHttpHeaders(t,r,e);i&&(o=Object.fromEntries(i.headers.entries()),s=i.status)}const a=t.warcRefersToTargetURI,c=new Date(t.warcRefersToDate).getTime(),l=t.warcHeader("WARC-Refers-To-Container");let h="";return l?.endsWith(".wacz")&&(h=l,l.startsWith("file://")&&(h=h.slice(7))),a===r&&c===n?null:{url:r,ts:n,origURL:a,origTS:c,origWACZ:h,digest:t.warcPayloadDigest||null,pageId:null,respHeaders:o,status:s}}parseResponseHttpHeaders(t,e,r){let i=200,n=null,s="";const o=r?.httpHeaders?.method;if(t.httpHeaders){if(i=Number(t.httpHeaders.statusCode)||200,"OPTIONS"===o||"HEAD"===o)return null;if(n=E(t.httpHeaders.headers),s=(n.get("content-type")||"").split(";")[0],206===i&&!this.isFullRangeRequest(n))return null}else n=new Headers,n.set("content-type",t.warcContentType),n.set("content-length",String(t.warcContentLength)),s=t.warcContentType||"";return{status:i,method:o,headers:n,mime:s}}indexReqResponse(t,e,r){const i=this.parseRecords(t,e);i&&this.addResource(i)}parseRecords(t,e){switch(t.warcType){case"revisit":return this.parseRevisitRecord(t,e);case"resource":e=null;break;case"response":break;case"metadata":if(!this.shouldIndexMetadataRecord(t))return null;break;default:return null}let r=t.warcTargetURI.split("#")[0];const i=t.warcDate,n=this.parseResponseHttpHeaders(t,r,e);if(!n)return null;const{status:s,method:o,headers:a,mime:c}=n;let l,h,u=null,p=null;if(e?.httpHeaders?.headers){let t=null;try{t=new Headers(e.httpHeaders.headers);const r=t.get("cookie");r&&a.set("x-wabac-preset-cookie",r),u=e.httpHeaders.headers.get("Referer")||null}catch(e){t=new Headers,console.warn(e)}if(h=Object.fromEntries(t.entries()),"GET"!==o){const i={headers:t,method:o||"GET",url:r,postData:e.payload};pt(i)&&(l=r,r=i.url,p=e.payload)}}if(void 0===this.detectPages&&(this.detectPages=!this.anyPages),this.detectPages&&function(t,e,r){if(200!=e)return!1;if(!t.startsWith("http:")&&!t.startsWith("https:")&&!t.startsWith("blob:"))return!1;if(t.endsWith("/robots.txt"))return!1;const i=t.split("?",2);return!(2===i.length&&i[1].length>i[0].length)&&(!i[0].substring(i[0].lastIndexOf("/")+1).startsWith(".")&&(!r||"text/html"===r))}(r,s,c)){const t=r;this.addPage({url:r,date:i,title:t})}const d=i?new Date(i).getTime():Date.now(),f=Object.fromEntries(a.entries()),g=t.warcPayloadDigest||null,m=t.payload,y={url:r,ts:d,status:s,mime:c,respHeaders:f,reqHeaders:h,digest:g,payload:m,reader:m?null:t.reader,referrer:u};this.pageMap[d+"/"+r]&&m&&c.startsWith("text/")&&(this.pageMap[d+"/"+r].textPromise=async function(t,e,r,i){const n=new Dn,s=[];let o=null;n.on("text",t=>{if(o)return;const e=t.text.trim();e&&s.push(e)}),n.on("startTag",t=>{!t.selfClosing&&yo.includes(t.tagName)&&(o=t.tagName)}),n.on("endTag",t=>{t.tagName===o&&(o=null)}),(r||i)&&(e=await $t(e,r,i)),n.end((new TextDecoder).decode(e));const a=new Promise(t=>{n.on("end",()=>{t(s.join(" "))})});return await a}(0,m,a.get("content-encoding"),a.get("transfer-encoding")));const w=t.warcHeader("WARC-JSON-Metadata");if(w)try{y.extraOpts=JSON.parse(w)}catch(t){}const A=t.warcHeader("WARC-Page-ID");return A&&(y.pageId=A),this.sourceExtra&&(y.source=this.sourceExtra),"GET"!==o&&l&&(y.requestUrl=l,y.method=o,y.requestBody=p||new Uint8Array([])),y}isFullRangeRequest(t){const e=t.get("content-range"),r=parseInt(t.get("content-length")||"0");return e&&e===`bytes 0-${r-1}/${r}`}filterRecord(t){return null}async load(t,e,r=0){if(e&&!r)throw new Error("totalSize is required");this.db=t;const i=new Wt(this.reader);let n=0,s=0,o=0;try{for await(const a of i){if(o++,!a.warcType){console.log("skip empty record");continue}const c=self.interruptLoads;if(e&&this.loadId&&c[this.loadId])throw e(Math.round(i.offset/r*95),"Loading Canceled",i.offset,r),c[this.loadId](),this.abort&&this.abort.abort(),new N;if(s=(new Date).getTime(),s-n>500){const t=`Processed ${o} records`;e(Math.round(i.offset/r*95),null,i.offset,r,null,t),n=s}const l=this.filterRecord(a);if("done"===l){this.abort&&this.abort.abort();break}if("skip"!==l&&("skipContent"===l?await a.skipFully():await a.readFully(),o++,this.index(a,i),this.promises.length>0)){try{await Promise.all(this.promises)}catch(t){console.warn(t.toString())}this.promises=[]}}}catch(t){if(t instanceof N)throw t;e(Math.round(i.offset/r*95),`Sorry there was an error downloading. Please try again (${t})`,i.offset,r),console.warn(t)}return this.indexDone(i),e(95,null,i.offset,r),await this.finishIndexing(),e(100,null,r,r),this.metadata}async _finishLoad(){if(this.pages.length){for(const{page:t,textPromise:e}of Object.values(this.pageMap))if(e)try{t.text=await e}catch(t){console.warn("Error adding text: "+t.toString())}this.promises.push(this.db.addPages(this.pages))}this.lists.length&&this.promises.push(this.db.addCuratedPageLists(this.lists,"bookmarks","public"))}}class bo extends Ao{constructor(t){super(t),this.detectPages=!1}addPage(){}async load(){const t=await new Wt(this.reader).parse();if(!t)return null;const e=this.parseRecords(t,null);return e&&"revisit"!==t.warcType||await t.readFully(),e}}const Eo="https://w3s.link/";function vo(t){const{hostname:e,protocol:r,pathname:i}=new URL(t),n=r.slice(0,-1);if(!e){const[t,...e]=i.slice(2).split("/");return{type:n,cid:t,path:"/"+e.join("/")}}return{type:n,cid:e,path:i}}async function _o(t){return Ro(t)?t:ko(t)?So(t):t}async function xo(t){return new Response(t).blob()}async function*Io(t){const e=await t.getReader();try{for(;;){const{done:t,value:r}=await e.read();if(t)return;yield r}}finally{e.releaseLock()}}function So(t){let e=t;e.next||(e=t[Symbol.asyncIterator]());const r=new TextEncoder;return new ReadableStream({async pull(t){const{value:i,done:n}=await e.next();if(n)await t.close();else{let e=i;"string"==typeof e&&(e=r.encode(e)),await t.enqueue(e)}}})}async function To(t){if(!t.ok){const e=await t.text(),r=t.status;throw new Error(`HTTP Error ${r}: ${e}`)}}async function Co({url:t,file:e,fileName:r="",parameterName:i="file",fetch:n=globalThis.fetch,signal:s}){const o=new FormData,a=new Headers;No(t,a);const c=await async function(t){if(Ro(t))return await xo(t);if(ko(t)){const e=So(t);return await xo(e)}return t instanceof Blob?t:new Blob([t])}(e);r?o.append(i,c,r):o.append(i,c);const l=await n(t,{method:"POST",body:o,headers:a,signal:s});return await To(l),l}function Ro(t){return"function"==typeof t.getReader}function ko(t){return t[Symbol.asyncIterator]}function No(t,e){if(t.password)if(t.username){const r=`Basic ${btoa(`${unescape(t.username)}:${unescape(t.password)}`)}`;e.append("Authorization",unescape(r)),t.username="",t.password=""}else{const r=`Bearer ${t.password}`;e.append("Authorization",unescape(r)),t.password=""}}async function Bo({url:t,fetch:e=globalThis.fetch,signal:r}){const i=await e(t,{method:"HEAD",signal:r});await To(i);const n=i.headers.get("x-ipfs-datasize")||i.headers.get("Content-Length");return parseInt(n,10)}async function*Oo({url:t,start:e,end:r,format:i,signal:n,fetch:s=globalThis.fetch}){const o=new Headers;Number.isInteger(e)&&(Number.isInteger(r)?o.set("Range",`bytes=${e}-${r}`):o.set("Range",`bytes=${e}-`));const a=new URL(t);i&&(o.set("Accept",`application/vnd.ipld.${i}`),o.set("cache-control","no-cache"));const c=await s(a.href,{headers:o,signal:n});await To(c),yield*Io(c.body)}async function*Po({url:t,start:e,end:r,format:i,signal:n,gatewayURL:s=Do()}){const o=function(t,e=Do()){const{cid:r,path:i,type:n}=vo(t);return new URL(`/${n}/${r}${i}`,e)}(t,s);yield*Oo({url:o,start:e,end:r,format:i,signal:n})}function Do(){if(!globalThis.location)return Eo;const{pathname:t,hostname:e,protocol:r}=globalThis.location;if(t.startsWith("/ipfs/")||t.startsWith("/ipns/"))return`${r}//${e}/`;const[i,...n]=e.split(".");return 59===i.length&&n.length>=2?`${r}//${n.join(".")}/`:Eo}let Lo=!1;const Uo=[5001,45001,45002,45003,45004,45005],Mo="https://api.web3.storage/",Fo="https://api.estuary.tech/",Ho="http://localhost:5001/",jo="agregore",Wo="daemon",Qo="web3.storage",zo="estuary",Vo="readonly",Go=[jo,Wo,Qo,zo,Vo];class qo{get type(){return"invalid"}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){throw new Error("Not Implemented")}async getSize(t,e=null){throw new Error("Not Implemented")}async uploadCAR(t,e=null){throw new Error("Not Implemented")}async uploadFile(t,e,r=null){throw new Error("Not Implemented")}async clear(t,e=null){throw new Error("Not Implemented")}}async function Yo({daemonURL:t,web3StorageToken:e,web3StorageURL:r=Mo,estuaryToken:i,estuaryURL:n=Fo,publicGatewayURL:s=Do(),readonly:o=!0,timeout:a=1e3,fetch:c=globalThis.fetch}={}){const l=[],h=[];if(h.push(async function(t=globalThis.fetch){try{return await t("ipfs://localhost/"),!0}catch(t){return Lo&&console.warn("Unable to detect Agregore",t),!1}}(c).then(t=>t&&l.push({type:jo,fetch:c}))),h.push(async function(){const t=Uo.map(t=>`http://localhost:${t}`);try{const r=await Promise.any(t.map(t=>ia(t).then(e=>{if(e)return t;throw new Error("Not found")})));return!!r&&(ra&&!ea&&(e=r,ea=!0,globalThis.chrome.webRequest.onBeforeSendHeaders.addListener(t=>{const{requestHeaders:r}=t;for(const t of r)if("origin"===t.name.toLowerCase())return t.value=e,{requestHeaders:r};return t.requestHeaders.push({name:"Origin",value:e}),{requestHeaders:r}},{urls:[e+"/*"]},["blocking","requestHeaders","extraHeaders"])),r)}catch{return!1}var e}().then(t=>t&&l.push({type:Wo,url:t,fetch:c}))),t&&h.push(ia(t,a,c).then(e=>e&&l.push({type:Wo,url:t,fetch:c}))),i){const t=n,e=i;l.push({type:zo,url:t,authorization:e,fetch:c,publicGatewayURL:s})}if(e){const t=r,i=e;l.push({type:Qo,url:t,authorization:i,fetch:c,publicGatewayURL:s})}return o&&s&&l.push({type:Vo,fetch:c,publicGatewayURL:s}),await Promise.allSettled(h),l}async function Ko({chooseOrder:t=Go,...e}={}){const r=function(t,e=Go){const r=t.filter(({type:t})=>e.includes(t)).sort(({type:t},{type:r})=>e.indexOf(t)-e.indexOf(r))[0];if(!r)throw new Error("Unable to find valid type");return r}(await Yo(e),t);return async function(t){const{type:e}=t;let r=null;if(e===jo)r=new Zo(t.fetch||globalThis.fetch);else if(e===Wo)r=new ta(t.url);else if(e===Qo)r=new $o(t.authorization,t.url,t.publicGatewayURL);else if(e===zo)r=new Jo(t.authorization,t.url,t.publicGatewayURL);else{if(e!==Vo)throw new TypeError(`Unknown API type: ${e}.`);r=new Xo(t.publicGatewayURL)}return r}(r)}class Xo extends qo{constructor(t=Do()){super(),this.gatewayURL=t}get type(){return Vo}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){yield*Po({url:t,start:e,end:r,format:n,gatewayURL:this.gatewayURL,signal:i})}async getSize(t,e=null){const{cid:r,path:i,type:n}=vo(t);return Bo({url:new URL(`/${n}/${r}${i}`,this.gatewayURL),signal:e})}}class Jo extends Xo{constructor(t,e=Fo,r=Do()){super(r),this.authorization=t,this.url=e}get type(){return zo}async uploadCAR(t,e=null){throw new Error("Not Implemented")}async uploadFile(t,e,r=null){const i=new URL("/content/add",this.url);i.password=this.authorization;const n=await Co({url:i,file:t,fileName:e,parameterName:"data",signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Zo extends qo{constructor(t=globalThis.fetch){super(),this.fetch=t}get type(){return jo}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{fetch:s}=this;yield*Oo({url:t,start:e,end:r,format:n,fetch:s,signal:i})}async getSize(t,e=null){const{fetch:r}=this;return Bo({url:t,fetch:r,signal:e})}async uploadCAR(t,e=null){const r=await _o(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/vnd.ipld.car"},signal:e,body:r});return await To(n),(await n.text()).split("\n")}async uploadFile(t,e=null){const r=await _o(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/octet-stream"},signal:e,body:r});return await To(n),n.headers.get("Location")}}class $o extends Xo{constructor(t,e=Mo,r=Do()){super(r),this.authorization=t,this.url=e}get type(){return Qo}async uploadCAR(t,e=null){const r=new URL("/car",this.url);r.password=this.authorization;const i=await async function({url:t,fileIterator:e,signal:r}){const i=new Headers;i.set("Content-Type","application/octet-stream"),No(t,i);const n=await _o(e),s=await fetch(t,{method:"POST",signal:r,body:n,headers:i,duplex:"half"});return await To(s),s}({url:r,fileIterator:t,signal:e});return(await i.text()).split("\n").filter(t=>t).map(t=>{const{cid:e}=JSON.parse(t);return`ipfs://${e}/`})}async uploadFile(t,{fileName:e="",signal:r=null}={}){const i=new URL("/upload",this.url);i.password=this.authorization;const n=await Co({url:i,file:t,fileName:e,signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class ta extends qo{constructor(t=Ho){super(),this.url=t}get type(){return Wo}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{cid:s,path:o,type:a}=vo(t),c=new URL(`/api/v0/cat?arg=/${a}/${s}${o}`,this.url);if(e&&c.searchParams.set("offset",e),r&&c.searchParams.set("length",r-(e||0)+1),n)throw new Error("Format is unsupported on Kubo Daemons for now");const l=await fetch(c,{method:"POST",signal:i});await To(l),yield*Io(l.body)}async getSize(t,e=null){try{const{cid:r,path:i,type:n}=vo(t),s=`/api/v0/file/ls?arg=/${n}/${r}${i}&size=true`,o=new URL(s,this.url),a=await fetch(o,{method:"POST",signal:e});await To(a);const{Objects:c}=await a.json(),[{Size:l}]=Object.values(c);return l}catch(r){return Lo&&console.warn(r),this._getSizeWithDag(t,e)}}async _getSizeWithDag(t,e=null){const{cid:r,path:i,type:n}=vo(t),s=new URL(`/api/v0/dag/stat?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await To(o);const{Size:a}=await o.json();return parseInt(a,10)}async _pin(t,e=null){const{cid:r,path:i,type:n}=vo(t),s=new URL(`/api/v0/pin/add?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await To(o)}async _unpin(t,e=null){const{cid:r,path:i,type:n}=vo(t),s=new URL(`/api/v0/pin/rm?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await To(o)}async clear(t,e=null){return this._unpin(t,e)}async uploadCAR(t,e=null){const r=new URL("/api/v0/dag/import?allow-big-block=true&pin-roots=true",this.url),i=await Co({url:r,file:t,signal:e});return(await i.text()).split("\n").filter(t=>t).map(t=>{const{Root:e}=JSON.parse(t);return`ipfs://${e.Cid["/"]}/`})}async uploadFile(t,e="",r=null){const i=new URL("/api/v0/add?pin=true&cid-version=1&inline=false&raw-leaves=true",this.url),n=t.name&&t instanceof Blob;(e||n)&&i.searchParams.set("wrap-with-directory","true");const s=await Co({url:i,file:t,fileName:e,signal:r}),o=await s.text(),[a]=o.split("\n"),{Hash:c}=JSON.parse(a),l=`ipfs://${c}/`;return await this._pin(l,r),l}}let ea=!1;const ra=!!(globalThis&&globalThis.chrome&&globalThis.chrome.webRequest&&globalThis.chrome.webRequest.onBeforeSendHeaders&&globalThis.chrome.webRequest.onBeforeSendHeaders.addListener);async function ia(t=Ho,e=1e3,r=globalThis.fetch){try{const i=new AbortController,{signal:n}=i;setTimeout(()=>i.abort(),e);const s=await r(new URL("/api/v0/version",t),{method:"POST",signal:n});return!!s.ok||!(!s.status||404===s.status)}catch(e){return Lo&&console.warn("Unable to detect Kubo Daemon",e,t),!1}}let na=null;async function sa(t){return na||(na=await Ko(t)),na}const oa="https://helper-proxy.webrecorder.workers.dev";async function aa(t){const{url:e}=t;if(t.extra?.arrayBuffer)return new ua(t.extra.arrayBuffer);const r=e.split(":",1)[0];switch(r){case"blob":return new pa(t);case"http":case"https":return new la(t);case"file":return new da(t);case"googledrive":return new ha(t);case"ipfs":return new fa(t)}try{if(self.location&&r===self.location.protocol.split(":")[0])return new la(t)}catch(t){}try{await fetch(`${r}://localhost`,{method:"HEAD"});try{new URL(e)}catch(r){let i=e.replace(":\\","//");i=i.replaceAll("\\","/"),t.url=i}return new la(t)}catch(t){}throw new Error("Invalid URL: "+e)}class ca{canLoadOnDemand=!0;headers={};length=null;canDoNegativeRange=!1;constructor(t){this.canLoadOnDemand=t}async getRangeFromEnd(t,e,r){if(this.canDoNegativeRange)return await this.getRange(0,-t,e,r);{const i=await this.getLength();return t=Math.min(t,i),await this.getRange(i-t,t,e,r)}}getFullBuffer(){return null}}class la extends ca{url;length;isValid=!1;ipfsAPI=null;loadingIPFS=null;arrayBuffer=null;constructor({url:t,headers:e,length:r=null,canLoadOnDemand:i=!1}){super(i),this.url=t,this.headers=e||{},this.length=r,this.canLoadOnDemand=i,this.canDoNegativeRange=!0}async doInitialFetch(t,e=!1){const r=new Headers(this.headers);e||r.set("Range","bytes=0-"),this.isValid=!1;let i=null,n=null;if(t)try{n=await this.retryFetch(this.url,{headers:r,method:"HEAD",cache:"no-store"}),200!==n.status&&206!=n.status||(this.canLoadOnDemand=206===n.status||"bytes"===n.headers.get("Accept-Ranges"),this.isValid=!0)}catch(t){}if(!this.isValid||!this.canLoadOnDemand){i=new AbortController;const e=i.signal;n=await this.retryFetch(this.url,{headers:r,signal:e,cache:"no-store"}),this.canLoadOnDemand=206===n.status||"bytes"===n.headers.get("Accept-Ranges"),this.isValid=206===n.status||200===n.status,t&&(i.abort(),i=null)}if(null===this.length&&n&&(this.length=Number(n.headers.get("Content-Length")),this.length||206!==n.status||this.parseLengthFromContentRange(n.headers)),null===this.length)try{const t=await fetch(`${oa}/c/${this.url}`),e=await t.json();e.size&&(this.length=e.size)}catch(t){console.log("Error fetching from helper: "+t)}if(this.length=Number(this.length||0),!this.canLoadOnDemand&&this.isValid&&this.length>0&&this.length<=o){const t=await this.retryFetch(this.url,{headers:r,cache:"no-store"});t.ok&&(this.arrayBuffer=new ua(new Uint8Array(await t.arrayBuffer())),this.canLoadOnDemand=!0,this.canDoNegativeRange=!1)}return{response:n,abort:i}}async getLength(){if(null===this.length){const{abort:t}=await this.doInitialFetch(!0);t&&t.abort()}return this.length||0}async getRange(t,e,r=!1,i=null){if(this.arrayBuffer)return await this.arrayBuffer.getRange(t,e,r);const n=new Headers(this.headers);e<0?n.set("Range",`bytes=${e}`):n.set("Range",`bytes=${t}-${t+e-1}`);const s={signal:i,headers:n,cache:"no-store"};let o;try{o=await this.retryFetch(this.url,s)}catch(t){throw new C(this.url)}if(206!=o.status){if(e<0){const t=await this.getLength();return-e>t&&(e=-t),await this.getRange(t+e,-e,r,i)}const t={url:this.url,status:o.status,resp:o};throw 401===o.status?new R(t):403==o.status?new k(t):new C(t)}return null===this.length&&this.parseLengthFromContentRange(o.headers),r?o.body||new Uint8Array:new Uint8Array(await o.arrayBuffer())}async retryFetch(t,e){let r=1e3;for(let i=0;i<20;i++){const i=await fetch(t,e);if(429!==i.status&&503!==i.status)return i;await O(r),r+=2e3}throw new Error("retryFetch failed")}parseLengthFromContentRange(t){const e=t.get("Content-Range");if(e){const t=e.split("/");2===t.length&&(this.length=parseInt(t[1]))}}getFullBuffer(){return this.arrayBuffer?.getFullBuffer()??null}}class ha extends ca{fileId;apiUrl;length;publicUrl=null;isValid=!1;constructor({url:t,headers:e,size:r,extra:i}){super(!0),this.fileId=t.slice(14),this.apiUrl=`https://www.googleapis.com/drive/v3/files/${this.fileId}?alt=media`,this.headers=e||{},i?.publicUrl&&(this.publicUrl=i.publicUrl),this.length=r||0}async getLength(){return this.length}async doInitialFetch(t){let e=null,r=null;if(this.publicUrl){e=new la({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}if(!e.isValid&&(r?.abort&&r.abort.abort(),await this.refreshPublicUrl())){e=new la({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}!e.isValid&&r?.abort&&r.abort.abort()}}return e?.isValid||(this.publicUrl=null,e=new la({url:this.apiUrl,headers:this.headers,length:this.length}),r=await e.doInitialFetch(t)),this.isValid=e.isValid,!this.length&&e.length&&(this.length=e.length),r}async getRange(t,e,r=!1,i){let n=null;if(this.publicUrl){n=new la({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(s){if(await this.refreshPublicUrl()){n=new la({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(t){}}}this.publicUrl=null}n=new la({url:this.apiUrl,headers:this.headers,length:this.length});let s=50;for(;s<2e3;)try{return await n.getRange(t,e,r,i)}catch(t){if(t instanceof k&&t.info.resp?.headers.get("content-type").startsWith("application/json")){const e=await t.info.resp.json();if(e.error?.errors&&"userRateLimitExceeded"===e.error.errors[0].reason){console.log(`Exponential backoff, waiting for: ${s}`),await O(s),s*=2;continue}}throw t}throw new C("not found")}async refreshPublicUrl(){try{const t=await fetch(`${oa}/g/${this.fileId}`),e=await t.json();if(e.url)return this.publicUrl=e.url,!0}catch(t){}return!1}}class ua extends ca{arrayBuffer;size;constructor(t){super(!0),this.arrayBuffer=t,this.size=t.length,this.length=this.size}get isValid(){return!!this.arrayBuffer}async getLength(){return this.size}async doInitialFetch(t=!1){const e=t?null:ma(this.arrayBuffer);return{response:new Response(e),abort:null}}async getRange(t,e,r=!1){const i=this.arrayBuffer.slice(t,t+e);return r?ma(i):i}getFullBuffer(){return this.arrayBuffer}}class pa extends ca{url;blob;size;arrayBuffer=null;constructor({url:t,blob:e=null,size:r=null}){super(!0),this.url=t,this.blob=e,this.size=this.blob?this.blob.size:r||0,this.length=this.size}get isValid(){return!!this.blob}async getLength(){if(!this.blob?.size){const t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.size,this.length=this.size}return this.size}async doInitialFetch(t=!1){if(!this.blob)try{const t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.size,this.length=this.size}catch(t){throw console.warn(t),t}const e=this.blob.arrayBuffer?await this.blob.arrayBuffer():await this._getArrayBuffer();this.arrayBuffer=new Uint8Array(e);const r=t?null:ma(this.arrayBuffer);return{response:new Response(r),abort:null}}async getRange(t,e,r=!1){this.arrayBuffer||await this.doInitialFetch(!0);const i=this.arrayBuffer.slice(t,t+e);return r?ma(i):i}async _getArrayBuffer(){return new Promise((t,e)=>{const r=new FileReader;r.onloadend=()=>{r.result instanceof ArrayBuffer?t(r.result):e(r.result)},this.blob&&r.readAsArrayBuffer(this.blob)})}}class da extends ca{url;file;size;fileHandle;constructor({blob:t,size:e,extra:r,url:i}){super(!0),this.url=i,this.file=null,this.size=t?t.size:e||0,this.length=this.size,this.fileHandle=r.fileHandle}get isValid(){return!!this.file}async getLength(){return void 0===this.size&&await this.initFileObject(),this.size}async initFileObject(){const t={mode:"read"};if("granted"!==await this.fileHandle.queryPermission(t)&&"granted"!==await this.fileHandle.requestPermission(t))throw new R({fileHandle:this.fileHandle});this.file=await this.fileHandle.getFile(),this.size=this.file.size,this.length=this.size}async doInitialFetch(t=!1){this.file||await this.initFileObject();const e=t?null:this.file.stream();return{response:new Response(e),abort:null}}async getRange(t,e,r=!1){this.file||await this.initFileObject();const i=this.file.slice(t,t+e);return r?i.stream():new Uint8Array(await i.arrayBuffer())}}class fa extends ca{url;opts;length;isValid=!1;constructor({url:t,headers:e,...r}){super(!0),this.url=t,this.opts=r,this.headers=e||{},this.length=null}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length}async doInitialFetch(t){const e=await sa(this.opts);try{this.length=await e.getSize(this.url),this.isValid=null!==this.length}catch(t){console.warn(t),this.length=null,this.isValid=!1}let r=206;this.isValid||(r=404);const i=new AbortController,n=i.signal;let s;return s=t||!this.isValid?new Uint8Array([]):ga(e.get(this.url,{signal:n})),{response:new Response(s,{status:r}),abort:i}}async getRange(t,e,r=!1,i=null){const n=(await sa(this.opts)).get(this.url,{start:t,end:t+e-1,signal:i});if(r)return ga(n);{const t=[];let e=0;for await(const r of n)t.push(r),e+=r.byteLength;return mt(t,e)}}}function ga(t){return new ReadableStream({start:async e=>{try{for await(const r of t)e.enqueue(r)}catch(t){console.log(t)}e.close()}})}function ma(t){return new ReadableStream({start(e){e.enqueue(t),e.close()}})}class ya extends go{noCache;streamMap;constructor(t,e=!1){super(t),this.noCache=e,this.useRefCounts=!e,this.streamMap=new Map}isSameUrl(t,e,r){if(t===e)return!0;const i=decodeURIComponent(t),n=decodeURIComponent(e);return i===n||!(!r||!n.startsWith(i))}async loadPayload(t,e){let r=await super.loadPayload(t,e);if(r&&t.respHeaders&&("warc/revisit"!==t.mime||t.status>=300&&t.status<400))return r;const i=this.streamMap.get(t.url);if(i)return console.log(`Reuse stream for ${t.url}`),new Ea(i);const{remote:n,hasher:s}=await this.loadRecordFromSource(t);if(!n)return console.log(`No WARC Record Loaded for: ${t.url}`),null;if(!this.isSameUrl(n.url,t.url,t.method))return console.log(`Wrong url: expected ${t.url}, got ${n.url}`),null;const o=t.origTS||t.ts;if(n.ts!==o&&1e3*Math.floor(n.ts/1e3)!==o)return console.log(`Wrong timestamp: expected ${o}, got ${n.ts}`),null;if(n.digest!==t.digest&&t.digest&&n.digest){const e=n.digest.split(":"),r=t.digest.split(":");2===e.length&&2===r.length&&r[1]===e[1]?t.digest=e[0]+":"+r[1]:console.log(`Wrong digest: expected ${t.digest}, got ${n.digest}`)}if(n.origURL){if(!r&&t.status>=300&&t.status<400&&n.respHeaders){if(t.respHeaders=n.respHeaders,!this.noCache)try{await this.db.put("resources",t)}catch(t){console.log(t)}return new Uint8Array([])}const i={...e,noRevisits:!0};n.origWACZ&&(i.waczname=n.origWACZ);const s=await this.lookupUrl(n.origURL,n.origTS||0,i);if(!s)return null;const o=e.depth||0;if(!r&&(o<2?r=await this.loadPayload(s,{...e,depth:o+1}):console.warn("Avoiding revisit lookup loop for: "+JSON.stringify(n)),!r))return null;if(n.respHeaders&&s.respHeaders?(t.respHeaders=n.respHeaders,s.respHeaders["content-length"]&&(t.respHeaders["content-length"]=s.respHeaders["content-length"])):t.respHeaders=s.respHeaders,t.mime=s.mime,t.origTS=s.ts,t.origURL=s.url,t.source=s.source,t.digest=s.digest,s.extraOpts&&(t.extraOpts=s.extraOpts),!this.noCache){delete t.payload;try{await this.db.put("resources",t)}catch(t){console.log(t)}s.digest!==n.digest&&n.digest&&r instanceof Uint8Array&&await this.commitPayload(r,n.digest)}return r}const a=n.digest,c=t.source.length>=25e6;if(!this.noCache&&!c&&n.reader&&a&&(n.reader=new _a(this,n.reader,a,t.url,this.streamMap,s||null,t.recordDigest,t.source)),c&&console.log("Not cacheing, too big: "+t.url),r=n.payload||null,!r&&!n.reader)return null;try{r&&!this.noCache&&!c&&a&&await this.commitPayload(r,a)}catch(e){console.warn(`Payload Update Error: ${t.url}`),console.warn(e)}if(!(t.respHeaders&&t.digest||(t.respHeaders=n.respHeaders,t.digest=a,n.extraOpts&&(t.extraOpts=n.extraOpts),this.noCache||c)))try{await this.db.put("resources",t)}catch(e){console.warn(`Resource Update Error: ${t.url}`),console.warn(e)}return r||n.reader||null}async commitPayload(t,e){if(!t||0===t.length)return;const r=this.db.transaction(["payload","digestRef"],"readwrite");try{if(r.objectStore("payload").put({payload:t,digest:e}),this.useRefCounts){const i=await r.objectStore("digestRef").get(e);i&&(i.size=t.length,r.objectStore("digestRef").put(i))}await r.done}catch(t){console.warn("Payload Commit Error: "+t)}}}class wa extends ya{async loadRecordFromSource(t){const e=await this.loadSource(t.source),r=new bo(e);return{remote:await r.load()}}}class Aa extends wa{loader;constructor(t,e,r=!1){super(t,r),this.loader=e}updateHeaders(t){this.loader.headers=t}async loadSource(t){const{start:e,length:r}=t;return await this.loader.getRange(e,r,!0)}}class ba extends wa{remoteUrlPrefix;headers;constructor(t,e,r,i=!1){super(t,i),this.remoteUrlPrefix=e,this.headers=r}updateHeaders(t){this.headers=t}async loadSource(t){const{start:e,length:r}=t,i=new Headers(this.headers),n=new URL(t.path,this.remoteUrlPrefix).href,s=await aa({url:n,headers:i});return await s.getRange(e,r,!0)}}class Ea extends It{chunkstore;offset;size;constructor(t){super(),this.chunkstore=t,this.offset=0,this.size=this.chunkstore.totalLength}setLimitSkip(t=-1,e=0){this.offset=e,t>0&&(this.size=t)}setRangeAll(t){this.size=t}async*[Symbol.asyncIterator](){yield*this.chunkstore.getChunkIter()}getReadableStream(){console.log(`Offset: ${this.offset}, Size: ${this.size}`);const t=this.chunkstore.getChunkIter();return new Tt(t,this.size,this.offset).getReadableStream()}async readlineRaw(t){throw new Error("Method not implemented.")}}class va{chunks;size=0;done=!1;totalLength;nextChunk;_nextResolve=()=>{};constructor(t){this.chunks=[],this.size=0,this.done=!1,this.totalLength=t,this.nextChunk=new Promise(t=>this._nextResolve=t)}add(t){this.chunks.push(t),this.size+=t.byteLength,this._nextResolve(!0),this.nextChunk=new Promise(t=>this._nextResolve=t)}concatChunks(){return this._nextResolve(!1),this.done=!0,mt(this.chunks,this.size)}async*getChunkIter(){for(const t of this.chunks)yield t;let t=this.chunks.length;for(;!this.done&&await this.nextChunk;)for(;t<this.chunks.length;t++)yield this.chunks[t]}}class _a extends It{db;reader;digest;url;commit=!0;fullbuff=null;hasher;expectedHash;source;isRange=!1;totalLength=-1;fixedSize=0;streamMap;constructor(t,e,r,i="",n,s,o,a){super(),this.db=t,this.reader=e,this.digest=r,this.url=i,this.commit=!0,this.fullbuff=null,this.hasher=s,this.expectedHash=o,this.source=a,this.isRange=!1,this.totalLength=-1,this.streamMap=n}setRangeAll(t){this.isRange=!0,this.totalLength=t}setLimitSkip(t=-1,e=0){this.isRange=!0,2!==t||0!==e?((-1!=t||e>0)&&(this.commit=!1),this.reader.setLimitSkip(t,e)):this.fixedSize=2}async*[Symbol.asyncIterator](){let t=null;this.commit&&(t=new va(this.totalLength),this.isRange&&(console.log(`Store stream for ${this.url}, ${this.totalLength}`),this.streamMap.set(this.url,t)));for await(const e of this.reader)t&&t.add(e),yield e;if(0!==this.reader.limit)console.warn(`Expected payload not consumed, ${this.reader.limit} bytes left`);else{if(!this.isRange&&this.hasher&&this.expectedHash&&this.source){const t=this.hasher.getHash(),{path:e,start:r,length:i}=this.source,n=`${e}:${r}-${i}`;this.db.addVerifyData(n,this.expectedHash,t)}this.commit&&(this.fullbuff=t.concatChunks(),await this.db.commitPayload(this.fullbuff,this.digest))}this.commit&&this.isRange&&(this.streamMap.delete(this.url),console.log(`Delete stream for ${this.url}`))}async _consumeIter(t){for await(const e of t);}async readFully(){return this.fullbuff||await this._consumeIter(this),this.fullbuff}getReadableStream(){const t=super.getReadableStream();if(!this.commit)return t;const e=t.tee();return this._consumeIter(St.fromReadable(e[1].getReader())),this.fixedSize?this.getFixedSizeReader(e[0].getReader(),this.fixedSize):e[0]}getFixedSizeReader(t,e){return new ReadableStream({async start(r){const{value:i,done:n}=await t.read();n||r.enqueue(i.slice(0,e)),r.close()}})}async readlineRaw(t){throw new Error("Method not implemented.")}}class xa extends wo{har;pageRefs;constructor(t){super(),this.har="string"==typeof t?JSON.parse(t):t,this.pageRefs={}}async load(t){this.db=t,this.parseEntries(this.har),this.parsePages(this.har),await this.finishIndexing()}parsePages(t){for(const e of t.log.pages){if(!e.pageTimings?.onLoad)continue;let t;t=e.title&&(e.title.startsWith("http:")||e.title.startsWith("https:"))?e.title:this.pageRefs[e.id];const r=e.title||t,i=e.startedDateTime;this.addPage({url:t,date:i,title:r})}}parseEntries(t){for(const e of t.log.entries){const r=new Date(e.startedDateTime).getTime(),i={};for(const{name:t,value:r}of e.response.headers)i[t]=r;let n=null;const s=new TextEncoder;if(e.response.content?.text)try{n=Uint8Array.from(atob(e.response.content.text),t=>t.charCodeAt(0))}catch(t){n=e.response.content.text}else{const t=i["Content-Length"];t&&"0"!==t?(console.log(`Warning: Content-Length ${t} but no content found for ${e.request.url}`),n=s.encode("Sorry, the HAR file did not include the content for this resource.")):n=Uint8Array.from([])}this.addResource({url:e.request.url,ts:r,status:e.response.status,respHeaders:i,payload:n}),e.pageref&&!this.pageRefs[e.pageref]&&(this.pageRefs[e.pageref]=e.request.url)}}}const Ia="req.http:cookie",Sa=["text/javascript","application/javascript","application/x-javascript","application/json","application/octet-stream","text/html"];class Ta extends Ao{cdxindexer=null;sourceExtra;shaPrefix;constructor(t,e,r,i={},n="sha256:"){super(t,e,r),this.sourceExtra=i,this.shaPrefix=n}filterRecord(t){switch(t.warcType){case"warcinfo":case"revisit":case"request":return null;case"metadata":return this.shouldIndexMetadataRecord(t)?null:"skip"}const e=t.warcTargetURI,r=t.warcDate?new Date(t.warcDate).getTime():Date.now();return this.pageMap[r+"/"+e]?(t._isPage=!0,null):null}index(t,e){return t&&(t._offset=e.offset,t._length=e.recordLength),super.index(t,e)}indexReqResponse(t,e,r){if(t._isPage)return super.indexReqResponse(t,e,r);if("warcinfo"===t.warcType)return void this.parseWarcInfo(t);this.cdxindexer||(this.cdxindexer=new Zt({noSurt:!0}));const i=this.cdxindexer.indexRecordPair(t,e,r,"");if(i){if(206===i.status){const e=t.httpHeaders?.headers;if(e&&!this.isFullRangeRequest(e))return}if(e&&e.httpHeaders){const t=e.httpHeaders.headers.get("cookie");t&&(i[Ia]=t)}this.addCdx(i)}}getSource(t){return{...this.sourceExtra,path:t.filename,start:Number(t.offset),length:Number(t.length)}}addCdx(t){const{url:e,mime:r}=t,i=Number(t.status)||200,n=f(t.timestamp).getTime(),s=this.getSource(t);let{digest:o,recordDigest:a}=t;o&&-1===o.indexOf(":")&&(o=this.shaPrefix+o);const c={url:e,ts:n,status:i,digest:o,recordDigest:a,mime:r,loaded:!1,source:s};if(t.method){if("HEAD"===t.method||"OPTIONS"===t.method)return;c.method=t.method}if(t[Ia]&&(c[Ia]=t[Ia]),t.method&&"GET"!==t.method)if(c.url=dt(t.url,t.requestBody||"",t.method),r&&Sa.includes(r))try{const t=new URL(c.url);for(const[e,r]of t.searchParams)r.length>ao&&t.searchParams.set(e,r.slice(0,ao));c.url=t.href}catch(t){c.url=c.url.slice(0,8192)}else c.url.length>512&&(c.url=c.url.slice(0,512));this.addResource(c)}}class Ca extends Ta{async load(t,e,r){this.db=t;let i=this.reader;i.iterLines||(i=new St(this.reader));let n=0;for await(const s of i.iterLines()){let i,o,a;n+=s.length;let c=s.trimEnd();if(!c.startsWith("{")){const t=c.indexOf(" {");if(t<0)continue;[o,a]=c.split(" ",2),c=c.slice(t)}try{i=JSON.parse(c)}catch(t){console.log("JSON Parser error on: "+c);continue}i.timestamp=a,i.url||(i.url=o,console.warn(`URL missing, using urlkey ${o}`)),e&&r&&this.isBatchFull()&&e(Math.round(n/r*100),null,n,r),this.addCdx(i)}return await this.finishIndexing(),e&&e(100,null,r,r),{}}}const Ra=4294967295,ka=65535;class Na{start;length;constructor(t,e){this.start=t,this.length=e}}let Ba=!1;class Oa extends St{hasher=null;hashInited=!1;hash="";constructor(t,e="gzip",r=!1){super(t,e,r)}async initHasher(){try{this.hasher=await lt()}catch(t){console.warn("Hasher init failed, not checking hashes: "+t.toString())}finally{this.hashInited=!0}}async _loadNext(){const t=await super._loadNext();return t?(this.hashInited||await this.initHasher(),this.hasher&&this.hasher.update(t)):this.hasher&&(this.hash="sha256:"+this.hasher.digest("hex"),this.hasher=null),t}getHash(){return this.hash}}class Pa{loader;entriesUpdated=!1;entries=null;constructor(t,e=null){this.loader=t,this.entries=e,this.entriesUpdated=!1}async load(t=!1){if(!this.entries||t){const e=65558,r=await this.loader.getRangeFromEnd(e,!1),i=Math.max(await this.loader.getLength()-e,0);try{this.entries=this._loadEntries(r,i)}catch(t){if(t instanceof Na){const e=mt([await this.loader.getRange(t.start,t.length,!1),r],t.length+r.length);this.entries=this._loadEntries(e,t.start)}}this.entriesUpdated=!0}return this.entries}_loadEntries(t,e){const r=t.byteLength;if(!r)return null;const i=new DataView(t.buffer,t.byteOffset,t.byteLength),n=new TextDecoder("utf8"),s=new TextDecoder("ascii"),o={};let a=0,c=0,l=r;for(let e=r-22,n=Math.max(0,e-ka);e>=n;--e)if(80===t[e]&&75===t[e+1]&&5===t[e+2]&&6===t[e+3]){l=e,c=i.getUint32(e+16,!0),a=i.getUint16(e+8,!0);break}if(c===Ra||a===ka){if(117853008!==i.getUint32(l-20,!0))return console.warn("invalid zip64 EOCD locator"),null;const t=this.getUint64(i,l-12,!0)-e;if(101075792!==i.getUint32(t,!0))return console.warn("invalid zip64 EOCD record"),null;a=this.getUint64(i,t+32,!0),c=this.getUint64(i,t+48,!0)}if(c>=e)c-=e;else if(c<e&&c>0)throw new Na(c,e-c);if(c>=r||c<0)for(c=-1,a=ka;++c<r&&80!==t[c]&&75!==t[c+1]&&1!==t[c+2]&&2!==t[c+3];);for(l-=46;--a>=0&&c<l&&1347092738==i.getUint32(c);){const e=i.getUint16(c+8,!0);let r=i.getUint32(c+20,!0),a=i.getUint32(c+24,!0);const l=i.getUint16(c+28,!0),h=i.getUint16(c+30,!0),u=i.getUint16(c+32,!0),p=8===i.getUint16(c+10,!0);let d=i.getUint32(c+42,!0);const f=(2048&e?n:s).decode(t.subarray(c+46,c+46+l));if(r===Ra||a===Ra||d===Ra){let t=c+46+l;const e=t+h-3;for(;t<e;){const e=i.getUint16(t,!0);let n=i.getUint16(t+2,!0);t+=4,1===e&&(a===Ra&&n>=8&&(a=this.getUint64(i,t,!0),t+=8,n-=8),r===Ra&&n>=8&&(r=this.getUint64(i,t,!0),t+=8,n-=8),d===Ra&&n>=8&&(d=this.getUint64(i,t,!0),t+=8,n-=8)),t+=n}}f.endsWith("/")||(o[f]={filename:f,deflate:p,uncompressedSize:a,compressedSize:r,localEntryOffset:d},h||(o[f].offset=30+l+d)),c+=46+l+h+u}return o}getCompressedSize(t){if(null===this.entries)return 0;const e=this.entries[t];return e?isNaN(e.compressedSize)?0:e.compressedSize:0}async loadFile(t,{offset:e=0,length:r=-1,signal:i=null,unzip:n=!1,computeHash:s=!1}={}){if(null===this.entries&&await this.load(),!this.entries)throw new Error("entries not loaded");const o=this.entries[t];if(!o)throw new Error("file not found in zip: "+t);if(void 0===o.offset){const t=await this.loader.getRange(o.localEntryOffset,30,!1),e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=e.getUint16(26,!0),i=e.getUint16(28,!0);o.offset=30+r+i+o.localEntryOffset,this.entriesUpdated=!0}r=r<0?o.compressedSize:Math.min(r,o.compressedSize-e),e+=o.offset;const a=(await this.loader.getRange(e,r,!0,i)).getReader();let c,l=null;return c=n?o.deflate?new St(new St(a,"deflate")):new St(a):new St(a,o.deflate?"deflate":null),c=(t=>s&&Ba?(l=new Oa(t),l):t)(c),{reader:c,hasher:l}}getUint64(t,e,r){const i=t.getUint32(e,r),n=t.getUint32(e+4,r),s=r?i+2**32*n:2**32*i+n;return Number.isSafeInteger(s)||console.warn(s,"exceeds MAX_SAFE_INTEGER. Precision may be lost"),s}}class Da extends ca{zipreader;filename;constructor(t,e){super(!0),this.zipreader=t,this.filename=e}get isValid(){return!0}async doInitialFetch(t=!1){await this.zipreader.load(),this.length=this.zipreader.getCompressedSize(this.filename);let e=null;if(!t){const{reader:t}=await this.zipreader.loadFile(this.filename,{unzip:!0});e=ga(t)}return{response:new Response(e),abort:null}}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length||0}async getRange(t,e,r=!1,i=null){const{reader:n}=await this.zipreader.loadFile(this.filename,{offset:t,length:e,signal:i,unzip:!0});return r?ga(n):await n.readFully()}}const La="wacz";class Ua{waczname;hash;path;crawlId;parent;fileType;indexType;reqFiles=[];entries;nonSurt;loader;zipreader;constructor({waczname:t,hash:e,path:r,parent:i=null,entries:n=null,fileType:s=La,indexType:o=0,nonSurt:a=!1,loader:c=null,crawlId:l}){this.waczname=t,this.hash=e,this.path=r,this.loader=c,this.parent=i,this.zipreader=null,this.entries=n,this.indexType=o,this.fileType=s,this.nonSurt=a,this.crawlId=l}markAsMultiWACZ(){this.fileType="multi-wacz"}async init(t){if(t&&(this.path=t),this.loader)await this.initFromLoader(this.loader);else{if(!this.parent)throw new Error("must have either loader or parent");{const t=await this.parent.createLoader({url:this.path});await this.initFromLoader(t)}}if(!this.zipreader)return{};try{const{reader:t}=await this.zipreader.loadFile("datapackage.json"),e=(new TextDecoder).decode(await t.readFully()),r=JSON.parse(e);if(r.relation?.requires){const t=r.relation.requires.map(t=>t.filename);this.reqFiles=t}}catch(t){console.warn("Error parsing reqFiles",t)}return this.entries}async initFromLoader(t){return this.zipreader=new Pa(t,this.entries),this.entries||(this.entries=await this.zipreader.load()||{}),this.entries}async loadFile(t,e){return this.zipreader||await this.init(),await this.zipreader.loadFile(t,e)}containsFile(t){return this.entries&&!!this.entries[t]}getSizeOf(t){return this.zipreader?this.zipreader.getCompressedSize(t):0}serialize(){return{waczname:this.waczname,hash:this.hash,path:this.path,crawlId:this.crawlId,entries:this.entries,indexType:this.indexType,nonSurt:this.nonSurt,reqFiles:this.reqFiles}}async save(t,e=!1){const r=this.zipreader;(e||r&&r.entriesUpdated)&&(await t.put("waczfiles",this.serialize()),r&&(r.entriesUpdated=!1))}iterContainedFiles(){return this.entries?Object.keys(this.entries):[]}getLoadPath(t){return this.waczname+"#!/"+t}getName(t){return this.waczname+"#!/"+t}async createLoader(t){const{url:e}=t,r=e.lastIndexOf("#!/");if(this.zipreader||await this.init(),r>=0)return new Da(this.zipreader,e.slice(r+3));throw new Error("invalid wacz url: "+e)}}
46
46
  /*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */function Ma(t){return null==t}var Fa={isNothing:Ma,isObject:function(t){return"object"==typeof t&&null!==t},toArray:function(t){return Array.isArray(t)?t:Ma(t)?[]:[t]},repeat:function(t,e){var r,i="";for(r=0;r<e;r+=1)i+=t;return i},isNegativeZero:function(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t},extend:function(t,e){var r,i,n,s;if(e)for(r=0,i=(s=Object.keys(e)).length;r<i;r+=1)t[n=s[r]]=e[n];return t}};function Ha(t,e){var r="",i=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(r+='in "'+t.mark.name+'" '),r+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(r+="\n\n"+t.mark.snippet),i+" "+r):i}function ja(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=Ha(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}ja.prototype=Object.create(Error.prototype),ja.prototype.constructor=ja,ja.prototype.toString=function(t){return this.name+": "+Ha(this,t)};var Wa=ja;function Qa(t,e,r,i,n){var s="",o="",a=Math.floor(n/2)-1;return i-e>a&&(e=i-a+(s=" ... ").length),r-i>a&&(r=i+a-(o=" ...").length),{str:s+t.slice(e,r).replace(/\t/g,"→")+o,pos:i-e+s.length}}function za(t,e){return Fa.repeat(" ",e-t.length)+t}var Va=function(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var r,i=/\r?\n|\r|\0/g,n=[0],s=[],o=-1;r=i.exec(t.buffer);)s.push(r.index),n.push(r.index+r[0].length),t.position<=r.index&&o<0&&(o=n.length-2);o<0&&(o=n.length-1);var a,c,l="",h=Math.min(t.line+e.linesAfter,s.length).toString().length,u=e.maxLength-(e.indent+h+3);for(a=1;a<=e.linesBefore&&!(o-a<0);a++)c=Qa(t.buffer,n[o-a],s[o-a],t.position-(n[o]-n[o-a]),u),l=Fa.repeat(" ",e.indent)+za((t.line-a+1).toString(),h)+" | "+c.str+"\n"+l;for(c=Qa(t.buffer,n[o],s[o],t.position,u),l+=Fa.repeat(" ",e.indent)+za((t.line+1).toString(),h)+" | "+c.str+"\n",l+=Fa.repeat("-",e.indent+h+3+c.pos)+"^\n",a=1;a<=e.linesAfter&&!(o+a>=s.length);a++)c=Qa(t.buffer,n[o+a],s[o+a],t.position-(n[o]-n[o+a]),u),l+=Fa.repeat(" ",e.indent)+za((t.line+a+1).toString(),h)+" | "+c.str+"\n";return l.replace(/\n$/,"")},Ga=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],qa=["scalar","sequence","mapping"],Ya=function(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===Ga.indexOf(e))throw new Wa('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=function(t){var e={};return null!==t&&Object.keys(t).forEach(function(r){t[r].forEach(function(t){e[String(t)]=r})}),e}(e.styleAliases||null),-1===qa.indexOf(this.kind))throw new Wa('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function Ka(t,e){var r=[];return t[e].forEach(function(t){var e=r.length;r.forEach(function(r,i){r.tag===t.tag&&r.kind===t.kind&&r.multi===t.multi&&(e=i)}),r[e]=t}),r}function Xa(t){return this.extend(t)}Xa.prototype.extend=function(t){var e=[],r=[];if(t instanceof Ya)r.push(t);else if(Array.isArray(t))r=r.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new Wa("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(r=r.concat(t.explicit))}e.forEach(function(t){if(!(t instanceof Ya))throw new Wa("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new Wa("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new Wa("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(t){if(!(t instanceof Ya))throw new Wa("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(Xa.prototype);return i.implicit=(this.implicit||[]).concat(e),i.explicit=(this.explicit||[]).concat(r),i.compiledImplicit=Ka(i,"implicit"),i.compiledExplicit=Ka(i,"explicit"),i.compiledTypeMap=function(){var t,e,r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(t){t.multi?(r.multi[t.kind].push(t),r.multi.fallback.push(t)):r[t.kind][t.tag]=r.fallback[t.tag]=t}for(t=0,e=arguments.length;t<e;t+=1)arguments[t].forEach(i);return r}(i.compiledImplicit,i.compiledExplicit),i};var Ja=Xa,Za=new Ya("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}}),$a=new Ya("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}}),tc=new Ya("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}}),ec=new Ja({explicit:[Za,$a,tc]}),rc=new Ya("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),ic=new Ya("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"});function nc(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function sc(t){return 48<=t&&t<=55}function oc(t){return 48<=t&&t<=57}var ac=new Ya("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,r=t.length,i=0,n=!1;if(!r)return!1;if("-"!==(e=t[i])&&"+"!==e||(e=t[++i]),"0"===e){if(i+1===r)return!0;if("b"===(e=t[++i])){for(i++;i<r;i++)if("_"!==(e=t[i])){if("0"!==e&&"1"!==e)return!1;n=!0}return n&&"_"!==e}if("x"===e){for(i++;i<r;i++)if("_"!==(e=t[i])){if(!nc(t.charCodeAt(i)))return!1;n=!0}return n&&"_"!==e}if("o"===e){for(i++;i<r;i++)if("_"!==(e=t[i])){if(!sc(t.charCodeAt(i)))return!1;n=!0}return n&&"_"!==e}}if("_"===e)return!1;for(;i<r;i++)if("_"!==(e=t[i])){if(!oc(t.charCodeAt(i)))return!1;n=!0}return!(!n||"_"===e)},construct:function(t){var e,r=t,i=1;if(-1!==r.indexOf("_")&&(r=r.replace(/_/g,"")),"-"!==(e=r[0])&&"+"!==e||("-"===e&&(i=-1),e=(r=r.slice(1))[0]),"0"===r)return 0;if("0"===e){if("b"===r[1])return i*parseInt(r.slice(2),2);if("x"===r[1])return i*parseInt(r.slice(2),16);if("o"===r[1])return i*parseInt(r.slice(2),8)}return i*parseInt(r,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1==0&&!Fa.isNegativeZero(t)},represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),cc=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),lc=/^[-+]?[0-9]+e/,hc=new Ya("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!cc.test(t)||"_"===t[t.length-1])},construct:function(t){var e,r;return r="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:r*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||Fa.isNegativeZero(t))},represent:function(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Fa.isNegativeZero(t))return"-0.0";return r=t.toString(10),lc.test(r)?r.replace("e",".e"):r},defaultStyle:"lowercase"}),uc=ec.extend({implicit:[rc,ic,ac,hc]}),pc=uc,dc=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),fc=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),gc=new Ya("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==dc.exec(t)||null!==fc.exec(t))},construct:function(t){var e,r,i,n,s,o,a,c,l=0,h=null;if(null===(e=dc.exec(t))&&(e=fc.exec(t)),null===e)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),c=new Date(Date.UTC(r,i,n,s,o,a,l)),h&&c.setTime(c.getTime()-h),c},instanceOf:Date,represent:function(t){return t.toISOString()}}),mc=new Ya("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),yc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",wc=new Ya("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,r,i=0,n=t.length,s=yc;for(r=0;r<n;r++)if(!((e=s.indexOf(t.charAt(r)))>64)){if(e<0)return!1;i+=6}return i%8==0},construct:function(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=yc,o=0,a=[];for(e=0;e<n;e++)e%4==0&&e&&(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)),o=o<<6|s.indexOf(i.charAt(e));return 0==(r=n%4*6)?(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)):18===r?(a.push(o>>10&255),a.push(o>>2&255)):12===r&&a.push(o>>4&255),new Uint8Array(a)},predicate:function(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function(t){var e,r,i="",n=0,s=t.length,o=yc;for(e=0;e<s;e++)e%3==0&&e&&(i+=o[n>>18&63],i+=o[n>>12&63],i+=o[n>>6&63],i+=o[63&n]),n=(n<<8)+t[e];return 0==(r=s%3)?(i+=o[n>>18&63],i+=o[n>>12&63],i+=o[n>>6&63],i+=o[63&n]):2===r?(i+=o[n>>10&63],i+=o[n>>4&63],i+=o[n<<2&63],i+=o[64]):1===r&&(i+=o[n>>2&63],i+=o[n<<4&63],i+=o[64],i+=o[64]),i}}),Ac=Object.prototype.hasOwnProperty,bc=Object.prototype.toString,Ec=new Ya("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,r,i,n,s,o=[],a=t;for(e=0,r=a.length;e<r;e+=1){if(i=a[e],s=!1,"[object Object]"!==bc.call(i))return!1;for(n in i)if(Ac.call(i,n)){if(s)return!1;s=!0}if(!s)return!1;if(-1!==o.indexOf(n))return!1;o.push(n)}return!0},construct:function(t){return null!==t?t:[]}}),vc=Object.prototype.toString,_c=new Ya("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e<r;e+=1){if(i=o[e],"[object Object]"!==vc.call(i))return!1;if(1!==(n=Object.keys(i)).length)return!1;s[e]=[n[0],i[n[0]]]}return!0},construct:function(t){if(null===t)return[];var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e<r;e+=1)i=o[e],n=Object.keys(i),s[e]=[n[0],i[n[0]]];return s}}),xc=Object.prototype.hasOwnProperty,Ic=new Ya("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(t){if(null===t)return!0;var e,r=t;for(e in r)if(xc.call(r,e)&&null!==r[e])return!1;return!0},construct:function(t){return null!==t?t:{}}}),Sc=pc.extend({implicit:[gc,mc],explicit:[wc,Ec,_c,Ic]}),Tc=Object.prototype.hasOwnProperty,Cc=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Rc=/[\x85\u2028\u2029]/,kc=/[,\[\]\{\}]/,Nc=/^(?:!|!!|![a-z\-]+!)$/i,Bc=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Oc(t){return Object.prototype.toString.call(t)}function Pc(t){return 10===t||13===t}function Dc(t){return 9===t||32===t}function Lc(t){return 9===t||32===t||10===t||13===t}function Uc(t){return 44===t||91===t||93===t||123===t||125===t}function Mc(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function Fc(t){return 120===t?2:117===t?4:85===t?8:0}function Hc(t){return 48<=t&&t<=57?t-48:-1}function jc(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t||9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function Wc(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}function Qc(t,e,r){"__proto__"===e?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}for(var zc=new Array(256),Vc=new Array(256),Gc=0;Gc<256;Gc++)zc[Gc]=jc(Gc)?1:0,Vc[Gc]=jc(Gc);function qc(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Sc,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Yc(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=Va(r),new Wa(e,r)}function Kc(t,e){throw Yc(t,e)}function Xc(t,e){t.onWarning&&t.onWarning.call(null,Yc(t,e))}var Jc={YAML:function(t,e,r){var i,n,s;null!==t.version&&Kc(t,"duplication of %YAML directive"),1!==r.length&&Kc(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&Kc(t,"ill-formed argument of the YAML directive"),n=parseInt(i[1],10),s=parseInt(i[2],10),1!==n&&Kc(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=s<2,1!==s&&2!==s&&Xc(t,"unsupported YAML version of the document")},TAG:function(t,e,r){var i,n;2!==r.length&&Kc(t,"TAG directive accepts exactly two arguments"),i=r[0],n=r[1],Nc.test(i)||Kc(t,"ill-formed tag handle (first argument) of the TAG directive"),Tc.call(t.tagMap,i)&&Kc(t,'there is a previously declared suffix for "'+i+'" tag handle'),Bc.test(n)||Kc(t,"ill-formed tag prefix (second argument) of the TAG directive");try{n=decodeURIComponent(n)}catch(e){Kc(t,"tag prefix is malformed: "+n)}t.tagMap[i]=n}};function Zc(t,e,r,i){var n,s,o,a;if(e<r){if(a=t.input.slice(e,r),i)for(n=0,s=a.length;n<s;n+=1)9===(o=a.charCodeAt(n))||32<=o&&o<=1114111||Kc(t,"expected valid JSON character");else Cc.test(a)&&Kc(t,"the stream contains non-printable characters");t.result+=a}}function $c(t,e,r,i){var n,s,o,a;for(Fa.isObject(r)||Kc(t,"cannot merge mappings; the provided source object is unacceptable"),o=0,a=(n=Object.keys(r)).length;o<a;o+=1)s=n[o],Tc.call(e,s)||(Qc(e,s,r[s]),i[s]=!0)}function tl(t,e,r,i,n,s,o,a,c){var l,h;if(Array.isArray(n))for(l=0,h=(n=Array.prototype.slice.call(n)).length;l<h;l+=1)Array.isArray(n[l])&&Kc(t,"nested arrays are not supported inside keys"),"object"==typeof n&&"[object Object]"===Oc(n[l])&&(n[l]="[object Object]");if("object"==typeof n&&"[object Object]"===Oc(n)&&(n="[object Object]"),n=String(n),null===e&&(e={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(s))for(l=0,h=s.length;l<h;l+=1)$c(t,e,s[l],r);else $c(t,e,s,r);else t.json||Tc.call(r,n)||!Tc.call(e,n)||(t.line=o||t.line,t.lineStart=a||t.lineStart,t.position=c||t.position,Kc(t,"duplicated mapping key")),Qc(e,n,s),delete r[n];return e}function el(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):Kc(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function rl(t,e,r){for(var i=0,n=t.input.charCodeAt(t.position);0!==n;){for(;Dc(n);)9===n&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),n=t.input.charCodeAt(++t.position);if(e&&35===n)do{n=t.input.charCodeAt(++t.position)}while(10!==n&&13!==n&&0!==n);if(!Pc(n))break;for(el(t),n=t.input.charCodeAt(t.position),i++,t.lineIndent=0;32===n;)t.lineIndent++,n=t.input.charCodeAt(++t.position)}return-1!==r&&0!==i&&t.lineIndent<r&&Xc(t,"deficient indentation"),i}function il(t){var e,r=t.position;return!(45!==(e=t.input.charCodeAt(r))&&46!==e||e!==t.input.charCodeAt(r+1)||e!==t.input.charCodeAt(r+2)||(r+=3,0!==(e=t.input.charCodeAt(r))&&!Lc(e)))}function nl(t,e){1===e?t.result+=" ":e>1&&(t.result+=Fa.repeat("\n",e-1))}function sl(t,e){var r,i,n=t.tag,s=t.anchor,o=[],a=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=o),i=t.input.charCodeAt(t.position);0!==i&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,Kc(t,"tab characters must not be used in indentation")),45===i)&&Lc(t.input.charCodeAt(t.position+1));)if(a=!0,t.position++,rl(t,!0,-1)&&t.lineIndent<=e)o.push(null),i=t.input.charCodeAt(t.position);else if(r=t.line,cl(t,e,3,!1,!0),o.push(t.result),rl(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==i)Kc(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break;return!!a&&(t.tag=n,t.anchor=s,t.kind="sequence",t.result=o,!0)}function ol(t){var e,r,i,n,s=!1,o=!1;if(33!==(n=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&Kc(t,"duplication of a tag property"),60===(n=t.input.charCodeAt(++t.position))?(s=!0,n=t.input.charCodeAt(++t.position)):33===n?(o=!0,r="!!",n=t.input.charCodeAt(++t.position)):r="!",e=t.position,s){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&62!==n);t.position<t.length?(i=t.input.slice(e,t.position),n=t.input.charCodeAt(++t.position)):Kc(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==n&&!Lc(n);)33===n&&(o?Kc(t,"tag suffix cannot contain exclamation marks"):(r=t.input.slice(e-1,t.position+1),Nc.test(r)||Kc(t,"named tag handle cannot contain such characters"),o=!0,e=t.position+1)),n=t.input.charCodeAt(++t.position);i=t.input.slice(e,t.position),kc.test(i)&&Kc(t,"tag suffix cannot contain flow indicator characters")}i&&!Bc.test(i)&&Kc(t,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch(e){Kc(t,"tag name is malformed: "+i)}return s?t.tag=i:Tc.call(t.tagMap,r)?t.tag=t.tagMap[r]+i:"!"===r?t.tag="!"+i:"!!"===r?t.tag="tag:yaml.org,2002:"+i:Kc(t,'undeclared tag handle "'+r+'"'),!0}function al(t){var e,r;if(38!==(r=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&Kc(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!Lc(r)&&!Uc(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&Kc(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function cl(t,e,r,i,n){var s,o,a,c,l,h,u,p,d,f=1,g=!1,m=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,s=o=a=4===r||3===r,i&&rl(t,!0,-1)&&(g=!0,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)),1===f)for(;ol(t)||al(t);)rl(t,!0,-1)?(g=!0,a=s,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)):a=!1;if(a&&(a=g||n),1!==f&&4!==r||(p=1===r||2===r?e:e+1,d=t.position-t.lineStart,1===f?a&&(sl(t,d)||function(t,e,r){var i,n,s,o,a,c,l,h=t.tag,u=t.anchor,p={},d=Object.create(null),f=null,g=null,m=null,y=!1,w=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=p),l=t.input.charCodeAt(t.position);0!==l;){if(y||-1===t.firstTabInLine||(t.position=t.firstTabInLine,Kc(t,"tab characters must not be used in indentation")),i=t.input.charCodeAt(t.position+1),s=t.line,63!==l&&58!==l||!Lc(i)){if(o=t.line,a=t.lineStart,c=t.position,!cl(t,r,2,!1,!0))break;if(t.line===s){for(l=t.input.charCodeAt(t.position);Dc(l);)l=t.input.charCodeAt(++t.position);if(58===l)Lc(l=t.input.charCodeAt(++t.position))||Kc(t,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(tl(t,p,d,f,g,null,o,a,c),f=g=m=null),w=!0,y=!1,n=!1,f=t.tag,g=t.result;else{if(!w)return t.tag=h,t.anchor=u,!0;Kc(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!w)return t.tag=h,t.anchor=u,!0;Kc(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===l?(y&&(tl(t,p,d,f,g,null,o,a,c),f=g=m=null),w=!0,y=!0,n=!0):y?(y=!1,n=!0):Kc(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,l=i;if((t.line===s||t.lineIndent>e)&&(y&&(o=t.line,a=t.lineStart,c=t.position),cl(t,e,4,!0,n)&&(y?g=t.result:m=t.result),y||(tl(t,p,d,f,g,m,o,a,c),f=g=m=null),rl(t,!0,-1),l=t.input.charCodeAt(t.position)),(t.line===s||t.lineIndent>e)&&0!==l)Kc(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return y&&tl(t,p,d,f,g,null,o,a,c),w&&(t.tag=h,t.anchor=u,t.kind="mapping",t.result=p),w}(t,d,p))||function(t,e){var r,i,n,s,o,a,c,l,h,u,p,d,f=!0,g=t.tag,m=t.anchor,y=Object.create(null);if(91===(d=t.input.charCodeAt(t.position)))o=93,l=!1,s=[];else{if(123!==d)return!1;o=125,l=!0,s={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),d=t.input.charCodeAt(++t.position);0!==d;){if(rl(t,!0,e),(d=t.input.charCodeAt(t.position))===o)return t.position++,t.tag=g,t.anchor=m,t.kind=l?"mapping":"sequence",t.result=s,!0;f?44===d&&Kc(t,"expected the node content, but found ','"):Kc(t,"missed comma between flow collection entries"),p=null,a=c=!1,63===d&&Lc(t.input.charCodeAt(t.position+1))&&(a=c=!0,t.position++,rl(t,!0,e)),r=t.line,i=t.lineStart,n=t.position,cl(t,e,1,!1,!0),u=t.tag,h=t.result,rl(t,!0,e),d=t.input.charCodeAt(t.position),!c&&t.line!==r||58!==d||(a=!0,d=t.input.charCodeAt(++t.position),rl(t,!0,e),cl(t,e,1,!1,!0),p=t.result),l?tl(t,s,y,u,h,p,r,i,n):a?s.push(tl(t,null,y,u,h,p,r,i,n)):s.push(h),rl(t,!0,e),44===(d=t.input.charCodeAt(t.position))?(f=!0,d=t.input.charCodeAt(++t.position)):f=!1}Kc(t,"unexpected end of the stream within a flow collection")}(t,p)?m=!0:(o&&function(t,e){var r,i,n,s,o=1,a=!1,c=!1,l=e,h=0,u=!1;if(124===(s=t.input.charCodeAt(t.position)))i=!1;else{if(62!==s)return!1;i=!0}for(t.kind="scalar",t.result="";0!==s;)if(43===(s=t.input.charCodeAt(++t.position))||45===s)1===o?o=43===s?3:2:Kc(t,"repeat of a chomping mode identifier");else{if(!((n=Hc(s))>=0))break;0===n?Kc(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?Kc(t,"repeat of an indentation width identifier"):(l=e+n-1,c=!0)}if(Dc(s)){do{s=t.input.charCodeAt(++t.position)}while(Dc(s));if(35===s)do{s=t.input.charCodeAt(++t.position)}while(!Pc(s)&&0!==s)}for(;0!==s;){for(el(t),t.lineIndent=0,s=t.input.charCodeAt(t.position);(!c||t.lineIndent<l)&&32===s;)t.lineIndent++,s=t.input.charCodeAt(++t.position);if(!c&&t.lineIndent>l&&(l=t.lineIndent),Pc(s))h++;else{if(t.lineIndent<l){3===o?t.result+=Fa.repeat("\n",a?1+h:h):1===o&&a&&(t.result+="\n");break}for(i?Dc(s)?(u=!0,t.result+=Fa.repeat("\n",a?1+h:h)):u?(u=!1,t.result+=Fa.repeat("\n",h+1)):0===h?a&&(t.result+=" "):t.result+=Fa.repeat("\n",h):t.result+=Fa.repeat("\n",a?1+h:h),a=!0,c=!0,h=0,r=t.position;!Pc(s)&&0!==s;)s=t.input.charCodeAt(++t.position);Zc(t,r,t.position,!1)}}return!0}(t,p)||function(t,e){var r,i,n;if(39!==(r=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;0!==(r=t.input.charCodeAt(t.position));)if(39===r){if(Zc(t,i,t.position,!0),39!==(r=t.input.charCodeAt(++t.position)))return!0;i=t.position,t.position++,n=t.position}else Pc(r)?(Zc(t,i,n,!0),nl(t,rl(t,!1,e)),i=n=t.position):t.position===t.lineStart&&il(t)?Kc(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);Kc(t,"unexpected end of the stream within a single quoted scalar")}(t,p)||function(t,e){var r,i,n,s,o,a;if(34!==(a=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(a=t.input.charCodeAt(t.position));){if(34===a)return Zc(t,r,t.position,!0),t.position++,!0;if(92===a){if(Zc(t,r,t.position,!0),Pc(a=t.input.charCodeAt(++t.position)))rl(t,!1,e);else if(a<256&&zc[a])t.result+=Vc[a],t.position++;else if((o=Fc(a))>0){for(n=o,s=0;n>0;n--)(o=Mc(a=t.input.charCodeAt(++t.position)))>=0?s=(s<<4)+o:Kc(t,"expected hexadecimal character");t.result+=Wc(s),t.position++}else Kc(t,"unknown escape sequence");r=i=t.position}else Pc(a)?(Zc(t,r,i,!0),nl(t,rl(t,!1,e)),r=i=t.position):t.position===t.lineStart&&il(t)?Kc(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}Kc(t,"unexpected end of the stream within a double quoted scalar")}(t,p)?m=!0:function(t){var e,r,i;if(42!==(i=t.input.charCodeAt(t.position)))return!1;for(i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!Lc(i)&&!Uc(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&Kc(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),Tc.call(t.anchorMap,r)||Kc(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],rl(t,!0,-1),!0}(t)?(m=!0,null===t.tag&&null===t.anchor||Kc(t,"alias node should not have any properties")):function(t,e,r){var i,n,s,o,a,c,l,h,u=t.kind,p=t.result;if(Lc(h=t.input.charCodeAt(t.position))||Uc(h)||35===h||38===h||42===h||33===h||124===h||62===h||39===h||34===h||37===h||64===h||96===h)return!1;if((63===h||45===h)&&(Lc(i=t.input.charCodeAt(t.position+1))||r&&Uc(i)))return!1;for(t.kind="scalar",t.result="",n=s=t.position,o=!1;0!==h;){if(58===h){if(Lc(i=t.input.charCodeAt(t.position+1))||r&&Uc(i))break}else if(35===h){if(Lc(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&il(t)||r&&Uc(h))break;if(Pc(h)){if(a=t.line,c=t.lineStart,l=t.lineIndent,rl(t,!1,-1),t.lineIndent>=e){o=!0,h=t.input.charCodeAt(t.position);continue}t.position=s,t.line=a,t.lineStart=c,t.lineIndent=l;break}}o&&(Zc(t,n,s,!1),nl(t,t.line-a),n=s=t.position,o=!1),Dc(h)||(s=t.position+1),h=t.input.charCodeAt(++t.position)}return Zc(t,n,s,!1),!!t.result||(t.kind=u,t.result=p,!1)}(t,p,1===r)&&(m=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===f&&(m=a&&sl(t,d))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&Kc(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),c=0,l=t.implicitTypes.length;c<l;c+=1)if((u=t.implicitTypes[c]).resolve(t.result)){t.result=u.construct(t.result),t.tag=u.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else if("!"!==t.tag){if(Tc.call(t.typeMap[t.kind||"fallback"],t.tag))u=t.typeMap[t.kind||"fallback"][t.tag];else for(u=null,c=0,l=(h=t.typeMap.multi[t.kind||"fallback"]).length;c<l;c+=1)if(t.tag.slice(0,h[c].tag.length)===h[c].tag){u=h[c];break}u||Kc(t,"unknown tag !<"+t.tag+">"),null!==t.result&&u.kind!==t.kind&&Kc(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+u.kind+'", not "'+t.kind+'"'),u.resolve(t.result,t.tag)?(t.result=u.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):Kc(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||m}function ll(t){var e,r,i,n,s=t.position,o=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(n=t.input.charCodeAt(t.position))&&(rl(t,!0,-1),n=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==n));){for(o=!0,n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!Lc(n);)n=t.input.charCodeAt(++t.position);for(i=[],(r=t.input.slice(e,t.position)).length<1&&Kc(t,"directive name must not be less than one character in length");0!==n;){for(;Dc(n);)n=t.input.charCodeAt(++t.position);if(35===n){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&!Pc(n));break}if(Pc(n))break;for(e=t.position;0!==n&&!Lc(n);)n=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position))}0!==n&&el(t),Tc.call(Jc,r)?Jc[r](t,r,i):Xc(t,'unknown document directive "'+r+'"')}rl(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,rl(t,!0,-1)):o&&Kc(t,"directives end mark is expected"),cl(t,t.lineIndent-1,4,!1,!0),rl(t,!0,-1),t.checkLineBreaks&&Rc.test(t.input.slice(s,t.position))&&Xc(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&il(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,rl(t,!0,-1)):t.position<t.length-1&&Kc(t,"end of the stream or a document separator is expected")}function hl(t,e){e=e||{},0!==(t=String(t)).length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var r=new qc(t,e),i=t.indexOf("\0");for(-1!==i&&(r.position=i,Kc(r,"null byte is not allowed in input")),r.input+="\0";32===r.input.charCodeAt(r.position);)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)ll(r);return r.documents}var ul={loadAll:function(t,e,r){null!==e&&"object"==typeof e&&void 0===r&&(r=e,e=null);var i=hl(t,r);if("function"!=typeof e)return i;for(var n=0,s=i.length;n<s;n+=1)e(i[n])},load:function(t,e){var r=hl(t,e);if(0!==r.length){if(1===r.length)return r[0];throw new Wa("expected a single document in the stream, but found more")}}},pl=Object.prototype.toString,dl=Object.prototype.hasOwnProperty,fl=65279,gl={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},ml=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],yl=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function wl(t){var e,r,i;if(e=t.toString(16).toUpperCase(),t<=255)r="x",i=2;else if(t<=65535)r="u",i=4;else{if(!(t<=4294967295))throw new Wa("code point within a string may not be greater than 0xFFFFFFFF");r="U",i=8}return"\\"+r+Fa.repeat("0",i-e.length)+e}function Al(t){this.schema=t.schema||Sc,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=Fa.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=function(t,e){var r,i,n,s,o,a,c;if(null===e)return{};for(r={},n=0,s=(i=Object.keys(e)).length;n<s;n+=1)o=i[n],a=String(e[o]),"!!"===o.slice(0,2)&&(o="tag:yaml.org,2002:"+o.slice(2)),(c=t.compiledTypeMap.fallback[o])&&dl.call(c.styleAliases,a)&&(a=c.styleAliases[a]),r[o]=a;return r}(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType='"'===t.quotingType?2:1,this.forceQuotes=t.forceQuotes||!1,this.replacer="function"==typeof t.replacer?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function bl(t,e){for(var r,i=Fa.repeat(" ",e),n=0,s=-1,o="",a=t.length;n<a;)-1===(s=t.indexOf("\n",n))?(r=t.slice(n),n=a):(r=t.slice(n,s+1),n=s+1),r.length&&"\n"!==r&&(o+=i),o+=r;return o}function El(t,e){return"\n"+Fa.repeat(" ",t.indent*e)}function vl(t){return 32===t||9===t}function _l(t){return 32<=t&&t<=126||161<=t&&t<=55295&&8232!==t&&8233!==t||57344<=t&&t<=65533&&t!==fl||65536<=t&&t<=1114111}function xl(t){return _l(t)&&t!==fl&&13!==t&&10!==t}function Il(t,e,r){var i=xl(t),n=i&&!vl(t);return(r?i:i&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t)&&35!==t&&!(58===e&&!n)||xl(e)&&!vl(e)&&35===t||58===e&&n}function Sl(t,e){var r,i=t.charCodeAt(e);return i>=55296&&i<=56319&&e+1<t.length&&(r=t.charCodeAt(e+1))>=56320&&r<=57343?1024*(i-55296)+r-56320+65536:i}function Tl(t){return/^\n* /.test(t)}function Cl(t,e,r,i,n,s,o,a){var c,l,h=0,u=null,p=!1,d=!1,f=-1!==i,g=-1,m=_l(l=Sl(t,0))&&l!==fl&&!vl(l)&&45!==l&&63!==l&&58!==l&&44!==l&&91!==l&&93!==l&&123!==l&&125!==l&&35!==l&&38!==l&&42!==l&&33!==l&&124!==l&&61!==l&&62!==l&&39!==l&&34!==l&&37!==l&&64!==l&&96!==l&&function(t){return!vl(t)&&58!==t}(Sl(t,t.length-1));if(e||o)for(c=0;c<t.length;h>=65536?c+=2:c++){if(!_l(h=Sl(t,c)))return 5;m=m&&Il(h,u,a),u=h}else{for(c=0;c<t.length;h>=65536?c+=2:c++){if(10===(h=Sl(t,c)))p=!0,f&&(d=d||c-g-1>i&&" "!==t[g+1],g=c);else if(!_l(h))return 5;m=m&&Il(h,u,a),u=h}d=d||f&&c-g-1>i&&" "!==t[g+1]}return p||d?r>9&&Tl(t)?5:o?2===s?5:2:d?4:3:!m||o||n(t)?2===s?5:2:1}function Rl(t,e,r,i,n){t.dump=function(){if(0===e.length)return 2===t.quotingType?'""':"''";if(!t.noCompatMode&&(-1!==ml.indexOf(e)||yl.test(e)))return 2===t.quotingType?'"'+e+'"':"'"+e+"'";var s=t.indent*Math.max(1,r),o=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-s),a=i||t.flowLevel>-1&&r>=t.flowLevel;switch(Cl(e,a,t.indent,o,function(e){return function(t,e){var r,i;for(r=0,i=t.implicitTypes.length;r<i;r+=1)if(t.implicitTypes[r].resolve(e))return!0;return!1}(t,e)},t.quotingType,t.forceQuotes&&!i,n)){case 1:return e;case 2:return"'"+e.replace(/'/g,"''")+"'";case 3:return"|"+kl(e,t.indent)+Nl(bl(e,s));case 4:return">"+kl(e,t.indent)+Nl(bl(function(t,e){for(var r,i,n,s=/(\n+)([^\n]*)/g,o=(n=-1!==(n=t.indexOf("\n"))?n:t.length,s.lastIndex=n,Bl(t.slice(0,n),e)),a="\n"===t[0]||" "===t[0];i=s.exec(t);){var c=i[1],l=i[2];r=" "===l[0],o+=c+(a||r||""===l?"":"\n")+Bl(l,e),a=r}return o}(e,o),s));case 5:return'"'+function(t){for(var e,r="",i=0,n=0;n<t.length;i>=65536?n+=2:n++)i=Sl(t,n),!(e=gl[i])&&_l(i)?(r+=t[n],i>=65536&&(r+=t[n+1])):r+=e||wl(i);return r}(e)+'"';default:throw new Wa("impossible error: invalid scalar style")}}()}function kl(t,e){var r=Tl(t)?String(e):"",i="\n"===t[t.length-1];return r+(!i||"\n"!==t[t.length-2]&&"\n"!==t?i?"":"-":"+")+"\n"}function Nl(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function Bl(t,e){if(""===t||" "===t[0])return t;for(var r,i,n=/ [^ ]/g,s=0,o=0,a=0,c="";r=n.exec(t);)(a=r.index)-s>e&&(i=o>s?o:a,c+="\n"+t.slice(s,i),s=i+1),o=a;return c+="\n",t.length-s>e&&o>s?c+=t.slice(s,o)+"\n"+t.slice(o+1):c+=t.slice(s),c.slice(1)}function Ol(t,e,r,i){var n,s,o,a="",c=t.tag;for(n=0,s=r.length;n<s;n+=1)o=r[n],t.replacer&&(o=t.replacer.call(r,String(n),o)),(Dl(t,e+1,o,!0,!0,!1,!0)||void 0===o&&Dl(t,e+1,null,!0,!0,!1,!0))&&(i&&""===a||(a+=El(t,e)),t.dump&&10===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=c,t.dump=a||"[]"}function Pl(t,e,r){var i,n,s,o,a,c;for(s=0,o=(n=r?t.explicitTypes:t.implicitTypes).length;s<o;s+=1)if(((a=n[s]).instanceOf||a.predicate)&&(!a.instanceOf||"object"==typeof e&&e instanceof a.instanceOf)&&(!a.predicate||a.predicate(e))){if(r?a.multi&&a.representName?t.tag=a.representName(e):t.tag=a.tag:t.tag="?",a.represent){if(c=t.styleMap[a.tag]||a.defaultStyle,"[object Function]"===pl.call(a.represent))i=a.represent(e,c);else{if(!dl.call(a.represent,c))throw new Wa("!<"+a.tag+'> tag resolver accepts not "'+c+'" style');i=a.represent[c](e,c)}t.dump=i}return!0}return!1}function Dl(t,e,r,i,n,s,o){t.tag=null,t.dump=r,Pl(t,r,!1)||Pl(t,r,!0);var a,c=pl.call(t.dump),l=i;i&&(i=t.flowLevel<0||t.flowLevel>e);var h,u,p="[object Object]"===c||"[object Array]"===c;if(p&&(u=-1!==(h=t.duplicates.indexOf(r))),(null!==t.tag&&"?"!==t.tag||u||2!==t.indent&&e>0)&&(n=!1),u&&t.usedDuplicates[h])t.dump="*ref_"+h;else{if(p&&u&&!t.usedDuplicates[h]&&(t.usedDuplicates[h]=!0),"[object Object]"===c)i&&0!==Object.keys(t.dump).length?(function(t,e,r,i){var n,s,o,a,c,l,h="",u=t.tag,p=Object.keys(r);if(!0===t.sortKeys)p.sort();else if("function"==typeof t.sortKeys)p.sort(t.sortKeys);else if(t.sortKeys)throw new Wa("sortKeys must be a boolean or a function");for(n=0,s=p.length;n<s;n+=1)l="",i&&""===h||(l+=El(t,e)),a=r[o=p[n]],t.replacer&&(a=t.replacer.call(r,o,a)),Dl(t,e+1,o,!0,!0,!0)&&((c=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024)&&(t.dump&&10===t.dump.charCodeAt(0)?l+="?":l+="? "),l+=t.dump,c&&(l+=El(t,e)),Dl(t,e+1,a,!0,c)&&(t.dump&&10===t.dump.charCodeAt(0)?l+=":":l+=": ",h+=l+=t.dump));t.tag=u,t.dump=h||"{}"}(t,e,t.dump,n),u&&(t.dump="&ref_"+h+t.dump)):(function(t,e,r){var i,n,s,o,a,c="",l=t.tag,h=Object.keys(r);for(i=0,n=h.length;i<n;i+=1)a="",""!==c&&(a+=", "),t.condenseFlow&&(a+='"'),o=r[s=h[i]],t.replacer&&(o=t.replacer.call(r,s,o)),Dl(t,e,s,!1,!1)&&(t.dump.length>1024&&(a+="? "),a+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Dl(t,e,o,!1,!1)&&(c+=a+=t.dump));t.tag=l,t.dump="{"+c+"}"}(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else if("[object Array]"===c)i&&0!==t.dump.length?(t.noArrayIndent&&!o&&e>0?Ol(t,e-1,t.dump,n):Ol(t,e,t.dump,n),u&&(t.dump="&ref_"+h+t.dump)):(function(t,e,r){var i,n,s,o="",a=t.tag;for(i=0,n=r.length;i<n;i+=1)s=r[i],t.replacer&&(s=t.replacer.call(r,String(i),s)),(Dl(t,e,s,!1,!1)||void 0===s&&Dl(t,e,null,!1,!1))&&(""!==o&&(o+=","+(t.condenseFlow?"":" ")),o+=t.dump);t.tag=a,t.dump="["+o+"]"}(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else{if("[object String]"!==c){if("[object Undefined]"===c)return!1;if(t.skipInvalid)return!1;throw new Wa("unacceptable kind of an object to dump "+c)}"?"!==t.tag&&Rl(t,t.dump,e,s,l)}null!==t.tag&&"?"!==t.tag&&(a=encodeURI("!"===t.tag[0]?t.tag.slice(1):t.tag).replace(/!/g,"%21"),a="!"===t.tag[0]?"!"+a:"tag:yaml.org,2002:"===a.slice(0,18)?"!!"+a.slice(18):"!<"+a+">",t.dump=a+" "+t.dump)}return!0}function Ll(t,e){var r,i,n=[],s=[];for(Ul(t,n,s),r=0,i=s.length;r<i;r+=1)e.duplicates.push(n[s[r]]);e.usedDuplicates=new Array(i)}function Ul(t,e,r){var i,n,s;if(null!==t&&"object"==typeof t)if(-1!==(n=e.indexOf(t)))-1===r.indexOf(n)&&r.push(n);else if(e.push(t),Array.isArray(t))for(n=0,s=t.length;n<s;n+=1)Ul(t[n],e,r);else for(n=0,s=(i=Object.keys(t)).length;n<s;n+=1)Ul(t[i[n]],e,r)}function Ml(t,e){return function(){throw new Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+e+" instead, which is now safe by default.")}}var Fl={Type:Ya,Schema:Ja,FAILSAFE_SCHEMA:ec,JSON_SCHEMA:uc,CORE_SCHEMA:pc,DEFAULT_SCHEMA:Sc,load:ul.load,loadAll:ul.loadAll,dump:function(t,e){var r=new Al(e=e||{});r.noRefs||Ll(t,r);var i=t;return r.replacer&&(i=r.replacer.call({"":i},"",i)),Dl(r,0,i,!0,!0)?r.dump+"\n":""},YAMLException:Wa,types:{binary:wc,float:hc,map:tc,null:rc,pairs:_c,set:Ic,timestamp:gc,bool:ic,int:ac,merge:mc,omap:Ec,seq:$a,str:Za},safeLoad:Ml("safeLoad","load"),safeLoadAll:Ml("safeLoadAll","loadAll"),safeDump:Ml("safeDump","dump")},Hl=r(7526),jl=(r(4741),r(152));function Wl(t,e){let r=0;if(1===t.length)return t[0];for(let i=t.length-1;i>=0;i--)r+=t[t.length-1-i]*Math.pow(2,e*i);return r}function Ql(t,e,r=-1){const i=r;let n=t,s=0,o=Math.pow(2,e);for(let r=1;r<8;r++){if(t<o){let t;if(i<0)t=new ArrayBuffer(r),s=r;else{if(i<r)return new ArrayBuffer(0);t=new ArrayBuffer(i),s=i}const o=new Uint8Array(t);for(let t=r-1;t>=0;t--){const r=Math.pow(2,t*e);o[s-t-1]=Math.floor(n/r),n-=o[s-t-1]*r}return t}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function zl(...t){let e=0,r=0;for(const r of t)e+=r.length;const i=new ArrayBuffer(e),n=new Uint8Array(i);for(const e of t)n.set(e,r),r+=e.length;return n}function Vl(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const e=255===t[0]&&128&t[1],r=0===t[0]&&!(128&t[1]);(e||r)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),r=new Uint8Array(e);for(let t=0;t<this.valueHex.byteLength;t++)r[t]=0;r[0]=128&t[0];const i=Wl(r,8),n=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(n);for(let e=0;e<this.valueHex.byteLength;e++)s[e]=t[e];return s[0]&=127,Wl(s,8)-i}function Gl(t,e){const r=t.toString(10);if(e<r.length)return"";const i=e-r.length,n=new Array(i);for(let t=0;t<i;t++)n[t]="0";return n.join("").concat(r)}
47
47
  /*!
48
48
  * Copyright (c) 2014, GMO GlobalSign
@@ -116,4 +116,4 @@ PERFORMANCE OF THIS SOFTWARE.
116
116
  * SOFTWARE.
117
117
  *
118
118
  */
119
- const Vw="crypto.algorithm",Gw="crypto.algorithmProvider";var qw;jy.registerSingleton(Gw,class{getAlgorithms(){return jy.resolveAll(Vw)}toAsnAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toAsnAlgorithm(t);if(r)return r}if(/[0-9.]+/.test(t.name)){const e=new Df({algorithm:t.name});if("parameters"in t){const r=t;e.parameters=r.parameters}return e}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toWebAlgorithm(t);if(r)return r}return{name:t.algorithm,parameters:t.parameters}}});const Yw="1.3.36.3.3.2.8.1.1",Kw=`${Yw}.1`,Xw=`${Yw}.2`,Jw=`${Yw}.3`,Zw=`${Yw}.4`,$w=`${Yw}.5`,tA=`${Yw}.6`,eA=`${Yw}.7`,rA=`${Yw}.8`,iA=`${Yw}.9`,nA=`${Yw}.10`,sA=`${Yw}.11`,oA=`${Yw}.12`,aA=`${Yw}.13`,cA=`${Yw}.14`,lA="brainpoolP160r1",hA="brainpoolP160t1",uA="brainpoolP192r1",pA="brainpoolP192t1",dA="brainpoolP224r1",fA="brainpoolP224t1",gA="brainpoolP256r1",mA="brainpoolP256t1",yA="brainpoolP320r1",wA="brainpoolP320t1",AA="brainpoolP384r1",bA="brainpoolP384t1",EA="brainpoolP512r1",vA="brainpoolP512t1",_A="ECDSA";let xA=qw=class{toAsnAlgorithm(t){if(t.name.toLowerCase()===_A.toLowerCase())if("hash"in t)switch(("string"==typeof t.hash?t.hash:t.hash.name).toLowerCase()){case"sha-1":return km;case"sha-256":return Nm;case"sha-384":return Bm;case"sha-512":return Om}else if("namedCurve"in t){let e="";switch(t.namedCurve){case"P-256":e=Sm;break;case"K-256":e=qw.SECP256K1;break;case"P-384":e=Tm;break;case"P-521":e=Cm;break;case lA:e=Kw;break;case hA:e=Xw;break;case uA:e=Jw;break;case pA:e=Zw;break;case dA:e=$w;break;case fA:e=tA;break;case gA:e=eA;break;case mA:e=rA;break;case yA:e=iA;break;case wA:e=nA;break;case AA:e=sA;break;case bA:e=oA;break;case EA:e=aA;break;case vA:e=cA}if(e)return new Df({algorithm:bm,parameters:Xp.serialize(new Pm({namedCurve:e}))})}return null}toWebAlgorithm(t){switch(t.algorithm){case Em:return{name:_A,hash:{name:"SHA-1"}};case _m:return{name:_A,hash:{name:"SHA-256"}};case xm:return{name:_A,hash:{name:"SHA-384"}};case Im:return{name:_A,hash:{name:"SHA-512"}};case bm:if(!t.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(Xp.parse(t.parameters,Pm).namedCurve){case Sm:return{name:_A,namedCurve:"P-256"};case qw.SECP256K1:return{name:_A,namedCurve:"K-256"};case Tm:return{name:_A,namedCurve:"P-384"};case Cm:return{name:_A,namedCurve:"P-521"};case Kw:return{name:_A,namedCurve:lA};case Xw:return{name:_A,namedCurve:hA};case Jw:return{name:_A,namedCurve:uA};case Zw:return{name:_A,namedCurve:pA};case $w:return{name:_A,namedCurve:dA};case tA:return{name:_A,namedCurve:fA};case eA:return{name:_A,namedCurve:gA};case rA:return{name:_A,namedCurve:mA};case iA:return{name:_A,namedCurve:yA};case nA:return{name:_A,namedCurve:wA};case sA:return{name:_A,namedCurve:AA};case oA:return{name:_A,namedCurve:bA};case aA:return{name:_A,namedCurve:EA};case cA:return{name:_A,namedCurve:vA}}}return null}};xA.SECP256K1="1.3.132.0.10",xA=qw=gy([Qy()],xA),jy.registerSingleton(Vw,xA);const IA=Symbol("name"),SA=Symbol("value");class TA{constructor(t,e={},r=""){this[IA]=t,this[SA]=r;for(const t in e)this[t]=e[t]}}TA.NAME=IA,TA.VALUE=SA;class CA{static toString(t){return this.items[t]||t}}CA.items={[Jm]:"sha1",[Zm]:"sha224",[$m]:"sha256",[ty]:"sha384",[ey]:"sha512",[Mm]:"rsaEncryption",[zm]:"sha1WithRSAEncryption",[Vm]:"sha224WithRSAEncryption",[Gm]:"sha256WithRSAEncryption",[qm]:"sha384WithRSAEncryption",[Ym]:"sha512WithRSAEncryption",[bm]:"ecPublicKey",[Em]:"ecdsaWithSHA1",[vm]:"ecdsaWithSHA224",[_m]:"ecdsaWithSHA256",[xm]:"ecdsaWithSHA384",[Im]:"ecdsaWithSHA512",[$d]:"TLS WWW server authentication",[tf]:"TLS WWW client authentication",[ef]:"Code Signing",[rf]:"E-mail Protection",[nf]:"Time Stamping",[sf]:"OCSP Signing",[pm]:"Signed Data"};class RA{static serialize(t){return this.serializeObj(t).join("\n")}static pad(t=0){return"".padStart(2*t," ")}static serializeObj(t,e=0){const r=[];let i=this.pad(e++),n="";const s=t[TA.VALUE];s&&(n=` ${s}`),r.push(`${i}${t[TA.NAME]}:${n}`),i=this.pad(e);for(const n in t){if("symbol"==typeof n)continue;const s=t[n],o=n?`${n}: `:"";if("string"==typeof s||"number"==typeof s||"boolean"==typeof s)r.push(`${i}${o}${s}`);else if(s instanceof Date)r.push(`${i}${o}${s.toUTCString()}`);else if(Array.isArray(s))for(const t of s)t[TA.NAME]=n,r.push(...this.serializeObj(t,e));else if(s instanceof TA)s[TA.NAME]=n,r.push(...this.serializeObj(s,e));else if(jl._H.isBufferSource(s))n?(r.push(`${i}${o}`),r.push(...this.serializeBufferSource(s,e+1))):r.push(...this.serializeBufferSource(s,e));else{if(!("toTextObject"in s))throw new TypeError("Cannot serialize data in text format. Unsupported type.");{const t=s.toTextObject();t[TA.NAME]=n,r.push(...this.serializeObj(t,e))}}}return r}static serializeBufferSource(t,e=0){const r=this.pad(e),i=jl._H.toUint8Array(t),n=[];for(let t=0;t<i.length;){const e=[];for(let r=0;r<16&&t<i.length;r++){8===r&&e.push("");const n=i[t++].toString(16).padStart(2,"0");e.push(n)}n.push(`${r}${e.join(" ")}`)}return n}static serializeAlgorithm(t){return this.algorithmSerializer.toTextObject(t)}}RA.oidSerializer=CA,RA.algorithmSerializer=class{static toTextObject(t){const e=new TA("Algorithm Identifier",{},CA.toString(t.algorithm));if(t.parameters)switch(t.algorithm){case bm:{const r=(new xA).toWebAlgorithm(t);r&&"namedCurve"in r?e["Named Curve"]=r.namedCurve:e.Parameters=t.parameters;break}default:e.Parameters=t.parameters}return e}};class kA{constructor(...t){if(1===t.length){const e=t[0];this.rawData=Xp.serialize(e),this.onInit(e)}else{const e=Xp.parse(t[0],t[1]);this.rawData=jl._H.toArrayBuffer(t[0]),this.onInit(e)}}equal(t){return t instanceof kA&&(0,jl.n4)(t.rawData,this.rawData)}toString(t="text"){switch(t){case"asn":return Xp.toString(this.rawData);case"text":return RA.serialize(this.toTextObject());case"hex":return jl.U$.ToHex(this.rawData);case"base64":return jl.U$.ToBase64(this.rawData);case"base64url":return jl.U$.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const t=this.toTextObjectEmpty();return t[""]=this.rawData,t}toTextObjectEmpty(t){return new TA(this.getTextName(),{},t)}}kA.NAME="ASN";class NA extends kA{constructor(...t){let e;e=jl._H.isBufferSource(t[0])?jl._H.toArrayBuffer(t[0]):Xp.serialize(new Hf({extnID:t[0],critical:t[1],extnValue:new dp(jl._H.toArrayBuffer(t[2]))})),super(e,Hf)}onInit(t){this.type=t.extnID,this.critical=t.critical,this.value=t.extnValue.buffer}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.value,t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty(this.critical?"critical":void 0);return t[TA.NAME]===NA.NAME&&(t[TA.NAME]=CA.toString(this.type)),t}}var BA;class OA{constructor(){this.items=new Map,this[BA]="CryptoProvider","undefined"!=typeof self&&"undefined"!=typeof crypto&&this.set(OA.DEFAULT,crypto)}static isCryptoKeyPair(t){return t&&t.privateKey&&t.publicKey}static isCryptoKey(t){return t&&t.usages&&t.type&&t.algorithm&&void 0!==t.extractable}clear(){this.items.clear()}delete(t){return this.items.delete(t)}forEach(t,e){return this.items.forEach(t,e)}has(t){return this.items.has(t)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(t=OA.DEFAULT){const e=this.items.get(t.toLowerCase());if(!e)throw new Error(`Cannot get Crypto by name '${t}'`);return e}set(t,e){if("string"==typeof t){if(!e)throw new TypeError("Argument 'value' is required");this.items.set(t.toLowerCase(),e)}else this.items.set(OA.DEFAULT,t);return this}}BA=Symbol.toStringTag,OA.DEFAULT="default";const PA=new OA,DA=/^[0-2](?:\.[1-9][0-9]*)+$/;class LA{constructor(t={}){this.items={};for(const e in t)this.register(e,t[e])}get(t){return this.items[t]||null}findId(t){return e=t,new RegExp(DA).test(e)?t:this.get(t);var e}register(t,e){this.items[t]=e,this.items[e]=t}}const UA=new LA;function MA(t,e){return`\\${jl.U$.ToHex(jl.U$.FromUtf8String(e)).toUpperCase()}`}UA.register("CN","2.5.4.3"),UA.register("L","2.5.4.7"),UA.register("ST","2.5.4.8"),UA.register("O","2.5.4.10"),UA.register("OU","2.5.4.11"),UA.register("C","2.5.4.6"),UA.register("DC","0.9.2342.19200300.100.1.25"),UA.register("E","1.2.840.113549.1.9.1"),UA.register("G","2.5.4.42"),UA.register("I","2.5.4.43"),UA.register("SN","2.5.4.4"),UA.register("T","2.5.4.12");class FA{constructor(t,e={}){this.extraNames=new LA,this.asn=new cd;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t];this.extraNames.register(t,r)}"string"==typeof t?this.asn=this.fromString(t):t instanceof cd?this.asn=t:jl._H.isBufferSource(t)?this.asn=Xp.parse(t,cd):this.asn=this.fromJSON(t)}static isASCII(t){for(let e=0;e<t.length;e++)if(t.charCodeAt(e)>255)return!1;return!0}getField(t){const e=this.extraNames.findId(t)||UA.findId(t),r=[];for(const t of this.asn)for(const i of t)i.type===e&&r.push(i.value.toString());return r}getName(t){return this.extraNames.get(t)||UA.get(t)}toString(){return this.asn.map(t=>t.map(t=>`${this.getName(t.type)||t.type}=${t.value.anyValue?`#${jl.U$.ToHex(t.value.anyValue)}`:function(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,MA)}(t.value.toString())}`).join("+")).join(", ")}toJSON(){var t;const e=[];for(const r of this.asn){const i={};for(const e of r){const r=this.getName(e.type)||e.type;null!==(t=i[r])&&void 0!==t||(i[r]=[]),i[r].push(e.value.anyValue?`#${jl.U$.ToHex(e.value.anyValue)}`:e.value.toString())}e.push(i)}return e}fromString(t){const e=new cd,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,n=",";for(;i=r.exec(`${t},`);){let[,t,r]=i;const s=r[r.length-1];","!==s&&"+"!==s||(r=r.slice(0,r.length-1),i[3]=s);const o=i[3];if(/[\d.]+/.test(t)||(t=this.getName(t)||""),!t)throw new Error(`Cannot get OID for name type '${t}'`);const a=new sd({type:t});if("#"===r.charAt(0))a.value.anyValue=jl.U$.FromHex(r.slice(1));else{const e=/"(.*?[^\\])?"/.exec(r);e&&(r=e[1]),r=r.replace(/\\0a/gi,"\n").replace(/\\0d/gi,"\r").replace(/\\0g/gi,"\t").replace(/\\(.)/g,"$1"),t===this.getName("E")||t===this.getName("DC")?a.value.ia5String=r:FA.isASCII(r)?a.value.printableString=r:a.value.utf8String=r}"+"===n?e[e.length-1].push(a):e.push(new od([a])),n=o}return e}fromJSON(t){const e=new cd;for(const r of t){const t=new od;for(const e in r){let i=e;if(/[\d.]+/.test(e)||(i=this.getName(e)||""),!i)throw new Error(`Cannot get OID for name type '${e}'`);const n=r[e];for(const e of n){const r=new sd({type:i});if("object"==typeof e)for(const t in e)switch(t){case"ia5String":r.value.ia5String=e[t];break;case"utf8String":r.value.utf8String=e[t];break;case"universalString":r.value.universalString=e[t];break;case"bmpString":r.value.bmpString=e[t];break;case"printableString":r.value.printableString=e[t]}else"#"===e[0]?r.value.anyValue=jl.U$.FromHex(e.slice(1)):i===this.getName("E")||i===this.getName("DC")?r.value.ia5String=e:r.value.printableString=e;t.push(r)}}e.push(t)}return e}toArrayBuffer(){return Xp.serialize(this.asn)}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||PA.get()):r=t[0]||PA.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const HA="Cannot initialize GeneralName from ASN.1 data.",jA=`${HA} Unsupported string format in use.`,WA=`${HA} Value doesn't match to GUID regular expression.`,QA=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,zA="1.3.6.1.4.1.311.25.1",VA="1.3.6.1.4.1.311.20.2.3",GA="dns",qA="dn",YA="email",KA="ip",XA="url",JA="guid",ZA="upn",$A="id";class tb extends kA{constructor(...t){let e;if(2===t.length)switch(t[0]){case qA:{const r=new FA(t[1]).toArrayBuffer(),i=Xp.parse(r,cd);e=new pd({directoryName:i});break}case GA:e=new pd({dNSName:t[1]});break;case YA:e=new pd({rfc822Name:t[1]});break;case JA:{const r=new RegExp(QA,"i").exec(t[1]);if(!r)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map((t,e)=>e<3?jl.U$.ToHex(new Uint8Array(jl.U$.FromHex(t)).reverse()):t).join("");e=new pd({otherName:new hd({typeId:zA,value:Xp.serialize(new dp(jl.U$.FromHex(i)))})});break}case KA:e=new pd({iPAddress:t[1]});break;case $A:e=new pd({registeredID:t[1]});break;case ZA:e=new pd({otherName:new hd({typeId:VA,value:Xp.serialize(xp.toASN(t[1]))})});break;case XA:e=new pd({uniformResourceIdentifier:t[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else e=jl._H.isBufferSource(t[0])?Xp.parse(t[0],pd):t[0];super(e)}onInit(t){if(null!=t.dNSName)this.type=GA,this.value=t.dNSName;else if(null!=t.rfc822Name)this.type=YA,this.value=t.rfc822Name;else if(null!=t.iPAddress)this.type=KA,this.value=t.iPAddress;else if(null!=t.uniformResourceIdentifier)this.type=XA,this.value=t.uniformResourceIdentifier;else if(null!=t.registeredID)this.type=$A,this.value=t.registeredID;else if(null!=t.directoryName)this.type=qA,this.value=new FA(t.directoryName).toString();else{if(null==t.otherName)throw new Error(jA);if(t.otherName.typeId===zA){this.type=JA;const e=Xp.parse(t.otherName.value,dp),r=new RegExp(QA,"i").exec(jl.U$.ToHex(e));if(!r)throw new Error(WA);this.value=r.slice(1).map((t,e)=>e<3?jl.U$.ToHex(new Uint8Array(jl.U$.FromHex(t)).reverse()):t).join("-")}else{if(t.otherName.typeId!==VA)throw new Error(jA);this.type=ZA,this.value=Xp.parse(t.otherName.value,id).toString()}}}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let t;switch(this.type){case qA:case GA:case JA:case KA:case $A:case ZA:case XA:t=this.type.toUpperCase();break;case YA:t="Email";break;default:throw new Error("Unsupported GeneralName type")}let e=this.value;return this.type===$A&&(e=CA.toString(e)),new TA(t,void 0,e)}}class eb extends kA{constructor(t){let e;if(t instanceof Id)e=t;else if(Array.isArray(t)){const r=[];for(const e of t)if(e instanceof pd)r.push(e);else{const t=Xp.parse(new tb(e.type,e.value).rawData,pd);r.push(t)}e=new Id(r)}else{if(!jl._H.isBufferSource(t))throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");e=Xp.parse(t,Id)}super(e)}onInit(t){const e=[];for(const r of t){let t=null;try{t=new tb(r)}catch{continue}e.push(t)}this.items=e}toJSON(){return this.items.map(t=>t.toJSON())}toTextObject(){const t=super.toTextObjectEmpty();for(const e of this.items){const r=e.toTextObject();let i=t[r[TA.NAME]];Array.isArray(i)||(i=[],t[r[TA.NAME]]=i),i.push(r)}return t}}eb.NAME="GeneralNames";const rb="-{5}",ib="\\n",nb="\\n",sb=`${rb}BEGIN ([^${ib}]+(?=${rb}))${rb}${nb}(?:((?:[^:${ib}]+: (?:[^${ib}]+${nb}(?: +[^${ib}]+${nb})*))+))?${nb}?((?:[a-zA-Z0-9=+/]+${nb})+)${rb}END \\1${rb}`;class ob{static isPem(t){return"string"==typeof t&&new RegExp(sb,"g").test(t)}static decodeWithHeaders(t){t=t.replace(/\r/g,"");const e=new RegExp(sb,"g"),r=[];let i=null;for(;i=e.exec(t);){const t=i[3].replace(new RegExp(`[${ib}]+`,"g"),""),e={type:i[1],headers:[],rawData:jl.U$.FromBase64(t)},n=i[2];if(n){const t=n.split(new RegExp(nb,"g"));let r=null;for(const i of t){const[t,n]=i.split(/:(.*)/);if(void 0===n){if(!r)throw new Error("Cannot parse PEM string. Incorrect header value");r.value+=t.trim()}else r&&e.headers.push(r),r={key:t,value:n.trim()}}r&&e.headers.push(r)}r.push(e)}return r}static decode(t){return this.decodeWithHeaders(t).map(t=>t.rawData)}static decodeFirst(t){const e=this.decode(t);if(!e.length)throw new RangeError("PEM string doesn't contain any objects");return e[0]}static encode(t,e){if(Array.isArray(t)){const r=new Array;return e?t.forEach(t=>{if(!jl._H.isBufferSource(t))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:e,rawData:jl._H.toArrayBuffer(t)}))}):t.forEach(t=>{if(!("type"in t))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(t))}),r.join("\n")}if(!e)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:e,rawData:jl._H.toArrayBuffer(t)})}static encodeStruct(t){var e;const r=t.type.toLocaleUpperCase(),i=[];if(i.push(`-----BEGIN ${r}-----`),null===(e=t.headers)||void 0===e?void 0:e.length){for(const e of t.headers)i.push(`${e.key}: ${e.value}`);i.push("")}const n=jl.U$.ToBase64(t.rawData);let s,o=0;const a=Array();for(;o<n.length&&(n.length-o<64?s=n.substring(o):(s=n.substring(o,o+64),o+=64),0!==s.length)&&(a.push(s),!(s.length<64)););return i.push(...a),i.push(`-----END ${r}-----`),i.join("\n")}}ob.CertificateTag="CERTIFICATE",ob.CrlTag="CRL",ob.CertificateRequestTag="CERTIFICATE REQUEST",ob.PublicKeyTag="PUBLIC KEY",ob.PrivateKeyTag="PRIVATE KEY";class ab extends kA{static isAsnEncoded(t){return jl._H.isBufferSource(t)||"string"==typeof t}static toArrayBuffer(t){if("string"==typeof t){if(ob.isPem(t))return ob.decode(t)[0];if(jl.U$.isHex(t))return jl.U$.FromHex(t);if(jl.U$.isBase64(t))return jl.U$.FromBase64(t);if(jl.U$.isBase64Url(t))return jl.U$.FromBase64Url(t);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}{const e=jl.U$.ToBinary(t);return ob.isPem(e)?ob.decode(e)[0]:jl.U$.isHex(e)?jl.U$.FromHex(e):jl.U$.isBase64(e)?jl.U$.FromBase64(e):jl.U$.isBase64Url(e)?jl.U$.FromBase64Url(e):jl._H.toArrayBuffer(t)}}constructor(...t){ab.isAsnEncoded(t[0])?super(ab.toArrayBuffer(t[0]),t[1]):super(t[0])}toString(t="pem"){return"pem"===t?ob.encode(this.rawData,this.tag):super.toString(t)}}class cb extends ab{constructor(t){ab.isAsnEncoded(t)?super(t,Lf):super(t),this.tag=ob.PublicKeyTag}async export(...t){let e,r=["verify"],i={hash:"SHA-256",...this.algorithm};return t.length>1?(i=t[0]||i,r=t[1]||r,e=t[2]||PA.get()):e=t[0]||PA.get(),e.subtle.importKey("spki",this.rawData,i,!0,r)}onInit(t){const e=jy.resolve(Gw),r=this.algorithm=e.toWebAlgorithm(t.algorithm);switch(t.algorithm.algorithm){case Mm:{const e=Xp.parse(t.subjectPublicKey,fy),i=jl._H.toUint8Array(e.modulus);r.publicExponent=jl._H.toUint8Array(e.publicExponent),r.modulusLength=(i[0]?i:i.slice(1)).byteLength<<3;break}}}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||PA.get()):r=t[0]||PA.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(t){t||(t=PA.get());const e=Xp.parse(this.rawData,Lf);return await t.subtle.digest("SHA-1",e.subjectPublicKey)}toTextObject(){const t=this.toTextObjectEmpty(),e=Xp.parse(this.rawData,Lf);return t.Algorithm=RA.serializeAlgorithm(e.algorithm),e.algorithm.algorithm===bm?t["EC Point"]=e.subjectPublicKey:t["Raw Data"]=e.subjectPublicKey,t}}class lb{static register(t,e){this.items.set(t,e)}static create(t){const e=new NA(t),r=this.items.get(e.type);return r?new r(t):e}}lb.items=new Map;const hb="crypto.signatureFormatter";class ub extends ab{constructor(t){ab.isAsnEncoded(t)?super(t,Vf):super(t),this.tag=ob.CertificateTag}onInit(t){const e=t.tbsCertificate;this.tbs=Xp.serialize(e),this.serialNumber=jl.U$.ToHex(e.serialNumber),this.subjectName=new FA(e.subject),this.subject=new FA(e.subject).toString(),this.issuerName=new FA(e.issuer),this.issuer=this.issuerName.toString();const r=jy.resolve(Gw);this.signatureAlgorithm=r.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signatureValue;const i=e.validity.notBefore.utcTime||e.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const n=e.validity.notAfter.utcTime||e.validity.notAfter.generalTime;if(!n)throw new Error("Cannot get 'notAfter' value");this.notAfter=n,this.extensions=[],e.extensions&&(this.extensions=e.extensions.map(t=>lb.create(Xp.serialize(t)))),this.publicKey=new cb(e.subjectPublicKeyInfo)}getExtension(t){for(const e of this.extensions)if("string"==typeof t){if(e.type===t)return e}else if(e instanceof t)return e;return null}getExtensions(t){return this.extensions.filter(e=>"string"==typeof t?e.type===t:e instanceof t)}async verify(t={},e=PA.get()){let r,i;const n=t.publicKey;try{if(n)if("publicKey"in n)r={...n.publicKey.algorithm,...this.signatureAlgorithm},i=await n.publicKey.export(r,["verify"]);else if(n instanceof cb)r={...n.algorithm,...this.signatureAlgorithm},i=await n.export(r,["verify"]);else if(jl._H.isBufferSource(n)){const t=new cb(n);r={...t.algorithm,...this.signatureAlgorithm},i=await t.export(r,["verify"])}else r={...n.algorithm,...this.signatureAlgorithm},i=n;else r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],e)}catch(t){return!1}const s=jy.resolveAll(hb).reverse();let o=null;for(const t of s)if(o=t.toWebSignature(r,this.signature),o)break;if(!o)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const a=await e.subtle.verify(this.signatureAlgorithm,i,o,this.tbs);if(t.signatureOnly)return a;{const e=(t.date||new Date).getTime();return a&&this.notBefore.getTime()<e&&e<this.notAfter.getTime()}}async getThumbprint(...t){let e,r="SHA-1";return t[0]&&(t[0].subtle?e=t[0]:(r=t[0]||r,e=t[1])),null!=e||(e=PA.get()),await e.subtle.digest(r,this.rawData)}async isSelfSigned(t=PA.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},t)}toTextObject(){const t=this.toTextObjectEmpty(),e=Xp.parse(this.rawData,Vf),r=e.tbsCertificate,i=new TA("",{Version:`${Wf[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":RA.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new TA("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){const t=new TA("");for(const e of this.extensions){const r=e.toTextObject();t[r[TA.NAME]]=r}i.Extensions=t}return t.Data=i,t.Signature=new TA("",{Algorithm:RA.serializeAlgorithm(e.signatureAlgorithm),"":e.signatureValue}),t}}ub.NAME="Certificate";class pb extends NA{constructor(...t){if(jl._H.isBufferSource(t[0]))super(t[0]);else if("string"==typeof t[0]){const e=new Ed({keyIdentifier:new bd(jl.U$.FromHex(t[0]))});super(Ad,t[1],Xp.serialize(e))}else{const e=t[0],r=e.name instanceof eb?Xp.parse(e.name.rawData,Id):e.name,i=new Ed({authorityCertIssuer:r,authorityCertSerialNumber:jl.U$.FromHex(e.serialNumber)});super(Ad,t[1],Xp.serialize(i))}}static async create(t,e=!1,r=PA.get()){if(t instanceof ub||OA.isCryptoKey(t)){const i=t instanceof ub?await t.publicKey.export(r):t,n=await r.subtle.exportKey("spki",i),s=new cb(n),o=await s.getKeyIdentifier(r);return new pb(jl.U$.ToHex(o),e)}return new pb(t,e)}onInit(t){super.onInit(t);const e=Xp.parse(t.extnValue,Ed);e.keyIdentifier&&(this.keyId=jl.U$.ToHex(e.keyIdentifier)),e.authorityCertIssuer&&e.authorityCertSerialNumber&&(this.certId={name:e.authorityCertIssuer,serialNumber:jl.U$.ToHex(e.authorityCertSerialNumber)})}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Xp.parse(this.value,Ed);return e.authorityCertIssuer&&(t["Authority Issuer"]=new eb(e.authorityCertIssuer).toTextObject()),e.authorityCertSerialNumber&&(t["Authority Serial Number"]=e.authorityCertSerialNumber),e.keyIdentifier&&(t[""]=e.keyIdentifier),t}}pb.NAME="Authority Key Identifier";class db extends NA{constructor(...t){if(jl._H.isBufferSource(t[0])){super(t[0]);const e=Xp.parse(this.value,_d);this.ca=e.cA,this.pathLength=e.pathLenConstraint}else{const e=new _d({cA:t[0],pathLenConstraint:t[1]});super(vd,t[2],Xp.serialize(e)),this.ca=t[0],this.pathLength=t[1]}}toTextObject(){const t=this.toTextObjectWithoutValue();return this.ca&&(t.CA=this.ca),void 0!==this.pathLength&&(t["Path Length"]=this.pathLength),t}}var fb,gb;db.NAME="Basic Constraints",function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"}(fb||(fb={}));class mb extends NA{constructor(...t){if(jl._H.isBufferSource(t[0])){super(t[0]);const e=Xp.parse(this.value,Zd);this.usages=e.map(t=>t)}else{const e=new Zd(t[0]);super(Jd,t[1],Xp.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.usages.map(t=>CA.toString(t)).join(", "),t}}mb.NAME="Extended Key Usages",function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(gb||(gb={}));class yb extends NA{constructor(...t){if(jl._H.isBufferSource(t[0])){super(t[0]);const e=Xp.parse(this.value,df);this.usages=e.toNumber()}else{const e=new df(t[0]);super(hf,t[1],Xp.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Xp.parse(this.value,df);return t[""]=e.toJSON().join(", "),t}}yb.NAME="Key Usages";class wb extends NA{constructor(...t){if(jl._H.isBufferSource(t[0])){super(t[0]);const e=Xp.parse(this.value,Cf);this.keyId=jl.U$.ToHex(e)}else{const e="string"==typeof t[0]?jl.U$.FromHex(t[0]):t[0],r=new Cf(e);super(Tf,t[1],Xp.serialize(r)),this.keyId=jl.U$.ToHex(e)}}static async create(t,e=!1,r=PA.get()){let i;i=t instanceof cb?t.rawData:"publicKey"in t?t.publicKey.rawData:jl._H.isBufferSource(t)?t:await r.subtle.exportKey("spki",t);const n=new cb(i),s=await n.getKeyIdentifier(r);return new wb(jl.U$.ToHex(s),e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Xp.parse(this.value,Cf);return t[""]=e,t}}wb.NAME="Subject Key Identifier";class Ab extends NA{constructor(...t){jl._H.isBufferSource(t[0])?super(t[0]):super(vf,t[1],new eb(t[0]||[]).rawData)}onInit(t){super.onInit(t);const e=Xp.parse(t.extnValue,_f);this.names=new eb(e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.names.toTextObject();for(const r in e)t[r]=e[r];return t}}Ab.NAME="Subject Alternative Name";class bb extends NA{constructor(...t){var e;if(jl._H.isBufferSource(t[0])){super(t[0]);const e=Xp.parse(this.value,Ld);this.policies=e.map(t=>t.policyIdentifier)}else{const r=t[0],i=null!==(e=t[1])&&void 0!==e&&e,n=new Ld(r.map(t=>new Dd({policyIdentifier:t})));super(Rd,i,Xp.serialize(n)),this.policies=r}}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Policy=this.policies.map(t=>new TA("",{},CA.toString(t))),t}}bb.NAME="Certificate Policies",lb.register(Rd,bb);class Eb extends kA{constructor(...t){let e;if(jl._H.isBufferSource(t[0]))e=jl._H.toArrayBuffer(t[0]);else{const r=t[0],i=Array.isArray(t[1])?t[1].map(t=>jl._H.toArrayBuffer(t)):[];e=Xp.serialize(new xf({type:r,values:i}))}super(e,xf)}onInit(t){this.type=t.type,this.values=t.values}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Value=this.values.map(t=>new TA("",{"":t})),t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty();return t[TA.NAME]===Eb.NAME&&(t[TA.NAME]=CA.toString(this.type)),t}}Eb.NAME="Attribute";class vb extends Eb{constructor(...t){var e;if(jl._H.isBufferSource(t[0]))super(t[0]);else{const e=new Dw({printableString:t[0]});super(mw,[Xp.serialize(e)])}null!==(e=this.password)&&void 0!==e||(this.password="")}onInit(t){if(super.onInit(t),this.values[0]){const t=Xp.parse(this.values[0],Dw);this.password=t.toString()}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[TA.VALUE]=this.password,t}}vb.NAME="Challenge Password";class _b extends Eb{constructor(...t){var e;if(jl._H.isBufferSource(t[0]))super(t[0]);else{const e=t[0],r=new jf;for(const t of e)r.push(Xp.parse(t.rawData,Hf));super(yw,[Xp.serialize(r)])}null!==(e=this.items)&&void 0!==e||(this.items=[])}onInit(t){if(super.onInit(t),this.values[0]){const t=Xp.parse(this.values[0],jf);this.items=t.map(t=>lb.create(Xp.serialize(t)))}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.items.map(t=>t.toTextObject());for(const r of e)t[r[TA.NAME]]=r;return t}}_b.NAME="Extensions";class xb{static register(t,e){this.items.set(t,e)}static create(t){const e=new Eb(t),r=this.items.get(e.type);return r?new r(t):e}}xb.items=new Map;let Ib=class{toAsnAlgorithm(t){if("rsassa-pkcs1-v1_5"===t.name.toLowerCase()){if(!t.hash)return new Df({algorithm:Mm,parameters:null});switch(t.hash.name.toLowerCase()){case"sha-1":return new Df({algorithm:zm,parameters:null});case"sha-256":return new Df({algorithm:Gm,parameters:null});case"sha-384":return new Df({algorithm:qm,parameters:null});case"sha-512":return new Df({algorithm:Ym,parameters:null})}}return null}toWebAlgorithm(t){switch(t.algorithm){case Mm:return{name:"RSASSA-PKCS1-v1_5"};case zm:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case Gm:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case qm:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Ym:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}}}return null}};Ib=gy([Qy()],Ib),jy.registerSingleton(Vw,Ib);class Sb{addPadding(t,e){const r=jl._H.toUint8Array(e),i=new Uint8Array(t);return i.set(r,t-r.length),i}removePadding(t,e=!1){let r=jl._H.toUint8Array(t);for(let t=0;t<r.length;t++)if(r[t]){r=r.slice(t);break}if(e&&r[0]>127){const t=new Uint8Array(r.length+1);return t.set(r,1),t.buffer}return r.buffer}toAsnSignature(t,e){if("ECDSA"===t.name){const r=t.namedCurve,i=Sb.namedCurveSize.get(r)||Sb.defaultNamedCurveSize,n=new Lm,s=jl._H.toUint8Array(e);return n.r=this.removePadding(s.slice(0,i),!0),n.s=this.removePadding(s.slice(i,i+i),!0),Xp.serialize(n)}return null}toWebSignature(t,e){if("ECDSA"===t.name){const r=Xp.parse(e,Lm),i=t.namedCurve,n=Sb.namedCurveSize.get(i)||Sb.defaultNamedCurveSize,s=this.addPadding(n,this.removePadding(r.r)),o=this.addPadding(n,this.removePadding(r.s));return(0,jl.kg)(s,o)}return null}}Sb.namedCurveSize=new Map,Sb.defaultNamedCurveSize=32;const Tb="1.3.101.110",Cb="1.3.101.111",Rb="1.3.101.112",kb="1.3.101.113";let Nb=class{toAsnAlgorithm(t){let e=null;switch(t.name.toLowerCase()){case"eddsa":switch(t.namedCurve.toLowerCase()){case"ed25519":e=Rb;break;case"ed448":e=kb}break;case"ecdh-es":switch(t.namedCurve.toLowerCase()){case"x25519":e=Tb;break;case"x448":e=Cb}}return e?new Df({algorithm:e}):null}toWebAlgorithm(t){switch(t.algorithm){case Rb:return{name:"EdDSA",namedCurve:"Ed25519"};case kb:return{name:"EdDSA",namedCurve:"Ed448"};case Tb:return{name:"ECDH-ES",namedCurve:"X25519"};case Cb:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Nb=gy([Qy()],Nb),jy.registerSingleton(Vw,Nb);class Bb extends ab{constructor(t){ab.isAsnEncoded(t)?super(t,zw):super(t),this.tag=ob.CertificateRequestTag}onInit(t){this.tbs=Xp.serialize(t.certificationRequestInfo),this.publicKey=new cb(t.certificationRequestInfo.subjectPKInfo);const e=jy.resolve(Gw);this.signatureAlgorithm=e.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signature,this.attributes=t.certificationRequestInfo.attributes.map(t=>xb.create(Xp.serialize(t)));const r=this.getAttribute(yw);this.extensions=[],r instanceof _b&&(this.extensions=r.items),this.subjectName=new FA(t.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(t){for(const e of this.attributes)if(e.type===t)return e;return null}getAttributes(t){return this.attributes.filter(e=>e.type===t)}getExtension(t){for(const e of this.extensions)if(e.type===t)return e;return null}getExtensions(t){return this.extensions.filter(e=>e.type===t)}async verify(t=PA.get()){const e={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(e,["verify"],t),i=jy.resolveAll(hb).reverse();let n=null;for(const t of i)if(n=t.toWebSignature(e,this.signature),n)break;if(!n)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await t.subtle.verify(this.signatureAlgorithm,r,n,this.tbs)}toTextObject(){const t=this.toTextObjectEmpty(),e=Xp.parse(this.rawData,zw),r=e.certificationRequestInfo,i=new TA("",{Version:`${Wf[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const t=new TA("");for(const e of this.attributes){const r=e.toTextObject();t[r[TA.NAME]]=r}i.Attributes=t}return t.Data=i,t.Signature=new TA("",{Algorithm:RA.serializeAlgorithm(e.signatureAlgorithm),"":e.signature}),t}}var Ob;Bb.NAME="PKCS#10 Certificate Request",function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(Ob||(Ob={})),lb.register(vd,db),lb.register(Jd,mb),lb.register(hf,yb),lb.register(Tf,wb),lb.register(Ad,pb),lb.register(vf,Ab),xb.register(mw,vb),xb.register(yw,_b),jy.registerSingleton(hb,class{toAsnSignature(t,e){return jl._H.toArrayBuffer(e)}toWebSignature(t,e){return jl._H.toArrayBuffer(e)}}),jy.registerSingleton(hb,Sb),Sb.namedCurveSize.set("P-256",32),Sb.namedCurveSize.set("K-256",32),Sb.namedCurveSize.set("P-384",48),Sb.namedCurveSize.set("P-521",66);const Pb=/-{5}(BEGIN|END) .*-{5}/gm,Db="pages/pages.jsonl",Lb="pages/extraPages.jsonl",Ub="datapackage.json",Mb="datapackage-digest.json",Fb="webarchive.yaml";class Hb{store;file;isRoot;waczname;constructor(t,e,r=!0){this.file=e,this.waczname=e.waczname||"",this.store=t,this.isRoot=r}async loadFileFromWACZ(t,e){return this.store.loadFileFromWACZ?await this.store.loadFileFromWACZ(this.file,t,e):await this.file.loadFile(t,e)}async load(){let t,e=null;return this.file.containsFile(Mb)&&(e=await this.loadDigestData(Mb)),this.file.containsFile(Ub)?t=await this.loadPackage(Ub,e):this.file.containsFile(Fb)&&(t=await this.loadOldPackageYAML(Fb)),t||{}}async loadTextFileFromWACZ(t,e=""){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{computeHash:!!e});if(!r)return"";const n=(new TextDecoder).decode(await r.readFully());return e&&i&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}async loadDigestData(t){try{const e=JSON.parse(await this.loadTextFileFromWACZ(t));let r;e.path===Ub&&e.hash&&(r=e.hash);const i=this.store,n=this.isRoot?"":this.waczname+":";if(!e.signedData||e.signedData.hash!==r)return void await i.addVerifyData(n,"signature","");await i.addVerifyData(n,"datapackageHash",r);const s=await async function({hash:t,signature:e,publicKey:r,domain:i,domainCert:n,created:s,software:o}){let a;const c=[],l=(0,Hl.toByteArray)(e);let h;if(n&&i&&!r){const t=n.split("\n\n"),e=(0,Hl.toByteArray)(t[0].replace(Pb,"").replace(/\s/gm,"")),r=m(await crypto.subtle.digest("SHA-256",e));c.push({id:"certFingerprint",expected:r,matched:null});const i=new ub(e);h=await i.publicKey.export();const s=(0,Hl.fromByteArray)(new Uint8Array(i.publicKey.rawData));c.push({id:"publicKey",expected:s,matched:null}),i.subject&&i.subject.startsWith("CN=")&&(a=i.subject.substring(3))}else{const t={name:"ECDSA",namedCurve:"P-384"};c.push({id:"publicKey",expected:r,matched:null}),h=await crypto.subtle.importKey("spki",(0,Hl.toByteArray)(r),t,!0,["verify"])}const u=new TextEncoder,p=await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},h,l,u.encode(t));return c.push({id:"signature",expected:!0,matched:p}),s&&c.push({id:"created",expected:s,matched:null}),o&&c.push({id:"software",expected:o,matched:null}),i&&c.push({id:"domain",expected:i,matched:a}),c}(e.signedData);return await i.addVerifyDataList(n,s),r}catch(t){console.warn(t)}}async loadPackage(t,e){const r=await this.loadTextFileFromWACZ(t,e),i=JSON.parse(r);switch(this.isRoot&&void 0!==i.config&&this.store.initConfig(i.config),i.profile){case"data-package":case"wacz-package":case void 0:case null:return await this.loadLeafWACZPackage(i);case"multi-wacz-package":return await this.loadMultiWACZPackage(i);default:throw new Error(`Unknown package profile: ${i.profile}`)}}async loadMultiWACZPackage(t){return this.file.markAsMultiWACZ(),await this.store.loadWACZFiles(t,this.file),this.store.maxFallbackLookups=-1,t}async loadLeafWACZPackage(t){const e=t.metadata||{};let r=null;for(const e of t.resources)e.path===Db?(r=e.hash,await this.store.addVerifyData(this.waczname,e.path,e.hash)):(e.path.endsWith(".idx")||e.path.endsWith(".cdx"))&&await this.store.addVerifyData(this.waczname,e.path,e.hash);return this.file.containsFile(Db)&&(await this.loadPages(Db,r)).hasText&&(this.store.textIndex=e.textIndex=Db),this.file.containsFile(Lb)&&(this.store.textIndex=e.textIndex=Lb),e}async loadOldPackageYAML(t){const e=await this.loadTextFileFromWACZ(t),r=Fl.load(e),i={desc:r.desc,title:r.title};r.textIndex&&(i.textIndex=r.textIndex,r.config||(r.config={}),r.config.textIndex=r.textIndex),this.isRoot&&void 0!==r.config&&this.store.initConfig(r.config),i.title||(i.title=this.store.config.sourceName);const n=r.pages||[];n?.length&&await this.store.addPages(n);const s=r.pageLists||[];return s?.length&&await this.store.addCuratedPageLists(s,"pages","show"),i}async loadPages(t=Db,e=null){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{unzip:!0,computeHash:!0});if(!r)return[];let n=null,s=[];for await(const t of r.iterLines()){const e=JSON.parse(t);this.waczname&&(e.wacz=this.waczname),n?(s.push(e),500===s.length&&(await this.store.addPages(s),s=[])):n=e}return s.length&&await this.store.addPages(s),i&&e&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}}class jb{loader;loadId=null;loadUrl;constructor(t,e,r=null){this.loader=t,this.loadId=r,this.loadUrl=e.loadUrl}async load(t){const e=this.loader;t.fullConfig&&e.arrayBuffer&&e.arrayBuffer.byteLength<=o&&(t.fullConfig.extra||(t.fullConfig.extra={}),t.fullConfig.extra.arrayBuffer=e.arrayBuffer);const r=this.loadUrl;return await t.addNewWACZ({name:"default",path:r,loader:e})}}class Wb{loader;loadId=null;config;constructor(t,e,r=null){this.config=e,this.loadId=r,this.loader=t}async load(t,e=null,r=0){const i=new Ua({loader:this.loader});await i.init();const n=i.zipreader,s=new Hb(t,i),o=await s.load();let a=0;const c=(t,i,n)=>{n+=a,e&&r&&e(Math.round(100*n/r),null,n,r)};for(const e of i.iterContainedFiles()){const r=n.getCompressedSize(e);(e.endsWith(".warc.gz")||e.endsWith(".warc"))&&await this.loadWARC(t,n,e,c,r),a+=r}return o||{}}async loadWARC(t,e,r,i,n){const{reader:s}=await e.loadFile(r,{unzip:!0});if(!s)throw new Error("no WARC found");const o=new Ao(s,null,r);return o.detectPages=!1,await o.load(t,i,n)}}class Qb{response;constructor(t){this.response=t}async load(t){try{return await t.loadFromJSON(this.response)}catch(t){return{}}}}class zb{prefix;proxyPathOnly;isLive;archivePrefix;archiveMod;cloneResponse;allowBody;hostProxy;hostProxyOnly;messageOnProxyErrors;constructor(t,{cloneResponse:e=!1,allowBody:r=!1,hostProxyOnly:i=!1}={}){if(t=t||{},this.prefix=t.prefix||"",this.proxyPathOnly=t.proxyPathOnly||!1,this.isLive=void 0===t.isLive||t.isLive,this.archivePrefix=t.archivePrefix||"",this.archiveMod=t.archiveMod||"id_",this.cloneResponse=e,this.allowBody=r||this.isLive||!!t.noPostToGet,this.messageOnProxyErrors=t.messageOnProxyErrors||!1,this.hostProxy=t.hostProxy,this.hostProxy instanceof Array){const t={};for(const e of this.hostProxy)t[e.host]=e;this.hostProxy=t}this.hostProxyOnly=i}async getAllPages(){return[]}getFetchUrl(t,e,r){let i;if(this.hostProxy){i=new URL(t);const e=this.hostProxy[i.host];if(e)return r.set("X-Proxy-Host",i.host),e.prefix+(e.pathOnly?i.pathname+i.search:t)}return this.hostProxyOnly?null:this.proxyPathOnly?(i||(i=new URL(t)),this.prefix+i.pathname+i.search):this.isLive||!e.timestamp&&!this.archivePrefix?this.prefix+t:this.prefix+this.archivePrefix+e.timestamp+this.archiveMod+"/"+t}async getResource(t,e){const{headers:r,credentials:i,url:n}=t.prepareProxyRequest(e,!0),s=this.getFetchUrl(n,t,r);if(!s)return null;let o=null;const a="POST"===t.method||"PUT"===t.method||"DELETE"===t.method;a&&(this.allowBody?o=await t.getBody():this.sendProxyError("post-request-attempt",n,t.method));let c=await fetch(s,{method:t.method,body:o,headers:r,credentials:i,mode:"cors",redirect:"follow"}),l=!1;a&&c.status>=400?this.sendProxyError("post-request-failed",n,t.method,c.status):429===c.status&&this.sendProxyError("rate-limited",n,t.method,c.status),c.status>400&&404!==c.status&&["","document","iframe"].includes(t.destination)&&(c=ys(n,c.status),l=!0);try{const t=new URL(s,self.location.href).href;if(c.ok&&c.url&&c.url!==t){const t=c.url.indexOf("/http"),e=c.url.slice(t+1);n!==e&&(c=Response.redirect(e))}}catch(t){}let h=null;this.cloneResponse&&(h=c.clone());const u=Jn.fromResponse({url:n,response:c,date:new Date,noRW:l,isLive:this.isLive,archivePrefix:this.archivePrefix});return h&&(u.clonedResponse=h),u}async sendProxyError(t,e,r,i){if(!this.messageOnProxyErrors)return;const n=await self.clients.matchAll({type:"window"});for(const s of n)if(new URL(s.url).searchParams.get("source")===this.prefix){s.postMessage({type:t,url:e,method:r,status:i});break}}}const Vb=/^([\w-]+,)*[\w-]+(:\d+)?,?\)\//;class Gb extends ya{config;waczfiles;waczNameForHash;ziploadercache;updating;rootSourceType;sourceLoader;externalSource;textIndex;fuzzyUrlRules;pagesQueryUrl="";referrerMap=new Map;notAPage=new Set;maxFallbackLookups=3;totalPages=void 0;preloadResources=[];seedPageWACZs=new Map;constructor(t,e,r="wacz"){if(super(t.dbname,t.noCache),this.config=t,this.waczfiles={},this.waczNameForHash={},this.ziploadercache={},this.updating=null,this.rootSourceType=r,this.sourceLoader=e,this.externalSource=null,this.fuzzyUrlRules=[],this.textIndex=t.metadata?.textIndex||Lb,t.extraConfig&&this.initConfig(t.extraConfig),t.metadata){if(this.pagesQueryUrl=t.metadata.pagesQueryUrl||"",t.metadata.preloadResources?.length)for(const{name:e}of t.metadata.preloadResources)this.preloadResources.push(e);"number"==typeof t.metadata.totalPages&&(this.totalPages=t.metadata.totalPages)}}initConfig(t){if(void 0!==t.decodeResponses&&(this.config.decode=!!t.decodeResponses),t.hostProxy&&(this.externalSource=new zb(t,{hostProxyOnly:!0})),t.fuzzy)for(const[e,r]of t.fuzzy){const t=new RegExp(e);this.fuzzyUrlRules.push({match:t,replace:r})}t.textIndex&&(this.textIndex=t.textIndex)}updateHeaders(t){this.sourceLoader&&(this.sourceLoader.headers=t),this.checkUpdates().catch(()=>console.warn("Error updating JSON even after auth update"))}_initDB(t,e,r,i){super._initDB(t,e,r,i),e||(t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"})),2===e&&this.convertV2WACZDB(t,i),3===e&&t.createObjectStore("verification",{keyPath:"id"})}async convertV2WACZDB(t,e){try{const r=await e.objectStore("ziplines").getAll(),i=await e.objectStore("zipEntries").getAll();t.deleteObjectStore("ziplines"),t.deleteObjectStore("zipEntries"),t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"});const n=this.config.loadUrl;for(const t of r)t.waczname=n,e.objectStore("ziplines").put(t);const s=r.length>0?2:1,o=await this.computeFileHash(n,""),a=new Ua({waczname:n,hash:o,path:n,entries:i,indexType:s});e.objectStore("waczfiles").put(a.serialize()),await e.done}catch(t){console.warn(t)}}addWACZFile(t){const e=new Ua(t);return this.waczfiles[t.waczname]=e,this.waczNameForHash[t.hash]=t.waczname,e}async init(){await super.init();const t=await this.db.getAll("waczfiles")||[];for(const e of t)this.addWACZFile({...e,parent:this});for(const[t,e]of Object.entries(this.waczfiles)){e.path=e.path||t;const r=e.path.lastIndexOf("#!/");if(r>0){const t=e.path.slice(0,r),i=this.waczfiles[t];e.parent=i}else"json"!==this.rootSourceType&&(e.loader=this.sourceLoader)}}async close(){super.close(),caches.delete("cache:"+this.name.slice(3))}async clearZipData(){const t=["waczfiles","ziplines"];for(const e of t)await this.db.clear(e)}async addVerifyData(t="",e,r,i=null,n=!1){let s=!1;t&&(e=t+e),i&&(s=r===i,n&&console.log(`verify ${e}: ${s}`)),await this.db.put("verification",{id:e,expected:r,matched:s})}async addVerifyDataList(t,e){const r=this.db.transaction("verification","readwrite");for(const i of e)t&&(i.id=t+i.id),r.store.put(i);try{await r.done}catch(t){console.warn(t)}}async getVerifyInfo(){const t=await this.db.getAll("verification");let e=0,r=0;const i={},n=["domain","created","certFingerprint","software","datapackageHash","publicKey"];for(const s of t)n.includes(s.id)?i[s.id]=s.expected:"signature"===s.id||!0===s.matched?e++:!1===s.matched&&r++;return i.numInvalid=r,i.numValid=e,i}async getVerifyExpected(t){const e=await this.db.get("verification",t);return e?.expected}async clearAll(){await super.clearAll(),await this.clearZipData()}async loadRecordFromSource(t){const{start:e,length:r,path:i,wacz:n}=t.source,s={offset:e,length:r,unzip:!0,computeHash:!0},o=n,{reader:a,hasher:c}=await this.loadFileFromNamedWACZ(o,"archive/"+i,s),l=new bo(a);await this.waczfiles[o].save(this.db);const h=await l.load();return t[Ia]&&h?.respHeaders&&(h.respHeaders["x-wabac-preset-cookie"]=t[Ia]),{remote:h,hasher:c}}async loadIndex(t){if(!this.waczfiles[t])throw new Error("unknown waczfile: "+t);if(this.waczfiles[t].entries||await this.waczfiles[t].init(),this.waczfiles[t].indexType)return{indexType:this.waczfiles[t].indexType,isNew:!1};let e=0;for(const r of this.waczfiles[t].iterContainedFiles())r.endsWith(".cdx")||r.endsWith(".cdxj")?(console.log(`Loading CDX for ${t}`),await this.loadCDX(r,t),e=1):r.endsWith(".idx")&&(console.log(`Loading IDX for ${t}`),await this.loadIDX(r,t),e=2);return this.waczfiles[t].indexType=e,await this.waczfiles[t].save(this.db,!0),{indexType:e,isNew:!0}}async loadCDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=new Ca(n,null,e,{wacz:e}),a=await o.load(this,r,i);if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}return a}async loadIDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=[];let a="",c=!0,l=0;for await(const t of n.iterLines()){if(l+=t.length,l===t.length&&t.startsWith("!meta")){const e=t.indexOf(" {");if(e<0){console.warn("Invalid Meta Line: "+t);continue}const r=JSON.parse(t.slice(e));r.filename&&(a=r.filename),"cdxj-gzip-1.0"!==r.format&&console.log(`Unknown CDXJ format "${r.format}", archive may not parse correctly`);continue}let n;if(t.indexOf("\t")>0){const[r,i,s,o]=t.split("\t");n={waczname:e,prefix:r,filename:i,offset:Number(s),length:Number(o),loaded:!1},c=!1}else{const r=t.indexOf(" {");if(r<0){console.log("Invalid Index Line: "+t);continue}const i=t.slice(0,r);let{offset:s,length:o,filename:l,digest:h}=JSON.parse(t.slice(r));c=c&&!Vb.test(i),l=l||a,n={waczname:e,prefix:i,filename:l,offset:s,length:o,digest:h,loaded:!1}}r&&i&&r(l/i,l,i),o.push(n)}if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}const h=this.db.transaction("ziplines","readwrite");for(const t of o)h.store.put(t);try{await h.done}catch(t){console.log("Error loading ziplines index: ",t)}c&&c!==this.waczfiles[e].nonSurt&&(this.waczfiles[e].nonSurt=c,await this.waczfiles[e].save(this.db,!0))}async loadCDXFromIDX(t,e,r=0,i=!1,n=!1){const s=this.waczfiles[t].nonSurt?e:ut(e),o=i?this.prefixUpperBound(s):s+" 9999",a=IDBKeyRange.upperBound([t,o],!0),c=this.db.transaction("ziplines","readonly"),l=[],h=s.split("?")[0],u=n?s:h;for await(const e of c.store.iterate(a,"prev")){const r=e.value;if(!r||r.waczname!==t)break;const i=r.prefix.split(" ")[0];if(l.unshift(r),!i.startsWith(u))break}await c.done;const p=[];u===s&&l.length>6&&r&&l.sort((t,e)=>{const i=t.prefix.split(" ")[1],n=e.prefix.split(" ")[1];if(!i||!n)return 0;const s=Math.abs(f(i).getTime()-r),o=Math.abs(f(n).getTime()-r);return s===o?0:s<o?-1:1});let d=0;for(const e of l){if(e.loaded)continue;const r=t+":"+e.filename+":"+e.offset;let i=this.ziploadercache[r];if(i||(i=this.doCDXLoad(r,e,t),this.ziploadercache[r]=i),p.push(i),++d>6)break}return p.length&&await Promise.allSettled(p),await this.waczfiles[t].save(this.db),p.length>0}async doCDXLoad(t,e,r){try{const t="indexes/"+e.filename,i={offset:e.offset,length:e.length,unzip:!0,computeHash:!!e.digest},{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(r,t,i),o=new Ca(n,null,"",{wacz:r});if(await o.load(this),s){const i=s.getHash(),n=`${t}:${e.offset}-${e.length}`;await this.addVerifyData(r,n,e.digest||"",i)}e.loaded=!0,await this.db.put("ziplines",e)}catch(t){await S(t,this.config)||console.warn(t)}finally{delete this.ziploadercache[t]}}async findPageAtUrl(t,e){const r=await this.db.getAllFromIndex("pages","url",t);let i=null,n=Number.MAX_SAFE_INTEGER;for(const t of r){const r=Math.abs(t.ts-e);if(r<1e3)return t;r<n&&(i=t,n=r)}return i}async lookupUrl(t,e,r={waczname:""}){const{waczname:i,noRevisits:n,isPage:s}=r,o=n||s||!1;i&&"local"!==i&&await this.preloadUrlFromWACZ(i,t,e,o);let a=await super.lookupUrl(t,e,r),c=0;if(!a&&r.noRevisits&&this.waczfiles[i]?.reqFiles.length)for(const n of this.waczfiles[i].reqFiles)if(await this.preloadUrlFromWACZ(n,t,e,o)){if(a=await super.lookupUrl(t,e,r),a)return a;if(c++>=12)break}return a}async preloadUrlFromWACZ(t,e,r,i){try{const{indexType:n,isNew:s}=await this.loadIndex(t);switch(n){case 2:if(!await this.loadCDXFromIDX(t,e,r,!1,i))return!1;break;case 1:if(!s)return!1;break;default:return!1}return!0}catch(t){return!1}}async resourcesByUrlAndMime(t,...e){let r=await super.resourcesByUrlAndMime(t,...e);if(r.length>0)return r;for(const i of Object.keys(this.waczfiles))if(i&&"local"!==i){const{indexType:n,isNew:s}=await this.loadIndex(i);switch(n){case 2:if(!await this.loadCDXFromIDX(i,t,0,!0))continue;break;case 1:if(!s)continue;break;default:continue}const o=await super.resourcesByUrlAndMime(t,...e);o&&o.length&&(r=r.concat(o))}return r}async loadFileFromWACZ(t,e,r,i=0){try{return await t.loadFile(e,r)}catch(n){if(i<=3&&await this.retryLoad(n))return await this.loadFileFromWACZ(t,e,r,i+1);throw n}}async loadFileFromNamedWACZ(t,e,r){const i=this.waczfiles[t];if(!i)throw new Error("No WACZ Found for: "+t);return await this.loadFileFromWACZ(i,e,r)}async computeFileHash(t,e){return e?e.indexOf(":")>0&&(e=e.split(":")[1]):e=await y(t,"sha-256",""),e}async addNewWACZ({name:t,hash:e,path:r,crawlId:i,parent:n,loader:s=null}){const o=t||r||"";e=await this.computeFileHash(o,e);const a=this.addWACZFile({waczname:o,hash:e,crawlId:i,path:r,parent:n,loader:s});let c={};if(!this.pagesQueryUrl){await a.init();const t=new Hb(this,a,!n);c=await t.load()}return await a.save(this.db,!0),c}async loadWACZFiles(t,e=this){const r=[],i=async(t,e)=>{const r=this.waczfiles[t];r&&(this.pagesQueryUrl?await r.init(e):r.path=e,await r.save(this.db,!0))},n=t.resources.map(t=>{const r=e.getLoadPath(t.path);return{name:e.getName(t.name),hash:t.hash,path:r,crawlId:t.crawlId}});for(const{name:t,hash:s,path:o,crawlId:a}of n)this.waczfiles[t]?this.waczfiles[t].path!==o&&r.push(i(t,o)):r.push(this.addNewWACZ({name:t,hash:s,path:o,parent:e,crawlId:a}));if(r.length&&await Promise.allSettled(r),t.preloadResources?.length)for(const{name:e}of t.preloadResources)this.preloadResources.push(e);t.initialPages?.length&&await this.addInitialPages(t.initialPages),"number"==typeof t.totalPages&&(this.totalPages=t.totalPages)}async addInitialPages(t){const e=[];for(const{id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,filename:h,isSeed:u,crawl_id:p}of t){const t=this.waczfiles[h],d=t?t.hash:"";if(e.push({id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,wacz:h,waczhash:d,isSeed:u}),u){const t=this.seedPageWACZs.get(p||"")||new Set;t.add(h),this.seedPageWACZs.set(p||"",t)}}return await this.addPages(e)}async getTextIndex(){const t={"Content-Type":"application/ndjson"},e=Object.keys(this.waczfiles);if(this.pagesQueryUrl||!this.textIndex||!e.length)return new Response("",{headers:t});const r=1048576;if(1===e.length){const i=e[0];let n;try{n=await this.loadFileFromNamedWACZ(i,this.textIndex,{unzip:!0,offset:0,length:r})}catch(e){return new Response("",{headers:t})}const{reader:s}=n,o=this.waczfiles[i].getSizeOf(this.textIndex);return o>0&&(t["Content-Length"]=""+Math.min(o,r)),new Response(s.getReadableStream(),{headers:t})}{const r=[];for(const i of e)try{const{reader:t}=await this.loadFileFromNamedWACZ(i,this.textIndex,{unzip:!0});t&&r.push(t)}catch(t){continue}const i=new ReadableStream({async pull(t){for(const e of r)for await(const r of e)t.enqueue(r);t.close()}});return new Response(i,{headers:t})}}async getResource(t,e,r,{pageId:i,noRedirect:n}={}){if(await this.initing,this.externalSource){const r=await this.externalSource.getResource(t,e);if(r)return r}const s="document"===t.destination||"iframe"===t.destination,o=i;let a=null,c=null;if(o){if(a=this.waczNameForHash[o],!a)return null;if(c=await super.getResource(t,e,r,{waczname:a,skip5xx:t.isProxyOrigin,isPage:s}),c)return c}const l=await this.getWACZFilesToTry(t,a);if(!l.length)return null;const h=new Map;for(const i of l){const n=this.waczfiles[i];if(n&&n.fileType===La&&n.hash!==o&&(c=await super.getResource(t,e,r,{waczname:i,noFuzzyCheck:!t.isProxyOrigin,skip5xx:t.isProxyOrigin,isPage:s}),c)){const t=c,e=t.date.getTime();h.set(e,{name:i,hash:n.hash,resp:t})}}if(h.size>0){const r=f(t.timestamp);let i,s,o,c=-1;for(const t of h.keys()){const e=Math.abs(t-r.getTime());if(c<0||e<c){const{name:r,hash:n,resp:l}=h.get(t);a=r,s=n,i=d(l.date.toISOString()),c=e,o=l}}return n?o:Response.redirect(`${e}:${s}/${i}${t.mod}/${t.url}`)}if(this.fuzzyUrlRules.length)for(const{match:i,replace:n}of this.fuzzyUrlRules){const s=decodeURIComponent(t.url.replace(i,n));if(s&&s!==t.url){t.url=s;const i=await super.getResource(t,e,r);if(i)return i}}return null}async retryLoad(t){if("json"!==this.rootSourceType)return!1;if(!(t instanceof k||t instanceof C))return await S(t,this.config);try{return await this.checkUpdates(),!0}catch(t){return!1}}async queryPages(t="",e=1,r=25){const i=new URLSearchParams;t&&i.set("search",t),i.set("page",e+""),i.set("pageSize",r+"");const n=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==n.status)return{pages:[],total:0};const s=await n.json();if(!s)return{pages:[],total:0};const o=s.total,a=s.items.map(t=>{t.wacz=t.filename;const e=this.waczfiles[t.filename];return e&&(t.waczhash=e.hash),"string"==typeof t.ts&&(t.ts=new Date(t.ts).getTime()),t});return{pages:a,total:o}}async getWACZFilesToTry(t,e){let r,i=[];if(this.preloadResources.length&&(i=[...this.preloadResources]),!this.pagesQueryUrl||"document"!==t.destination&&"iframe"!==t.destination){if(this.pagesQueryUrl&&t.url.startsWith("urn:")){const e=t.url.indexOf("http");e>0&&(r=t.url.slice(e))}else if(t.isProxyOrigin&&t.referrer&&"document"!==t.destination){r=t.referrer,this.referrerMap.set(t.url,r);let e="";for(;r&&(e=this.referrerMap.get(r),e&&e!==r);)r=e}}else r=t.url;if(r&&this.pagesQueryUrl){r.startsWith("//")&&(r=(t.referrer&&t.referrer.indexOf("/http:")>0?"http:":"https:")+r);let e=await this.getWACZFilesForPagesQuery(r);if(e)return i=[...i,...e],i;if(r.startsWith("https://www.")){const t=new URL(r);if("/"===t.pathname&&(t.hostname=t.hostname.replace("www.",""),e=await this.getWACZFilesForPagesQuery(t.href),e))return i=[...i,...e],i}}if(e){const t=this.waczfiles[e];if(t?.crawlId){const e=this.seedPageWACZs.get(t.crawlId);if(e)return i=[...i,...e.values()],i}}const n=Object.keys(this.waczfiles);return this.maxFallbackLookups>0&&"json"===this.rootSourceType&&this.pagesQueryUrl?n.slice(0,this.maxFallbackLookups):n}async getWACZFilesForPagesQuery(t){const e=[];if(!this.pagesQueryUrl)return null;const r=await this.getPagesByUrl(t);for(const t of r)t.wacz&&e.push(t.wacz);if(e.length)return e;if(this.notAPage.has(t))return null;const i=new URLSearchParams,n=new URL(t);n.hash="",i.set("url",n.href),i.set("pageSize","25");let s=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==s.status)return null;let o=await s.json();!o?.items.length&&n.search&&(n.search="",i.delete("url"),i.set("search",n.href),s=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers}),o=await s.json());const a=o.items;for(const t of a){if(!t.url.startsWith(n.href))break;t.filename&&e.push(t.filename)}return e.length?(this.addInitialPages(o.items).catch(t=>console.log(t,"additional page add failed")),e):(this.notAPage.add(t),null)}async checkUpdates(){if("json"!==this.rootSourceType)return;this.updating||(this.updating=(async()=>{try{return void await this.loadFromJSON()}catch(t){await O(500)}throw new B})());try{await this.updating}finally{this.updating=null}}async loadFromJSON(t=null){if(!t){const e=await this.sourceLoader.doInitialFetch(!1,!1);t=e&&e.response}if(!t||206!==t.status&&200!==t.status)throw console.warn("WACZ update failed from: "+(this.config.loadUrl||this.config.sourceUrl)),new k;const e=await t.json();return e.pagesQueryUrl&&(this.pagesQueryUrl=e.pagesQueryUrl),e.profile,await this.loadWACZFiles(e),e}getLoadPath(t){return new URL(t,this.config.loadUrl).href}getName(t){return t}async createLoader(t){return await aa(t)}}class qb{sourceUrl;type;notFoundPageUrl;constructor(t){const e=t.extraConfig||{};this.sourceUrl=e.prefix,this.type=e.sourceType||"kiwix",this.notFoundPageUrl=e.notFoundPageUrl}async getAllPages(){return[]}async getResource(t,e){const{url:r,headers:i}=t.prepareProxyRequest(e);let n=i;if("kiwix"===this.type){let e=await this.resolveHeaders(r);if(!e)for(const t of uo.getFuzzyCanonsWithArgs(r))if(t!==r&&(e=await this.resolveHeaders(t),e))break;if(!e){if(this.notFoundPageUrl&&"navigate"===t.mode){const t=await fetch(this.notFoundPageUrl);if(200===t.status){const e={"Content-Type":"text/html"},i=await t.text();return new Response(i.replace("$URL",r),{status:404,headers:e})}}return null}let{headers:i,encodedUrl:s,date:o,status:a,statusText:c,hasPayload:l}=e;if(n.has("Range")){const t=n.get("Range");t&&(n={Range:t})}let h=null,u=null;if(i||(i=new Headers),l&&(u=await fetch(this.sourceUrl+"A/"+s,{headers:n}),u.body&&(h=new St(u.body.getReader(),null,!1)),206===u.status)){const t=u.headers.get("Content-Length"),e=u.headers.get("Content-Range");t&&e&&(a=206,c="Partial Content",i.set("Content-Length",t),i.set("Content-Range",e),i.set("Accept-Ranges","bytes"))}return h||(h=new Uint8Array([])),o||(o=new Date),new Jn({payload:h,status:a,statusText:c,headers:i,url:r,date:o,noRW:!1,isLive:!1})}return null}async resolveHeaders(t){const e=t.slice(t.indexOf("//")+2);let r=encodeURI(e);r=encodeURIComponent(e);const i=await fetch(this.sourceUrl+"H/"+r);if(200!==i.status)return null;let n=null,s=null,o=200,a="OK",c=!1;try{const e=await Wt.parse(i.body);if(!e)return null;if("revisit"===e.warcType){const r=e.warcHeaders.headers.get("WARC-Refers-To-Target-URI");if(r&&r!==t)return await this.resolveHeaders(r)}s=new Date(e.warcDate),e.httpHeaders?(n=e.httpHeaders.headers,o=Number(e.httpHeaders.statusCode),a=e.httpHeaders.statusText||"",c="0"!==e.httpHeaders.headers.get("Content-Length")):"resource"===e.warcType&&(n=new Headers,n.set("Content-Type",e.warcContentType||""),n.set("Content-Length",e.warcContentLength+""),o=200,a="OK",c=e.warcContentLength>0),o||(o=200)}catch(e){console.warn(e),console.warn("Ignoring headers, error parsing headers response for: "+t)}return{encodedUrl:r,headers:n,date:s,status:o,statusText:a,hasPayload:c}}}globalThis.self||(globalThis.self=globalThis);const Yb={};self.interruptLoads=Yb;class Kb{root=null;colldb=null;checkIpfs=!0;_init_db;_fileHandles=null;constructor(){this._init_db=this._initDB()}async _initDB(){this.colldb=await Gs("collDB",3,{upgrade:(t,e)=>{e<1&&t.createObjectStore("colls",{keyPath:"name"}).createIndex("type","type");try{t.createObjectStore("settings")}catch(t){}}})}async loadAll(t){if(await this._init_db,t)for(const e of t.split(",")){const t=e.split(":");if(2===t.length){const e={dbname:t[1],sourceName:t[1],decode:!1,sourceUrl:""},r={name:t[0],type:"archive",config:e};console.log("Adding Coll: "+JSON.stringify(r)),await this.colldb.put("colls",r)}}try{const t=await this.listAll(),e=[],r=t.map(async t=>this._initColl(t,e));await Promise.all(r),e.length&&this.deleteExpireMultiWACZs(e)}catch(t){console.warn(t.toString())}return!0}async listAll(){return await this._init_db,await this.colldb.getAll("colls")}async loadColl(t){await this._init_db;const e=await this.colldb.get("colls",t);return e?await this._initColl(e):null}async reload(t){return this.loadColl(t)}async deleteColl(t){await this._init_db;const e=await this.colldb.get("colls",t);if(!e)return!1;if(e.config.dbname)try{await qs(e.config.dbname,{blocked(t,r){console.log(`Unable to delete ${e.config.dbname}, blocked: ${r}`)}})}catch(t){return console.warn(t),!1}return await this.colldb.delete("colls",t),!0}async deleteExpireMultiWACZs(t){const e=await(this.colldb?.get("settings","lastCleanupRun"));if(e&&Date.now()-e<864e5)console.log("Skipping cleanup run, ran recently");else{for(const r of t){const t=r.config.loadUrl||r.config.sourceUrl;if(!t.startsWith("https://")&&!t.startsWith("http://"))continue;const i=r.name.startsWith("db:")?r.name.slice(3):r.name;try{await r.checkUpdates()}catch(e){e instanceof B&&(console.warn("Deleting expired/invalid coll for "+t),this.deleteColl(i))}await O(2e3)}await this.colldb.put("settings",Date.now(),"lastCleanupRun")}}async updateAuth(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.headers=e,await this.colldb.put("colls",r),!0)}async updateMetadata(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.metadata={...r.config.metadata,...e},await this.colldb.put("colls",r),r.config.metadata)}async updateSize(t,e,r,i){await this._init_db;const n=await this.colldb.get("colls",t);if(!n)return!1;const s=n.config.metadata||{};return s.fullSize=(s.fullSize||0)+e,s.size=(s.size||0)+r,s.mtime=(new Date).getTime(),void 0!==i&&(n.config.decode=i),await this.colldb.put("colls",n),s}async initNewColl(t,e={},r="archive"){await this._init_db;const i=b(),n="local://"+i,s={name:i,type:r,config:{dbname:"db:"+i,ctime:(new Date).getTime(),decode:!1,metadata:t,sourceUrl:n,extraConfig:e}},o=await this._initColl(s);return await this.colldb.put("colls",s),o}async _initColl(t,e=null){const r=await this._initStore(t.type||"",t.config),i=t.name,n=t.config;return t.config.root&&!this.root&&(this.root=i||null),e&&r instanceof Gb&&e.push(r),this._createCollection({name:i,store:r,config:n})}async _initStore(t,e){let r,i=null;switch(t){case"archive":i=new go(e.dbname);break;case"remotesource":r=await aa({url:e.loadUrl,headers:e.headers,size:e.size,extra:e.extra}),i=new Aa(e.dbname,r,e.noCache);break;case"remoteprefix":i=new ba(e.dbname,e.remotePrefix,e.headers,e.noCache);break;case"wacz":case"remotezip":case"multiwacz":r=await aa({url:e.loadUrl||e.sourceUrl,headers:e.headers,extra:e.extra}),i=new Gb(e,r,"multiwacz"===t?"json":"wacz");break;case"remotewarcproxy":i=new qb(e);break;case"live":i=new zb(e.extraConfig)}return i?(i.initing&&await i.initing,i):(console.log("no store found: "+t),null)}_createCollection(t){return t}}class Xb extends Kb{constructor(t){super(),this.registerListener(t)}async hasCollection(t){return await this._init_db,null!=await this.colldb.getKey("colls",t)}registerListener(t){t.addEventListener("message",t=>{t.waitUntil?t.waitUntil(this._handleMessage(t)):this._handleMessage(t)})}async _handleMessage(t){await this._init_db;const e=t.source||self;switch(t.data.msg_type){case"addColl":{const r=t.data.name,i=(t,i,n,s,o=null,a=null)=>{e.postMessage({msg_type:"collProgress",name:r,percent:t,error:i,currentSize:n,totalSize:s,fileHandle:o,extraMsg:a})};let n;try{if(n=await this.colldb.get("colls",r),n?t.data.skipExisting||(await this.deleteColl(r),n=await this.addCollection(t.data,i)):n=await this.addCollection(t.data,i),!n){if(t.data.name)try{await qs("db:"+t.data.name,{blocked(e,r){console.log(`Load failed and unable to delete ${t.data.name}: ${r}`)}})}catch(t){console.warn(t)}return}}catch(t){if(t instanceof R)return console.warn(t),void i(0,"permission_needed",null,null,t.info?.fileHandle);if("ConstraintError"!==t.name)return console.warn(t),void i(0,"An unexpected error occured: "+t.toString(),null,null);console.log("already being added, just continue..."),n=await this.colldb.get("colls",r)}e.postMessage({msg_type:"collAdded",name:r,sourceUrl:n?.config.sourceUrl});break}case"cancelLoad":{const e=t.data.name,r=new Promise(t=>Yb[e]=t);await r,await this.deleteColl(e),delete Yb[e];break}case"removeColl":{const r=t.data.name;await this.hasCollection(r)&&(await this.deleteColl(r),this.doListAll(e));break}case"listAll":this.doListAll(e);break;case"reload":this.reload(t.data.name)}}async doListAll(t){const e=[],r=await this.listAll();for(const t of r)e.push({name:t.name,prefix:t.name,pageList:[],sourceName:t.config.sourceName});t.postMessage({msg_type:"listAll",colls:e})}async addCollection(t,e){let r=t.name,i="";const n={root:t.root||!1};let s=null,a=null;const c=t.file;if(!c?.sourceUrl)return e(0,"Invalid Load Request"),!1;if(n.dbname="db:"+r,c.sourceUrl.startsWith("proxy:"))n.sourceUrl=c.sourceUrl.slice(6),n.extraConfig=t.extraConfig,n.extraConfig.prefix||(n.extraConfig.prefix=n.sourceUrl),n.topTemplateUrl=t.topTemplateUrl,n.metadata={},i=t.type||n.extraConfig.type||"remotewarcproxy",s=await this._initStore(i,n);else{let l=null,h=null;if(c.newFullImport&&(r=b(),c.loadUrl=c.loadUrl||c.sourceUrl,c.name=c.name||c.sourceUrl,c.sourceUrl="local://"+r),i="archive",c.newFullImport&&c.importCollId){const t=await this.colldb.get("colls",c.importCollId);if(!t||"archive"!==t.type)return e(0,"Invalid Existing Collection: "+c.importCollId),!1;n.dbname=t.config.dbname,a=t.config,a&&(a.decode=!0)}let u=c.loadUrl||c.sourceUrl;u.match(/[\w]+:\/\//)||(u=new URL(u,self.location.href).href),n.decode=!0,n.onDemand=!1,n.loadUrl=u,n.sourceUrl=c.sourceUrl;let p=c.name||c.sourceUrl;try{if(p.match(/https?:\/\//)){const t=new URL(p);p=t.pathname+t.hash}}catch(t){}if(n.sourceName=p.slice(p.lastIndexOf("/")+1),n.size="number"==typeof c.size?c.size:null,n.extra=c.extra,n.loadUrl.startsWith("file://")&&!c.blob&&!n.extra){if(!this._fileHandles||!this._fileHandles[n.sourceUrl])return e(0,"missing_local_file"),!1;n.extra={fileHandle:this._fileHandles[n.sourceUrl]}}n.extraConfig=t.extraConfig,n.headers=c.headers||n.extraConfig?.headers,n.noCache=c.noCache;let d=await aa({url:u,headers:n.headers,size:c.size,extra:n.extra,blob:c.blob});if(c.loadEager){const{response:t}=await d.doInitialFetch(!1,!0),e={arrayBuffer:new Uint8Array(await t.arrayBuffer())};c.newFullImport=!0,d=await aa({url:u,headers:n.headers,size:c.size,extra:e})}let f=function(t){const e=[".warc",".warc.gz",".cdx",".cdxj",".har",".json",".wacz"];for(const r of e)if(t.endsWith(r))return r;if(t.endsWith(".wacz.zip"))return".wacz"}(n.sourceName);const{abort:g,response:m}=await d.doInitialFetch(".wacz"===f,!1);f||(f=await ks(await m.clone()));const y=m.body;if(n.onDemand=d.canLoadOnDemand&&!c.newFullImport,!d.isValid){const t=d.length&&d.length<=1e3?await m.text():"";return e(0,`Sorry, this URL could not be loaded.\nMake sure this is a valid URL and you have access to this file.\nStatus: ${m.status} ${m.statusText}\nError Details:\n${t}`),g&&g.abort(),!1}if(!d.length)return e(0,"Sorry, this URL could not be loaded because the size of the file is not accessible.\nMake sure this is a valid URL and you have access to this file."),g&&g.abort(),!1;const w=d.length;if(".wacz"===f){if(n.onDemand)l=new jb(d,n,r),h=new Gb(n,d,"wacz"),i="wacz";else{if(!d.canLoadOnDemand||!c.newFullImport)return e(0,"Sorry, can't load this WACZ file due to lack of range request support on the server"),g&&g.abort(),!1;l=new Wb(d,n,r),h=null,delete n.extra}const t=d.getFullBuffer();t&&(n.extra={arrayBuffer:t,...n.extra||{}})}else!y||".warc"!==f&&".warc.gz"!==f?!y||".cdx"!==f&&".cdxj"!==f?".har"===f?(l=new xa(await m.json()),n.decode=!1):".json"===f&&(h=new Gb(n,d,"json"),l=new Qb(m),i="multiwacz"):(n.remotePrefix=t.remotePrefix||u.slice(0,u.lastIndexOf("/")+1),l=new Ca(y,g,r),i="remoteprefix",h=new ba(n.dbname,n.remotePrefix,n.headers,n.noCache)):n.noCache||!(w<o)&&n.onDemand?(l=new Ta(y,g,r),i="remotesource",h=new Aa(n.dbname,d,n.noCache)):l=new Ao(y,g,r);if(!l)return e(0,`The ${n.sourceName} is not a known archive format that could be loaded.`),g&&g.abort(),!1;h||(h=new go(n.dbname)),await h.initing;try{n.metadata=await l.load(h,e,w)}catch(t){return t instanceof N||(e(0,`Unexpected Loading Error: ${t.toString()}`),console.warn(t)),!1}if(a)return await this.updateSize(c.importCollId,w,w,a.decode),{config:a,type:"",name:""};n.metadata.size||(n.metadata.size=w),n.metadata.title||(n.metadata.title=n.sourceName),s=h}n.ctime=(new Date).getTime(),this._fileHandles&&n.extra?.fileHandle&&delete this._fileHandles[n.sourceUrl];const l={name:r,type:i,config:n};return await this.colldb.add("colls",l),l.store=s,l}}let Jb;class Zb{timeRanges={};updateStats(t,e,r,i){const n=i.clientId||i.resultingClientId;if(!n||!t)return;if(!r.url||r.url.indexOf("mp_/")<0)return;if("document"===r.destination&&e>300&&e<400)return;let s;void 0===this.timeRanges[n]?(s={count:0,children:new Set},this.timeRanges[n]=s,r.referrer.indexOf("mp_/")>0&&Jb.clients.matchAll({type:"window"}).then(t=>this.updateStatsParent(n,r.referrer,t))):s=this.timeRanges[n];const o=t.getTime();(!s.min||o<s.min)&&(s.min=o),(!s.max||o>s.max)&&(s.max=o),s.count++}updateStatsParent(t,e,r){for(const i of r)if(i.url===e){this.timeRanges[i.id]||(this.timeRanges[i.id]={count:0,children:new Set}),this.timeRanges[i.id].children.add(t);break}}async getStats(t){const e=new URL(t.request.url);let r="";const i=new URLSearchParams(e.search).get("url"),n=await Jb.clients.matchAll({type:"window"}),s={};for(const t of n)t.url===i&&(r=t.id),s[t.id]=1;const o=this.timeRanges[r]||{},a={count:o.count||0,min:o.min,max:o.max},c=this.timeRanges[r]&&this.timeRanges[r].children;for(const t of c.values()){const e=this.timeRanges[t];e&&(e.min&&(!a.min||e.min<a.min)&&(a.min=e.min),e.max&&(!a.max||e.max>a.max)&&(a.max=e.max),a.count+=e.count)}for(const t of Object.keys(this.timeRanges))s[t]||delete this.timeRanges[t];return new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"}})}}var $b=function(){return $b=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},$b.apply(this,arguments)},tE=function(t){return void 0===t&&(t={}),{arrayFormat:t.arrayFormat||"none",booleanFormat:t.booleanFormat||"none",nullFormat:t.nullFormat||"default"}},eE=function(t){return encodeURIComponent(t)},rE=function(t){return decodeURIComponent(t)},iE=function(t,e,r){return null===e?function(t,e){return"hidden"===e.nullFormat?"":"string"===e.nullFormat?t+"=null":t}(t,r):"boolean"==typeof e?function(t,e,r){return"empty-true"===r.booleanFormat&&e?t:t+"="+("unicode"===r.booleanFormat?e?"✓":"✗":e.toString())}(t,e,r):Array.isArray(e)?function(t,e,r){var i=function(t){return"index"===t.arrayFormat?function(t,e){return t+"["+e+"]"}:"brackets"===t.arrayFormat?function(t){return t+"[]"}:function(t){return t}}(r);return e.map(function(e,r){return i(t,r)+"="+eE(e)}).join("&")}(t,e,r):t+"="+eE(e)},nE=function(t){var e=t.indexOf("?");return-1===e?t:t.slice(e+1)},sE=function(t){var e=t.indexOf("["),r=-1!==e;return{hasBrackets:r,name:r?t.slice(0,e):t}},oE=function(t,e){var r=tE(e);return nE(t).split("&").reduce(function(t,e){var i=e.split("="),n=i[0],s=i[1],o=sE(n),a=o.hasBrackets,c=o.name,l=t[c],h=function(t,e){if(void 0===t)return"empty-true"===e.booleanFormat||null;if("string"===e.booleanFormat){if("true"===t)return!0;if("false"===t)return!1}if("unicode"===e.booleanFormat){if("✓"===rE(t))return!0;if("✗"===rE(t))return!1}return"string"===e.nullFormat&&"null"===t?null:rE(t)}(s,r);return t[c]=void 0===l?a?[h]:h:(Array.isArray(l)?l:[l]).concat(h),t},{})},aE=/[^!$'()*+,;|:]/g,cE=function(t){return t.replace(aE,function(t){return encodeURIComponent(t)})},lE={default:cE,uri:encodeURI,uriComponent:encodeURIComponent,none:function(t){return t},legacy:encodeURI},hE={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:function(t){return t},legacy:decodeURIComponent},uE=function(t,e,r){var i=lE[e]||cE;return r?String(t).split("/").map(i).join("/"):i(String(t))},pE=function(t){return"("+(t?t.replace(/(^<|>$)/g,""):"[a-zA-Z0-9-_.~%':|=+\\*@$]+")+")"},dE=[{name:"url-parameter",pattern:/^:([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(pE(t[2]))}},{name:"url-parameter-splat",pattern:/^\*([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/,regex:/([^?]*)/},{name:"url-parameter-matrix",pattern:/^;([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(";"+t[1]+"="+pE(t[2]))}},{name:"query-parameter",pattern:/^(?:\?|&)(?::)?([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/},{name:"delimiter",pattern:/^(\/|\?)/,regex:function(t){return new RegExp("\\"+t[0])}},{name:"sub-delimiter",pattern:/^(!|&|-|_|\.|;)/,regex:function(t){return new RegExp(t[0])}},{name:"fragment",pattern:/^([0-9a-zA-Z]+)/,regex:function(t){return new RegExp(t[0])}}],fE=function t(e,r){if(void 0===r&&(r=[]),!dE.some(function(i){var n=e.match(i.pattern);return!!n&&(r.push({type:i.name,match:n[0],val:n.slice(1,2),otherVal:n.slice(2),regex:i.regex instanceof Function?i.regex(n):i.regex}),n[0].length<e.length&&(r=t(e.substr(n[0].length),r)),!0)}))throw new Error("Could not parse path '"+e+"'");return r},gE=function(t){return null!=t},mE={urlParamsEncoding:"default"},yE=function(){function t(t,e){if(!t)throw new Error("Missing path in Path constructor");this.path=t,this.options=$b($b({},mE),e),this.tokens=fE(t),this.hasUrlParams=this.tokens.filter(function(t){return/^url-parameter/.test(t.type)}).length>0,this.hasSpatParam=this.tokens.filter(function(t){return/splat$/.test(t.type)}).length>0,this.hasMatrixParams=this.tokens.filter(function(t){return/matrix$/.test(t.type)}).length>0,this.hasQueryParams=this.tokens.filter(function(t){return/^query-parameter/.test(t.type)}).length>0,this.spatParams=this.getParams("url-parameter-splat"),this.urlParams=this.getParams(/^url-parameter/),this.queryParams=this.getParams("query-parameter"),this.params=this.urlParams.concat(this.queryParams),this.source=this.tokens.filter(function(t){return void 0!==t.regex}).map(function(t){return t.regex.source}).join("")}return t.createPath=function(e,r){return new t(e,r)},t.prototype.isQueryParam=function(t){return-1!==this.queryParams.indexOf(t)},t.prototype.isSpatParam=function(t){return-1!==this.spatParams.indexOf(t)},t.prototype.test=function(t,e){var r=this,i=$b($b({caseSensitive:!1,strictTrailingSlash:!1},this.options),e),n=function(t,e){return e||"\\/"===t?t:t.replace(/\\\/$/,"")+"(?:\\/)?"}(this.source,i.strictTrailingSlash),s=this.urlTest(t,n+(this.hasQueryParams?"(\\?.*$|$)":"$"),i.caseSensitive,i.urlParamsEncoding);if(!s||!this.hasQueryParams)return s;var o=oE(t,i.queryParams),a=Object.keys(o).filter(function(t){return!r.isQueryParam(t)});return 0===a.length?(Object.keys(o).forEach(function(t){return s[t]=o[t]}),s):null},t.prototype.partialTest=function(t,e){var r=this,i=$b($b({caseSensitive:!1,delimited:!0},this.options),e),n=function(t,e){return e?/(\/)$/.test(t)?t:t+"(\\/|\\?|\\.|;|$)":t}(this.source,i.delimited),s=this.urlTest(t,n,i.caseSensitive,i.urlParamsEncoding);if(!s)return s;if(!this.hasQueryParams)return s;var o=oE(t,i.queryParams);return Object.keys(o).filter(function(t){return r.isQueryParam(t)}).forEach(function(t){return function(t,e,r){void 0===r&&(r="");var i=t[e];return t[e]=void 0===i?r:Array.isArray(i)?i.concat(r):[i,r],t}(s,t,o[t])}),s},t.prototype.build=function(t,e){var r=this;void 0===t&&(t={});var i=$b($b({ignoreConstraints:!1,ignoreSearch:!1,queryParams:{}},this.options),e),n=Object.keys(t).filter(function(t){return!r.isQueryParam(t)}).reduce(function(e,n){if(!gE(t[n]))return e;var s=t[n],o=r.isSpatParam(n);return"boolean"==typeof s?e[n]=s:Array.isArray(s)?e[n]=s.map(function(t){return uE(t,i.urlParamsEncoding,o)}):e[n]=uE(s,i.urlParamsEncoding,o),e},{});if(this.urlParams.some(function(e){return!gE(t[e])})){var s=this.urlParams.filter(function(e){return!gE(t[e])});throw new Error("Cannot build path: '"+this.path+"' requires missing parameters { "+s.join(", ")+" }")}if(!i.ignoreConstraints&&!this.tokens.filter(function(t){return/^url-parameter/.test(t.type)&&!/-splat$/.test(t.type)}).every(function(t){return new RegExp("^"+pE(t.otherVal[0])+"$").test(n[t.val])}))throw new Error("Some parameters of '"+this.path+"' are of invalid format");var o=this.tokens.filter(function(t){return!1===/^query-parameter/.test(t.type)}).map(function(t){return"url-parameter-matrix"===t.type?";"+t.val+"="+n[t.val[0]]:/^url-parameter/.test(t.type)?n[t.val[0]]:t.match}).join("");if(i.ignoreSearch)return o;var a=this.queryParams.filter(function(e){return-1!==Object.keys(t).indexOf(e)}).reduce(function(e,r){return e[r]=t[r],e},{}),c=function(t,e){var r=tE(e);return Object.keys(t).filter(function(e){return void 0!==t[e]}).map(function(e){return iE(e,t[e],r)}).filter(Boolean).join("&")}(a,i.queryParams);return c?o+"?"+c:o},t.prototype.getParams=function(t){var e=t instanceof RegExp?function(e){return t.test(e.type)}:function(e){return e.type===t};return this.tokens.filter(e).map(function(t){return t.val[0]})},t.prototype.urlTest=function(t,e,r,i){var n=this,s=new RegExp("^"+e,r?"":"i"),o=t.match(s);return o?this.urlParams.length?o.slice(1,this.urlParams.length+1).reduce(function(t,e,r){return t[n.urlParams[r]]=(hE[i]||decodeURIComponent)(e),t},{}):{}:null},t}();class wE{routes={};constructor(t){for(const[e,r]of Object.entries(t)){let t,i;r instanceof Array?(t=r[0],i=r[1]||"GET"):(t=r,i="GET"),this.routes[i]=this.routes[i]||{},this.routes[i][e]=new yE(t)}}match(t,e="GET"){for(const[r,i]of Object.entries(this.routes[e]||[])){const e=t.split("?",2),n=e[0],s=i.test(n);if(s)return s._route=r,s._query=new URLSearchParams(2===e.length?e[1]:""),s}return{_route:null}}}class AE{router;collections;constructor(t){this.router=new wE(this.routes),this.collections=t}get routes(){return{index:"coll-index",coll:"c/:coll",urls:"c/:coll/urls",urlsTs:"c/:coll/ts/",createColl:["c/create","POST"],deleteColl:["c/:coll","DELETE"],updateAuth:["c/:coll/updateAuth","POST"],updateMetadata:["c/:coll/metadata","POST"],curated:"c/:coll/curated/:list",pages:"c/:coll/pages",textIndex:"c/:coll/textIndex",deletePage:["c/:coll/page/:page","DELETE"]}}async apiResponse(t,e,r){const i=this.router.match(t,e.method),n=await this.handleApi(e,i,r);if(n instanceof Response)return n;const s=n.error?404:200;return this.makeResponse(n,s)}async handleApi(t,e,r){switch(e._route){case"index":return await this.listAll(e._query.get("filter"));case"createColl":{const e=await t.json();return T(await this.collections.initNewColl(e.metadata||{},e.extraConfig||{}))}case"coll":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=T(t);return"1"===e._query.get("all")?(t.store.db?(r.pages=await t.store.getAllPages(),r.lists=await t.store.db.getAll("pageLists"),r.curatedPages=await t.store.db.getAll("curatedPages"),t.store instanceof Gb&&(r.canQueryPages=!!t.store.pagesQueryUrl)):(r.pages=[],r.lists=[],r.curatedPages=[]),r.verify=await t.store.getVerifyInfo()):t.store.db?(r.numLists=await t.store.db.count("pageLists"),r.numPages=await t.store.db.count("pages")):(r.numLists=0,r.numPages=0),t.config.metadata.ipfsPins&&(r.ipfsPins=t.config.metadata.ipfsPins),r}case"deleteColl":{const t="1"===e._query.get("reload");return await this.collections.deleteColl(e.coll,t)?await this.listAll():{error:"collection_not_found"}}case"updateAuth":{const r=await t.json();return{success:await this.collections.updateAuth(e.coll,r.headers)}}case"updateMetadata":{const r=await t.json();return{metadata:await this.collections.updateMetadata(e.coll,r)}}case"urls":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url"),i=Number(e._query.get("count")||100),n=e._query.get("mime"),s="1"===e._query.get("prefix"),o=e._query.get("fromUrl"),a=e._query.get("fromTs"),c=e._query.get("fromMime"),l=Number(e._query.get("fromStatus")||0);if(!t.store.resourcesByMime)return{urls:[]};let h;return h=r?await t.store.resourcesByUrlAndMime(r,n,i,s,o,a):await t.store.resourcesByMime(n,i,c,o,l),h=h||[],{urls:h}}case"urlsTs":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url");return{timestamps:await t.store.getTimestampsByURL(r)}}case"pages":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};let r;if(t.store instanceof Gb){const i=e._query.get("search"),n=Number(e._query.get("page"))||1,s=Number(e._query.get("pageSize"))||25;if(i||n>1){const{pages:e,total:r}=await t.store.queryPages(i,n,s);return{pages:e,total:r}}r=t.store.totalPages}return{pages:await t.store.getAllPages(),total:r}}case"textIndex":{const t=await this.collections.getColl(e.coll);return t?t.store.getTextIndex?await t.store.getTextIndex():{}:{error:"collection_not_found"}}case"curated":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=Number(e.list);return t.store.db?{curated:await t.store.db.getAllFromIndex("curatedPages","listPages",IDBKeyRange.bound([r],[r+1]))}:{curated:[]}}case"deletePage":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const{pageSize:r,dedupSize:i}=await t.store.deletePage(e.page);return this.collections.updateSize(e.coll,r,i),{pageSize:r,dedupSize:i}}default:return{error:"not_found"}}}async listAll(t){const e=await this.collections.listAll(),r=[];return e.forEach(e=>{"live"!==e.type&&"remoteproxy"!==e.type&&(t&&!e.type.startsWith(t)||r.push(T(e)))}),{colls:r}}makeResponse(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json"}})}}const bE=/^(?::([\w-]+)\/)?(\d*)([a-z]+_|[$][a-z0-9:.-]+)?(?:\/|\||%7C|%7c)(.+)/;class EE{url="";timestamp="";mod="";pageId="";hash="";cookie="";isProxyOrigin=!1;proxyOrigin;proxyScheme="";localOrigin;httpToHttpsNeeded=!1;altProxyOrigins;proxyTLD;localTLD;request;method;mode;_proxyReferrer="";_postToGetConverted=!1;constructor(t,e,{isRoot:r=!1,mod:i="",ts:n="",proxyOrigin:s,localOrigin:o,proxyTLD:a,localTLD:c,defaultReplayMode:l=!1,altProxyOrigins:h}={}){const u=bE.exec(t);if(this.timestamp=n,this.mod=i,this.request=e,this.method=e.method,this.mode=e.mode,!u&&(t.startsWith("https:")||t.startsWith("http:")||t.startsWith("blob:")))this.url=t;else if(!u&&r)this.url="https://"+t;else{if(!u)return void(this.url="");this.pageId=u[1]||"",this.timestamp=u[2]||"",this.mod=u[3]||"",this.url=u[4]||""}s&&o&&!l&&(this.url=vE(s,o,this.url),this.request.referrer&&(this._proxyReferrer=vE(s,o,this.request.referrer)),this.isProxyOrigin=!0,this.proxyOrigin=s,this.altProxyOrigins=h,this.proxyScheme=s?new URL(s).protocol.slice(0,-1):"",this.localOrigin=o,this.httpToHttpsNeeded="http"===this.proxyScheme&&o.startsWith("https:"),this.proxyTLD=a||"",this.localTLD=c||"");const p=this.url.indexOf("#");p>0&&(this.hash=this.url.slice(p),this.url=this.url.substring(0,p))}get headers(){return this.request.headers}get destination(){return this.request.destination}get referrer(){return this._proxyReferrer||this.request.referrer}async convertPostToGet(){if(this._postToGetConverted)return this.url;const t=this.request;if("POST"!==t.method&&"PUT"!==t.method)return this.url;const e={method:t.method,postData:await t.text(),headers:t.headers,url:this.url};return pt(e)&&(this.url=e.url,this.method="GET",this.mode="navigate"===this.request.mode?"same-origin":this.request.mode,this._postToGetConverted=!0),this.url}prepareProxyRequest(t,e=!0){let r,i,n;if(e){r=new Headers(this.request.headers),i=this.request.referrer;const e=i.indexOf("/http",t.length-1);e>0&&(i=i.slice(e+1),r.set("X-Proxy-Referer",i)),n=this.request.credentials,this.cookie&&r.set("X-Proxy-Cookie",this.cookie)}else r=new Headers,n="omit";let s=this.url;if(s.startsWith("//")&&i)try{s=new URL(i).protocol+s}catch(t){s="https:"+s}return{referrer:i,headers:r,credentials:n,url:s}}async getBody(){const t=this.request.clone();return new Uint8Array(await t.arrayBuffer())}}function vE(t,e,r){const i=new URL(r);return i.origin===e?t+i.pathname+(i.search?i.search:""):r}const _E="x-wabac-is-ajax-req";class xE extends Xb{prefixes;colls;inited;root;defaultConfig;constructor(t,e=null,r={}){super(self),this.prefixes=t,this.colls={},this.inited=null,this.root=e,this.defaultConfig=r,this._fileHandles={}}_createCollection(t){return new Ns(t,this.prefixes,this.defaultConfig)}async loadAll(t){return this.colls={},this.inited=super.loadAll(t),this.inited}async getColl(t){return this.colls[t]||(this.colls[t]=await this.loadColl(t)),this.colls[t]}async reload(t){delete this.colls[t],await this.getColl(t)}async addCollection(t,e){const r=await super.addCollection(t,e);return r&&r.name&&(this.root===r.name&&(r.config.root=!0),this.colls[r.name]=this._createCollection(r)),r}async deleteColl(t,e=!1){return this.colls[t]&&(this.colls[t].store&&await this.colls[t].store.delete(),this._fileHandles&&e&&this.colls[t].config.extra?.fileHandle&&(this._fileHandles[this.colls[t].config.sourceUrl]=this.colls[t].config.extra.fileHandle)),!!await super.deleteColl(t)&&(delete this.colls[t],!0)}async initNewColl(t,e={},r="archive"){const i=await super.initNewColl(t,e,r);return i&&(this.colls[i.name]=i),i}async updateAuth(t,e){return this.colls[t]&&this.colls[t].store.updateHeaders&&this.colls[t].store.updateHeaders(e),await super.updateAuth(t,e)}async updateMetadata(t,e){const r=await super.updateMetadata(t,e);return this.colls[t]&&r&&(this.colls[t].config.metadata=r,this.colls[t].metadata=r),r}async updateSize(t,e,r,i){const n=await super.updateSize(t,e,r,i);return this.colls[t]&&n&&(this.colls[t].config.metadata=n,this.colls[t].metadata=n),void 0!==i&&this.colls[t]&&(this.colls[t].config.decode=i),n}}class IE{prefix;replayPrefix;staticPrefix;distPrefix;proxyPrefix;staticData;collections;proxyOriginMode;api;apiPrefix;allowRewrittenCache;topFramePassthrough=!1;allowProxyPassthrough=!1;stats;constructor({staticData:t=null,ApiClass:e=AE,defaultConfig:r={},CollectionsClass:i=xE}={}){this.prefix=self.registration?self.registration.scope:"";const n=new URLSearchParams(self.location.search);if(this.proxyOriginMode=!!n.get("proxyOriginMode"),this.proxyOriginMode)this.replayPrefix=this.prefix+"__wb_proxy/",this.staticPrefix=this.replayPrefix+"static/",this.proxyPrefix="https://wab.ac/proxy/",this.apiPrefix="https://wab.ac/api/";else{const t=n.get("replayPrefix")??"w";this.topFramePassthrough=!t,this.replayPrefix=this.prefix+t+(t?"/":""),this.staticPrefix=this.prefix+"static/",this.proxyPrefix=this.staticPrefix+"proxy/",this.apiPrefix=this.replayPrefix+"api/"}var s;if(s=this.replayPrefix,h+=`; frame-src data: about: blob: ${self.location.origin}${self.location.pathname} ${s}`,this.distPrefix=this.prefix+"dist/",this.staticData=t||new Map,this.staticData.set(this.staticPrefix+"wombat.js",{type:"application/javascript",content:'(()=>{"use strict";function t(){this._map=[]}function e(t,e){void 0!==self.Symbol&&void 0!==self.Symbol.toStringTag&&Object.defineProperty(t.prototype,self.Symbol.toStringTag,{value:e,enumerable:!1})}function r(t){for(var e,r,i=t.__proto__||t.constructor.prototype||t.prototype,o=Object.getOwnPropertyNames(i),n=o.length,s=0;s<n;s++)r=t[e=o[s]],"constructor"!==e&&"function"==typeof r&&(t[e]=r.bind(t))}t.prototype.set=function(t,e){this._map.push([t,e])},t.prototype.get=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return this._map[e][1];return null},t.prototype.find=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return e;return-1},t.prototype.add_or_get=function(t,e){var r=this.get(t);return r||(r=e(),this.set(t,r)),r},t.prototype.remove=function(t){var e=this.find(t);return e>=0?this._map.splice(e,1)[0][1]:null},t.prototype.map=function(t){for(var e=0;e<this._map.length;e++)this._map[e][1](t)};var i={yes:!1},o=Symbol("__wb__storage_WOMBAT"),n=Symbol("__wb__storage_TYPE");function s(t,e,r){if(i.yes)throw new TypeError("Illegal constructor");if(r&&r.length)for(var s=0;s<r.length;s++)this[r[s][0]]=r[s][1].toString();Object.defineProperty(this,o,{value:t,enumerable:!1}),Object.defineProperty(this,n,{value:e,enumerable:!1})}function a(t,e,r){var i=new s(t,e,r);return t.$wbwindow.Proxy&&(i=new t.$wbwindow.Proxy(i,{get:function(t,e){var r=t.__proto__;if("__proto__"===e)return r;if(r.hasOwnProperty(e)||r.__proto__&&r.__proto__.hasOwnProperty(e)){var i=t[e];return"function"==typeof i&&(i=i.bind(t)),i}return t.hasOwnProperty(e)?t.getItem(e):void 0},set:function(t,e,r){return t.__proto__.hasOwnProperty(e)?(t[e]=r,!0):(t.setItem(e,r),!0)}})),t.defGetterProp(t.$wbwindow,e,function(){return i}),i}function h(t,e){for(var r in Object.defineProperties(this,{_orig_loc:{configurable:!0,enumerable:!1,value:t},wombat:{configurable:!0,enumerable:!1,value:e},orig_getter:{enumerable:!1,value:function(t){return this._orig_loc[t]}},orig_setter:{enumerable:!1,value:function(t,e){this._orig_loc[t]!=e&&(this._orig_loc[t]=e)}}}),e.initLocOverride(this,this.orig_setter,this.orig_getter),e.setLoc(this,t.href),t)this.hasOwnProperty(r)||"function"==typeof t[r]||(this[r]=t[r])}function w(t,e){if(!(this instanceof w))return new w(t,e);this.elemSelector="img[srcset], img[data-srcset], img[data-src], video[srcset], video[data-srcset], video[data-src], audio[srcset], audio[data-srcset], audio[data-src], picture > source[srcset], picture > source[data-srcset], picture > source[data-src], video > source[srcset], video > source[data-srcset], video > source[data-src], audio > source[srcset], audio > source[data-srcset], audio > source[data-src]",this.wombat=t,this.$wbwindow=t.$wbwindow,this.worker=null,r(this),this._initWorker(e)}s.prototype.getItem=function(t){return this.hasOwnProperty(t)?this[t]:null},s.prototype.setItem=function(t,e){var r=String(t),i=String(e),o=this.getItem(r);this[r]=e,this.fireEvent(r,o,i)},s.prototype._deleteItem=function(t){delete this[t]},s.prototype.removeItem=function(t){var e=this.getItem(t);this._deleteItem(t),this.fireEvent(t,e,null)},s.prototype.clear=function(){for(var t in this)delete this[t];this.fireEvent(null,null,null)},s.prototype.key=function(t){var e=function(t){try{switch(typeof t){case"number":case"bigint":return t}var e=Number(t);return isNaN(e)?null:e}catch(t){}return null}(t);if(null==e||e<0)return null;var r=Object.keys(this);return e<r.length?r[e]:null},s.prototype.fireEvent=function(t,e,r){var i=new StorageEvent("storage",{key:t,newValue:r,oldValue:e,url:this[o].$wbwindow.WB_wombat_location.href});Object.defineProperty(i,"storageArea",{value:this,writable:!1,configurable:!1}),i._storageArea=this,this[o].storage_listeners.map(i)},s.prototype.valueOf=function(){return this[o].$wbwindow[this[n]]},s.prototype.toString=function(){return"[object Storage]"},Object.defineProperty(s.prototype,"length",{enumerable:!1,get:function(){return Object.keys(this).length}}),e(s,"Storage"),h.prototype.replace=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.replace(e)},h.prototype.assign=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.assign(e)},h.prototype.reload=function(t){},h.prototype.toString=function(){return this.href},h.prototype.valueOf=function(){return this},e(h,"Location"),w.prototype._initWorker=function(t){var e=this.wombat;if(t.isTop)try{this.worker=new Worker(t.workerURL,{type:"classic",credentials:"include"})}catch(t){console.error("Failed to create auto fetch worker\\n",t)}else this.worker={postMessage:function(t){t.wb_type||(t={wb_type:"aaworker",msg:t}),e.$wbwindow.__WB_replay_top.__orig_postMessage(t,"*")},terminate:function(){}}},w.prototype.extractMediaRulesFromSheet=function(t){var e,r=[];try{e=t.cssRules||t.rules}catch(t){return r}for(var i=0;i<e.length;++i){var o=e[i];o.type===CSSRule.MEDIA_RULE&&r.push(o.cssText)}return r},w.prototype.deferredSheetExtraction=function(t){var e=this;Promise.resolve().then(function(){var r=e.extractMediaRulesFromSheet(t);r.length>0&&e.preserveMedia(r)})},w.prototype.terminate=function(){this.worker.terminate()},w.prototype.justFetch=function(t){this.worker.postMessage({type:"fetch-all",values:t})},w.prototype.fetchAsPage=function(t,e,r){if(t){var i={"X-Wombat-History-Page":e};if(r){var o=encodeURIComponent(r.trim());r&&(i["X-Wombat-History-Title"]=o)}var n={url:t,options:{headers:i,cache:"no-store"}};this.justFetch([n])}},w.prototype.postMessage=function(t,e){if(e){var r=this;Promise.resolve().then(function(){r.worker.postMessage(t)})}else this.worker.postMessage(t)},w.prototype.preserveSrcset=function(t,e){this.postMessage({type:"values",srcset:{value:t,mod:e,presplit:!0}},!0)},w.prototype.preserveDataSrcset=function(t){this.postMessage({type:"values",srcset:{value:t.dataset.srcset,mod:this.rwMod(t),presplit:!1}},!0)},w.prototype.preserveMedia=function(t){this.postMessage({type:"values",media:t},!0)},w.prototype.getSrcset=function(t){return this.wombat.wb_getAttribute?this.wombat.wb_getAttribute.call(t,"srcset"):t.getAttribute("srcset")},w.prototype.rwMod=function(t){switch(t.tagName){case"SOURCE":return t.parentElement&&"PICTURE"===t.parentElement.tagName?"im_":"oe_";case"IMG":return"im_"}return"oe_"},w.prototype.extractFromLocalDoc=function(){var t=this;Promise.resolve().then(function(){for(var e={type:"values",context:{docBaseURI:document.baseURI}},r=[],i=0,o=document.styleSheets;i<o.length;++i)r=r.concat(t.extractMediaRulesFromSheet(o[i]));var n,s,a,h=document.querySelectorAll(t.elemSelector),w={values:[],presplit:!1},c={values:[]};for(i=0;i<h.length;++i)s=(n=h[i]).src?n.src:null,a=t.rwMod(n),n.srcset&&w.values.push({srcset:t.getSrcset(n),mod:a,tagSrc:s}),n.dataset.srcset&&w.values.push({srcset:n.dataset.srcset,mod:a,tagSrc:s}),n.dataset.src&&c.values.push({src:n.dataset.src,mod:a}),"SOURCE"===n.tagName&&s&&c.values.push({src:s,mod:a});r.length&&(e.media=r),w.values.length&&(e.srcset=w),c.values.length&&(e.src=c),(e.media||e.srcset||e.src)&&t.postMessage(e)})};class c{constructor(t,e,r,i){this.syncXHRCachePending=t.syncXHRCachePending,this.url=r[1],this.method=r[0],this.headers=i,this.store=t.__sessionStorage,this.key=this.getKey(e,t),this.win=t.$wbwindow,this.reload_url=t.wb_info.prefix+t.wb_info.request_ts+"mp_/"+t.wb_info.url,this.throwNeeded=!1,this.wombat=t}getKey(t,e){const r=new URL(t,e.$wbwindow.WB_wombat_location.origin);for(const t of r.searchParams.keys())t.startsWith("_")&&r.searchParams.delete(t);return r.href}addToStorage(t,e){this.store.getItem("__wb_xhr_data:hash:"+t)||this.store.setItem("__wb_xhr_data:hash:"+t,e),this.store.setItem("__wb_xhr_data:url:"+this.key,t),this.syncXHRCachePending.delete(this.key)}getFromStorage(){if(!this.store)return;const t=this.store.getItem("__wb_xhr_data:url:"+this.key);return t?this.store.getItem("__wb_xhr_data:hash:"+t):void 0}async fetchToBlob(){const t=this.url,e=this.method,r={...this.headers,"X-Pywb-Requested-With":"XMLHttpRequest"},i=await fetch(t,{method:e,headers:r}),o=await i.blob();let n=i.headers.get("x-archive-orig-etag");if(!n)try{const t=await crypto.subtle.digest("SHA-1",await o.arrayBuffer());n=Array.from(new Uint8Array(t)).map(t=>t.toString(16).padStart(2,"0")).join("")}catch(t){return void console.log(t)}const s=await new Promise((t,e)=>{const r=new FileReader;r.onloadend=()=>{t(r.result)},r.onerror=e,r.readAsDataURL(o)});if(this.store){try{this.addToStorage(n,s)}catch(t){if("QuotaExceededError"===t.name)for(const t of Array.from(Object.keys(this.store)))t.startsWith("__wb_xhr_data:")&&this.store.removeItem(t);this.addToStorage(n,s)}this.wombat.syncXHRReloadNeeded&&!this.syncXHRCachePending.size&&(this.win.location.href=this.reload_url)}else this.syncXHRCachePending.delete(this.key)}addCacheOverride(t){const e=this.getFromStorage();if(e)return t.__WB_xhr_open_arguments[1]=e,t.__WB_xhr_open_arguments[0]="GET",!0;this.syncXHRCachePending.add(this.key),this.fetchPromise=this.fetchToBlob().catch(t=>console.log(t)),this.throwNeeded=!0}async finishCacheAndReload(){this.fetchPromise&&(this.wombat.syncXHRReloadNeeded=!0,await this.fetchPromise,this.syncXHRCachePending.size||(this.win.location.href=this.reload_url))}reloadIfNeeded(){if(this.throwNeeded)throw this.finishCacheAndReload().catch(t=>console.log(t)),new DOMException("NetworkError","Sync XHR not allowed")}}function p(t,e){return function(r){if(window==e)return t(r)}}function l(t,e,r){var i;return i="function"==typeof t?t:"object"==typeof t?t.handleEvent.bind(t):function(){},function(t){var o;if(t.data&&t.data.from&&t.data.message){if("*"!==t.data.to_origin&&e.WB_wombat_location&&!r.startsWith(t.data.to_origin,e.WB_wombat_location.origin))return void console.warn("Skipping message event to "+t.data.to_origin+" doesn\'t start with origin "+e.WB_wombat_location.origin);var n=t.source;t.data.from_top?n=e.__WB_top_frame:t.data.src_id&&e.__WB_win_id&&e.__WB_win_id[t.data.src_id]&&(n=e.__WB_win_id[t.data.src_id]),(o=new MessageEvent("message",{bubbles:t.bubbles,cancelable:t.cancelable,data:t.data.message,origin:t.data.from,lastEventId:t.lastEventId,source:r.proxyToObj(n),ports:t.ports}))._target=t.target,o._srcElement=t.srcElement,o._currentTarget=t.currentTarget,o._eventPhase=t.eventPhase}else o=t;return i(o)}}function _(t){let e;e="string"==typeof t?t:t?.length?t.reduce((t,e)=>t+=String.fromCharCode(e),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function u(t,e=0){let{method:r,headers:i,postData:o=""}=t;if("GET"===r)return!1;let n=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(i);function s(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let a="";switch(n.split(";")[0]){case"application/x-www-form-urlencoded":a=s(o);break;case"application/json":a=f(s(o));break;case"text/plain":try{a=f(s(o),!1)}catch{a=_(o)}break;case"multipart/form-data":if(!n)throw new Error("utils cannot call postToGetURL when missing content-type header");a=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],o=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of o){let e=t.trim().match(/name="([^"]+)"\\r\\n\\r\\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(s(o),n);break;default:a=_(o)}if(null!=a){e>0&&a.length>e&&(a=a.slice(0,e)),t.requestBody=a;try{a=decodeURI(a)}catch{a=""}return t.url=function(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}(t.url,a,t.method),t.method="GET",!0}return!1}function d(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},o=(t,e="")=>{let n="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)o(t[r],e)}else try{for(let[e,r]of Object.entries(t))o(r,e)}catch{null===t&&(n="null")}["string","number","boolean"].includes(typeof t)&&(n=t.toString()),n&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),n)};try{o(t)}catch(t){if(!e)throw t}return r}function f(t="",e=!0){return d(t,e).toString()}var b=["warc-concurrent-to","warc-protocol"],y=",,,";function v(t){let e=t.toLowerCase();if(e.startsWith("warc-")&&!b.includes(e))throw new Error("Invalid multi value WARC header: "+t);return!0}Map,Symbol.iterator;function m(e,i){if(!(this instanceof m))return new m(e,i);this.debug_rw=!1,this.$wbwindow=e,this.WBWindow=Window,this.URL=URL,this.origHost=e.location.host,this.origHostname=e.location.hostname,this.origProtocol=e.location.protocol,this.HTTP_PREFIX="http://",this.HTTPS_PREFIX="https://",this.REL_PREFIX="//",this.VALID_PREFIXES=[this.HTTP_PREFIX,this.HTTPS_PREFIX,this.REL_PREFIX],this.IGNORE_PREFIXES=["#","about:","data:","blob:","mailto:","javascript:","{","*"],"ignore_prefixes"in i&&(this.IGNORE_PREFIXES=this.IGNORE_PREFIXES.concat(i.ignore_prefixes)),this.WB_CHECK_THIS_FUNC="_____WB$wombat$check$this$function_____",this.WB_ASSIGN_FUNC="_____WB$wombat$assign$function_____",this.SKIP_OWN_FUNC_PROPS=["name","length","__WB_is_native_func__","arguments","caller","callee","prototype"],this.OVERRIDE_PROPS=["window","self","document","location","top","parent","frames","opener"],this.wb_setAttribute=e.Element.prototype.setAttribute,this.wb_getAttribute=e.Element.prototype.getAttribute,this.wb_funToString=Function.prototype.toString,this.WBAutoFetchWorker=null,this.wbUseAFWorker=i.enable_auto_fetch&&null!=e.Worker&&i.is_live,this.wb_rel_prefix="",this.wb_wombat_updating=!1,this.message_listeners=new t,this.storage_listeners=new t,this.linkAsTypes={script:"js_",worker:"js_",style:"cs_",image:"im_",document:"if_",fetch:"mp_",font:"oe_",audio:"oe_",video:"oe_",embed:"oe_",object:"oe_",track:"oe_","":"mp_",null:"mp_",undefined:"mp_"},this.linkTagMods={linkRelToAs:{import:this.linkAsTypes,preload:this.linkAsTypes},stylesheet:"cs_",null:"mp_",undefined:"mp_","":"mp_"},this.tagToMod={A:{href:"mp_"},AREA:{href:"mp_"},AUDIO:{src:"oe_",poster:"im_"},BASE:{href:"mp_"},EMBED:{src:"oe_"},FORM:{action:"mp_"},FRAME:{src:"fr_"},IFRAME:{src:"if_"},IMAGE:{href:"im_","xlink:href":"im_"},IMG:{src:"im_",srcset:"im_"},INPUT:{src:"oe_"},INS:{cite:"mp_"},META:{content:"mp_"},OBJECT:{data:"oe_",codebase:"oe_"},Q:{cite:"mp_"},SCRIPT:{src:"js_","xlink:href":"js_"},SOURCE:{src:"oe_",srcset:"oe_"},TRACK:{src:"oe_"},VIDEO:{src:"oe_",poster:"im_"},image:{href:"im_","xlink:href":"im_"}},this.URL_PROPS=["href","hash","pathname","host","hostname","protocol","origin","search","port"],this.wb_info=i,this.wb_opts=i.wombat_opts,this.wb_replay_prefix=i.prefix,this.wb_is_proxy=this.wb_info.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=e.location.protocol+"//"+e.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=this.wb_info.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+this.wb_info.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,this.wb_capture_date_part="",!this.wb_info.is_live&&this.wb_info.wombat_ts&&(this.wb_capture_date_part="/"+this.wb_info.wombat_ts+"/"),this.BAD_PREFIXES=["http:"+this.wb_replay_prefix,"https:"+this.wb_replay_prefix,"http:/"+this.wb_replay_prefix,"https:/"+this.wb_replay_prefix],this.hostnamePortRe=/^[\\w-]+(\\.[\\w-_]+)+(:\\d+)(\\/|$)/,this.ipPortRe=/^\\d+\\.\\d+\\.\\d+\\.\\d+(:\\d+)?(\\/|$)/,this.workerBlobRe=/__WB_pmw\\(.*?\\)\\.(?=postMessage\\()/g,this.rmCheckThisInjectRe=/_____WB\\$wombat\\$check\\$this\\$function_____\\(.*?\\)/g,this.STYLE_REGEX=/(url\\s*\\(\\s*[\\\\"\']*)([^)\'"]+)([\\\\"\']*\\s*\\))/gi,this.IMPORT_REGEX=/(@import\\s*[\\\\"\']*)([^)\'";]+)([\\\\"\']*\\s*;?)/gi,this.IMPORT_JS_REGEX=/^(import\\s*\\([\'"]+)([^\'"]+)(["\'])/i,this.IMPORT_JS_CALL=/[^$.]\\bimport\\s*\\(/g,this.no_wombatRe=/WB_wombat_/g,this.srcsetRe=/\\s*(\\S*\\s+[\\d.]+[wx]),|(?:\\s*,(?:\\s+|(?=https?:)))/,this.cookie_path_regex=/\\bPath=\'?"?([^;\'"\\s]+)/i,this.cookie_domain_regex=/\\bDomain=([^;\'"\\s]+)/i,this.cookie_expires_regex=/\\bExpires=([^;\'"]+)/gi,this.SetCookieRe=/,(?![|])/,this.IP_RX=/^(\\d)+\\.(\\d)+\\.(\\d)+\\.(\\d)+$/,this.REPLACE_MOD=/(\\/[\\d]*)([\\w]+_)(?=\\/)/,this.FullHTMLRegex=/^\\s*<(?:html|head|body|frameset|frame|!doctype html)/i,this.IsTagRegex=/^\\s*</,this.DotPostMessageRe=/(\\.postMessage\\s*\\()/,this.extractPageUnderModifierRE=/\\/(?:[0-9]{14})?([a-z]{2, 3}_)\\//,this.write_buff="";var o=(e.EventTarget||{}).prototype;this.utilFns={cspViolationListener:function(t){if(console.group("CSP Violation"),console.log("Replayed Page URL",window.WB_wombat_location.href),console.log("The documentURI",t.documentURI),console.log("The blocked URL",t.blockedURI),console.log("The directive violated",t.violatedDirective),console.log("Our policy",t.originalPolicy),t.sourceFile){var e="File: "+t.sourceFile;t.lineNumber&&t.columnNumber?e+=" @ "+t.lineNumber+":"+t.columnNumber:t.lineNumber&&(e+=" @ "+t.lineNumber),console.log(e)}console.groupEnd()},addEventListener:o.addEventListener,removeEventListener:o.removeEventListener,objToString:Object.prototype.toString,wbSheetMediaQChecker:null,XHRopen:null,XHRsend:null},this.showCSPViolations={yesNo:!1,added:!1},r(this)}m.prototype._internalInit=function(){this.initTopFrame(this.$wbwindow),this.initWombatLoc(this.$wbwindow),this.initWombatTop(this.$wbwindow);var t=this.$wbwindow.__WB_replay_top.location.origin,e=this.$wbwindow.__WB_replay_top.location.host,r=this.$wbwindow.__WB_replay_top.location.protocol;this.wb_replay_prefix&&0===this.wb_replay_prefix.indexOf(t)?this.wb_rel_prefix=this.wb_replay_prefix.substring(t.length):this.wb_rel_prefix=this.wb_replay_prefix,this.wb_prefixes=[this.wb_abs_prefix,this.wb_rel_prefix];var i="(("+r+")?//"+e+")?"+this.wb_rel_prefix+"[^/]+/";this.wb_unrewrite_rx=new RegExp(i,"g"),this.wb_info.is_framed&&"bn_"!==this.wb_info.mod&&this.initTopFrameNotify(this.wb_info),this.initAutoFetchWorker()},m.prototype._addRemoveCSPViolationListener=function(t){this.showCSPViolations.yesNo=t,this.showCSPViolations.yesNo&&!this.showCSPViolations.added?(this.showCSPViolations.added=!0,this._addEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener)):(this.showCSPViolations.added=!1,this._removeEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener))},m.prototype._addEventListener=function(t,e,r){if(this.utilFns.addEventListener)return this.utilFns.addEventListener.call(t,e,r);t.addEventListener(e,r)},m.prototype._removeEventListener=function(t,e,r){if(this.utilFns.removeEventListener)return this.utilFns.removeEventListener.call(t,e,r);t.removeEventListener(e,r)},m.prototype.getPageUnderModifier=function(){try{var t=this.extractPageUnderModifierRE.exec(location.pathname);if(t&&t[1])return t[1].trim()||"mp_"}catch(t){}return"mp_"},m.prototype.isNativeFunction=function(t){return!(!t||"function"!=typeof t)&&(-1!=this.wb_funToString.call(t).indexOf("[native code]")&&(void 0===t.__WB_is_native_func__||!!t.__WB_is_native_func__))},m.prototype.isString=function(t){return null!=t&&Object.getPrototypeOf(t)===String.prototype},m.prototype.blobUrlForIframe=function(t,e){var r=new Blob([e],{type:"text/html"}),i=this.URL.createObjectURL(r),o=this.URL;t.__wb_blobSrc=i,t.addEventListener("load",function(){t.__wb_blobSrc&&(o.revokeObjectURL(t.__wb_blobSrc),t.__wb_blobSrc=null)},{once:!0}),t.__wb_origSrc=t.src;var n=i.slice(i.lastIndexOf("/")+1)+"/"+this.wb_info.url;t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/blob:"+n},m.prototype.isSavedSrcSrcset=function(t){switch(t.tagName){case"IMG":case"VIDEO":case"AUDIO":return!0;case"SOURCE":if(!t.parentElement)return!1;switch(t.parentElement.tagName){case"PICTURE":case"VIDEO":case"AUDIO":return!0;default:return!1}default:return!1}},m.prototype.isSavedDataSrcSrcset=function(t){return!(!t.dataset||null==t.dataset.srcset)&&this.isSavedSrcSrcset(t)},m.prototype.isHostUrl=function(t){if(0===t.indexOf("www."))return!0;var e=t.match(this.hostnamePortRe);return!!(e&&e[0].length<64)||!!(e=t.match(this.ipPortRe))&&e[0].length<64},m.prototype.isArgumentsObj=function(t){if(!t||"function"!=typeof t.toString)return!1;try{return"[object Arguments]"===this.utilFns.objToString.call(t)}catch(t){return!1}},m.prototype.deproxyArrayHandlingArgumentsObj=function(t){if(!t||t instanceof NodeList||!t.length)return t;for(var e=this.isArgumentsObj(t)?new Array(t.length):t,r=0;r<t.length;++r){const i=this.proxyToObj(t[r]);i!==e[r]&&(e[r]=i)}return e},m.prototype.startsWith=function(t,e){if(t)return 0===t.indexOf(e)?e:void 0},m.prototype.startsWithOneOf=function(t,e){if(t)for(var r=0;r<e.length;r++)if(0===t.indexOf(e[r]))return e[r]},m.prototype.endsWith=function(t,e){if(t)return-1!==t.indexOf(e,t.length-e.length)?e:void 0},m.prototype.shouldRewriteAttr=function(t,e){switch(e){case"href":case"src":case"xlink:href":return!0}return!(!t||!this.tagToMod[t]||void 0===this.tagToMod[t][e])||("VIDEO"===t&&"poster"===e||"META"===t&&"content"===e)},m.prototype.skipWrapScriptBasedOnType=function(t){return!!t&&(!(t.indexOf("javascript")>=0||t.indexOf("ecmascript")>=0)&&(t.indexOf("json")>=0||t.indexOf("text/")>=0))},m.prototype.skipWrapScriptTextBasedOnText=function(t,e){if(!t||t.indexOf(this.WB_ASSIGN_FUNC)>=0||0===t.indexOf("<"))return!0;let r=!1;for(const i of this.OVERRIDE_PROPS){t.indexOf(i)>=0&&(t.indexOf("var "+i)>=0&&e.push(i),r=!0)}return!r},m.prototype.nodeHasChildren=function(t){if(!t)return!1;if("function"==typeof t.hasChildNodes)return t.hasChildNodes();var e=t.children||t.childNodes;return!!e&&e.length>0},m.prototype.rwModForElement=function(t,e){if(t){var r="mp_";if("LINK"===t.tagName&&"href"===e){if(t.rel){var i=t.rel.trim().toLowerCase(),o=this.wb_getAttribute.call(t,"as");if(o&&null!=this.linkTagMods.linkRelToAs[i])r=this.linkTagMods.linkRelToAs[i][o.toLowerCase()];else null!=this.linkTagMods[i]&&(r=this.linkTagMods[i])}}else{if("SCRIPT"===t.tagName)return"module"===t.type?"esm_":"js_";var n=this.tagToMod[t.tagName];null!=n&&(r=n[e])}return r}},m.prototype.removeWBOSRC=function(t){"SCRIPT"!==t.tagName||t.__$removedWBOSRC$__||(t.hasAttribute("__wb_orig_src")&&t.removeAttribute("__wb_orig_src"),t.__$removedWBOSRC$__=!0)},m.prototype.retrieveWBOSRC=function(t){var e;if("SCRIPT"===t.tagName&&!t.__$removedWBOSRC$__)return null==(e=this.wb_getAttribute?this.wb_getAttribute.call(t,"__wb_orig_src"):t.getAttribute("__wb_orig_src"))&&(t.__$removedWBOSRC$__=!0),e},m.prototype.wrapScriptTextJsProxy=function(t,e=[]){let r="var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\\n{\\n";for(const t of this.OVERRIDE_PROPS)e.includes(t)||(r+=`let ${t} = _____WB$wombat$assign$function_____("${t}");\\n`);return r+="{\\n",t=t.replace(this.IMPORT_JS_CALL,t=>t.replace("import","____wb_rewrite_import__")),r+(t=t.replace(this.DotPostMessageRe,".__WB_pmw(self.window)$1"))+"\\n\\n}}"},m.prototype.watchElem=function(t,e){if(!this.$wbwindow.MutationObserver)return!1;new this.$wbwindow.MutationObserver(function(t,r){for(var i=0;i<t.length;i++){var o=t[i];if("childList"===o.type)for(var n=0;n<o.addedNodes.length;n++)e(o.addedNodes[n])}}).observe(t,{childList:!0,subtree:!0})},m.prototype.reconstructDocType=function(t){return null==t?"":"<!doctype "+t.name+(t.publicId?\' PUBLIC "\'+t.publicId+\'"\':"")+(!t.publicId&&t.systemId?" SYSTEM":"")+(t.systemId?\' "\'+t.systemId+\'"\':"")+">"},m.prototype.getFinalUrl=function(t,e,r){var i=t?this.wb_rel_prefix:this.wb_abs_prefix;return null==e&&(e=this.wb_info.mod),this.wb_info.is_live||(i+=this.wb_info.wombat_ts),"/"!==(i+=e)[i.length-1]&&(i+="/"),i+r},m.prototype.resolveRelUrl=function(t,e){var r=this;function i(t){return!(!t||!t.baseURI)&&(t.baseURI.startsWith(r.HTTPS_PREFIX)||t.baseURI.startsWith(r.HTTP_PREFIX))}var o=null;return o=i(e)?e.baseURI:i(this.$wbwindow.document)?this.$wbwindow.document.baseURI:this.$wbwindow.__WB_replay_top.document.baseURI,new this.URL(t,o).href},m.prototype.extractOriginalURL=function(t){if(!t)return"";if(this.wb_is_proxy)return t;var e,r=t.toString(),i=r;if(this.startsWithOneOf(i,this.IGNORE_PREFIXES))return i;if(i.startsWith(this.wb_info.static_prefix))return i;e=this.startsWith(i,this.wb_abs_prefix)?this.wb_abs_prefix.length:this.wb_rel_prefix&&this.startsWith(i,this.wb_rel_prefix)?this.wb_rel_prefix.length:this.wb_rel_prefix?1:0;var o=i.indexOf("/http",e);return o<0&&(o=i.indexOf("///",e)),o<0&&(o=i.indexOf("/blob:",e)),o<0&&(o=i.indexOf("/about:blank",e)),o>=0?i=i.substr(o+1):((o=i.indexOf(this.wb_replay_prefix))>=0&&(i=i.substr(o+this.wb_replay_prefix.length)),i.length>4&&"_"===i.charAt(2)&&"/"===i.charAt(3)&&(i=i.substr(4)),i===r||this.startsWithOneOf(i,this.VALID_PREFIXES)||this.startsWith(i,"blob:")||(i=this.wb_orig_scheme+i)),"/"===r.charAt(0)&&"/"!==r.charAt(1)&&this.startsWith(i,this.wb_orig_origin)&&(i=i.substr(this.wb_orig_origin.length)),this.startsWith(i,this.REL_PREFIX)?this.wb_info.wombat_scheme+":"+i:i},m.prototype.makeParser=function(t,e){var r=this.extractOriginalURL(t),i=e;return e||(i="about:blank"===this.$wbwindow.location.href&&this.$wbwindow.opener?this.$wbwindow.opener.document:this.$wbwindow.document),this._makeURLParser(r,i)},m.prototype._makeURLParser=function(t,e){try{return new this.URL(t,e.baseURI)}catch(t){}var r=e.createElement("a");return r._no_rewrite=!0,r.href=t,r},m.prototype.defProp=function(t,e,r,i,o){var n=Object.getOwnPropertyDescriptor(t,e);if(n&&!n.configurable)return!1;if(!i)return!1;var s={configurable:!0,enumerable:o||!1,get:i};r&&(s.set=r);try{return Object.defineProperty(t,e,s),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},m.prototype.defGetterProp=function(t,e,r,i){var o=Object.getOwnPropertyDescriptor(t,e);if(o&&!o.configurable)return!1;if(!r)return!1;try{return Object.defineProperty(t,e,{configurable:!0,enumerable:i||!1,get:r}),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},m.prototype.getOrigGetter=function(t,e){var r;if(t.__lookupGetter__&&(r=t.__lookupGetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.get)}return r},m.prototype.getOrigSetter=function(t,e){var r;if(t.__lookupSetter__&&(r=t.__lookupSetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.set)}return r},m.prototype.getAllOwnProps=function(t){for(var e=[],r=Object.getOwnPropertyNames(t),i=0;i<r.length;i++){var o=r[i];try{t[o]&&!t[o].prototype&&e.push(o)}catch(t){}}for(var n=Object.getPrototypeOf(t);n;){for(r=Object.getOwnPropertyNames(n),i=0;i<r.length;i++)e.push(r[i]);n=Object.getPrototypeOf(n)}return e},m.prototype.sendTopMessage=function(t,e,r){(r=r||this.$wbwindow).__WB_top_frame&&(e||r==r.__WB_replay_top)&&r.__WB_top_frame.postMessage(t,this.wb_info.top_host)},m.prototype.sendHistoryUpdate=function(t,e,r){this.sendTopMessage({url:t,ts:this.wb_info.timestamp,request_ts:this.wb_info.request_ts,is_live:this.wb_info.is_live,title:e,wb_type:"replace-url"},!1,r)},m.prototype.updateLocation=function(t,e,r){if(t&&t!==e){var i=this.extractOriginalURL(e),o=this.extractOriginalURL(t);if(i&&i!==o){var n=this.rewriteUrl(t);console.log(r.href+" -> "+n),r.href=n}}},m.prototype.checkLocationChange=function(t,e){var r=typeof t,i=e?this.$wbwindow.__WB_replay_top.location:this.$wbwindow.location;"string"===r?this.updateLocation(t,i.href,i):"object"===r&&this.updateLocation(t.href,t._orig_href,i)},m.prototype.checkAllLocations=function(){if(this.wb_wombat_updating)return!1;this.wb_wombat_updating=!0,this.checkLocationChange(this.$wbwindow.WB_wombat_location,!1),this.$wbwindow.WB_wombat_location!=this.$wbwindow.__WB_replay_top.WB_wombat_location&&this.checkLocationChange(this.$wbwindow.__WB_replay_top.WB_wombat_location,!0),this.wb_wombat_updating=!1},m.prototype.proxyToObj=function(t){if(t)try{var e=t.__WBProxyRealObj__;if(e)return e}catch(t){}return t},m.prototype.objToProxy=function(t){if(t)try{var e=t._WB_wombat_obj_proxy;if(e)return e}catch(t){}return t},m.prototype.defaultProxyGet=function(t,e,r,i){switch(e){case"__WBProxyRealObj__":return t;case"location":case"WB_wombat_location":return t.WB_wombat_location;case"_WB_wombat_obj_proxy":return t._WB_wombat_obj_proxy;case"__WB_pmw":case this.WB_ASSIGN_FUNC:case this.WB_CHECK_THIS_FUNC:return t[e];case"origin":return t.WB_wombat_location.origin;case"constructor":return t.constructor}var o=Reflect.get(t,e),n=Object.getOwnPropertyDescriptor(t,e);if(void 0!==n&&"value"in n&&!1===n.writable&&!1===n.configurable)return o;var s=typeof o;if("string"===s&&o){var a=parseInt(e);if(o&&!isNaN(a))try{return this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}catch(t){}}else{if("function"===s&&-1!==r.indexOf(e)){switch(e){case"requestAnimationFrame":case"cancelAnimationFrame":if(!this.isNativeFunction(o))return o;break;case"eval":if(this.isNativeFunction(o))return this.wrappedEval(o)}var h=i[e];if(!h||h.original!==o){const r=o.bind(t);for(const t of Object.getOwnPropertyNames(o))if(!this.SKIP_OWN_FUNC_PROPS.includes(t))try{r[t]=o[t]}catch(t){}return i[e]={original:o,boundFn:r},r}return h.boundFn}if("object"===s&&o&&o._WB_wombat_obj_proxy)return o instanceof this.WBWindow&&this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}return o},m.prototype.setLoc=function(t,e){var r=this.makeParser(e,t.ownerDocument);t._orig_href=e,t._parser=r;var i=r.href;t._hash=r.hash,t._href=i,t._host=r.host,t._hostname=r.hostname,r.origin?t._origin=r.host?r.origin:"null":t._origin=r.protocol+"//"+r.hostname+(r.port?":"+r.port:""),t._pathname=r.pathname,t._port=r.port,t._protocol=r.protocol,t._search=r.search,Object.defineProperty||(t.href=i,t.hash=r.hash,t.host=t._host,t.hostname=t._hostname,t.origin=t._origin,t.pathname=t._pathname,t.port=t._port,t.protocol=t._protocol,t.search=t._search)},m.prototype.makeGetLocProp=function(t,e){var r=this;return function(){if(this._no_rewrite)return e.call(this,t);"maybeHref"===t&&(t="href");var i=e.call(this,"href");return"href"===t?r.extractOriginalURL(i):"ancestorOrigins"===t?[]:(this._orig_href!==i&&r.setLoc(this,i),this["_"+t])}},m.prototype.makeSetLocProp=function(t,e,r){var i=this;return function(o){if(this._no_rewrite)return e.call(this,t,o);if("maybeHref"===t){if("string"!=typeof o)return o;t="href"}if(this["_"+t]!==o){this["_"+t]=o;var n=r.call(this),s=i.makeParser(n,this.ownerDocument),a=!1;if("href"===t&&"string"==typeof o)if(o&&s instanceof i.URL)try{o=new i.URL(o,s).href}catch(t){console.warn("Error resolving URL",t)}else o&&("."===o[0]||"#"===o[0]?o=i.resolveRelUrl(o,this.ownerDocument):"/"===o[0]&&(o.length>1&&"/"===o[1]?o=s.protocol+o:(a=!0,o=WB_wombat_location.origin+o)));try{s[t]=o}catch(e){console.log("Error setting "+t+" = "+o)}"hash"===t?(o=s[t],e.call(this,"hash",o)):(a=a||o===s.pathname,o=i.rewriteUrl(s.href,a),e.call(this,"href",o))}}},m.prototype.styleReplacer=function(t,e,r,i,o,n){return e+this.rewriteUrl(r)+i},m.prototype.domConstructorErrorChecker=function(t,e,r,i){var o,n="number"==typeof i?i:1;if(t instanceof this.WBWindow?o="Failed to construct \'"+e+"\': Please use the \'new\' operator, this DOM object constructor cannot be called as a function.":r&&r.length<n&&(o="Failed to construct \'"+e+"\': "+n+" argument required, but only 0 present."),o)throw new TypeError(o)},m.prototype.rewriteNodeFuncArgs=function(t,e,r,i){if(r)switch(r.nodeType){case Node.ELEMENT_NODE:this.rewriteElemComplete(r);break;case Node.TEXT_NODE:("STYLE"===t.tagName||r.parentNode&&"STYLE"===r.parentNode.tagName)&&(r.textContent=this.rewriteStyle(r.textContent));break;case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(r)}var o=e.call(t,r,i);if(o&&"IFRAME"===o.tagName){const t=o.allow?`; ${o.allow}`:"";o.allow=`autoplay \'self\'; fullscreen \'self\'${t}`,this.initIframeWombat(o)}return o},m.prototype.rewriteWSURL=function(t){if(!t)return t;var e=typeof t,r=t;if("object"===e)r=t.toString();else if("string"!==e)return t;if(!r)return r;var i="ws://",o="wss://";if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(r,o)?i+r.substr(6):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(r,i)?o+r.substr(5):r;var n=0===this.wb_abs_prefix.indexOf(this.HTTPS_PREFIX),s=this.wb_abs_prefix.replace(n?this.HTTPS_PREFIX:this.HTTP_PREFIX,n?o:i);return s+=this.wb_info.wombat_ts+"ws_","/"!==r[r.length-1]&&(s+="/"),s+r.replace("WB_wombat_","")},m.prototype.rewriteUrl_=function(t,e,r,i){if(!t)return t;var o,n,s=typeof t;if("object"===s)o=t.toString();else{if("string"!==s)return t;o=t.trim()}if(!o)return o;if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(o,this.HTTPS_PREFIX)?this.HTTP_PREFIX+o.substr(this.HTTPS_PREFIX.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(o,this.HTTP_PREFIX)?this.HTTPS_PREFIX+o.substr(this.HTTP_PREFIX.length):o;if(o=o.replace("WB_wombat_",""),"if_"===r&&this.wb_info.isSW&&this.startsWith(o,"blob:"))return this.wb_info.prefix+this.wb_info.request_ts+"if_/"+o;if(this.startsWithOneOf(o.toLowerCase(),this.IGNORE_PREFIXES))return o;if(this.wb_opts.no_rewrite_prefixes&&this.startsWithOneOf(o,this.wb_opts.no_rewrite_prefixes))return o;if(n=0===o.indexOf("//")?this.origProtocol+o:o,this.startsWith(n,this.wb_abs_prefix)||this.startsWith(n,this.wb_rel_prefix))return o;if(this.origHost!==this.origHostname&&this.startsWith(o,this.origProtocol+"//"+this.origHostname+"/"))return o.replace("/"+this.origHostname+"/","/"+this.origHost+"/");if("/"===o.charAt(0)&&!this.startsWith(o,this.REL_PREFIX)){if(this.wb_capture_date_part&&o.indexOf(this.wb_capture_date_part)>=0)return o;if(0===o.indexOf(this.wb_rel_prefix)&&o.indexOf("http")>1){var a=o.indexOf(":/");return a>0&&"/"!==o[a+2]?o.substring(0,a+2)+"/"+o.substring(a+2):o}return this.getFinalUrl(!0,r,this.wb_orig_origin+o)}"."===o.charAt(0)&&(o=this.resolveRelUrl(o,i));var h=this.startsWithOneOf(o.toLowerCase(),this.VALID_PREFIXES);if(h){var w=this.replayTopHost,c=this.replayTopProtocol,p=h+w+"/";if(this.startsWith(o,p)){if(this.startsWith(o,this.wb_replay_prefix))return o;var l=c+"//",_=o.substring(p.length),u=!1;return _.indexOf(this.wb_rel_prefix)<0&&o.indexOf("/static/")<0&&(_=this.getFinalUrl(!0,r,WB_wombat_location.origin+"/"+_),u=!0),h!==l&&h!==this.REL_PREFIX&&(u=!0),u&&(o=e?"":l+w,_&&"/"!==_[0]&&(o+="/"),o+=_),o}return this.getFinalUrl(e,r,o)}return(h=this.startsWithOneOf(o,this.BAD_PREFIXES))?this.getFinalUrl(e,r,this.extractOriginalURL(o)):o},m.prototype.rewriteUrl=function(t,e,r,i){var o;return o=this.wb_info.rewrite_function?this.wb_info.rewrite_function(t,e,r,i):this.rewriteUrl_(t,e,r,i),this.debug_rw&&(t!==o?console.log("REWRITE: "+t+" -> "+o):console.log("NOT REWRITTEN "+t)),o},m.prototype.performAttributeRewrite=function(t,e,r,i,o){switch(e){case"innerHTML":case"outerHTML":return this.rewriteHtml(r);case"filter":return this.rewriteInlineStyle(r);case"style":return this.rewriteStyle(r);case"srcset":return this.rewriteSrcset(r,t)}if(o&&!this.startsWithOneOf(r,this.VALID_PREFIXES))return r;var n=this.rwModForElement(t,e);t&&this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedDataSrcSrcset(t)&&this.WBAutoFetchWorker.preserveDataSrcset(t);var s=this.rewriteUrl(r,!1,n,i);return"esm_"===n&&s&&s.indexOf("esm_/")<0&&(s=s.replace(this.REPLACE_MOD,"$1esm_")),s},m.prototype.rewriteAttr=function(t,e,r){var i=!1;if(!t||!t.getAttribute||t._no_rewrite||t["_"+e]||t.tagName&&t.tagName.indexOf("-")>0)return i;var o=this.wb_getAttribute.call(this.proxyToObj(t),e);if(!o||this.startsWith(o,"javascript:"))return i;var n=this.performAttributeRewrite(t,e,o,t.ownerDocument,r);return n!==o&&(this.removeWBOSRC(t),this.wb_setAttribute.call(t,e,n),i=!0),i},m.prototype.noExceptRewriteStyle=function(t){try{return this.rewriteStyle(t)}catch(e){return t}},m.prototype.rewriteStyle=function(t){if(!t)return t;var e=t;return"object"==typeof t&&(e=t.toString()),"string"==typeof e?e.replace(this.STYLE_REGEX,this.styleReplacer).replace(this.IMPORT_REGEX,this.styleReplacer).replace(this.no_wombatRe,""):e},m.prototype.rewriteSrcset=function(t,e){if(!t)return"";for(var r=t.split(this.srcsetRe),i=[],o=this.rwModForElement(e,"srcset"),n=0;n<r.length;n++){var s=r[n];if(s){var a=s.trim().split(" ");a[0]=this.rewriteUrl(a[0],!0,o),i.push(a.join(" "))}}return this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedSrcSrcset(e)&&this.WBAutoFetchWorker.preserveSrcset(i,this.WBAutoFetchWorker.rwMod(e)),i.join(", ")},m.prototype.rewriteFrameSrc=function(t,e){var r,i=this.wb_getAttribute.call(t,e);if(this.startsWith(i,"javascript:")&&i.indexOf("WB_wombat_")>=0){var o="javascript:";r=o+"window.parent._wb_wombat.initNewWindowWombat(window);"+i.substr(11)}return r||(r=this.rewriteUrl(i,!1,this.rwModForElement(t,e))),r!==i&&(this.wb_setAttribute.call(t,e,r),!0)},m.prototype.rewriteScript=function(t){if(t.hasAttribute("src")||!t.textContent||!this.$wbwindow.Proxy)return this.rewriteAttr(t,"src");if(this.skipWrapScriptBasedOnType(t.type))return!1;var e=t.textContent.trim(),r=[];return!this.skipWrapScriptTextBasedOnText(e,r)&&(t.textContent=this.wrapScriptTextJsProxy(e,r),this.wb_info.injectDocClose&&t.textContent.trim().length&&(t.textContent+=";document.close();"),!0)},m.prototype.rewriteSVGElem=function(t){var e=this.rewriteAttr(t,"filter");return e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"xlink:href")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"src")||e},m.prototype.rewriteElem=function(t){var e=!1;if(!t)return e;const r=e=>{if(this.wb_info.isSW&&t.parentElement&&"IFRAME"!==t.parentElement.tagName&&"IMG"!==t.parentElement.tagName){var r;let a=!1;const h=t.getAttribute("type")||"";if("application/pdf"===h?r="IFRAME":"image/svg+xml"===h||e&&h.startsWith("image/")?r="IMG":e&&!h.startsWith("application/")&&(r="IFRAME",a=!0),r){for(var i=this.$wbwindow.document.createElement(r),o=0;o<t.attributes.length;o++){var n=t.attributes[o],s=n.name;"data"===s&&(s="src"),this.wb_setAttribute.call(i,s,n.value)}return"IFRAME"===r&&(this.wb_setAttribute.call(i,"style","border: none"),a&&this.wb_setAttribute.call(i,"sandbox","allow-same-origin allow-scripts")),t.parentElement.replaceChild(i,t),!0}}return!1};if(t instanceof SVGElement)e=this.rewriteSVGElem(t);else switch(t.tagName){case"META":var i=this.wb_getAttribute.call(t,"http-equiv");i&&"content-security-policy"===i.toLowerCase()&&(this.wb_setAttribute.call(t,"http-equiv","_"+i),e=!0);break;case"STYLE":var o=this.rewriteStyle(t.textContent);t.textContent!==o&&(t.textContent=o,e=!0,this.wbUseAFWorker&&this.WBAutoFetchWorker&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet));break;case"LINK":e=this.rewriteAttr(t,"href"),this.wbUseAFWorker&&"stylesheet"===t.rel&&this._addEventListener(t,"load",this.utilFns.wbSheetMediaQChecker);break;case"IMG":e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"style")||e,this.wbUseAFWorker&&this.WBAutoFetchWorker&&t.dataset.srcset&&this.WBAutoFetchWorker.preserveDataSrcset(t);break;case"OBJECT":e=r(!1),e=this.rewriteAttr(t,"data",!0),e=this.rewriteAttr(t,"style")||e;break;case"EMBED":e=r(!0),e=this.rewriteAttr(t,"style")||e;break;case"FORM":e=this.rewriteAttr(t,"poster"),e=this.rewriteAttr(t,"action")||e,e=this.rewriteAttr(t,"style")||e;break;case"IFRAME":if(e=this.rewriteFrameSrc(t,"src"),this.wb_info.isSW&&!e){var n=t.getAttribute("srcdoc");if(t.hasAttribute("srcdoc")&&t.removeAttribute("srcdoc"),n)this.blobUrlForIframe(t,n);else{var s=t.getAttribute("src");s&&"about:blank"!==s||(s||(t.__WB_blank=!0),t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/about:blank")}}e=this.rewriteAttr(t,"style")||e;break;case"FRAME":e=this.rewriteFrameSrc(t,"src"),e=this.rewriteAttr(t,"style")||e;break;case"SCRIPT":e=this.rewriteScript(t);break;case"A":if(e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,t.hasAttribute("target")){var a=this.rewriteAttrTarget(t.target);a!==t.target&&(t.target=a,e=!0)}break;default:e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"poster")||e,e=this.rewriteAttr(t,"background")||e}return t.hasAttribute&&t.removeAttribute&&!t._no_rewrite&&(t.hasAttribute("crossorigin")&&(t.removeAttribute("crossorigin"),e=!0),t.hasAttribute("integrity")&&(t.removeAttribute("integrity"),e=!0)),e},m.prototype.recurseRewriteElem=function(t){if(!this.nodeHasChildren(t))return!1;for(var e=!1,r=[t.children||t.childNodes];r.length>0;)for(var i=r.shift(),o=0;o<i.length;o++){var n=i[o];n.nodeType===Node.ELEMENT_NODE&&(e=this.rewriteElem(n)||e,this.nodeHasChildren(n)&&r.push(n.children||n.childNodes))}return e},m.prototype.rewriteElemComplete=function(t){if(!t)return!1;var e=this.rewriteElem(t),r=this.recurseRewriteElem(t);return e||r},m.prototype.rewriteElementsInArguments=function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){var i=t[r];i instanceof Node?(this.rewriteElemComplete(i),e[r]=i):e[r]="string"==typeof i?this.rewriteHtml(i):i}return e},m.prototype.rewriteHtml=function(t,e){if(!t)return t;var r=t;if("string"!=typeof t&&(r=t.toString()),this.write_buff&&(r=this.write_buff+r,this.write_buff=""),r.indexOf("<script")<=0&&r.indexOf("WB_wombat_")>=0&&(r=r.replace(/((id|class)=".*)WB_wombat_([^"]+)/,"$1$3")),!this.$wbwindow.HTMLTemplateElement||this.FullHTMLRegex.test(r))return this.rewriteHtmlFull(r,e);var i=(new DOMParser).parseFromString("<template>"+r+"</template>","text/html");if(!i||!this.nodeHasChildren(i.head)||!i.head.children[0].content)return r;var o=i.head.children[0];if(o._no_rewrite=!0,this.recurseRewriteElem(o.content)){var n=o.innerHTML;if(e){var s=o.content.children&&o.content.children[0];if(s){var a="</"+s.tagName.toLowerCase()+">";if(this.endsWith(n,a)&&!this.endsWith(r.toLowerCase(),a))n=n.substring(0,n.length-a.length);else if(n.trimEnd().endsWith(a)&&!r.trimEnd().endsWith(a)){var h=r.lastIndexOf(a);h>0&&(n+=r.slice(h+a.length))}}else if("<"!==r[0]||">"!==r[r.length-1])return void(this.write_buff+=r)}return n}return r},m.prototype.rewriteHtmlFull=function(t,e){var r=(new DOMParser).parseFromString(t,"text/html");if(!r)return t;for(var i=!1,o=0;o<r.all.length;o++)i=this.rewriteElem(r.all[o])||i;if(i){var n;if(t&&t.indexOf("<html")>=0)r.documentElement._no_rewrite=!0,n=this.reconstructDocType(r.doctype)+r.documentElement.outerHTML;else{r.head._no_rewrite=!0,r.body._no_rewrite=!0;var s=this.nodeHasChildren(r.head),a=this.nodeHasChildren(r.body);if(n=(s?r.head.outerHTML:"")+(a?r.body.outerHTML:""),e)if(r.all.length>3){var h="</"+r.all[3].tagName.toLowerCase()+">";this.endsWith(n,h)&&!this.endsWith(t.toLowerCase(),h)&&(n=n.substring(0,n.length-h.length))}else if("<"!==t[0]||">"!==t[t.length-1])return void(this.write_buff+=t);n=this.reconstructDocType(r.doctype)+n}return n}return t},m.prototype.rewriteInlineStyle=function(t){var e;try{e=decodeURIComponent(t)}catch(r){e=t}if(e!==t){var r=this.rewriteStyle(e).split(",",2);return r[0]+","+encodeURIComponent(r[1])}return this.rewriteStyle(t)},m.prototype.rewriteCookie=function(t){var e=this,r=t.replace(this.wb_abs_prefix,"").replace(this.wb_rel_prefix,"");return r=r.replace(this.cookie_domain_regex,function(t,i){var o={domain:i,cookie:r,wb_type:"cookie"};return e.sendTopMessage(o,!0),e.$wbwindow.location.hostname.indexOf(".")>=0&&!e.IP_RX.test(e.$wbwindow.location.hostname)?"Domain=."+e.$wbwindow.location.hostname:""}).replace(this.cookie_path_regex,function(t,r){var i=e.rewriteUrl(r);return 0===i.indexOf(e.wb_curr_host)&&(i=i.substring(e.wb_curr_host.length)),"Path="+i}),"https:"!==e.$wbwindow.location.protocol&&(r=r.replace("secure","")),r.replace(",|",",")},m.prototype.rewriteWorker=function(t,e){if(!t)return t;var r=0===(t=t.toString()).indexOf("blob:"),i=0===t.indexOf("javascript:"),o=e&&"module"===e.type?"wkrm_":"wkr_";if(!r&&!i){if(this.startsWithOneOf(t,this.wb_prefixes))return t.replace(this.REPLACE_MOD,"$1"+o);if(!this.startsWithOneOf(t,this.VALID_PREFIXES)&&!this.startsWith(t,"/")&&!this.startsWithOneOf(t,this.BAD_PREFIXES)){var n=this.resolveRelUrl(t,this.$wbwindow.document);return this.rewriteUrl(n,!1,o,this.$wbwindow.document)}return this.rewriteUrl(t,!1,o,this.$wbwindow.document)}var s=i?t.replace("javascript:",""):null;if(r){var a=new XMLHttpRequest;this.utilFns.XHRopen.call(a,"GET",t,!1),this.utilFns.XHRsend.call(a),s=a.responseText.replace(this.workerBlobRe,"").replace(this.rmCheckThisInjectRe,"this")}if(this.wb_info.static_prefix||this.wb_info.ww_rw_script){var h=this.$wbwindow.document.baseURI;s="(function() { self.importScripts(\'"+(this.wb_info.ww_rw_script||this.wb_info.static_prefix+"wombatWorkers.js")+"\'); new WBWombat({\'prefix\': \'"+this.wb_abs_prefix+"\', \'prefixMod\': \'"+this.wb_abs_prefix+"wkrf_/\', \'originalURL\': "+JSON.stringify(h)+"}); })();"+s}var w=new Blob([s],{type:"application/javascript"});return this.URL.createObjectURL(w)},m.prototype.rewriteTextNodeFn=function(t,e,r){var i,o=this.proxyToObj(t);if(r.length>0&&o.parentElement&&"STYLE"===o.parentElement.tagName){i=new Array(r.length);var n=r.length-1;2===n?(i[0]=r[0],i[1]=r[1]):1===n&&(i[0]=r[0]),i[n]=this.rewriteStyle(r[n])}else i=r;return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},m.prototype.rewriteChildNodeFn=function(t,e,r){var i=this.proxyToObj(t);if(0===r.length)return e.call(i);var o=this.rewriteElementsInArguments(r);return e.__WB_orig_apply?e.__WB_orig_apply(i,o):e.apply(i,o)},m.prototype.rewriteInsertAdjHTMLOrElemArgs=function(t,e,r,i,o){var n=this.proxyToObj(t);return n._no_rewrite?e.call(n,r,i):o?e.call(n,r,this.rewriteHtml(i)):(this.rewriteElemComplete(i),e.call(n,r,i))},m.prototype.rewriteSetTimeoutInterval=function(t,e,r){var i=this.isString(r[0]),o=i?new Array(r.length):r;if(i){this.$wbwindow.Proxy?o[0]=this.wrapScriptTextJsProxy(r[0]):o[0]=r[0].replace(/\\blocation\\b/g,"WB_wombat_$&");for(var n=1;n<r.length;++n)o[n]=this.proxyToObj(r[n])}var s=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(s,o):e.apply(s,o)},m.prototype.rewriteHTMLAssign=function(t,e,r){var i=r,o=t.tagName;if(!(t._no_rewrite||t instanceof this.$wbwindow.HTMLTemplateElement))if("STYLE"===o)i=this.rewriteStyle(r);else if("SCRIPT"===o){r&&this.IsTagRegex.test(r)&&(i=this.rewriteHtml(r));var n=[];i===r&&(this.skipWrapScriptBasedOnType(t.type)||this.skipWrapScriptTextBasedOnText(r,n)||(i=this.wrapScriptTextJsProxy(i,n)))}else i=this.rewriteHtml(r);e.call(t,i),this.wbUseAFWorker&&this.WBAutoFetchWorker&&"STYLE"===o&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet)},m.prototype.rewriteEvalArg=function(t,e,r){this.$wbwindow.TrustedScript&&e instanceof this.$wbwindow.TrustedScript&&(e=e.toString());var i=[];return t(this.isString(e)&&!this.skipWrapScriptTextBasedOnText(e,i)?this.wrapScriptTextJsProxy(e,i):this.otherEvalRewrite(e),r)},m.prototype.otherEvalRewrite=function(t){return"string"!=typeof t?t:t.replace(this.IMPORT_JS_REGEX,this.styleReplacer)},m.prototype.addEventOverride=function(t,e){var r=e;e||(r=this.$wbwindow.MessageEvent.prototype);var i=this.getOrigGetter(r,t);i&&this.defGetterProp(r,t,function(){return null!=this["_"+t]?this["_"+t]:i.call(this)})},m.prototype.isAttrObjRewrite=function(t){if(!t)return!1;var e=t.ownerElement&&t.ownerElement.tagName;return this.shouldRewriteAttr(e,t.nodeName)},m.prototype.newAttrObjGetSet=function(t,e){var r=this,i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e);this.defProp(t,e,function(t){var e=r.proxyToObj(this),i=t;return r.isAttrObjRewrite(e)&&(i=r.performAttributeRewrite(e.ownerElement,e.name,t,e.ownerDocument,!1)),o.call(e,i)},function(){var t=r.proxyToObj(this),e=i.call(t);return r.isAttrObjRewrite(t)?r.extractOriginalURL(e):e})},m.prototype.overrideAttrProps=function(){var t=this.$wbwindow.Attr.prototype;this.newAttrObjGetSet(t,"value"),this.newAttrObjGetSet(t,"nodeValue"),this.newAttrObjGetSet(t,"textContent")},m.prototype.overrideAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this;this.defProp(t,e,function(t){"js_"===r&&(this.__$removedWBOSRC$__||n.removeWBOSRC(this));var i=n.rewriteUrl(t,!1,"module"===this.type?"esm_":r);return o?o.call(this,i):n.wb_setAttribute?n.wb_setAttribute.call(this,e,i):void 0},function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,e)),t=n.extractOriginalURL(t),this.__WB_blank&&"about:blank"===t?"":t})},m.prototype.overridePropExtract=function(t,e){var r=this.getOrigGetter(t,e),i=this;if(r){this.defGetterProp(t,e,function(){var t=i.proxyToObj(this),e=r.call(t);return t.__WB_no_unrewrite?e:i.extractOriginalURL(e)})}},m.prototype.overrideDeProxyPropAssign=function(t,e){var r=this.getOrigSetter(t,e),i=this.getOrigGetter(t,e),o=this;if(r){this.defProp(t,e,function(t){return r.call(o.proxyToObj(this),o.proxyToObj(t))},i)}},m.prototype.overrideReferrer=function(t){var e=this.getOrigGetter(t,"referrer"),r=this;if(e){this.defGetterProp(t,"referrer",function(){var t=r.proxyToObj(this),i=this.defaultView;if(i===i.__WB_replay_top)return"";var o=e.call(t);return r.extractOriginalURL(o)})}},m.prototype.overridePropToProxy=function(t,e){var r=this.getOrigGetter(t,e);if(r){var i=this;this.defGetterProp(t,e,function(){return i.objToProxy(r.call(this))})}},m.prototype.overrideHistoryFunc=function(t){if(this.$wbwindow.history){var e=this.$wbwindow.history[t];if(e){this.$wbwindow.history["_orig_"+t]=e,this.$wbwindow.history.___wb_ownWindow=this.$wbwindow;var r=this,i=function(t,i,o){var n=this.___wb_ownWindow||r.$wbwindow;o=r.extractOriginalURL(o);var s,a,h=n.WB_wombat_location;if(o){var w=r._makeURLParser(o,n.document);if(a=w.href,s=r.rewriteUrl(a),a!==h.origin&&"about:blank"!==h.href&&!r.startsWith(a,h.origin+"/"))throw new DOMException("Invalid history change: "+a)}else a=h.href;e.call(this,t,i,s);var c=n.document.title;r.WBAutoFetchWorker&&n.setTimeout(function(){i||n.document.title===c||(i=n.document.title),r.WBAutoFetchWorker.fetchAsPage(s,a,i)},100),r.sendHistoryUpdate(a,i,n)};return this.$wbwindow.history[t]=i,this.$wbwindow.History&&this.$wbwindow.History.prototype&&(this.$wbwindow.History.prototype[t]=i),i}}},m.prototype.overrideStyleAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this,s=i,a=function(t,e,r,i,o){return e+(r||"")+n.extractOriginalURL(i)+o},h=/(url\\()([\'"])?(.*?)(\\2\\))/;i||(s=function(){var t=this.getPropertyValue(r);return t&&t.startsWith("url(")&&(t=t.replace(h,a)),t}),(o&&i||r)&&this.defProp(t,e,function(t){var e=n.rewriteStyle(t);return o?o.call(this,e):this.setProperty(r,e),e},s)},m.prototype.overrideStyleSetProp=function(t){var e=t.setProperty,r=this;t.setProperty=function(t,i,o){var n=r.rewriteStyle(i);return e.call(this,t,n,o)}},m.prototype.overrideAnchorAreaElem=function(t){if(t&&t.prototype){for(var e={},r=t.prototype,i=function(t,r){var i=e["set_"+t];return i?i.call(this,r):""},o=function(t){var r=e["get_"+t];return r?r.call(this):""},n=0;n<this.URL_PROPS.length;n++){var s=this.URL_PROPS[n];e["get_"+s]=this.getOrigGetter(r,s),e["set_"+s]=this.getOrigSetter(r,s),Object.defineProperty&&this.defProp(r,s,this.makeSetLocProp(s,i,o),this.makeGetLocProp(s,o),!0)}r.toString=function(){return this.href}}},m.prototype.overrideHtmlAssign=function(t,e,r){if(this.$wbwindow.DOMParser&&t&&t.prototype){var i=t.prototype,o=this.getOrigGetter(i,e),n=this.getOrigSetter(i,e);if(n){var s=this.rewriteHTMLAssign,a=this.wb_unrewrite_rx;this.defProp(i,e,function(t){return s(this,n,t)},r?function(){var t=o.call(this);return this._no_rewrite?t:t.replace(a,"")}:o)}}},m.prototype.overrideHtmlAssignSrcDoc=function(t,e){var r=t.prototype,i=(this.getOrigGetter(r,e),this.getOrigSetter(r,e)),o=this;this.defProp(r,e,function(t){return this.__wb_srcdoc=t,o.wb_info.isSW?(o.blobUrlForIframe(this,t),t):o.rewriteHTMLAssign(this,i,t)},function(){return this.__wb_srcdoc})},m.prototype.overrideDataSet=function(){var t=this.$wbwindow.HTMLElement.prototype,e=this.getOrigGetter(t,"dataset"),r=this;this.defProp(t,"dataset",null,function(){var t=e.call(this);return new Proxy(t,{get(t,e,i){var o=t[e];return"string"==typeof o&&r.startsWithOneOf(o,r.wb_prefixes)?r.extractOriginalURL(o):o}})})},m.prototype.overrideStyleProxy=function(t){var e=this.$wbwindow.HTMLElement.prototype,r=this.getOrigSetter(e,"style"),i=this.getOrigGetter(e,"style"),o=this;this.defProp(e,"style",r,function(){var e=i.call(this),r={};return new Proxy(e,{set:(e,r,i)=>(t.includes(r)&&(i=o.rewriteStyle(i)),e[r]=i,!0),get(t,i,n){var s=t[i];return"function"!=typeof s||"setProperty"!==i&&!o.isNativeFunction(s)?s:(r[i]||(r[i]=s.bind(e)),r[i])}})})},m.prototype.overrideIframeContentAccess=function(t){if(this.$wbwindow.HTMLIFrameElement&&this.$wbwindow.HTMLIFrameElement.prototype){var e=this.$wbwindow.HTMLIFrameElement.prototype,r=this.getOrigGetter(e,t);if(r){var i=this.getOrigSetter(e,t),o=this;this.defProp(e,t,i,function(){return o.initIframeWombat(this),o.objToProxy(r.call(this))}),e["_get_"+t]=r}}},m.prototype.overrideSWAccess=function(t){if(t.navigator.serviceWorker&&t.navigator.serviceWorker.controller){t._WB_wombat_sw=t.navigator.serviceWorker;var e={controller:null,ready:Promise.resolve({unregister:function(){}}),register:function(){return Promise.reject()},addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:function(){return Promise.resolve([])},getRegistration:function(){return Promise.resolve(void 0)},startMessages:function(){}};this.defGetterProp(t.navigator,"serviceWorker",function(){return e})}},m.prototype.overrideFuncThisProxyToObj=function(t,e,r){if(t){var i=r;if(!r&&t.prototype&&t.prototype[e]?i=t.prototype:!r&&t[e]&&(i=t),i){var o=this,n=i[e];i[e]=function(){return n.apply(o.proxyToObj(this),arguments)}}}},m.prototype.overrideFuncArgProxyToObj=function(t,e,r){if(t&&t.prototype){var i=r||0,o=t.prototype[e];if(o){var n=this;t.prototype[e]=function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=e===i?n.proxyToObj(arguments[e]):arguments[e];var r=n.proxyToObj(this);return o.__WB_orig_apply?o.__WB_orig_apply(r,t):o.apply(r,t)}}}},m.prototype.overrideFunctionApply=function(t){if(!t.Function.prototype.__WB_orig_apply){var e=t.Function.prototype.apply;Object.defineProperty(t.Function.prototype,"__WB_orig_apply",{value:e,enumarable:!1});var r=this;t.Function.prototype.apply=function(t,e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_apply(t,e)},this.wb_funToString.apply=e}},m.prototype.overrideFunctionCall=function(t){if(!t.Function.prototype.__WB_orig_call){var e=t.Function.prototype.call;Object.defineProperty(t.Function.prototype,"__WB_orig_call",{value:e,enumarable:!1});var r=this;t.Function.prototype.call=function(t,...e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_call(t,...e)},this.wb_funToString.call=e}},m.prototype.overrideFunctionBind=function(t){if(!t.Function.prototype.__WB_orig_bind){var e=t.Function.prototype.bind;Object.defineProperty(t.Function.prototype,"__WB_orig_bind",{value:e,enumarable:!1});var r=this;t.Function.prototype.bind=function(t){var e=r.isNativeFunction(this),i=e?this.__WB_orig_bind.apply(this,arguments):this.__WB_orig_bind.__WB_orig_apply(this,arguments);return i.__WB_is_native_func__=e,i}}},m.prototype.overrideSrcsetAttr=function(t,e){var r="srcset",i=this.getOrigGetter(t,r),o=this.getOrigSetter(t,r),n=this;this.defProp(t,r,function(t){var e=n.rewriteSrcset(t,this);return o?o.call(this,e):n.wb_setAttribute?n.wb_setAttribute.call(this,r,e):void 0},function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,r)),t=n.extractOriginalURL(t)})},m.prototype.overrideHrefAttr=function(t,e){var r=this.getOrigGetter(t,"href"),i=this.getOrigSetter(t,"href"),o=this;this.defProp(t,"href",function(t){var r;return r="cs_"===e&&0===t.indexOf("data:text/css")?o.rewriteInlineStyle(t):"LINK"===this.tagName?o.rewriteUrl(t,!1,o.rwModForElement(this,"href")):o.rewriteUrl(t,!1,e,this.ownerDocument),i?i.call(this,r):o.wb_setAttribute?o.wb_setAttribute.call(this,"href",r):void 0},function(){var t;return r?t=r.call(this):o.wb_getAttribute&&(t=o.wb_getAttribute.call(this,"href")),this._no_rewrite?t:o.extractOriginalURL(t)})},m.prototype.overrideTextProtoGetSet=function(t,e){var r,i=this.getOrigGetter(t,e),o=this;if("data"===e){var n=this.getOrigSetter(t,e);r=function(t){var e=t;return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName&&(e=o.rewriteStyle(t)),n.call(this,e)}}this.defProp(t,e,r,function(){var t=i.call(this);return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName?t.replace(o.wb_unrewrite_rx,""):t})},m.prototype.overrideAnUIEvent=function(t){var e="__wb_"+t+"_overridden",r=this.$wbwindow[t];if(r&&r.prototype&&!r.prototype[e]){var i=this;this.overridePropToProxy(r.prototype,"view");var o,n="init"+t;if(r.prototype[n]){var s=r.prototype[n];r.prototype[n]=function(){var t=i.proxyToObj(this);if(0===arguments.length||arguments.length<3)return s.__WB_orig_apply?s.__WB_orig_apply(t,arguments):s.apply(t,arguments);for(var e=new Array(arguments.length),r=0;r<arguments.length;r++)e[r]=3===r?i.proxyToObj(arguments[r]):arguments[r];return s.__WB_orig_apply?s.__WB_orig_apply(t,e):s.apply(t,e)}}this.$wbwindow[t]=(o=r,function(e,r){return i.domConstructorErrorChecker(this,t,arguments),r&&(null!=r.view&&(r.view=i.proxyToObj(r.view)),null!=r.relatedTarget&&(r.relatedTarget=i.proxyToObj(r.relatedTarget)),null!=r.target&&(r.target=i.proxyToObj(r.target))),new o(e,r)}),this.$wbwindow[t].prototype=r.prototype,Object.defineProperty(this.$wbwindow[t].prototype,"constructor",{value:this.$wbwindow[t]}),this.$wbwindow[t].prototype[e]=!0}},m.prototype.rewriteParentNodeFn=function(t,e,r){var i=this._no_rewrite?r:this.rewriteElementsInArguments(r),o=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},m.prototype.overrideParentNodeAppendPrepend=function(t){var e=this.rewriteParentNodeFn;if(t.prototype.append){var r=t.prototype.append;t.prototype.append=function(){return e(this,r,arguments)}}if(t.prototype.prepend){var i=t.prototype.prepend;t.prototype.prepend=function(){return e(this,i,arguments)}}},m.prototype.overrideShadowDom=function(){this.$wbwindow.ShadowRoot&&this.$wbwindow.ShadowRoot.prototype&&(this.overrideHtmlAssign(this.$wbwindow.ShadowRoot,"innerHTML",!0),this.overrideParentNodeAppendPrepend(this.$wbwindow.ShadowRoot))},m.prototype.overrideChildNodeInterface=function(t,e){if(t&&t.prototype){var r=e?this.rewriteTextNodeFn:this.rewriteChildNodeFn;if(t.prototype.before){var i=t.prototype.before;t.prototype.before=function(){return r(this,i,arguments)}}if(t.prototype.after){var o=t.prototype.after;t.prototype.after=function(){return r(this,o,arguments)}}if(t.prototype.replaceWith){var n=t.prototype.replaceWith;t.prototype.replaceWith=function(){return r(this,n,arguments)}}}},m.prototype.initTextNodeOverrides=function(){var t=this.$wbwindow.Text;if(t&&t.prototype){var e=t.prototype,r=this.rewriteTextNodeFn;if(e.appendData){var i=e.appendData;e.appendData=function(){return r(this,i,arguments)}}if(e.insertData){var o=e.insertData;e.insertData=function(){return r(this,o,arguments)}}if(e.replaceData){var n=e.replaceData;e.replaceData=function(){return r(this,n,arguments)}}this.overrideChildNodeInterface(t,!0),this.overrideTextProtoGetSet(e,"data"),this.overrideTextProtoGetSet(e,"wholeText")}},m.prototype.initAttrOverrides=function(){this.overrideHrefAttr(this.$wbwindow.HTMLLinkElement.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.CSSStyleSheet.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.HTMLBaseElement.prototype,"mp_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLImageElement.prototype,"im_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLSourceElement.prototype,"oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLImageElement.prototype,"src","im_"),this.overrideAttr(this.$wbwindow.HTMLInputElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLEmbedElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLMediaElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLSourceElement.prototype,"src","oe_"),window.HTMLTrackElement&&window.HTMLTrackElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLTrackElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLIFrameElement.prototype,"src","if_"),this.$wbwindow.HTMLFrameElement&&this.$wbwindow.HTMLFrameElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLFrameElement.prototype,"src","fr_"),this.overrideAttr(this.$wbwindow.HTMLScriptElement.prototype,"src","js_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"data","oe_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"codebase","oe_"),this.overrideAttr(this.$wbwindow.HTMLMetaElement.prototype,"content","mp_"),this.overrideAttr(this.$wbwindow.HTMLFormElement.prototype,"action","mp_"),this.overrideAttr(this.$wbwindow.HTMLQuoteElement.prototype,"cite","mp_"),this.overrideAttr(this.$wbwindow.HTMLModElement.prototype,"cite","mp_"),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAnchorElement),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAreaElement);var t=this.$wbwindow.CSSStyleDeclaration.prototype,e={background:"background",backgroundImage:"background-image",cursor:"cursor",listStyle:"list-style",listStyleImage:"list-style-image",border:"border",borderImage:"border-image",borderImageSource:"border-image-source",maskImage:"mask-image"};for(var[r,i]of(this.overrideStyleProxy(Object.values(e)),this.$wbwindow.CSS2Properties&&(t=this.$wbwindow.CSS2Properties.prototype),this.overrideStyleAttr(t,"cssText"),Object.entries(e)))this.overrideStyleAttr(t,r,i);if(this.overrideStyleSetProp(t),this.$wbwindow.CSSStyleSheet&&this.$wbwindow.CSSStyleSheet.prototype){var o=this,n=this.$wbwindow.CSSStyleSheet.prototype.insertRule;this.$wbwindow.CSSStyleSheet.prototype.insertRule=function(t,e){return n.call(this,o.rewriteStyle(t),e)}}this.$wbwindow.CSSRule&&this.$wbwindow.CSSRule.prototype&&this.overrideStyleAttr(this.$wbwindow.CSSRule.prototype,"cssText")},m.prototype.initCSSOMOverrides=function(){var t,r=this;if(this.$wbwindow.CSSStyleValue){var i=function(t,e){var i=t[e];t[e]=function(t,e){if(null==e)return i.call(this,t,e);var o=r.noExceptRewriteStyle(e);return i.call(this,t,o)}};this.$wbwindow.CSSStyleValue.parse&&this.$wbwindow.CSSStyleValue.parse.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parse"),this.$wbwindow.CSSStyleValue.parseAll&&this.$wbwindow.CSSStyleValue.parseAll.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parseAll")}if(this.$wbwindow.CSSKeywordValue&&this.$wbwindow.CSSKeywordValue.prototype){var o=this.$wbwindow.CSSKeywordValue;this.$wbwindow.CSSKeywordValue=(t=this.$wbwindow.CSSKeywordValue,function(e){return r.domConstructorErrorChecker(this,"CSSKeywordValue",arguments),new t(r.rewriteStyle(e))}),this.$wbwindow.CSSKeywordValue.prototype=o.prototype,Object.defineProperty(this.$wbwindow.CSSKeywordValue.prototype,"constructor",{value:this.$wbwindow.CSSKeywordValue}),e(this.$wbwindow.CSSKeywordValue,"CSSKeywordValue")}if(this.$wbwindow.StylePropertyMap&&this.$wbwindow.StylePropertyMap.prototype){var n=this.$wbwindow.StylePropertyMap.prototype.set;this.$wbwindow.StylePropertyMap.prototype.set=function(){if(arguments.length<=1)return n.__WB_orig_apply?n.__WB_orig_apply(this,arguments):n.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return n.__WB_orig_apply?n.__WB_orig_apply(this,t):n.apply(this,t)};var s=this.$wbwindow.StylePropertyMap.prototype.append;this.$wbwindow.StylePropertyMap.prototype.append=function(){if(arguments.length<=1)return n.__WB_orig_apply?s.__WB_orig_apply(this,arguments):s.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return s.__WB_orig_apply?s.__WB_orig_apply(this,t):s.apply(this,t)}}},m.prototype.initAudioOverride=function(){if(this.$wbwindow.Audio){var t,r=this.$wbwindow.Audio,i=this;this.$wbwindow.Audio=(t=this.$wbwindow.Audio,function(e){return i.domConstructorErrorChecker(this,"Audio"),new t(i.rewriteUrl(e,!0,"oe_"))}),this.$wbwindow.Audio.prototype=r.prototype,Object.defineProperty(this.$wbwindow.Audio.prototype,"constructor",{value:this.$wbwindow.Audio}),e(this.$wbwindow.Audio,"HTMLAudioElement")}},m.prototype.initBadPrefixes=function(t){this.BAD_PREFIXES=["http:"+t,"https:"+t,"http:/"+t,"https:/"+t]},m.prototype.initCryptoRandom=function(){if(this.$wbwindow.crypto&&this.$wbwindow.Crypto){var t=this,e=function(e){for(var r=0;r<e.length;r++)e[r]=parseInt(4294967296*t.$wbwindow.Math.random());return e};this.$wbwindow.Crypto.prototype.getRandomValues=e,this.$wbwindow.crypto.getRandomValues=e}},m.prototype.initDateOverride=function(t){if(!this.$wbwindow.__wb_Date_now){var e,r=1e3*parseInt(t),i=this.$wbwindow.Date.now()-(r-0),o=this.$wbwindow.Date,n=this.$wbwindow.Date.UTC,s=this.$wbwindow.Date.parse,a=this.$wbwindow.Date.now;this.$wbwindow.__wb_Date_now=a,this.$wbwindow.Date=(e=this.$wbwindow.Date,function(t,r,o,n,s,h,w){return void 0===t?new e(a()-i):void 0===r?new e(t):void 0===o?new e(t,r):void 0===n?new e(t,r,o):void 0===s?new e(t,r,o,n):void 0===h?new e(t,r,o,n,s):void 0===w?new e(t,r,o,n,s,h):new e(t,r,o,n,s,h,w)}),this.$wbwindow.Date.prototype=o.prototype,this.$wbwindow.Date.now=function(){return a()-i},this.$wbwindow.Date.UTC=n,this.$wbwindow.Date.parse=s,this.$wbwindow.Date.__WB_timediff=i,this.$wbwindow.Date.prototype.getTimezoneOffset=function(){return 0};var h=this.$wbwindow.Date.prototype.toString;this.$wbwindow.Date.prototype.toString=function(){return h.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"};var w=this.$wbwindow.Date.prototype.toTimeString;this.$wbwindow.Date.prototype.toTimeString=function(){return w.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"},Object.defineProperty(this.$wbwindow.Date.prototype,"constructor",{value:this.$wbwindow.Date})}},m.prototype.initBlobOverride=function(){if(this.$wbwindow.Blob&&!this.wb_info.isSW){var t,e=this.$wbwindow.Blob,r=this;this.$wbwindow.Blob=(t=this.$wbwindow.Blob,function(e,i){return!i||"application/xhtml+xml"!==i.type&&"text/html"!==i.type||1===e.length&&"string"==typeof e[0]&&r.startsWith(e[0],"<!DOCTYPE html>")&&(e[0]=r.rewriteHtml(e[0]),i.type="text/html"),new t(e,i)}),this.$wbwindow.Blob.prototype=e.prototype}},m.prototype.initIntersectionObsOverride=function(){var t,e=this.$wbwindow.IntersectionObserver,r=this;this.$wbwindow.IntersectionObserver=(t=this.$wbwindow.IntersectionObserver,function(e,i){return i&&i.root&&(i.root=r.proxyToObj(i.root)),new t(e,i)}),this.$wbwindow.IntersectionObserver.prototype=e.prototype,Object.defineProperty(this.$wbwindow.IntersectionObserver.prototype,"constructor",{value:this.$wbwindow.IntersectionObserver})},m.prototype.initWSOverride=function(){this.$wbwindow.WebSocket&&this.$wbwindow.WebSocket.prototype&&(this.$wbwindow.WebSocket=function(){function t(t,e){this.openCallbacks=[];var r=this;this.addEventListener=function(t,e){"open"===t&&r.openCallbacks.push(e)},this.removeEventListener=function(){},this.close=function(){},this.send=function(t){console.log("ws send",t)},this.protocol=e&&e.length?e[0]:"",this.url=t,this.readyState=1,setTimeout(function(){var t=new CustomEvent("open");r.onopen&&r.onopen(t),r.openCallbacks.forEach(e=>e(t))},500)}return t.CONNECTING=0,t.OPEN=1,t.CLOSING=2,t.CLOSED=3,t}(this.$wbwindow.WebSocket),Object.defineProperty(this.$wbwindow.WebSocket.prototype,"constructor",{value:this.$wbwindow.WebSocket}),e(this.$wbwindow.WebSocket,"WebSocket"))},m.prototype.initDocTitleOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"title"),e=this.getOrigSetter(this.$wbwindow.document,"title"),r=this;this.defProp(this.$wbwindow.document,"title",function(t){var i=e.call(this,t),o={wb_type:"title",title:t};return r.sendTopMessage(o),i},t)},m.prototype.initFontFaceOverride=function(){if(this.$wbwindow.FontFace){var t,r=this,i=this.$wbwindow.FontFace;this.$wbwindow.FontFace=(t=this.$wbwindow.FontFace,function(e,i,o){r.domConstructorErrorChecker(this,"FontFace",arguments,2);var n=i;return null!=i&&(n="string"!=typeof i?r.rewriteInlineStyle(i.toString()):r.rewriteInlineStyle(i)),new t(e,n,o)}),this.$wbwindow.FontFace.prototype=i.prototype,Object.defineProperty(this.$wbwindow.FontFace.prototype,"constructor",{value:this.$wbwindow.FontFace}),e(this.$wbwindow.FontFace,"FontFace")}},m.prototype.initFixedRatio=function(t){try{this.$wbwindow.devicePixelRatio=t}catch(t){}if(Object.defineProperty)try{Object.defineProperty(this.$wbwindow,"devicePixelRatio",{value:t,writable:!1})}catch(t){}},m.prototype.initPaths=function(t){t.wombat_opts=t.wombat_opts||{},Object.assign(this.wb_info,t),this.wb_opts=t.wombat_opts,this.wb_replay_prefix=t.prefix,this.wb_is_proxy=t.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=this.$wbwindow.location.protocol+"//"+this.$wbwindow.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=t.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+t.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,!t.is_live&&t.wombat_ts?this.wb_capture_date_part="/"+t.wombat_ts+"/":this.wb_capture_date_part="",this.initBadPrefixes(this.wb_replay_prefix),this.initCookiePreset()},m.prototype.initSeededRandom=function(t){this.$wbwindow.Math.seed=parseInt(t);var e=this;this.$wbwindow.Math.random=function(){return e.$wbwindow.Math.seed=(9301*e.$wbwindow.Math.seed+49297)%233280,e.$wbwindow.Math.seed/233280}},m.prototype.initHistoryOverrides=function(){this.overrideHistoryFunc("pushState"),this.overrideHistoryFunc("replaceState");var t=this;this.$wbwindow.addEventListener("popstate",function(e){t.sendHistoryUpdate(t.$wbwindow.WB_wombat_location.href,t.$wbwindow.document.title)})},m.prototype.initCookiePreset=function(){if(this.wb_info.presetCookie)for(var t=this.wb_info.presetCookie.split(";"),e=0;e<t.length;e++)this.$wbwindow.document.cookie=t[e].trim()+"; Path="+this.rewriteUrl("./",!0)},m.prototype.initHTTPOverrides=function(){var t=this;this.overridePropExtract(this.$wbwindow.XMLHttpRequest.prototype,"responseURL");var r,i,o=!!this.wb_info.convert_post_to_get;if(this.wb_info.isSW||o){var n=this.$wbwindow.XMLHttpRequest.prototype.open,s=this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader,a=this.$wbwindow.XMLHttpRequest.prototype.send;this.utilFns.XHRopen=n,this.utilFns.XHRsend=a,this.$wbwindow.XMLHttpRequest.prototype.open=function(){this.__WB_xhr_open_arguments=arguments,this.__WB_xhr_headers=new Headers},this.$wbwindow.XMLHttpRequest.prototype.setAttributionReporting=function(){},this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader=function(t,e){this.__WB_xhr_headers.set(t,e)};t=this;var h=this.wb_info.isSW&&-1===navigator.userAgent.indexOf("Firefox");h&&(this.syncXHRCachePending=new Set),this.$wbwindow.XMLHttpRequest.prototype.send=async function(e){if(o&&("POST"===this.__WB_xhr_open_arguments[0]||"PUT"===this.__WB_xhr_open_arguments[0])){var r={url:this.__WB_xhr_open_arguments[1],method:this.__WB_xhr_open_arguments[0],headers:this.__WB_xhr_headers,postData:e};u(r)&&(this.__WB_xhr_open_arguments[1]=r.url,this.__WB_xhr_open_arguments[0]="GET",e=null)}const i=this.__WB_xhr_open_arguments[1];if(this._no_rewrite||(this.__WB_xhr_open_arguments[1]=t.rewriteUrl(this.__WB_xhr_open_arguments[1])),h&&this.__WB_xhr_open_arguments.length>2&&!this.__WB_xhr_open_arguments[2]){console.warn("wombat.js: Sync XHR not supported in SW-based replay in this browser, attempt to fetch async and store as data: URI for reuse");const w=new c(t,i,this.__WB_xhr_open_arguments,this.__WB_xhr_headers);if(!w.addCacheOverride(this)){function p(e,r){var i=t.getOrigGetter(e,r);t.defProp(e,r,t=>orig_setter.call(this,t),()=>(w.reloadIfNeeded(),i.call(this)))}p(this,"response"),p(this,"responseText"),p(this,"responseXML")}}if(n.apply(this,this.__WB_xhr_open_arguments),!t.startsWith(this.__WB_xhr_open_arguments[1],"data:")){for(const[l,_]of this.__WB_xhr_headers.entries())s.call(this,l,_);s.call(this,"X-Pywb-Requested-With","XMLHttpRequest")}return a.call(this,e)}}else if(this.$wbwindow.XMLHttpRequest.prototype.open){var w=this.$wbwindow.XMLHttpRequest.prototype.open;this.utilFns.XHRopen=w,this.utilFns.XHRsend=this.$wbwindow.XMLHttpRequest.prototype.send,this.$wbwindow.XMLHttpRequest.prototype.open=function(e,r,i,o,n){var s=this._no_rewrite?r:t.rewriteUrl(r),a=!0;null==i||i||(a=!1),w.call(this,e,s,a,o,n),t.startsWith(s,"data:")||this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(this.$wbwindow.fetch){var p=this.$wbwindow.fetch;this.$wbwindow.fetch=function(e,r){var i;if(e instanceof Request){var o=t.rewriteUrl(e.url);e.__WB_no_unrewrite=!0,i=o===e.url?e:new Request(o,e),delete e.__WB_no_unrewrite}else e=t.rewriteUrl(e.toString()),i=new Request(e,r);return p.call(t.proxyToObj(this),i)}}if(this.$wbwindow.Request&&this.$wbwindow.Request.prototype){var l=this.$wbwindow.Request;this.$wbwindow.Request=(r=this.$wbwindow.Request,function e(i,o){t.domConstructorErrorChecker(this,"Request",arguments);var n=o||{},s=i;switch(typeof i){case"string":s=t.rewriteUrl(i);break;case"object":if(s=i,i.url){var a=t.rewriteUrl(i.url);a!==i.url&&(s=new r(a,i))}else i.href&&(s=t.rewriteUrl(i.toString(),!0))}let h=!1;if(n&&n.referrer){var w=t.rewriteUrl(n.referrer);w!==n.referrer&&(n instanceof e?(n.__WB_no_unrewrite=!0,h=!0):n.referrer=w)}var c=new r(s,n);return h&&delete n.__WB_no_unrewrite,c}),this.$wbwindow.Request.prototype=l.prototype,Object.defineProperty(this.$wbwindow.Request.prototype,"constructor",{value:this.$wbwindow.Request}),this.overridePropExtract(this.$wbwindow.Request.prototype,"url"),this.overridePropExtract(this.$wbwindow.Request.prototype,"referrer")}if(this.$wbwindow.Response&&this.$wbwindow.Response.prototype){var _=this.$wbwindow.Response.prototype.redirect;this.$wbwindow.Response.prototype.redirect=function(e,r){var i=t.rewriteUrl(e,!0,null,t.$wbwindow.document);return _.call(this,i,r)},this.overridePropExtract(this.$wbwindow.Response.prototype,"url")}if(this.$wbwindow.EventSource&&this.$wbwindow.EventSource.prototype){var d=this.$wbwindow.EventSource;this.$wbwindow.EventSource=(i=this.$wbwindow.EventSource,function(e,r){t.domConstructorErrorChecker(this,"EventSource",arguments);var o=e;return null!=e&&(o=t.rewriteUrl(e)),new i(o,r)}),this.$wbwindow.EventSource.prototype=d.prototype,Object.defineProperty(this.$wbwindow.EventSource.prototype,"constructor",{value:this.$wbwindow.EventSource}),e(this.$wbwindow.EventSource,"EventSource")}},m.prototype.initElementGetSetAttributeOverride=function(){if(!this.wb_opts.skip_setAttribute&&this.$wbwindow.Element&&this.$wbwindow.Element.prototype){var t=this,e=this.$wbwindow.Element.prototype;if(e.setAttribute){var r=e.setAttribute;e._orig_setAttribute=r,e.setAttribute=function(e,i){var o=i;if(e&&"string"==typeof o){var n=e.toLowerCase();if("LINK"===this.tagName&&"href"===n&&0===o.indexOf("data:text/css"))o=t.rewriteInlineStyle(i);else if("style"===n)o=t.rewriteStyle(i);else if("srcset"===n||"imagesrcset"===n&&"LINK"===this.tagName)o=t.rewriteSrcset(i,this);else{t.shouldRewriteAttr(this.tagName,n)&&(t.removeWBOSRC(this),this._no_rewrite||(o=t.rewriteUrl(i,!1,t.rwModForElement(this,n))))}}return r.call(this,e,o)}}if(e.getAttribute){var i=e.getAttribute;this.wb_getAttribute=i,e.getAttribute=function(e){var r=i.call(this,e);if(null===r)return r;var o=e;if(e&&(o=e.toLowerCase()),t.shouldRewriteAttr(this.tagName,o)){var n=t.retrieveWBOSRC(this);return n||t.extractOriginalURL(r)}return t.startsWith(o,"data-")&&t.startsWithOneOf(r,t.wb_prefixes)?t.extractOriginalURL(r):r}}}},m.prototype.initSvgImageOverrides=function(){if(this.$wbwindow.SVGImageElement){var t=this.$wbwindow.SVGImageElement.prototype,e=t.getAttribute,r=t.getAttributeNS,i=t.setAttribute,o=t.setAttributeNS,n=this;t.getAttribute=function(t){var r=e.call(this,t);return t.indexOf("xlink:href")>=0||"href"===t?n.extractOriginalURL(r):r},t.getAttributeNS=function(t,e){var i=r.call(this,t,e);return e.indexOf("xlink:href")>=0||"href"===e?n.extractOriginalURL(i):i},t.setAttribute=function(t,e){var r=e;return(t.indexOf("xlink:href")>=0||"href"===t)&&(r=n.rewriteUrl(e)),i.call(this,t,r)},t.setAttributeNS=function(t,e,r){var i=r;return(e.indexOf("xlink:href")>=0||"href"===e)&&(i=n.rewriteUrl(r)),o.call(this,t,e,i)}}},m.prototype.initCreateElementNSFix=function(){if(this.$wbwindow.document.createElementNS&&this.$wbwindow.Document.prototype.createElementNS){var t=this.$wbwindow.document.createElementNS,e=this,r=function(r,i){return t.call(e.proxyToObj(this),e.extractOriginalURL(r),i)};this.$wbwindow.Document.prototype.createElementNS=r,this.$wbwindow.document.createElementNS=r}},m.prototype.initQuerySelectorOverride=function(){if(this.$wbwindow.document.querySelector&&this.$wbwindow.Document.prototype.querySelector){var t=this,e=this.$wbwindow.document.querySelector,r=function(r){return e.call(t.proxyToObj(this),n(r))},i=this.$wbwindow.document.querySelectorAll,o=function(e){return i.call(t.proxyToObj(this),n(e))};this.$wbwindow.Document.prototype.querySelector=r,this.$wbwindow.document.querySelector=r,this.$wbwindow.Document.prototype.querySelectorAll=o,this.$wbwindow.document.querySelectorAll=o}function n(t){if("string"==typeof t)try{t=t.replace(/((?:^|\\s)\\b\\w+\\[(?:src|href|data-href))[\\^]?(=[\'"]?(?:https?[:])?\\/\\/)/,"$1*$2")}catch(t){}return t}},m.prototype.initInsertAdjacentElementHTMLOverrides=function(){var t=this.$wbwindow.Element;if(t&&t.prototype){var e=t.prototype,r=this.rewriteInsertAdjHTMLOrElemArgs;if(e.insertAdjacentHTML){var i=e.insertAdjacentHTML;e.insertAdjacentHTML=function(t,e){return r(this,i,t,e,!0)}}if(e.insertAdjacentElement){var o=e.insertAdjacentElement;e.insertAdjacentElement=function(t,e){return r(this,o,t,e,!1)}}}},m.prototype.initDomOverride=function(){var t=this.$wbwindow.Node;if(t&&t.prototype){var e=this.rewriteNodeFuncArgs;if(t.prototype.appendChild){var r=t.prototype.appendChild;t.prototype.appendChild=function(t,i){return e(this,r,t,i)}}if(t.prototype.insertBefore){var i=t.prototype.insertBefore;t.prototype.insertBefore=function(t,r){return e(this,i,t,r)}}if(t.prototype.replaceChild){var o=t.prototype.replaceChild;t.prototype.replaceChild=function(t,r){return e(this,o,t,r)}}this.overridePropToProxy(t.prototype,"ownerDocument"),this.overridePropToProxy(this.$wbwindow.HTMLHtmlElement.prototype,"parentNode"),this.overridePropToProxy(this.$wbwindow.Event.prototype,"target");var n=t.prototype.getRootNode,s=this;t.prototype.getRootNode=function(){return s.objToProxy(n.call(this))}}this.$wbwindow.Element&&this.$wbwindow.Element.prototype&&(this.overrideParentNodeAppendPrepend(this.$wbwindow.Element),this.overrideChildNodeInterface(this.$wbwindow.Element,!1)),this.$wbwindow.DocumentFragment&&this.$wbwindow.DocumentFragment.prototype&&this.overrideParentNodeAppendPrepend(this.$wbwindow.DocumentFragment)},m.prototype.initDocOverrides=function(t){if(Object.defineProperty){this.overrideReferrer(t),this.defGetterProp(t,"origin",function(){return this.WB_wombat_location.origin}),this.defGetterProp(this.$wbwindow,"origin",function(){return this.WB_wombat_location.origin});var e=this;this.defProp(t,"domain",function(t){var r=this.WB_wombat_location;r&&e.endsWith(r.hostname,t)&&(this.__wb_domain=t)},function(){return this.__wb_domain||this.WB_wombat_location.hostname})}},m.prototype.initDocWriteOpenCloseOverride=function(){if(this.$wbwindow.DOMParser){var t=this.$wbwindow.Document.prototype,e=this.$wbwindow.document;this._writeBuff="";var r=this,i=e.write,o=function(){return d(this,i,u(arguments))};e.write=o,t.write=o;var n=e.writeln,s=function(){return d(this,n,u(arguments))};e.writeln=s,t.writeln=s;var a=e.open,h=function(){var t,e=r.proxyToObj(this);if(3===arguments.length){var i=r.rewriteUrl(arguments[0],!1,"mp_");t=a.call(e,i,arguments[1],arguments[2]),r.initNewWindowWombat(t,arguments[0])}else t=a.call(e),_()?r._writeBuff="":r.initNewWindowWombat(e.defaultView);return t};e.open=h,t.open=h;var w=e.close,c=function(){if(!r._writeBuff){var t=r.proxyToObj(this);return r.initNewWindowWombat(t.defaultView),w.__WB_orig_apply?w.__WB_orig_apply(t,arguments):w.apply(t,arguments)}if("loading"===this.readyState&&i.call(e,r.rewriteHtml(r._writeBuff,!0)),_()){r.blobUrlForIframe(r.$wbwindow.frameElement,r._writeBuff);const t=this;try{if(t.documentElement){new r.$wbwindow.MutationObserver((e,i)=>{r.blobUrlForIframe(r.$wbwindow.frameElement,t.documentElement.outerHTML)}).observe(t.documentElement,{childList:!0,subtree:!0})}}catch(t){}}r._writeBuff=""};e.close=c,t.close=c;var p=this.getOrigGetter(t,"body"),l=this.getOrigSetter(t,"body");p&&l&&this.defProp(t,"body",function(t){return t&&(t instanceof HTMLBodyElement||t instanceof HTMLFrameSetElement)&&r.rewriteElemComplete(t),l.call(r.proxyToObj(this),t)},p)}function _(){return r.wb_info.isSW&&r.$wbwindow.frameElement}function u(t){return 0===t.length?"":1===t.length?t[0]:Array.prototype.join.call(t,"")}function d(t,e,i){r.$wbwindow;var o=r.proxyToObj(t);if("loading"===t.readyState&&i&&i.indexOf("\\x3c!--")>i.indexOf("--\\x3e"))return e.call(o,i);if(!(_()||"loading"===t.readyState&&r.wb_info.injectDocClose)){i=r.rewriteHtml(i,!0);o=r.proxyToObj(t);var n=e.call(o,i);return r.initNewWindowWombat(o.defaultView),n}r._writeBuff+=i}},m.prototype.initIframeWombat=function(t){var e;e=t._get_contentWindow?t._get_contentWindow.call(t):t.contentWindow;try{if(!e||e===this.$wbwindow||e._skip_wombat||e._wb_wombat)return}catch(t){return}var r=t.src;this.initNewWindowWombat(e,r)},m.prototype.initNewWindowWombat=function(t,e){var r=!1;if(t&&!t._wb_wombat){if(e&&""!==e&&!this.startsWithOneOf(e,["about:blank","javascript:"])||(r=!0),!r&&this.wb_info.isSW){var i=this.extractOriginalURL(e);("about:blank"===i||i.startsWith("srcdoc:")||i.startsWith("blob:"))&&(r=!0)}if(r){var o={};Object.assign(o,this.wb_info);var n=new m(t,o);t._wb_wombat=n.wombatInit()}else this.initProtoPmOrigin(t),this.initPostMessageOverride(t),this.initMessageEventOverride(t),this.initCheckThisFunc(t),this.initImportWrapperFunc(t)}},m.prototype.initTimeoutIntervalOverrides=function(){var t=this.rewriteSetTimeoutInterval;if(this.$wbwindow.setTimeout&&!this.$wbwindow.setTimeout.__$wbpatched$__){var e=this.$wbwindow.setTimeout;this.$wbwindow.setTimeout=function(){return t(this,e,arguments)},this.$wbwindow.setTimeout.__$wbpatched$__=!0}if(this.$wbwindow.setInterval&&!this.$wbwindow.setInterval.__$wbpatched$__){var r=this.$wbwindow.setInterval;this.$wbwindow.setInterval=function(){return t(this,r,arguments)},this.$wbwindow.setInterval.__$wbpatched$__=!0}},m.prototype.initWorkerOverrides=function(){var t,e,r=this;if(this.$wbwindow.Worker&&!this.$wbwindow.Worker._wb_worker_overridden){var i=this.$wbwindow.Worker;this.$wbwindow.Worker=(t=i,function(e,i){return r.domConstructorErrorChecker(this,"Worker",arguments),new t(r.rewriteWorker(e,i),i)}),this.$wbwindow.Worker.prototype=i.prototype,Object.defineProperty(this.$wbwindow.Worker.prototype,"constructor",{value:this.$wbwindow.Worker}),this.$wbwindow.Worker._wb_worker_overridden=!0}if(this.$wbwindow.SharedWorker&&!this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden){var o=this.$wbwindow.SharedWorker;this.$wbwindow.SharedWorker=(e=o,function(t,i){return r.domConstructorErrorChecker(this,"SharedWorker",arguments),new e(r.rewriteWorker(t,i),i)}),this.$wbwindow.SharedWorker.prototype=o.prototype,Object.defineProperty(this.$wbwindow.SharedWorker.prototype,"constructor",{value:this.$wbwindow.SharedWorker}),this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden=!0}if(this.$wbwindow.ServiceWorkerContainer&&this.$wbwindow.ServiceWorkerContainer.prototype&&this.$wbwindow.ServiceWorkerContainer.prototype.register){var n=this.$wbwindow.ServiceWorkerContainer.prototype.register;this.$wbwindow.ServiceWorkerContainer.prototype.register=function(t,e){var i=new r.URL(t,r.$wbwindow.document.baseURI).href,o=r.getPageUnderModifier();return e&&e.scope?e.scope=r.rewriteUrl(e.scope,!1,o):e={scope:r.rewriteUrl("/",!1,o)},n.call(this,r.rewriteUrl(i,!1,"sw_"),e)}}if(this.$wbwindow.Worklet&&this.$wbwindow.Worklet.prototype&&this.$wbwindow.Worklet.prototype.addModule&&!this.$wbwindow.Worklet.__wb_workerlet_overridden){var s=this.$wbwindow.Worklet.prototype.addModule;this.$wbwindow.Worklet.prototype.addModule=function(t,e){var i=r.rewriteUrl(t,!1,"js_");return s.call(this,i,e)},this.$wbwindow.Worklet.__wb_workerlet_overridden=!0}},m.prototype.initLocOverride=function(t,e,r){var i;if(Object.defineProperty)for(var o=0;o<this.URL_PROPS.length;o++)i=this.URL_PROPS[o],this.defProp(t,i,this.makeSetLocProp(i,e,r),this.makeGetLocProp(i,r),!0);i="maybeHref",this.defProp(t,i,this.makeSetLocProp(i,e,r),this.makeGetLocProp(i,r),!1)},m.prototype.initWombatLoc=function(t){if(!(!t||t.WB_wombat_location&&t.document.WB_wombat_location)){var e=new h(t.location,this),r=this;if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_location",function(e){var i=this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location;i&&(i.href=e),t.location=r.rewriteUrl(e)},function(){return this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location||this.location}),this.initProtoPmOrigin(t),t._WB_wombat_location=e}else t.WB_wombat_location=e,setTimeout(this.checkAllLocations,500),setInterval(this.checkAllLocations,500)}},m.prototype.initProtoPmOrigin=function(t){if(!t.Object.prototype.__WB_pmw){var e=function(t){return this.__WB_source=t,this};try{t.Object.defineProperty(t.Object.prototype,"__WB_pmw",{get:function(){return e},set:function(){},configurable:!0,enumerable:!1})}catch(t){}t.__WB_check_loc=function(t,e){if(t instanceof Location||t instanceof h){if(e)for(var r=0;r<e.length;r++)if(t===e[r])return{};return this.WB_wombat_location}return{}}}},m.prototype.initCheckThisFunc=function(t){try{t.Object.prototype[this.WB_CHECK_THIS_FUNC]||t.Object.defineProperty(t.Object.prototype,this.WB_CHECK_THIS_FUNC,{configutable:!1,enumerable:!1,value:function(t){try{return t&&t._WB_wombat_obj_proxy?t._WB_wombat_obj_proxy:t}catch(e){return t}}})}catch(t){}},m.prototype.initImportWrapperFunc=function(t){var e=this;t.____wb_rewrite_import__=function(t,r){return t&&(t=e.extractOriginalURL(t)),r&&t?(t=>{for(const e of document.querySelectorAll(\'script[type="importmap"]\'))try{const r=JSON.parse(e.textContent);if(r.imports&&r.imports[t])return!0;if(r.scopes)for(const e of Object.keys(r.scopes))if(t.startsWith(e))return!0}catch(t){}return!1})(r)||(r=new e.URL(r,t).href):t&&void 0===r&&(r=t),import(e.rewriteUrl(r,!1,"esm_"))}},m.prototype.overrideGetOwnPropertyNames=function(t){var e=t.Object.getOwnPropertyNames,r=[this.WB_CHECK_THIS_FUNC,"WB_wombat_location","__WB_pmw","WB_wombat_top","WB_wombat_eval","WB_wombat_runEval"];try{t.Object.defineProperty(t.Object,"getOwnPropertyNames",{value:function(t){for(var i=e(t),o=0;o<r.length;o++){var n=i.indexOf(r[o]);n>=0&&i.splice(n,1)}return i}})}catch(t){console.log(t)}},m.prototype.initHashChange=function(){if(this.$wbwindow.__WB_top_frame){var t=this;this.$wbwindow.addEventListener("message",function(e){if(e.data&&e.data.from_top){var r=e.data.message;r.wb_type&&"outer_hashchange"===r.wb_type&&t.$wbwindow.location.hash!=r.hash&&(t.$wbwindow.location.hash=r.hash)}}),this.$wbwindow.addEventListener("hashchange",function(){var e={wb_type:"hashchange",hash:t.$wbwindow.location.hash};t.sendTopMessage(e)})}},m.prototype.initPostMessageOverride=function(t){if(t.postMessage&&!t.__orig_postMessage){var e=t.postMessage,r=this;t.__orig_postMessage=e;var i=function(i,o,n,s){var a,h,w,c=r.proxyToObj(this);if(c||((c=t).__WB_source=t),c.__WB_source&&c.__WB_source.WB_wombat_location){var p=c.__WB_source;if(a=p.WB_wombat_location.origin,c.__WB_win_id||(c.__WB_win_id={},c.__WB_counter=0),!p.__WB_id){var l=c.__WB_counter;p.__WB_id=l+p.WB_wombat_location.href,c.__WB_counter+=1}c.__WB_win_id[p.__WB_id]=p,h=p.__WB_id,c.__WB_source=void 0}else a=window.WB_wombat_location.origin;"object"==typeof o?(w=o.targetOrigin,n=o.transfer):w=o;var _=w;_===c.location.origin&&(_=a);var u={from:a,to_origin:_,src_id:h,message:i,from_top:s};if("*"!==w){if("null"===c.location.origin||""===c.location.origin)return;w=c.location.origin}return e.call(c,u,w,n)};t.postMessage=i,t.Window.prototype.postMessage=i;var o=null,n=(o=t.EventTarget&&t.EventTarget.prototype?t.EventTarget.prototype:t).addEventListener;o.addEventListener=function(t,e,i){var o,s=r.proxyToObj(this);if("message"===t?o=r.message_listeners.add_or_get(e,function(){return l(e,s,r)}):"storage"===t?r.storage_listeners.add_or_get(e,function(){return p(e,s)}):"online"===t||"offline"===t||(o=e),o)return n.call(s,t,o,i)};var s=o.removeEventListener;o.removeEventListener=function(t,e,i){var o,n=r.proxyToObj(this);if("message"===t?o=r.message_listeners.remove(e):"storage"===t?r.storage_listeners.remove(e):o=e,o)return s.call(n,t,o,i)};var a=function(e,i){var o=r.getOrigSetter(t,e);r.defProp(t,e,function(t){this["__orig_"+e]=t;var n=r.proxyToObj(this),s=t?i(t,n,r):t;return o.call(n,s)},function(){return this["__orig_"+e]})};a("onmessage",l),a("onstorage",p)}},m.prototype.initMessageEventOverride=function(t){t.MessageEvent&&!t.MessageEvent.prototype.__extended&&(this.addEventOverride("target"),this.addEventOverride("srcElement"),this.addEventOverride("currentTarget"),this.addEventOverride("eventPhase"),this.addEventOverride("path"),this.overridePropToProxy(t.MessageEvent.prototype,"source"),t.MessageEvent.prototype.__extended=!0)},m.prototype.initUIEventsOverrides=function(){this.overrideAnUIEvent("UIEvent"),this.overrideAnUIEvent("MouseEvent"),this.overrideAnUIEvent("TouchEvent"),this.overrideAnUIEvent("FocusEvent"),this.overrideAnUIEvent("KeyboardEvent"),this.overrideAnUIEvent("WheelEvent"),this.overrideAnUIEvent("InputEvent"),this.overrideAnUIEvent("CompositionEvent")},m.prototype.initOpenOverride=function(){var t=this.$wbwindow.open;this.$wbwindow.Window.prototype.open&&(t=this.$wbwindow.Window.prototype.open);var e=this,r=function(r,i,o){i=e.rewriteAttrTarget(i);var n=e.rewriteUrl(r,!1),s=t.call(e.proxyToObj(this),n,i,o);return e.initNewWindowWombat(s,r),e.objToProxy(s)};this.$wbwindow.open=r,this.$wbwindow.Window.prototype.open&&(this.$wbwindow.Window.prototype.open=r);for(var i=0;i<this.$wbwindow.frames.length;i++)try{this.$wbwindow.frames[i].open=r}catch(t){console.log(t)}},m.prototype.rewriteAttrTarget=function(t){return this.wb_info.target_frame?t&&"_blank"!==t&&"_parent"!==t&&"_top"!==t?t&&this.$wbwindow===this.$wbwindow.__WB_replay_top?this.wb_info.target_frame:t:this.wb_info.target_frame:t},m.prototype.initCookiesOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"cookie"),e=this.getOrigSetter(this.$wbwindow.document,"cookie");t||(t=this.getOrigGetter(this.$wbwindow.Document.prototype,"cookie")),e||(e=this.getOrigSetter(this.$wbwindow.Document.prototype,"cookie"));var r=function(t,e){var r=new Date(e);return isNaN(r.getTime())?"Expires=Thu,| 01 Jan 1970 00:00:00 GMT":"Expires="+new Date(r.getTime()+Date.__WB_timediff).toUTCString().replace(",",",|")},i=this;this.defProp(this.$wbwindow.document,"cookie",function(t){if(t){for(var o=t.replace(i.cookie_expires_regex,r).split(i.SetCookieRe),n=0;n<o.length;n++)o[n]=i.rewriteCookie(o[n]);return e.call(i.proxyToObj(this),o.join(","))}},function(){return t.call(i.proxyToObj(this))})},m.prototype.initRegisterUnRegPHOverride=function(){var t=this,e=this.$wbwindow.navigator;if(e.registerProtocolHandler){var r=e.registerProtocolHandler;e.registerProtocolHandler=function(e,i,o){return r.call(this,e,t.rewriteUrl(i),o)}}if(e.unregisterProtocolHandler){var i=e.unregisterProtocolHandler;e.unregisterProtocolHandler=function(e,r){return i.call(this,e,t.rewriteUrl(r))}}},m.prototype.initMiscNavigatorOverrides=function(){this.$wbwindow.navigator.sendBeacon&&(this.$wbwindow.navigator.sendBeacon=function(){return!0}),Object.defineProperty(navigator,"onLine",{value:!0}),this.$wbwindow.navigator.mediaDevices&&(this.$wbwindow.navigator.mediaDevices.setCaptureHandleConfig=function(){}),this.$wbwindow.navigator.getInstalledRelatedApps&&(this.$wbwindow.navigator.getInstalledRelatedApps=function(){return Promise.resolve([])})},m.prototype.initPresentationRequestOverride=function(){if(this.$wbwindow.PresentationRequest&&this.$wbwindow.PresentationRequest.prototype){var t=this,e=this.$wbwindow.PresentationRequest;this.$wbwindow.PresentationRequest=(r=this.$wbwindow.PresentationRequest,function(e){t.domConstructorErrorChecker(this,"PresentationRequest",arguments);var i=e;if(null!=e)if(Array.isArray(i))for(var o=0;o<i.length;o++)i[o]=t.rewriteUrl(i[o],!0,"mp_");else i=t.rewriteUrl(e,!0,"mp_");return new r(i)}),this.$wbwindow.PresentationRequest.prototype=e.prototype,Object.defineProperty(this.$wbwindow.PresentationRequest.prototype,"constructor",{value:this.$wbwindow.PresentationRequest})}var r},m.prototype.initDisableNotificationsGeoLocation=function(){window.Notification&&(window.Notification.requestPermission=function(t){return t&&t("denied"),Promise.resolve("denied")});var t=function(t){t&&(t.getCurrentPosition&&(t.getCurrentPosition=function(t,e,r){e&&e({code:2,message:"not available"})}),t.watchPosition&&(t.watchPosition=function(t,e,r){e&&e({code:2,message:"not available"})}))};window.geolocation&&t(window.geolocation),window.navigator.geolocation&&t(window.navigator.geolocation)},m.prototype.initStorageOverride=function(){this.addEventOverride("storageArea",this.$wbwindow.StorageEvent.prototype),i.yes=!1;var t={};if(this.wb_info.storage)try{t=JSON.parse(this.wb_info.storage)}catch(t){console.warn("Error parsing storage, storages not loaded")}this.__sessionStorage=this.$wbwindow.sessionStorage,this.__localStorage=this.$wbwindow.localStorage,a(this,"localStorage",t.local),a(this,"sessionStorage",t.session),this.$wbwindow.Storage=s,i.yes=!0},m.prototype.initIndexedDBOverride=function(){if(this.$wbwindow.IDBFactory){var t=this.$wbwindow.IDBFactory.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t,i){return r.call(this,e+t,i)};var i=t.deleteDatabase;t.delete=function(t){return i.call(this,e+t,options)};var o=t.databases;t.databases=function(){var t=this;return new Promise(function(r,i){o.call(t).then(function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].name.indexOf(e)&&i.push({name:t[o].name.substring(e.length),version:t[o].version});r(i)}).catch(function(t){i(t)})})}}},m.prototype.initCachesOverride=function(){if(this.$wbwindow.Cache){var t=this.$wbwindow.Cache.prototype;t.match=function(){return Promise.resolve(void 0)},t.matchAll=function(){return Promise.resolve([])},t.add=function(){return Promise.resolve(void 0)},t.put=function(){return Promise.resolve(void 0)},t.delete=function(){return Promise.resolve(!1)},t.keys=function(){return Promise.resolve([])}}},m.prototype.initCacheStorageOverride=function(){if(this.$wbwindow.CacheStorage){this.$wbwindow.chrome&&(this.$wbwindow.chrome={});var t=this.$wbwindow.CacheStorage.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t){return r.call(this,e+t)};var i=t.has;t.has=function(t){return i.call(this,e+t)};var o=t.delete;t.delete=function(t){return o.call(this,e+t)};var n=t.keys;t.keys=function(){var t=this;return new Promise(function(r,i){n.call(t).then(function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].indexOf(e)&&i.push(t[o].substring(e.length));r(i)}).catch(function(t){i(t)})})};t.match;t.match=function(t,e){var r=this;return this.keys().then(function(i){var o;return i.reduce(function(i,n){return i.then(function(){return o||r.open(n).then(function(r){return r.match(t,e)}).then(function(t){return o=t})})},Promise.resolve())})}}},m.prototype.initWindowObjProxy=function(t){if(t.Proxy){var e=this.getAllOwnProps(t),r={},i=this,o=new t.Proxy({},{get:function(o,n){switch(n){case"top":return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;case"parent":if(i.$wbwindow===i.$wbwindow.WB_wombat_top)return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;try{var s=i.$wbwindow.parent._WB_wombat_obj_proxy;if(s)return s}catch(t){}return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy}return i.defaultProxyGet(t,n,e,r)},set:function(e,r,i){switch(r){case"location":return t.WB_wombat_location=i,!0;case"postMessage":case"document":return!0}try{if(!Reflect.set(e,r,i))return!1}catch(t){}return Reflect.set(t,r,i)},has:function(e,r){return r in t},ownKeys:function(e){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))},getOwnPropertyDescriptor:function(e,r){var i=Object.getOwnPropertyDescriptor(e,r);return i||(i=Object.getOwnPropertyDescriptor(t,r))&&(i.configurable=!0),i},getPrototypeOf:function(e){return Object.getPrototypeOf(t)},setPrototypeOf:function(t,e){return!1},isExtensible:function(e){return Object.isExtensible(t)},preventExtensions:function(e){return Object.preventExtensions(t),!0},deleteProperty:function(e,r){var i=Object.getOwnPropertyDescriptor(t,r);return void 0===i||!1!==i.configurable&&(delete e[r],delete t[r],!0)},defineProperty:function(e,r,i){var o=i||{};return o.hasOwnProperty("value")||o.hasOwnProperty("get")||o.hasOwnProperty("set")||(o.value=t[r]),Reflect.defineProperty(t,r,o),Reflect.defineProperty(e,r,o)}});return t._WB_wombat_obj_proxy=o,o}},m.prototype.initDocumentObjProxy=function(t){if(this.initDocOverrides(t),this.$wbwindow.Proxy){var e={},r=this.getAllOwnProps(t),i=this,o=new this.$wbwindow.Proxy(t,{get:function(o,n){return i.defaultProxyGet(t,n,r,e)},set:function(e,r,i){return"location"===r?(t.WB_wombat_location=i,!0):Reflect.set(e,r,i)}});return t._WB_wombat_obj_proxy=o,o}},m.prototype.initAutoFetchWorker=function(){if(this.wbUseAFWorker){var t=new w(this,{isTop:this.$wbwindow===this.$wbwindow.__WB_replay_top,workerURL:(this.wb_info.auto_fetch_worker_prefix||this.wb_info.static_prefix)+"autoFetchWorker.js?init="+encodeURIComponent(JSON.stringify({mod:this.wb_info.mod,prefix:this.wb_abs_prefix,rwRe:this.wb_unrewrite_rx.source}))});this.WBAutoFetchWorker=t,this.$wbwindow.$WBAutoFetchWorker$=t;var e=this;this.utilFns.wbSheetMediaQChecker=function(){e._removeEventListener(this,"load",e.utilFns.wbSheetMediaQChecker),null!=this.sheet&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.deferredSheetExtraction(this.sheet)}}},m.prototype.initTopFrameNotify=function(t){var e=this,r=function(r){if(e.$wbwindow.__WB_top_frame){if(e.$wbwindow.WB_wombat_location){var i=e.$wbwindow.WB_wombat_location.href;if("string"==typeof i&&"about:blank"!==i&&0!==i.indexOf("javascript:")&&("complete"===e.$wbwindow.document.readyState&&e.wbUseAFWorker&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.extractFromLocalDoc(),e.$wbwindow===e.$wbwindow.__WB_replay_top)){for(var o=[],n=e.$wbwindow.document.querySelectorAll("link[rel*=\'icon\']"),s=0;s<n.length;s++){var a=n[s];o.push({rel:a.rel,href:e.wb_getAttribute.call(a,"href")})}o.push({rel:"icon",href:e.rewriteUrl("/favicon.ico")});var h={icons:o,url:e.$wbwindow.WB_wombat_location.href,ts:e.wb_info.timestamp,request_ts:e.wb_info.request_ts,is_live:e.wb_info.is_live,title:e.$wbwindow.document?e.$wbwindow.document.title:"",readyState:e.$wbwindow.document.readyState,wb_type:"load"};e.sendTopMessage(h)}}}else{var w=e.$wbwindow.location.hash;e.$wbwindow.location.replace(t.top_url+w)}};"complete"===this.$wbwindow.document.readyState?r():this.$wbwindow.addEventListener?this.$wbwindow.document.addEventListener("readystatechange",r):this.$wbwindow.attachEvent&&this.$wbwindow.document.attachEvent("onreadystatechange",r)},m.prototype.initTopFrame=function(t){if(this.wb_is_proxy)return t.__WB_replay_top=t.top,t.__WB_top_frame=void 0,this.replayTopHost=r.location.host,void(this.replayTopProtocol=r.location.protocol);for(var e=function(t){try{return!!t&&(t.wbinfo?t.wbinfo.is_framed:null!=t._wb_wombat)}catch(t){return!1}},r=t;r.parent!=r&&e(r.parent);)r=r.parent;t.__WB_replay_top=r,this.replayTopHost=r.location.host,this.replayTopProtocol=r.location.protocol;var i=r.parent;if(i!=t&&this.wb_info.is_framed||(i=void 0),i?(t.__WB_top_frame=i,this.initFrameElementOverride(t)):t.__WB_top_frame=void 0,!this.wb_opts.embedded&&r==t&&this.wbUseAFWorker){var o=this;this.$wbwindow.addEventListener("message",function(t){t.data&&"aaworker"===t.data.wb_type&&o.WBAutoFetchWorker&&o.WBAutoFetchWorker.postMessage(t.data.msg)},!1)}},m.prototype.initFrameElementOverride=function(t){if(Object.defineProperty&&this.proxyToObj(t.__WB_replay_top)==this.proxyToObj(t))try{Object.defineProperty(t,"frameElement",{value:null,configurable:!1})}catch(t){}},m.prototype.initWombatTop=function(t){if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_top",function(t){this.top=t},function(){return this.__WB_replay_top?this.__WB_replay_top:(t=this,(void 0===window.constructor?t instanceof window.constructor:t.window==t)?this:this.top);var t})}},m.prototype.initEvalOverride=function(){var t=this.rewriteEvalArg,e=function(){};this.wrappedEval=function(e){return function(r){return t(e,r)}};var r=this,i=function(e){var r=this;return r&&r.eval&&r.eval!==eval?{eval:function(){return r.eval.__WB_orig_apply(r,arguments)}}:{eval:function(r){return t(e,r)}}},o=function(e){var i=this;return i&&i.eval&&i.eval!==eval?{eval:function(){return i.eval.__WB_orig_apply(i,[].slice.call(arguments,2))}}:{eval:function(i,o,n){var s=i===r.proxyToObj(r.$wbwindow);try{s=s&&!o.callee.caller}catch(t){s=!1}return t(e,n,s)}}};this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval",e,function(){return i}),this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval2",e,function(){return o})},m.prototype.wombatInit=function(){this._internalInit(),this.initCookiePreset(),this.initHistoryOverrides(),this.overrideFunctionApply(this.$wbwindow),this.overrideFunctionCall(this.$wbwindow),this.overrideFunctionBind(this.$wbwindow),this.initDocTitleOverride(),this.initHashChange(),this.wb_opts.skip_postmessage||(this.initPostMessageOverride(this.$wbwindow),this.initMessageEventOverride(this.$wbwindow)),this.initCheckThisFunc(this.$wbwindow),this.initImportWrapperFunc(this.$wbwindow),this.overrideGetOwnPropertyNames(this.$wbwindow),this.initUIEventsOverrides(),this.initDocWriteOpenCloseOverride(),this.initEvalOverride(),this.initHTTPOverrides(),this.initAudioOverride(),this.initFontFaceOverride(this.$wbwindow),this.initWorkerOverrides(),this.initTextNodeOverrides(),this.initCSSOMOverrides(),this.overrideHtmlAssign(this.$wbwindow.Element,"innerHTML",!0),this.overrideHtmlAssign(this.$wbwindow.Element,"outerHTML",!0),this.overrideHtmlAssignSrcDoc(this.$wbwindow.HTMLIFrameElement,"srcdoc",!0),this.overrideHtmlAssign(this.$wbwindow.HTMLStyleElement,"textContent"),this.overrideShadowDom(),this.overridePropExtract(this.$wbwindow.Document.prototype,"URL"),this.overridePropExtract(this.$wbwindow.Document.prototype,"documentURI"),this.overridePropExtract(this.$wbwindow.Node.prototype,"baseURI"),this.overrideAttrProps(),this.overrideDataSet(),this.initInsertAdjacentElementHTMLOverrides(),this.overrideIframeContentAccess("contentWindow"),this.overrideIframeContentAccess("contentDocument"),this.initIntersectionObsOverride(),this.overrideFuncArgProxyToObj(this.$wbwindow.MutationObserver,"observe"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"compareDocumentPosition"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"contains"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"createTreeWalker"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"evaluate",1),this.overrideFuncArgProxyToObj(this.$wbwindow.XSLTProcessor,"transformToFragment",1),this.overrideFuncThisProxyToObj(this.$wbwindow,"getComputedStyle",this.$wbwindow),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearTimeout"),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearInterval"),this.overrideFuncThisProxyToObj(this.$wbwindow.EventTarget.prototype,"dispatchEvent"),this.overrideDeProxyPropAssign(this.$wbwindow.TreeWalker.prototype,"currentNode"),this.initTimeoutIntervalOverrides(),this.initQuerySelectorOverride(),this.overrideSWAccess(this.$wbwindow),this.initElementGetSetAttributeOverride(),this.initSvgImageOverrides(),this.initAttrOverrides(),this.initCookiesOverride(),this.initCreateElementNSFix(),this.wb_opts.skip_dom||this.initDomOverride(),this.initRegisterUnRegPHOverride(),this.initPresentationRequestOverride(),this.initMiscNavigatorOverrides(),this.initSeededRandom(this.wb_info.wombat_sec),this.initCryptoRandom(),this.initFixedRatio(this.wb_info.pixel_ratio||1),this.initDateOverride(this.wb_info.wombat_sec),this.initBlobOverride(),this.initWSOverride(),this.initOpenOverride(),this.initDisableNotificationsGeoLocation(),this.initStorageOverride(),this.initCacheStorageOverride(),this.initCachesOverride(),this.initIndexedDBOverride(),this.initWindowObjProxy(this.$wbwindow),this.initDocumentObjProxy(this.$wbwindow.document);var t=this;return{extract_orig:this.extractOriginalURL,rewrite_url:this.rewriteUrl,watch_elem:this.watchElem,init_new_window_wombat:this.initNewWindowWombat,init_paths:this.initPaths,local_init:function(e){var r=t.$wbwindow._WB_wombat_obj_proxy[e];return"document"===e&&r&&!r._WB_wombat_obj_proxy&&t.initDocumentObjProxy(r)||r},showCSPViolations:function(e){t._addRemoveCSPViolationListener(e)}}};const g=m;window._WBWombat=g,window._WBWombatInit=function(t){if(this._wb_wombat)this._wb_wombat.init_paths(t);else{var e=new g(this,t);this._wb_wombat=e.wombatInit()}}})();'}),this.staticData.set(this.staticPrefix+"wombatWorkers.js",{type:"application/javascript",content:'(()=>{function e(t){if(!(this instanceof e))return new e(t);this.info=t,this.prefixMod=this.info.prefix+this.info.mod+"/",this.initImportScriptsRewrite(),this.initHTTPOverrides(),this.initClientApisOverride(),this.initCacheApisOverride(),this.initSelfOverrides()}e.prototype.noRewrite=function(e){return!e||0===e.indexOf("blob:")||0===e.indexOf("javascript:")||0===e.indexOf("data:")||0===e.indexOf(this.info.prefix)},e.prototype.isRelURL=function(e){return 0===e.indexOf("/")||!e.startsWith("http:")&&!e.startsWith("https:")},e.prototype.maybeResolveURL=function(e,t){if(!t)return e;try{return new URL(e,t).href}catch(e){}return e},e.prototype.ensureURL=function(e,t){if(!e)return e;var r;switch(typeof e){case"string":r=e;break;case"object":r=e.toString();break;default:return null}return this.noRewrite(r)?null:this.isRelURL(r)?this.maybeResolveURL(r,t):0===r.indexOf(self.location.origin)?this.maybeResolveURL(r.slice(self.location.origin.length),t):r},e.prototype.rewriteURL=function(e){var t=this.ensureURL(e,this.info.originalURL);return t?this.prefixMod?this.prefixMod+t:t:e},e.prototype.extractOriginalURL=function(e){return e&&e.startsWith(this.prefixMod)?e.slice(this.prefixMod.length):e},e.prototype.rewriteClientWindowURL=function(e,t){var r=this.ensureURL(e,t?t.url:this.info.originalURL);return r?this.info.prefix?this.info.prefix+"mp_/"+r:r:e},e.prototype.rewriteWSURL=function(e){if(!e)return e;var t=typeof e,r=e;if("object"===t)r=e.toString();else if("string"!==t)return e;if(!r)return r;var i="https://",o=0===this.info.prefix.indexOf(i);return this.info.prefix.replace(o?i:"http://",o?"wss://":"ws://")+"ws_/"+r},e.prototype.rewriteArgs=function(e){for(var t=new Array(e.length),r=0;r<t.length;r++)t[r]=this.rewriteURL(e[r]);return t},e.prototype.rewriteFetchApi=function(e){var t=e;switch(typeof e){case"string":t=this.rewriteURL(e);break;case"object":if(e.url){var r=this.rewriteURL(e.url);r!==e.url&&(t=new Request(r,e))}else e.href&&(t=this.rewriteURL(e.href))}return t},e.prototype.rewriteCacheApi=function(e){var t=e;return"string"==typeof e&&(t=this.rewriteURL(e)),t},e.prototype.initImportScriptsRewrite=function(){if(self.importScripts){var e=this,t=self.importScripts;self.importScripts=function(){var r=e.rewriteArgs(arguments);return t.apply(this,r)}}},e.prototype.initSelfOverrides=function(){var e=this;self._WB_wombat_location=new Proxy(self.location,{get:(t,r,i)=>"href"===r?e.extractOriginalURL(t[r]):t[r]}),self.____wb_rewrite_import__=function(t,r){return t&&(t=e.extractOriginalURL(t)),r&&t?r=new URL(r,t).href:t&&void 0===r&&(r=t),import(e.rewriteURL(r))};var t=function(e){return this.__WB_source=e,this};try{self.Object.defineProperty(self.Object.prototype,"__WB_pmw",{get:function(){return t},set:function(){},configurable:!0,enumerable:!1})}catch(e){}self.Object.defineProperty(self.Object.prototype,"_____WB$wombat$check$this$function_____",{configutable:!1,enumerable:!1,value:function(e){try{return e&&e._WB_wombat_obj_proxy?e._WB_wombat_obj_proxy:e}catch(t){return e}}})},e.prototype.initHTTPOverrides=function(){var e,t,r,i=this;if(self.XMLHttpRequest&&self.XMLHttpRequest.prototype&&self.XMLHttpRequest.prototype.open){var o=self.XMLHttpRequest.prototype.open;self.XMLHttpRequest.prototype.open=function(e,t,r,n,s){var p=i.rewriteURL(t),f=!0;null==r||r||(f=!1),o.call(this,e,p,f,n,s),-1===p.indexOf("data:")&&this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(null!=self.fetch){var n=self.fetch;self.fetch=function(e,t){var r=i.rewriteFetchApi(e),o=t||{};return o.credentials="include",n.call(this,r,o)}}if(self.Request&&self.Request.prototype){var s=self.Request;self.Request=(e=self.Request,function(t,r){var o=r||{},n=i.rewriteFetchApi(t);return o.credentials="include",new e(n,o)}),self.Request.prototype=s.prototype}if(self.Response&&self.Response.prototype){var p=self.Response.prototype.redirect;self.Response.prototype.redirect=function(e,t){var r=i.rewriteURL(e);return p.call(this,r,t)}}if(self.EventSource&&self.EventSource.prototype){var f=self.EventSource;self.EventSource=(t=self.EventSource,function(e,r){var o=e;return null!=e&&(o=i.rewriteURL(e)),new t(o,r)}),self.EventSource.prototype=f.prototype,Object.defineProperty(self.EventSource.prototype,"constructor",{value:self.EventSource})}if(self.WebSocket&&self.WebSocket.prototype){var l=self.WebSocket;self.WebSocket=(r=self.WebSocket,function(e,t){var o=e;return null!=e&&(o=i.rewriteWSURL(e)),new r(o,t)}),self.WebSocket.prototype=l.prototype,Object.defineProperty(self.WebSocket.prototype,"constructor",{value:self.WebSocket})}},e.prototype.initClientApisOverride=function(){var e=this;if(self.Clients&&self.Clients.prototype&&self.Clients.prototype.openWindow){var t=self.Clients.prototype.openWindow;self.Clients.prototype.openWindow=function(r){var i=e.rewriteClientWindowURL(r);return t.call(this,i)}}if(self.WindowClient&&self.WindowClient.prototype&&self.WindowClient.prototype.navigate){var r=self.WindowClient.prototype.navigate;self.WindowClient.prototype.navigate=function(t){var i=e.rewriteClientWindowURL(t,this);return r.call(this,i)}}},e.prototype.initCacheApisOverride=function(){var e=this;if(self.CacheStorage&&self.CacheStorage.prototype&&self.CacheStorage.prototype.match){var t=self.CacheStorage.prototype.match;self.CacheStorage.prototype.match=function(r,i){var o=e.rewriteCacheApi(r);return t.call(this,o,i)}}if(self.Cache&&self.Cache.prototype){if(self.Cache.prototype.match){var r=self.Cache.prototype.match;self.Cache.prototype.match=function(t,i){var o=e.rewriteCacheApi(t);return r.call(this,o,i)}}if(self.Cache.prototype.matchAll){var i=self.Cache.prototype.matchAll;self.Cache.prototype.matchAll=function(t,r){var o=e.rewriteCacheApi(t);return i.call(this,o,r)}}if(self.Cache.prototype.add){var o=self.Cache.prototype.add;self.Cache.prototype.add=function(t,r){var i=e.rewriteCacheApi(t);return o.call(this,i,r)}}if(self.Cache.prototype.addAll){var n=self.Cache.prototype.addAll;self.Cache.prototype.addAll=function(t){var r=t;if(Array.isArray(t)){r=new Array(t.length);for(var i=0;i<t.length;i++)r[i]=e.rewriteCacheApi(t[i])}return n.call(this,r)}}if(self.Cache.prototype.put){var s=self.Cache.prototype.put;self.Cache.prototype.put=function(t,r){var i=e.rewriteCacheApi(t);return s.call(this,i,r)}}if(self.Cache.prototype.delete){var p=self.Cache.prototype.delete;self.Cache.prototype.delete=function(t,r){var i=e.rewriteCacheApi(t);return p.call(this,i,r)}}if(self.Cache.prototype.keys){var f=self.Cache.prototype.keys;self.Cache.prototype.keys=function(t,r){var i=e.rewriteCacheApi(t);return f.call(this,i,r)}}}},self.WBWombat=e})();'}),this.staticData.set(this.staticPrefix+"wombatProxy.js",{type:"application/javascript",content:'(()=>{"use strict";new class{proxyOrigin;localOrigin;proxyTLD;localTLD;localScheme;proxyScheme;httpToHttpsNeeded;prefix;relPrefix="";schemeRelPrefix="";constructor(){this.openOverride(),this.domOverride(),this.overrideInsertAdjacentHTML();const t=self.__wbinfo;if(this.initDateOverride(t.seconds),this.initAnchorElemOverride(),this.overrideSWAccess(),this.proxyOrigin=t.proxyOrigin,this.localOrigin=t.localOrigin,this.proxyTLD=t.proxyTLD,this.localTLD=t.localTLD,this.localScheme=new URL(this.localOrigin).protocol,this.proxyScheme=new URL(this.proxyOrigin).protocol,this.httpToHttpsNeeded="http:"===this.proxyScheme&&"https:"===this.localScheme,this.prefix=t.prefix||"",this.prefix){const t=new URL(this.prefix);this.relPrefix=t.pathname,this.schemeRelPrefix=this.prefix.slice(t.protocol.length)}t.presetCookie&&this.initPresetCookie(t.presetCookie)}initPresetCookie(t){const e=t.split(";");for(const t of e)document.cookie=t.trim()}recurseRewriteElem(t){if(this.rewriteElem(t),!t.hasChildNodes())return;const e=[t.childNodes];for(;e.length>0;){const r=e.shift();for(const i of r||[])if(i.nodeType===Node.ELEMENT_NODE){const r=i;this.rewriteElem(r),t.hasChildNodes()&&e.push(r.childNodes)}}}rewriteElem(t){switch(t.tagName){case"IFRAME":{const e=t.getAttribute("src");if(e){const r=this.fullRewriteUrl(e);e!==r&&t.setAttribute("src",r)}}break;case"A":{const e=t.getAttribute("href");if(e){const r=this.rewriteUrl(e);e!==r&&t.setAttribute("href",r)}}break;case"SCRIPT":if(this.httpToHttpsNeeded){const e=t.getAttribute("src");if(e){const r=this.rewriteUrl(e);e!==r&&t.setAttribute("src",r)}}}}domOverride(){const t=t=>{switch(t.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(t)}},e=(e,r,i,o)=>(t(i),r.call(e,i,o)),r=(e,r,i)=>{for(const e of i)t(e);return r.call(e,...i)},i=Node.prototype.appendChild;Node.prototype.appendChild=function(t){return e(this,i,t)};const o=Node.prototype.insertBefore;Node.prototype.insertBefore=function(t,r){return e(this,o,t,r)};const n=Node.prototype.replaceChild;Node.prototype.replaceChild=function(t,r){return e(this,n,t,r)};const s=Element.prototype.replaceWith;Element.prototype.replaceWith=function(...t){return r(this,s,t)};const c=DocumentFragment.prototype.append;DocumentFragment.prototype.append=function(...t){return r(this,c,t)};const l=DocumentFragment.prototype.prepend;DocumentFragment.prototype.prepend=function(...t){return r(this,l,t)}}openOverride(){let t=window.open;Window.prototype.open&&(t=Window.prototype.open);const e=this;function r(r,i,o){const n=r?e.rewriteUrl(r.toString()):"";return t.call(this,n,i,o)}window.open=r,Window.prototype.open&&(Window.prototype.open=r);for(let t=0;t<window.frames.length;t++)try{window.frames[t].open=r}catch(t){console.log(t)}}overrideInsertAdjacentHTML(){const t=HTMLElement.prototype.insertAdjacentHTML,e=this;HTMLElement.prototype.insertAdjacentHTML=function(r,i){return i=e.rewriteRxHtml(i),t.call(this,r,i)}}rewriteRxHtml(t){return t.replace(/<\\s*(a|iframe)\\s+(?:src|href)[=][\'"](.*?)[\'"]/gi,(t,e,r)=>{let i="";switch(e){case"a":i=this.rewriteUrl(r);break;case"iframe":i=this.fullRewriteUrl(r)}return i&&i!==t?t.replace(r,i):t})}convUrl(t,e,r,i,o,n,s,c,l=!1){if(e&&t.startsWith(e))return r+t.slice(e.length);if(i&&o&&t.indexOf(i)>0){const e=new URL(t);if(e.host.endsWith(i)){let t=e.host.slice(0,-i.length);n&&s&&(t=t.replace(n,s));return c+"//"+t+o+e.href.slice(e.origin.length)}}return l?t.replace("http:","https:"):t}rewriteUrl(t){return this.convUrl(t,this.proxyOrigin,this.localOrigin,this.proxyTLD,this.localTLD,".","-",this.localScheme,this.httpToHttpsNeeded)}unrewriteUrl(t){return this.convUrl(t,this.localOrigin,this.proxyOrigin,this.localTLD,this.proxyTLD,"-",".",this.proxyScheme)}fullRewriteUrl(t,e="if_"){const r=t;return this.proxyOrigin&&t.startsWith(this.proxyOrigin)?this.localOrigin+t.slice(this.proxyOrigin.length):!(t=t.trim())||!this.isRewritableUrl(t)||t.startsWith(this.prefix)||t.startsWith(this.relPrefix)?r:t.startsWith("http:")||t.startsWith("https:")||t.startsWith("https\\\\3a/")?this.prefix+e+"/"+t:t.startsWith("//")||t.startsWith("\\\\/\\\\/")?this.schemeRelPrefix+e+"/"+t:r}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(const r of e)if(t.startsWith(r))return!1;return!0}initAnchorElemOverride(){const t=Object.getOwnPropertyDescriptor(HTMLAnchorElement.prototype,"href");if(!t?.get)return;const e=this,r=t.get,i=t=>{const i=Object.getOwnPropertyDescriptor(HTMLAnchorElement.prototype,t);if(!i?.set)return;const o=i.set;Object.defineProperty(HTMLAnchorElement.prototype,t,{set(r){const i=new URL(e.rewriteUrl(r),e.proxyOrigin);return o.call(this,i[t])},get(){return new URL(e.unrewriteUrl(r.call(this)),e.proxyOrigin)[t]}})};i("href"),i("hostname"),i("host"),i("protocol"),i("origin")}initDateOverride(t){if(self.__wb_Date_now)return;const e=1e3*parseInt(t),r=Date.now()-(e-0),i=Date,o=Date.UTC,n=Date.parse,s=Date.now;var c;self.__wb_Date_now=s,window.Date=(c=Date,function(t,e,i,o,n,l,p){return void 0===t?new c(s()-r):void 0===e?new c(t):void 0===i?new c(t,e):void 0===o?new c(t,e,i):void 0===n?new c(t,e,i,o):void 0===l?new c(t,e,i,o,n):void 0===p?new c(t,e,i,o,n,l):new c(t,e,i,o,n,l,p)}),Date.prototype=i.prototype,Date.now=function(){return s()-r},Date.UTC=o,Date.parse=n,Date.__WB_timediff=r,Date.prototype.getTimezoneOffset=function(){return 0};const l=Date.prototype.toString;Date.prototype.toString=function(){return l.call(this).split(" GMT")[0]+" GMT+0000 (GMT)"};const p=Date.prototype.toTimeString;Date.prototype.toTimeString=function(){return p.call(this).split(" GMT")[0]+" GMT+0000 (GMT)"},Object.defineProperty(Date.prototype,"constructor",{value:Date})}overrideSWAccess(){self.__WB_wombat_sw=window.navigator.serviceWorker;const t={controller:null,ready:Promise.resolve({unregister:function(){}}),register:async()=>Promise.reject(),addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:async()=>Promise.resolve([]),getRegistration:async()=>Promise.resolve(void 0),startMessages:function(){}};Object.defineProperty(window.navigator,"serviceWorker",{get:()=>t})}}})();'}),n.has("serveIndex")){const t={type:"text/html",content:this.getIndexHtml(n)};this.staticData.set(this.prefix,t),this.staticData.set(this.prefix+"index.html",t)}if(n.has("injectScripts")){const t=n.get("injectScripts").split(",");r.injectScripts=r.injectScripts?[...t,...r.injectScripts]:t}r.injectScripts&&D(r.injectScripts),n.has("allowProxyPaths")&&D(n.get("allowProxyPaths").split(",")),n.get("allowProxyPassthrough")&&(this.allowProxyPassthrough=!0),n.has("adblockUrl")&&(r.adblockUrl=n.get("adblockUrl")||""),"1"===n.get("useHashCheck")&&(Ba=!0),n.has("notFoundTemplateUrl")&&async function(t){try{const e=await fetch(t);ps=await e.text()}catch(t){console.error("not found template fetch failed",t)}}(n.get("notFoundTemplateUrl"));const o={static:this.staticPrefix,root:this.prefix,main:this.replayPrefix,proxy:this.proxyPrefix,api:this.apiPrefix};this.collections=new i(o,n.get("root"),r),this.collections.loadAll(n.get("dbColl")),this.api=new e(this.collections),this.allowRewrittenCache=!!n.get("allowCache"),this.stats=n.get("stats")?new Zb:null,self.addEventListener("install",()=>{self.skipWaiting()}),self.addEventListener("activate",t=>{t.waitUntil(self.clients.claim()),console.log("Activate!")}),self.addEventListener("fetch",t=>{t.respondWith(this.handleFetch(t))}),self.addEventListener("message",t=>{"reload_all"===t.data.msg_type&&t.waitUntil(this.collections.loadAll())})}getIndexHtml(t){const e=t.get("indexScript")||"./ui.js",r=t.get("indexAppTag")||"replay-app-main";return`\n <!doctype html>\n <html>\n <head><script src="${e}"><\/script></head>\n <body>\n <${r}></${r}>\n </body></html>`}isFromReplay(t){return t.url.startsWith(this.replayPrefix)||t.referrer.startsWith(this.replayPrefix)}async handleFetch(t){const e=t.request,r=e.url;if(this.proxyOriginMode){if(r.startsWith(this.proxyPrefix))return this.staticPathProxy(r,e);if(P.size&&this.allowProxyPassthrough){const t=await this.doLiveProxy(r,e);if(t)return t}if(!r.startsWith(this.staticPrefix))return this.getResponseFor(e,t)}else{if(!r.startsWith(this.prefix))return"chrome-extension://invalid/"===r?ds(e,"Invalid URL"):this.isFromReplay(e)?ds(e):this.defaultFetch(e);if(this.collections.root&&r.slice(this.prefix.length).indexOf("/")<0)return this.defaultFetch(e);if(r.startsWith(this.proxyPrefix))return this.staticPathProxy(r,e);if(r.startsWith(this.replayPrefix)&&!r.startsWith(this.staticPrefix))return this.getResponseFor(e,t)}const i=new URL(r);i.search="",i.hash="";const n=i.href;for(const t of this.staticData.keys())if(t===n){const{content:r,type:i}=this.staticData.get(t),n=new Headers({"Content-Type":i});return this.isFromReplay(e)&&n.set("Content-Security-Policy",u()),new Response(r,{headers:n})}if(!this.topFramePassthrough&&!r.startsWith(this.staticPrefix)&&e.referrer.startsWith(this.replayPrefix)){const t=function(t,e){const r=e.indexOf("/http");if(r<0)return null;const i=new URL(t).origin,n=t.slice(i.length),s=e.slice(r+1),o=new URL(n,s);return e.slice(0,r+1)+o.href}(r,e.referrer);return t?Response.redirect(t):ds(e)}return("http:"==i.protocol||"https:"==i.protocol)&&i.pathname.indexOf("/",1)<0?this.wrapCSPForFrame(await this.handleOffline(e),e):this.wrapCSPForFrame(await this.defaultFetch(e),e)}async staticPathProxy(t,e){t=t.slice(this.proxyPrefix.length),t=new URL(t,self.location.href).href;return await this.doLiveProxy(t,e)||ds(e)}async doLiveProxy(t,e){let r=!1;for(const e of P)if(t.startsWith(e)){r=!0;break}if(!r)return null;const{method:i}=e,n="GET"!==i?await e.arrayBuffer():null,s={cache:"no-store",headers:e.headers,method:i,mode:"no-cors",..."GET"!==i&&{body:n}},o=await this.defaultFetch(t,s);return this.wrapCSPForFrame(o,e)}async wrapCSPForFrame(t,e){if(!e.destination.endsWith("frame"))return t;const{status:r,statusText:i}=t,n=new Headers(t.headers);return n.set("Content-Security-Policy",u()),new Response(t.body,{status:r,statusText:i,headers:n})}async defaultFetch(t,e={}){return e.cache||"string"==typeof t||t instanceof URL||"only-if-cached"!==t.cache||"same-origin"===t.mode||(e.cache="default"),self.fetch(t,e)}async ensureCached(t){const e=await caches.open("wabac-offline");for(let r of t){r=new URL(r,self.location.href).href;let i=await e.match(r,{ignoreSearch:!0});if(!i)try{i=await this.defaultFetch(new Request(r)),await e.put(r,i)}catch(t){console.warn(`Failed to Auto Cache: ${r}`,t)}}}async handleOffline(t){let e=null;const r=await caches.open("wabac-offline");try{e=await this.defaultFetch(t)}catch(i){return e=await r.match(t,{ignoreSearch:!0}),e||(e=ds(t,"Sorry, this url was not cached for offline use")),e}if(t.url.startsWith(this.prefix+"?"))return e;if(200===e.status){const i=e.clone();await r.put(t,i)}else console.warn(`Not Cacheing ${t.url} - Status ${e.status}`);return e}async getResponseFor(t,e){if(t.url.startsWith(this.apiPrefix))return this.stats&&t.url.startsWith(this.apiPrefix+"stats.json")?await this.stats.getStats(e):await this.api.apiResponse(t.url.slice(this.apiPrefix.length),t,e);await this.collections.inited;const r=I(t),i=t.headers.get("range");try{if(this.allowRewrittenCache&&!i){const e=await self.caches.match(t);if(e&&!!e.headers.get(_E)===r)return e}}catch(t){}let n=this.collections.root;n||(n=t.url.slice(this.replayPrefix.length).split("/",1)[0]);const s=await this.collections.getColl(n);if(!s&&(this.proxyOriginMode||this.topFramePassthrough))return this.defaultFetch(t);if(!s)return ds(t);if(!this.collections.root&&!this.proxyOriginMode&&!t.url.startsWith(s.prefix))return ds(t);let o,a=!1;t.url.startsWith(s.prefix)||!this.proxyOriginMode?(o=t.url.substring(s.prefix.length),a=!0):o=t.url;const c={isRoot:!!this.collections.root,defaultReplayMode:a};if(this.proxyOriginMode&&!a){c.mod="id_";const t=s.config.extraConfig||{};c.proxyOrigin=t.proxyOrigin,c.altProxyOrigins=t.altProxyOrigins,c.proxyTLD=t.proxyTLD,c.localTLD=t.localTLD,c.ts=t.proxyTs||"",c.localOrigin=self.location.origin}const l=new EE(o,t,c);if(this.topFramePassthrough&&(!l.url||!l.mod))return this.defaultFetch(t);if(!l.url)return ds(t,`Replay URL ${o} not found`);const h=await s.handleRequest(l,e);if(h){if(this.stats&&this.stats.updateStats(h,h.status,t,e),this.allowRewrittenCache&&200===h.status)try{const e=await self.caches.open("wabac-"+s.name);r&&h.headers.set(_E,"true");const i=h.clone();await e.put(t,i)}catch(t){console.warn(t)}return h}return i&&console.log("Not Found Range!: "+i),ds(t)}}self.registration?(self.sw=new IE,console.log("sw init")):self.postMessage&&(new Xb(self),console.log("ww init"));
119
+ const Vw="crypto.algorithm",Gw="crypto.algorithmProvider";var qw;jy.registerSingleton(Gw,class{getAlgorithms(){return jy.resolveAll(Vw)}toAsnAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toAsnAlgorithm(t);if(r)return r}if(/[0-9.]+/.test(t.name)){const e=new Df({algorithm:t.name});if("parameters"in t){const r=t;e.parameters=r.parameters}return e}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toWebAlgorithm(t);if(r)return r}return{name:t.algorithm,parameters:t.parameters}}});const Yw="1.3.36.3.3.2.8.1.1",Kw=`${Yw}.1`,Xw=`${Yw}.2`,Jw=`${Yw}.3`,Zw=`${Yw}.4`,$w=`${Yw}.5`,tA=`${Yw}.6`,eA=`${Yw}.7`,rA=`${Yw}.8`,iA=`${Yw}.9`,nA=`${Yw}.10`,sA=`${Yw}.11`,oA=`${Yw}.12`,aA=`${Yw}.13`,cA=`${Yw}.14`,lA="brainpoolP160r1",hA="brainpoolP160t1",uA="brainpoolP192r1",pA="brainpoolP192t1",dA="brainpoolP224r1",fA="brainpoolP224t1",gA="brainpoolP256r1",mA="brainpoolP256t1",yA="brainpoolP320r1",wA="brainpoolP320t1",AA="brainpoolP384r1",bA="brainpoolP384t1",EA="brainpoolP512r1",vA="brainpoolP512t1",_A="ECDSA";let xA=qw=class{toAsnAlgorithm(t){if(t.name.toLowerCase()===_A.toLowerCase())if("hash"in t)switch(("string"==typeof t.hash?t.hash:t.hash.name).toLowerCase()){case"sha-1":return km;case"sha-256":return Nm;case"sha-384":return Bm;case"sha-512":return Om}else if("namedCurve"in t){let e="";switch(t.namedCurve){case"P-256":e=Sm;break;case"K-256":e=qw.SECP256K1;break;case"P-384":e=Tm;break;case"P-521":e=Cm;break;case lA:e=Kw;break;case hA:e=Xw;break;case uA:e=Jw;break;case pA:e=Zw;break;case dA:e=$w;break;case fA:e=tA;break;case gA:e=eA;break;case mA:e=rA;break;case yA:e=iA;break;case wA:e=nA;break;case AA:e=sA;break;case bA:e=oA;break;case EA:e=aA;break;case vA:e=cA}if(e)return new Df({algorithm:bm,parameters:Xp.serialize(new Pm({namedCurve:e}))})}return null}toWebAlgorithm(t){switch(t.algorithm){case Em:return{name:_A,hash:{name:"SHA-1"}};case _m:return{name:_A,hash:{name:"SHA-256"}};case xm:return{name:_A,hash:{name:"SHA-384"}};case Im:return{name:_A,hash:{name:"SHA-512"}};case bm:if(!t.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(Xp.parse(t.parameters,Pm).namedCurve){case Sm:return{name:_A,namedCurve:"P-256"};case qw.SECP256K1:return{name:_A,namedCurve:"K-256"};case Tm:return{name:_A,namedCurve:"P-384"};case Cm:return{name:_A,namedCurve:"P-521"};case Kw:return{name:_A,namedCurve:lA};case Xw:return{name:_A,namedCurve:hA};case Jw:return{name:_A,namedCurve:uA};case Zw:return{name:_A,namedCurve:pA};case $w:return{name:_A,namedCurve:dA};case tA:return{name:_A,namedCurve:fA};case eA:return{name:_A,namedCurve:gA};case rA:return{name:_A,namedCurve:mA};case iA:return{name:_A,namedCurve:yA};case nA:return{name:_A,namedCurve:wA};case sA:return{name:_A,namedCurve:AA};case oA:return{name:_A,namedCurve:bA};case aA:return{name:_A,namedCurve:EA};case cA:return{name:_A,namedCurve:vA}}}return null}};xA.SECP256K1="1.3.132.0.10",xA=qw=gy([Qy()],xA),jy.registerSingleton(Vw,xA);const IA=Symbol("name"),SA=Symbol("value");class TA{constructor(t,e={},r=""){this[IA]=t,this[SA]=r;for(const t in e)this[t]=e[t]}}TA.NAME=IA,TA.VALUE=SA;class CA{static toString(t){return this.items[t]||t}}CA.items={[Jm]:"sha1",[Zm]:"sha224",[$m]:"sha256",[ty]:"sha384",[ey]:"sha512",[Mm]:"rsaEncryption",[zm]:"sha1WithRSAEncryption",[Vm]:"sha224WithRSAEncryption",[Gm]:"sha256WithRSAEncryption",[qm]:"sha384WithRSAEncryption",[Ym]:"sha512WithRSAEncryption",[bm]:"ecPublicKey",[Em]:"ecdsaWithSHA1",[vm]:"ecdsaWithSHA224",[_m]:"ecdsaWithSHA256",[xm]:"ecdsaWithSHA384",[Im]:"ecdsaWithSHA512",[$d]:"TLS WWW server authentication",[tf]:"TLS WWW client authentication",[ef]:"Code Signing",[rf]:"E-mail Protection",[nf]:"Time Stamping",[sf]:"OCSP Signing",[pm]:"Signed Data"};class RA{static serialize(t){return this.serializeObj(t).join("\n")}static pad(t=0){return"".padStart(2*t," ")}static serializeObj(t,e=0){const r=[];let i=this.pad(e++),n="";const s=t[TA.VALUE];s&&(n=` ${s}`),r.push(`${i}${t[TA.NAME]}:${n}`),i=this.pad(e);for(const n in t){if("symbol"==typeof n)continue;const s=t[n],o=n?`${n}: `:"";if("string"==typeof s||"number"==typeof s||"boolean"==typeof s)r.push(`${i}${o}${s}`);else if(s instanceof Date)r.push(`${i}${o}${s.toUTCString()}`);else if(Array.isArray(s))for(const t of s)t[TA.NAME]=n,r.push(...this.serializeObj(t,e));else if(s instanceof TA)s[TA.NAME]=n,r.push(...this.serializeObj(s,e));else if(jl._H.isBufferSource(s))n?(r.push(`${i}${o}`),r.push(...this.serializeBufferSource(s,e+1))):r.push(...this.serializeBufferSource(s,e));else{if(!("toTextObject"in s))throw new TypeError("Cannot serialize data in text format. Unsupported type.");{const t=s.toTextObject();t[TA.NAME]=n,r.push(...this.serializeObj(t,e))}}}return r}static serializeBufferSource(t,e=0){const r=this.pad(e),i=jl._H.toUint8Array(t),n=[];for(let t=0;t<i.length;){const e=[];for(let r=0;r<16&&t<i.length;r++){8===r&&e.push("");const n=i[t++].toString(16).padStart(2,"0");e.push(n)}n.push(`${r}${e.join(" ")}`)}return n}static serializeAlgorithm(t){return this.algorithmSerializer.toTextObject(t)}}RA.oidSerializer=CA,RA.algorithmSerializer=class{static toTextObject(t){const e=new TA("Algorithm Identifier",{},CA.toString(t.algorithm));if(t.parameters)switch(t.algorithm){case bm:{const r=(new xA).toWebAlgorithm(t);r&&"namedCurve"in r?e["Named Curve"]=r.namedCurve:e.Parameters=t.parameters;break}default:e.Parameters=t.parameters}return e}};class kA{constructor(...t){if(1===t.length){const e=t[0];this.rawData=Xp.serialize(e),this.onInit(e)}else{const e=Xp.parse(t[0],t[1]);this.rawData=jl._H.toArrayBuffer(t[0]),this.onInit(e)}}equal(t){return t instanceof kA&&(0,jl.n4)(t.rawData,this.rawData)}toString(t="text"){switch(t){case"asn":return Xp.toString(this.rawData);case"text":return RA.serialize(this.toTextObject());case"hex":return jl.U$.ToHex(this.rawData);case"base64":return jl.U$.ToBase64(this.rawData);case"base64url":return jl.U$.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const t=this.toTextObjectEmpty();return t[""]=this.rawData,t}toTextObjectEmpty(t){return new TA(this.getTextName(),{},t)}}kA.NAME="ASN";class NA extends kA{constructor(...t){let e;e=jl._H.isBufferSource(t[0])?jl._H.toArrayBuffer(t[0]):Xp.serialize(new Hf({extnID:t[0],critical:t[1],extnValue:new dp(jl._H.toArrayBuffer(t[2]))})),super(e,Hf)}onInit(t){this.type=t.extnID,this.critical=t.critical,this.value=t.extnValue.buffer}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.value,t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty(this.critical?"critical":void 0);return t[TA.NAME]===NA.NAME&&(t[TA.NAME]=CA.toString(this.type)),t}}var BA;class OA{constructor(){this.items=new Map,this[BA]="CryptoProvider","undefined"!=typeof self&&"undefined"!=typeof crypto&&this.set(OA.DEFAULT,crypto)}static isCryptoKeyPair(t){return t&&t.privateKey&&t.publicKey}static isCryptoKey(t){return t&&t.usages&&t.type&&t.algorithm&&void 0!==t.extractable}clear(){this.items.clear()}delete(t){return this.items.delete(t)}forEach(t,e){return this.items.forEach(t,e)}has(t){return this.items.has(t)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(t=OA.DEFAULT){const e=this.items.get(t.toLowerCase());if(!e)throw new Error(`Cannot get Crypto by name '${t}'`);return e}set(t,e){if("string"==typeof t){if(!e)throw new TypeError("Argument 'value' is required");this.items.set(t.toLowerCase(),e)}else this.items.set(OA.DEFAULT,t);return this}}BA=Symbol.toStringTag,OA.DEFAULT="default";const PA=new OA,DA=/^[0-2](?:\.[1-9][0-9]*)+$/;class LA{constructor(t={}){this.items={};for(const e in t)this.register(e,t[e])}get(t){return this.items[t]||null}findId(t){return e=t,new RegExp(DA).test(e)?t:this.get(t);var e}register(t,e){this.items[t]=e,this.items[e]=t}}const UA=new LA;function MA(t,e){return`\\${jl.U$.ToHex(jl.U$.FromUtf8String(e)).toUpperCase()}`}UA.register("CN","2.5.4.3"),UA.register("L","2.5.4.7"),UA.register("ST","2.5.4.8"),UA.register("O","2.5.4.10"),UA.register("OU","2.5.4.11"),UA.register("C","2.5.4.6"),UA.register("DC","0.9.2342.19200300.100.1.25"),UA.register("E","1.2.840.113549.1.9.1"),UA.register("G","2.5.4.42"),UA.register("I","2.5.4.43"),UA.register("SN","2.5.4.4"),UA.register("T","2.5.4.12");class FA{constructor(t,e={}){this.extraNames=new LA,this.asn=new cd;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t];this.extraNames.register(t,r)}"string"==typeof t?this.asn=this.fromString(t):t instanceof cd?this.asn=t:jl._H.isBufferSource(t)?this.asn=Xp.parse(t,cd):this.asn=this.fromJSON(t)}static isASCII(t){for(let e=0;e<t.length;e++)if(t.charCodeAt(e)>255)return!1;return!0}getField(t){const e=this.extraNames.findId(t)||UA.findId(t),r=[];for(const t of this.asn)for(const i of t)i.type===e&&r.push(i.value.toString());return r}getName(t){return this.extraNames.get(t)||UA.get(t)}toString(){return this.asn.map(t=>t.map(t=>`${this.getName(t.type)||t.type}=${t.value.anyValue?`#${jl.U$.ToHex(t.value.anyValue)}`:function(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,MA)}(t.value.toString())}`).join("+")).join(", ")}toJSON(){var t;const e=[];for(const r of this.asn){const i={};for(const e of r){const r=this.getName(e.type)||e.type;null!==(t=i[r])&&void 0!==t||(i[r]=[]),i[r].push(e.value.anyValue?`#${jl.U$.ToHex(e.value.anyValue)}`:e.value.toString())}e.push(i)}return e}fromString(t){const e=new cd,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,n=",";for(;i=r.exec(`${t},`);){let[,t,r]=i;const s=r[r.length-1];","!==s&&"+"!==s||(r=r.slice(0,r.length-1),i[3]=s);const o=i[3];if(/[\d.]+/.test(t)||(t=this.getName(t)||""),!t)throw new Error(`Cannot get OID for name type '${t}'`);const a=new sd({type:t});if("#"===r.charAt(0))a.value.anyValue=jl.U$.FromHex(r.slice(1));else{const e=/"(.*?[^\\])?"/.exec(r);e&&(r=e[1]),r=r.replace(/\\0a/gi,"\n").replace(/\\0d/gi,"\r").replace(/\\0g/gi,"\t").replace(/\\(.)/g,"$1"),t===this.getName("E")||t===this.getName("DC")?a.value.ia5String=r:FA.isASCII(r)?a.value.printableString=r:a.value.utf8String=r}"+"===n?e[e.length-1].push(a):e.push(new od([a])),n=o}return e}fromJSON(t){const e=new cd;for(const r of t){const t=new od;for(const e in r){let i=e;if(/[\d.]+/.test(e)||(i=this.getName(e)||""),!i)throw new Error(`Cannot get OID for name type '${e}'`);const n=r[e];for(const e of n){const r=new sd({type:i});if("object"==typeof e)for(const t in e)switch(t){case"ia5String":r.value.ia5String=e[t];break;case"utf8String":r.value.utf8String=e[t];break;case"universalString":r.value.universalString=e[t];break;case"bmpString":r.value.bmpString=e[t];break;case"printableString":r.value.printableString=e[t]}else"#"===e[0]?r.value.anyValue=jl.U$.FromHex(e.slice(1)):i===this.getName("E")||i===this.getName("DC")?r.value.ia5String=e:r.value.printableString=e;t.push(r)}}e.push(t)}return e}toArrayBuffer(){return Xp.serialize(this.asn)}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||PA.get()):r=t[0]||PA.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const HA="Cannot initialize GeneralName from ASN.1 data.",jA=`${HA} Unsupported string format in use.`,WA=`${HA} Value doesn't match to GUID regular expression.`,QA=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,zA="1.3.6.1.4.1.311.25.1",VA="1.3.6.1.4.1.311.20.2.3",GA="dns",qA="dn",YA="email",KA="ip",XA="url",JA="guid",ZA="upn",$A="id";class tb extends kA{constructor(...t){let e;if(2===t.length)switch(t[0]){case qA:{const r=new FA(t[1]).toArrayBuffer(),i=Xp.parse(r,cd);e=new pd({directoryName:i});break}case GA:e=new pd({dNSName:t[1]});break;case YA:e=new pd({rfc822Name:t[1]});break;case JA:{const r=new RegExp(QA,"i").exec(t[1]);if(!r)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map((t,e)=>e<3?jl.U$.ToHex(new Uint8Array(jl.U$.FromHex(t)).reverse()):t).join("");e=new pd({otherName:new hd({typeId:zA,value:Xp.serialize(new dp(jl.U$.FromHex(i)))})});break}case KA:e=new pd({iPAddress:t[1]});break;case $A:e=new pd({registeredID:t[1]});break;case ZA:e=new pd({otherName:new hd({typeId:VA,value:Xp.serialize(xp.toASN(t[1]))})});break;case XA:e=new pd({uniformResourceIdentifier:t[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else e=jl._H.isBufferSource(t[0])?Xp.parse(t[0],pd):t[0];super(e)}onInit(t){if(null!=t.dNSName)this.type=GA,this.value=t.dNSName;else if(null!=t.rfc822Name)this.type=YA,this.value=t.rfc822Name;else if(null!=t.iPAddress)this.type=KA,this.value=t.iPAddress;else if(null!=t.uniformResourceIdentifier)this.type=XA,this.value=t.uniformResourceIdentifier;else if(null!=t.registeredID)this.type=$A,this.value=t.registeredID;else if(null!=t.directoryName)this.type=qA,this.value=new FA(t.directoryName).toString();else{if(null==t.otherName)throw new Error(jA);if(t.otherName.typeId===zA){this.type=JA;const e=Xp.parse(t.otherName.value,dp),r=new RegExp(QA,"i").exec(jl.U$.ToHex(e));if(!r)throw new Error(WA);this.value=r.slice(1).map((t,e)=>e<3?jl.U$.ToHex(new Uint8Array(jl.U$.FromHex(t)).reverse()):t).join("-")}else{if(t.otherName.typeId!==VA)throw new Error(jA);this.type=ZA,this.value=Xp.parse(t.otherName.value,id).toString()}}}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let t;switch(this.type){case qA:case GA:case JA:case KA:case $A:case ZA:case XA:t=this.type.toUpperCase();break;case YA:t="Email";break;default:throw new Error("Unsupported GeneralName type")}let e=this.value;return this.type===$A&&(e=CA.toString(e)),new TA(t,void 0,e)}}class eb extends kA{constructor(t){let e;if(t instanceof Id)e=t;else if(Array.isArray(t)){const r=[];for(const e of t)if(e instanceof pd)r.push(e);else{const t=Xp.parse(new tb(e.type,e.value).rawData,pd);r.push(t)}e=new Id(r)}else{if(!jl._H.isBufferSource(t))throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");e=Xp.parse(t,Id)}super(e)}onInit(t){const e=[];for(const r of t){let t=null;try{t=new tb(r)}catch{continue}e.push(t)}this.items=e}toJSON(){return this.items.map(t=>t.toJSON())}toTextObject(){const t=super.toTextObjectEmpty();for(const e of this.items){const r=e.toTextObject();let i=t[r[TA.NAME]];Array.isArray(i)||(i=[],t[r[TA.NAME]]=i),i.push(r)}return t}}eb.NAME="GeneralNames";const rb="-{5}",ib="\\n",nb="\\n",sb=`${rb}BEGIN ([^${ib}]+(?=${rb}))${rb}${nb}(?:((?:[^:${ib}]+: (?:[^${ib}]+${nb}(?: +[^${ib}]+${nb})*))+))?${nb}?((?:[a-zA-Z0-9=+/]+${nb})+)${rb}END \\1${rb}`;class ob{static isPem(t){return"string"==typeof t&&new RegExp(sb,"g").test(t)}static decodeWithHeaders(t){t=t.replace(/\r/g,"");const e=new RegExp(sb,"g"),r=[];let i=null;for(;i=e.exec(t);){const t=i[3].replace(new RegExp(`[${ib}]+`,"g"),""),e={type:i[1],headers:[],rawData:jl.U$.FromBase64(t)},n=i[2];if(n){const t=n.split(new RegExp(nb,"g"));let r=null;for(const i of t){const[t,n]=i.split(/:(.*)/);if(void 0===n){if(!r)throw new Error("Cannot parse PEM string. Incorrect header value");r.value+=t.trim()}else r&&e.headers.push(r),r={key:t,value:n.trim()}}r&&e.headers.push(r)}r.push(e)}return r}static decode(t){return this.decodeWithHeaders(t).map(t=>t.rawData)}static decodeFirst(t){const e=this.decode(t);if(!e.length)throw new RangeError("PEM string doesn't contain any objects");return e[0]}static encode(t,e){if(Array.isArray(t)){const r=new Array;return e?t.forEach(t=>{if(!jl._H.isBufferSource(t))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:e,rawData:jl._H.toArrayBuffer(t)}))}):t.forEach(t=>{if(!("type"in t))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(t))}),r.join("\n")}if(!e)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:e,rawData:jl._H.toArrayBuffer(t)})}static encodeStruct(t){var e;const r=t.type.toLocaleUpperCase(),i=[];if(i.push(`-----BEGIN ${r}-----`),null===(e=t.headers)||void 0===e?void 0:e.length){for(const e of t.headers)i.push(`${e.key}: ${e.value}`);i.push("")}const n=jl.U$.ToBase64(t.rawData);let s,o=0;const a=Array();for(;o<n.length&&(n.length-o<64?s=n.substring(o):(s=n.substring(o,o+64),o+=64),0!==s.length)&&(a.push(s),!(s.length<64)););return i.push(...a),i.push(`-----END ${r}-----`),i.join("\n")}}ob.CertificateTag="CERTIFICATE",ob.CrlTag="CRL",ob.CertificateRequestTag="CERTIFICATE REQUEST",ob.PublicKeyTag="PUBLIC KEY",ob.PrivateKeyTag="PRIVATE KEY";class ab extends kA{static isAsnEncoded(t){return jl._H.isBufferSource(t)||"string"==typeof t}static toArrayBuffer(t){if("string"==typeof t){if(ob.isPem(t))return ob.decode(t)[0];if(jl.U$.isHex(t))return jl.U$.FromHex(t);if(jl.U$.isBase64(t))return jl.U$.FromBase64(t);if(jl.U$.isBase64Url(t))return jl.U$.FromBase64Url(t);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}{const e=jl.U$.ToBinary(t);return ob.isPem(e)?ob.decode(e)[0]:jl.U$.isHex(e)?jl.U$.FromHex(e):jl.U$.isBase64(e)?jl.U$.FromBase64(e):jl.U$.isBase64Url(e)?jl.U$.FromBase64Url(e):jl._H.toArrayBuffer(t)}}constructor(...t){ab.isAsnEncoded(t[0])?super(ab.toArrayBuffer(t[0]),t[1]):super(t[0])}toString(t="pem"){return"pem"===t?ob.encode(this.rawData,this.tag):super.toString(t)}}class cb extends ab{constructor(t){ab.isAsnEncoded(t)?super(t,Lf):super(t),this.tag=ob.PublicKeyTag}async export(...t){let e,r=["verify"],i={hash:"SHA-256",...this.algorithm};return t.length>1?(i=t[0]||i,r=t[1]||r,e=t[2]||PA.get()):e=t[0]||PA.get(),e.subtle.importKey("spki",this.rawData,i,!0,r)}onInit(t){const e=jy.resolve(Gw),r=this.algorithm=e.toWebAlgorithm(t.algorithm);switch(t.algorithm.algorithm){case Mm:{const e=Xp.parse(t.subjectPublicKey,fy),i=jl._H.toUint8Array(e.modulus);r.publicExponent=jl._H.toUint8Array(e.publicExponent),r.modulusLength=(i[0]?i:i.slice(1)).byteLength<<3;break}}}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||PA.get()):r=t[0]||PA.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(t){t||(t=PA.get());const e=Xp.parse(this.rawData,Lf);return await t.subtle.digest("SHA-1",e.subjectPublicKey)}toTextObject(){const t=this.toTextObjectEmpty(),e=Xp.parse(this.rawData,Lf);return t.Algorithm=RA.serializeAlgorithm(e.algorithm),e.algorithm.algorithm===bm?t["EC Point"]=e.subjectPublicKey:t["Raw Data"]=e.subjectPublicKey,t}}class lb{static register(t,e){this.items.set(t,e)}static create(t){const e=new NA(t),r=this.items.get(e.type);return r?new r(t):e}}lb.items=new Map;const hb="crypto.signatureFormatter";class ub extends ab{constructor(t){ab.isAsnEncoded(t)?super(t,Vf):super(t),this.tag=ob.CertificateTag}onInit(t){const e=t.tbsCertificate;this.tbs=Xp.serialize(e),this.serialNumber=jl.U$.ToHex(e.serialNumber),this.subjectName=new FA(e.subject),this.subject=new FA(e.subject).toString(),this.issuerName=new FA(e.issuer),this.issuer=this.issuerName.toString();const r=jy.resolve(Gw);this.signatureAlgorithm=r.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signatureValue;const i=e.validity.notBefore.utcTime||e.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const n=e.validity.notAfter.utcTime||e.validity.notAfter.generalTime;if(!n)throw new Error("Cannot get 'notAfter' value");this.notAfter=n,this.extensions=[],e.extensions&&(this.extensions=e.extensions.map(t=>lb.create(Xp.serialize(t)))),this.publicKey=new cb(e.subjectPublicKeyInfo)}getExtension(t){for(const e of this.extensions)if("string"==typeof t){if(e.type===t)return e}else if(e instanceof t)return e;return null}getExtensions(t){return this.extensions.filter(e=>"string"==typeof t?e.type===t:e instanceof t)}async verify(t={},e=PA.get()){let r,i;const n=t.publicKey;try{if(n)if("publicKey"in n)r={...n.publicKey.algorithm,...this.signatureAlgorithm},i=await n.publicKey.export(r,["verify"]);else if(n instanceof cb)r={...n.algorithm,...this.signatureAlgorithm},i=await n.export(r,["verify"]);else if(jl._H.isBufferSource(n)){const t=new cb(n);r={...t.algorithm,...this.signatureAlgorithm},i=await t.export(r,["verify"])}else r={...n.algorithm,...this.signatureAlgorithm},i=n;else r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],e)}catch(t){return!1}const s=jy.resolveAll(hb).reverse();let o=null;for(const t of s)if(o=t.toWebSignature(r,this.signature),o)break;if(!o)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const a=await e.subtle.verify(this.signatureAlgorithm,i,o,this.tbs);if(t.signatureOnly)return a;{const e=(t.date||new Date).getTime();return a&&this.notBefore.getTime()<e&&e<this.notAfter.getTime()}}async getThumbprint(...t){let e,r="SHA-1";return t[0]&&(t[0].subtle?e=t[0]:(r=t[0]||r,e=t[1])),null!=e||(e=PA.get()),await e.subtle.digest(r,this.rawData)}async isSelfSigned(t=PA.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},t)}toTextObject(){const t=this.toTextObjectEmpty(),e=Xp.parse(this.rawData,Vf),r=e.tbsCertificate,i=new TA("",{Version:`${Wf[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":RA.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new TA("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){const t=new TA("");for(const e of this.extensions){const r=e.toTextObject();t[r[TA.NAME]]=r}i.Extensions=t}return t.Data=i,t.Signature=new TA("",{Algorithm:RA.serializeAlgorithm(e.signatureAlgorithm),"":e.signatureValue}),t}}ub.NAME="Certificate";class pb extends NA{constructor(...t){if(jl._H.isBufferSource(t[0]))super(t[0]);else if("string"==typeof t[0]){const e=new Ed({keyIdentifier:new bd(jl.U$.FromHex(t[0]))});super(Ad,t[1],Xp.serialize(e))}else{const e=t[0],r=e.name instanceof eb?Xp.parse(e.name.rawData,Id):e.name,i=new Ed({authorityCertIssuer:r,authorityCertSerialNumber:jl.U$.FromHex(e.serialNumber)});super(Ad,t[1],Xp.serialize(i))}}static async create(t,e=!1,r=PA.get()){if(t instanceof ub||OA.isCryptoKey(t)){const i=t instanceof ub?await t.publicKey.export(r):t,n=await r.subtle.exportKey("spki",i),s=new cb(n),o=await s.getKeyIdentifier(r);return new pb(jl.U$.ToHex(o),e)}return new pb(t,e)}onInit(t){super.onInit(t);const e=Xp.parse(t.extnValue,Ed);e.keyIdentifier&&(this.keyId=jl.U$.ToHex(e.keyIdentifier)),e.authorityCertIssuer&&e.authorityCertSerialNumber&&(this.certId={name:e.authorityCertIssuer,serialNumber:jl.U$.ToHex(e.authorityCertSerialNumber)})}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Xp.parse(this.value,Ed);return e.authorityCertIssuer&&(t["Authority Issuer"]=new eb(e.authorityCertIssuer).toTextObject()),e.authorityCertSerialNumber&&(t["Authority Serial Number"]=e.authorityCertSerialNumber),e.keyIdentifier&&(t[""]=e.keyIdentifier),t}}pb.NAME="Authority Key Identifier";class db extends NA{constructor(...t){if(jl._H.isBufferSource(t[0])){super(t[0]);const e=Xp.parse(this.value,_d);this.ca=e.cA,this.pathLength=e.pathLenConstraint}else{const e=new _d({cA:t[0],pathLenConstraint:t[1]});super(vd,t[2],Xp.serialize(e)),this.ca=t[0],this.pathLength=t[1]}}toTextObject(){const t=this.toTextObjectWithoutValue();return this.ca&&(t.CA=this.ca),void 0!==this.pathLength&&(t["Path Length"]=this.pathLength),t}}var fb,gb;db.NAME="Basic Constraints",function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"}(fb||(fb={}));class mb extends NA{constructor(...t){if(jl._H.isBufferSource(t[0])){super(t[0]);const e=Xp.parse(this.value,Zd);this.usages=e.map(t=>t)}else{const e=new Zd(t[0]);super(Jd,t[1],Xp.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.usages.map(t=>CA.toString(t)).join(", "),t}}mb.NAME="Extended Key Usages",function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(gb||(gb={}));class yb extends NA{constructor(...t){if(jl._H.isBufferSource(t[0])){super(t[0]);const e=Xp.parse(this.value,df);this.usages=e.toNumber()}else{const e=new df(t[0]);super(hf,t[1],Xp.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Xp.parse(this.value,df);return t[""]=e.toJSON().join(", "),t}}yb.NAME="Key Usages";class wb extends NA{constructor(...t){if(jl._H.isBufferSource(t[0])){super(t[0]);const e=Xp.parse(this.value,Cf);this.keyId=jl.U$.ToHex(e)}else{const e="string"==typeof t[0]?jl.U$.FromHex(t[0]):t[0],r=new Cf(e);super(Tf,t[1],Xp.serialize(r)),this.keyId=jl.U$.ToHex(e)}}static async create(t,e=!1,r=PA.get()){let i;i=t instanceof cb?t.rawData:"publicKey"in t?t.publicKey.rawData:jl._H.isBufferSource(t)?t:await r.subtle.exportKey("spki",t);const n=new cb(i),s=await n.getKeyIdentifier(r);return new wb(jl.U$.ToHex(s),e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Xp.parse(this.value,Cf);return t[""]=e,t}}wb.NAME="Subject Key Identifier";class Ab extends NA{constructor(...t){jl._H.isBufferSource(t[0])?super(t[0]):super(vf,t[1],new eb(t[0]||[]).rawData)}onInit(t){super.onInit(t);const e=Xp.parse(t.extnValue,_f);this.names=new eb(e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.names.toTextObject();for(const r in e)t[r]=e[r];return t}}Ab.NAME="Subject Alternative Name";class bb extends NA{constructor(...t){var e;if(jl._H.isBufferSource(t[0])){super(t[0]);const e=Xp.parse(this.value,Ld);this.policies=e.map(t=>t.policyIdentifier)}else{const r=t[0],i=null!==(e=t[1])&&void 0!==e&&e,n=new Ld(r.map(t=>new Dd({policyIdentifier:t})));super(Rd,i,Xp.serialize(n)),this.policies=r}}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Policy=this.policies.map(t=>new TA("",{},CA.toString(t))),t}}bb.NAME="Certificate Policies",lb.register(Rd,bb);class Eb extends kA{constructor(...t){let e;if(jl._H.isBufferSource(t[0]))e=jl._H.toArrayBuffer(t[0]);else{const r=t[0],i=Array.isArray(t[1])?t[1].map(t=>jl._H.toArrayBuffer(t)):[];e=Xp.serialize(new xf({type:r,values:i}))}super(e,xf)}onInit(t){this.type=t.type,this.values=t.values}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Value=this.values.map(t=>new TA("",{"":t})),t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty();return t[TA.NAME]===Eb.NAME&&(t[TA.NAME]=CA.toString(this.type)),t}}Eb.NAME="Attribute";class vb extends Eb{constructor(...t){var e;if(jl._H.isBufferSource(t[0]))super(t[0]);else{const e=new Dw({printableString:t[0]});super(mw,[Xp.serialize(e)])}null!==(e=this.password)&&void 0!==e||(this.password="")}onInit(t){if(super.onInit(t),this.values[0]){const t=Xp.parse(this.values[0],Dw);this.password=t.toString()}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[TA.VALUE]=this.password,t}}vb.NAME="Challenge Password";class _b extends Eb{constructor(...t){var e;if(jl._H.isBufferSource(t[0]))super(t[0]);else{const e=t[0],r=new jf;for(const t of e)r.push(Xp.parse(t.rawData,Hf));super(yw,[Xp.serialize(r)])}null!==(e=this.items)&&void 0!==e||(this.items=[])}onInit(t){if(super.onInit(t),this.values[0]){const t=Xp.parse(this.values[0],jf);this.items=t.map(t=>lb.create(Xp.serialize(t)))}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.items.map(t=>t.toTextObject());for(const r of e)t[r[TA.NAME]]=r;return t}}_b.NAME="Extensions";class xb{static register(t,e){this.items.set(t,e)}static create(t){const e=new Eb(t),r=this.items.get(e.type);return r?new r(t):e}}xb.items=new Map;let Ib=class{toAsnAlgorithm(t){if("rsassa-pkcs1-v1_5"===t.name.toLowerCase()){if(!t.hash)return new Df({algorithm:Mm,parameters:null});switch(t.hash.name.toLowerCase()){case"sha-1":return new Df({algorithm:zm,parameters:null});case"sha-256":return new Df({algorithm:Gm,parameters:null});case"sha-384":return new Df({algorithm:qm,parameters:null});case"sha-512":return new Df({algorithm:Ym,parameters:null})}}return null}toWebAlgorithm(t){switch(t.algorithm){case Mm:return{name:"RSASSA-PKCS1-v1_5"};case zm:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case Gm:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case qm:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Ym:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}}}return null}};Ib=gy([Qy()],Ib),jy.registerSingleton(Vw,Ib);class Sb{addPadding(t,e){const r=jl._H.toUint8Array(e),i=new Uint8Array(t);return i.set(r,t-r.length),i}removePadding(t,e=!1){let r=jl._H.toUint8Array(t);for(let t=0;t<r.length;t++)if(r[t]){r=r.slice(t);break}if(e&&r[0]>127){const t=new Uint8Array(r.length+1);return t.set(r,1),t.buffer}return r.buffer}toAsnSignature(t,e){if("ECDSA"===t.name){const r=t.namedCurve,i=Sb.namedCurveSize.get(r)||Sb.defaultNamedCurveSize,n=new Lm,s=jl._H.toUint8Array(e);return n.r=this.removePadding(s.slice(0,i),!0),n.s=this.removePadding(s.slice(i,i+i),!0),Xp.serialize(n)}return null}toWebSignature(t,e){if("ECDSA"===t.name){const r=Xp.parse(e,Lm),i=t.namedCurve,n=Sb.namedCurveSize.get(i)||Sb.defaultNamedCurveSize,s=this.addPadding(n,this.removePadding(r.r)),o=this.addPadding(n,this.removePadding(r.s));return(0,jl.kg)(s,o)}return null}}Sb.namedCurveSize=new Map,Sb.defaultNamedCurveSize=32;const Tb="1.3.101.110",Cb="1.3.101.111",Rb="1.3.101.112",kb="1.3.101.113";let Nb=class{toAsnAlgorithm(t){let e=null;switch(t.name.toLowerCase()){case"eddsa":switch(t.namedCurve.toLowerCase()){case"ed25519":e=Rb;break;case"ed448":e=kb}break;case"ecdh-es":switch(t.namedCurve.toLowerCase()){case"x25519":e=Tb;break;case"x448":e=Cb}}return e?new Df({algorithm:e}):null}toWebAlgorithm(t){switch(t.algorithm){case Rb:return{name:"EdDSA",namedCurve:"Ed25519"};case kb:return{name:"EdDSA",namedCurve:"Ed448"};case Tb:return{name:"ECDH-ES",namedCurve:"X25519"};case Cb:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Nb=gy([Qy()],Nb),jy.registerSingleton(Vw,Nb);class Bb extends ab{constructor(t){ab.isAsnEncoded(t)?super(t,zw):super(t),this.tag=ob.CertificateRequestTag}onInit(t){this.tbs=Xp.serialize(t.certificationRequestInfo),this.publicKey=new cb(t.certificationRequestInfo.subjectPKInfo);const e=jy.resolve(Gw);this.signatureAlgorithm=e.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signature,this.attributes=t.certificationRequestInfo.attributes.map(t=>xb.create(Xp.serialize(t)));const r=this.getAttribute(yw);this.extensions=[],r instanceof _b&&(this.extensions=r.items),this.subjectName=new FA(t.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(t){for(const e of this.attributes)if(e.type===t)return e;return null}getAttributes(t){return this.attributes.filter(e=>e.type===t)}getExtension(t){for(const e of this.extensions)if(e.type===t)return e;return null}getExtensions(t){return this.extensions.filter(e=>e.type===t)}async verify(t=PA.get()){const e={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(e,["verify"],t),i=jy.resolveAll(hb).reverse();let n=null;for(const t of i)if(n=t.toWebSignature(e,this.signature),n)break;if(!n)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await t.subtle.verify(this.signatureAlgorithm,r,n,this.tbs)}toTextObject(){const t=this.toTextObjectEmpty(),e=Xp.parse(this.rawData,zw),r=e.certificationRequestInfo,i=new TA("",{Version:`${Wf[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const t=new TA("");for(const e of this.attributes){const r=e.toTextObject();t[r[TA.NAME]]=r}i.Attributes=t}return t.Data=i,t.Signature=new TA("",{Algorithm:RA.serializeAlgorithm(e.signatureAlgorithm),"":e.signature}),t}}var Ob;Bb.NAME="PKCS#10 Certificate Request",function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(Ob||(Ob={})),lb.register(vd,db),lb.register(Jd,mb),lb.register(hf,yb),lb.register(Tf,wb),lb.register(Ad,pb),lb.register(vf,Ab),xb.register(mw,vb),xb.register(yw,_b),jy.registerSingleton(hb,class{toAsnSignature(t,e){return jl._H.toArrayBuffer(e)}toWebSignature(t,e){return jl._H.toArrayBuffer(e)}}),jy.registerSingleton(hb,Sb),Sb.namedCurveSize.set("P-256",32),Sb.namedCurveSize.set("K-256",32),Sb.namedCurveSize.set("P-384",48),Sb.namedCurveSize.set("P-521",66);const Pb=/-{5}(BEGIN|END) .*-{5}/gm,Db="pages/pages.jsonl",Lb="pages/extraPages.jsonl",Ub="datapackage.json",Mb="datapackage-digest.json",Fb="webarchive.yaml";class Hb{store;file;isRoot;waczname;constructor(t,e,r=!0){this.file=e,this.waczname=e.waczname||"",this.store=t,this.isRoot=r}async loadFileFromWACZ(t,e){return this.store.loadFileFromWACZ?await this.store.loadFileFromWACZ(this.file,t,e):await this.file.loadFile(t,e)}async load(){let t,e=null;return this.file.containsFile(Mb)&&(e=await this.loadDigestData(Mb)),this.file.containsFile(Ub)?t=await this.loadPackage(Ub,e):this.file.containsFile(Fb)&&(t=await this.loadOldPackageYAML(Fb)),t||{}}async loadTextFileFromWACZ(t,e=""){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{computeHash:!!e});if(!r)return"";const n=(new TextDecoder).decode(await r.readFully());return e&&i&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}async loadDigestData(t){try{const e=JSON.parse(await this.loadTextFileFromWACZ(t));let r;e.path===Ub&&e.hash&&(r=e.hash);const i=this.store,n=this.isRoot?"":this.waczname+":";if(!e.signedData||e.signedData.hash!==r)return void await i.addVerifyData(n,"signature","");await i.addVerifyData(n,"datapackageHash",r);const s=await async function({hash:t,signature:e,publicKey:r,domain:i,domainCert:n,created:s,software:o}){let a;const c=[],l=(0,Hl.toByteArray)(e);let h;if(n&&i&&!r){const t=n.split("\n\n"),e=(0,Hl.toByteArray)(t[0].replace(Pb,"").replace(/\s/gm,"")),r=m(await crypto.subtle.digest("SHA-256",e));c.push({id:"certFingerprint",expected:r,matched:null});const i=new ub(e);h=await i.publicKey.export();const s=(0,Hl.fromByteArray)(new Uint8Array(i.publicKey.rawData));c.push({id:"publicKey",expected:s,matched:null}),i.subject&&i.subject.startsWith("CN=")&&(a=i.subject.substring(3))}else{const t={name:"ECDSA",namedCurve:"P-384"};c.push({id:"publicKey",expected:r,matched:null}),h=await crypto.subtle.importKey("spki",(0,Hl.toByteArray)(r),t,!0,["verify"])}const u=new TextEncoder,p=await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},h,l,u.encode(t));return c.push({id:"signature",expected:!0,matched:p}),s&&c.push({id:"created",expected:s,matched:null}),o&&c.push({id:"software",expected:o,matched:null}),i&&c.push({id:"domain",expected:i,matched:a}),c}(e.signedData);return await i.addVerifyDataList(n,s),r}catch(t){console.warn(t)}}async loadPackage(t,e){const r=await this.loadTextFileFromWACZ(t,e),i=JSON.parse(r);switch(this.isRoot&&void 0!==i.config&&this.store.initConfig(i.config),i.profile){case"data-package":case"wacz-package":case void 0:case null:return await this.loadLeafWACZPackage(i);case"multi-wacz-package":return await this.loadMultiWACZPackage(i);default:throw new Error(`Unknown package profile: ${i.profile}`)}}async loadMultiWACZPackage(t){return this.file.markAsMultiWACZ(),await this.store.loadWACZFiles(t,this.file),this.store.maxFallbackLookups=-1,t}async loadLeafWACZPackage(t){const e=t.metadata||{};let r=null;for(const e of t.resources)e.path===Db?(r=e.hash,await this.store.addVerifyData(this.waczname,e.path,e.hash)):(e.path.endsWith(".idx")||e.path.endsWith(".cdx"))&&await this.store.addVerifyData(this.waczname,e.path,e.hash);return this.file.containsFile(Db)&&(await this.loadPages(Db,r)).hasText&&(this.store.textIndex=e.textIndex=Db),this.file.containsFile(Lb)&&(this.store.textIndex=e.textIndex=Lb),e}async loadOldPackageYAML(t){const e=await this.loadTextFileFromWACZ(t),r=Fl.load(e),i={desc:r.desc,title:r.title};r.textIndex&&(i.textIndex=r.textIndex,r.config||(r.config={}),r.config.textIndex=r.textIndex),this.isRoot&&void 0!==r.config&&this.store.initConfig(r.config),i.title||(i.title=this.store.config.sourceName);const n=r.pages||[];n?.length&&await this.store.addPages(n);const s=r.pageLists||[];return s?.length&&await this.store.addCuratedPageLists(s,"pages","show"),i}async loadPages(t=Db,e=null){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{unzip:!0,computeHash:!0});if(!r)return[];let n=null,s=[];for await(const t of r.iterLines()){const e=JSON.parse(t);this.waczname&&(e.wacz=this.waczname),n?(s.push(e),500===s.length&&(await this.store.addPages(s),s=[])):n=e}return s.length&&await this.store.addPages(s),i&&e&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}}class jb{loader;loadId=null;loadUrl;constructor(t,e,r=null){this.loader=t,this.loadId=r,this.loadUrl=e.loadUrl}async load(t){const e=this.loader;t.fullConfig&&e.arrayBuffer&&e.arrayBuffer.byteLength<=o&&(t.fullConfig.extra||(t.fullConfig.extra={}),t.fullConfig.extra.arrayBuffer=e.arrayBuffer);const r=this.loadUrl;return await t.addNewWACZ({name:"default",path:r,loader:e})}}class Wb{loader;loadId=null;config;constructor(t,e,r=null){this.config=e,this.loadId=r,this.loader=t}async load(t,e=null,r=0){const i=new Ua({loader:this.loader});await i.init();const n=i.zipreader,s=new Hb(t,i),o=await s.load();let a=0;const c=(t,i,n)=>{n+=a,e&&r&&e(Math.round(100*n/r),null,n,r)};for(const e of i.iterContainedFiles()){const r=n.getCompressedSize(e);(e.endsWith(".warc.gz")||e.endsWith(".warc"))&&await this.loadWARC(t,n,e,c,r),a+=r}return o||{}}async loadWARC(t,e,r,i,n){const{reader:s}=await e.loadFile(r,{unzip:!0});if(!s)throw new Error("no WARC found");const o=new Ao(s,null,r);return o.detectPages=!1,await o.load(t,i,n)}}class Qb{response;constructor(t){this.response=t}async load(t){try{return await t.loadFromJSON(this.response)}catch(t){return{}}}}class zb{prefix;proxyPathOnly;isLive;archivePrefix;archiveMod;cloneResponse;allowBody;hostProxy;hostProxyOnly;messageOnProxyErrors;constructor(t,{cloneResponse:e=!1,allowBody:r=!1,hostProxyOnly:i=!1}={}){if(t=t||{},this.prefix=t.prefix||"",this.proxyPathOnly=t.proxyPathOnly||!1,this.isLive=void 0===t.isLive||t.isLive,this.archivePrefix=t.archivePrefix||"",this.archiveMod=t.archiveMod||"id_",this.cloneResponse=e,this.allowBody=r||this.isLive||!!t.noPostToGet,this.messageOnProxyErrors=t.messageOnProxyErrors||!1,this.hostProxy=t.hostProxy,this.hostProxy instanceof Array){const t={};for(const e of this.hostProxy)t[e.host]=e;this.hostProxy=t}this.hostProxyOnly=i}async getAllPages(){return[]}getFetchUrl(t,e,r){let i;if(this.hostProxy){i=new URL(t);const e=this.hostProxy[i.host];if(e)return r.set("X-Proxy-Host",i.host),e.prefix+(e.pathOnly?i.pathname+i.search:t)}return this.hostProxyOnly?null:this.proxyPathOnly?(i||(i=new URL(t)),this.prefix+i.pathname+i.search):this.isLive||!e.timestamp&&!this.archivePrefix?this.prefix+t:this.prefix+this.archivePrefix+e.timestamp+this.archiveMod+"/"+t}async getResource(t,e){const{headers:r,credentials:i,url:n}=t.prepareProxyRequest(e,!0),s=this.getFetchUrl(n,t,r);if(!s)return null;let o=null;const a="POST"===t.method||"PUT"===t.method||"DELETE"===t.method;a&&(this.allowBody?o=await t.getBody():this.sendProxyError("post-request-attempt",n,t.method));let c=await fetch(s,{method:t.method,body:o,headers:r,credentials:i,mode:"cors",redirect:"follow"}),l=!1;a&&c.status>=400?this.sendProxyError("post-request-failed",n,t.method,c.status):429===c.status&&this.sendProxyError("rate-limited",n,t.method,c.status),c.status>400&&404!==c.status&&["","document","iframe"].includes(t.destination)&&(c=ys(n,c.status),l=!0);try{const t=new URL(s,self.location.href).href;if(c.ok&&c.url&&c.url!==t){const t=c.url.indexOf("/http"),e=c.url.slice(t+1);n!==e&&(c=Response.redirect(e))}}catch(t){}let h=null;this.cloneResponse&&(h=c.clone());const u=Jn.fromResponse({url:n,response:c,date:new Date,noRW:l,isLive:this.isLive,archivePrefix:this.archivePrefix});return h&&(u.clonedResponse=h),u}async sendProxyError(t,e,r,i){if(!this.messageOnProxyErrors)return;const n=await self.clients.matchAll({type:"window"});for(const s of n)if(new URL(s.url).searchParams.get("source")===this.prefix){s.postMessage({type:t,url:e,method:r,status:i});break}}}const Vb=/^([\w-]+,)*[\w-]+(:\d+)?,?\)\//;class Gb extends ya{config;waczfiles;waczNameForHash;ziploadercache;updating;rootSourceType;sourceLoader;externalSource;textIndex;fuzzyUrlRules;pagesQueryUrl="";referrerMap=new Map;notAPage=new Set;maxFallbackLookups=3;totalPages=void 0;preloadResources=[];seedPageWACZs=new Map;constructor(t,e,r="wacz"){if(super(t.dbname,t.noCache),this.config=t,this.waczfiles={},this.waczNameForHash={},this.ziploadercache={},this.updating=null,this.rootSourceType=r,this.sourceLoader=e,this.externalSource=null,this.fuzzyUrlRules=[],this.textIndex=t.metadata?.textIndex||Lb,t.extraConfig&&this.initConfig(t.extraConfig),t.metadata){if(this.pagesQueryUrl=t.metadata.pagesQueryUrl||"",t.metadata.preloadResources?.length)for(const{name:e}of t.metadata.preloadResources)this.preloadResources.push(e);"number"==typeof t.metadata.totalPages&&(this.totalPages=t.metadata.totalPages)}}initConfig(t){if(void 0!==t.decodeResponses&&(this.config.decode=!!t.decodeResponses),t.hostProxy&&(this.externalSource=new zb(t,{hostProxyOnly:!0})),t.fuzzy)for(const[e,r]of t.fuzzy){const t=new RegExp(e);this.fuzzyUrlRules.push({match:t,replace:r})}t.textIndex&&(this.textIndex=t.textIndex)}updateHeaders(t){this.sourceLoader&&(this.sourceLoader.headers=t),this.checkUpdates().catch(()=>console.warn("Error updating JSON even after auth update"))}_initDB(t,e,r,i){super._initDB(t,e,r,i),e||(t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"})),2===e&&this.convertV2WACZDB(t,i),3===e&&t.createObjectStore("verification",{keyPath:"id"})}async convertV2WACZDB(t,e){try{const r=await e.objectStore("ziplines").getAll(),i=await e.objectStore("zipEntries").getAll();t.deleteObjectStore("ziplines"),t.deleteObjectStore("zipEntries"),t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"});const n=this.config.loadUrl;for(const t of r)t.waczname=n,e.objectStore("ziplines").put(t);const s=r.length>0?2:1,o=await this.computeFileHash(n,""),a=new Ua({waczname:n,hash:o,path:n,entries:i,indexType:s});e.objectStore("waczfiles").put(a.serialize()),await e.done}catch(t){console.warn(t)}}addWACZFile(t){const e=new Ua(t);return this.waczfiles[t.waczname]=e,this.waczNameForHash[t.hash]=t.waczname,e}async init(){await super.init();const t=await this.db.getAll("waczfiles")||[];for(const e of t)this.addWACZFile({...e,parent:this});for(const[t,e]of Object.entries(this.waczfiles)){e.path=e.path||t;const r=e.path.lastIndexOf("#!/");if(r>0){const t=e.path.slice(0,r),i=this.waczfiles[t];e.parent=i}else"json"!==this.rootSourceType&&(e.loader=this.sourceLoader)}}async close(){super.close(),caches.delete("cache:"+this.name.slice(3))}async clearZipData(){const t=["waczfiles","ziplines"];for(const e of t)await this.db.clear(e)}async addVerifyData(t="",e,r,i=null,n=!1){let s=!1;t&&(e=t+e),i&&(s=r===i,n&&console.log(`verify ${e}: ${s}`)),await this.db.put("verification",{id:e,expected:r,matched:s})}async addVerifyDataList(t,e){const r=this.db.transaction("verification","readwrite");for(const i of e)t&&(i.id=t+i.id),r.store.put(i);try{await r.done}catch(t){console.warn(t)}}async getVerifyInfo(){const t=await this.db.getAll("verification");let e=0,r=0;const i={},n=["domain","created","certFingerprint","software","datapackageHash","publicKey"];for(const s of t)n.includes(s.id)?i[s.id]=s.expected:"signature"===s.id||!0===s.matched?e++:!1===s.matched&&r++;return i.numInvalid=r,i.numValid=e,i}async getVerifyExpected(t){const e=await this.db.get("verification",t);return e?.expected}async clearAll(){await super.clearAll(),await this.clearZipData()}async loadRecordFromSource(t){const{start:e,length:r,path:i,wacz:n}=t.source,s={offset:e,length:r,unzip:!0,computeHash:!0},o=n,{reader:a,hasher:c}=await this.loadFileFromNamedWACZ(o,"archive/"+i,s),l=new bo(a);await this.waczfiles[o].save(this.db);const h=await l.load();return t[Ia]&&h?.respHeaders&&(h.respHeaders["x-wabac-preset-cookie"]=t[Ia]),{remote:h,hasher:c}}async loadIndex(t){if(!this.waczfiles[t])throw new Error("unknown waczfile: "+t);if(this.waczfiles[t].entries||await this.waczfiles[t].init(),this.waczfiles[t].indexType)return{indexType:this.waczfiles[t].indexType,isNew:!1};let e=0;for(const r of this.waczfiles[t].iterContainedFiles())r.endsWith(".cdx")||r.endsWith(".cdxj")?(console.log(`Loading CDX for ${t}`),await this.loadCDX(r,t),e=1):r.endsWith(".idx")&&(console.log(`Loading IDX for ${t}`),await this.loadIDX(r,t),e=2);return this.waczfiles[t].indexType=e,await this.waczfiles[t].save(this.db,!0),{indexType:e,isNew:!0}}async loadCDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=new Ca(n,null,e,{wacz:e}),a=await o.load(this,r,i);if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}return a}async loadIDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=[];let a="",c=!0,l=0;for await(const t of n.iterLines()){if(l+=t.length,l===t.length&&t.startsWith("!meta")){const e=t.indexOf(" {");if(e<0){console.warn("Invalid Meta Line: "+t);continue}const r=JSON.parse(t.slice(e));r.filename&&(a=r.filename),"cdxj-gzip-1.0"!==r.format&&console.log(`Unknown CDXJ format "${r.format}", archive may not parse correctly`);continue}let n;if(t.indexOf("\t")>0){const[r,i,s,o]=t.split("\t");n={waczname:e,prefix:r,filename:i,offset:Number(s),length:Number(o),loaded:!1},c=!1}else{const r=t.indexOf(" {");if(r<0){console.log("Invalid Index Line: "+t);continue}const i=t.slice(0,r);let{offset:s,length:o,filename:l,digest:h}=JSON.parse(t.slice(r));c=c&&!Vb.test(i),l=l||a,n={waczname:e,prefix:i,filename:l,offset:s,length:o,digest:h,loaded:!1}}r&&i&&r(l/i,l,i),o.push(n)}if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}const h=this.db.transaction("ziplines","readwrite");for(const t of o)h.store.put(t);try{await h.done}catch(t){console.log("Error loading ziplines index: ",t)}c&&c!==this.waczfiles[e].nonSurt&&(this.waczfiles[e].nonSurt=c,await this.waczfiles[e].save(this.db,!0))}async loadCDXFromIDX(t,e,r=0,i=!1,n=!1){const s=this.waczfiles[t].nonSurt?e:ut(e),o=i?this.prefixUpperBound(s):s+" 9999",a=IDBKeyRange.upperBound([t,o],!0),c=this.db.transaction("ziplines","readonly"),l=[],h=s.split("?")[0],u=n?s:h;for await(const e of c.store.iterate(a,"prev")){const r=e.value;if(!r||r.waczname!==t)break;const i=r.prefix.split(" ")[0];if(l.unshift(r),!i.startsWith(u))break}await c.done;const p=[];u===s&&l.length>6&&r&&l.sort((t,e)=>{const i=t.prefix.split(" ")[1],n=e.prefix.split(" ")[1];if(!i||!n)return 0;const s=Math.abs(f(i).getTime()-r),o=Math.abs(f(n).getTime()-r);return s===o?0:s<o?-1:1});let d=0;for(const e of l){if(e.loaded)continue;const r=t+":"+e.filename+":"+e.offset;let i=this.ziploadercache[r];if(i||(i=this.doCDXLoad(r,e,t),this.ziploadercache[r]=i),p.push(i),++d>6)break}return p.length&&await Promise.allSettled(p),await this.waczfiles[t].save(this.db),p.length>0}async doCDXLoad(t,e,r){try{const t="indexes/"+e.filename,i={offset:e.offset,length:e.length,unzip:!0,computeHash:!!e.digest},{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(r,t,i),o=new Ca(n,null,"",{wacz:r});if(await o.load(this),s){const i=s.getHash(),n=`${t}:${e.offset}-${e.length}`;await this.addVerifyData(r,n,e.digest||"",i)}e.loaded=!0,await this.db.put("ziplines",e)}catch(t){await S(t,this.config)||console.warn(t)}finally{delete this.ziploadercache[t]}}async findPageAtUrl(t,e){const r=await this.db.getAllFromIndex("pages","url",t);let i=null,n=Number.MAX_SAFE_INTEGER;for(const t of r){const r=Math.abs(t.ts-e);if(r<1e3)return t;r<n&&(i=t,n=r)}return i}async lookupUrl(t,e,r={waczname:""}){const{waczname:i,noRevisits:n,isPage:s}=r,o=n||s||!1;i&&"local"!==i&&await this.preloadUrlFromWACZ(i,t,e,o);let a=await super.lookupUrl(t,e,r),c=0;if(!a&&r.noRevisits&&this.waczfiles[i]?.reqFiles.length)for(const n of this.waczfiles[i].reqFiles)if(await this.preloadUrlFromWACZ(n,t,e,o)){if(a=await super.lookupUrl(t,e,r),a)return a;if(c++>=12)break}return a}async preloadUrlFromWACZ(t,e,r,i){try{const{indexType:n,isNew:s}=await this.loadIndex(t);switch(n){case 2:if(!await this.loadCDXFromIDX(t,e,r,!1,i))return!1;break;case 1:if(!s)return!1;break;default:return!1}return!0}catch(t){return!1}}async resourcesByUrlAndMime(t,...e){let r=await super.resourcesByUrlAndMime(t,...e);if(r.length>0)return r;for(const i of Object.keys(this.waczfiles))if(i&&"local"!==i){const{indexType:n,isNew:s}=await this.loadIndex(i);switch(n){case 2:if(!await this.loadCDXFromIDX(i,t,0,!0))continue;break;case 1:if(!s)continue;break;default:continue}const o=await super.resourcesByUrlAndMime(t,...e);o&&o.length&&(r=r.concat(o))}return r}async loadFileFromWACZ(t,e,r,i=0){try{return await t.loadFile(e,r)}catch(n){if(i<=3&&await this.retryLoad(n))return await this.loadFileFromWACZ(t,e,r,i+1);throw n}}async loadFileFromNamedWACZ(t,e,r){const i=this.waczfiles[t];if(!i)throw new Error("No WACZ Found for: "+t);return await this.loadFileFromWACZ(i,e,r)}async computeFileHash(t,e){return e?e.indexOf(":")>0&&(e=e.split(":")[1]):e=await y(t,"sha-256",""),e}async addNewWACZ({name:t,hash:e,path:r,crawlId:i,parent:n,loader:s=null}){const o=t||r||"";e=await this.computeFileHash(o,e);const a=this.addWACZFile({waczname:o,hash:e,crawlId:i,path:r,parent:n,loader:s});let c={};if(!this.pagesQueryUrl){await a.init();const t=new Hb(this,a,!n);c=await t.load()}return await a.save(this.db,!0),c}async loadWACZFiles(t,e=this){const r=[],i=async(t,e)=>{const r=this.waczfiles[t];r&&(this.pagesQueryUrl?await r.init(e):r.path=e,await r.save(this.db,!0))},n=t.resources.map(t=>{const r=e.getLoadPath(t.path);return{name:e.getName(t.name),hash:t.hash,path:r,crawlId:t.crawlId}});for(const{name:t,hash:s,path:o,crawlId:a}of n)this.waczfiles[t]?this.waczfiles[t].path!==o&&r.push(i(t,o)):r.push(this.addNewWACZ({name:t,hash:s,path:o,parent:e,crawlId:a}));if(r.length&&await Promise.allSettled(r),t.preloadResources?.length)for(const{name:e}of t.preloadResources)this.preloadResources.push(e);t.initialPages?.length&&await this.addInitialPages(t.initialPages),"number"==typeof t.totalPages&&(this.totalPages=t.totalPages)}async addInitialPages(t){const e=[];for(const{id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,filename:h,isSeed:u,crawl_id:p}of t){const t=this.waczfiles[h],d=t?t.hash:"";if(e.push({id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,wacz:h,waczhash:d,isSeed:u}),u){const t=this.seedPageWACZs.get(p||"")||new Set;t.add(h),this.seedPageWACZs.set(p||"",t)}}return await this.addPages(e)}async getTextIndex(){const t={"Content-Type":"application/ndjson"},e=Object.keys(this.waczfiles);if(this.pagesQueryUrl||!this.textIndex||!e.length)return new Response("",{headers:t});const r=1048576;if(1===e.length){const i=e[0];let n;try{n=await this.loadFileFromNamedWACZ(i,this.textIndex,{unzip:!0,offset:0,length:r})}catch(e){return new Response("",{headers:t})}const{reader:s}=n,o=this.waczfiles[i].getSizeOf(this.textIndex);return o>0&&(t["Content-Length"]=""+Math.min(o,r)),new Response(s.getReadableStream(),{headers:t})}{const r=[];for(const i of e)try{const{reader:t}=await this.loadFileFromNamedWACZ(i,this.textIndex,{unzip:!0});t&&r.push(t)}catch(t){continue}const i=new ReadableStream({async pull(t){for(const e of r)for await(const r of e)t.enqueue(r);t.close()}});return new Response(i,{headers:t})}}async getResource(t,e,r,{pageId:i,noRedirect:n}={}){if(await this.initing,this.externalSource){const r=await this.externalSource.getResource(t,e);if(r)return r}const s="document"===t.destination||"iframe"===t.destination,o=i;let a=null,c=null;if(o){if(a=this.waczNameForHash[o],!a)return null;if(c=await super.getResource(t,e,r,{waczname:a,skip5xx:t.isProxyOrigin,isPage:s}),c)return c}const l=await this.getWACZFilesToTry(t,a);if(!l.length)return null;const h=new Map;for(const i of l){const n=this.waczfiles[i];if(n&&n.fileType===La&&n.hash!==o&&(c=await super.getResource(t,e,r,{waczname:i,noFuzzyCheck:!t.isProxyOrigin,skip5xx:t.isProxyOrigin,isPage:s}),c)){const t=c,e=t.date.getTime();h.set(e,{name:i,hash:n.hash,resp:t})}}if(h.size>0){const r=f(t.timestamp);let i,s,o,c=-1;for(const t of h.keys()){const e=Math.abs(t-r.getTime());if(c<0||e<c){const{name:r,hash:n,resp:l}=h.get(t);a=r,s=n,i=d(l.date.toISOString()),c=e,o=l}}return n?o:Response.redirect(`${e}:${s}/${i}${t.mod}/${t.url}`)}if(this.fuzzyUrlRules.length)for(const{match:i,replace:n}of this.fuzzyUrlRules){const s=decodeURIComponent(t.url.replace(i,n));if(s&&s!==t.url){t.url=s;const i=await super.getResource(t,e,r);if(i)return i}}return null}async retryLoad(t){if("json"!==this.rootSourceType)return!1;if(!(t instanceof k||t instanceof C))return await S(t,this.config);try{return await this.checkUpdates(),!0}catch(t){return!1}}async queryPages(t="",e=1,r=25){const i=new URLSearchParams;t&&i.set("search",t),i.set("page",e+""),i.set("pageSize",r+"");const n=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==n.status)return{pages:[],total:0};const s=await n.json();if(!s)return{pages:[],total:0};const o=s.total,a=s.items.map(t=>{t.wacz=t.filename;const e=this.waczfiles[t.filename];return e&&(t.waczhash=e.hash),"string"==typeof t.ts&&(t.ts=new Date(t.ts).getTime()),t});return{pages:a,total:o}}async getWACZFilesToTry(t,e){let r,i=[];if(this.preloadResources.length&&(i=[...this.preloadResources]),!this.pagesQueryUrl||"document"!==t.destination&&"iframe"!==t.destination){if(this.pagesQueryUrl&&t.url.startsWith("urn:")){const e=t.url.indexOf("http");e>0&&(r=t.url.slice(e))}else if(t.isProxyOrigin&&t.referrer&&"document"!==t.destination){r=t.referrer,this.referrerMap.set(t.url,r);let e="";for(;r&&(e=this.referrerMap.get(r),e&&e!==r);)r=e}}else r=t.url;if(r&&this.pagesQueryUrl){r.startsWith("//")&&(r=(t.referrer&&t.referrer.indexOf("/http:")>0?"http:":"https:")+r);let e=await this.getWACZFilesForPagesQuery(r);if(e)return i=[...i,...e],i;if(r.startsWith("https://www.")){const t=new URL(r);if("/"===t.pathname&&(t.hostname=t.hostname.replace("www.",""),e=await this.getWACZFilesForPagesQuery(t.href),e))return i=[...i,...e],i}}if(e){const t=this.waczfiles[e];if(t?.crawlId){const e=this.seedPageWACZs.get(t.crawlId);if(e)return i=[...i,...e.values()],i}}const n=Object.keys(this.waczfiles);return this.maxFallbackLookups>0&&"json"===this.rootSourceType&&this.pagesQueryUrl?n.slice(0,this.maxFallbackLookups):n}async getWACZFilesForPagesQuery(t){const e=[];if(!this.pagesQueryUrl)return null;const r=await this.getPagesByUrl(t);for(const t of r)t.wacz&&e.push(t.wacz);if(e.length)return e;if(this.notAPage.has(t))return null;const i=new URLSearchParams,n=new URL(t);n.hash="",i.set("url",n.href),i.set("pageSize","25");let s=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==s.status)return null;let o=await s.json();!o?.items.length&&n.search&&(n.search="",i.delete("url"),i.set("search",n.href),s=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers}),o=await s.json());const a=o.items;for(const t of a){if(!t.url.startsWith(n.href))break;t.filename&&e.push(t.filename)}return e.length?(this.addInitialPages(o.items).catch(t=>console.log(t,"additional page add failed")),e):(this.notAPage.add(t),null)}async checkUpdates(){if("json"!==this.rootSourceType)return;this.updating||(this.updating=(async()=>{try{return void await this.loadFromJSON()}catch(t){await O(500)}throw new B})());try{await this.updating}finally{this.updating=null}}async loadFromJSON(t=null){if(!t){const e=await this.sourceLoader.doInitialFetch(!1,!1);t=e&&e.response}if(!t||206!==t.status&&200!==t.status)throw console.warn("WACZ update failed from: "+(this.config.loadUrl||this.config.sourceUrl)),new k;const e=await t.json();return e.pagesQueryUrl&&(this.pagesQueryUrl=e.pagesQueryUrl),e.profile,await this.loadWACZFiles(e),e}getLoadPath(t){return new URL(t,this.config.loadUrl).href}getName(t){return t}async createLoader(t){return await aa(t)}}class qb{sourceUrl;type;notFoundPageUrl;constructor(t){const e=t.extraConfig||{};this.sourceUrl=e.prefix,this.type=e.sourceType||"kiwix",this.notFoundPageUrl=e.notFoundPageUrl}async getAllPages(){return[]}async getResource(t,e){const{url:r,headers:i}=t.prepareProxyRequest(e);let n=i;if("kiwix"===this.type){let e=await this.resolveHeaders(r);if(!e)for(const t of uo.getFuzzyCanonsWithArgs(r))if(t!==r&&(e=await this.resolveHeaders(t),e))break;if(!e){if(this.notFoundPageUrl&&"navigate"===t.mode){const t=await fetch(this.notFoundPageUrl);if(200===t.status){const e={"Content-Type":"text/html"},i=await t.text();return new Response(i.replace("$URL",r),{status:404,headers:e})}}return null}let{headers:i,encodedUrl:s,date:o,status:a,statusText:c,hasPayload:l}=e;if(n.has("Range")){const t=n.get("Range");t&&(n={Range:t})}let h=null,u=null;if(i||(i=new Headers),l&&(u=await fetch(this.sourceUrl+"A/"+s,{headers:n}),u.body&&(h=new St(u.body.getReader(),null,!1)),206===u.status)){const t=u.headers.get("Content-Length"),e=u.headers.get("Content-Range");t&&e&&(a=206,c="Partial Content",i.set("Content-Length",t),i.set("Content-Range",e),i.set("Accept-Ranges","bytes"))}return h||(h=new Uint8Array([])),o||(o=new Date),new Jn({payload:h,status:a,statusText:c,headers:i,url:r,date:o,noRW:!1,isLive:!1})}return null}async resolveHeaders(t){const e=t.slice(t.indexOf("//")+2);let r=encodeURI(e);r=encodeURIComponent(e);const i=await fetch(this.sourceUrl+"H/"+r);if(200!==i.status)return null;let n=null,s=null,o=200,a="OK",c=!1;try{const e=await Wt.parse(i.body);if(!e)return null;if("revisit"===e.warcType){const r=e.warcHeaders.headers.get("WARC-Refers-To-Target-URI");if(r&&r!==t)return await this.resolveHeaders(r)}s=new Date(e.warcDate),e.httpHeaders?(n=e.httpHeaders.headers,o=Number(e.httpHeaders.statusCode),a=e.httpHeaders.statusText||"",c="0"!==e.httpHeaders.headers.get("Content-Length")):"resource"===e.warcType&&(n=new Headers,n.set("Content-Type",e.warcContentType||""),n.set("Content-Length",e.warcContentLength+""),o=200,a="OK",c=e.warcContentLength>0),o||(o=200)}catch(e){console.warn(e),console.warn("Ignoring headers, error parsing headers response for: "+t)}return{encodedUrl:r,headers:n,date:s,status:o,statusText:a,hasPayload:c}}}globalThis.self||(globalThis.self=globalThis);const Yb={};self.interruptLoads=Yb;class Kb{root=null;colldb=null;checkIpfs=!0;_init_db;_fileHandles=null;constructor(){this._init_db=this._initDB()}async _initDB(){this.colldb=await Gs("collDB",3,{upgrade:(t,e)=>{e<1&&t.createObjectStore("colls",{keyPath:"name"}).createIndex("type","type");try{t.createObjectStore("settings")}catch(t){}}})}async loadAll(t){if(await this._init_db,t)for(const e of t.split(",")){const t=e.split(":");if(2===t.length){const e={dbname:t[1],sourceName:t[1],decode:!1,sourceUrl:""},r={name:t[0],type:"archive",config:e};console.log("Adding Coll: "+JSON.stringify(r)),await this.colldb.put("colls",r)}}try{const t=await this.listAll(),e=[],r=t.map(async t=>this._initColl(t,e));await Promise.all(r),e.length&&this.deleteExpireMultiWACZs(e)}catch(t){console.warn(t.toString())}return!0}async listAll(){return await this._init_db,await this.colldb.getAll("colls")}async loadColl(t){await this._init_db;const e=await this.colldb.get("colls",t);return e?await this._initColl(e):null}async reload(t){return this.loadColl(t)}async deleteColl(t){await this._init_db;const e=await this.colldb.get("colls",t);if(!e)return!1;if(e.config.dbname)try{await qs(e.config.dbname,{blocked(t,r){console.log(`Unable to delete ${e.config.dbname}, blocked: ${r}`)}})}catch(t){return console.warn(t),!1}return await this.colldb.delete("colls",t),!0}async deleteExpireMultiWACZs(t){const e=await(this.colldb?.get("settings","lastCleanupRun"));if(e&&Date.now()-e<864e5)console.log("Skipping cleanup run, ran recently");else{for(const r of t){const t=r.config.loadUrl||r.config.sourceUrl;if(!t.startsWith("https://")&&!t.startsWith("http://"))continue;const i=r.name.startsWith("db:")?r.name.slice(3):r.name;try{await r.checkUpdates()}catch(e){e instanceof B&&(console.warn("Deleting expired/invalid coll for "+t),this.deleteColl(i))}await O(2e3)}await this.colldb.put("settings",Date.now(),"lastCleanupRun")}}async updateAuth(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.headers=e,await this.colldb.put("colls",r),!0)}async updateMetadata(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.metadata={...r.config.metadata,...e},await this.colldb.put("colls",r),r.config.metadata)}async updateSize(t,e,r,i){await this._init_db;const n=await this.colldb.get("colls",t);if(!n)return!1;const s=n.config.metadata||{};return s.fullSize=(s.fullSize||0)+e,s.size=(s.size||0)+r,s.mtime=(new Date).getTime(),void 0!==i&&(n.config.decode=i),await this.colldb.put("colls",n),s}async initNewColl(t,e={},r="archive"){await this._init_db;const i=b(),n="local://"+i,s={name:i,type:r,config:{dbname:"db:"+i,ctime:(new Date).getTime(),decode:!1,metadata:t,sourceUrl:n,extraConfig:e}},o=await this._initColl(s);return await this.colldb.put("colls",s),o}async _initColl(t,e=null){const r=await this._initStore(t.type||"",t.config),i=t.name,n=t.config;return t.config.root&&!this.root&&(this.root=i||null),e&&r instanceof Gb&&e.push(r),this._createCollection({name:i,store:r,config:n})}async _initStore(t,e){let r,i=null;switch(t){case"archive":i=new go(e.dbname);break;case"remotesource":r=await aa({url:e.loadUrl,headers:e.headers,size:e.size,extra:e.extra}),i=new Aa(e.dbname,r,e.noCache);break;case"remoteprefix":i=new ba(e.dbname,e.remotePrefix,e.headers,e.noCache);break;case"wacz":case"remotezip":case"multiwacz":r=await aa({url:e.loadUrl||e.sourceUrl,headers:e.headers,extra:e.extra}),i=new Gb(e,r,"multiwacz"===t?"json":"wacz");break;case"remotewarcproxy":i=new qb(e);break;case"live":i=new zb(e.extraConfig)}return i?(i.initing&&await i.initing,i):(console.log("no store found: "+t),null)}_createCollection(t){return t}}class Xb extends Kb{constructor(t){super(),this.registerListener(t)}async hasCollection(t){return await this._init_db,null!=await this.colldb.getKey("colls",t)}registerListener(t){t.addEventListener("message",t=>{t.waitUntil?t.waitUntil(this._handleMessage(t)):this._handleMessage(t)})}async _handleMessage(t){await this._init_db;const e=t.source||self;switch(t.data.msg_type){case"addColl":{const r=t.data.name,i=(t,i,n,s,o=null,a=null)=>{e.postMessage({msg_type:"collProgress",name:r,percent:t,error:i,currentSize:n,totalSize:s,fileHandle:o,extraMsg:a})};let n;try{if(n=await this.colldb.get("colls",r),n?t.data.skipExisting||(await this.deleteColl(r),n=await this.addCollection(t.data,i)):n=await this.addCollection(t.data,i),!n){if(t.data.name)try{await qs("db:"+t.data.name,{blocked(e,r){console.log(`Load failed and unable to delete ${t.data.name}: ${r}`)}})}catch(t){console.warn(t)}return}}catch(t){if(t instanceof R)return console.warn(t),void i(0,"permission_needed",null,null,t.info?.fileHandle);if("ConstraintError"!==t.name)return console.warn(t),void i(0,"An unexpected error occured: "+t.toString(),null,null);console.log("already being added, just continue..."),n=await this.colldb.get("colls",r)}e.postMessage({msg_type:"collAdded",name:r,sourceUrl:n?.config.sourceUrl});break}case"cancelLoad":{const e=t.data.name,r=new Promise(t=>Yb[e]=t);await r,await this.deleteColl(e),delete Yb[e];break}case"removeColl":{const r=t.data.name;await this.hasCollection(r)&&(await this.deleteColl(r),this.doListAll(e));break}case"listAll":this.doListAll(e);break;case"reload":this.reload(t.data.name)}}async doListAll(t){const e=[],r=await this.listAll();for(const t of r)e.push({name:t.name,prefix:t.name,pageList:[],sourceName:t.config.sourceName});t.postMessage({msg_type:"listAll",colls:e})}async addCollection(t,e){let r=t.name,i="";const n={root:t.root||!1};let s=null,a=null;const c=t.file;if(!c?.sourceUrl)return e(0,"Invalid Load Request"),!1;if(n.dbname="db:"+r,c.sourceUrl.startsWith("proxy:"))n.sourceUrl=c.sourceUrl.slice(6),n.extraConfig=t.extraConfig,n.extraConfig.prefix||(n.extraConfig.prefix=n.sourceUrl),n.topTemplateUrl=t.topTemplateUrl,n.metadata={},i=t.type||n.extraConfig.type||"remotewarcproxy",s=await this._initStore(i,n);else{let l=null,h=null;if(c.newFullImport&&(r=b(),c.loadUrl=c.loadUrl||c.sourceUrl,c.name=c.name||c.sourceUrl,c.sourceUrl="local://"+r),i="archive",c.newFullImport&&c.importCollId){const t=await this.colldb.get("colls",c.importCollId);if(!t||"archive"!==t.type)return e(0,"Invalid Existing Collection: "+c.importCollId),!1;n.dbname=t.config.dbname,a=t.config,a&&(a.decode=!0)}let u=c.loadUrl||c.sourceUrl;u.match(/[\w]+:\/\//)||(u=new URL(u,self.location.href).href),n.decode=!0,n.onDemand=!1,n.loadUrl=u,n.sourceUrl=c.sourceUrl;let p=c.name||c.sourceUrl;try{if(p.match(/https?:\/\//)){const t=new URL(p);p=t.pathname+t.hash}}catch(t){}if(n.sourceName=p.slice(p.lastIndexOf("/")+1),n.size="number"==typeof c.size?c.size:null,n.extra=c.extra,n.loadUrl.startsWith("file://")&&!c.blob&&!n.extra){if(!this._fileHandles||!this._fileHandles[n.sourceUrl])return e(0,"missing_local_file"),!1;n.extra={fileHandle:this._fileHandles[n.sourceUrl]}}n.extraConfig=t.extraConfig,n.headers=c.headers||n.extraConfig?.headers,n.noCache=c.noCache;let d=await aa({url:u,headers:n.headers,size:c.size,extra:n.extra,blob:c.blob});if(c.loadEager){const{response:t}=await d.doInitialFetch(!1,!0),e={arrayBuffer:new Uint8Array(await t.arrayBuffer())};c.newFullImport=!0,d=await aa({url:u,headers:n.headers,size:c.size,extra:e})}let f=function(t){const e=[".warc",".warc.gz",".cdx",".cdxj",".har",".json",".wacz"];for(const r of e)if(t.endsWith(r))return r;if(t.endsWith(".wacz.zip"))return".wacz"}(n.sourceName);const{abort:g,response:m}=await d.doInitialFetch(".wacz"===f,!1);f||(f=await ks(await m.clone()));const y=m.body;if(n.onDemand=d.canLoadOnDemand&&!c.newFullImport,!d.isValid){const t=d.length&&d.length<=1e3?await m.text():"";return e(0,`Sorry, this URL could not be loaded.\nMake sure this is a valid URL and you have access to this file.\nStatus: ${m.status} ${m.statusText}\nError Details:\n${t}`),g&&g.abort(),!1}if(!d.length)return e(0,"Sorry, this URL could not be loaded because the size of the file is not accessible.\nMake sure this is a valid URL and you have access to this file."),g&&g.abort(),!1;const w=d.length;if(".wacz"===f){if(n.onDemand)l=new jb(d,n,r),h=new Gb(n,d,"wacz"),i="wacz";else{if(!d.canLoadOnDemand||!c.newFullImport)return e(0,"Sorry, can't load this WACZ file due to lack of range request support on the server"),g&&g.abort(),!1;l=new Wb(d,n,r),h=null,delete n.extra}const t=d.getFullBuffer();t&&(n.extra={arrayBuffer:t,...n.extra||{}})}else!y||".warc"!==f&&".warc.gz"!==f?!y||".cdx"!==f&&".cdxj"!==f?".har"===f?(l=new xa(await m.json()),n.decode=!1):".json"===f&&(h=new Gb(n,d,"json"),l=new Qb(m),i="multiwacz"):(n.remotePrefix=t.remotePrefix||u.slice(0,u.lastIndexOf("/")+1),l=new Ca(y,g,r),i="remoteprefix",h=new ba(n.dbname,n.remotePrefix,n.headers,n.noCache)):n.noCache||!(w<o)&&n.onDemand?(l=new Ta(y,g,r),i="remotesource",h=new Aa(n.dbname,d,n.noCache)):l=new Ao(y,g,r);if(!l)return e(0,`The ${n.sourceName} is not a known archive format that could be loaded.`),g&&g.abort(),!1;h||(h=new go(n.dbname)),await h.initing;try{n.metadata=await l.load(h,e,w)}catch(t){return t instanceof N||(e(0,`Unexpected Loading Error: ${t.toString()}`),console.warn(t)),!1}if(a)return await this.updateSize(c.importCollId,w,w,a.decode),{config:a,type:"",name:""};n.metadata.size||(n.metadata.size=w),n.metadata.title||(n.metadata.title=n.sourceName),s=h}n.ctime=(new Date).getTime(),this._fileHandles&&n.extra?.fileHandle&&delete this._fileHandles[n.sourceUrl];const l={name:r,type:i,config:n};return await this.colldb.add("colls",l),l.store=s,l}}let Jb;class Zb{timeRanges={};updateStats(t,e,r,i){const n=i.clientId||i.resultingClientId;if(!n||!t)return;if(!r.url||r.url.indexOf("mp_/")<0)return;if("document"===r.destination&&e>300&&e<400)return;let s;void 0===this.timeRanges[n]?(s={count:0,children:new Set},this.timeRanges[n]=s,r.referrer.indexOf("mp_/")>0&&Jb.clients.matchAll({type:"window"}).then(t=>this.updateStatsParent(n,r.referrer,t))):s=this.timeRanges[n];const o=t.getTime();(!s.min||o<s.min)&&(s.min=o),(!s.max||o>s.max)&&(s.max=o),s.count++}updateStatsParent(t,e,r){for(const i of r)if(i.url===e){this.timeRanges[i.id]||(this.timeRanges[i.id]={count:0,children:new Set}),this.timeRanges[i.id].children.add(t);break}}async getStats(t){const e=new URL(t.request.url);let r="";const i=new URLSearchParams(e.search).get("url"),n=await Jb.clients.matchAll({type:"window"}),s={};for(const t of n)t.url===i&&(r=t.id),s[t.id]=1;const o=this.timeRanges[r]||{},a={count:o.count||0,min:o.min,max:o.max},c=this.timeRanges[r]&&this.timeRanges[r].children;for(const t of c.values()){const e=this.timeRanges[t];e&&(e.min&&(!a.min||e.min<a.min)&&(a.min=e.min),e.max&&(!a.max||e.max>a.max)&&(a.max=e.max),a.count+=e.count)}for(const t of Object.keys(this.timeRanges))s[t]||delete this.timeRanges[t];return new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"}})}}var $b=function(){return $b=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},$b.apply(this,arguments)},tE=function(t){return void 0===t&&(t={}),{arrayFormat:t.arrayFormat||"none",booleanFormat:t.booleanFormat||"none",nullFormat:t.nullFormat||"default"}},eE=function(t){return encodeURIComponent(t)},rE=function(t){return decodeURIComponent(t)},iE=function(t,e,r){return null===e?function(t,e){return"hidden"===e.nullFormat?"":"string"===e.nullFormat?t+"=null":t}(t,r):"boolean"==typeof e?function(t,e,r){return"empty-true"===r.booleanFormat&&e?t:t+"="+("unicode"===r.booleanFormat?e?"✓":"✗":e.toString())}(t,e,r):Array.isArray(e)?function(t,e,r){var i=function(t){return"index"===t.arrayFormat?function(t,e){return t+"["+e+"]"}:"brackets"===t.arrayFormat?function(t){return t+"[]"}:function(t){return t}}(r);return e.map(function(e,r){return i(t,r)+"="+eE(e)}).join("&")}(t,e,r):t+"="+eE(e)},nE=function(t){var e=t.indexOf("?");return-1===e?t:t.slice(e+1)},sE=function(t){var e=t.indexOf("["),r=-1!==e;return{hasBrackets:r,name:r?t.slice(0,e):t}},oE=function(t,e){var r=tE(e);return nE(t).split("&").reduce(function(t,e){var i=e.split("="),n=i[0],s=i[1],o=sE(n),a=o.hasBrackets,c=o.name,l=t[c],h=function(t,e){if(void 0===t)return"empty-true"===e.booleanFormat||null;if("string"===e.booleanFormat){if("true"===t)return!0;if("false"===t)return!1}if("unicode"===e.booleanFormat){if("✓"===rE(t))return!0;if("✗"===rE(t))return!1}return"string"===e.nullFormat&&"null"===t?null:rE(t)}(s,r);return t[c]=void 0===l?a?[h]:h:(Array.isArray(l)?l:[l]).concat(h),t},{})},aE=/[^!$'()*+,;|:]/g,cE=function(t){return t.replace(aE,function(t){return encodeURIComponent(t)})},lE={default:cE,uri:encodeURI,uriComponent:encodeURIComponent,none:function(t){return t},legacy:encodeURI},hE={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:function(t){return t},legacy:decodeURIComponent},uE=function(t,e,r){var i=lE[e]||cE;return r?String(t).split("/").map(i).join("/"):i(String(t))},pE=function(t){return"("+(t?t.replace(/(^<|>$)/g,""):"[a-zA-Z0-9-_.~%':|=+\\*@$]+")+")"},dE=[{name:"url-parameter",pattern:/^:([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(pE(t[2]))}},{name:"url-parameter-splat",pattern:/^\*([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/,regex:/([^?]*)/},{name:"url-parameter-matrix",pattern:/^;([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(";"+t[1]+"="+pE(t[2]))}},{name:"query-parameter",pattern:/^(?:\?|&)(?::)?([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/},{name:"delimiter",pattern:/^(\/|\?)/,regex:function(t){return new RegExp("\\"+t[0])}},{name:"sub-delimiter",pattern:/^(!|&|-|_|\.|;)/,regex:function(t){return new RegExp(t[0])}},{name:"fragment",pattern:/^([0-9a-zA-Z]+)/,regex:function(t){return new RegExp(t[0])}}],fE=function t(e,r){if(void 0===r&&(r=[]),!dE.some(function(i){var n=e.match(i.pattern);return!!n&&(r.push({type:i.name,match:n[0],val:n.slice(1,2),otherVal:n.slice(2),regex:i.regex instanceof Function?i.regex(n):i.regex}),n[0].length<e.length&&(r=t(e.substr(n[0].length),r)),!0)}))throw new Error("Could not parse path '"+e+"'");return r},gE=function(t){return null!=t},mE={urlParamsEncoding:"default"},yE=function(){function t(t,e){if(!t)throw new Error("Missing path in Path constructor");this.path=t,this.options=$b($b({},mE),e),this.tokens=fE(t),this.hasUrlParams=this.tokens.filter(function(t){return/^url-parameter/.test(t.type)}).length>0,this.hasSpatParam=this.tokens.filter(function(t){return/splat$/.test(t.type)}).length>0,this.hasMatrixParams=this.tokens.filter(function(t){return/matrix$/.test(t.type)}).length>0,this.hasQueryParams=this.tokens.filter(function(t){return/^query-parameter/.test(t.type)}).length>0,this.spatParams=this.getParams("url-parameter-splat"),this.urlParams=this.getParams(/^url-parameter/),this.queryParams=this.getParams("query-parameter"),this.params=this.urlParams.concat(this.queryParams),this.source=this.tokens.filter(function(t){return void 0!==t.regex}).map(function(t){return t.regex.source}).join("")}return t.createPath=function(e,r){return new t(e,r)},t.prototype.isQueryParam=function(t){return-1!==this.queryParams.indexOf(t)},t.prototype.isSpatParam=function(t){return-1!==this.spatParams.indexOf(t)},t.prototype.test=function(t,e){var r=this,i=$b($b({caseSensitive:!1,strictTrailingSlash:!1},this.options),e),n=function(t,e){return e||"\\/"===t?t:t.replace(/\\\/$/,"")+"(?:\\/)?"}(this.source,i.strictTrailingSlash),s=this.urlTest(t,n+(this.hasQueryParams?"(\\?.*$|$)":"$"),i.caseSensitive,i.urlParamsEncoding);if(!s||!this.hasQueryParams)return s;var o=oE(t,i.queryParams),a=Object.keys(o).filter(function(t){return!r.isQueryParam(t)});return 0===a.length?(Object.keys(o).forEach(function(t){return s[t]=o[t]}),s):null},t.prototype.partialTest=function(t,e){var r=this,i=$b($b({caseSensitive:!1,delimited:!0},this.options),e),n=function(t,e){return e?/(\/)$/.test(t)?t:t+"(\\/|\\?|\\.|;|$)":t}(this.source,i.delimited),s=this.urlTest(t,n,i.caseSensitive,i.urlParamsEncoding);if(!s)return s;if(!this.hasQueryParams)return s;var o=oE(t,i.queryParams);return Object.keys(o).filter(function(t){return r.isQueryParam(t)}).forEach(function(t){return function(t,e,r){void 0===r&&(r="");var i=t[e];return t[e]=void 0===i?r:Array.isArray(i)?i.concat(r):[i,r],t}(s,t,o[t])}),s},t.prototype.build=function(t,e){var r=this;void 0===t&&(t={});var i=$b($b({ignoreConstraints:!1,ignoreSearch:!1,queryParams:{}},this.options),e),n=Object.keys(t).filter(function(t){return!r.isQueryParam(t)}).reduce(function(e,n){if(!gE(t[n]))return e;var s=t[n],o=r.isSpatParam(n);return"boolean"==typeof s?e[n]=s:Array.isArray(s)?e[n]=s.map(function(t){return uE(t,i.urlParamsEncoding,o)}):e[n]=uE(s,i.urlParamsEncoding,o),e},{});if(this.urlParams.some(function(e){return!gE(t[e])})){var s=this.urlParams.filter(function(e){return!gE(t[e])});throw new Error("Cannot build path: '"+this.path+"' requires missing parameters { "+s.join(", ")+" }")}if(!i.ignoreConstraints&&!this.tokens.filter(function(t){return/^url-parameter/.test(t.type)&&!/-splat$/.test(t.type)}).every(function(t){return new RegExp("^"+pE(t.otherVal[0])+"$").test(n[t.val])}))throw new Error("Some parameters of '"+this.path+"' are of invalid format");var o=this.tokens.filter(function(t){return!1===/^query-parameter/.test(t.type)}).map(function(t){return"url-parameter-matrix"===t.type?";"+t.val+"="+n[t.val[0]]:/^url-parameter/.test(t.type)?n[t.val[0]]:t.match}).join("");if(i.ignoreSearch)return o;var a=this.queryParams.filter(function(e){return-1!==Object.keys(t).indexOf(e)}).reduce(function(e,r){return e[r]=t[r],e},{}),c=function(t,e){var r=tE(e);return Object.keys(t).filter(function(e){return void 0!==t[e]}).map(function(e){return iE(e,t[e],r)}).filter(Boolean).join("&")}(a,i.queryParams);return c?o+"?"+c:o},t.prototype.getParams=function(t){var e=t instanceof RegExp?function(e){return t.test(e.type)}:function(e){return e.type===t};return this.tokens.filter(e).map(function(t){return t.val[0]})},t.prototype.urlTest=function(t,e,r,i){var n=this,s=new RegExp("^"+e,r?"":"i"),o=t.match(s);return o?this.urlParams.length?o.slice(1,this.urlParams.length+1).reduce(function(t,e,r){return t[n.urlParams[r]]=(hE[i]||decodeURIComponent)(e),t},{}):{}:null},t}();class wE{routes={};constructor(t){for(const[e,r]of Object.entries(t)){let t,i;r instanceof Array?(t=r[0],i=r[1]||"GET"):(t=r,i="GET"),this.routes[i]=this.routes[i]||{},this.routes[i][e]=new yE(t)}}match(t,e="GET"){for(const[r,i]of Object.entries(this.routes[e]||[])){const e=t.split("?",2),n=e[0],s=i.test(n);if(s)return s._route=r,s._query=new URLSearchParams(2===e.length?e[1]:""),s}return{_route:null}}}class AE{router;collections;constructor(t){this.router=new wE(this.routes),this.collections=t}get routes(){return{index:"coll-index",coll:"c/:coll",urls:"c/:coll/urls",urlsTs:"c/:coll/ts/",createColl:["c/create","POST"],deleteColl:["c/:coll","DELETE"],updateAuth:["c/:coll/updateAuth","POST"],updateMetadata:["c/:coll/metadata","POST"],curated:"c/:coll/curated/:list",pages:"c/:coll/pages",textIndex:"c/:coll/textIndex",deletePage:["c/:coll/page/:page","DELETE"]}}async apiResponse(t,e,r){const i=this.router.match(t,e.method),n=await this.handleApi(e,i,r);if(n instanceof Response)return n;const s=n.error?404:200;return this.makeResponse(n,s)}async handleApi(t,e,r){switch(e._route){case"index":return await this.listAll(e._query.get("filter"));case"createColl":{const e=await t.json();return T(await this.collections.initNewColl(e.metadata||{},e.extraConfig||{}))}case"coll":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=T(t);return"1"===e._query.get("all")?(t.store.db?(r.pages=await t.store.getAllPages(),r.lists=await t.store.db.getAll("pageLists"),r.curatedPages=await t.store.db.getAll("curatedPages"),t.store instanceof Gb&&(r.canQueryPages=!!t.store.pagesQueryUrl)):(r.pages=[],r.lists=[],r.curatedPages=[]),r.verify=await t.store.getVerifyInfo()):t.store.db?(r.numLists=await t.store.db.count("pageLists"),r.numPages=await t.store.db.count("pages")):(r.numLists=0,r.numPages=0),t.config.metadata.ipfsPins&&(r.ipfsPins=t.config.metadata.ipfsPins),r}case"deleteColl":{const t="1"===e._query.get("reload");return await this.collections.deleteColl(e.coll,t)?await this.listAll():{error:"collection_not_found"}}case"updateAuth":{const r=await t.json();return{success:await this.collections.updateAuth(e.coll,r.headers)}}case"updateMetadata":{const r=await t.json();return{metadata:await this.collections.updateMetadata(e.coll,r)}}case"urls":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url"),i=Number(e._query.get("count")||100),n=e._query.get("mime"),s="1"===e._query.get("prefix"),o=e._query.get("fromUrl"),a=e._query.get("fromTs"),c=e._query.get("fromMime"),l=Number(e._query.get("fromStatus")||0);if(!t.store.resourcesByMime)return{urls:[]};let h;return h=r?await t.store.resourcesByUrlAndMime(r,n,i,s,o,a):await t.store.resourcesByMime(n,i,c,o,l),h=h||[],{urls:h}}case"urlsTs":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url");return{timestamps:await t.store.getTimestampsByURL(r)}}case"pages":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};let r;if(t.store instanceof Gb){const i=e._query.get("search"),n=Number(e._query.get("page"))||1,s=Number(e._query.get("pageSize"))||25;if(i||n>1){const{pages:e,total:r}=await t.store.queryPages(i,n,s);return{pages:e,total:r}}r=t.store.totalPages}return{pages:await t.store.getAllPages(),total:r}}case"textIndex":{const t=await this.collections.getColl(e.coll);return t?t.store.getTextIndex?await t.store.getTextIndex():{}:{error:"collection_not_found"}}case"curated":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=Number(e.list);return t.store.db?{curated:await t.store.db.getAllFromIndex("curatedPages","listPages",IDBKeyRange.bound([r],[r+1]))}:{curated:[]}}case"deletePage":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const{pageSize:r,dedupSize:i}=await t.store.deletePage(e.page);return this.collections.updateSize(e.coll,r,i),{pageSize:r,dedupSize:i}}default:return{error:"not_found"}}}async listAll(t){const e=await this.collections.listAll(),r=[];return e.forEach(e=>{"live"!==e.type&&"remoteproxy"!==e.type&&(t&&!e.type.startsWith(t)||r.push(T(e)))}),{colls:r}}makeResponse(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json"}})}}const bE=/^(?::([\w-]+)\/)?(\d*)([a-z]+_|[$][a-z0-9:.-]+)?(?:\/|\||%7C|%7c)(.+)/;class EE{url="";timestamp="";mod="";pageId="";hash="";cookie="";isProxyOrigin=!1;proxyOrigin;proxyScheme="";localOrigin;httpToHttpsNeeded=!1;altProxyOrigins;proxyTLD;localTLD;request;method;mode;_proxyReferrer="";_postToGetConverted=!1;constructor(t,e,{isRoot:r=!1,mod:i="",ts:n="",proxyOrigin:s,localOrigin:o,proxyTLD:a,localTLD:c,defaultReplayMode:l=!1,altProxyOrigins:h}={}){const u=bE.exec(t);if(this.timestamp=n,this.mod=i,this.request=e,this.method=e.method,this.mode=e.mode,!u&&(t.startsWith("https:")||t.startsWith("http:")||t.startsWith("blob:")))this.url=t;else if(!u&&r)this.url="https://"+t;else{if(!u)return void(this.url="");this.pageId=u[1]||"",this.timestamp=u[2]||"",this.mod=u[3]||"",this.url=u[4]||""}s&&o&&!l&&(this.url=vE(s,o,this.url),this.request.referrer&&(this._proxyReferrer=vE(s,o,this.request.referrer)),this.isProxyOrigin=!0,this.proxyOrigin=s,this.altProxyOrigins=h,this.proxyScheme=s?new URL(s).protocol.slice(0,-1):"",this.localOrigin=o,this.httpToHttpsNeeded="http"===this.proxyScheme&&o.startsWith("https:"),this.proxyTLD=a||"",this.localTLD=c||"");const p=this.url.indexOf("#");p>0&&(this.hash=this.url.slice(p),this.url=this.url.substring(0,p))}get headers(){return this.request.headers}get destination(){return this.request.destination}get referrer(){return this._proxyReferrer||this.request.referrer}async convertPostToGet(){if(this._postToGetConverted)return this.url;const t=this.request;if("POST"!==t.method&&"PUT"!==t.method)return this.url;const e={method:t.method,postData:await t.text(),headers:t.headers,url:this.url};return pt(e)&&(this.url=e.url,this.method="GET",this.mode="navigate"===this.request.mode?"same-origin":this.request.mode,this._postToGetConverted=!0),this.url}prepareProxyRequest(t,e=!0){let r,i,n;if(e){r=new Headers(this.request.headers),i=this.request.referrer;const e=i.indexOf("/http",t.length-1);e>0&&(i=i.slice(e+1),r.set("X-Proxy-Referer",i)),n=this.request.credentials,this.cookie&&r.set("X-Proxy-Cookie",this.cookie)}else r=new Headers,n="omit";let s=this.url;if(s.startsWith("//")&&i)try{s=new URL(i).protocol+s}catch(t){s="https:"+s}return{referrer:i,headers:r,credentials:n,url:s}}async getBody(){const t=this.request.clone();return new Uint8Array(await t.arrayBuffer())}}function vE(t,e,r){const i=new URL(r);return i.origin===e?t+i.pathname+(i.search?i.search:""):r}const _E="x-wabac-is-ajax-req";class xE extends Xb{prefixes;colls;inited;root;defaultConfig;constructor(t,e=null,r={}){super(self),this.prefixes=t,this.colls={},this.inited=null,this.root=e,this.defaultConfig=r,this._fileHandles={}}_createCollection(t){return new Ns(t,this.prefixes,this.defaultConfig)}async loadAll(t){return this.colls={},this.inited=super.loadAll(t),this.inited}async getColl(t){return this.colls[t]||(this.colls[t]=await this.loadColl(t)),this.colls[t]}async reload(t){delete this.colls[t],await this.getColl(t)}async addCollection(t,e){const r=await super.addCollection(t,e);return r&&r.name&&(this.root===r.name&&(r.config.root=!0),this.colls[r.name]=this._createCollection(r)),r}async deleteColl(t,e=!1){return this.colls[t]&&(this.colls[t].store&&await this.colls[t].store.delete(),this._fileHandles&&e&&this.colls[t].config.extra?.fileHandle&&(this._fileHandles[this.colls[t].config.sourceUrl]=this.colls[t].config.extra.fileHandle)),!!await super.deleteColl(t)&&(delete this.colls[t],!0)}async initNewColl(t,e={},r="archive"){const i=await super.initNewColl(t,e,r);return i&&(this.colls[i.name]=i),i}async updateAuth(t,e){return this.colls[t]&&this.colls[t].store.updateHeaders&&this.colls[t].store.updateHeaders(e),await super.updateAuth(t,e)}async updateMetadata(t,e){const r=await super.updateMetadata(t,e);return this.colls[t]&&r&&(this.colls[t].config.metadata=r,this.colls[t].metadata=r),r}async updateSize(t,e,r,i){const n=await super.updateSize(t,e,r,i);return this.colls[t]&&n&&(this.colls[t].config.metadata=n,this.colls[t].metadata=n),void 0!==i&&this.colls[t]&&(this.colls[t].config.decode=i),n}}class IE{prefix;replayPrefix;staticPrefix;distPrefix;proxyPrefix;staticData;collections;proxyOriginMode;api;apiPrefix;allowRewrittenCache;topFramePassthrough=!1;allowProxyPassthrough=!1;stats;constructor({staticData:t=null,ApiClass:e=AE,defaultConfig:r={},CollectionsClass:i=xE}={}){this.prefix=self.registration?self.registration.scope:"";const n=new URLSearchParams(self.location.search);if(this.proxyOriginMode=!!n.get("proxyOriginMode"),this.proxyOriginMode)this.replayPrefix=this.prefix+"__wb_proxy/",this.staticPrefix=this.replayPrefix+"static/",this.proxyPrefix="https://wab.ac/proxy/",this.apiPrefix="https://wab.ac/api/";else{const t=n.get("replayPrefix")??"w";this.topFramePassthrough=!t,this.replayPrefix=this.prefix+t+(t?"/":""),this.staticPrefix=this.prefix+"static/",this.proxyPrefix=this.staticPrefix+"proxy/",this.apiPrefix=this.replayPrefix+"api/"}var s;if(s=this.replayPrefix,h+=`; frame-src data: about: blob: ${self.location.origin}${self.location.pathname} ${s}`,this.distPrefix=this.prefix+"dist/",this.staticData=t||new Map,this.staticData.set(this.staticPrefix+"wombat.js",{type:"application/javascript",content:'(()=>{"use strict";function t(){this._map=[]}function e(t,e){void 0!==self.Symbol&&void 0!==self.Symbol.toStringTag&&Object.defineProperty(t.prototype,self.Symbol.toStringTag,{value:e,enumerable:!1})}function r(t){for(var e,r,i=t.__proto__||t.constructor.prototype||t.prototype,o=Object.getOwnPropertyNames(i),n=o.length,s=0;s<n;s++)r=t[e=o[s]],"constructor"!==e&&"function"==typeof r&&(t[e]=r.bind(t))}t.prototype.set=function(t,e){this._map.push([t,e])},t.prototype.get=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return this._map[e][1];return null},t.prototype.find=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return e;return-1},t.prototype.add_or_get=function(t,e){var r=this.get(t);return r||(r=e(),this.set(t,r)),r},t.prototype.remove=function(t){var e=this.find(t);return e>=0?this._map.splice(e,1)[0][1]:null},t.prototype.map=function(t){for(var e=0;e<this._map.length;e++)this._map[e][1](t)};var i={yes:!1},o=Symbol("__wb__storage_WOMBAT"),n=Symbol("__wb__storage_TYPE");function s(t,e,r){if(i.yes)throw new TypeError("Illegal constructor");if(r&&r.length)for(var s=0;s<r.length;s++)this[r[s][0]]=r[s][1].toString();Object.defineProperty(this,o,{value:t,enumerable:!1}),Object.defineProperty(this,n,{value:e,enumerable:!1})}function a(t,e,r){var i=new s(t,e,r);return t.$wbwindow.Proxy&&(i=new t.$wbwindow.Proxy(i,{get:function(t,e){var r=t.__proto__;if("__proto__"===e)return r;if(r.hasOwnProperty(e)||r.__proto__&&r.__proto__.hasOwnProperty(e)){var i=t[e];return"function"==typeof i&&(i=i.bind(t)),i}return t.hasOwnProperty(e)?t.getItem(e):void 0},set:function(t,e,r){return t.__proto__.hasOwnProperty(e)?(t[e]=r,!0):(t.setItem(e,r),!0)}})),t.defGetterProp(t.$wbwindow,e,function(){return i}),i}function h(t,e){for(var r in Object.defineProperties(this,{_orig_loc:{configurable:!0,enumerable:!1,value:t},wombat:{configurable:!0,enumerable:!1,value:e},orig_getter:{enumerable:!1,value:function(t){return this._orig_loc[t]}},orig_setter:{enumerable:!1,value:function(t,e){this._orig_loc[t]!=e&&(this._orig_loc[t]=e)}}}),e.initLocOverride(this,this.orig_setter,this.orig_getter),e.setLoc(this,t.href),t)this.hasOwnProperty(r)||"function"==typeof t[r]||(this[r]=t[r])}function w(t,e){if(!(this instanceof w))return new w(t,e);this.elemSelector="img[srcset], img[data-srcset], img[data-src], video[srcset], video[data-srcset], video[data-src], audio[srcset], audio[data-srcset], audio[data-src], picture > source[srcset], picture > source[data-srcset], picture > source[data-src], video > source[srcset], video > source[data-srcset], video > source[data-src], audio > source[srcset], audio > source[data-srcset], audio > source[data-src]",this.wombat=t,this.$wbwindow=t.$wbwindow,this.worker=null,r(this),this._initWorker(e)}s.prototype.getItem=function(t){return this.hasOwnProperty(t)?this[t]:null},s.prototype.setItem=function(t,e){var r=String(t),i=String(e),o=this.getItem(r);this[r]=e,this.fireEvent(r,o,i)},s.prototype._deleteItem=function(t){delete this[t]},s.prototype.removeItem=function(t){var e=this.getItem(t);this._deleteItem(t),this.fireEvent(t,e,null)},s.prototype.clear=function(){for(var t in this)delete this[t];this.fireEvent(null,null,null)},s.prototype.key=function(t){var e=function(t){try{switch(typeof t){case"number":case"bigint":return t}var e=Number(t);return isNaN(e)?null:e}catch(t){}return null}(t);if(null==e||e<0)return null;var r=Object.keys(this);return e<r.length?r[e]:null},s.prototype.fireEvent=function(t,e,r){var i=new StorageEvent("storage",{key:t,newValue:r,oldValue:e,url:this[o].$wbwindow.WB_wombat_location.href});Object.defineProperty(i,"storageArea",{value:this,writable:!1,configurable:!1}),i._storageArea=this,this[o].storage_listeners.map(i)},s.prototype.valueOf=function(){return this[o].$wbwindow[this[n]]},s.prototype.toString=function(){return"[object Storage]"},Object.defineProperty(s.prototype,"length",{enumerable:!1,get:function(){return Object.keys(this).length}}),e(s,"Storage"),h.prototype.replace=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.replace(e)},h.prototype.assign=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.assign(e)},h.prototype.reload=function(t){},h.prototype.toString=function(){return this.href},h.prototype.valueOf=function(){return this},e(h,"Location"),w.prototype._initWorker=function(t){var e=this.wombat;if(t.isTop)try{this.worker=new Worker(t.workerURL,{type:"classic",credentials:"include"})}catch(t){console.error("Failed to create auto fetch worker\\n",t)}else this.worker={postMessage:function(t){t.wb_type||(t={wb_type:"aaworker",msg:t}),e.$wbwindow.__WB_replay_top.__orig_postMessage(t,"*")},terminate:function(){}}},w.prototype.extractMediaRulesFromSheet=function(t){var e,r=[];try{e=t.cssRules||t.rules}catch(t){return r}for(var i=0;i<e.length;++i){var o=e[i];o.type===CSSRule.MEDIA_RULE&&r.push(o.cssText)}return r},w.prototype.deferredSheetExtraction=function(t){var e=this;Promise.resolve().then(function(){var r=e.extractMediaRulesFromSheet(t);r.length>0&&e.preserveMedia(r)})},w.prototype.terminate=function(){this.worker.terminate()},w.prototype.justFetch=function(t){this.worker.postMessage({type:"fetch-all",values:t})},w.prototype.fetchAsPage=function(t,e,r){if(t){var i={"X-Wombat-History-Page":e};if(r){var o=encodeURIComponent(r.trim());r&&(i["X-Wombat-History-Title"]=o)}var n={url:t,options:{headers:i,cache:"no-store"}};this.justFetch([n])}},w.prototype.postMessage=function(t,e){if(e){var r=this;Promise.resolve().then(function(){r.worker.postMessage(t)})}else this.worker.postMessage(t)},w.prototype.preserveSrcset=function(t,e){this.postMessage({type:"values",srcset:{value:t,mod:e,presplit:!0}},!0)},w.prototype.preserveDataSrcset=function(t){this.postMessage({type:"values",srcset:{value:t.dataset.srcset,mod:this.rwMod(t),presplit:!1}},!0)},w.prototype.preserveMedia=function(t){this.postMessage({type:"values",media:t},!0)},w.prototype.getSrcset=function(t){return this.wombat.wb_getAttribute?this.wombat.wb_getAttribute.call(t,"srcset"):t.getAttribute("srcset")},w.prototype.rwMod=function(t){switch(t.tagName){case"SOURCE":return t.parentElement&&"PICTURE"===t.parentElement.tagName?"im_":"oe_";case"IMG":return"im_"}return"oe_"},w.prototype.extractFromLocalDoc=function(){var t=this;Promise.resolve().then(function(){for(var e={type:"values",context:{docBaseURI:document.baseURI}},r=[],i=0,o=document.styleSheets;i<o.length;++i)r=r.concat(t.extractMediaRulesFromSheet(o[i]));var n,s,a,h=document.querySelectorAll(t.elemSelector),w={values:[],presplit:!1},c={values:[]};for(i=0;i<h.length;++i)s=(n=h[i]).src?n.src:null,a=t.rwMod(n),n.srcset&&w.values.push({srcset:t.getSrcset(n),mod:a,tagSrc:s}),n.dataset.srcset&&w.values.push({srcset:n.dataset.srcset,mod:a,tagSrc:s}),n.dataset.src&&c.values.push({src:n.dataset.src,mod:a}),"SOURCE"===n.tagName&&s&&c.values.push({src:s,mod:a});r.length&&(e.media=r),w.values.length&&(e.srcset=w),c.values.length&&(e.src=c),(e.media||e.srcset||e.src)&&t.postMessage(e)})};class c{constructor(t,e,r,i){this.syncXHRCachePending=t.syncXHRCachePending,this.url=r[1],this.method=r[0],this.headers=i,this.store=t.__sessionStorage,this.key=this.getKey(e,t),this.win=t.$wbwindow,this.reload_url=t.wb_info.prefix+t.wb_info.request_ts+"mp_/"+t.wb_info.url,this.throwNeeded=!1,this.wombat=t}getKey(t,e){const r=new URL(t,e.$wbwindow.WB_wombat_location.origin);for(const t of r.searchParams.keys())t.startsWith("_")&&r.searchParams.delete(t);return r.href}addToStorage(t,e){this.store.getItem("__wb_xhr_data:hash:"+t)||this.store.setItem("__wb_xhr_data:hash:"+t,e),this.store.setItem("__wb_xhr_data:url:"+this.key,t),this.syncXHRCachePending.delete(this.key)}getFromStorage(){if(!this.store)return;const t=this.store.getItem("__wb_xhr_data:url:"+this.key);return t?this.store.getItem("__wb_xhr_data:hash:"+t):void 0}async fetchToBlob(){const t=this.url,e=this.method,r={...this.headers,"X-Pywb-Requested-With":"XMLHttpRequest"},i=await fetch(t,{method:e,headers:r}),o=await i.blob();let n=i.headers.get("x-archive-orig-etag");if(!n)try{const t=await crypto.subtle.digest("SHA-1",await o.arrayBuffer());n=Array.from(new Uint8Array(t)).map(t=>t.toString(16).padStart(2,"0")).join("")}catch(t){return void console.log(t)}const s=await new Promise((t,e)=>{const r=new FileReader;r.onloadend=()=>{t(r.result)},r.onerror=e,r.readAsDataURL(o)});if(this.store){try{this.addToStorage(n,s)}catch(t){if("QuotaExceededError"===t.name)for(const t of Array.from(Object.keys(this.store)))t.startsWith("__wb_xhr_data:")&&this.store.removeItem(t);this.addToStorage(n,s)}this.wombat.syncXHRReloadNeeded&&!this.syncXHRCachePending.size&&(this.win.location.href=this.reload_url)}else this.syncXHRCachePending.delete(this.key)}addCacheOverride(t){const e=this.getFromStorage();if(e)return t.__WB_xhr_open_arguments[1]=e,t.__WB_xhr_open_arguments[0]="GET",!0;this.syncXHRCachePending.add(this.key),this.fetchPromise=this.fetchToBlob().catch(t=>console.log(t)),this.throwNeeded=!0}async finishCacheAndReload(){this.fetchPromise&&(this.wombat.syncXHRReloadNeeded=!0,await this.fetchPromise,this.syncXHRCachePending.size||(this.win.location.href=this.reload_url))}reloadIfNeeded(){if(this.throwNeeded)throw this.finishCacheAndReload().catch(t=>console.log(t)),new DOMException("NetworkError","Sync XHR not allowed")}}function p(t,e){return function(r){if(window==e)return t(r)}}function l(t,e,r){var i;return i="function"==typeof t?t:"object"==typeof t?t.handleEvent.bind(t):function(){},function(t){var o;if(t.data&&t.data.from&&t.data.message){if("*"!==t.data.to_origin&&e.WB_wombat_location&&!r.startsWith(t.data.to_origin,e.WB_wombat_location.origin))return void console.warn("Skipping message event to "+t.data.to_origin+" doesn\'t start with origin "+e.WB_wombat_location.origin);var n=t.source;t.data.from_top?n=e.__WB_top_frame:t.data.src_id&&e.__WB_win_id&&e.__WB_win_id[t.data.src_id]&&(n=e.__WB_win_id[t.data.src_id]),(o=new MessageEvent("message",{bubbles:t.bubbles,cancelable:t.cancelable,data:t.data.message,origin:t.data.from,lastEventId:t.lastEventId,source:r.proxyToObj(n),ports:t.ports}))._target=t.target,o._srcElement=t.srcElement,o._currentTarget=t.currentTarget,o._eventPhase=t.eventPhase}else o=t;return i(o)}}function _(t){let e;e="string"==typeof t?t:t?.length?t.reduce((t,e)=>t+=String.fromCharCode(e),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function u(t,e=0){let{method:r,headers:i,postData:o=""}=t;if("GET"===r)return!1;let n=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(i);function s(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let a="";switch(n.split(";")[0]){case"application/x-www-form-urlencoded":a=s(o);break;case"application/json":a=f(s(o));break;case"text/plain":try{a=f(s(o),!1)}catch{a=_(o)}break;case"multipart/form-data":if(!n)throw new Error("utils cannot call postToGetURL when missing content-type header");a=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],o=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of o){let e=t.trim().match(/name="([^"]+)"\\r\\n\\r\\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(s(o),n);break;default:a=_(o)}if(null!=a){e>0&&a.length>e&&(a=a.slice(0,e)),t.requestBody=a;try{a=decodeURI(a)}catch{a=""}return t.url=function(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}(t.url,a,t.method),t.method="GET",!0}return!1}function d(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},o=(t,e="")=>{let n="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)o(t[r],e)}else try{for(let[e,r]of Object.entries(t))o(r,e)}catch{null===t&&(n="null")}["string","number","boolean"].includes(typeof t)&&(n=t.toString()),n&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),n)};try{o(t)}catch(t){if(!e)throw t}return r}function f(t="",e=!0){return d(t,e).toString()}var b=["warc-concurrent-to","warc-protocol"],y=",,,";function v(t){let e=t.toLowerCase();if(e.startsWith("warc-")&&!b.includes(e))throw new Error("Invalid multi value WARC header: "+t);return!0}Map,Symbol.iterator;function m(e,i){if(!(this instanceof m))return new m(e,i);this.debug_rw=!1,this.$wbwindow=e,this.WBWindow=Window,this.URL=URL,this.origHost=e.location.host,this.origHostname=e.location.hostname,this.origProtocol=e.location.protocol,this.HTTP_PREFIX="http://",this.HTTPS_PREFIX="https://",this.REL_PREFIX="//",this.VALID_PREFIXES=[this.HTTP_PREFIX,this.HTTPS_PREFIX,this.REL_PREFIX],this.IGNORE_PREFIXES=["#","about:","data:","blob:","mailto:","javascript:","{","*"],"ignore_prefixes"in i&&(this.IGNORE_PREFIXES=this.IGNORE_PREFIXES.concat(i.ignore_prefixes)),this.WB_CHECK_THIS_FUNC="_____WB$wombat$check$this$function_____",this.WB_ASSIGN_FUNC="_____WB$wombat$assign$function_____",this.SKIP_OWN_FUNC_PROPS=["name","length","__WB_is_native_func__","arguments","caller","callee","prototype"],this.OVERRIDE_PROPS=["window","self","document","location","top","parent","frames","opener"],this.wb_setAttribute=e.Element.prototype.setAttribute,this.wb_getAttribute=e.Element.prototype.getAttribute,this.wb_funToString=Function.prototype.toString,this.WBAutoFetchWorker=null,this.wbUseAFWorker=i.enable_auto_fetch&&null!=e.Worker&&i.is_live,this.wb_rel_prefix="",this.wb_wombat_updating=!1,this.message_listeners=new t,this.storage_listeners=new t,this.linkAsTypes={script:"js_",worker:"js_",style:"cs_",image:"im_",document:"if_",fetch:"mp_",font:"oe_",audio:"oe_",video:"oe_",embed:"oe_",object:"oe_",track:"oe_","":"mp_",null:"mp_",undefined:"mp_"},this.linkTagMods={linkRelToAs:{import:this.linkAsTypes,preload:this.linkAsTypes},stylesheet:"cs_",null:"mp_",undefined:"mp_","":"mp_"},this.tagToMod={A:{href:"mp_"},AREA:{href:"mp_"},AUDIO:{src:"oe_",poster:"im_"},BASE:{href:"mp_"},EMBED:{src:"oe_"},FORM:{action:"mp_"},FRAME:{src:"fr_"},IFRAME:{src:"if_"},IMAGE:{href:"im_","xlink:href":"im_"},IMG:{src:"im_",srcset:"im_"},INPUT:{src:"oe_"},INS:{cite:"mp_"},META:{content:"mp_"},OBJECT:{data:"oe_",codebase:"oe_"},Q:{cite:"mp_"},SCRIPT:{src:"js_","xlink:href":"js_"},SOURCE:{src:"oe_",srcset:"oe_"},TRACK:{src:"oe_"},VIDEO:{src:"oe_",poster:"im_"},image:{href:"im_","xlink:href":"im_"}},this.URL_PROPS=["href","hash","pathname","host","hostname","protocol","origin","search","port"],this.wb_info=i,this.wb_opts=i.wombat_opts,this.wb_replay_prefix=i.prefix,this.wb_is_proxy=this.wb_info.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=e.location.protocol+"//"+e.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=this.wb_info.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+this.wb_info.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,this.wb_capture_date_part="",!this.wb_info.is_live&&this.wb_info.wombat_ts&&(this.wb_capture_date_part="/"+this.wb_info.wombat_ts+"/"),this.BAD_PREFIXES=["http:"+this.wb_replay_prefix,"https:"+this.wb_replay_prefix,"http:/"+this.wb_replay_prefix,"https:/"+this.wb_replay_prefix],this.hostnamePortRe=/^[\\w-]+(\\.[\\w-_]+)+(:\\d+)(\\/|$)/,this.ipPortRe=/^\\d+\\.\\d+\\.\\d+\\.\\d+(:\\d+)?(\\/|$)/,this.workerBlobRe=/__WB_pmw\\(.*?\\)\\.(?=postMessage\\()/g,this.rmCheckThisInjectRe=/_____WB\\$wombat\\$check\\$this\\$function_____\\(.*?\\)/g,this.STYLE_REGEX=/(url\\s*\\(\\s*[\\\\"\']*)([^)\'"]+)([\\\\"\']*\\s*\\))/gi,this.IMPORT_REGEX=/(@import\\s*[\\\\"\']*)([^)\'";]+)([\\\\"\']*\\s*;?)/gi,this.IMPORT_JS_REGEX=/^(import\\s*\\([\'"]+)([^\'"]+)(["\'])/i,this.IMPORT_JS_CALL=/[^$.]\\bimport\\s*\\(/g,this.no_wombatRe=/WB_wombat_/g,this.srcsetRe=/\\s*(\\S*\\s+[\\d.]+[wx]),|(?:\\s*,(?:\\s+|(?=https?:)))/,this.cookie_path_regex=/\\bPath=\'?"?([^;\'"\\s]+)/i,this.cookie_domain_regex=/\\bDomain=([^;\'"\\s]+)/i,this.cookie_expires_regex=/\\bExpires=([^;\'"]+)/gi,this.SetCookieRe=/,(?![|])/,this.IP_RX=/^(\\d)+\\.(\\d)+\\.(\\d)+\\.(\\d)+$/,this.REPLACE_MOD=/(\\/[\\d]*)([\\w]+_)(?=\\/)/,this.FullHTMLRegex=/^\\s*<(?:html|head|body|frameset|frame|!doctype html)/i,this.IsTagRegex=/^\\s*</,this.DotPostMessageRe=/(\\.postMessage\\s*\\()/,this.extractPageUnderModifierRE=/\\/(?:[0-9]{14})?([a-z]{2, 3}_)\\//,this.write_buff="";var o=(e.EventTarget||{}).prototype;this.utilFns={cspViolationListener:function(t){if(console.group("CSP Violation"),console.log("Replayed Page URL",window.WB_wombat_location.href),console.log("The documentURI",t.documentURI),console.log("The blocked URL",t.blockedURI),console.log("The directive violated",t.violatedDirective),console.log("Our policy",t.originalPolicy),t.sourceFile){var e="File: "+t.sourceFile;t.lineNumber&&t.columnNumber?e+=" @ "+t.lineNumber+":"+t.columnNumber:t.lineNumber&&(e+=" @ "+t.lineNumber),console.log(e)}console.groupEnd()},addEventListener:o.addEventListener,removeEventListener:o.removeEventListener,objToString:Object.prototype.toString,wbSheetMediaQChecker:null,XHRopen:null,XHRsend:null},this.showCSPViolations={yesNo:!1,added:!1},r(this)}m.prototype._internalInit=function(){this.initTopFrame(this.$wbwindow),this.initWombatLoc(this.$wbwindow),this.initWombatTop(this.$wbwindow);var t=this.$wbwindow.__WB_replay_top.location.origin,e=this.$wbwindow.__WB_replay_top.location.host,r=this.$wbwindow.__WB_replay_top.location.protocol;this.wb_replay_prefix&&0===this.wb_replay_prefix.indexOf(t)?this.wb_rel_prefix=this.wb_replay_prefix.substring(t.length):this.wb_rel_prefix=this.wb_replay_prefix,this.wb_prefixes=[this.wb_abs_prefix,this.wb_rel_prefix];var i="(("+r+")?//"+e+")?"+this.wb_rel_prefix+"[^/]+/";this.wb_unrewrite_rx=new RegExp(i,"g"),this.wb_info.is_framed&&"bn_"!==this.wb_info.mod&&this.initTopFrameNotify(this.wb_info),this.initAutoFetchWorker()},m.prototype._addRemoveCSPViolationListener=function(t){this.showCSPViolations.yesNo=t,this.showCSPViolations.yesNo&&!this.showCSPViolations.added?(this.showCSPViolations.added=!0,this._addEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener)):(this.showCSPViolations.added=!1,this._removeEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener))},m.prototype._addEventListener=function(t,e,r){if(this.utilFns.addEventListener)return this.utilFns.addEventListener.call(t,e,r);t.addEventListener(e,r)},m.prototype._removeEventListener=function(t,e,r){if(this.utilFns.removeEventListener)return this.utilFns.removeEventListener.call(t,e,r);t.removeEventListener(e,r)},m.prototype.getPageUnderModifier=function(){try{var t=this.extractPageUnderModifierRE.exec(location.pathname);if(t&&t[1])return t[1].trim()||"mp_"}catch(t){}return"mp_"},m.prototype.isNativeFunction=function(t){return!(!t||"function"!=typeof t)&&(-1!=this.wb_funToString.call(t).indexOf("[native code]")&&(void 0===t.__WB_is_native_func__||!!t.__WB_is_native_func__))},m.prototype.isString=function(t){return null!=t&&Object.getPrototypeOf(t)===String.prototype},m.prototype.blobUrlForIframe=function(t,e){var r=new Blob([e],{type:"text/html"}),i=this.URL.createObjectURL(r),o=this.URL;t.__wb_blobSrc=i,t.addEventListener("load",function(){t.__wb_blobSrc&&(o.revokeObjectURL(t.__wb_blobSrc),t.__wb_blobSrc=null)},{once:!0}),t.__wb_origSrc=t.src;var n=i.slice(i.lastIndexOf("/")+1)+"/"+this.wb_info.url;t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/blob:"+n},m.prototype.isSavedSrcSrcset=function(t){switch(t.tagName){case"IMG":case"VIDEO":case"AUDIO":return!0;case"SOURCE":if(!t.parentElement)return!1;switch(t.parentElement.tagName){case"PICTURE":case"VIDEO":case"AUDIO":return!0;default:return!1}default:return!1}},m.prototype.isSavedDataSrcSrcset=function(t){return!(!t.dataset||null==t.dataset.srcset)&&this.isSavedSrcSrcset(t)},m.prototype.isHostUrl=function(t){if(0===t.indexOf("www."))return!0;var e=t.match(this.hostnamePortRe);return!!(e&&e[0].length<64)||!!(e=t.match(this.ipPortRe))&&e[0].length<64},m.prototype.isArgumentsObj=function(t){if(!t||"function"!=typeof t.toString)return!1;try{return"[object Arguments]"===this.utilFns.objToString.call(t)}catch(t){return!1}},m.prototype.deproxyArrayHandlingArgumentsObj=function(t){if(!t||t instanceof NodeList||!t.length)return t;for(var e=this.isArgumentsObj(t)?new Array(t.length):t,r=0;r<t.length;++r){const i=this.proxyToObj(t[r]);i!==e[r]&&(e[r]=i)}return e},m.prototype.startsWith=function(t,e){if(t)return 0===t.indexOf(e)?e:void 0},m.prototype.startsWithOneOf=function(t,e){if(t)for(var r=0;r<e.length;r++)if(0===t.indexOf(e[r]))return e[r]},m.prototype.endsWith=function(t,e){if(t)return-1!==t.indexOf(e,t.length-e.length)?e:void 0},m.prototype.shouldRewriteAttr=function(t,e){switch(e){case"href":case"src":case"xlink:href":return!0}return!(!t||!this.tagToMod[t]||void 0===this.tagToMod[t][e])||("VIDEO"===t&&"poster"===e||"META"===t&&"content"===e)},m.prototype.skipWrapScriptBasedOnType=function(t){return!!t&&(!(t.indexOf("javascript")>=0||t.indexOf("ecmascript")>=0)&&(t.indexOf("json")>=0||t.indexOf("text/")>=0))},m.prototype.skipWrapScriptTextBasedOnText=function(t,e){if(!t||t.indexOf(this.WB_ASSIGN_FUNC)>=0||0===t.indexOf("<"))return!0;let r=!1;for(const i of this.OVERRIDE_PROPS){t.indexOf(i)>=0&&(t.indexOf("var "+i)>=0&&e.push(i),r=!0)}return!r},m.prototype.nodeHasChildren=function(t){if(!t)return!1;if("function"==typeof t.hasChildNodes)return t.hasChildNodes();var e=t.children||t.childNodes;return!!e&&e.length>0},m.prototype.rwModForElement=function(t,e){if(t){var r="mp_";if("LINK"===t.tagName&&"href"===e){if(t.rel){var i=t.rel.trim().toLowerCase(),o=this.wb_getAttribute.call(t,"as");if(o&&null!=this.linkTagMods.linkRelToAs[i])r=this.linkTagMods.linkRelToAs[i][o.toLowerCase()];else null!=this.linkTagMods[i]&&(r=this.linkTagMods[i])}}else{if("SCRIPT"===t.tagName)return"module"===t.type?"esm_":"js_";var n=this.tagToMod[t.tagName];null!=n&&(r=n[e])}return r}},m.prototype.removeWBOSRC=function(t){"SCRIPT"!==t.tagName||t.__$removedWBOSRC$__||(t.hasAttribute("__wb_orig_src")&&t.removeAttribute("__wb_orig_src"),t.__$removedWBOSRC$__=!0)},m.prototype.retrieveWBOSRC=function(t){var e;if("SCRIPT"===t.tagName&&!t.__$removedWBOSRC$__)return null==(e=this.wb_getAttribute?this.wb_getAttribute.call(t,"__wb_orig_src"):t.getAttribute("__wb_orig_src"))&&(t.__$removedWBOSRC$__=!0),e},m.prototype.wrapScriptTextJsProxy=function(t,e=[]){let r="var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\\n{\\n";for(const t of this.OVERRIDE_PROPS)e.includes(t)||(r+=`let ${t} = _____WB$wombat$assign$function_____("${t}");\\n`);return r+="{\\n",t=t.replace(this.IMPORT_JS_CALL,t=>t.replace("import","____wb_rewrite_import__")),r+(t=t.replace(this.DotPostMessageRe,".__WB_pmw(self.window)$1"))+"\\n\\n}}"},m.prototype.watchElem=function(t,e){if(!this.$wbwindow.MutationObserver)return!1;new this.$wbwindow.MutationObserver(function(t,r){for(var i=0;i<t.length;i++){var o=t[i];if("childList"===o.type)for(var n=0;n<o.addedNodes.length;n++)e(o.addedNodes[n])}}).observe(t,{childList:!0,subtree:!0})},m.prototype.reconstructDocType=function(t){return null==t?"":"<!doctype "+t.name+(t.publicId?\' PUBLIC "\'+t.publicId+\'"\':"")+(!t.publicId&&t.systemId?" SYSTEM":"")+(t.systemId?\' "\'+t.systemId+\'"\':"")+">"},m.prototype.getFinalUrl=function(t,e,r){var i=t?this.wb_rel_prefix:this.wb_abs_prefix;return null==e&&(e=this.wb_info.mod),this.wb_info.is_live||(i+=this.wb_info.wombat_ts),"/"!==(i+=e)[i.length-1]&&(i+="/"),i+r},m.prototype.resolveRelUrl=function(t,e){var r=this;function i(t){return!(!t||!t.baseURI)&&(t.baseURI.startsWith(r.HTTPS_PREFIX)||t.baseURI.startsWith(r.HTTP_PREFIX))}var o=null;return o=i(e)?e.baseURI:i(this.$wbwindow.document)?this.$wbwindow.document.baseURI:this.$wbwindow.__WB_replay_top.document.baseURI,new this.URL(t,o).href},m.prototype.extractOriginalURL=function(t){if(!t)return"";if(this.wb_is_proxy)return t;var e,r=t.toString(),i=r;if(this.startsWithOneOf(i,this.IGNORE_PREFIXES))return i;if(i.startsWith(this.wb_info.static_prefix))return i;e=this.startsWith(i,this.wb_abs_prefix)?this.wb_abs_prefix.length:this.wb_rel_prefix&&this.startsWith(i,this.wb_rel_prefix)?this.wb_rel_prefix.length:this.wb_rel_prefix?1:0;var o=i.indexOf("/http",e);return o<0&&(o=i.indexOf("///",e)),o<0&&(o=i.indexOf("/blob:",e)),o<0&&(o=i.indexOf("/about:blank",e)),o>=0?i=i.substr(o+1):((o=i.indexOf(this.wb_replay_prefix))>=0&&(i=i.substr(o+this.wb_replay_prefix.length)),i.length>4&&"_"===i.charAt(2)&&"/"===i.charAt(3)&&(i=i.substr(4)),i===r||this.startsWithOneOf(i,this.VALID_PREFIXES)||this.startsWith(i,"blob:")||(i=this.wb_orig_scheme+i)),"/"===r.charAt(0)&&"/"!==r.charAt(1)&&this.startsWith(i,this.wb_orig_origin)&&(i=i.substr(this.wb_orig_origin.length)),this.startsWith(i,this.REL_PREFIX)?this.wb_info.wombat_scheme+":"+i:i},m.prototype.makeParser=function(t,e){var r=this.extractOriginalURL(t),i=e;return e||(i="about:blank"===this.$wbwindow.location.href&&this.$wbwindow.opener?this.$wbwindow.opener.document:this.$wbwindow.document),this._makeURLParser(r,i)},m.prototype._makeURLParser=function(t,e){try{return new this.URL(t,e.baseURI)}catch(t){}var r=e.createElement("a");return r._no_rewrite=!0,r.href=t,r},m.prototype.defProp=function(t,e,r,i,o){var n=Object.getOwnPropertyDescriptor(t,e);if(n&&!n.configurable)return!1;if(!i)return!1;var s={configurable:!0,enumerable:o||!1,get:i};r&&(s.set=r);try{return Object.defineProperty(t,e,s),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},m.prototype.defGetterProp=function(t,e,r,i){var o=Object.getOwnPropertyDescriptor(t,e);if(o&&!o.configurable)return!1;if(!r)return!1;try{return Object.defineProperty(t,e,{configurable:!0,enumerable:i||!1,get:r}),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},m.prototype.getOrigGetter=function(t,e){var r;if(t.__lookupGetter__&&(r=t.__lookupGetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.get)}return r},m.prototype.getOrigSetter=function(t,e){var r;if(t.__lookupSetter__&&(r=t.__lookupSetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.set)}return r},m.prototype.getAllOwnProps=function(t){for(var e=[],r=Object.getOwnPropertyNames(t),i=0;i<r.length;i++){var o=r[i];try{t[o]&&!t[o].prototype&&e.push(o)}catch(t){}}for(var n=Object.getPrototypeOf(t);n;){for(r=Object.getOwnPropertyNames(n),i=0;i<r.length;i++)e.push(r[i]);n=Object.getPrototypeOf(n)}return e},m.prototype.sendTopMessage=function(t,e,r){(r=r||this.$wbwindow).__WB_top_frame&&(e||r==r.__WB_replay_top)&&r.__WB_top_frame.postMessage(t,this.wb_info.top_host)},m.prototype.sendHistoryUpdate=function(t,e,r){this.sendTopMessage({url:t,ts:this.wb_info.timestamp,request_ts:this.wb_info.request_ts,is_live:this.wb_info.is_live,title:e,wb_type:"replace-url"},!1,r)},m.prototype.updateLocation=function(t,e,r){if(t&&t!==e){var i=this.extractOriginalURL(e),o=this.extractOriginalURL(t);if(i&&i!==o){var n=this.rewriteUrl(t);console.log(r.href+" -> "+n),r.href=n}}},m.prototype.checkLocationChange=function(t,e){var r=typeof t,i=e?this.$wbwindow.__WB_replay_top.location:this.$wbwindow.location;"string"===r?this.updateLocation(t,i.href,i):"object"===r&&this.updateLocation(t.href,t._orig_href,i)},m.prototype.checkAllLocations=function(){if(this.wb_wombat_updating)return!1;this.wb_wombat_updating=!0,this.checkLocationChange(this.$wbwindow.WB_wombat_location,!1),this.$wbwindow.WB_wombat_location!=this.$wbwindow.__WB_replay_top.WB_wombat_location&&this.checkLocationChange(this.$wbwindow.__WB_replay_top.WB_wombat_location,!0),this.wb_wombat_updating=!1},m.prototype.proxyToObj=function(t){if(t)try{var e=t.__WBProxyRealObj__;if(e)return e}catch(t){}return t},m.prototype.objToProxy=function(t){if(t)try{var e=t._WB_wombat_obj_proxy;if(e)return e}catch(t){}return t},m.prototype.defaultProxyGet=function(t,e,r,i){switch(e){case"__WBProxyRealObj__":return t;case"location":case"WB_wombat_location":return t.WB_wombat_location;case"_WB_wombat_obj_proxy":return t._WB_wombat_obj_proxy;case"__WB_pmw":case this.WB_ASSIGN_FUNC:case this.WB_CHECK_THIS_FUNC:return t[e];case"origin":return t.WB_wombat_location.origin;case"constructor":return t.constructor}var o=Reflect.get(t,e),n=Object.getOwnPropertyDescriptor(t,e);if(void 0!==n&&"value"in n&&!1===n.writable&&!1===n.configurable)return o;var s=typeof o;if("string"===s&&o){var a=parseInt(e);if(o&&!isNaN(a))try{return this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}catch(t){}}else{if("function"===s&&-1!==r.indexOf(e)){switch(e){case"requestAnimationFrame":case"cancelAnimationFrame":if(!this.isNativeFunction(o))return o;break;case"eval":if(this.isNativeFunction(o))return this.wrappedEval(o)}var h=i[e];if(!h||h.original!==o){const r=o.bind(t);for(const t of Object.getOwnPropertyNames(o))if(!this.SKIP_OWN_FUNC_PROPS.includes(t))try{r[t]=o[t]}catch(t){}return i[e]={original:o,boundFn:r},r}return h.boundFn}if("object"===s&&o&&o._WB_wombat_obj_proxy)return o instanceof this.WBWindow&&this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}return o},m.prototype.setLoc=function(t,e){var r=this.makeParser(e,t.ownerDocument);t._orig_href=e,t._parser=r;var i=r.href;t._hash=r.hash,t._href=i,t._host=r.host,t._hostname=r.hostname,r.origin?t._origin=r.host?r.origin:"null":t._origin=r.protocol+"//"+r.hostname+(r.port?":"+r.port:""),t._pathname=r.pathname,t._port=r.port,t._protocol=r.protocol,t._search=r.search,Object.defineProperty||(t.href=i,t.hash=r.hash,t.host=t._host,t.hostname=t._hostname,t.origin=t._origin,t.pathname=t._pathname,t.port=t._port,t.protocol=t._protocol,t.search=t._search)},m.prototype.makeGetLocProp=function(t,e){var r=this;return function(){if(this._no_rewrite)return e.call(this,t);"maybeHref"===t&&(t="href");var i=e.call(this,"href");return"href"===t?r.extractOriginalURL(i):"ancestorOrigins"===t?[]:(this._orig_href!==i&&r.setLoc(this,i),this["_"+t])}},m.prototype.makeSetLocProp=function(t,e,r){var i=this;return function(o){if(this._no_rewrite)return e.call(this,t,o);if("maybeHref"===t){if("string"!=typeof o)return o;t="href"}if(this["_"+t]!==o){this["_"+t]=o;var n=r.call(this),s=i.makeParser(n,this.ownerDocument),a=!1;if("href"===t&&"string"==typeof o)if(o&&s instanceof i.URL)try{o=new i.URL(o,s).href}catch(t){console.warn("Error resolving URL",t)}else o&&("."===o[0]||"#"===o[0]?o=i.resolveRelUrl(o,this.ownerDocument):"/"===o[0]&&(o.length>1&&"/"===o[1]?o=s.protocol+o:(a=!0,o=WB_wombat_location.origin+o)));try{s[t]=o}catch(e){console.log("Error setting "+t+" = "+o)}"hash"===t?(o=s[t],e.call(this,"hash",o)):(a=a||o===s.pathname,o=i.rewriteUrl(s.href,a),e.call(this,"href",o))}}},m.prototype.styleReplacer=function(t,e,r,i,o,n){return e+this.rewriteUrl(r)+i},m.prototype.domConstructorErrorChecker=function(t,e,r,i){var o,n="number"==typeof i?i:1;if(t instanceof this.WBWindow?o="Failed to construct \'"+e+"\': Please use the \'new\' operator, this DOM object constructor cannot be called as a function.":r&&r.length<n&&(o="Failed to construct \'"+e+"\': "+n+" argument required, but only 0 present."),o)throw new TypeError(o)},m.prototype.rewriteNodeFuncArgs=function(t,e,r,i){if(r)switch(r.nodeType){case Node.ELEMENT_NODE:this.rewriteElemComplete(r);break;case Node.TEXT_NODE:("STYLE"===t.tagName||r.parentNode&&"STYLE"===r.parentNode.tagName)&&(r.textContent=this.rewriteStyle(r.textContent));break;case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(r)}var o=e.call(t,r,i);if(o&&"IFRAME"===o.tagName){const t=o.allow?`; ${o.allow}`:"";o.allow=`autoplay \'self\'; fullscreen \'self\'${t}`,this.initIframeWombat(o)}return o},m.prototype.rewriteWSURL=function(t){if(!t)return t;var e=typeof t,r=t;if("object"===e)r=t.toString();else if("string"!==e)return t;if(!r)return r;var i="ws://",o="wss://";if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(r,o)?i+r.substr(6):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(r,i)?o+r.substr(5):r;var n=0===this.wb_abs_prefix.indexOf(this.HTTPS_PREFIX),s=this.wb_abs_prefix.replace(n?this.HTTPS_PREFIX:this.HTTP_PREFIX,n?o:i);return s+=this.wb_info.wombat_ts+"ws_","/"!==r[r.length-1]&&(s+="/"),s+r.replace("WB_wombat_","")},m.prototype.rewriteUrl_=function(t,e,r,i){if(!t)return t;var o,n,s=typeof t;if("object"===s)o=t.toString();else{if("string"!==s)return t;o=t.trim()}if(!o)return o;if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(o,this.HTTPS_PREFIX)?this.HTTP_PREFIX+o.substr(this.HTTPS_PREFIX.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(o,this.HTTP_PREFIX)?this.HTTPS_PREFIX+o.substr(this.HTTP_PREFIX.length):o;if(o=o.replace("WB_wombat_",""),"if_"===r&&this.wb_info.isSW&&this.startsWith(o,"blob:"))return this.wb_info.prefix+this.wb_info.request_ts+"if_/"+o;if(this.startsWithOneOf(o.toLowerCase(),this.IGNORE_PREFIXES))return o;if(this.wb_opts.no_rewrite_prefixes&&this.startsWithOneOf(o,this.wb_opts.no_rewrite_prefixes))return o;if(n=0===o.indexOf("//")?this.origProtocol+o:o,this.startsWith(n,this.wb_abs_prefix)||this.startsWith(n,this.wb_rel_prefix))return o;if(this.origHost!==this.origHostname&&this.startsWith(o,this.origProtocol+"//"+this.origHostname+"/"))return o.replace("/"+this.origHostname+"/","/"+this.origHost+"/");if("/"===o.charAt(0)&&!this.startsWith(o,this.REL_PREFIX)){if(this.wb_capture_date_part&&o.indexOf(this.wb_capture_date_part)>=0)return o;if(0===o.indexOf(this.wb_rel_prefix)&&o.indexOf("http")>1){var a=o.indexOf(":/");return a>0&&"/"!==o[a+2]?o.substring(0,a+2)+"/"+o.substring(a+2):o}return this.getFinalUrl(!0,r,this.wb_orig_origin+o)}"."===o.charAt(0)&&(o=this.resolveRelUrl(o,i));var h=this.startsWithOneOf(o.toLowerCase(),this.VALID_PREFIXES);if(h){var w=this.replayTopHost,c=this.replayTopProtocol,p=h+w+"/";if(this.startsWith(o,p)){if(this.startsWith(o,this.wb_replay_prefix))return o;var l=c+"//",_=o.substring(p.length),u=!1;return _.indexOf(this.wb_rel_prefix)<0&&o.indexOf("/static/")<0&&(_=this.getFinalUrl(!0,r,WB_wombat_location.origin+"/"+_),u=!0),h!==l&&h!==this.REL_PREFIX&&(u=!0),u&&(o=e?"":l+w,_&&"/"!==_[0]&&(o+="/"),o+=_),o}return this.getFinalUrl(e,r,o)}return(h=this.startsWithOneOf(o,this.BAD_PREFIXES))?this.getFinalUrl(e,r,this.extractOriginalURL(o)):o},m.prototype.rewriteUrl=function(t,e,r,i){var o;return o=this.wb_info.rewrite_function?this.wb_info.rewrite_function(t,e,r,i):this.rewriteUrl_(t,e,r,i),this.debug_rw&&(t!==o?console.log("REWRITE: "+t+" -> "+o):console.log("NOT REWRITTEN "+t)),o},m.prototype.performAttributeRewrite=function(t,e,r,i,o){switch(e){case"innerHTML":case"outerHTML":return this.rewriteHtml(r);case"filter":return this.rewriteInlineStyle(r);case"style":return this.rewriteStyle(r);case"srcset":return this.rewriteSrcset(r,t)}if(o&&!this.startsWithOneOf(r,this.VALID_PREFIXES))return r;var n=this.rwModForElement(t,e);t&&this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedDataSrcSrcset(t)&&this.WBAutoFetchWorker.preserveDataSrcset(t);var s=this.rewriteUrl(r,!1,n,i);return"esm_"===n&&s&&s.indexOf("esm_/")<0&&(s=s.replace(this.REPLACE_MOD,"$1esm_")),s},m.prototype.rewriteAttr=function(t,e,r){var i=!1;if(!t||!t.getAttribute||t._no_rewrite||t["_"+e]||t.tagName&&t.tagName.indexOf("-")>0)return i;var o=this.wb_getAttribute.call(this.proxyToObj(t),e);if(!o||this.startsWith(o,"javascript:"))return i;var n=this.performAttributeRewrite(t,e,o,t.ownerDocument,r);return n!==o&&(this.removeWBOSRC(t),this.wb_setAttribute.call(t,e,n),i=!0),i},m.prototype.noExceptRewriteStyle=function(t){try{return this.rewriteStyle(t)}catch(e){return t}},m.prototype.rewriteStyle=function(t){if(!t)return t;var e=t;return"object"==typeof t&&(e=t.toString()),"string"==typeof e?e.replace(this.STYLE_REGEX,this.styleReplacer).replace(this.IMPORT_REGEX,this.styleReplacer).replace(this.no_wombatRe,""):e},m.prototype.rewriteSrcset=function(t,e){if(!t)return"";for(var r=t.split(this.srcsetRe),i=[],o=this.rwModForElement(e,"srcset"),n=0;n<r.length;n++){var s=r[n];if(s){var a=s.trim().split(" ");a[0]=this.rewriteUrl(a[0],!0,o),i.push(a.join(" "))}}return this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedSrcSrcset(e)&&this.WBAutoFetchWorker.preserveSrcset(i,this.WBAutoFetchWorker.rwMod(e)),i.join(", ")},m.prototype.rewriteFrameSrc=function(t,e){var r,i=this.wb_getAttribute.call(t,e);if(this.startsWith(i,"javascript:")&&i.indexOf("WB_wombat_")>=0){var o="javascript:";r=o+"window.parent._wb_wombat.initNewWindowWombat(window);"+i.substr(11)}return r||(r=this.rewriteUrl(i,!1,this.rwModForElement(t,e))),r!==i&&(this.wb_setAttribute.call(t,e,r),!0)},m.prototype.rewriteScript=function(t){if(t.hasAttribute("src")||!t.textContent||!this.$wbwindow.Proxy)return this.rewriteAttr(t,"src");if(this.skipWrapScriptBasedOnType(t.type))return!1;var e=t.textContent.trim(),r=[];return!this.skipWrapScriptTextBasedOnText(e,r)&&(t.textContent=this.wrapScriptTextJsProxy(e,r),this.wb_info.injectDocClose&&t.textContent.trim().length&&(t.textContent+=";document.close();"),!0)},m.prototype.rewriteSVGElem=function(t){var e=this.rewriteAttr(t,"filter");return e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"xlink:href")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"src")||e},m.prototype.rewriteElem=function(t){var e=!1;if(!t)return e;const r=e=>{if(this.wb_info.isSW&&t.parentElement&&"IFRAME"!==t.parentElement.tagName&&"IMG"!==t.parentElement.tagName){var r;let a=!1;const h=t.getAttribute("type")||"";if("application/pdf"===h?r="IFRAME":"image/svg+xml"===h||e&&h.startsWith("image/")?r="IMG":e&&!h.startsWith("application/")&&(r="IFRAME",a=!0),r){for(var i=this.$wbwindow.document.createElement(r),o=0;o<t.attributes.length;o++){var n=t.attributes[o],s=n.name;"data"===s&&(s="src"),this.wb_setAttribute.call(i,s,n.value)}return"IFRAME"===r&&(this.wb_setAttribute.call(i,"style","border: none"),a&&this.wb_setAttribute.call(i,"sandbox","allow-same-origin allow-scripts")),t.parentElement.replaceChild(i,t),!0}}return!1};if(t instanceof SVGElement)e=this.rewriteSVGElem(t);else switch(t.tagName){case"META":var i=this.wb_getAttribute.call(t,"http-equiv");i&&"content-security-policy"===i.toLowerCase()&&(this.wb_setAttribute.call(t,"http-equiv","_"+i),e=!0);break;case"STYLE":var o=this.rewriteStyle(t.textContent);t.textContent!==o&&(t.textContent=o,e=!0,this.wbUseAFWorker&&this.WBAutoFetchWorker&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet));break;case"LINK":e=this.rewriteAttr(t,"href"),this.wbUseAFWorker&&"stylesheet"===t.rel&&this._addEventListener(t,"load",this.utilFns.wbSheetMediaQChecker);break;case"IMG":e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"style")||e,this.wbUseAFWorker&&this.WBAutoFetchWorker&&t.dataset.srcset&&this.WBAutoFetchWorker.preserveDataSrcset(t);break;case"OBJECT":e=r(!1),e=this.rewriteAttr(t,"data",!0),e=this.rewriteAttr(t,"style")||e;break;case"EMBED":e=r(!0),e=this.rewriteAttr(t,"style")||e;break;case"FORM":e=this.rewriteAttr(t,"poster"),e=this.rewriteAttr(t,"action")||e,e=this.rewriteAttr(t,"style")||e;break;case"IFRAME":if(e=this.rewriteFrameSrc(t,"src"),this.wb_info.isSW&&!e){var n=t.getAttribute("srcdoc");if(t.hasAttribute("srcdoc")&&t.removeAttribute("srcdoc"),n)this.blobUrlForIframe(t,n);else{var s=t.getAttribute("src");s&&"about:blank"!==s||(s||(t.__WB_blank=!0),t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/about:blank")}}e=this.rewriteAttr(t,"style")||e;break;case"FRAME":e=this.rewriteFrameSrc(t,"src"),e=this.rewriteAttr(t,"style")||e;break;case"SCRIPT":e=this.rewriteScript(t);break;case"A":if(e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,t.hasAttribute("target")){var a=this.rewriteAttrTarget(t.target);a!==t.target&&(t.target=a,e=!0)}break;default:e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"poster")||e,e=this.rewriteAttr(t,"background")||e}return t.hasAttribute&&t.removeAttribute&&!t._no_rewrite&&(t.hasAttribute("crossorigin")&&(t.removeAttribute("crossorigin"),e=!0),t.hasAttribute("integrity")&&(t.removeAttribute("integrity"),e=!0)),e},m.prototype.recurseRewriteElem=function(t){if(!this.nodeHasChildren(t))return!1;for(var e=!1,r=[t.children||t.childNodes];r.length>0;)for(var i=r.shift(),o=0;o<i.length;o++){var n=i[o];n.nodeType===Node.ELEMENT_NODE&&(e=this.rewriteElem(n)||e,this.nodeHasChildren(n)&&r.push(n.children||n.childNodes))}return e},m.prototype.rewriteElemComplete=function(t){if(!t)return!1;var e=this.rewriteElem(t),r=this.recurseRewriteElem(t);return e||r},m.prototype.rewriteElementsInArguments=function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){var i=t[r];i instanceof Node?(this.rewriteElemComplete(i),e[r]=i):e[r]="string"==typeof i?this.rewriteHtml(i):i}return e},m.prototype.rewriteHtml=function(t,e){if(!t)return t;var r=t;if("string"!=typeof t&&(r=t.toString()),this.write_buff&&(r=this.write_buff+r,this.write_buff=""),r.indexOf("<script")<=0&&r.indexOf("WB_wombat_")>=0&&(r=r.replace(/((id|class)=".*)WB_wombat_([^"]+)/,"$1$3")),!this.$wbwindow.HTMLTemplateElement||this.FullHTMLRegex.test(r))return this.rewriteHtmlFull(r,e);var i=(new DOMParser).parseFromString("<template>"+r+"</template>","text/html");if(!i||!this.nodeHasChildren(i.head)||!i.head.children[0].content)return r;var o=i.head.children[0];if(o._no_rewrite=!0,this.recurseRewriteElem(o.content)){var n=o.innerHTML;if(e){var s=o.content.children&&o.content.children[0];if(s){var a="</"+s.tagName.toLowerCase()+">";if(this.endsWith(n,a)&&!this.endsWith(r.toLowerCase(),a))n=n.substring(0,n.length-a.length);else if(n.trimEnd().endsWith(a)&&!r.trimEnd().endsWith(a)){var h=r.lastIndexOf(a);h>0&&(n+=r.slice(h+a.length))}}else if("<"!==r[0]||">"!==r[r.length-1])return void(this.write_buff+=r)}return n}return r},m.prototype.rewriteHtmlFull=function(t,e){var r=(new DOMParser).parseFromString(t,"text/html");if(!r)return t;for(var i=!1,o=0;o<r.all.length;o++)i=this.rewriteElem(r.all[o])||i;if(i){var n;if(t&&t.indexOf("<html")>=0)r.documentElement._no_rewrite=!0,n=this.reconstructDocType(r.doctype)+r.documentElement.outerHTML;else{r.head._no_rewrite=!0,r.body._no_rewrite=!0;var s=this.nodeHasChildren(r.head),a=this.nodeHasChildren(r.body);if(n=(s?r.head.outerHTML:"")+(a?r.body.outerHTML:""),e)if(r.all.length>3){var h="</"+r.all[3].tagName.toLowerCase()+">";this.endsWith(n,h)&&!this.endsWith(t.toLowerCase(),h)&&(n=n.substring(0,n.length-h.length))}else if("<"!==t[0]||">"!==t[t.length-1])return void(this.write_buff+=t);n=this.reconstructDocType(r.doctype)+n}return n}return t},m.prototype.rewriteInlineStyle=function(t){var e;try{e=decodeURIComponent(t)}catch(r){e=t}if(e!==t){var r=this.rewriteStyle(e).split(",",2);return r[0]+","+encodeURIComponent(r[1])}return this.rewriteStyle(t)},m.prototype.rewriteCookie=function(t){var e=this,r=t.replace(this.wb_abs_prefix,"").replace(this.wb_rel_prefix,"");return r=r.replace(this.cookie_domain_regex,function(t,i){var o={domain:i,cookie:r,wb_type:"cookie"};return e.sendTopMessage(o,!0),e.$wbwindow.location.hostname.indexOf(".")>=0&&!e.IP_RX.test(e.$wbwindow.location.hostname)?"Domain=."+e.$wbwindow.location.hostname:""}).replace(this.cookie_path_regex,function(t,r){var i=e.rewriteUrl(r);return 0===i.indexOf(e.wb_curr_host)&&(i=i.substring(e.wb_curr_host.length)),"Path="+i}),"https:"!==e.$wbwindow.location.protocol&&(r=r.replace("secure","")),r.replace(",|",",")},m.prototype.rewriteWorker=function(t,e){if(!t)return t;var r=0===(t=t.toString()).indexOf("blob:"),i=0===t.indexOf("javascript:"),o=e&&"module"===e.type?"wkrm_":"wkr_";if(!r&&!i){if(this.startsWithOneOf(t,this.wb_prefixes))return t.replace(this.REPLACE_MOD,"$1"+o);if(!this.startsWithOneOf(t,this.VALID_PREFIXES)&&!this.startsWith(t,"/")&&!this.startsWithOneOf(t,this.BAD_PREFIXES)){var n=this.resolveRelUrl(t,this.$wbwindow.document);return this.rewriteUrl(n,!1,o,this.$wbwindow.document)}return this.rewriteUrl(t,!1,o,this.$wbwindow.document)}var s=i?t.replace("javascript:",""):null;if(r){var a=new XMLHttpRequest;this.utilFns.XHRopen.call(a,"GET",t,!1),this.utilFns.XHRsend.call(a),s=a.responseText.replace(this.workerBlobRe,"").replace(this.rmCheckThisInjectRe,"this")}if(this.wb_info.static_prefix||this.wb_info.ww_rw_script){var h=this.$wbwindow.document.baseURI;s="(function() { self.importScripts(\'"+(this.wb_info.ww_rw_script||this.wb_info.static_prefix+"wombatWorkers.js")+"\'); new WBWombat({\'prefix\': \'"+this.wb_abs_prefix+"\', \'prefixMod\': \'"+this.wb_abs_prefix+"wkrf_/\', \'originalURL\': "+JSON.stringify(h)+"}); })();"+s}var w=new Blob([s],{type:"application/javascript"});return this.URL.createObjectURL(w)},m.prototype.rewriteTextNodeFn=function(t,e,r){var i,o=this.proxyToObj(t);if(r.length>0&&o.parentElement&&"STYLE"===o.parentElement.tagName){i=new Array(r.length);var n=r.length-1;2===n?(i[0]=r[0],i[1]=r[1]):1===n&&(i[0]=r[0]),i[n]=this.rewriteStyle(r[n])}else i=r;return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},m.prototype.rewriteChildNodeFn=function(t,e,r){var i=this.proxyToObj(t);if(0===r.length)return e.call(i);var o=this.rewriteElementsInArguments(r);return e.__WB_orig_apply?e.__WB_orig_apply(i,o):e.apply(i,o)},m.prototype.rewriteInsertAdjHTMLOrElemArgs=function(t,e,r,i,o){var n=this.proxyToObj(t);return n._no_rewrite?e.call(n,r,i):o?e.call(n,r,this.rewriteHtml(i)):(this.rewriteElemComplete(i),e.call(n,r,i))},m.prototype.rewriteSetTimeoutInterval=function(t,e,r){var i=this.isString(r[0]),o=i?new Array(r.length):r;if(i){this.$wbwindow.Proxy?o[0]=this.wrapScriptTextJsProxy(r[0]):o[0]=r[0].replace(/\\blocation\\b/g,"WB_wombat_$&");for(var n=1;n<r.length;++n)o[n]=this.proxyToObj(r[n])}var s=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(s,o):e.apply(s,o)},m.prototype.rewriteHTMLAssign=function(t,e,r){var i=r,o=t.tagName;if(!(t._no_rewrite||t instanceof this.$wbwindow.HTMLTemplateElement))if("STYLE"===o)i=this.rewriteStyle(r);else if("SCRIPT"===o){r&&this.IsTagRegex.test(r)&&(i=this.rewriteHtml(r));var n=[];i===r&&(this.skipWrapScriptBasedOnType(t.type)||this.skipWrapScriptTextBasedOnText(r,n)||(i=this.wrapScriptTextJsProxy(i,n)))}else i=this.rewriteHtml(r);e.call(t,i),this.wbUseAFWorker&&this.WBAutoFetchWorker&&"STYLE"===o&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet)},m.prototype.rewriteEvalArg=function(t,e,r){this.$wbwindow.TrustedScript&&e instanceof this.$wbwindow.TrustedScript&&(e=e.toString());var i=[];return t(this.isString(e)&&!this.skipWrapScriptTextBasedOnText(e,i)?this.wrapScriptTextJsProxy(e,i):this.otherEvalRewrite(e),r)},m.prototype.otherEvalRewrite=function(t){return"string"!=typeof t?t:t.replace(this.IMPORT_JS_REGEX,this.styleReplacer)},m.prototype.addEventOverride=function(t,e){var r=e;e||(r=this.$wbwindow.MessageEvent.prototype);var i=this.getOrigGetter(r,t);i&&this.defGetterProp(r,t,function(){return null!=this["_"+t]?this["_"+t]:i.call(this)})},m.prototype.isAttrObjRewrite=function(t){if(!t)return!1;var e=t.ownerElement&&t.ownerElement.tagName;return this.shouldRewriteAttr(e,t.nodeName)},m.prototype.newAttrObjGetSet=function(t,e){var r=this,i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e);this.defProp(t,e,function(t){var e=r.proxyToObj(this),i=t;return r.isAttrObjRewrite(e)&&(i=r.performAttributeRewrite(e.ownerElement,e.name,t,e.ownerDocument,!1)),o.call(e,i)},function(){var t=r.proxyToObj(this),e=i.call(t);return r.isAttrObjRewrite(t)?r.extractOriginalURL(e):e})},m.prototype.overrideAttrProps=function(){var t=this.$wbwindow.Attr.prototype;this.newAttrObjGetSet(t,"value"),this.newAttrObjGetSet(t,"nodeValue"),this.newAttrObjGetSet(t,"textContent")},m.prototype.overrideAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this;this.defProp(t,e,function(t){"js_"===r&&(this.__$removedWBOSRC$__||n.removeWBOSRC(this));var i=n.rewriteUrl(t,!1,"module"===this.type?"esm_":r);return o?o.call(this,i):n.wb_setAttribute?n.wb_setAttribute.call(this,e,i):void 0},function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,e)),t=n.extractOriginalURL(t),this.__WB_blank&&"about:blank"===t?"":t})},m.prototype.overridePropExtract=function(t,e){var r=this.getOrigGetter(t,e),i=this;if(r){this.defGetterProp(t,e,function(){var t=i.proxyToObj(this),e=r.call(t);return t.__WB_no_unrewrite?e:i.extractOriginalURL(e)})}},m.prototype.overrideDeProxyPropAssign=function(t,e){var r=this.getOrigSetter(t,e),i=this.getOrigGetter(t,e),o=this;if(r){this.defProp(t,e,function(t){return r.call(o.proxyToObj(this),o.proxyToObj(t))},i)}},m.prototype.overrideReferrer=function(t){var e=this.getOrigGetter(t,"referrer"),r=this;if(e){this.defGetterProp(t,"referrer",function(){var t=r.proxyToObj(this),i=this.defaultView;if(i===i.__WB_replay_top)return"";var o=e.call(t);return r.extractOriginalURL(o)})}},m.prototype.overridePropToProxy=function(t,e){var r=this.getOrigGetter(t,e);if(r){var i=this;this.defGetterProp(t,e,function(){return i.objToProxy(r.call(this))})}},m.prototype.overrideHistoryFunc=function(t){if(this.$wbwindow.history){var e=this.$wbwindow.history[t];if(e){this.$wbwindow.history["_orig_"+t]=e,this.$wbwindow.history.___wb_ownWindow=this.$wbwindow;var r=this,i=function(t,i,o){var n=this.___wb_ownWindow||r.$wbwindow;o=r.extractOriginalURL(o);var s,a,h=n.WB_wombat_location;if(o){var w=r._makeURLParser(o,n.document);if(a=w.href,s=r.rewriteUrl(a),a!==h.origin&&"about:blank"!==h.href&&!r.startsWith(a,h.origin+"/"))throw new DOMException("Invalid history change: "+a)}else a=h.href;e.call(this,t,i,s);var c=n.document.title;r.WBAutoFetchWorker&&n.setTimeout(function(){i||n.document.title===c||(i=n.document.title),r.WBAutoFetchWorker.fetchAsPage(s,a,i)},100),r.sendHistoryUpdate(a,i,n)};return this.$wbwindow.history[t]=i,this.$wbwindow.History&&this.$wbwindow.History.prototype&&(this.$wbwindow.History.prototype[t]=i),i}}},m.prototype.overrideStyleAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this,s=i,a=function(t,e,r,i,o){return e+(r||"")+n.extractOriginalURL(i)+o},h=/(url\\()([\'"])?(.*?)(\\2\\))/;i||(s=function(){var t=this.getPropertyValue(r);return t&&t.startsWith("url(")&&(t=t.replace(h,a)),t}),(o&&i||r)&&this.defProp(t,e,function(t){var e=n.rewriteStyle(t);return o?o.call(this,e):this.setProperty(r,e),e},s)},m.prototype.overrideStyleSetProp=function(t){var e=t.setProperty,r=this;t.setProperty=function(t,i,o){var n=r.rewriteStyle(i);return e.call(this,t,n,o)}},m.prototype.overrideAnchorAreaElem=function(t){if(t&&t.prototype){for(var e={},r=t.prototype,i=function(t,r){var i=e["set_"+t];return i?i.call(this,r):""},o=function(t){var r=e["get_"+t];return r?r.call(this):""},n=0;n<this.URL_PROPS.length;n++){var s=this.URL_PROPS[n];e["get_"+s]=this.getOrigGetter(r,s),e["set_"+s]=this.getOrigSetter(r,s),Object.defineProperty&&this.defProp(r,s,this.makeSetLocProp(s,i,o),this.makeGetLocProp(s,o),!0)}r.toString=function(){return this.href}}},m.prototype.overrideHtmlAssign=function(t,e,r){if(this.$wbwindow.DOMParser&&t&&t.prototype){var i=t.prototype,o=this.getOrigGetter(i,e),n=this.getOrigSetter(i,e);if(n){var s=this.rewriteHTMLAssign,a=this.wb_unrewrite_rx;this.defProp(i,e,function(t){return s(this,n,t)},r?function(){var t=o.call(this);return this._no_rewrite?t:t.replace(a,"")}:o)}}},m.prototype.overrideHtmlAssignSrcDoc=function(t,e){var r=t.prototype,i=(this.getOrigGetter(r,e),this.getOrigSetter(r,e)),o=this;this.defProp(r,e,function(t){return this.__wb_srcdoc=t,o.wb_info.isSW?(o.blobUrlForIframe(this,t),t):o.rewriteHTMLAssign(this,i,t)},function(){return this.__wb_srcdoc})},m.prototype.overrideDataSet=function(){var t=this.$wbwindow.HTMLElement.prototype,e=this.getOrigGetter(t,"dataset"),r=this;this.defProp(t,"dataset",null,function(){var t=e.call(this);return new Proxy(t,{get(t,e,i){var o=t[e];return"string"==typeof o&&r.startsWithOneOf(o,r.wb_prefixes)?r.extractOriginalURL(o):o}})})},m.prototype.overrideStyleProxy=function(t){var e=this.$wbwindow.HTMLElement.prototype,r=this.getOrigSetter(e,"style"),i=this.getOrigGetter(e,"style"),o=this;this.defProp(e,"style",r,function(){var e=i.call(this),r={};return new Proxy(e,{set:(e,r,i)=>(t.includes(r)&&(i=o.rewriteStyle(i)),e[r]=i,!0),get(t,i,n){var s=t[i];return"function"!=typeof s||"setProperty"!==i&&!o.isNativeFunction(s)?s:(r[i]||(r[i]=s.bind(e)),r[i])}})})},m.prototype.overrideIframeContentAccess=function(t){if(this.$wbwindow.HTMLIFrameElement&&this.$wbwindow.HTMLIFrameElement.prototype){var e=this.$wbwindow.HTMLIFrameElement.prototype,r=this.getOrigGetter(e,t);if(r){var i=this.getOrigSetter(e,t),o=this;this.defProp(e,t,i,function(){return o.initIframeWombat(this),o.objToProxy(r.call(this))}),e["_get_"+t]=r}}},m.prototype.overrideSWAccess=function(t){if(t.navigator.serviceWorker&&t.navigator.serviceWorker.controller){t._WB_wombat_sw=t.navigator.serviceWorker;var e={controller:null,ready:Promise.resolve({unregister:function(){}}),register:function(){return Promise.reject()},addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:function(){return Promise.resolve([])},getRegistration:function(){return Promise.resolve(void 0)},startMessages:function(){}};this.defGetterProp(t.navigator,"serviceWorker",function(){return e})}},m.prototype.overrideFuncThisProxyToObj=function(t,e,r){if(t){var i=r;if(!r&&t.prototype&&t.prototype[e]?i=t.prototype:!r&&t[e]&&(i=t),i){var o=this,n=i[e];i[e]=function(){return n.apply(o.proxyToObj(this),arguments)}}}},m.prototype.overrideFuncArgProxyToObj=function(t,e,r){if(t&&t.prototype){var i=r||0,o=t.prototype[e];if(o){var n=this;t.prototype[e]=function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=e===i?n.proxyToObj(arguments[e]):arguments[e];var r=n.proxyToObj(this);return o.__WB_orig_apply?o.__WB_orig_apply(r,t):o.apply(r,t)}}}},m.prototype.overrideFunctionApply=function(t){if(!t.Function.prototype.__WB_orig_apply){var e=t.Function.prototype.apply;Object.defineProperty(t.Function.prototype,"__WB_orig_apply",{value:e,enumarable:!1});var r=this;t.Function.prototype.apply=function(t,e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_apply(t,e)},this.wb_funToString.apply=e}},m.prototype.overrideFunctionCall=function(t){if(!t.Function.prototype.__WB_orig_call){var e=t.Function.prototype.call;Object.defineProperty(t.Function.prototype,"__WB_orig_call",{value:e,enumarable:!1});var r=this;t.Function.prototype.call=function(t,...e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_call(t,...e)},this.wb_funToString.call=e}},m.prototype.overrideFunctionBind=function(t){if(!t.Function.prototype.__WB_orig_bind){var e=t.Function.prototype.bind;Object.defineProperty(t.Function.prototype,"__WB_orig_bind",{value:e,enumarable:!1});var r=this;t.Function.prototype.bind=function(t){var e=r.isNativeFunction(this),i=e?this.__WB_orig_bind.apply(this,arguments):this.__WB_orig_bind.__WB_orig_apply(this,arguments);return i.__WB_is_native_func__=e,i}}},m.prototype.overrideSrcsetAttr=function(t,e){var r="srcset",i=this.getOrigGetter(t,r),o=this.getOrigSetter(t,r),n=this;this.defProp(t,r,function(t){var e=n.rewriteSrcset(t,this);return o?o.call(this,e):n.wb_setAttribute?n.wb_setAttribute.call(this,r,e):void 0},function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,r)),t=n.extractOriginalURL(t)})},m.prototype.overrideHrefAttr=function(t,e){var r=this.getOrigGetter(t,"href"),i=this.getOrigSetter(t,"href"),o=this;this.defProp(t,"href",function(t){var r;return"string"!=typeof t&&(t=String(t)),r="cs_"===e&&0===t.indexOf("data:text/css")?o.rewriteInlineStyle(t):"LINK"===this.tagName?o.rewriteUrl(t,!1,o.rwModForElement(this,"href")):o.rewriteUrl(t,!1,e,this.ownerDocument),i?i.call(this,r):o.wb_setAttribute?o.wb_setAttribute.call(this,"href",r):void 0},function(){var t;return r?t=r.call(this):o.wb_getAttribute&&(t=o.wb_getAttribute.call(this,"href")),this._no_rewrite?t:o.extractOriginalURL(t)})},m.prototype.overrideTextProtoGetSet=function(t,e){var r,i=this.getOrigGetter(t,e),o=this;if("data"===e){var n=this.getOrigSetter(t,e);r=function(t){var e=t;return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName&&(e=o.rewriteStyle(t)),n.call(this,e)}}this.defProp(t,e,r,function(){var t=i.call(this);return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName?t.replace(o.wb_unrewrite_rx,""):t})},m.prototype.overrideAnUIEvent=function(t){var e="__wb_"+t+"_overridden",r=this.$wbwindow[t];if(r&&r.prototype&&!r.prototype[e]){var i=this;this.overridePropToProxy(r.prototype,"view");var o,n="init"+t;if(r.prototype[n]){var s=r.prototype[n];r.prototype[n]=function(){var t=i.proxyToObj(this);if(0===arguments.length||arguments.length<3)return s.__WB_orig_apply?s.__WB_orig_apply(t,arguments):s.apply(t,arguments);for(var e=new Array(arguments.length),r=0;r<arguments.length;r++)e[r]=3===r?i.proxyToObj(arguments[r]):arguments[r];return s.__WB_orig_apply?s.__WB_orig_apply(t,e):s.apply(t,e)}}this.$wbwindow[t]=(o=r,function(e,r){return i.domConstructorErrorChecker(this,t,arguments),r&&(null!=r.view&&(r.view=i.proxyToObj(r.view)),null!=r.relatedTarget&&(r.relatedTarget=i.proxyToObj(r.relatedTarget)),null!=r.target&&(r.target=i.proxyToObj(r.target))),new o(e,r)}),this.$wbwindow[t].prototype=r.prototype,Object.defineProperty(this.$wbwindow[t].prototype,"constructor",{value:this.$wbwindow[t]}),this.$wbwindow[t].prototype[e]=!0}},m.prototype.rewriteParentNodeFn=function(t,e,r){var i=this._no_rewrite?r:this.rewriteElementsInArguments(r),o=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},m.prototype.overrideParentNodeAppendPrepend=function(t){var e=this.rewriteParentNodeFn;if(t.prototype.append){var r=t.prototype.append;t.prototype.append=function(){return e(this,r,arguments)}}if(t.prototype.prepend){var i=t.prototype.prepend;t.prototype.prepend=function(){return e(this,i,arguments)}}},m.prototype.overrideShadowDom=function(){this.$wbwindow.ShadowRoot&&this.$wbwindow.ShadowRoot.prototype&&(this.overrideHtmlAssign(this.$wbwindow.ShadowRoot,"innerHTML",!0),this.overrideParentNodeAppendPrepend(this.$wbwindow.ShadowRoot))},m.prototype.overrideChildNodeInterface=function(t,e){if(t&&t.prototype){var r=e?this.rewriteTextNodeFn:this.rewriteChildNodeFn;if(t.prototype.before){var i=t.prototype.before;t.prototype.before=function(){return r(this,i,arguments)}}if(t.prototype.after){var o=t.prototype.after;t.prototype.after=function(){return r(this,o,arguments)}}if(t.prototype.replaceWith){var n=t.prototype.replaceWith;t.prototype.replaceWith=function(){return r(this,n,arguments)}}}},m.prototype.initTextNodeOverrides=function(){var t=this.$wbwindow.Text;if(t&&t.prototype){var e=t.prototype,r=this.rewriteTextNodeFn;if(e.appendData){var i=e.appendData;e.appendData=function(){return r(this,i,arguments)}}if(e.insertData){var o=e.insertData;e.insertData=function(){return r(this,o,arguments)}}if(e.replaceData){var n=e.replaceData;e.replaceData=function(){return r(this,n,arguments)}}this.overrideChildNodeInterface(t,!0),this.overrideTextProtoGetSet(e,"data"),this.overrideTextProtoGetSet(e,"wholeText")}},m.prototype.initAttrOverrides=function(){this.overrideHrefAttr(this.$wbwindow.HTMLLinkElement.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.CSSStyleSheet.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.HTMLBaseElement.prototype,"mp_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLImageElement.prototype,"im_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLSourceElement.prototype,"oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLImageElement.prototype,"src","im_"),this.overrideAttr(this.$wbwindow.HTMLInputElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLEmbedElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLMediaElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLSourceElement.prototype,"src","oe_"),window.HTMLTrackElement&&window.HTMLTrackElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLTrackElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLIFrameElement.prototype,"src","if_"),this.$wbwindow.HTMLFrameElement&&this.$wbwindow.HTMLFrameElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLFrameElement.prototype,"src","fr_"),this.overrideAttr(this.$wbwindow.HTMLScriptElement.prototype,"src","js_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"data","oe_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"codebase","oe_"),this.overrideAttr(this.$wbwindow.HTMLMetaElement.prototype,"content","mp_"),this.overrideAttr(this.$wbwindow.HTMLFormElement.prototype,"action","mp_"),this.overrideAttr(this.$wbwindow.HTMLQuoteElement.prototype,"cite","mp_"),this.overrideAttr(this.$wbwindow.HTMLModElement.prototype,"cite","mp_"),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAnchorElement),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAreaElement);var t=this.$wbwindow.CSSStyleDeclaration.prototype,e={background:"background",backgroundImage:"background-image",cursor:"cursor",listStyle:"list-style",listStyleImage:"list-style-image",border:"border",borderImage:"border-image",borderImageSource:"border-image-source",maskImage:"mask-image"};for(var[r,i]of(this.overrideStyleProxy(Object.values(e)),this.$wbwindow.CSS2Properties&&(t=this.$wbwindow.CSS2Properties.prototype),this.overrideStyleAttr(t,"cssText"),Object.entries(e)))this.overrideStyleAttr(t,r,i);if(this.overrideStyleSetProp(t),this.$wbwindow.CSSStyleSheet&&this.$wbwindow.CSSStyleSheet.prototype){var o=this,n=this.$wbwindow.CSSStyleSheet.prototype.insertRule;this.$wbwindow.CSSStyleSheet.prototype.insertRule=function(t,e){return n.call(this,o.rewriteStyle(t),e)}}this.$wbwindow.CSSRule&&this.$wbwindow.CSSRule.prototype&&this.overrideStyleAttr(this.$wbwindow.CSSRule.prototype,"cssText")},m.prototype.initCSSOMOverrides=function(){var t,r=this;if(this.$wbwindow.CSSStyleValue){var i=function(t,e){var i=t[e];t[e]=function(t,e){if(null==e)return i.call(this,t,e);var o=r.noExceptRewriteStyle(e);return i.call(this,t,o)}};this.$wbwindow.CSSStyleValue.parse&&this.$wbwindow.CSSStyleValue.parse.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parse"),this.$wbwindow.CSSStyleValue.parseAll&&this.$wbwindow.CSSStyleValue.parseAll.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parseAll")}if(this.$wbwindow.CSSKeywordValue&&this.$wbwindow.CSSKeywordValue.prototype){var o=this.$wbwindow.CSSKeywordValue;this.$wbwindow.CSSKeywordValue=(t=this.$wbwindow.CSSKeywordValue,function(e){return r.domConstructorErrorChecker(this,"CSSKeywordValue",arguments),new t(r.rewriteStyle(e))}),this.$wbwindow.CSSKeywordValue.prototype=o.prototype,Object.defineProperty(this.$wbwindow.CSSKeywordValue.prototype,"constructor",{value:this.$wbwindow.CSSKeywordValue}),e(this.$wbwindow.CSSKeywordValue,"CSSKeywordValue")}if(this.$wbwindow.StylePropertyMap&&this.$wbwindow.StylePropertyMap.prototype){var n=this.$wbwindow.StylePropertyMap.prototype.set;this.$wbwindow.StylePropertyMap.prototype.set=function(){if(arguments.length<=1)return n.__WB_orig_apply?n.__WB_orig_apply(this,arguments):n.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return n.__WB_orig_apply?n.__WB_orig_apply(this,t):n.apply(this,t)};var s=this.$wbwindow.StylePropertyMap.prototype.append;this.$wbwindow.StylePropertyMap.prototype.append=function(){if(arguments.length<=1)return n.__WB_orig_apply?s.__WB_orig_apply(this,arguments):s.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return s.__WB_orig_apply?s.__WB_orig_apply(this,t):s.apply(this,t)}}},m.prototype.initAudioOverride=function(){if(this.$wbwindow.Audio){var t,r=this.$wbwindow.Audio,i=this;this.$wbwindow.Audio=(t=this.$wbwindow.Audio,function(e){return i.domConstructorErrorChecker(this,"Audio"),new t(i.rewriteUrl(e,!0,"oe_"))}),this.$wbwindow.Audio.prototype=r.prototype,Object.defineProperty(this.$wbwindow.Audio.prototype,"constructor",{value:this.$wbwindow.Audio}),e(this.$wbwindow.Audio,"HTMLAudioElement")}},m.prototype.initBadPrefixes=function(t){this.BAD_PREFIXES=["http:"+t,"https:"+t,"http:/"+t,"https:/"+t]},m.prototype.initCryptoRandom=function(){if(this.$wbwindow.crypto&&this.$wbwindow.Crypto){var t=this,e=function(e){for(var r=0;r<e.length;r++)e[r]=parseInt(4294967296*t.$wbwindow.Math.random());return e};this.$wbwindow.Crypto.prototype.getRandomValues=e,this.$wbwindow.crypto.getRandomValues=e}},m.prototype.initDateOverride=function(t){if(!this.$wbwindow.__wb_Date_now){var e,r=1e3*parseInt(t),i=this.$wbwindow.Date.now()-(r-0),o=this.$wbwindow.Date,n=this.$wbwindow.Date.UTC,s=this.$wbwindow.Date.parse,a=this.$wbwindow.Date.now;this.$wbwindow.__wb_Date_now=a,this.$wbwindow.Date=(e=this.$wbwindow.Date,function(t,r,o,n,s,h,w){return void 0===t?new e(a()-i):void 0===r?new e(t):void 0===o?new e(t,r):void 0===n?new e(t,r,o):void 0===s?new e(t,r,o,n):void 0===h?new e(t,r,o,n,s):void 0===w?new e(t,r,o,n,s,h):new e(t,r,o,n,s,h,w)}),this.$wbwindow.Date.prototype=o.prototype,this.$wbwindow.Date.now=function(){return a()-i},this.$wbwindow.Date.UTC=n,this.$wbwindow.Date.parse=s,this.$wbwindow.Date.__WB_timediff=i,this.$wbwindow.Date.prototype.getTimezoneOffset=function(){return 0};var h=this.$wbwindow.Date.prototype.toString;this.$wbwindow.Date.prototype.toString=function(){return h.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"};var w=this.$wbwindow.Date.prototype.toTimeString;this.$wbwindow.Date.prototype.toTimeString=function(){return w.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"},Object.defineProperty(this.$wbwindow.Date.prototype,"constructor",{value:this.$wbwindow.Date})}},m.prototype.initBlobOverride=function(){if(this.$wbwindow.Blob&&!this.wb_info.isSW){var t,e=this.$wbwindow.Blob,r=this;this.$wbwindow.Blob=(t=this.$wbwindow.Blob,function(e,i){return!i||"application/xhtml+xml"!==i.type&&"text/html"!==i.type||1===e.length&&"string"==typeof e[0]&&r.startsWith(e[0],"<!DOCTYPE html>")&&(e[0]=r.rewriteHtml(e[0]),i.type="text/html"),new t(e,i)}),this.$wbwindow.Blob.prototype=e.prototype}},m.prototype.initIntersectionObsOverride=function(){var t,e=this.$wbwindow.IntersectionObserver,r=this;this.$wbwindow.IntersectionObserver=(t=this.$wbwindow.IntersectionObserver,function(e,i){return i&&i.root&&(i.root=r.proxyToObj(i.root)),new t(e,i)}),this.$wbwindow.IntersectionObserver.prototype=e.prototype,Object.defineProperty(this.$wbwindow.IntersectionObserver.prototype,"constructor",{value:this.$wbwindow.IntersectionObserver})},m.prototype.initWSOverride=function(){this.$wbwindow.WebSocket&&this.$wbwindow.WebSocket.prototype&&(this.$wbwindow.WebSocket=function(){function t(t,e){this.openCallbacks=[];var r=this;this.addEventListener=function(t,e){"open"===t&&r.openCallbacks.push(e)},this.removeEventListener=function(){},this.close=function(){},this.send=function(t){console.log("ws send",t)},this.protocol=e&&e.length?e[0]:"",this.url=t,this.readyState=1,setTimeout(function(){var t=new CustomEvent("open");r.onopen&&r.onopen(t),r.openCallbacks.forEach(e=>e(t))},500)}return t.CONNECTING=0,t.OPEN=1,t.CLOSING=2,t.CLOSED=3,t}(this.$wbwindow.WebSocket),Object.defineProperty(this.$wbwindow.WebSocket.prototype,"constructor",{value:this.$wbwindow.WebSocket}),e(this.$wbwindow.WebSocket,"WebSocket"))},m.prototype.initDocTitleOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"title"),e=this.getOrigSetter(this.$wbwindow.document,"title"),r=this;this.defProp(this.$wbwindow.document,"title",function(t){var i=e.call(this,t),o={wb_type:"title",title:t};return r.sendTopMessage(o),i},t)},m.prototype.initFontFaceOverride=function(){if(this.$wbwindow.FontFace){var t,r=this,i=this.$wbwindow.FontFace;this.$wbwindow.FontFace=(t=this.$wbwindow.FontFace,function(e,i,o){r.domConstructorErrorChecker(this,"FontFace",arguments,2);var n=i;return null!=i&&(n="string"!=typeof i?r.rewriteInlineStyle(i.toString()):r.rewriteInlineStyle(i)),new t(e,n,o)}),this.$wbwindow.FontFace.prototype=i.prototype,Object.defineProperty(this.$wbwindow.FontFace.prototype,"constructor",{value:this.$wbwindow.FontFace}),e(this.$wbwindow.FontFace,"FontFace")}},m.prototype.initFixedRatio=function(t){try{this.$wbwindow.devicePixelRatio=t}catch(t){}if(Object.defineProperty)try{Object.defineProperty(this.$wbwindow,"devicePixelRatio",{value:t,writable:!1})}catch(t){}},m.prototype.initPaths=function(t){t.wombat_opts=t.wombat_opts||{},Object.assign(this.wb_info,t),this.wb_opts=t.wombat_opts,this.wb_replay_prefix=t.prefix,this.wb_is_proxy=t.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=this.$wbwindow.location.protocol+"//"+this.$wbwindow.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=t.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+t.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,!t.is_live&&t.wombat_ts?this.wb_capture_date_part="/"+t.wombat_ts+"/":this.wb_capture_date_part="",this.initBadPrefixes(this.wb_replay_prefix),this.initCookiePreset()},m.prototype.initSeededRandom=function(t){this.$wbwindow.Math.seed=parseInt(t);var e=this;this.$wbwindow.Math.random=function(){return e.$wbwindow.Math.seed=(9301*e.$wbwindow.Math.seed+49297)%233280,e.$wbwindow.Math.seed/233280}},m.prototype.initHistoryOverrides=function(){this.overrideHistoryFunc("pushState"),this.overrideHistoryFunc("replaceState");var t=this;this.$wbwindow.addEventListener("popstate",function(e){t.sendHistoryUpdate(t.$wbwindow.WB_wombat_location.href,t.$wbwindow.document.title)})},m.prototype.initCookiePreset=function(){if(this.wb_info.presetCookie)for(var t=this.wb_info.presetCookie.split(";"),e=0;e<t.length;e++)this.$wbwindow.document.cookie=t[e].trim()+"; Path="+this.rewriteUrl("./",!0)},m.prototype.initHTTPOverrides=function(){var t=this;this.overridePropExtract(this.$wbwindow.XMLHttpRequest.prototype,"responseURL");var r,i,o=!!this.wb_info.convert_post_to_get;if(this.wb_info.isSW||o){var n=this.$wbwindow.XMLHttpRequest.prototype.open,s=this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader,a=this.$wbwindow.XMLHttpRequest.prototype.send;this.utilFns.XHRopen=n,this.utilFns.XHRsend=a,this.$wbwindow.XMLHttpRequest.prototype.open=function(){this.__WB_xhr_open_arguments=arguments,this.__WB_xhr_headers=new Headers},this.$wbwindow.XMLHttpRequest.prototype.setAttributionReporting=function(){},this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader=function(t,e){this.__WB_xhr_headers.set(t,e)};t=this;var h=this.wb_info.isSW&&-1===navigator.userAgent.indexOf("Firefox");h&&(this.syncXHRCachePending=new Set),this.$wbwindow.XMLHttpRequest.prototype.send=async function(e){if(o&&("POST"===this.__WB_xhr_open_arguments[0]||"PUT"===this.__WB_xhr_open_arguments[0])){var r={url:this.__WB_xhr_open_arguments[1],method:this.__WB_xhr_open_arguments[0],headers:this.__WB_xhr_headers,postData:e};u(r)&&(this.__WB_xhr_open_arguments[1]=r.url,this.__WB_xhr_open_arguments[0]="GET",e=null)}const i=this.__WB_xhr_open_arguments[1];if(this._no_rewrite||(this.__WB_xhr_open_arguments[1]=t.rewriteUrl(this.__WB_xhr_open_arguments[1])),h&&this.__WB_xhr_open_arguments.length>2&&!this.__WB_xhr_open_arguments[2]){console.warn("wombat.js: Sync XHR not supported in SW-based replay in this browser, attempt to fetch async and store as data: URI for reuse");const w=new c(t,i,this.__WB_xhr_open_arguments,this.__WB_xhr_headers);if(!w.addCacheOverride(this)){function p(e,r){var i=t.getOrigGetter(e,r);t.defProp(e,r,t=>orig_setter.call(this,t),()=>(w.reloadIfNeeded(),i.call(this)))}p(this,"response"),p(this,"responseText"),p(this,"responseXML")}}if(n.apply(this,this.__WB_xhr_open_arguments),!t.startsWith(this.__WB_xhr_open_arguments[1],"data:")){for(const[l,_]of this.__WB_xhr_headers.entries())s.call(this,l,_);s.call(this,"X-Pywb-Requested-With","XMLHttpRequest")}return a.call(this,e)}}else if(this.$wbwindow.XMLHttpRequest.prototype.open){var w=this.$wbwindow.XMLHttpRequest.prototype.open;this.utilFns.XHRopen=w,this.utilFns.XHRsend=this.$wbwindow.XMLHttpRequest.prototype.send,this.$wbwindow.XMLHttpRequest.prototype.open=function(e,r,i,o,n){var s=this._no_rewrite?r:t.rewriteUrl(r),a=!0;null==i||i||(a=!1),w.call(this,e,s,a,o,n),t.startsWith(s,"data:")||this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(this.$wbwindow.fetch){var p=this.$wbwindow.fetch;this.$wbwindow.fetch=function(e,r){var i;if(e instanceof Request){var o=t.rewriteUrl(e.url);e.__WB_no_unrewrite=!0,i=o===e.url?e:new Request(o,e),delete e.__WB_no_unrewrite}else e=t.rewriteUrl(e.toString()),i=new Request(e,r);return p.call(t.proxyToObj(this),i)}}if(this.$wbwindow.Request&&this.$wbwindow.Request.prototype){var l=this.$wbwindow.Request;this.$wbwindow.Request=(r=this.$wbwindow.Request,function e(i,o){t.domConstructorErrorChecker(this,"Request",arguments);var n=o||{},s=i;switch(typeof i){case"string":s=t.rewriteUrl(i);break;case"object":if(s=i,i.url){var a=t.rewriteUrl(i.url);a!==i.url&&(s=new r(a,i))}else i.href&&(s=t.rewriteUrl(i.toString(),!0))}let h=!1;if(n&&n.referrer){var w=t.rewriteUrl(n.referrer);w!==n.referrer&&(n instanceof e?(n.__WB_no_unrewrite=!0,h=!0):n.referrer=w)}var c=new r(s,n);return h&&delete n.__WB_no_unrewrite,c}),this.$wbwindow.Request.prototype=l.prototype,Object.defineProperty(this.$wbwindow.Request.prototype,"constructor",{value:this.$wbwindow.Request}),this.overridePropExtract(this.$wbwindow.Request.prototype,"url"),this.overridePropExtract(this.$wbwindow.Request.prototype,"referrer")}if(this.$wbwindow.Response&&this.$wbwindow.Response.prototype){var _=this.$wbwindow.Response.prototype.redirect;this.$wbwindow.Response.prototype.redirect=function(e,r){var i=t.rewriteUrl(e,!0,null,t.$wbwindow.document);return _.call(this,i,r)},this.overridePropExtract(this.$wbwindow.Response.prototype,"url")}if(this.$wbwindow.EventSource&&this.$wbwindow.EventSource.prototype){var d=this.$wbwindow.EventSource;this.$wbwindow.EventSource=(i=this.$wbwindow.EventSource,function(e,r){t.domConstructorErrorChecker(this,"EventSource",arguments);var o=e;return null!=e&&(o=t.rewriteUrl(e)),new i(o,r)}),this.$wbwindow.EventSource.prototype=d.prototype,Object.defineProperty(this.$wbwindow.EventSource.prototype,"constructor",{value:this.$wbwindow.EventSource}),e(this.$wbwindow.EventSource,"EventSource")}},m.prototype.initElementGetSetAttributeOverride=function(){if(!this.wb_opts.skip_setAttribute&&this.$wbwindow.Element&&this.$wbwindow.Element.prototype){var t=this,e=this.$wbwindow.Element.prototype;if(e.setAttribute){var r=e.setAttribute;e._orig_setAttribute=r,e.setAttribute=function(e,i){var o=i;if(e&&"string"==typeof o){var n=e.toLowerCase();if("LINK"===this.tagName&&"href"===n&&0===o.indexOf("data:text/css"))o=t.rewriteInlineStyle(i);else if("style"===n)o=t.rewriteStyle(i);else if("srcset"===n||"imagesrcset"===n&&"LINK"===this.tagName)o=t.rewriteSrcset(i,this);else{t.shouldRewriteAttr(this.tagName,n)&&(t.removeWBOSRC(this),this._no_rewrite||(o=t.rewriteUrl(i,!1,t.rwModForElement(this,n))))}}return r.call(this,e,o)}}if(e.getAttribute){var i=e.getAttribute;this.wb_getAttribute=i,e.getAttribute=function(e){var r=i.call(this,e);if(null===r)return r;var o=e;if(e&&(o=e.toLowerCase()),t.shouldRewriteAttr(this.tagName,o)){var n=t.retrieveWBOSRC(this);return n||t.extractOriginalURL(r)}return t.startsWith(o,"data-")&&t.startsWithOneOf(r,t.wb_prefixes)?t.extractOriginalURL(r):r}}}},m.prototype.initSvgImageOverrides=function(){if(this.$wbwindow.SVGImageElement){var t=this.$wbwindow.SVGImageElement.prototype,e=t.getAttribute,r=t.getAttributeNS,i=t.setAttribute,o=t.setAttributeNS,n=this;t.getAttribute=function(t){var r=e.call(this,t);return t.indexOf("xlink:href")>=0||"href"===t?n.extractOriginalURL(r):r},t.getAttributeNS=function(t,e){var i=r.call(this,t,e);return e.indexOf("xlink:href")>=0||"href"===e?n.extractOriginalURL(i):i},t.setAttribute=function(t,e){var r=e;return(t.indexOf("xlink:href")>=0||"href"===t)&&(r=n.rewriteUrl(e)),i.call(this,t,r)},t.setAttributeNS=function(t,e,r){var i=r;return(e.indexOf("xlink:href")>=0||"href"===e)&&(i=n.rewriteUrl(r)),o.call(this,t,e,i)}}},m.prototype.initCreateElementNSFix=function(){if(this.$wbwindow.document.createElementNS&&this.$wbwindow.Document.prototype.createElementNS){var t=this.$wbwindow.document.createElementNS,e=this,r=function(r,i){return t.call(e.proxyToObj(this),e.extractOriginalURL(r),i)};this.$wbwindow.Document.prototype.createElementNS=r,this.$wbwindow.document.createElementNS=r}},m.prototype.initQuerySelectorOverride=function(){if(this.$wbwindow.document.querySelector&&this.$wbwindow.Document.prototype.querySelector){var t=this,e=this.$wbwindow.document.querySelector,r=function(r){return e.call(t.proxyToObj(this),n(r))},i=this.$wbwindow.document.querySelectorAll,o=function(e){return i.call(t.proxyToObj(this),n(e))};this.$wbwindow.Document.prototype.querySelector=r,this.$wbwindow.document.querySelector=r,this.$wbwindow.Document.prototype.querySelectorAll=o,this.$wbwindow.document.querySelectorAll=o}function n(t){if("string"==typeof t)try{t=t.replace(/((?:^|\\s)\\b\\w+\\[(?:src|href|data-href))[\\^]?(=[\'"]?(?:https?[:])?\\/\\/)/,"$1*$2")}catch(t){}return t}},m.prototype.initInsertAdjacentElementHTMLOverrides=function(){var t=this.$wbwindow.Element;if(t&&t.prototype){var e=t.prototype,r=this.rewriteInsertAdjHTMLOrElemArgs;if(e.insertAdjacentHTML){var i=e.insertAdjacentHTML;e.insertAdjacentHTML=function(t,e){return r(this,i,t,e,!0)}}if(e.insertAdjacentElement){var o=e.insertAdjacentElement;e.insertAdjacentElement=function(t,e){return r(this,o,t,e,!1)}}}},m.prototype.initDomOverride=function(){var t=this.$wbwindow.Node;if(t&&t.prototype){var e=this.rewriteNodeFuncArgs;if(t.prototype.appendChild){var r=t.prototype.appendChild;t.prototype.appendChild=function(t,i){return e(this,r,t,i)}}if(t.prototype.insertBefore){var i=t.prototype.insertBefore;t.prototype.insertBefore=function(t,r){return e(this,i,t,r)}}if(t.prototype.replaceChild){var o=t.prototype.replaceChild;t.prototype.replaceChild=function(t,r){return e(this,o,t,r)}}this.overridePropToProxy(t.prototype,"ownerDocument"),this.overridePropToProxy(this.$wbwindow.HTMLHtmlElement.prototype,"parentNode"),this.overridePropToProxy(this.$wbwindow.Event.prototype,"target");var n=t.prototype.getRootNode,s=this;t.prototype.getRootNode=function(){return s.objToProxy(n.call(this))}}this.$wbwindow.Element&&this.$wbwindow.Element.prototype&&(this.overrideParentNodeAppendPrepend(this.$wbwindow.Element),this.overrideChildNodeInterface(this.$wbwindow.Element,!1)),this.$wbwindow.DocumentFragment&&this.$wbwindow.DocumentFragment.prototype&&this.overrideParentNodeAppendPrepend(this.$wbwindow.DocumentFragment)},m.prototype.initDocOverrides=function(t){if(Object.defineProperty){this.overrideReferrer(t),this.defGetterProp(t,"origin",function(){return this.WB_wombat_location.origin}),this.defGetterProp(this.$wbwindow,"origin",function(){return this.WB_wombat_location.origin});var e=this;this.defProp(t,"domain",function(t){var r=this.WB_wombat_location;r&&e.endsWith(r.hostname,t)&&(this.__wb_domain=t)},function(){return this.__wb_domain||this.WB_wombat_location.hostname})}},m.prototype.initDocWriteOpenCloseOverride=function(){if(this.$wbwindow.DOMParser){var t=this.$wbwindow.Document.prototype,e=this.$wbwindow.document;this._writeBuff="";var r=this,i=e.write,o=function(){return d(this,i,u(arguments))};e.write=o,t.write=o;var n=e.writeln,s=function(){return d(this,n,u(arguments))};e.writeln=s,t.writeln=s;var a=e.open,h=function(){var t,e=r.proxyToObj(this);if(3===arguments.length){var i=r.rewriteUrl(arguments[0],!1,"mp_");t=a.call(e,i,arguments[1],arguments[2]),r.initNewWindowWombat(t,arguments[0])}else t=a.call(e),_()?r._writeBuff="":r.initNewWindowWombat(e.defaultView);return t};e.open=h,t.open=h;var w=e.close,c=function(){if(!r._writeBuff){var t=r.proxyToObj(this);return r.initNewWindowWombat(t.defaultView),w.__WB_orig_apply?w.__WB_orig_apply(t,arguments):w.apply(t,arguments)}if("loading"===this.readyState&&i.call(e,r.rewriteHtml(r._writeBuff,!0)),_()){r.blobUrlForIframe(r.$wbwindow.frameElement,r._writeBuff);const t=this;try{if(t.documentElement){new r.$wbwindow.MutationObserver((e,i)=>{r.blobUrlForIframe(r.$wbwindow.frameElement,t.documentElement.outerHTML)}).observe(t.documentElement,{childList:!0,subtree:!0})}}catch(t){}}r._writeBuff=""};e.close=c,t.close=c;var p=this.getOrigGetter(t,"body"),l=this.getOrigSetter(t,"body");p&&l&&this.defProp(t,"body",function(t){return t&&(t instanceof HTMLBodyElement||t instanceof HTMLFrameSetElement)&&r.rewriteElemComplete(t),l.call(r.proxyToObj(this),t)},p)}function _(){return r.wb_info.isSW&&r.$wbwindow.frameElement}function u(t){return 0===t.length?"":1===t.length?t[0]:Array.prototype.join.call(t,"")}function d(t,e,i){r.$wbwindow;var o=r.proxyToObj(t);if("loading"===t.readyState&&i&&i.indexOf("\\x3c!--")>i.indexOf("--\\x3e"))return e.call(o,i);if(!(_()||"loading"===t.readyState&&r.wb_info.injectDocClose)){i=r.rewriteHtml(i,!0);o=r.proxyToObj(t);var n=e.call(o,i);return r.initNewWindowWombat(o.defaultView),n}r._writeBuff+=i}},m.prototype.initIframeWombat=function(t){var e;e=t._get_contentWindow?t._get_contentWindow.call(t):t.contentWindow;try{if(!e||e===this.$wbwindow||e._skip_wombat||e._wb_wombat)return}catch(t){return}var r=t.src;this.initNewWindowWombat(e,r)},m.prototype.initNewWindowWombat=function(t,e){var r=!1;if(t&&!t._wb_wombat){if(e&&""!==e&&!this.startsWithOneOf(e,["about:blank","javascript:"])||(r=!0),!r&&this.wb_info.isSW){var i=this.extractOriginalURL(e);("about:blank"===i||i.startsWith("srcdoc:")||i.startsWith("blob:"))&&(r=!0)}if(r){var o={};Object.assign(o,this.wb_info);var n=new m(t,o);t._wb_wombat=n.wombatInit()}else this.initProtoPmOrigin(t),this.initPostMessageOverride(t),this.initMessageEventOverride(t),this.initCheckThisFunc(t),this.initImportWrapperFunc(t)}},m.prototype.initTimeoutIntervalOverrides=function(){var t=this.rewriteSetTimeoutInterval;if(this.$wbwindow.setTimeout&&!this.$wbwindow.setTimeout.__$wbpatched$__){var e=this.$wbwindow.setTimeout;this.$wbwindow.setTimeout=function(){return t(this,e,arguments)},this.$wbwindow.setTimeout.__$wbpatched$__=!0}if(this.$wbwindow.setInterval&&!this.$wbwindow.setInterval.__$wbpatched$__){var r=this.$wbwindow.setInterval;this.$wbwindow.setInterval=function(){return t(this,r,arguments)},this.$wbwindow.setInterval.__$wbpatched$__=!0}},m.prototype.initWorkerOverrides=function(){var t,e,r=this;if(this.$wbwindow.Worker&&!this.$wbwindow.Worker._wb_worker_overridden){var i=this.$wbwindow.Worker;this.$wbwindow.Worker=(t=i,function(e,i){return r.domConstructorErrorChecker(this,"Worker",arguments),new t(r.rewriteWorker(e,i),i)}),this.$wbwindow.Worker.prototype=i.prototype,Object.defineProperty(this.$wbwindow.Worker.prototype,"constructor",{value:this.$wbwindow.Worker}),this.$wbwindow.Worker._wb_worker_overridden=!0}if(this.$wbwindow.SharedWorker&&!this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden){var o=this.$wbwindow.SharedWorker;this.$wbwindow.SharedWorker=(e=o,function(t,i){return r.domConstructorErrorChecker(this,"SharedWorker",arguments),new e(r.rewriteWorker(t,i),i)}),this.$wbwindow.SharedWorker.prototype=o.prototype,Object.defineProperty(this.$wbwindow.SharedWorker.prototype,"constructor",{value:this.$wbwindow.SharedWorker}),this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden=!0}if(this.$wbwindow.ServiceWorkerContainer&&this.$wbwindow.ServiceWorkerContainer.prototype&&this.$wbwindow.ServiceWorkerContainer.prototype.register){var n=this.$wbwindow.ServiceWorkerContainer.prototype.register;this.$wbwindow.ServiceWorkerContainer.prototype.register=function(t,e){var i=new r.URL(t,r.$wbwindow.document.baseURI).href,o=r.getPageUnderModifier();return e&&e.scope?e.scope=r.rewriteUrl(e.scope,!1,o):e={scope:r.rewriteUrl("/",!1,o)},n.call(this,r.rewriteUrl(i,!1,"sw_"),e)}}if(this.$wbwindow.Worklet&&this.$wbwindow.Worklet.prototype&&this.$wbwindow.Worklet.prototype.addModule&&!this.$wbwindow.Worklet.__wb_workerlet_overridden){var s=this.$wbwindow.Worklet.prototype.addModule;this.$wbwindow.Worklet.prototype.addModule=function(t,e){var i=r.rewriteUrl(t,!1,"js_");return s.call(this,i,e)},this.$wbwindow.Worklet.__wb_workerlet_overridden=!0}},m.prototype.initLocOverride=function(t,e,r){var i;if(Object.defineProperty)for(var o=0;o<this.URL_PROPS.length;o++)i=this.URL_PROPS[o],this.defProp(t,i,this.makeSetLocProp(i,e,r),this.makeGetLocProp(i,r),!0);i="maybeHref",this.defProp(t,i,this.makeSetLocProp(i,e,r),this.makeGetLocProp(i,r),!1)},m.prototype.initWombatLoc=function(t){if(!(!t||t.WB_wombat_location&&t.document.WB_wombat_location)){var e=new h(t.location,this),r=this;if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_location",function(e){var i=this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location;i&&(i.href=e),t.location=r.rewriteUrl(e)},function(){return this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location||this.location}),this.initProtoPmOrigin(t),t._WB_wombat_location=e}else t.WB_wombat_location=e,setTimeout(this.checkAllLocations,500),setInterval(this.checkAllLocations,500)}},m.prototype.initProtoPmOrigin=function(t){if(!t.Object.prototype.__WB_pmw){var e=function(t){return this.__WB_source=t,this};try{t.Object.defineProperty(t.Object.prototype,"__WB_pmw",{get:function(){return e},set:function(){},configurable:!0,enumerable:!1})}catch(t){}t.__WB_check_loc=function(t,e){if(t instanceof Location||t instanceof h){if(e)for(var r=0;r<e.length;r++)if(t===e[r])return{};return this.WB_wombat_location}return{}}}},m.prototype.initCheckThisFunc=function(t){try{t.Object.prototype[this.WB_CHECK_THIS_FUNC]||t.Object.defineProperty(t.Object.prototype,this.WB_CHECK_THIS_FUNC,{configutable:!1,enumerable:!1,value:function(t){try{return t&&t._WB_wombat_obj_proxy?t._WB_wombat_obj_proxy:t}catch(e){return t}}})}catch(t){}},m.prototype.initImportWrapperFunc=function(t){var e=this;t.____wb_rewrite_import__=function(t,r){return t&&(t=e.extractOriginalURL(t)),r&&t?(t=>{for(const e of document.querySelectorAll(\'script[type="importmap"]\'))try{const r=JSON.parse(e.textContent);if(r.imports&&r.imports[t])return!0;if(r.scopes)for(const e of Object.keys(r.scopes))if(t.startsWith(e))return!0}catch(t){}return!1})(r)||(r=new e.URL(r,t).href):t&&void 0===r&&(r=t),import(e.rewriteUrl(r,!1,"esm_"))}},m.prototype.overrideGetOwnPropertyNames=function(t){var e=t.Object.getOwnPropertyNames,r=[this.WB_CHECK_THIS_FUNC,"WB_wombat_location","__WB_pmw","WB_wombat_top","WB_wombat_eval","WB_wombat_runEval"];try{t.Object.defineProperty(t.Object,"getOwnPropertyNames",{value:function(t){for(var i=e(t),o=0;o<r.length;o++){var n=i.indexOf(r[o]);n>=0&&i.splice(n,1)}return i}})}catch(t){console.log(t)}},m.prototype.initHashChange=function(){if(this.$wbwindow.__WB_top_frame){var t=this;this.$wbwindow.addEventListener("message",function(e){if(e.data&&e.data.from_top){var r=e.data.message;r.wb_type&&"outer_hashchange"===r.wb_type&&t.$wbwindow.location.hash!=r.hash&&(t.$wbwindow.location.hash=r.hash)}}),this.$wbwindow.addEventListener("hashchange",function(){var e={wb_type:"hashchange",hash:t.$wbwindow.location.hash};t.sendTopMessage(e)})}},m.prototype.initPostMessageOverride=function(t){if(t.postMessage&&!t.__orig_postMessage){var e=t.postMessage,r=this;t.__orig_postMessage=e;var i=function(i,o,n,s){var a,h,w,c=r.proxyToObj(this);if(c||((c=t).__WB_source=t),c.__WB_source&&c.__WB_source.WB_wombat_location){var p=c.__WB_source;if(a=p.WB_wombat_location.origin,c.__WB_win_id||(c.__WB_win_id={},c.__WB_counter=0),!p.__WB_id){var l=c.__WB_counter;p.__WB_id=l+p.WB_wombat_location.href,c.__WB_counter+=1}c.__WB_win_id[p.__WB_id]=p,h=p.__WB_id,c.__WB_source=void 0}else a=window.WB_wombat_location.origin;"object"==typeof o?(w=o.targetOrigin,n=o.transfer):w=o;var _=w;_===c.location.origin&&(_=a);var u={from:a,to_origin:_,src_id:h,message:i,from_top:s};if("*"!==w){if("null"===c.location.origin||""===c.location.origin)return;w=c.location.origin}return e.call(c,u,w,n)};t.postMessage=i,t.Window.prototype.postMessage=i;var o=null,n=(o=t.EventTarget&&t.EventTarget.prototype?t.EventTarget.prototype:t).addEventListener;o.addEventListener=function(t,e,i){var o,s=r.proxyToObj(this);if("message"===t?o=r.message_listeners.add_or_get(e,function(){return l(e,s,r)}):"storage"===t?r.storage_listeners.add_or_get(e,function(){return p(e,s)}):"online"===t||"offline"===t||(o=e),o)return n.call(s,t,o,i)};var s=o.removeEventListener;o.removeEventListener=function(t,e,i){var o,n=r.proxyToObj(this);if("message"===t?o=r.message_listeners.remove(e):"storage"===t?r.storage_listeners.remove(e):o=e,o)return s.call(n,t,o,i)};var a=function(e,i){var o=r.getOrigSetter(t,e);r.defProp(t,e,function(t){this["__orig_"+e]=t;var n=r.proxyToObj(this),s=t?i(t,n,r):t;return o.call(n,s)},function(){return this["__orig_"+e]})};a("onmessage",l),a("onstorage",p)}},m.prototype.initMessageEventOverride=function(t){t.MessageEvent&&!t.MessageEvent.prototype.__extended&&(this.addEventOverride("target"),this.addEventOverride("srcElement"),this.addEventOverride("currentTarget"),this.addEventOverride("eventPhase"),this.addEventOverride("path"),this.overridePropToProxy(t.MessageEvent.prototype,"source"),t.MessageEvent.prototype.__extended=!0)},m.prototype.initUIEventsOverrides=function(){this.overrideAnUIEvent("UIEvent"),this.overrideAnUIEvent("MouseEvent"),this.overrideAnUIEvent("TouchEvent"),this.overrideAnUIEvent("FocusEvent"),this.overrideAnUIEvent("KeyboardEvent"),this.overrideAnUIEvent("WheelEvent"),this.overrideAnUIEvent("InputEvent"),this.overrideAnUIEvent("CompositionEvent")},m.prototype.initOpenOverride=function(){var t=this.$wbwindow.open;this.$wbwindow.Window.prototype.open&&(t=this.$wbwindow.Window.prototype.open);var e=this,r=function(r,i,o){i=e.rewriteAttrTarget(i);var n=e.rewriteUrl(r,!1),s=t.call(e.proxyToObj(this),n,i,o);return e.initNewWindowWombat(s,r),e.objToProxy(s)};this.$wbwindow.open=r,this.$wbwindow.Window.prototype.open&&(this.$wbwindow.Window.prototype.open=r);for(var i=0;i<this.$wbwindow.frames.length;i++)try{this.$wbwindow.frames[i].open=r}catch(t){console.log(t)}},m.prototype.rewriteAttrTarget=function(t){return this.wb_info.target_frame?t&&"_blank"!==t&&"_parent"!==t&&"_top"!==t?t&&this.$wbwindow===this.$wbwindow.__WB_replay_top?this.wb_info.target_frame:t:this.wb_info.target_frame:t},m.prototype.initCookiesOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"cookie"),e=this.getOrigSetter(this.$wbwindow.document,"cookie");t||(t=this.getOrigGetter(this.$wbwindow.Document.prototype,"cookie")),e||(e=this.getOrigSetter(this.$wbwindow.Document.prototype,"cookie"));var r=function(t,e){var r=new Date(e);return isNaN(r.getTime())?"Expires=Thu,| 01 Jan 1970 00:00:00 GMT":"Expires="+new Date(r.getTime()+Date.__WB_timediff).toUTCString().replace(",",",|")},i=this;this.defProp(this.$wbwindow.document,"cookie",function(t){if(t){for(var o=t.replace(i.cookie_expires_regex,r).split(i.SetCookieRe),n=0;n<o.length;n++)o[n]=i.rewriteCookie(o[n]);return e.call(i.proxyToObj(this),o.join(","))}},function(){return t.call(i.proxyToObj(this))})},m.prototype.initRegisterUnRegPHOverride=function(){var t=this,e=this.$wbwindow.navigator;if(e.registerProtocolHandler){var r=e.registerProtocolHandler;e.registerProtocolHandler=function(e,i,o){return r.call(this,e,t.rewriteUrl(i),o)}}if(e.unregisterProtocolHandler){var i=e.unregisterProtocolHandler;e.unregisterProtocolHandler=function(e,r){return i.call(this,e,t.rewriteUrl(r))}}},m.prototype.initMiscNavigatorOverrides=function(){this.$wbwindow.navigator.sendBeacon&&(this.$wbwindow.navigator.sendBeacon=function(){return!0}),Object.defineProperty(navigator,"onLine",{value:!0}),this.$wbwindow.navigator.mediaDevices&&(this.$wbwindow.navigator.mediaDevices.setCaptureHandleConfig=function(){}),this.$wbwindow.navigator.getInstalledRelatedApps&&(this.$wbwindow.navigator.getInstalledRelatedApps=function(){return Promise.resolve([])})},m.prototype.initPresentationRequestOverride=function(){if(this.$wbwindow.PresentationRequest&&this.$wbwindow.PresentationRequest.prototype){var t=this,e=this.$wbwindow.PresentationRequest;this.$wbwindow.PresentationRequest=(r=this.$wbwindow.PresentationRequest,function(e){t.domConstructorErrorChecker(this,"PresentationRequest",arguments);var i=e;if(null!=e)if(Array.isArray(i))for(var o=0;o<i.length;o++)i[o]=t.rewriteUrl(i[o],!0,"mp_");else i=t.rewriteUrl(e,!0,"mp_");return new r(i)}),this.$wbwindow.PresentationRequest.prototype=e.prototype,Object.defineProperty(this.$wbwindow.PresentationRequest.prototype,"constructor",{value:this.$wbwindow.PresentationRequest})}var r},m.prototype.initDisableNotificationsGeoLocation=function(){window.Notification&&(window.Notification.requestPermission=function(t){return t&&t("denied"),Promise.resolve("denied")});var t=function(t){t&&(t.getCurrentPosition&&(t.getCurrentPosition=function(t,e,r){e&&e({code:2,message:"not available"})}),t.watchPosition&&(t.watchPosition=function(t,e,r){e&&e({code:2,message:"not available"})}))};window.geolocation&&t(window.geolocation),window.navigator.geolocation&&t(window.navigator.geolocation)},m.prototype.initStorageOverride=function(){this.addEventOverride("storageArea",this.$wbwindow.StorageEvent.prototype),i.yes=!1;var t={};if(this.wb_info.storage)try{t=JSON.parse(this.wb_info.storage)}catch(t){console.warn("Error parsing storage, storages not loaded")}this.__sessionStorage=this.$wbwindow.sessionStorage,this.__localStorage=this.$wbwindow.localStorage,a(this,"localStorage",t.local),a(this,"sessionStorage",t.session),this.$wbwindow.Storage=s,i.yes=!0},m.prototype.initIndexedDBOverride=function(){if(this.$wbwindow.IDBFactory){var t=this.$wbwindow.IDBFactory.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t,i){return r.call(this,e+t,i)};var i=t.deleteDatabase;t.delete=function(t){return i.call(this,e+t,options)};var o=t.databases;t.databases=function(){var t=this;return new Promise(function(r,i){o.call(t).then(function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].name.indexOf(e)&&i.push({name:t[o].name.substring(e.length),version:t[o].version});r(i)}).catch(function(t){i(t)})})}}},m.prototype.initCachesOverride=function(){if(this.$wbwindow.Cache){var t=this.$wbwindow.Cache.prototype;t.match=function(){return Promise.resolve(void 0)},t.matchAll=function(){return Promise.resolve([])},t.add=function(){return Promise.resolve(void 0)},t.put=function(){return Promise.resolve(void 0)},t.delete=function(){return Promise.resolve(!1)},t.keys=function(){return Promise.resolve([])}}},m.prototype.initCacheStorageOverride=function(){if(this.$wbwindow.CacheStorage){this.$wbwindow.chrome&&(this.$wbwindow.chrome={});var t=this.$wbwindow.CacheStorage.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t){return r.call(this,e+t)};var i=t.has;t.has=function(t){return i.call(this,e+t)};var o=t.delete;t.delete=function(t){return o.call(this,e+t)};var n=t.keys;t.keys=function(){var t=this;return new Promise(function(r,i){n.call(t).then(function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].indexOf(e)&&i.push(t[o].substring(e.length));r(i)}).catch(function(t){i(t)})})};t.match;t.match=function(t,e){var r=this;return this.keys().then(function(i){var o;return i.reduce(function(i,n){return i.then(function(){return o||r.open(n).then(function(r){return r.match(t,e)}).then(function(t){return o=t})})},Promise.resolve())})}}},m.prototype.initWindowObjProxy=function(t){if(t.Proxy){var e=this.getAllOwnProps(t),r={},i=this,o=new t.Proxy({},{get:function(o,n){switch(n){case"top":return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;case"parent":if(i.$wbwindow===i.$wbwindow.WB_wombat_top)return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;try{var s=i.$wbwindow.parent._WB_wombat_obj_proxy;if(s)return s}catch(t){}return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy}return i.defaultProxyGet(t,n,e,r)},set:function(e,r,i){switch(r){case"location":return t.WB_wombat_location=i,!0;case"postMessage":case"document":return!0}try{if(!Reflect.set(e,r,i))return!1}catch(t){}return Reflect.set(t,r,i)},has:function(e,r){return r in t},ownKeys:function(e){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))},getOwnPropertyDescriptor:function(e,r){var i=Object.getOwnPropertyDescriptor(e,r);return i||(i=Object.getOwnPropertyDescriptor(t,r))&&(i.configurable=!0),i},getPrototypeOf:function(e){return Object.getPrototypeOf(t)},setPrototypeOf:function(t,e){return!1},isExtensible:function(e){return Object.isExtensible(t)},preventExtensions:function(e){return Object.preventExtensions(t),!0},deleteProperty:function(e,r){var i=Object.getOwnPropertyDescriptor(t,r);return void 0===i||!1!==i.configurable&&(delete e[r],delete t[r],!0)},defineProperty:function(e,r,i){var o=i||{};return o.hasOwnProperty("value")||o.hasOwnProperty("get")||o.hasOwnProperty("set")||(o.value=t[r]),Reflect.defineProperty(t,r,o),Reflect.defineProperty(e,r,o)}});return t._WB_wombat_obj_proxy=o,o}},m.prototype.initDocumentObjProxy=function(t){if(this.initDocOverrides(t),this.$wbwindow.Proxy){var e={},r=this.getAllOwnProps(t),i=this,o=new this.$wbwindow.Proxy(t,{get:function(o,n){return i.defaultProxyGet(t,n,r,e)},set:function(e,r,i){return"location"===r?(t.WB_wombat_location=i,!0):Reflect.set(e,r,i)}});return t._WB_wombat_obj_proxy=o,o}},m.prototype.initAutoFetchWorker=function(){if(this.wbUseAFWorker){var t=new w(this,{isTop:this.$wbwindow===this.$wbwindow.__WB_replay_top,workerURL:(this.wb_info.auto_fetch_worker_prefix||this.wb_info.static_prefix)+"autoFetchWorker.js?init="+encodeURIComponent(JSON.stringify({mod:this.wb_info.mod,prefix:this.wb_abs_prefix,rwRe:this.wb_unrewrite_rx.source}))});this.WBAutoFetchWorker=t,this.$wbwindow.$WBAutoFetchWorker$=t;var e=this;this.utilFns.wbSheetMediaQChecker=function(){e._removeEventListener(this,"load",e.utilFns.wbSheetMediaQChecker),null!=this.sheet&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.deferredSheetExtraction(this.sheet)}}},m.prototype.initTopFrameNotify=function(t){var e=this,r=function(r){if(e.$wbwindow.__WB_top_frame){if(e.$wbwindow.WB_wombat_location){var i=e.$wbwindow.WB_wombat_location.href;if("string"==typeof i&&"about:blank"!==i&&0!==i.indexOf("javascript:")&&("complete"===e.$wbwindow.document.readyState&&e.wbUseAFWorker&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.extractFromLocalDoc(),e.$wbwindow===e.$wbwindow.__WB_replay_top)){for(var o=[],n=e.$wbwindow.document.querySelectorAll("link[rel*=\'icon\']"),s=0;s<n.length;s++){var a=n[s];o.push({rel:a.rel,href:e.wb_getAttribute.call(a,"href")})}o.push({rel:"icon",href:e.rewriteUrl("/favicon.ico")});var h={icons:o,url:e.$wbwindow.WB_wombat_location.href,ts:e.wb_info.timestamp,request_ts:e.wb_info.request_ts,is_live:e.wb_info.is_live,title:e.$wbwindow.document?e.$wbwindow.document.title:"",readyState:e.$wbwindow.document.readyState,wb_type:"load"};e.sendTopMessage(h)}}}else{var w=e.$wbwindow.location.hash;e.$wbwindow.location.replace(t.top_url+w)}};"complete"===this.$wbwindow.document.readyState?r():this.$wbwindow.addEventListener?this.$wbwindow.document.addEventListener("readystatechange",r):this.$wbwindow.attachEvent&&this.$wbwindow.document.attachEvent("onreadystatechange",r)},m.prototype.initTopFrame=function(t){if(this.wb_is_proxy)return t.__WB_replay_top=t.top,t.__WB_top_frame=void 0,this.replayTopHost=r.location.host,void(this.replayTopProtocol=r.location.protocol);for(var e=function(t){try{return!!t&&(t.wbinfo?t.wbinfo.is_framed:null!=t._wb_wombat)}catch(t){return!1}},r=t;r.parent!=r&&e(r.parent);)r=r.parent;t.__WB_replay_top=r,this.replayTopHost=r.location.host,this.replayTopProtocol=r.location.protocol;var i=r.parent;if(i!=t&&this.wb_info.is_framed||(i=void 0),i?(t.__WB_top_frame=i,this.initFrameElementOverride(t)):t.__WB_top_frame=void 0,!this.wb_opts.embedded&&r==t&&this.wbUseAFWorker){var o=this;this.$wbwindow.addEventListener("message",function(t){t.data&&"aaworker"===t.data.wb_type&&o.WBAutoFetchWorker&&o.WBAutoFetchWorker.postMessage(t.data.msg)},!1)}},m.prototype.initFrameElementOverride=function(t){if(Object.defineProperty&&this.proxyToObj(t.__WB_replay_top)==this.proxyToObj(t))try{Object.defineProperty(t,"frameElement",{value:null,configurable:!1})}catch(t){}},m.prototype.initWombatTop=function(t){if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_top",function(t){this.top=t},function(){return this.__WB_replay_top?this.__WB_replay_top:(t=this,(void 0===window.constructor?t instanceof window.constructor:t.window==t)?this:this.top);var t})}},m.prototype.initEvalOverride=function(){var t=this.rewriteEvalArg,e=function(){};this.wrappedEval=function(e){return function(r){return t(e,r)}};var r=this,i=function(e){var r=this;return r&&r.eval&&r.eval!==eval?{eval:function(){return r.eval.__WB_orig_apply(r,arguments)}}:{eval:function(r){return t(e,r)}}},o=function(e){var i=this;return i&&i.eval&&i.eval!==eval?{eval:function(){return i.eval.__WB_orig_apply(i,[].slice.call(arguments,2))}}:{eval:function(i,o,n){var s=i===r.proxyToObj(r.$wbwindow);try{s=s&&!o.callee.caller}catch(t){s=!1}return t(e,n,s)}}};this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval",e,function(){return i}),this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval2",e,function(){return o})},m.prototype.wombatInit=function(){this._internalInit(),this.initCookiePreset(),this.initHistoryOverrides(),this.overrideFunctionApply(this.$wbwindow),this.overrideFunctionCall(this.$wbwindow),this.overrideFunctionBind(this.$wbwindow),this.initDocTitleOverride(),this.initHashChange(),this.wb_opts.skip_postmessage||(this.initPostMessageOverride(this.$wbwindow),this.initMessageEventOverride(this.$wbwindow)),this.initCheckThisFunc(this.$wbwindow),this.initImportWrapperFunc(this.$wbwindow),this.overrideGetOwnPropertyNames(this.$wbwindow),this.initUIEventsOverrides(),this.initDocWriteOpenCloseOverride(),this.initEvalOverride(),this.initHTTPOverrides(),this.initAudioOverride(),this.initFontFaceOverride(this.$wbwindow),this.initWorkerOverrides(),this.initTextNodeOverrides(),this.initCSSOMOverrides(),this.overrideHtmlAssign(this.$wbwindow.Element,"innerHTML",!0),this.overrideHtmlAssign(this.$wbwindow.Element,"outerHTML",!0),this.overrideHtmlAssignSrcDoc(this.$wbwindow.HTMLIFrameElement,"srcdoc",!0),this.overrideHtmlAssign(this.$wbwindow.HTMLStyleElement,"textContent"),this.overrideShadowDom(),this.overridePropExtract(this.$wbwindow.Document.prototype,"URL"),this.overridePropExtract(this.$wbwindow.Document.prototype,"documentURI"),this.overridePropExtract(this.$wbwindow.Node.prototype,"baseURI"),this.overrideAttrProps(),this.overrideDataSet(),this.initInsertAdjacentElementHTMLOverrides(),this.overrideIframeContentAccess("contentWindow"),this.overrideIframeContentAccess("contentDocument"),this.initIntersectionObsOverride(),this.overrideFuncArgProxyToObj(this.$wbwindow.MutationObserver,"observe"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"compareDocumentPosition"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"contains"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"createTreeWalker"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"evaluate",1),this.overrideFuncArgProxyToObj(this.$wbwindow.XSLTProcessor,"transformToFragment",1),this.overrideFuncThisProxyToObj(this.$wbwindow,"getComputedStyle",this.$wbwindow),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearTimeout"),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearInterval"),this.overrideFuncThisProxyToObj(this.$wbwindow.EventTarget.prototype,"dispatchEvent"),this.overrideDeProxyPropAssign(this.$wbwindow.TreeWalker.prototype,"currentNode"),this.initTimeoutIntervalOverrides(),this.initQuerySelectorOverride(),this.overrideSWAccess(this.$wbwindow),this.initElementGetSetAttributeOverride(),this.initSvgImageOverrides(),this.initAttrOverrides(),this.initCookiesOverride(),this.initCreateElementNSFix(),this.wb_opts.skip_dom||this.initDomOverride(),this.initRegisterUnRegPHOverride(),this.initPresentationRequestOverride(),this.initMiscNavigatorOverrides(),this.initSeededRandom(this.wb_info.wombat_sec),this.initCryptoRandom(),this.initFixedRatio(this.wb_info.pixel_ratio||1),this.initDateOverride(this.wb_info.wombat_sec),this.initBlobOverride(),this.initWSOverride(),this.initOpenOverride(),this.initDisableNotificationsGeoLocation(),this.initStorageOverride(),this.initCacheStorageOverride(),this.initCachesOverride(),this.initIndexedDBOverride(),this.initWindowObjProxy(this.$wbwindow),this.initDocumentObjProxy(this.$wbwindow.document);var t=this;return{extract_orig:this.extractOriginalURL,rewrite_url:this.rewriteUrl,watch_elem:this.watchElem,init_new_window_wombat:this.initNewWindowWombat,init_paths:this.initPaths,local_init:function(e){var r=t.$wbwindow._WB_wombat_obj_proxy[e];return"document"===e&&r&&!r._WB_wombat_obj_proxy&&t.initDocumentObjProxy(r)||r},showCSPViolations:function(e){t._addRemoveCSPViolationListener(e)}}};const g=m;window._WBWombat=g,window._WBWombatInit=function(t){if(this._wb_wombat)this._wb_wombat.init_paths(t);else{var e=new g(this,t);this._wb_wombat=e.wombatInit()}}})();'}),this.staticData.set(this.staticPrefix+"wombatWorkers.js",{type:"application/javascript",content:'(()=>{function e(t){if(!(this instanceof e))return new e(t);this.info=t,this.prefixMod=this.info.prefixMod?this.info.prefixMod:this.info.prefix+(this.info.mod||"wkrf_")+"/",this.initImportScriptsRewrite(),this.initHTTPOverrides(),this.initClientApisOverride(),this.initCacheApisOverride(),this.initSelfOverrides()}e.prototype.noRewrite=function(e){return!e||0===e.indexOf("blob:")||0===e.indexOf("javascript:")||0===e.indexOf("data:")||0===e.indexOf(this.info.prefix)},e.prototype.isRelURL=function(e){return 0===e.indexOf("/")||!e.startsWith("http:")&&!e.startsWith("https:")},e.prototype.maybeResolveURL=function(e,t){if(!t)return e;try{return new URL(e,t).href}catch(e){}return e},e.prototype.ensureURL=function(e,t){if(!e)return e;var r;switch(typeof e){case"string":r=e;break;case"object":r=e.toString();break;default:return null}return this.noRewrite(r)?null:this.isRelURL(r)?this.maybeResolveURL(r,t):0===r.indexOf(self.location.origin)?this.maybeResolveURL(r.slice(self.location.origin.length),t):r},e.prototype.rewriteURL=function(e){var t=this.ensureURL(e,this.info.originalURL);return t?this.prefixMod?this.prefixMod+t:t:e},e.prototype.extractOriginalURL=function(e){return e&&e.startsWith(this.prefixMod)?e.slice(this.prefixMod.length):e},e.prototype.rewriteClientWindowURL=function(e,t){var r=this.ensureURL(e,t?t.url:this.info.originalURL);return r?this.info.prefix?this.info.prefix+"mp_/"+r:r:e},e.prototype.rewriteWSURL=function(e){if(!e)return e;var t=typeof e,r=e;if("object"===t)r=e.toString();else if("string"!==t)return e;if(!r)return r;var i="https://",o=0===this.info.prefix.indexOf(i);return this.info.prefix.replace(o?i:"http://",o?"wss://":"ws://")+"ws_/"+r},e.prototype.rewriteArgs=function(e){for(var t=new Array(e.length),r=0;r<t.length;r++)t[r]=this.rewriteURL(e[r]);return t},e.prototype.rewriteFetchApi=function(e){var t=e;switch(typeof e){case"string":t=this.rewriteURL(e);break;case"object":if(e.url){var r=this.rewriteURL(e.url);r!==e.url&&(t=new Request(r,e))}else e.href&&(t=this.rewriteURL(e.href))}return t},e.prototype.rewriteCacheApi=function(e){var t=e;return"string"==typeof e&&(t=this.rewriteURL(e)),t},e.prototype.initImportScriptsRewrite=function(){if(self.importScripts){var e=this,t=self.importScripts;self.importScripts=function(){var r=e.rewriteArgs(arguments);return t.apply(this,r)}}},e.prototype.initSelfOverrides=function(){var e=this;self._WB_wombat_location=new Proxy(self.location,{get:(t,r,i)=>"href"===r?e.extractOriginalURL(t[r]):t[r]}),self.____wb_rewrite_import__=function(t,r){return t&&(t=e.extractOriginalURL(t)),r&&t?r=new URL(r,t).href:t&&void 0===r&&(r=t),import(e.rewriteURL(r))};var t=function(e){return this.__WB_source=e,this};try{self.Object.defineProperty(self.Object.prototype,"__WB_pmw",{get:function(){return t},set:function(){},configurable:!0,enumerable:!1})}catch(e){}self.Object.defineProperty(self.Object.prototype,"_____WB$wombat$check$this$function_____",{configutable:!1,enumerable:!1,value:function(e){try{return e&&e._WB_wombat_obj_proxy?e._WB_wombat_obj_proxy:e}catch(t){return e}}})},e.prototype.initHTTPOverrides=function(){var e,t,r,i=this;if(self.XMLHttpRequest&&self.XMLHttpRequest.prototype&&self.XMLHttpRequest.prototype.open){var o=self.XMLHttpRequest.prototype.open;self.XMLHttpRequest.prototype.open=function(e,t,r,n,s){var p=i.rewriteURL(t),f=!0;null==r||r||(f=!1),o.call(this,e,p,f,n,s),-1===p.indexOf("data:")&&this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(null!=self.fetch){var n=self.fetch;self.fetch=function(e,t){var r=i.rewriteFetchApi(e),o=t||{};return o.credentials="include",n.call(this,r,o)}}if(self.Request&&self.Request.prototype){var s=self.Request;self.Request=(e=self.Request,function(t,r){var o=r||{},n=i.rewriteFetchApi(t);return o.credentials="include",new e(n,o)}),self.Request.prototype=s.prototype}if(self.Response&&self.Response.prototype){var p=self.Response.prototype.redirect;self.Response.prototype.redirect=function(e,t){var r=i.rewriteURL(e);return p.call(this,r,t)}}if(self.EventSource&&self.EventSource.prototype){var f=self.EventSource;self.EventSource=(t=self.EventSource,function(e,r){var o=e;return null!=e&&(o=i.rewriteURL(e)),new t(o,r)}),self.EventSource.prototype=f.prototype,Object.defineProperty(self.EventSource.prototype,"constructor",{value:self.EventSource})}if(self.WebSocket&&self.WebSocket.prototype){var l=self.WebSocket;self.WebSocket=(r=self.WebSocket,function(e,t){var o=e;return null!=e&&(o=i.rewriteWSURL(e)),new r(o,t)}),self.WebSocket.prototype=l.prototype,Object.defineProperty(self.WebSocket.prototype,"constructor",{value:self.WebSocket})}},e.prototype.initClientApisOverride=function(){var e=this;if(self.Clients&&self.Clients.prototype&&self.Clients.prototype.openWindow){var t=self.Clients.prototype.openWindow;self.Clients.prototype.openWindow=function(r){var i=e.rewriteClientWindowURL(r);return t.call(this,i)}}if(self.WindowClient&&self.WindowClient.prototype&&self.WindowClient.prototype.navigate){var r=self.WindowClient.prototype.navigate;self.WindowClient.prototype.navigate=function(t){var i=e.rewriteClientWindowURL(t,this);return r.call(this,i)}}},e.prototype.initCacheApisOverride=function(){var e=this;if(self.CacheStorage&&self.CacheStorage.prototype&&self.CacheStorage.prototype.match){var t=self.CacheStorage.prototype.match;self.CacheStorage.prototype.match=function(r,i){var o=e.rewriteCacheApi(r);return t.call(this,o,i)}}if(self.Cache&&self.Cache.prototype){if(self.Cache.prototype.match){var r=self.Cache.prototype.match;self.Cache.prototype.match=function(t,i){var o=e.rewriteCacheApi(t);return r.call(this,o,i)}}if(self.Cache.prototype.matchAll){var i=self.Cache.prototype.matchAll;self.Cache.prototype.matchAll=function(t,r){var o=e.rewriteCacheApi(t);return i.call(this,o,r)}}if(self.Cache.prototype.add){var o=self.Cache.prototype.add;self.Cache.prototype.add=function(t,r){var i=e.rewriteCacheApi(t);return o.call(this,i,r)}}if(self.Cache.prototype.addAll){var n=self.Cache.prototype.addAll;self.Cache.prototype.addAll=function(t){var r=t;if(Array.isArray(t)){r=new Array(t.length);for(var i=0;i<t.length;i++)r[i]=e.rewriteCacheApi(t[i])}return n.call(this,r)}}if(self.Cache.prototype.put){var s=self.Cache.prototype.put;self.Cache.prototype.put=function(t,r){var i=e.rewriteCacheApi(t);return s.call(this,i,r)}}if(self.Cache.prototype.delete){var p=self.Cache.prototype.delete;self.Cache.prototype.delete=function(t,r){var i=e.rewriteCacheApi(t);return p.call(this,i,r)}}if(self.Cache.prototype.keys){var f=self.Cache.prototype.keys;self.Cache.prototype.keys=function(t,r){var i=e.rewriteCacheApi(t);return f.call(this,i,r)}}}},self.WBWombat=e})();'}),this.staticData.set(this.staticPrefix+"wombatProxy.js",{type:"application/javascript",content:'(()=>{"use strict";new class{proxyOrigin;localOrigin;proxyTLD;localTLD;localScheme;proxyScheme;httpToHttpsNeeded;prefix;relPrefix="";schemeRelPrefix="";constructor(){this.openOverride(),this.domOverride(),this.overrideInsertAdjacentHTML();const t=self.__wbinfo;if(this.initDateOverride(t.seconds),this.initAnchorElemOverride(),this.overrideSWAccess(),this.proxyOrigin=t.proxyOrigin,this.localOrigin=t.localOrigin,this.proxyTLD=t.proxyTLD,this.localTLD=t.localTLD,this.localScheme=new URL(this.localOrigin).protocol,this.proxyScheme=new URL(this.proxyOrigin).protocol,this.httpToHttpsNeeded="http:"===this.proxyScheme&&"https:"===this.localScheme,this.prefix=t.prefix||"",this.prefix){const t=new URL(this.prefix);this.relPrefix=t.pathname,this.schemeRelPrefix=this.prefix.slice(t.protocol.length)}t.presetCookie&&this.initPresetCookie(t.presetCookie)}initPresetCookie(t){const e=t.split(";");for(const t of e)document.cookie=t.trim()}recurseRewriteElem(t){if(this.rewriteElem(t),!t.hasChildNodes())return;const e=[t.childNodes];for(;e.length>0;){const r=e.shift();for(const i of r||[])if(i.nodeType===Node.ELEMENT_NODE){const r=i;this.rewriteElem(r),t.hasChildNodes()&&e.push(r.childNodes)}}}rewriteElem(t){switch(t.tagName){case"IFRAME":{const e=t.getAttribute("src");if(e){const r=this.fullRewriteUrl(e);e!==r&&t.setAttribute("src",r)}}break;case"A":{const e=t.getAttribute("href");if(e){const r=this.rewriteUrl(e);e!==r&&t.setAttribute("href",r)}}break;case"SCRIPT":if(this.httpToHttpsNeeded){const e=t.getAttribute("src");if(e){const r=this.rewriteUrl(e);e!==r&&t.setAttribute("src",r)}}}}domOverride(){const t=t=>{switch(t.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(t)}},e=(e,r,i,o)=>(t(i),r.call(e,i,o)),r=(e,r,i)=>{for(const e of i)t(e);return r.call(e,...i)},i=Node.prototype.appendChild;Node.prototype.appendChild=function(t){return e(this,i,t)};const o=Node.prototype.insertBefore;Node.prototype.insertBefore=function(t,r){return e(this,o,t,r)};const n=Node.prototype.replaceChild;Node.prototype.replaceChild=function(t,r){return e(this,n,t,r)};const s=Element.prototype.replaceWith;Element.prototype.replaceWith=function(...t){return r(this,s,t)};const c=DocumentFragment.prototype.append;DocumentFragment.prototype.append=function(...t){return r(this,c,t)};const l=DocumentFragment.prototype.prepend;DocumentFragment.prototype.prepend=function(...t){return r(this,l,t)}}openOverride(){let t=window.open;Window.prototype.open&&(t=Window.prototype.open);const e=this;function r(r,i,o){const n=r?e.rewriteUrl(r.toString()):"";return t.call(this,n,i,o)}window.open=r,Window.prototype.open&&(Window.prototype.open=r);for(let t=0;t<window.frames.length;t++)try{window.frames[t].open=r}catch(t){console.log(t)}}overrideInsertAdjacentHTML(){const t=HTMLElement.prototype.insertAdjacentHTML,e=this;HTMLElement.prototype.insertAdjacentHTML=function(r,i){return i=e.rewriteRxHtml(i),t.call(this,r,i)}}rewriteRxHtml(t){return t.replace(/<\\s*(a|iframe)\\s+(?:src|href)[=][\'"](.*?)[\'"]/gi,(t,e,r)=>{let i="";switch(e){case"a":i=this.rewriteUrl(r);break;case"iframe":i=this.fullRewriteUrl(r)}return i&&i!==t?t.replace(r,i):t})}convUrl(t,e,r,i,o,n,s,c,l=!1){if(e&&t.startsWith(e))return r+t.slice(e.length);if(i&&o&&t.indexOf(i)>0){const e=new URL(t);if(e.host.endsWith(i)){let t=e.host.slice(0,-i.length);n&&s&&(t=t.replace(n,s));return c+"//"+t+o+e.href.slice(e.origin.length)}}return l?t.replace("http:","https:"):t}rewriteUrl(t){return this.convUrl(t,this.proxyOrigin,this.localOrigin,this.proxyTLD,this.localTLD,".","-",this.localScheme,this.httpToHttpsNeeded)}unrewriteUrl(t){return this.convUrl(t,this.localOrigin,this.proxyOrigin,this.localTLD,this.proxyTLD,"-",".",this.proxyScheme)}fullRewriteUrl(t,e="if_"){const r=t;return this.proxyOrigin&&t.startsWith(this.proxyOrigin)?this.localOrigin+t.slice(this.proxyOrigin.length):!(t=t.trim())||!this.isRewritableUrl(t)||t.startsWith(this.prefix)||t.startsWith(this.relPrefix)?r:t.startsWith("http:")||t.startsWith("https:")||t.startsWith("https\\\\3a/")?this.prefix+e+"/"+t:t.startsWith("//")||t.startsWith("\\\\/\\\\/")?this.schemeRelPrefix+e+"/"+t:r}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(const r of e)if(t.startsWith(r))return!1;return!0}initAnchorElemOverride(){const t=Object.getOwnPropertyDescriptor(HTMLAnchorElement.prototype,"href");if(!t?.get)return;const e=this,r=t.get,i=t=>{const i=Object.getOwnPropertyDescriptor(HTMLAnchorElement.prototype,t);if(!i?.set)return;const o=i.set;Object.defineProperty(HTMLAnchorElement.prototype,t,{set(r){const i=new URL(e.rewriteUrl(r),e.proxyOrigin);return o.call(this,i[t])},get(){return new URL(e.unrewriteUrl(r.call(this)),e.proxyOrigin)[t]}})};i("href"),i("hostname"),i("host"),i("protocol"),i("origin")}initDateOverride(t){if(self.__wb_Date_now)return;const e=1e3*parseInt(t),r=Date.now()-(e-0),i=Date,o=Date.UTC,n=Date.parse,s=Date.now;var c;self.__wb_Date_now=s,window.Date=(c=Date,function(t,e,i,o,n,l,p){return void 0===t?new c(s()-r):void 0===e?new c(t):void 0===i?new c(t,e):void 0===o?new c(t,e,i):void 0===n?new c(t,e,i,o):void 0===l?new c(t,e,i,o,n):void 0===p?new c(t,e,i,o,n,l):new c(t,e,i,o,n,l,p)}),Date.prototype=i.prototype,Date.now=function(){return s()-r},Date.UTC=o,Date.parse=n,Date.__WB_timediff=r,Date.prototype.getTimezoneOffset=function(){return 0};const l=Date.prototype.toString;Date.prototype.toString=function(){return l.call(this).split(" GMT")[0]+" GMT+0000 (GMT)"};const p=Date.prototype.toTimeString;Date.prototype.toTimeString=function(){return p.call(this).split(" GMT")[0]+" GMT+0000 (GMT)"},Object.defineProperty(Date.prototype,"constructor",{value:Date})}overrideSWAccess(){self.__WB_wombat_sw=window.navigator.serviceWorker;const t={controller:null,ready:Promise.resolve({unregister:function(){}}),register:async()=>Promise.reject(),addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:async()=>Promise.resolve([]),getRegistration:async()=>Promise.resolve(void 0),startMessages:function(){}};Object.defineProperty(window.navigator,"serviceWorker",{get:()=>t})}}})();'}),n.has("serveIndex")){const t={type:"text/html",content:this.getIndexHtml(n)};this.staticData.set(this.prefix,t),this.staticData.set(this.prefix+"index.html",t)}if(n.has("injectScripts")){const t=n.get("injectScripts").split(",");r.injectScripts=r.injectScripts?[...t,...r.injectScripts]:t}r.injectScripts&&D(r.injectScripts),n.has("allowProxyPaths")&&D(n.get("allowProxyPaths").split(",")),n.get("allowProxyPassthrough")&&(this.allowProxyPassthrough=!0),n.has("adblockUrl")&&(r.adblockUrl=n.get("adblockUrl")||""),"1"===n.get("useHashCheck")&&(Ba=!0),n.has("notFoundTemplateUrl")&&async function(t){try{const e=await fetch(t);ps=await e.text()}catch(t){console.error("not found template fetch failed",t)}}(n.get("notFoundTemplateUrl"));const o={static:this.staticPrefix,root:this.prefix,main:this.replayPrefix,proxy:this.proxyPrefix,api:this.apiPrefix};this.collections=new i(o,n.get("root"),r),this.collections.loadAll(n.get("dbColl")),this.api=new e(this.collections),this.allowRewrittenCache=!!n.get("allowCache"),this.stats=n.get("stats")?new Zb:null,self.addEventListener("install",()=>{self.skipWaiting()}),self.addEventListener("activate",t=>{t.waitUntil(self.clients.claim()),console.log("Activate!")}),self.addEventListener("fetch",t=>{t.respondWith(this.handleFetch(t))}),self.addEventListener("message",t=>{"reload_all"===t.data.msg_type&&t.waitUntil(this.collections.loadAll())})}getIndexHtml(t){const e=t.get("indexScript")||"./ui.js",r=t.get("indexAppTag")||"replay-app-main";return`\n <!doctype html>\n <html>\n <head><script src="${e}"><\/script></head>\n <body>\n <${r}></${r}>\n </body></html>`}isFromReplay(t){return t.url.startsWith(this.replayPrefix)||t.referrer.startsWith(this.replayPrefix)}async handleFetch(t){const e=t.request,r=e.url;if(this.proxyOriginMode){if(r.startsWith(this.proxyPrefix))return this.staticPathProxy(r,e);if(P.size&&this.allowProxyPassthrough){const t=await this.doLiveProxy(r,e);if(t)return t}if(!r.startsWith(this.staticPrefix))return this.getResponseFor(e,t)}else{if(!r.startsWith(this.prefix))return"chrome-extension://invalid/"===r?ds(e,"Invalid URL"):this.isFromReplay(e)?ds(e):this.defaultFetch(e);if(this.collections.root&&r.slice(this.prefix.length).indexOf("/")<0)return this.defaultFetch(e);if(r.startsWith(this.proxyPrefix))return this.staticPathProxy(r,e);if(r.startsWith(this.replayPrefix)&&!r.startsWith(this.staticPrefix))return this.getResponseFor(e,t)}const i=new URL(r);i.search="",i.hash="";const n=i.href;for(const t of this.staticData.keys())if(t===n){const{content:r,type:i}=this.staticData.get(t),n=new Headers({"Content-Type":i});return this.isFromReplay(e)&&n.set("Content-Security-Policy",u()),new Response(r,{headers:n})}if(!this.topFramePassthrough&&!r.startsWith(this.staticPrefix)&&e.referrer.startsWith(this.replayPrefix)){const t=function(t,e){const r=e.indexOf("/http");if(r<0)return null;const i=new URL(t).origin,n=t.slice(i.length),s=e.slice(r+1),o=new URL(n,s);return e.slice(0,r+1)+o.href}(r,e.referrer);return t?Response.redirect(t):ds(e)}return("http:"==i.protocol||"https:"==i.protocol)&&i.pathname.indexOf("/",1)<0?this.wrapCSPForFrame(await this.handleOffline(e),e):this.wrapCSPForFrame(await this.defaultFetch(e),e)}async staticPathProxy(t,e){t=t.slice(this.proxyPrefix.length),t=new URL(t,self.location.href).href;return await this.doLiveProxy(t,e)||ds(e)}async doLiveProxy(t,e){let r=!1;for(const e of P)if(t.startsWith(e)){r=!0;break}if(!r)return null;const{method:i}=e,n="GET"!==i?await e.arrayBuffer():null,s={cache:"no-store",headers:e.headers,method:i,mode:"no-cors",..."GET"!==i&&{body:n}},o=await this.defaultFetch(t,s);return this.wrapCSPForFrame(o,e)}async wrapCSPForFrame(t,e){if(!e.destination.endsWith("frame"))return t;const{status:r,statusText:i}=t,n=new Headers(t.headers);return n.set("Content-Security-Policy",u()),new Response(t.body,{status:r,statusText:i,headers:n})}async defaultFetch(t,e={}){return e.cache||"string"==typeof t||t instanceof URL||"only-if-cached"!==t.cache||"same-origin"===t.mode||(e.cache="default"),self.fetch(t,e)}async ensureCached(t){const e=await caches.open("wabac-offline");for(let r of t){r=new URL(r,self.location.href).href;let i=await e.match(r,{ignoreSearch:!0});if(!i)try{i=await this.defaultFetch(new Request(r)),await e.put(r,i)}catch(t){console.warn(`Failed to Auto Cache: ${r}`,t)}}}async handleOffline(t){let e=null;const r=await caches.open("wabac-offline");try{e=await this.defaultFetch(t)}catch(i){return e=await r.match(t,{ignoreSearch:!0}),e||(e=ds(t,"Sorry, this url was not cached for offline use")),e}if(t.url.startsWith(this.prefix+"?"))return e;if(200===e.status){const i=e.clone();await r.put(t,i)}else console.warn(`Not Cacheing ${t.url} - Status ${e.status}`);return e}async getResponseFor(t,e){if(t.url.startsWith(this.apiPrefix))return this.stats&&t.url.startsWith(this.apiPrefix+"stats.json")?await this.stats.getStats(e):await this.api.apiResponse(t.url.slice(this.apiPrefix.length),t,e);await this.collections.inited;const r=I(t),i=t.headers.get("range");try{if(this.allowRewrittenCache&&!i){const e=await self.caches.match(t);if(e&&!!e.headers.get(_E)===r)return e}}catch(t){}let n=this.collections.root;n||(n=t.url.slice(this.replayPrefix.length).split("/",1)[0]);const s=await this.collections.getColl(n);if(!s&&(this.proxyOriginMode||this.topFramePassthrough))return this.defaultFetch(t);if(!s)return ds(t);if(!this.collections.root&&!this.proxyOriginMode&&!t.url.startsWith(s.prefix))return ds(t);let o,a=!1;t.url.startsWith(s.prefix)||!this.proxyOriginMode?(o=t.url.substring(s.prefix.length),a=!0):o=t.url;const c={isRoot:!!this.collections.root,defaultReplayMode:a};if(this.proxyOriginMode&&!a){c.mod="id_";const t=s.config.extraConfig||{};c.proxyOrigin=t.proxyOrigin,c.altProxyOrigins=t.altProxyOrigins,c.proxyTLD=t.proxyTLD,c.localTLD=t.localTLD,c.ts=t.proxyTs||"",c.localOrigin=self.location.origin}const l=new EE(o,t,c);if(this.topFramePassthrough&&(!l.url||!l.mod))return this.defaultFetch(t);if(!l.url)return ds(t,`Replay URL ${o} not found`);const h=await s.handleRequest(l,e);if(h){if(this.stats&&this.stats.updateStats(h,h.status,t,e),this.allowRewrittenCache&&200===h.status)try{const e=await self.caches.open("wabac-"+s.name);r&&h.headers.set(_E,"true");const i=h.clone();await e.put(t,i)}catch(t){console.warn(t)}return h}return i&&console.log("Not Found Range!: "+i),ds(t)}}self.registration?(self.sw=new IE,console.log("sw init")):self.postMessage&&(new Xb(self),console.log("ww init"));