Files
tvbox_collect/catvod/douer/index.js
T
2026-07-01 11:45:14 +00:00

10716 lines
4.0 MiB
Plaintext

globalThis.websiteBundle = function() {
return `
(function() {
const exports = {};
const module = { exports };
${"var pi=Object.create;var Ot=Object.defineProperty,mi=Object.defineProperties,gi=Object.getOwnPropertyDescriptor,xi=Object.getOwnPropertyDescriptors,hi=Object.getOwnPropertyNames,Kt=Object.getOwnPropertySymbols,bi=Object.getPrototypeOf,Wn=Object.prototype.hasOwnProperty,zr=Object.prototype.propertyIsEnumerable;var $r=(e,t,n)=>t in e?Ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))Wn.call(t,n)&&$r(e,n,t[n]);if(Kt)for(var n of Kt(t))zr.call(t,n)&&$r(e,n,t[n]);return e},B=(e,t)=>mi(e,xi(t));var Gn=(e,t)=>{var n={};for(var o in e)Wn.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Kt)for(var o of Kt(e))t.indexOf(o)<0&&zr.call(e,o)&&(n[o]=e[o]);return n};var je=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),yi=(e,t)=>{for(var n in t)Ot(e,n,{get:t[n],enumerable:!0})},qr=(e,t,n,o)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let a of hi(t))!Wn.call(e,a)&&a!==n&&Ot(e,a,{get:()=>t[a],enumerable:!(o=gi(t,a))||o.enumerable});return e};var Y=(e,t,n)=>(n=e!=null?pi(bi(e)):{},qr(t||!e||!e.__esModule?Ot(n,\"default\",{value:e,enumerable:!0}):n,e)),vi=e=>qr(Ot({},\"__esModule\",{value:!0}),e);var Q=je((Bd,Hr)=>{Hr.exports=window.React});var Yn=je(($d,jr)=>{jr.exports=window.ReactDOM});var Ur=je(Kn=>{\"use strict\";var Vr=Yn();Kn.createRoot=Vr.createRoot,Kn.hydrateRoot=Vr.hydrateRoot;var zd});var Gr=je((Hd,Wr)=>{Wr.exports=window.antd});var Kr=je((jd,Yr)=>{Yr.exports=window.axios});var Zr=je((Vd,Xr)=>{Xr.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],o=0;o<e.rangeCount;o++)n.push(e.getRangeAt(o));switch(t.tagName.toUpperCase()){case\"INPUT\":case\"TEXTAREA\":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type===\"Caret\"&&e.removeAllRanges(),e.rangeCount||n.forEach(function(a){e.addRange(a)}),t&&t.focus()}}});var Rr=je((Ud,Qr)=>{\"use strict\";var wi=Zr(),Jr={\"text/plain\":\"Text\",\"text/html\":\"Url\",default:\"Text\"},Ci=\"Copy to clipboard: #{key}, Enter\";function Si(e){var t=(/mac os x/i.test(navigator.userAgent)?\"\\u2318\":\"Ctrl\")+\"+C\";return e.replace(/#{\\s*key\\s*}/g,t)}function Oi(e,t){var n,o,a,i,l,u,c=!1;t||(t={}),n=t.debug||!1;try{a=wi(),i=document.createRange(),l=document.getSelection(),u=document.createElement(\"span\"),u.textContent=e,u.ariaHidden=\"true\",u.style.all=\"unset\",u.style.position=\"fixed\",u.style.top=0,u.style.clip=\"rect(0, 0, 0, 0)\",u.style.whiteSpace=\"pre\",u.style.webkitUserSelect=\"text\",u.style.MozUserSelect=\"text\",u.style.msUserSelect=\"text\",u.style.userSelect=\"text\",u.addEventListener(\"copy\",function(m){if(m.stopPropagation(),t.format)if(m.preventDefault(),typeof m.clipboardData>\"u\"){n&&console.warn(\"unable to use e.clipboardData\"),n&&console.warn(\"trying IE specific stuff\"),window.clipboardData.clearData();var d=Jr[t.format]||Jr.default;window.clipboardData.setData(d,e)}else m.clipboardData.clearData(),m.clipboardData.setData(t.format,e);t.onCopy&&(m.preventDefault(),t.onCopy(m.clipboardData))}),document.body.appendChild(u),i.selectNodeContents(u),l.addRange(i);var f=document.execCommand(\"copy\");if(!f)throw new Error(\"copy command was unsuccessful\");c=!0}catch(m){n&&console.error(\"unable to copy using execCommand: \",m),n&&console.warn(\"trying IE specific stuff\");try{window.clipboardData.setData(t.format||\"text\",e),t.onCopy&&t.onCopy(window.clipboardData),c=!0}catch(d){n&&console.error(\"unable to copy using clipboardData: \",d),n&&console.error(\"falling back to prompt\"),o=Si(\"message\"in t?t.message:Ci),window.prompt(o,e)}}finally{l&&(typeof l.removeRange==\"function\"?l.removeRange(i):l.removeAllRanges()),u&&document.body.removeChild(u),a()}return c}Qr.exports=Oi});var lo=je((gu,Qt)=>{(function(){\"use strict\";var e={}.hasOwnProperty;function t(){for(var a=\"\",i=0;i<arguments.length;i++){var l=arguments[i];l&&(a=o(a,n(l)))}return a}function n(a){if(typeof a==\"string\"||typeof a==\"number\")return a;if(typeof a!=\"object\")return\"\";if(Array.isArray(a))return t.apply(null,a);if(a.toString!==Object.prototype.toString&&!a.toString.toString().includes(\"[native code]\"))return a.toString();var i=\"\";for(var l in a)e.call(a,l)&&a[l]&&(i=o(i,l));return i}function o(a,i){return i?a?a+\" \"+i:a+i:a}typeof Qt<\"u\"&&Qt.exports?(t.default=t,Qt.exports=t):typeof define==\"function\"&&typeof define.amd==\"object\"&&define.amd?define(\"classnames\",[],function(){return t}):window.classNames=t})()});var Pd={};yi(Pd,{renderClient:()=>Md});module.exports=vi(Pd);var r=Y(Q(),1),ii=Y(Ur(),1),s=Y(Gr(),1),bt=Y(Kr(),1),Mr=Y(Rr(),1);var eo=Y(Q()),ki=(0,eo.createContext)({}),Xt=ki;function K(){return K=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},K.apply(null,arguments)}function to(e){if(Array.isArray(e))return e}function no(e,t){var n=e==null?null:typeof Symbol<\"u\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(n!=null){var o,a,i,l,u=[],c=!0,f=!1;try{if(i=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(o=i.call(n)).done)&&(u.push(o.value),u.length!==t);c=!0);}catch(m){f=!0,a=m}finally{try{if(!c&&n.return!=null&&(l=n.return(),Object(l)!==l))return}finally{if(f)throw a}}return u}}function Xn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function ro(e,t){if(e){if(typeof e==\"string\")return Xn(e,t);var n={}.toString.call(e).slice(8,-1);return n===\"Object\"&&e.constructor&&(n=e.constructor.name),n===\"Map\"||n===\"Set\"?Array.from(e):n===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xn(e,t):void 0}}function oo(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function Zt(e,t){return to(e)||no(e,t)||ro(e,t)||oo()}function Ae(e){\"@babel/helpers - typeof\";return Ae=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Ae(e)}function ao(e,t){if(Ae(e)!=\"object\"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var o=n.call(e,t||\"default\");if(Ae(o)!=\"object\")return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function io(e){var t=ao(e,\"string\");return Ae(t)==\"symbol\"?t:t+\"\"}function re(e,t,n){return(t=io(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function so(e,t){if(e==null)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.indexOf(o)!==-1)continue;n[o]=e[o]}return n}function Jt(e,t){if(e==null)return{};var n,o,a=so(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Xe=Y(Q()),ra=Y(lo());var oe=Math.round;function Zn(e,t){let n=e.replace(/^[^(]*\\((.*)/,\"$1\").replace(/\\).*/,\"\").match(/\\d*\\.?\\d+%?/g)||[],o=n.map(a=>parseFloat(a));for(let a=0;a<3;a+=1)o[a]=t(o[a]||0,n[a]||\"\",a);return n[3]?o[3]=n[3].includes(\"%\")?o[3]/100:o[3]:o[3]=1,o}var uo=(e,t,n)=>n===0?e:e/100;function kt(e,t){let n=t||255;return e>n?n:e<0?0:e}var Ye=class e{constructor(t){re(this,\"isValid\",!0),re(this,\"r\",0),re(this,\"g\",0),re(this,\"b\",0),re(this,\"a\",1),re(this,\"_h\",void 0),re(this,\"_s\",void 0),re(this,\"_l\",void 0),re(this,\"_v\",void 0),re(this,\"_max\",void 0),re(this,\"_min\",void 0),re(this,\"_brightness\",void 0);function n(o){return o[0]in t&&o[1]in t&&o[2]in t}if(t)if(typeof t==\"string\"){let a=function(i){return o.startsWith(i)},o=t.trim();/^#?[A-F\\d]{3,8}$/i.test(o)?this.fromHexString(o):a(\"rgb\")?this.fromRgbString(o):a(\"hsl\")?this.fromHslString(o):(a(\"hsv\")||a(\"hsb\"))&&this.fromHsvString(o)}else if(t instanceof e)this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this._h=t._h,this._s=t._s,this._l=t._l,this._v=t._v;else if(n(\"rgb\"))this.r=kt(t.r),this.g=kt(t.g),this.b=kt(t.b),this.a=typeof t.a==\"number\"?kt(t.a,1):1;else if(n(\"hsl\"))this.fromHsl(t);else if(n(\"hsv\"))this.fromHsv(t);else throw new Error(\"@ant-design/fast-color: unsupported input \"+JSON.stringify(t))}setR(t){return this._sc(\"r\",t)}setG(t){return this._sc(\"g\",t)}setB(t){return this._sc(\"b\",t)}setA(t){return this._sc(\"a\",t,1)}setHue(t){let n=this.toHsv();return n.h=t,this._c(n)}getLuminance(){function t(i){let l=i/255;return l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4)}let n=t(this.r),o=t(this.g),a=t(this.b);return .2126*n+.7152*o+.0722*a}getHue(){if(typeof this._h>\"u\"){let t=this.getMax()-this.getMin();t===0?this._h=0:this._h=oe(60*(this.r===this.getMax()?(this.g-this.b)/t+(this.g<this.b?6:0):this.g===this.getMax()?(this.b-this.r)/t+2:(this.r-this.g)/t+4))}return this._h}getSaturation(){if(typeof this._s>\"u\"){let t=this.getMax()-this.getMin();t===0?this._s=0:this._s=t/this.getMax()}return this._s}getLightness(){return typeof this._l>\"u\"&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return typeof this._v>\"u\"&&(this._v=this.getMax()/255),this._v}getBrightness(){return typeof this._brightness>\"u\"&&(this._brightness=(this.r*299+this.g*587+this.b*114)/1e3),this._brightness}darken(t=10){let n=this.getHue(),o=this.getSaturation(),a=this.getLightness()-t/100;return a<0&&(a=0),this._c({h:n,s:o,l:a,a:this.a})}lighten(t=10){let n=this.getHue(),o=this.getSaturation(),a=this.getLightness()+t/100;return a>1&&(a=1),this._c({h:n,s:o,l:a,a:this.a})}mix(t,n=50){let o=this._c(t),a=n/100,i=u=>(o[u]-this[u])*a+this[u],l={r:oe(i(\"r\")),g:oe(i(\"g\")),b:oe(i(\"b\")),a:oe(i(\"a\")*100)/100};return this._c(l)}tint(t=10){return this.mix({r:255,g:255,b:255,a:1},t)}shade(t=10){return this.mix({r:0,g:0,b:0,a:1},t)}onBackground(t){let n=this._c(t),o=this.a+n.a*(1-this.a),a=i=>oe((this[i]*this.a+n[i]*n.a*(1-this.a))/o);return this._c({r:a(\"r\"),g:a(\"g\"),b:a(\"b\"),a:o})}isDark(){return this.getBrightness()<128}isLight(){return this.getBrightness()>=128}equals(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}clone(){return this._c(this)}toHexString(){let t=\"#\",n=(this.r||0).toString(16);t+=n.length===2?n:\"0\"+n;let o=(this.g||0).toString(16);t+=o.length===2?o:\"0\"+o;let a=(this.b||0).toString(16);if(t+=a.length===2?a:\"0\"+a,typeof this.a==\"number\"&&this.a>=0&&this.a<1){let i=oe(this.a*255).toString(16);t+=i.length===2?i:\"0\"+i}return t}toHsl(){return{h:this.getHue(),s:this.getSaturation(),l:this.getLightness(),a:this.a}}toHslString(){let t=this.getHue(),n=oe(this.getSaturation()*100),o=oe(this.getLightness()*100);return this.a!==1?\"hsla(\".concat(t,\",\").concat(n,\"%,\").concat(o,\"%,\").concat(this.a,\")\"):\"hsl(\".concat(t,\",\").concat(n,\"%,\").concat(o,\"%)\")}toHsv(){return{h:this.getHue(),s:this.getSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return this.a!==1?\"rgba(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\",\").concat(this.a,\")\"):\"rgb(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\")\")}toString(){return this.toRgbString()}_sc(t,n,o){let a=this.clone();return a[t]=kt(n,o),a}_c(t){return new this.constructor(t)}getMax(){return typeof this._max>\"u\"&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return typeof this._min>\"u\"&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(t){let n=t.replace(\"#\",\"\");function o(a,i){return parseInt(n[a]+n[i||a],16)}n.length<6?(this.r=o(0),this.g=o(1),this.b=o(2),this.a=n[3]?o(3)/255:1):(this.r=o(0,1),this.g=o(2,3),this.b=o(4,5),this.a=n[6]?o(6,7)/255:1)}fromHsl({h:t,s:n,l:o,a}){if(this._h=t%360,this._s=n,this._l=o,this.a=typeof a==\"number\"?a:1,n<=0){let g=oe(o*255);this.r=g,this.g=g,this.b=g}let i=0,l=0,u=0,c=t/60,f=(1-Math.abs(2*o-1))*n,m=f*(1-Math.abs(c%2-1));c>=0&&c<1?(i=f,l=m):c>=1&&c<2?(i=m,l=f):c>=2&&c<3?(l=f,u=m):c>=3&&c<4?(l=m,u=f):c>=4&&c<5?(i=m,u=f):c>=5&&c<6&&(i=f,u=m);let d=o-f/2;this.r=oe((i+d)*255),this.g=oe((l+d)*255),this.b=oe((u+d)*255)}fromHsv({h:t,s:n,v:o,a}){this._h=t%360,this._s=n,this._v=o,this.a=typeof a==\"number\"?a:1;let i=oe(o*255);if(this.r=i,this.g=i,this.b=i,n<=0)return;let l=t/60,u=Math.floor(l),c=l-u,f=oe(o*(1-n)*255),m=oe(o*(1-n*c)*255),d=oe(o*(1-n*(1-c))*255);switch(u){case 0:this.g=d,this.b=f;break;case 1:this.r=m,this.b=f;break;case 2:this.r=f,this.b=d;break;case 3:this.r=f,this.g=m;break;case 4:this.r=d,this.g=f;break;case 5:default:this.g=f,this.b=m;break}}fromHsvString(t){let n=Zn(t,uo);this.fromHsv({h:n[0],s:n[1],v:n[2],a:n[3]})}fromHslString(t){let n=Zn(t,uo);this.fromHsl({h:n[0],s:n[1],l:n[2],a:n[3]})}fromRgbString(t){let n=Zn(t,(o,a)=>a.includes(\"%\")?oe(o/100*255):o);this.r=n[0],this.g=n[1],this.b=n[2],this.a=n[3]}};var Rt=2,co=.16,Ti=.05,Ei=.05,Fi=.15,go=5,xo=4,Ii=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function fo(e,t,n){var o;return Math.round(e.h)>=60&&Math.round(e.h)<=240?o=n?Math.round(e.h)-Rt*t:Math.round(e.h)+Rt*t:o=n?Math.round(e.h)+Rt*t:Math.round(e.h)-Rt*t,o<0?o+=360:o>=360&&(o-=360),o}function po(e,t,n){if(e.h===0&&e.s===0)return e.s;var o;return n?o=e.s-co*t:t===xo?o=e.s+co:o=e.s+Ti*t,o>1&&(o=1),n&&t===go&&o>.1&&(o=.1),o<.06&&(o=.06),Math.round(o*100)/100}function mo(e,t,n){var o;return n?o=e.v+Ei*t:o=e.v-Fi*t,o=Math.max(0,Math.min(1,o)),Math.round(o*100)/100}function en(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=new Ye(e),a=o.toHsv(),i=go;i>0;i-=1){var l=new Ye({h:fo(a,i,!0),s:po(a,i,!0),v:mo(a,i,!0)});n.push(l)}n.push(o);for(var u=1;u<=xo;u+=1){var c=new Ye({h:fo(a,u),s:po(a,u),v:mo(a,u)});n.push(c)}return t.theme===\"dark\"?Ii.map(function(f){var m=f.index,d=f.amount;return new Ye(t.backgroundColor||\"#141414\").mix(n[m],d).toHexString()}):n.map(function(f){return f.toHexString()})}var ho=[\"#fff1f0\",\"#ffccc7\",\"#ffa39e\",\"#ff7875\",\"#ff4d4f\",\"#f5222d\",\"#cf1322\",\"#a8071a\",\"#820014\",\"#5c0011\"];ho.primary=ho[5];var bo=[\"#fff2e8\",\"#ffd8bf\",\"#ffbb96\",\"#ff9c6e\",\"#ff7a45\",\"#fa541c\",\"#d4380d\",\"#ad2102\",\"#871400\",\"#610b00\"];bo.primary=bo[5];var yo=[\"#fff7e6\",\"#ffe7ba\",\"#ffd591\",\"#ffc069\",\"#ffa940\",\"#fa8c16\",\"#d46b08\",\"#ad4e00\",\"#873800\",\"#612500\"];yo.primary=yo[5];var vo=[\"#fffbe6\",\"#fff1b8\",\"#ffe58f\",\"#ffd666\",\"#ffc53d\",\"#faad14\",\"#d48806\",\"#ad6800\",\"#874d00\",\"#613400\"];vo.primary=vo[5];var wo=[\"#feffe6\",\"#ffffb8\",\"#fffb8f\",\"#fff566\",\"#ffec3d\",\"#fadb14\",\"#d4b106\",\"#ad8b00\",\"#876800\",\"#614700\"];wo.primary=wo[5];var Co=[\"#fcffe6\",\"#f4ffb8\",\"#eaff8f\",\"#d3f261\",\"#bae637\",\"#a0d911\",\"#7cb305\",\"#5b8c00\",\"#3f6600\",\"#254000\"];Co.primary=Co[5];var So=[\"#f6ffed\",\"#d9f7be\",\"#b7eb8f\",\"#95de64\",\"#73d13d\",\"#52c41a\",\"#389e0d\",\"#237804\",\"#135200\",\"#092b00\"];So.primary=So[5];var Oo=[\"#e6fffb\",\"#b5f5ec\",\"#87e8de\",\"#5cdbd3\",\"#36cfc9\",\"#13c2c2\",\"#08979c\",\"#006d75\",\"#00474f\",\"#002329\"];Oo.primary=Oo[5];var tn=[\"#e6f4ff\",\"#bae0ff\",\"#91caff\",\"#69b1ff\",\"#4096ff\",\"#1677ff\",\"#0958d9\",\"#003eb3\",\"#002c8c\",\"#001d66\"];tn.primary=tn[5];var ko=[\"#f0f5ff\",\"#d6e4ff\",\"#adc6ff\",\"#85a5ff\",\"#597ef7\",\"#2f54eb\",\"#1d39c4\",\"#10239e\",\"#061178\",\"#030852\"];ko.primary=ko[5];var To=[\"#f9f0ff\",\"#efdbff\",\"#d3adf7\",\"#b37feb\",\"#9254de\",\"#722ed1\",\"#531dab\",\"#391085\",\"#22075e\",\"#120338\"];To.primary=To[5];var Eo=[\"#fff0f6\",\"#ffd6e7\",\"#ffadd2\",\"#ff85c0\",\"#f759ab\",\"#eb2f96\",\"#c41d7f\",\"#9e1068\",\"#780650\",\"#520339\"];Eo.primary=Eo[5];var Fo=[\"#a6a6a6\",\"#999999\",\"#8c8c8c\",\"#808080\",\"#737373\",\"#666666\",\"#404040\",\"#1a1a1a\",\"#000000\",\"#000000\"];Fo.primary=Fo[5];var Io=[\"#2a1215\",\"#431418\",\"#58181c\",\"#791a1f\",\"#a61d24\",\"#d32029\",\"#e84749\",\"#f37370\",\"#f89f9a\",\"#fac8c3\"];Io.primary=Io[5];var Do=[\"#2b1611\",\"#441d12\",\"#592716\",\"#7c3118\",\"#aa3e19\",\"#d84a1b\",\"#e87040\",\"#f3956a\",\"#f8b692\",\"#fad4bc\"];Do.primary=Do[5];var No=[\"#2b1d11\",\"#442a11\",\"#593815\",\"#7c4a15\",\"#aa6215\",\"#d87a16\",\"#e89a3c\",\"#f3b765\",\"#f8cf8d\",\"#fae3b7\"];No.primary=No[5];var Ao=[\"#2b2111\",\"#443111\",\"#594214\",\"#7c5914\",\"#aa7714\",\"#d89614\",\"#e8b339\",\"#f3cc62\",\"#f8df8b\",\"#faedb5\"];Ao.primary=Ao[5];var _o=[\"#2b2611\",\"#443b11\",\"#595014\",\"#7c6e14\",\"#aa9514\",\"#d8bd14\",\"#e8d639\",\"#f3ea62\",\"#f8f48b\",\"#fafab5\"];_o.primary=_o[5];var Mo=[\"#1f2611\",\"#2e3c10\",\"#3e4f13\",\"#536d13\",\"#6f9412\",\"#8bbb11\",\"#a9d134\",\"#c9e75d\",\"#e4f88b\",\"#f0fab5\"];Mo.primary=Mo[5];var Po=[\"#162312\",\"#1d3712\",\"#274916\",\"#306317\",\"#3c8618\",\"#49aa19\",\"#6abe39\",\"#8fd460\",\"#b2e58b\",\"#d5f2bb\"];Po.primary=Po[5];var Lo=[\"#112123\",\"#113536\",\"#144848\",\"#146262\",\"#138585\",\"#13a8a8\",\"#33bcb7\",\"#58d1c9\",\"#84e2d8\",\"#b2f1e8\"];Lo.primary=Lo[5];var Bo=[\"#111a2c\",\"#112545\",\"#15325b\",\"#15417e\",\"#1554ad\",\"#1668dc\",\"#3c89e8\",\"#65a9f3\",\"#8dc5f8\",\"#b7dcfa\"];Bo.primary=Bo[5];var $o=[\"#131629\",\"#161d40\",\"#1c2755\",\"#203175\",\"#263ea0\",\"#2b4acb\",\"#5273e0\",\"#7f9ef3\",\"#a8c1f8\",\"#d2e0fa\"];$o.primary=$o[5];var zo=[\"#1a1325\",\"#24163a\",\"#301c4d\",\"#3e2069\",\"#51258f\",\"#642ab5\",\"#854eca\",\"#ab7ae0\",\"#cda8f0\",\"#ebd7fa\"];zo.primary=zo[5];var qo=[\"#291321\",\"#40162f\",\"#551c3b\",\"#75204f\",\"#a02669\",\"#cb2b83\",\"#e0529c\",\"#f37fb7\",\"#f8a8cc\",\"#fad2e3\"];qo.primary=qo[5];var Ho=[\"#151515\",\"#1f1f1f\",\"#2d2d2d\",\"#393939\",\"#494949\",\"#5a5a5a\",\"#6a6a6a\",\"#7b7b7b\",\"#888888\",\"#969696\"];Ho.primary=Ho[5];function jo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,o)}return n}function he(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?jo(Object(n),!0).forEach(function(o){re(e,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jo(Object(n)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(n,o))})}return e}var ta=Y(Q());function Jn(){return!!(typeof window<\"u\"&&window.document&&window.document.createElement)}function Qn(e,t){if(!e)return!1;if(e.contains)return e.contains(t);for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1}var Vo=\"data-rc-order\",Uo=\"data-rc-priority\",Di=\"rc-util-key\",Rn=new Map;function Wo(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.mark;return t?t.startsWith(\"data-\")?t:\"data-\".concat(t):Di}function er(e){if(e.attachTo)return e.attachTo;var t=document.querySelector(\"head\");return t||document.body}function Ni(e){return e===\"queue\"?\"prependQueue\":e?\"prepend\":\"append\"}function tr(e){return Array.from((Rn.get(e)||e).children).filter(function(t){return t.tagName===\"STYLE\"})}function Go(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Jn())return null;var n=t.csp,o=t.prepend,a=t.priority,i=a===void 0?0:a,l=Ni(o),u=l===\"prependQueue\",c=document.createElement(\"style\");c.setAttribute(Vo,l),u&&i&&c.setAttribute(Uo,\"\".concat(i)),n!=null&&n.nonce&&(c.nonce=n==null?void 0:n.nonce),c.innerHTML=e;var f=er(t),m=f.firstChild;if(o){if(u){var d=(t.styles||tr(f)).filter(function(g){if(![\"prepend\",\"prependQueue\"].includes(g.getAttribute(Vo)))return!1;var p=Number(g.getAttribute(Uo)||0);return i>=p});if(d.length)return f.insertBefore(c,d[d.length-1].nextSibling),c}f.insertBefore(c,m)}else f.appendChild(c);return c}function Ai(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=er(t);return(t.styles||tr(n)).find(function(o){return o.getAttribute(Wo(t))===e})}function _i(e,t){var n=Rn.get(e);if(!n||!Qn(document,n)){var o=Go(\"\",t),a=o.parentNode;Rn.set(e,a),e.removeChild(o)}}function Yo(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=er(n),a=tr(o),i=he(he({},n),{},{styles:a});_i(o,i);var l=Ai(t,i);if(l){var u,c;if((u=i.csp)!==null&&u!==void 0&&u.nonce&&l.nonce!==((c=i.csp)===null||c===void 0?void 0:c.nonce)){var f;l.nonce=(f=i.csp)===null||f===void 0?void 0:f.nonce}return l.innerHTML!==e&&(l.innerHTML=e),l}var m=Go(e,i);return m.setAttribute(Wo(i),t),m}function Ko(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}function Mi(e){return Ko(e)instanceof ShadowRoot}function Xo(e){return Mi(e)?Ko(e):null}var nr={},Pi=[],Li=function(t){Pi.push(t)};function Bi(e,t){if(0)var n}function $i(e,t){if(0)var n}function zi(){nr={}}function Zo(e,t,n){!t&&!nr[n]&&(e(!1,n),nr[n]=!0)}function nn(e,t){Zo(Bi,e,t)}function qi(e,t){Zo($i,e,t)}nn.preMessage=Li;nn.resetWarned=zi;nn.noteOnce=qi;var Jo=nn;var Ke=Y(Q());function Hi(e){return e.replace(/-(.)/g,function(t,n){return n.toUpperCase()})}function Ro(e,t){Jo(e,\"[@ant-design/icons] \".concat(t))}function rr(e){return Ae(e)===\"object\"&&typeof e.name==\"string\"&&typeof e.theme==\"string\"&&(Ae(e.icon)===\"object\"||typeof e.icon==\"function\")}function Qo(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(e).reduce(function(t,n){var o=e[n];switch(n){case\"class\":t.className=o,delete t.class;break;default:delete t[n],t[Hi(n)]=o}return t},{})}function rn(e,t,n){return n?Ke.default.createElement(e.tag,he(he({key:t},Qo(e.attrs)),n),(e.children||[]).map(function(o,a){return rn(o,\"\".concat(t,\"-\").concat(e.tag,\"-\").concat(a))})):Ke.default.createElement(e.tag,he({key:t},Qo(e.attrs)),(e.children||[]).map(function(o,a){return rn(o,\"\".concat(t,\"-\").concat(e.tag,\"-\").concat(a))}))}function or(e){return en(e)[0]}function on(e){return e?Array.isArray(e)?e:[e]:[]}var ji=\"\\n.anticon {\\n display: inline-flex;\\n align-items: center;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\",ea=function(t){var n=(0,Ke.useContext)(Xt),o=n.csp,a=n.prefixCls,i=n.layer,l=ji;a&&(l=l.replace(/anticon/g,a)),i&&(l=\"@layer \".concat(i,\" {\\n\").concat(l,\"\\n}\")),(0,Ke.useEffect)(function(){var u=t.current,c=Xo(u);Yo(l,\"@ant-design-icons\",{prepend:!i,csp:o,attachTo:c})},[])};var Vi=[\"icon\",\"className\",\"onClick\",\"style\",\"primaryColor\",\"secondaryColor\"],Tt={primaryColor:\"#333\",secondaryColor:\"#E6E6E6\",calculated:!1};function Ui(e){var t=e.primaryColor,n=e.secondaryColor;Tt.primaryColor=t,Tt.secondaryColor=n||or(t),Tt.calculated=!!n}function Wi(){return he({},Tt)}var an=function(t){var n=t.icon,o=t.className,a=t.onClick,i=t.style,l=t.primaryColor,u=t.secondaryColor,c=Jt(t,Vi),f=ta.useRef(),m=Tt;if(l&&(m={primaryColor:l,secondaryColor:u||or(l)}),ea(f),Ro(rr(n),\"icon should be icon definiton, but got \".concat(n)),!rr(n))return null;var d=n;return d&&typeof d.icon==\"function\"&&(d=he(he({},d),{},{icon:d.icon(m.primaryColor,m.secondaryColor)})),rn(d.icon,\"svg-\".concat(d.name),he(he({className:o,onClick:a,style:i,\"data-icon\":d.name,width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\"},c),{},{ref:f}))};an.displayName=\"IconReact\";an.getTwoToneColors=Wi;an.setTwoToneColors=Ui;var Et=an;function ar(e){var t=on(e),n=Zt(t,2),o=n[0],a=n[1];return Et.setTwoToneColors({primaryColor:o,secondaryColor:a})}function na(){var e=Et.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor}var Gi=[\"className\",\"icon\",\"spin\",\"rotate\",\"tabIndex\",\"onClick\",\"twoToneColor\"];ar(tn.primary);var sn=Xe.forwardRef(function(e,t){var n=e.className,o=e.icon,a=e.spin,i=e.rotate,l=e.tabIndex,u=e.onClick,c=e.twoToneColor,f=Jt(e,Gi),m=Xe.useContext(Xt),d=m.prefixCls,g=d===void 0?\"anticon\":d,p=m.rootClassName,v=(0,ra.default)(p,g,re(re({},\"\".concat(g,\"-\").concat(o.name),!!o.name),\"\".concat(g,\"-spin\"),!!a||o.name===\"loading\"),n),y=l;y===void 0&&u&&(y=-1);var k=i?{msTransform:\"rotate(\".concat(i,\"deg)\"),transform:\"rotate(\".concat(i,\"deg)\")}:void 0,E=on(c),w=Zt(E,2),F=w[0],_=w[1];return Xe.createElement(\"span\",K({role:\"img\",\"aria-label\":o.name},f,{ref:t,tabIndex:y,onClick:u,className:v}),Xe.createElement(Et,{icon:o,primaryColor:F,secondaryColor:_,style:k}))});sn.displayName=\"AntdIcon\";sn.getTwoToneColor=na;sn.setTwoToneColor=ar;var Z=sn;var ln=Y(Q());var Yi={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z\"}},{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"}}]},name:\"check-circle\",theme:\"outlined\"},oa=Yi;var Ki=function(t,n){return ln.createElement(Z,K({},t,{ref:n,icon:oa}))},Xi=ln.forwardRef(Ki),dn=Xi;var un=Y(Q());var Zi={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z\"}}]},name:\"copy\",theme:\"outlined\"},aa=Zi;var Ji=function(t,n){return un.createElement(Z,K({},t,{ref:n,icon:aa}))},Qi=un.forwardRef(Ji),ir=Qi;var cn=Y(Q());var Ri={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z\"}}]},name:\"edit\",theme:\"outlined\"},ia=Ri;var es=function(t,n){return cn.createElement(Z,K({},t,{ref:n,icon:ia}))},ts=cn.forwardRef(es),ct=ts;var fn=Y(Q());var ns={icon:{tag:\"svg\",attrs:{\"fill-rule\":\"evenodd\",viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z\"}}]},name:\"export\",theme:\"outlined\"},sa=ns;var rs=function(t,n){return fn.createElement(Z,K({},t,{ref:n,icon:sa}))},os=fn.forwardRef(rs),sr=os;var pn=Y(Q());var as={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z\"}}]},name:\"holder\",theme:\"outlined\"},la=as;var is=function(t,n){return pn.createElement(Z,K({},t,{ref:n,icon:la}))},ss=pn.forwardRef(is),lr=ss;var mn=Y(Q());var ls={icon:{tag:\"svg\",attrs:{\"fill-rule\":\"evenodd\",viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z\"}}]},name:\"import\",theme:\"outlined\"},da=ls;var ds=function(t,n){return mn.createElement(Z,K({},t,{ref:n,icon:da}))},us=mn.forwardRef(ds),dr=us;var gn=Y(Q());var cs={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z\"}}]},name:\"link\",theme:\"outlined\"},ua=cs;var fs=function(t,n){return gn.createElement(Z,K({},t,{ref:n,icon:ua}))},ps=gn.forwardRef(fs),ur=ps;var xn=Y(Q());var ms={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"}},{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"}}]},name:\"minus-circle\",theme:\"outlined\"},ca=ms;var gs=function(t,n){return xn.createElement(Z,K({},t,{ref:n,icon:ca}))},xs=xn.forwardRef(gs),Ze=xs;var hn=Y(Q());var hs={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\"}},{tag:\"path\",attrs:{d:\"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z\"}}]},name:\"plus\",theme:\"outlined\"},fa=hs;var bs=function(t,n){return hn.createElement(Z,K({},t,{ref:n,icon:fa}))},ys=hn.forwardRef(bs),be=ys;var bn=Y(Q());var vs={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z\"}}]},name:\"setting\",theme:\"outlined\"},pa=vs;var ws=function(t,n){return bn.createElement(Z,K({},t,{ref:n,icon:pa}))},Cs=bn.forwardRef(ws),yn=Cs;var vn=Y(Q());var Ss={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z\"}}]},name:\"user\",theme:\"outlined\"},ma=Ss;var Os=function(t,n){return vn.createElement(Z,K({},t,{ref:n,icon:ma}))},ks=vn.forwardRef(Os),cr=ks;var x=Y(Q()),nt=Y(Yn());var R=Y(Q());function xa(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,R.useMemo)(()=>o=>{t.forEach(a=>a(o))},t)}var Ft=typeof window<\"u\"&&typeof window.document<\"u\"&&typeof window.document.createElement<\"u\";function Je(e){let t=Object.prototype.toString.call(e);return t===\"[object Window]\"||t===\"[object global]\"}function wn(e){return\"nodeType\"in e}function pe(e){var t,n;return e?Je(e)?e:wn(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function Cn(e){let{Document:t}=pe(e);return e instanceof t}function ft(e){return Je(e)?!1:e instanceof pe(e).HTMLElement}function pr(e){return e instanceof pe(e).SVGElement}function Qe(e){return e?Je(e)?e.document:wn(e)?Cn(e)?e:ft(e)||pr(e)?e.ownerDocument:document:document:document}var ye=Ft?R.useLayoutEffect:R.useEffect;function Sn(e){let t=(0,R.useRef)(e);return ye(()=>{t.current=e}),(0,R.useCallback)(function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return t.current==null?void 0:t.current(...o)},[])}function ha(){let e=(0,R.useRef)(null),t=(0,R.useCallback)((o,a)=>{e.current=setInterval(o,a)},[]),n=(0,R.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function pt(e,t){t===void 0&&(t=[e]);let n=(0,R.useRef)(e);return ye(()=>{n.current!==e&&(n.current=e)},t),n}function mt(e,t){let n=(0,R.useRef)();return(0,R.useMemo)(()=>{let o=e(n.current);return n.current=o,o},[...t])}function It(e){let t=Sn(e),n=(0,R.useRef)(null),o=(0,R.useCallback)(a=>{a!==n.current&&(t==null||t(a,n.current)),n.current=a},[]);return[n,o]}function On(e){let t=(0,R.useRef)();return(0,R.useEffect)(()=>{t.current=e},[e]),t.current}var fr={};function Re(e,t){return(0,R.useMemo)(()=>{if(t)return t;let n=fr[e]==null?0:fr[e]+1;return fr[e]=n,e+\"-\"+n},[e,t])}function ba(e){return function(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];return o.reduce((i,l)=>{let u=Object.entries(l);for(let[c,f]of u){let m=i[c];m!=null&&(i[c]=m+e*f)}return i},S({},t))}}var et=ba(1),gt=ba(-1);function Ts(e){return\"clientX\"in e&&\"clientY\"in e}function Dt(e){if(!e)return!1;let{KeyboardEvent:t}=pe(e.target);return t&&e instanceof t}function Es(e){if(!e)return!1;let{TouchEvent:t}=pe(e.target);return t&&e instanceof t}function Nt(e){if(Es(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Ts(e)?{x:e.clientX,y:e.clientY}:null}var Ve=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return\"translate3d(\"+(t?Math.round(t):0)+\"px, \"+(n?Math.round(n):0)+\"px, 0)\"}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return\"scaleX(\"+t+\") scaleY(\"+n+\")\"}},Transform:{toString(e){if(e)return[Ve.Translate.toString(e),Ve.Scale.toString(e)].join(\" \")}},Transition:{toString(e){let{property:t,duration:n,easing:o}=e;return t+\" \"+n+\"ms \"+o}}}),ga=\"a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]\";function ya(e){return e.matches(ga)?e:e.querySelector(ga)}var tt=Y(Q()),Fs={display:\"none\"};function va(e){let{id:t,value:n}=e;return tt.default.createElement(\"div\",{id:t,style:Fs},n)}function wa(e){let{id:t,announcement:n,ariaLiveType:o=\"assertive\"}=e,a={position:\"fixed\",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:\"hidden\",clip:\"rect(0 0 0 0)\",clipPath:\"inset(100%)\",whiteSpace:\"nowrap\"};return tt.default.createElement(\"div\",{id:t,style:a,role:\"status\",\"aria-live\":o,\"aria-atomic\":!0},n)}function Ca(){let[e,t]=(0,tt.useState)(\"\");return{announce:(0,tt.useCallback)(o=>{o!=null&&t(o)},[]),announcement:e}}var _a=(0,x.createContext)(null);function Is(e){let t=(0,x.useContext)(_a);(0,x.useEffect)(()=>{if(!t)throw new Error(\"useDndMonitor must be used within a children of <DndContext>\");return t(e)},[e,t])}function Ds(){let[e]=(0,x.useState)(()=>new Set),t=(0,x.useCallback)(o=>(e.add(o),()=>e.delete(o)),[e]);return[(0,x.useCallback)(o=>{let{type:a,event:i}=o;e.forEach(l=>{var u;return(u=l[a])==null?void 0:u.call(l,i)})},[e]),t]}var Ns={draggable:\"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"},As={onDragStart(e){let{active:t}=e;return\"Picked up draggable item \"+t.id+\".\"},onDragOver(e){let{active:t,over:n}=e;return n?\"Draggable item \"+t.id+\" was moved over droppable area \"+n.id+\".\":\"Draggable item \"+t.id+\" is no longer over a droppable area.\"},onDragEnd(e){let{active:t,over:n}=e;return n?\"Draggable item \"+t.id+\" was dropped over droppable area \"+n.id:\"Draggable item \"+t.id+\" was dropped.\"},onDragCancel(e){let{active:t}=e;return\"Dragging was cancelled. Draggable item \"+t.id+\" was dropped.\"}};function _s(e){let{announcements:t=As,container:n,hiddenTextDescribedById:o,screenReaderInstructions:a=Ns}=e,{announce:i,announcement:l}=Ca(),u=Re(\"DndLiveRegion\"),[c,f]=(0,x.useState)(!1);if((0,x.useEffect)(()=>{f(!0)},[]),Is((0,x.useMemo)(()=>({onDragStart(d){let{active:g}=d;i(t.onDragStart({active:g}))},onDragMove(d){let{active:g,over:p}=d;t.onDragMove&&i(t.onDragMove({active:g,over:p}))},onDragOver(d){let{active:g,over:p}=d;i(t.onDragOver({active:g,over:p}))},onDragEnd(d){let{active:g,over:p}=d;i(t.onDragEnd({active:g,over:p}))},onDragCancel(d){let{active:g,over:p}=d;i(t.onDragCancel({active:g,over:p}))}}),[i,t])),!c)return null;let m=x.default.createElement(x.default.Fragment,null,x.default.createElement(va,{id:o,value:a.draggable}),x.default.createElement(wa,{id:u,announcement:l}));return n?(0,nt.createPortal)(m,n):m}var te;(function(e){e.DragStart=\"dragStart\",e.DragMove=\"dragMove\",e.DragEnd=\"dragEnd\",e.DragCancel=\"dragCancel\",e.DragOver=\"dragOver\",e.RegisterDroppable=\"registerDroppable\",e.SetDroppableDisabled=\"setDroppableDisabled\",e.UnregisterDroppable=\"unregisterDroppable\"})(te||(te={}));function Tn(){}function Lt(e,t){return(0,x.useMemo)(()=>({sensor:e,options:t!=null?t:{}}),[e,t])}function wr(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,x.useMemo)(()=>[...t].filter(o=>o!=null),[...t])}var Te=Object.freeze({x:0,y:0});function Ms(e,t){let{data:{value:n}}=e,{data:{value:o}}=t;return o-n}function Ma(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Ps(e,t){let n=Math.max(t.top,e.top),o=Math.max(t.left,e.left),a=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height),l=a-o,u=i-n;if(o<a&&n<i){let c=t.width*t.height,f=e.width*e.height,m=l*u,d=m/(c+f-m);return Number(d.toFixed(4))}return 0}var Ls=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:o}=e,a=[];for(let i of o){let{id:l}=i,u=n.get(l);if(u){let c=Ps(u,t);c>0&&a.push({id:l,data:{droppableContainer:i,value:c}})}}return a.sort(Ms)};function Bs(e,t,n){return B(S({},e),{scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1})}function Pa(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Te}function $s(e){return function(n){for(var o=arguments.length,a=new Array(o>1?o-1:0),i=1;i<o;i++)a[i-1]=arguments[i];return a.reduce((l,u)=>B(S({},l),{top:l.top+e*u.y,bottom:l.bottom+e*u.y,left:l.left+e*u.x,right:l.right+e*u.x}),S({},n))}}var zs=$s(1);function qs(e){if(e.startsWith(\"matrix3d(\")){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(\"matrix(\")){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Hs(e,t,n){let o=qs(t);if(!o)return e;let{scaleX:a,scaleY:i,x:l,y:u}=o,c=e.left-l-(1-a)*parseFloat(n),f=e.top-u-(1-i)*parseFloat(n.slice(n.indexOf(\" \")+1)),m=a?e.width/a:e.width,d=i?e.height/i:e.height;return{width:m,height:d,top:f,right:c+m,bottom:f+d,left:c}}var js={ignoreTransform:!1};function it(e,t){t===void 0&&(t=js);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:f,transformOrigin:m}=pe(e).getComputedStyle(e);f&&(n=Hs(n,f,m))}let{top:o,left:a,width:i,height:l,bottom:u,right:c}=n;return{top:o,left:a,width:i,height:l,bottom:u,right:c}}function Sa(e){return it(e,{ignoreTransform:!0})}function Vs(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Us(e,t){return t===void 0&&(t=pe(e).getComputedStyle(e)),t.position===\"fixed\"}function Ws(e,t){t===void 0&&(t=pe(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[\"overflow\",\"overflowX\",\"overflowY\"].some(a=>{let i=t[a];return typeof i==\"string\"?n.test(i):!1})}function In(e,t){let n=[];function o(a){if(t!=null&&n.length>=t||!a)return n;if(Cn(a)&&a.scrollingElement!=null&&!n.includes(a.scrollingElement))return n.push(a.scrollingElement),n;if(!ft(a)||pr(a)||n.includes(a))return n;let i=pe(e).getComputedStyle(a);return a!==e&&Ws(a,i)&&n.push(a),Us(a,i)?n:o(a.parentNode)}return e?o(e):n}function La(e){let[t]=In(e,1);return t!=null?t:null}function mr(e){return!Ft||!e?null:Je(e)?e:wn(e)?Cn(e)||e===Qe(e).scrollingElement?window:ft(e)?e:null:null}function Ba(e){return Je(e)?e.scrollX:e.scrollLeft}function $a(e){return Je(e)?e.scrollY:e.scrollTop}function hr(e){return{x:Ba(e),y:$a(e)}}var ae;(function(e){e[e.Forward=1]=\"Forward\",e[e.Backward=-1]=\"Backward\"})(ae||(ae={}));function za(e){return!Ft||!e?!1:e===document.scrollingElement}function qa(e){let t={x:0,y:0},n=za(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},o={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},a=e.scrollTop<=t.y,i=e.scrollLeft<=t.x,l=e.scrollTop>=o.y,u=e.scrollLeft>=o.x;return{isTop:a,isLeft:i,isBottom:l,isRight:u,maxScroll:o,minScroll:t}}var Gs={x:.2,y:.2};function Ys(e,t,n,o,a){let{top:i,left:l,right:u,bottom:c}=n;o===void 0&&(o=10),a===void 0&&(a=Gs);let{isTop:f,isBottom:m,isLeft:d,isRight:g}=qa(e),p={x:0,y:0},v={x:0,y:0},y={height:t.height*a.y,width:t.width*a.x};return!f&&i<=t.top+y.height?(p.y=ae.Backward,v.y=o*Math.abs((t.top+y.height-i)/y.height)):!m&&c>=t.bottom-y.height&&(p.y=ae.Forward,v.y=o*Math.abs((t.bottom-y.height-c)/y.height)),!g&&u>=t.right-y.width?(p.x=ae.Forward,v.x=o*Math.abs((t.right-y.width-u)/y.width)):!d&&l<=t.left+y.width&&(p.x=ae.Backward,v.x=o*Math.abs((t.left+y.width-l)/y.width)),{direction:p,speed:v}}function Ks(e){if(e===document.scrollingElement){let{innerWidth:i,innerHeight:l}=window;return{top:0,left:0,right:i,bottom:l,width:i,height:l}}let{top:t,left:n,right:o,bottom:a}=e.getBoundingClientRect();return{top:t,left:n,right:o,bottom:a,width:e.clientWidth,height:e.clientHeight}}function Ha(e){return e.reduce((t,n)=>et(t,hr(n)),Te)}function Xs(e){return e.reduce((t,n)=>t+Ba(n),0)}function Zs(e){return e.reduce((t,n)=>t+$a(n),0)}function Js(e,t){if(t===void 0&&(t=it),!e)return;let{top:n,left:o,bottom:a,right:i}=t(e);La(e)&&(a<=0||i<=0||n>=window.innerHeight||o>=window.innerWidth)&&e.scrollIntoView({block:\"center\",inline:\"center\"})}var Qs=[[\"x\",[\"left\",\"right\"],Xs],[\"y\",[\"top\",\"bottom\"],Zs]],_t=class{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let o=In(n),a=Ha(o);this.rect=S({},t),this.width=t.width,this.height=t.height;for(let[i,l,u]of Qs)for(let c of l)Object.defineProperty(this,c,{get:()=>{let f=u(o),m=a[i]-f;return this.rect[c]+m},enumerable:!0});Object.defineProperty(this,\"rect\",{enumerable:!1})}},rt=class{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var o;return(o=this.target)==null?void 0:o.removeEventListener(...n)})},this.target=t}add(t,n,o){var a;(a=this.target)==null||a.addEventListener(t,n,o),this.listeners.push([t,n,o])}};function Rs(e){let{EventTarget:t}=pe(e);return e instanceof t?e:Qe(e)}function gr(e,t){let n=Math.abs(e.x),o=Math.abs(e.y);return typeof t==\"number\"?Math.sqrt(n**2+o**2)>t:\"x\"in t&&\"y\"in t?n>t.x&&o>t.y:\"x\"in t?n>t.x:\"y\"in t?o>t.y:!1}var ve;(function(e){e.Click=\"click\",e.DragStart=\"dragstart\",e.Keydown=\"keydown\",e.ContextMenu=\"contextmenu\",e.Resize=\"resize\",e.SelectionChange=\"selectionchange\",e.VisibilityChange=\"visibilitychange\"})(ve||(ve={}));function Oa(e){e.preventDefault()}function el(e){e.stopPropagation()}var W;(function(e){e.Space=\"Space\",e.Down=\"ArrowDown\",e.Right=\"ArrowRight\",e.Left=\"ArrowLeft\",e.Up=\"ArrowUp\",e.Esc=\"Escape\",e.Enter=\"Enter\",e.Tab=\"Tab\"})(W||(W={}));var ja={start:[W.Space,W.Enter],cancel:[W.Esc],end:[W.Space,W.Enter,W.Tab]},tl=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case W.Right:return B(S({},n),{x:n.x+25});case W.Left:return B(S({},n),{x:n.x-25});case W.Down:return B(S({},n),{y:n.y+25});case W.Up:return B(S({},n),{y:n.y-25})}},En=class{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;let{event:{target:n}}=t;this.props=t,this.listeners=new rt(Qe(n)),this.windowListeners=new rt(pe(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ve.Resize,this.handleCancel),this.windowListeners.add(ve.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ve.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:t,onStart:n}=this.props,o=t.node.current;o&&Js(o),n(Te)}handleKeyDown(t){if(Dt(t)){let{active:n,context:o,options:a}=this.props,{keyboardCodes:i=ja,coordinateGetter:l=tl,scrollBehavior:u=\"smooth\"}=a,{code:c}=t;if(i.end.includes(c)){this.handleEnd(t);return}if(i.cancel.includes(c)){this.handleCancel(t);return}let{collisionRect:f}=o.current,m=f?{x:f.left,y:f.top}:Te;this.referenceCoordinates||(this.referenceCoordinates=m);let d=l(t,{active:n,context:o.current,currentCoordinates:m});if(d){let g=gt(d,m),p={x:0,y:0},{scrollableAncestors:v}=o.current;for(let y of v){let k=t.code,{isTop:E,isRight:w,isLeft:F,isBottom:_,maxScroll:z,minScroll:H}=qa(y),h=Ks(y),C={x:Math.min(k===W.Right?h.right-h.width/2:h.right,Math.max(k===W.Right?h.left:h.left+h.width/2,d.x)),y:Math.min(k===W.Down?h.bottom-h.height/2:h.bottom,Math.max(k===W.Down?h.top:h.top+h.height/2,d.y))},L=k===W.Right&&!w||k===W.Left&&!F,M=k===W.Down&&!_||k===W.Up&&!E;if(L&&C.x!==d.x){let N=y.scrollLeft+g.x,j=k===W.Right&&N<=z.x||k===W.Left&&N>=H.x;if(j&&!g.y){y.scrollTo({left:N,behavior:u});return}j?p.x=y.scrollLeft-N:p.x=k===W.Right?y.scrollLeft-z.x:y.scrollLeft-H.x,p.x&&y.scrollBy({left:-p.x,behavior:u});break}else if(M&&C.y!==d.y){let N=y.scrollTop+g.y,j=k===W.Down&&N<=z.y||k===W.Up&&N>=H.y;if(j&&!g.x){y.scrollTo({top:N,behavior:u});return}j?p.y=y.scrollTop-N:p.y=k===W.Down?y.scrollTop-z.y:y.scrollTop-H.y,p.y&&y.scrollBy({top:-p.y,behavior:u});break}}this.handleMove(t,et(gt(d,this.referenceCoordinates),p))}}}handleMove(t,n){let{onMove:o}=this.props;t.preventDefault(),o(n)}handleEnd(t){let{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){let{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};En.activators=[{eventName:\"onKeyDown\",handler:(e,t,n)=>{let{keyboardCodes:o=ja,onActivation:a}=t,{active:i}=n,{code:l}=e.nativeEvent;if(o.start.includes(l)){let u=i.activatorNode.current;return u&&e.target!==u?!1:(e.preventDefault(),a==null||a({event:e.nativeEvent}),!0)}return!1}}];function ka(e){return!!(e&&\"distance\"in e)}function Ta(e){return!!(e&&\"delay\"in e)}var Mt=class{constructor(t,n,o){var a;o===void 0&&(o=Rs(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;let{event:i}=t,{target:l}=i;this.props=t,this.events=n,this.document=Qe(l),this.documentListeners=new rt(this.document),this.listeners=new rt(o),this.windowListeners=new rt(pe(l)),this.initialCoordinates=(a=Nt(i))!=null?a:Te,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:t,props:{options:{activationConstraint:n,bypassActivationConstraint:o}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add(ve.Resize,this.handleCancel),this.windowListeners.add(ve.DragStart,Oa),this.windowListeners.add(ve.VisibilityChange,this.handleCancel),this.windowListeners.add(ve.ContextMenu,Oa),this.documentListeners.add(ve.Keydown,this.handleKeydown),n){if(o!=null&&o({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Ta(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(ka(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,n){let{active:o,onPending:a}=this.props;a(o,t,this.initialCoordinates,n)}handleStart(){let{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(ve.Click,el,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ve.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;let{activated:o,initialCoordinates:a,props:i}=this,{onMove:l,options:{activationConstraint:u}}=i;if(!a)return;let c=(n=Nt(t))!=null?n:Te,f=gt(a,c);if(!o&&u){if(ka(u)){if(u.tolerance!=null&&gr(f,u.tolerance))return this.handleCancel();if(gr(f,u.distance))return this.handleStart()}if(Ta(u)&&gr(f,u.tolerance))return this.handleCancel();this.handlePending(u,f);return}t.cancelable&&t.preventDefault(),l(c)}handleEnd(){let{onAbort:t,onEnd:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleCancel(){let{onAbort:t,onCancel:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleKeydown(t){t.code===W.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}},nl={cancel:{name:\"pointercancel\"},move:{name:\"pointermove\"},end:{name:\"pointerup\"}},at=class extends Mt{constructor(t){let{event:n}=t,o=Qe(n.target);super(t,nl,o)}};at.activators=[{eventName:\"onPointerDown\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;return!n.isPrimary||n.button!==0?!1:(o==null||o({event:n}),!0)}}];var rl={move:{name:\"mousemove\"},end:{name:\"mouseup\"}},br;(function(e){e[e.RightClick=2]=\"RightClick\"})(br||(br={}));var yr=class extends Mt{constructor(t){super(t,rl,Qe(t.event.target))}};yr.activators=[{eventName:\"onMouseDown\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;return n.button===br.RightClick?!1:(o==null||o({event:n}),!0)}}];var xr={cancel:{name:\"touchcancel\"},move:{name:\"touchmove\"},end:{name:\"touchend\"}},xt=class extends Mt{constructor(t){super(t,xr)}static setup(){return window.addEventListener(xr.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(xr.move.name,t)};function t(){}}};xt.activators=[{eventName:\"onTouchStart\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t,{touches:a}=n;return a.length>1?!1:(o==null||o({event:n}),!0)}}];var At;(function(e){e[e.Pointer=0]=\"Pointer\",e[e.DraggableRect=1]=\"DraggableRect\"})(At||(At={}));var Fn;(function(e){e[e.TreeOrder=0]=\"TreeOrder\",e[e.ReversedTreeOrder=1]=\"ReversedTreeOrder\"})(Fn||(Fn={}));function ol(e){let{acceleration:t,activator:n=At.Pointer,canScroll:o,draggingRect:a,enabled:i,interval:l=5,order:u=Fn.TreeOrder,pointerCoordinates:c,scrollableAncestors:f,scrollableAncestorRects:m,delta:d,threshold:g}=e,p=il({delta:d,disabled:!i}),[v,y]=ha(),k=(0,x.useRef)({x:0,y:0}),E=(0,x.useRef)({x:0,y:0}),w=(0,x.useMemo)(()=>{switch(n){case At.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case At.DraggableRect:return a}},[n,a,c]),F=(0,x.useRef)(null),_=(0,x.useCallback)(()=>{let H=F.current;if(!H)return;let h=k.current.x*E.current.x,C=k.current.y*E.current.y;H.scrollBy(h,C)},[]),z=(0,x.useMemo)(()=>u===Fn.TreeOrder?[...f].reverse():f,[u,f]);(0,x.useEffect)(()=>{if(!i||!f.length||!w){y();return}for(let H of z){if((o==null?void 0:o(H))===!1)continue;let h=f.indexOf(H),C=m[h];if(!C)continue;let{direction:L,speed:M}=Ys(H,C,w,t,g);for(let N of[\"x\",\"y\"])p[N][L[N]]||(M[N]=0,L[N]=0);if(M.x>0||M.y>0){y(),F.current=H,v(_,l),k.current=M,E.current=L;return}}k.current={x:0,y:0},E.current={x:0,y:0},y()},[t,_,o,y,i,l,JSON.stringify(w),JSON.stringify(p),v,f,z,m,JSON.stringify(g)])}var al={x:{[ae.Backward]:!1,[ae.Forward]:!1},y:{[ae.Backward]:!1,[ae.Forward]:!1}};function il(e){let{delta:t,disabled:n}=e,o=On(t);return mt(a=>{if(n||!o||!a)return al;let i={x:Math.sign(t.x-o.x),y:Math.sign(t.y-o.y)};return{x:{[ae.Backward]:a.x[ae.Backward]||i.x===-1,[ae.Forward]:a.x[ae.Forward]||i.x===1},y:{[ae.Backward]:a.y[ae.Backward]||i.y===-1,[ae.Forward]:a.y[ae.Forward]||i.y===1}}},[n,t,o])}function sl(e,t){let n=t!=null?e.get(t):void 0,o=n?n.node.current:null;return mt(a=>{var i;return t==null?null:(i=o!=null?o:a)!=null?i:null},[o,t])}function ll(e,t){return(0,x.useMemo)(()=>e.reduce((n,o)=>{let{sensor:a}=o,i=a.activators.map(l=>({eventName:l.eventName,handler:t(l.handler,o)}));return[...n,...i]},[]),[e,t])}var Pt;(function(e){e[e.Always=0]=\"Always\",e[e.BeforeDragging=1]=\"BeforeDragging\",e[e.WhileDragging=2]=\"WhileDragging\"})(Pt||(Pt={}));var vr;(function(e){e.Optimized=\"optimized\"})(vr||(vr={}));var Ea=new Map;function dl(e,t){let{dragging:n,dependencies:o,config:a}=t,[i,l]=(0,x.useState)(null),{frequency:u,measure:c,strategy:f}=a,m=(0,x.useRef)(e),d=k(),g=pt(d),p=(0,x.useCallback)(function(E){E===void 0&&(E=[]),!g.current&&l(w=>w===null?E:w.concat(E.filter(F=>!w.includes(F))))},[g]),v=(0,x.useRef)(null),y=mt(E=>{if(d&&!n)return Ea;if(!E||E===Ea||m.current!==e||i!=null){let w=new Map;for(let F of e){if(!F)continue;if(i&&i.length>0&&!i.includes(F.id)&&F.rect.current){w.set(F.id,F.rect.current);continue}let _=F.node.current,z=_?new _t(c(_),_):null;F.rect.current=z,z&&w.set(F.id,z)}return w}return E},[e,i,n,d,c]);return(0,x.useEffect)(()=>{m.current=e},[e]),(0,x.useEffect)(()=>{d||p()},[n,d]),(0,x.useEffect)(()=>{i&&i.length>0&&l(null)},[JSON.stringify(i)]),(0,x.useEffect)(()=>{d||typeof u!=\"number\"||v.current!==null||(v.current=setTimeout(()=>{p(),v.current=null},u))},[u,d,p,...o]),{droppableRects:y,measureDroppableContainers:p,measuringScheduled:i!=null};function k(){switch(f){case Pt.Always:return!1;case Pt.BeforeDragging:return n;default:return!n}}}function Va(e,t){return mt(n=>e?n||(typeof t==\"function\"?t(e):e):null,[t,e])}function ul(e,t){return Va(e,t)}function cl(e){let{callback:t,disabled:n}=e,o=Sn(t),a=(0,x.useMemo)(()=>{if(n||typeof window>\"u\"||typeof window.MutationObserver>\"u\")return;let{MutationObserver:i}=window;return new i(o)},[o,n]);return(0,x.useEffect)(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function Dn(e){let{callback:t,disabled:n}=e,o=Sn(t),a=(0,x.useMemo)(()=>{if(n||typeof window>\"u\"||typeof window.ResizeObserver>\"u\")return;let{ResizeObserver:i}=window;return new i(o)},[n]);return(0,x.useEffect)(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function fl(e){return new _t(it(e),e)}function Fa(e,t,n){t===void 0&&(t=fl);let[o,a]=(0,x.useState)(null);function i(){a(c=>{if(!e)return null;if(e.isConnected===!1){var f;return(f=c!=null?c:n)!=null?f:null}let m=t(e);return JSON.stringify(c)===JSON.stringify(m)?c:m})}let l=cl({callback(c){if(e)for(let f of c){let{type:m,target:d}=f;if(m===\"childList\"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),u=Dn({callback:i});return ye(()=>{i(),e?(u==null||u.observe(e),l==null||l.observe(document.body,{childList:!0,subtree:!0})):(u==null||u.disconnect(),l==null||l.disconnect())},[e]),o}function pl(e){let t=Va(e);return Pa(e,t)}var Ia=[];function ml(e){let t=(0,x.useRef)(e),n=mt(o=>e?o&&o!==Ia&&e&&t.current&&e.parentNode===t.current.parentNode?o:In(e):Ia,[e]);return(0,x.useEffect)(()=>{t.current=e},[e]),n}function gl(e){let[t,n]=(0,x.useState)(null),o=(0,x.useRef)(e),a=(0,x.useCallback)(i=>{let l=mr(i.target);l&&n(u=>u?(u.set(l,hr(l)),new Map(u)):null)},[]);return(0,x.useEffect)(()=>{let i=o.current;if(e!==i){l(i);let u=e.map(c=>{let f=mr(c);return f?(f.addEventListener(\"scroll\",a,{passive:!0}),[f,hr(f)]):null}).filter(c=>c!=null);n(u.length?new Map(u):null),o.current=e}return()=>{l(e),l(i)};function l(u){u.forEach(c=>{let f=mr(c);f==null||f.removeEventListener(\"scroll\",a)})}},[a,e]),(0,x.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((i,l)=>et(i,l),Te):Ha(e):Te,[e,t])}function Da(e,t){t===void 0&&(t=[]);let n=(0,x.useRef)(null);return(0,x.useEffect)(()=>{n.current=null},t),(0,x.useEffect)(()=>{let o=e!==Te;o&&!n.current&&(n.current=e),!o&&n.current&&(n.current=null)},[e]),n.current?gt(e,n.current):Te}function xl(e){(0,x.useEffect)(()=>{if(!Ft)return;let t=e.map(n=>{let{sensor:o}=n;return o.setup==null?void 0:o.setup()});return()=>{for(let n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function hl(e,t){return(0,x.useMemo)(()=>e.reduce((n,o)=>{let{eventName:a,handler:i}=o;return n[a]=l=>{i(l,t)},n},{}),[e,t])}function Ua(e){return(0,x.useMemo)(()=>e?Vs(e):null,[e])}var Na=[];function bl(e,t){t===void 0&&(t=it);let[n]=e,o=Ua(n?pe(n):null),[a,i]=(0,x.useState)(Na);function l(){i(()=>e.length?e.map(c=>za(c)?o:new _t(t(c),c)):Na)}let u=Dn({callback:l});return ye(()=>{u==null||u.disconnect(),l(),e.forEach(c=>u==null?void 0:u.observe(c))},[e]),a}function yl(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return ft(t)?t:e}function vl(e){let{measure:t}=e,[n,o]=(0,x.useState)(null),a=(0,x.useCallback)(f=>{for(let{target:m}of f)if(ft(m)){o(d=>{let g=t(m);return d?B(S({},d),{width:g.width,height:g.height}):g});break}},[t]),i=Dn({callback:a}),l=(0,x.useCallback)(f=>{let m=yl(f);i==null||i.disconnect(),m&&(i==null||i.observe(m)),o(m?t(m):null)},[t,i]),[u,c]=It(l);return(0,x.useMemo)(()=>({nodeRef:u,rect:n,setRef:c}),[n,u,c])}var wl=[{sensor:at,options:{}},{sensor:En,options:{}}],Cl={current:{}},kn={draggable:{measure:Sa},droppable:{measure:Sa,strategy:Pt.WhileDragging,frequency:vr.Optimized},dragOverlay:{measure:it}},ot=class extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,o;return(n=(o=this.get(t))==null?void 0:o.node.current)!=null?n:void 0}},Sl={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new ot,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Tn},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:kn,measureDroppableContainers:Tn,windowRect:null,measuringScheduled:!1},Ol={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:\"\"},dispatch:Tn,draggableNodes:new Map,over:null,measureDroppableContainers:Tn},Nn=(0,x.createContext)(Ol),Wa=(0,x.createContext)(Sl);function kl(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new ot}}}function Tl(e,t){switch(t.type){case te.DragStart:return B(S({},e),{draggable:B(S({},e.draggable),{initialCoordinates:t.initialCoordinates,active:t.active})});case te.DragMove:return e.draggable.active==null?e:B(S({},e),{draggable:B(S({},e.draggable),{translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}})});case te.DragEnd:case te.DragCancel:return B(S({},e),{draggable:B(S({},e.draggable),{active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}})});case te.RegisterDroppable:{let{element:n}=t,{id:o}=n,a=new ot(e.droppable.containers);return a.set(o,n),B(S({},e),{droppable:B(S({},e.droppable),{containers:a})})}case te.SetDroppableDisabled:{let{id:n,key:o,disabled:a}=t,i=e.droppable.containers.get(n);if(!i||o!==i.key)return e;let l=new ot(e.droppable.containers);return l.set(n,B(S({},i),{disabled:a})),B(S({},e),{droppable:B(S({},e.droppable),{containers:l})})}case te.UnregisterDroppable:{let{id:n,key:o}=t,a=e.droppable.containers.get(n);if(!a||o!==a.key)return e;let i=new ot(e.droppable.containers);return i.delete(n),B(S({},e),{droppable:B(S({},e.droppable),{containers:i})})}default:return e}}function El(e){let{disabled:t}=e,{active:n,activatorEvent:o,draggableNodes:a}=(0,x.useContext)(Nn),i=On(o),l=On(n==null?void 0:n.id);return(0,x.useEffect)(()=>{if(!t&&!o&&i&&l!=null){if(!Dt(i)||document.activeElement===i.target)return;let u=a.get(l);if(!u)return;let{activatorNode:c,node:f}=u;if(!c.current&&!f.current)return;requestAnimationFrame(()=>{for(let m of[c.current,f.current]){if(!m)continue;let d=ya(m);if(d){d.focus();break}}})}},[o,t,a,l,i]),null}function Fl(e,t){let a=t,{transform:n}=a,o=Gn(a,[\"transform\"]);return e!=null&&e.length?e.reduce((i,l)=>l(S({transform:i},o)),n):n}function Il(e){return(0,x.useMemo)(()=>({draggable:S(S({},kn.draggable),e==null?void 0:e.draggable),droppable:S(S({},kn.droppable),e==null?void 0:e.droppable),dragOverlay:S(S({},kn.dragOverlay),e==null?void 0:e.dragOverlay)}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function Dl(e){let{activeNode:t,measure:n,initialRect:o,config:a=!0}=e,i=(0,x.useRef)(!1),{x:l,y:u}=typeof a==\"boolean\"?{x:a,y:a}:a;ye(()=>{if(!l&&!u||!t){i.current=!1;return}if(i.current||!o)return;let f=t==null?void 0:t.node.current;if(!f||f.isConnected===!1)return;let m=n(f),d=Pa(m,o);if(l||(d.x=0),u||(d.y=0),i.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){let g=La(f);g&&g.scrollBy({top:d.y,left:d.x})}},[t,l,u,o,n])}var Ga=(0,x.createContext)(B(S({},Te),{scaleX:1,scaleY:1})),Ue;(function(e){e[e.Uninitialized=0]=\"Uninitialized\",e[e.Initializing=1]=\"Initializing\",e[e.Initialized=2]=\"Initialized\"})(Ue||(Ue={}));var Cr=(0,x.memo)(function(t){var n,o,a,i;let O=t,{id:l,accessibility:u,autoScroll:c=!0,children:f,sensors:m=wl,collisionDetection:d=Ls,measuring:g,modifiers:p}=O,v=Gn(O,[\"id\",\"accessibility\",\"autoScroll\",\"children\",\"sensors\",\"collisionDetection\",\"measuring\",\"modifiers\"]),y=(0,x.useReducer)(Tl,void 0,kl),[k,E]=y,[w,F]=Ds(),[_,z]=(0,x.useState)(Ue.Uninitialized),H=_===Ue.Initialized,{draggable:{active:h,nodes:C,translate:L},droppable:{containers:M}}=k,N=h!=null?C.get(h):null,j=(0,x.useRef)({initial:null,translated:null}),ne=(0,x.useMemo)(()=>{var D;return h!=null?{id:h,data:(D=N==null?void 0:N.data)!=null?D:Cl,rect:j}:null},[h,N]),ie=(0,x.useRef)(null),[we,Ce]=(0,x.useState)(null),[J,Ee]=(0,x.useState)(null),ue=pt(v,Object.values(v)),T=Re(\"DndDescribedBy\",l),A=(0,x.useMemo)(()=>M.getEnabled(),[M]),$=Il(g),{droppableRects:U,measureDroppableContainers:me,measuringScheduled:Se}=dl(A,{dragging:H,dependencies:[L.x,L.y],config:$.droppable}),de=sl(C,h),Pe=(0,x.useMemo)(()=>J?Nt(J):null,[J]),Oe=b(),ge=ul(de,$.draggable.measure);Dl({activeNode:h!=null?C.get(h):null,config:Oe.layoutShiftCompensation,initialRect:ge,measure:$.draggable.measure});let q=Fa(de,$.draggable.measure,ge),We=Fa(de?de.parentElement:null),xe=(0,x.useRef)({activatorEvent:null,active:null,activeNode:de,collisionRect:null,collisions:null,droppableRects:U,draggableNodes:C,draggingNode:null,draggingNodeRect:null,droppableContainers:M,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Le=M.getNodeFor((n=xe.current.over)==null?void 0:n.id),ke=vl({measure:$.dragOverlay.measure}),Be=(o=ke.nodeRef.current)!=null?o:de,_e=H?(a=ke.rect)!=null?a:q:null,Ht=!!(ke.nodeRef.current&&ke.rect),jt=pl(Ht?null:q),yt=Ua(Be?pe(Be):null),Fe=ml(H?Le!=null?Le:de:null),lt=bl(Fe),dt=Fl(p,{transform:{x:L.x-jt.x,y:L.y-jt.y,scaleX:1,scaleY:1},activatorEvent:J,active:ne,activeNodeRect:q,containerNodeRect:We,draggingNodeRect:_e,over:xe.current.over,overlayNodeRect:ke.rect,scrollableAncestors:Fe,scrollableAncestorRects:lt,windowRect:yt}),Vt=Pe?et(Pe,L):null,Ut=gl(Fe),Bn=Da(Ut),$n=Da(Ut,[q]),$e=et(dt,Bn),ze=_e?zs(_e,dt):null,Ge=ne&&ze?d({active:ne,collisionRect:ze,droppableRects:U,droppableContainers:A,pointerCoordinates:Vt}):null,Wt=Ma(Ge,\"id\"),[Ie,Gt]=(0,x.useState)(null),zn=Ht?dt:et(dt,$n),qn=Bs(zn,(i=Ie==null?void 0:Ie.rect)!=null?i:null,q),vt=(0,x.useRef)(null),Yt=(0,x.useCallback)((D,P)=>{let{sensor:V,options:fe}=P;if(ie.current==null)return;let G=C.get(ie.current);if(!G)return;let se=D.nativeEvent,De=new V({active:ie.current,activeNode:G,event:se,options:fe,context:xe,onAbort(le){if(!C.get(le))return;let{onDragAbort:Ne}=ue.current,Me={id:le};Ne==null||Ne(Me),w({type:\"onDragAbort\",event:Me})},onPending(le,qe,Ne,Me){if(!C.get(le))return;let{onDragPending:Ct}=ue.current,He={id:le,constraint:qe,initialCoordinates:Ne,offset:Me};Ct==null||Ct(He),w({type:\"onDragPending\",event:He})},onStart(le){let qe=ie.current;if(qe==null)return;let Ne=C.get(qe);if(!Ne)return;let{onDragStart:Me}=ue.current,wt={activatorEvent:se,active:{id:qe,data:Ne.data,rect:j}};(0,nt.unstable_batchedUpdates)(()=>{Me==null||Me(wt),z(Ue.Initializing),E({type:te.DragStart,initialCoordinates:le,active:qe}),w({type:\"onDragStart\",event:wt}),Ce(vt.current),Ee(se)})},onMove(le){E({type:te.DragMove,coordinates:le})},onEnd:ut(te.DragEnd),onCancel:ut(te.DragCancel)});vt.current=De;function ut(le){return async function(){let{active:Ne,collisions:Me,over:wt,scrollAdjustedTranslate:Ct}=xe.current,He=null;if(Ne&&Ct){let{cancelDrop:St}=ue.current;He={activatorEvent:se,active:Ne,collisions:Me,delta:Ct,over:wt},le===te.DragEnd&&typeof St==\"function\"&&await Promise.resolve(St(He))&&(le=te.DragCancel)}ie.current=null,(0,nt.unstable_batchedUpdates)(()=>{E({type:le}),z(Ue.Uninitialized),Gt(null),Ce(null),Ee(null),vt.current=null;let St=le===te.DragEnd?\"onDragEnd\":\"onDragCancel\";if(He){let Un=ue.current[St];Un==null||Un(He),w({type:St,event:He})}})}}},[C]),Hn=(0,x.useCallback)((D,P)=>(V,fe)=>{let G=V.nativeEvent,se=C.get(fe);if(ie.current!==null||!se||G.dndKit||G.defaultPrevented)return;let De={active:se};D(V,P.options,De)===!0&&(G.dndKit={capturedBy:P.sensor},ie.current=fe,Yt(V,P))},[C,Yt]),ce=ll(m,Hn);xl(m),ye(()=>{q&&_===Ue.Initializing&&z(Ue.Initialized)},[q,_]),(0,x.useEffect)(()=>{let{onDragMove:D}=ue.current,{active:P,activatorEvent:V,collisions:fe,over:G}=xe.current;if(!P||!V)return;let se={active:P,activatorEvent:V,collisions:fe,delta:{x:$e.x,y:$e.y},over:G};(0,nt.unstable_batchedUpdates)(()=>{D==null||D(se),w({type:\"onDragMove\",event:se})})},[$e.x,$e.y]),(0,x.useEffect)(()=>{let{active:D,activatorEvent:P,collisions:V,droppableContainers:fe,scrollAdjustedTranslate:G}=xe.current;if(!D||ie.current==null||!P||!G)return;let{onDragOver:se}=ue.current,De=fe.get(Wt),ut=De&&De.rect.current?{id:De.id,rect:De.rect.current,data:De.data,disabled:De.disabled}:null,le={active:D,activatorEvent:P,collisions:V,delta:{x:G.x,y:G.y},over:ut};(0,nt.unstable_batchedUpdates)(()=>{Gt(ut),se==null||se(le),w({type:\"onDragOver\",event:le})})},[Wt]),ye(()=>{xe.current={activatorEvent:J,active:ne,activeNode:de,collisionRect:ze,collisions:Ge,droppableRects:U,draggableNodes:C,draggingNode:Be,draggingNodeRect:_e,droppableContainers:M,over:Ie,scrollableAncestors:Fe,scrollAdjustedTranslate:$e},j.current={initial:_e,translated:ze}},[ne,de,Ge,ze,C,Be,_e,U,M,Ie,Fe,$e]),ol(B(S({},Oe),{delta:L,draggingRect:ze,pointerCoordinates:Vt,scrollableAncestors:Fe,scrollableAncestorRects:lt}));let jn=(0,x.useMemo)(()=>({active:ne,activeNode:de,activeNodeRect:q,activatorEvent:J,collisions:Ge,containerNodeRect:We,dragOverlay:ke,draggableNodes:C,droppableContainers:M,droppableRects:U,over:Ie,measureDroppableContainers:me,scrollableAncestors:Fe,scrollableAncestorRects:lt,measuringConfiguration:$,measuringScheduled:Se,windowRect:yt}),[ne,de,q,J,Ge,We,ke,C,M,U,Ie,me,Fe,lt,$,Se,yt]),Vn=(0,x.useMemo)(()=>({activatorEvent:J,activators:ce,active:ne,activeNodeRect:q,ariaDescribedById:{draggable:T},dispatch:E,draggableNodes:C,over:Ie,measureDroppableContainers:me}),[J,ce,ne,q,E,T,C,Ie,me]);return x.default.createElement(_a.Provider,{value:F},x.default.createElement(Nn.Provider,{value:Vn},x.default.createElement(Wa.Provider,{value:jn},x.default.createElement(Ga.Provider,{value:qn},f)),x.default.createElement(El,{disabled:(u==null?void 0:u.restoreFocus)===!1})),x.default.createElement(_s,B(S({},u),{hiddenTextDescribedById:T})));function b(){let D=(we==null?void 0:we.autoScrollEnabled)===!1,P=typeof c==\"object\"?c.enabled===!1:c===!1,V=H&&!D&&!P;return typeof c==\"object\"?B(S({},c),{enabled:V}):{enabled:V}}}),Nl=(0,x.createContext)(null),Aa=\"button\",Al=\"Draggable\";function Ya(e){let{id:t,data:n,disabled:o=!1,attributes:a}=e,i=Re(Al),{activators:l,activatorEvent:u,active:c,activeNodeRect:f,ariaDescribedById:m,draggableNodes:d,over:g}=(0,x.useContext)(Nn),{role:p=Aa,roleDescription:v=\"draggable\",tabIndex:y=0}=a!=null?a:{},k=(c==null?void 0:c.id)===t,E=(0,x.useContext)(k?Ga:Nl),[w,F]=It(),[_,z]=It(),H=hl(l,t),h=pt(n);ye(()=>(d.set(t,{id:t,key:i,node:w,activatorNode:_,data:h}),()=>{let L=d.get(t);L&&L.key===i&&d.delete(t)}),[d,t]);let C=(0,x.useMemo)(()=>({role:p,tabIndex:y,\"aria-disabled\":o,\"aria-pressed\":k&&p===Aa?!0:void 0,\"aria-roledescription\":v,\"aria-describedby\":m.draggable}),[o,p,y,k,v,m.draggable]);return{active:c,activatorEvent:u,activeNodeRect:f,attributes:C,isDragging:k,listeners:o?void 0:H,node:w,over:g,setNodeRef:F,setActivatorNodeRef:z,transform:E}}function Ka(){return(0,x.useContext)(Wa)}var _l=\"Droppable\",Ml={timeout:25};function Xa(e){let{data:t,disabled:n=!1,id:o,resizeObserverConfig:a}=e,i=Re(_l),{active:l,dispatch:u,over:c,measureDroppableContainers:f}=(0,x.useContext)(Nn),m=(0,x.useRef)({disabled:n}),d=(0,x.useRef)(!1),g=(0,x.useRef)(null),p=(0,x.useRef)(null),{disabled:v,updateMeasurementsFor:y,timeout:k}=S(S({},Ml),a),E=pt(y!=null?y:o),w=(0,x.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{f(Array.isArray(E.current)?E.current:[E.current]),p.current=null},k)},[k]),F=Dn({callback:w,disabled:v||!l}),_=(0,x.useCallback)((C,L)=>{F&&(L&&(F.unobserve(L),d.current=!1),C&&F.observe(C))},[F]),[z,H]=It(_),h=pt(t);return(0,x.useEffect)(()=>{!F||!z.current||(F.disconnect(),d.current=!1,F.observe(z.current))},[z,F]),(0,x.useEffect)(()=>(u({type:te.RegisterDroppable,element:{id:o,key:i,disabled:n,node:z,rect:g,data:h}}),()=>u({type:te.UnregisterDroppable,key:i,id:o})),[o]),(0,x.useEffect)(()=>{n!==m.current.disabled&&(u({type:te.SetDroppableDisabled,id:o,key:i,disabled:n}),m.current.disabled=n)},[o,i,n,u]),{active:l,rect:g,isOver:(c==null?void 0:c.id)===o,node:z,over:c,setNodeRef:H}}var Sr=e=>{let{transform:t}=e;return B(S({},t),{x:0})};var ee=Y(Q());function Bt(e,t,n){let o=e.slice();return o.splice(n<0?o.length+n:n,0,o.splice(t,1)[0]),o}function Pl(e,t){return e.reduce((n,o,a)=>{let i=t.get(o);return i&&(n[a]=i),n},Array(e.length))}function An(e){return e!==null&&e>=0}function Ll(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Bl(e){return typeof e==\"boolean\"?{draggable:e,droppable:e}:e}var Za=e=>{let{rects:t,activeIndex:n,overIndex:o,index:a}=e,i=Bt(t,o,n),l=t[a],u=i[a];return!u||!l?null:{x:u.left-l.left,y:u.top-l.top,scaleX:u.width/l.width,scaleY:u.height/l.height}};var _n={scaleX:1,scaleY:1},Or=e=>{var t;let{activeIndex:n,activeNodeRect:o,index:a,rects:i,overIndex:l}=e,u=(t=i[n])!=null?t:o;if(!u)return null;if(a===n){let f=i[l];return f?S({x:0,y:n<l?f.top+f.height-(u.top+u.height):f.top-u.top},_n):null}let c=$l(i,a,n);return a>n&&a<=l?S({x:0,y:-u.height-c},_n):a<n&&a>=l?S({x:0,y:u.height+c},_n):S({x:0,y:0},_n)};function $l(e,t,n){let o=e[t],a=e[t-1],i=e[t+1];return o?n<t?a?o.top-(a.top+a.height):i?i.top-(o.top+o.height):0:i?i.top-(o.top+o.height):a?o.top-(a.top+a.height):0:0}var Ja=\"Sortable\",Qa=ee.default.createContext({activeIndex:-1,containerId:Ja,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Za,disabled:{draggable:!1,droppable:!1}});function kr(e){let{children:t,id:n,items:o,strategy:a=Za,disabled:i=!1}=e,{active:l,dragOverlay:u,droppableRects:c,over:f,measureDroppableContainers:m}=Ka(),d=Re(Ja,n),g=u.rect!==null,p=(0,ee.useMemo)(()=>o.map(H=>typeof H==\"object\"&&\"id\"in H?H.id:H),[o]),v=l!=null,y=l?p.indexOf(l.id):-1,k=f?p.indexOf(f.id):-1,E=(0,ee.useRef)(p),w=!Ll(p,E.current),F=k!==-1&&y===-1||w,_=Bl(i);ye(()=>{w&&v&&m(p)},[w,p,v,m]),(0,ee.useEffect)(()=>{E.current=p},[p]);let z=(0,ee.useMemo)(()=>({activeIndex:y,containerId:d,disabled:_,disableTransforms:F,items:p,overIndex:k,useDragOverlay:g,sortedRects:Pl(p,c),strategy:a}),[y,d,_.draggable,_.droppable,F,p,k,c,g,a]);return ee.default.createElement(Qa.Provider,{value:z},t)}var zl=e=>{let{id:t,items:n,activeIndex:o,overIndex:a}=e;return Bt(n,o,a).indexOf(t)},ql=e=>{let{containerId:t,isSorting:n,wasDragging:o,index:a,items:i,newIndex:l,previousItems:u,previousContainerId:c,transition:f}=e;return!f||!o||u!==i&&a===l?!1:n?!0:l!==a&&t===c},Hl={duration:200,easing:\"ease\"},Ra=\"transform\",jl=Ve.Transition.toString({property:Ra,duration:0,easing:\"linear\"}),Vl={roleDescription:\"sortable\"};function Ul(e){let{disabled:t,index:n,node:o,rect:a}=e,[i,l]=(0,ee.useState)(null),u=(0,ee.useRef)(n);return ye(()=>{if(!t&&n!==u.current&&o.current){let c=a.current;if(c){let f=it(o.current,{ignoreTransform:!0}),m={x:c.left-f.left,y:c.top-f.top,scaleX:c.width/f.width,scaleY:c.height/f.height};(m.x||m.y)&&l(m)}}n!==u.current&&(u.current=n)},[t,n,o,a]),(0,ee.useEffect)(()=>{i&&l(null)},[i]),i}function Tr(e){let{animateLayoutChanges:t=ql,attributes:n,disabled:o,data:a,getNewIndex:i=zl,id:l,strategy:u,resizeObserverConfig:c,transition:f=Hl}=e,{items:m,containerId:d,activeIndex:g,disabled:p,disableTransforms:v,sortedRects:y,overIndex:k,useDragOverlay:E,strategy:w}=(0,ee.useContext)(Qa),F=Wl(o,p),_=m.indexOf(l),z=(0,ee.useMemo)(()=>S({sortable:{containerId:d,index:_,items:m}},a),[d,a,_,m]),H=(0,ee.useMemo)(()=>m.slice(m.indexOf(l)),[m,l]),{rect:h,node:C,isOver:L,setNodeRef:M}=Xa({id:l,data:z,disabled:F.droppable,resizeObserverConfig:S({updateMeasurementsFor:H},c)}),{active:N,activatorEvent:j,activeNodeRect:ne,attributes:ie,setNodeRef:we,listeners:Ce,isDragging:J,over:Ee,setActivatorNodeRef:ue,transform:T}=Ya({id:l,data:z,attributes:S(S({},Vl),n),disabled:F.draggable}),A=xa(M,we),$=!!N,U=$&&!v&&An(g)&&An(k),me=!E&&J,Se=me&&U?T:null,de=u!=null?u:w,Pe=U?Se!=null?Se:de({rects:y,activeNodeRect:ne,activeIndex:g,overIndex:k,index:_}):null,Oe=An(g)&&An(k)?i({id:l,items:m,activeIndex:g,overIndex:k}):_,ge=N==null?void 0:N.id,q=(0,ee.useRef)({activeId:ge,items:m,newIndex:Oe,containerId:d}),We=m!==q.current.items,xe=t({active:N,containerId:d,isDragging:J,isSorting:$,id:l,index:_,items:m,newIndex:q.current.newIndex,previousItems:q.current.items,previousContainerId:q.current.containerId,transition:f,wasDragging:q.current.activeId!=null}),Le=Ul({disabled:!xe,index:_,node:C,rect:h});return(0,ee.useEffect)(()=>{$&&q.current.newIndex!==Oe&&(q.current.newIndex=Oe),d!==q.current.containerId&&(q.current.containerId=d),m!==q.current.items&&(q.current.items=m)},[$,Oe,d,m]),(0,ee.useEffect)(()=>{if(ge===q.current.activeId)return;if(ge!=null&&q.current.activeId==null){q.current.activeId=ge;return}let Be=setTimeout(()=>{q.current.activeId=ge},50);return()=>clearTimeout(Be)},[ge]),{active:N,activeIndex:g,attributes:ie,data:z,rect:h,index:_,newIndex:Oe,items:m,isOver:L,isSorting:$,isDragging:J,listeners:Ce,node:C,overIndex:k,over:Ee,setNodeRef:A,setActivatorNodeRef:ue,setDroppableNodeRef:M,setDraggableNodeRef:we,transform:Le!=null?Le:Pe,transition:ke()};function ke(){if(Le||We&&q.current.newIndex===_)return jl;if(!(me&&!Dt(j)||!f)&&($||xe))return Ve.Transition.toString(B(S({},f),{property:Ra}))}}function Wl(e,t){var n,o;return typeof e==\"boolean\"?{draggable:e,droppable:!1}:{draggable:(n=e==null?void 0:e.draggable)!=null?n:t.draggable,droppable:(o=e==null?void 0:e.droppable)!=null?o:t.droppable}}var Lf=[W.Down,W.Right,W.Up,W.Left];if(typeof window<\"u\"){let e=document.createElement(\"style\");e.textContent=\".container {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex: 1;\\n width: 100%;\\n padding: 16px;\\n box-sizing: border-box;\\n background: #F2F2F7;\\n}\\n.qrcode-card {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n max-width: 360px;\\n margin: 0 auto;\\n padding: 24px 20px;\\n}\\n.qrcode-wrapper {\\n position: relative;\\n cursor: pointer;\\n margin-bottom: 24px;\\n display: flex;\\n justify-content: center;\\n}\\n.qrcode-wrapper:hover .qrcode-glow {\\n opacity: 0.4;\\n}\\n.qrcode-glow {\\n position: absolute;\\n inset: -4px;\\n background: linear-gradient(135deg, #60a5fa 0%, #a78bfa 100%);\\n border-radius: 24px;\\n filter: blur(12px);\\n opacity: 0.2;\\n transition: opacity 0.3s ease;\\n z-index: 0;\\n}\\n.qrcode-container {\\n position: relative;\\n background: #fff;\\n padding: 16px;\\n border-radius: 20px;\\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\\n border: 1px solid rgba(0, 0, 0, 0.05);\\n z-index: 1;\\n}\\n.qrcode-image {\\n width: 160px;\\n height: 160px;\\n border-radius: 12px;\\n object-fit: cover;\\n transition: opacity 0.3s ease;\\n}\\n.qrcode-image--loading {\\n opacity: 0.3;\\n}\\n.qrcode-overlay {\\n position: absolute;\\n inset: 0;\\n background: rgba(255, 255, 255, 0.95);\\n backdrop-filter: blur(4px);\\n border-radius: 20px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n gap: 12px;\\n z-index: 10;\\n}\\n.qrcode-overlay span {\\n font-size: 12px;\\n font-weight: 500;\\n color: #8E8E93;\\n letter-spacing: 0.5px;\\n}\\n.qrcode-spinner {\\n width: 32px;\\n height: 32px;\\n border: 2px solid rgba(59, 130, 246, 0.2);\\n border-top-color: #3b82f6;\\n border-radius: 50%;\\n animation: spin 0.8s linear infinite;\\n}\\n@keyframes spin {\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n.qrcode-status {\\n position: absolute;\\n bottom: -14px;\\n left: 50%;\\n transform: translateX(-50%);\\n display: flex;\\n align-items: center;\\n gap: 6px;\\n padding: 4px 12px;\\n background: rgba(255, 255, 255, 0.95);\\n backdrop-filter: blur(8px);\\n border-radius: 12px;\\n border: 1px solid rgba(0, 0, 0, 0.05);\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\\n z-index: 20;\\n white-space: nowrap;\\n}\\n.status-dot {\\n width: 6px;\\n height: 6px;\\n border-radius: 50%;\\n flex-shrink: 0;\\n transition: background-color 0.3s ease;\\n}\\n.status-dot--pulse {\\n animation: pulse 1.5s ease-in-out infinite;\\n}\\n@keyframes pulse {\\n 0%,\\n 100% {\\n opacity: 1;\\n }\\n 50% {\\n opacity: 0.5;\\n }\\n}\\n.status-text {\\n font-size: 10px;\\n font-weight: 600;\\n color: #8E8E93;\\n text-transform: uppercase;\\n letter-spacing: 0.5px;\\n white-space: nowrap;\\n}\\n.cookie-result-wrapper {\\n width: 100%;\\n margin-bottom: 20px;\\n}\\n.cookie-result {\\n width: 100%;\\n height: 120px;\\n padding: 14px;\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 16px;\\n font-size: 12px;\\n font-family: 'SF Mono', Monaco, 'Courier New', monospace;\\n color: #1C1C1E;\\n resize: none;\\n outline: none;\\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.04);\\n transition: background-color 0.2s ease, box-shadow 0.2s ease;\\n box-sizing: border-box;\\n}\\n.cookie-result::placeholder {\\n color: #8E8E93;\\n}\\n.cookie-result:focus {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.04), 0 0 0 2px rgba(59, 130, 246, 0.2);\\n}\\n.action-buttons {\\n display: grid;\\n grid-template-columns: 1fr 1fr;\\n gap: 12px;\\n width: 100%;\\n}\\n.action-btn {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n gap: 8px;\\n padding: 14px 20px;\\n border-radius: 16px;\\n font-size: 14px;\\n font-weight: 600;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n border: none;\\n outline: none;\\n}\\n.action-btn:active {\\n transform: scale(0.98);\\n}\\n.action-btn--primary {\\n background: #1C1C1E;\\n color: #fff;\\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\\n}\\n.action-btn--primary:hover {\\n background: #2C2C2E;\\n}\\n.action-btn--secondary {\\n background: #fff;\\n color: #1C1C1E;\\n border: 1px solid rgba(0, 0, 0, 0.08);\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\\n}\\n.action-btn--secondary:hover {\\n background: #F9F9F9;\\n}\\n.btn-icon {\\n display: block;\\n flex-shrink: 0;\\n width: 16px;\\n height: 16px;\\n opacity: 0.7;\\n}\\n.btn-icon--login {\\n transform: translateY(1px);\\n}\\n.dynamic-delete-button {\\n position: relative;\\n top: 2px;\\n margin: 0 8px;\\n color: #555;\\n font-size: 18px;\\n cursor: pointer;\\n transition: all 0.3s;\\n}\\n.dynamic-delete-button:hover {\\n color: #777;\\n}\\n.dynamic-delete-button[disabled] {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n.domain-edit-modal {\\n --domain-action-size: 32px;\\n --domain-action-gap: 8px;\\n --domain-action-total: calc(var(--domain-action-size) + var(--domain-action-gap));\\n --domain-row-gap: 12px;\\n --domain-label-width: 72px;\\n}\\n.domain-edit-modal .ant-form-horizontal .ant-form-item-label {\\n flex: 0 0 var(--domain-label-width) !important;\\n max-width: var(--domain-label-width) !important;\\n padding-left: 8px;\\n padding-right: 12px;\\n padding-bottom: 0 !important;\\n display: flex !important;\\n align-items: center !important;\\n height: 32px !important;\\n text-align: right;\\n}\\n.domain-edit-modal .ant-form-horizontal .ant-form-item-label > label {\\n height: 32px !important;\\n line-height: 32px !important;\\n}\\n.domain-edit-modal .ant-form-horizontal .ant-form-item-control {\\n flex: 1 1 auto !important;\\n max-width: calc(100% - var(--domain-label-width)) !important;\\n min-width: 0;\\n}\\n.domain-edit-modal .domain-edit-aligned-input {\\n width: calc(100% - var(--domain-action-total));\\n}\\n.domain-edit-modal .domain-edit-full-input {\\n width: 100%;\\n}\\n.domain-edit-modal .domain-edit-add-button {\\n width: calc(100% - var(--domain-action-total));\\n}\\n.domain-edit-modal .ant-form-item {\\n margin-bottom: var(--domain-row-gap);\\n}\\n.domain-edit-modal .ant-form-item:last-child {\\n margin-bottom: 0;\\n}\\n.domain-list-row {\\n display: flex;\\n align-items: center;\\n gap: var(--domain-action-gap, 8px);\\n width: 100%;\\n}\\n.domain-list-input {\\n flex: 1;\\n min-width: 0;\\n}\\n.domain-list-action {\\n width: var(--domain-action-size, 32px);\\n flex: 0 0 var(--domain-action-size, 32px);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.domain-list-action--placeholder {\\n visibility: hidden;\\n}\\n.domain-list-row .dynamic-delete-button {\\n margin: 0;\\n}\\n.sites-table .ant-table-tbody > tr > td {\\n padding: 8px 16px;\\n}\\n.sites-table .ant-table-thead > tr > th {\\n white-space: nowrap;\\n}\\n.sites-list-toolbar {\\n display: flex;\\n justify-content: flex-end;\\n margin: -2px 0 12px;\\n}\\n.sites-list-toolbar .sites-add-button {\\n min-width: 78px;\\n height: 36px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 16px;\\n font-weight: 600;\\n box-shadow: 0 8px 18px rgba(28, 28, 30, 0.12);\\n}\\n.site-add-menu {\\n min-width: 190px;\\n padding: 8px;\\n border-radius: 20px;\\n background: rgba(255, 255, 255, 0.86);\\n backdrop-filter: blur(28px);\\n border: 1px solid rgba(255, 255, 255, 0.45);\\n box-shadow: 0 22px 44px rgba(28, 28, 30, 0.16), 0 1px 0 rgba(255, 255, 255, 0.7) inset;\\n}\\n.site-add-type-item {\\n width: 100%;\\n min-height: 56px;\\n display: flex;\\n align-items: center;\\n gap: 12px;\\n padding: 8px 10px;\\n border: 0;\\n border-radius: 14px;\\n background: transparent;\\n color: #1C1C1E;\\n font-size: 15px;\\n font-weight: 600;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n}\\n.site-add-type-item:hover:not(:disabled) {\\n background: rgba(52, 199, 89, 0.1);\\n}\\n.site-add-type-item:disabled {\\n cursor: not-allowed;\\n opacity: 0.65;\\n}\\n.site-add-type-item__icon {\\n width: 36px;\\n height: 36px;\\n flex: 0 0 36px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n border-radius: 10px;\\n background: #fff;\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n}\\n.site-add-type-item__icon img {\\n width: 100%;\\n height: 100%;\\n object-fit: cover;\\n}\\n.site-add-type-item__icon svg {\\n font-size: 18px;\\n color: #34C759;\\n}\\n.site-add-type-item__name {\\n flex: 1;\\n min-width: 0;\\n overflow: hidden;\\n text-align: left;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.subscription-page {\\n display: flex;\\n flex-direction: column;\\n gap: 24px;\\n}\\n.subscription-section {\\n max-width: 720px;\\n}\\n.subscription-setting-modal .ios-form {\\n max-width: none !important;\\n}\\n.subscription-endpoints {\\n display: flex;\\n flex-direction: column;\\n gap: 10px;\\n}\\n.subscription-endpoint {\\n display: flex;\\n align-items: center;\\n gap: 10px;\\n min-height: 64px;\\n padding: 12px 10px 12px 14px;\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n border-radius: 14px;\\n background: rgba(255, 255, 255, 0.72);\\n}\\n.subscription-endpoint__main {\\n flex: 1;\\n min-width: 0;\\n}\\n.subscription-endpoint__title {\\n display: flex;\\n align-items: center;\\n gap: 8px;\\n margin-bottom: 6px;\\n color: #1C1C1E;\\n font-size: 14px;\\n font-weight: 700;\\n}\\n.subscription-endpoint__url {\\n overflow: hidden;\\n color: #6B7280;\\n font-family: 'SF Mono', Monaco, 'Courier New', monospace;\\n font-size: 12px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.subscription-endpoint__actions {\\n display: flex;\\n flex: 0 0 auto;\\n gap: 2px;\\n}\\n.subscription-endpoint__actions .ant-btn {\\n width: 34px;\\n height: 34px;\\n border-radius: 12px;\\n color: #1C1C1E;\\n}\\n.subscription-endpoint__actions .ant-btn:hover {\\n background: rgba(0, 0, 0, 0.04) !important;\\n}\\n.subscription-endpoint__actions .ant-btn:focus,\\n.subscription-endpoint__actions .ant-btn:focus-visible {\\n background: transparent !important;\\n}\\n.subscription-endpoint__actions .ant-btn:focus-visible {\\n outline: 2px solid rgba(28, 28, 30, 0.22);\\n outline-offset: 2px;\\n}\\n.subscription-endpoint__actions .ant-btn:active {\\n background: rgba(0, 0, 0, 0.06) !important;\\n}\\n.main-card {\\n min-height: auto;\\n max-height: calc(100vh - 100px);\\n width: 100%;\\n max-width: 420px;\\n overflow: auto;\\n background: rgba(255, 255, 255, 0.65);\\n backdrop-filter: blur(50px);\\n border-radius: 32px;\\n box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(255, 255, 255, 0.5) inset, 0 0 0 1px rgba(0, 0, 0, 0.03);\\n border: 1px solid rgba(255, 255, 255, 0.2);\\n animation: fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;\\n}\\n.main-card .ant-card-body {\\n padding: 24px 16px;\\n}\\n.main-card .ant-tabs-nav {\\n margin-bottom: 16px;\\n}\\n.main-card .ant-tabs-nav::before {\\n display: none;\\n}\\n.main-card .ant-tabs-nav-list {\\n display: flex;\\n flex-wrap: wrap;\\n gap: 6px;\\n padding: 6px;\\n background: rgba(118, 118, 128, 0.1);\\n border-radius: 14px;\\n width: 100%;\\n justify-content: center;\\n}\\n.main-card .ant-tabs-tab {\\n flex: 1;\\n min-width: 0;\\n margin: 0 !important;\\n padding: 8px 12px !important;\\n border-radius: 10px;\\n font-size: 13px;\\n font-weight: 500;\\n color: #8E8E93;\\n background: transparent;\\n transition: all 0.3s ease;\\n justify-content: center;\\n}\\n.main-card .ant-tabs-tab:hover {\\n color: #1C1C1E;\\n}\\n.main-card .ant-tabs-tab.ant-tabs-tab-active {\\n background: #fff;\\n color: #1C1C1E;\\n box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.12), 0 1px 1px rgba(0, 0, 0, 0.05);\\n}\\n.main-card .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {\\n color: #1C1C1E;\\n}\\n.main-card .ant-tabs-ink-bar {\\n display: none;\\n}\\n.main-card .account-tabs {\\n width: 100%;\\n}\\n.main-card .account-tabs__nav-scroll {\\n width: 100%;\\n max-width: 100%;\\n margin-bottom: 16px;\\n padding: 6px;\\n overflow-x: auto !important;\\n overflow-y: hidden;\\n background: rgba(118, 118, 128, 0.1);\\n border-radius: 14px;\\n box-sizing: border-box;\\n cursor: grab;\\n overscroll-behavior-x: contain;\\n scrollbar-width: none;\\n touch-action: pan-x;\\n -ms-overflow-style: none;\\n -webkit-overflow-scrolling: touch;\\n}\\n.main-card .account-tabs__nav-scroll::-webkit-scrollbar {\\n display: none;\\n}\\n.main-card .account-tabs__nav-scroll.is-dragging {\\n cursor: grabbing;\\n user-select: none;\\n}\\n.main-card .account-tabs__nav-list {\\n display: flex;\\n flex-wrap: nowrap;\\n gap: 4px;\\n width: max-content;\\n min-width: 100%;\\n justify-content: flex-start;\\n}\\n.main-card .account-tabs__tab {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n flex: 0 0 auto;\\n min-width: 44px;\\n min-height: 34px;\\n margin: 0;\\n padding: 8px 12px;\\n border: 0;\\n border-radius: 10px;\\n background: transparent;\\n color: #8E8E93;\\n font-size: 13px;\\n font-weight: 500;\\n line-height: 1;\\n white-space: nowrap;\\n cursor: pointer;\\n transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;\\n appearance: none;\\n}\\n.main-card .account-tabs__tab:hover {\\n color: #1C1C1E;\\n}\\n.main-card .account-tabs__tab--active {\\n background: #fff;\\n color: #1C1C1E;\\n box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.12), 0 1px 1px rgba(0, 0, 0, 0.05);\\n}\\n.main-card .account-tabs__panel {\\n width: 100%;\\n}\\n@keyframes fadeInUp {\\n from {\\n opacity: 0;\\n transform: translateY(16px);\\n }\\n to {\\n opacity: 1;\\n transform: translateY(0);\\n }\\n}\\n.app-layout {\\n display: flex;\\n flex-direction: column;\\n min-height: 100vh;\\n width: 100%;\\n background: #F2F2F7;\\n}\\n.top-nav-bar {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n padding: 12px 16px;\\n background: transparent;\\n box-sizing: border-box;\\n}\\n.nav-pill {\\n display: flex;\\n align-items: center;\\n gap: 4px;\\n padding: 4px;\\n background: rgba(255, 255, 255, 0.65);\\n backdrop-filter: blur(20px);\\n border-radius: 20px;\\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(255, 255, 255, 0.5) inset, 0 0 0 1px rgba(0, 0, 0, 0.03);\\n}\\n.nav-tab {\\n display: flex;\\n align-items: center;\\n gap: 6px;\\n padding: 8px 16px;\\n border-radius: 16px;\\n cursor: pointer;\\n font-size: 13px;\\n font-weight: 500;\\n color: #8E8E93;\\n background: transparent;\\n border: none;\\n transition: all 0.3s ease;\\n}\\n.nav-tab:hover {\\n color: #1C1C1E;\\n}\\n.nav-tab--active {\\n color: #1C1C1E;\\n background: #fff;\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\\n}\\n.nav-tab--active:hover {\\n background: #fff;\\n color: #1C1C1E;\\n}\\n.nav-tab .anticon {\\n font-size: 14px;\\n}\\n.nav-divider {\\n width: 1px;\\n height: 20px;\\n background: rgba(0, 0, 0, 0.1);\\n margin: 0 4px;\\n}\\n.nav-actions {\\n display: flex;\\n align-items: center;\\n gap: 2px;\\n}\\n.nav-actions .ant-btn {\\n color: #8E8E93;\\n font-size: 12px;\\n font-weight: 500;\\n padding: 6px 12px;\\n height: auto;\\n border-radius: 12px;\\n}\\n.nav-actions .ant-btn:hover {\\n color: #1C1C1E;\\n background: rgba(0, 0, 0, 0.04);\\n}\\n.drag-handle {\\n cursor: grab;\\n color: #999;\\n font-size: 18px;\\n padding: 8px;\\n touch-action: none;\\n}\\n.drag-handle:active {\\n cursor: grabbing;\\n}\\n.pansou-config-modal {\\n max-width: 420px;\\n}\\n.pansou-config-modal .ant-modal-body {\\n padding: 16px 24px;\\n}\\n.pansou-config-tabs {\\n margin-bottom: 16px;\\n}\\n.pansou-config-tabs__nav-scroll {\\n width: 100%;\\n max-width: 100%;\\n padding: 6px;\\n overflow-x: auto !important;\\n overflow-y: hidden;\\n background: rgba(118, 118, 128, 0.1);\\n border-radius: 14px;\\n box-sizing: border-box;\\n cursor: grab;\\n overscroll-behavior-x: contain;\\n scrollbar-width: none;\\n touch-action: pan-x;\\n -ms-overflow-style: none;\\n -webkit-overflow-scrolling: touch;\\n}\\n.pansou-config-tabs__nav-scroll::-webkit-scrollbar {\\n display: none;\\n}\\n.pansou-config-tabs__nav-scroll.is-dragging {\\n cursor: grabbing;\\n user-select: none;\\n}\\n.pansou-config-tabs__nav-list {\\n display: flex;\\n flex-wrap: nowrap;\\n gap: 4px;\\n width: max-content;\\n min-width: 100%;\\n justify-content: flex-start;\\n}\\n.pansou-config-tabs__tab {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n gap: 8px;\\n flex: 0 0 auto;\\n margin: 0;\\n padding: 8px 12px;\\n border: 0;\\n border-radius: 10px;\\n font-size: 13px;\\n font-weight: 500;\\n color: #8E8E93;\\n background: transparent;\\n outline: none;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n}\\n.pansou-config-tabs__tab:hover {\\n color: #1C1C1E;\\n}\\n.pansou-config-tabs__tab--active {\\n background: rgba(118, 118, 128, 0.12);\\n color: #1C1C1E;\\n}\\n.pansou-config-tabs__badge {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n min-width: 22px;\\n height: 16px;\\n padding: 0 6px;\\n border-radius: 999px;\\n font-size: 11px;\\n line-height: 16px;\\n font-weight: 600;\\n color: #fff;\\n background: #1C1C1E;\\n}\\n.pansou-checkbox-section {\\n min-height: 200px;\\n max-height: 400px;\\n overflow-y: auto;\\n}\\n.pansou-checkbox-header {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-bottom: 12px;\\n padding: 0 4px;\\n color: #8E8E93;\\n font-size: 13px;\\n}\\n.pansou-checkbox-header .ant-btn-link {\\n color: #1C1C1E;\\n font-weight: 500;\\n padding: 4px 8px;\\n height: auto;\\n}\\n.pansou-checkbox-header .ant-btn-link:hover,\\n.pansou-checkbox-header .ant-btn-link:focus,\\n.pansou-checkbox-header .ant-btn-link:active {\\n color: #3C3C3E;\\n background: rgba(0, 0, 0, 0.04);\\n}\\n.pansou-add-channel {\\n display: flex;\\n gap: 8px;\\n margin-bottom: 12px;\\n}\\n.pansou-checkbox-grid {\\n display: grid;\\n grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\\n gap: 8px;\\n}\\n.pansou-checkbox-card {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 10px 14px;\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n border-radius: 10px;\\n cursor: pointer;\\n transition: all 0.2s;\\n background: #fff;\\n}\\n.pansou-checkbox-card:hover {\\n border-color: rgba(0, 0, 0, 0.12);\\n background: #F9F9F9;\\n}\\n.pansou-checkbox-card--selected {\\n border-color: #1C1C1E;\\n background: rgba(28, 28, 30, 0.04);\\n}\\n.pansou-checkbox-card--selected .pansou-checkbox-card__check {\\n color: #1C1C1E;\\n}\\n.pansou-checkbox-card__label {\\n flex: 1;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n font-size: 13px;\\n}\\n.pansou-checkbox-card__delete {\\n flex-shrink: 0;\\n color: #8E8E93;\\n font-size: 14px;\\n margin-left: 6px;\\n transition: color 0.2s;\\n}\\n.pansou-checkbox-card__delete:hover {\\n color: #ef4444;\\n}\\n.pansou-empty-tip {\\n text-align: center;\\n color: #8E8E93;\\n padding: 40px 0;\\n font-size: 13px;\\n}\\n.pansou-config-footer {\\n margin-top: 16px;\\n padding-top: 16px;\\n border-top: 1px solid rgba(0, 0, 0, 0.06);\\n}\\n.emby-server-manager {\\n display: flex;\\n flex-direction: column;\\n gap: 14px;\\n}\\n.emby-server-toolbar {\\n display: flex;\\n flex-direction: column;\\n align-items: stretch;\\n gap: 12px;\\n padding: 4px 0 2px;\\n}\\n.emby-server-toolbar__main {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n gap: 12px;\\n}\\n.emby-server-toolbar .ant-btn {\\n height: 36px;\\n display: inline-flex;\\n align-items: center;\\n border-radius: 16px;\\n font-weight: 600;\\n box-shadow: 0 8px 18px rgba(28, 28, 30, 0.12);\\n}\\n.emby-server-title {\\n color: #1C1C1E;\\n font-size: 17px;\\n font-weight: 700;\\n line-height: 1.2;\\n}\\n.emby-server-subtitle {\\n color: #8E8E93;\\n font-size: 12px;\\n line-height: 1.4;\\n}\\n.emby-empty-card {\\n width: 100%;\\n min-height: 116px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n gap: 10px;\\n border: 1px dashed rgba(28, 28, 30, 0.2);\\n border-radius: 18px;\\n background: rgba(255, 255, 255, 0.55);\\n color: #1C1C1E;\\n font-size: 14px;\\n font-weight: 600;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n}\\n.emby-empty-card .anticon {\\n width: 36px;\\n height: 36px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 50%;\\n background: rgba(52, 199, 89, 0.14);\\n color: #22c55e;\\n font-size: 17px;\\n}\\n.emby-empty-card:hover {\\n background: rgba(255, 255, 255, 0.75);\\n border-color: rgba(28, 28, 30, 0.35);\\n}\\n.emby-server-grid {\\n display: grid;\\n grid-template-columns: 1fr;\\n gap: 10px;\\n}\\n.emby-server-card {\\n position: relative;\\n overflow: hidden;\\n display: flex;\\n align-items: center;\\n gap: 12px;\\n min-height: 82px;\\n padding: 12px 14px;\\n border-radius: 12px;\\n background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(242, 247, 245, 0.9));\\n box-shadow: 0 10px 22px rgba(28, 28, 30, 0.06);\\n border: 1px solid rgba(255, 255, 255, 0.62);\\n}\\n.emby-server-card__hero {\\n display: flex;\\n align-items: center;\\n flex: 0 0 auto;\\n}\\n.emby-server-card__logo {\\n width: 48px;\\n height: 48px;\\n flex: 0 0 48px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n border-radius: 12px;\\n background: rgba(255, 255, 255, 0.92);\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n}\\n.emby-server-card__logo img {\\n width: 100%;\\n height: 100%;\\n object-fit: cover;\\n}\\n.emby-server-card__content {\\n min-width: 0;\\n flex: 1;\\n}\\n.emby-server-card__name {\\n display: flex;\\n align-items: center;\\n gap: 6px;\\n min-width: 0;\\n color: #111;\\n font-size: 15px;\\n font-weight: 700;\\n line-height: 1.3;\\n}\\n.emby-server-card__name span {\\n min-width: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.emby-server-card__name .anticon {\\n flex: 0 0 auto;\\n color: #22c55e;\\n font-size: 12px;\\n}\\n.emby-server-card__stats {\\n display: flex;\\n flex-wrap: nowrap;\\n gap: 10px;\\n margin-top: 7px;\\n color: #6b7280;\\n font-size: 12px;\\n line-height: 1.35;\\n}\\n.emby-server-card__stats .emby-server-card__stat,\\n.emby-server-card__stats .emby-server-card__sync {\\n min-width: 0;\\n display: flex;\\n align-items: center;\\n gap: 4px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.emby-server-card__stats .emby-server-card__stat {\\n flex: 0 1 auto;\\n max-width: 72px;\\n}\\n.emby-server-card__stats .emby-server-card__stat span {\\n min-width: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.emby-server-card__stats .emby-server-card__sync {\\n color: #8e8e93;\\n}\\n.emby-server-card__stats .emby-server-card__stat-icon {\\n width: 17px;\\n height: 17px;\\n flex: 0 0 auto;\\n color: #8e8e93;\\n fill: currentColor;\\n}\\n.emby-server-card__stats .emby-server-card__stat-icon--series {\\n width: 18px;\\n height: 18px;\\n fill: none;\\n stroke: currentColor;\\n stroke-width: 1.5;\\n stroke-linecap: round;\\n stroke-linejoin: round;\\n}\\n.emby-server-card__actions {\\n flex: 0 0 auto;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: center;\\n gap: 4px;\\n}\\n.emby-server-card__actions .ant-btn {\\n width: 30px;\\n height: 30px;\\n padding: 0;\\n border-radius: 10px;\\n}\\n.emby-server-edit-modal .ant-modal-body {\\n padding-top: 18px;\\n}\\n.emby-server-edit-actions {\\n justify-content: space-between;\\n}\\n.emby-server-edit-actions--new {\\n justify-content: flex-end;\\n}\\n.emby-logo-preview {\\n display: flex;\\n align-items: center;\\n gap: 10px;\\n margin: -4px 0 16px;\\n color: #8e8e93;\\n font-size: 12px;\\n}\\n.emby-logo-preview img {\\n width: 38px;\\n height: 38px;\\n border-radius: 10px;\\n object-fit: cover;\\n background: #fff;\\n border: 1px solid rgba(0, 0, 0, 0.08);\\n}\\n.ant-input,\\n.ant-input-password .ant-input,\\n.ant-input-number,\\n.ant-input-number-input {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n font-size: 14px;\\n}\\n.ant-input:focus,\\n.ant-input-password .ant-input:focus,\\n.ant-input-number:focus,\\n.ant-input-number-input:focus,\\n.ant-input:hover,\\n.ant-input-password .ant-input:hover,\\n.ant-input-number:hover,\\n.ant-input-number-input:hover,\\n.ant-input.ant-input-focused,\\n.ant-input-password .ant-input.ant-input-focused,\\n.ant-input-number.ant-input-focused,\\n.ant-input-number-input.ant-input-focused {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent;\\n}\\n.ant-input {\\n padding: 10px 14px;\\n}\\n.ant-input-affix-wrapper {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n padding: 6px 14px;\\n}\\n.ant-input-affix-wrapper:focus,\\n.ant-input-affix-wrapper:hover,\\n.ant-input-affix-wrapper.ant-input-affix-wrapper-focused {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent !important;\\n}\\n.ant-input-affix-wrapper .ant-input {\\n background: transparent;\\n padding: 4px 0;\\n box-shadow: none;\\n}\\n.ant-input-affix-wrapper .ant-input:focus,\\n.ant-input-affix-wrapper .ant-input:hover {\\n box-shadow: none;\\n}\\n.ant-input-number {\\n width: 100%;\\n padding: 0;\\n}\\n.ant-input-number .ant-input-number-input {\\n padding: 10px 14px;\\n height: auto;\\n}\\n.ant-input-number:focus,\\n.ant-input-number:hover,\\n.ant-input-number.ant-input-number-focused {\\n border-color: transparent !important;\\n}\\n.ant-input-number-group-addon {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 0 12px 12px 0;\\n color: #8E8E93;\\n font-size: 13px;\\n padding: 0 14px;\\n min-width: 50px;\\n text-align: center;\\n}\\n.ant-input-number-group .ant-input-number {\\n border-radius: 12px 0 0 12px;\\n}\\n.ios-form .ant-form-item {\\n margin-bottom: 16px;\\n}\\n.ios-form .ant-form-item-label > label {\\n color: #8E8E93;\\n font-size: 13px;\\n font-weight: 500;\\n}\\n.ios-button-group {\\n display: flex;\\n gap: 12px;\\n margin-top: 20px;\\n}\\n.action-btn--danger {\\n background: #fff;\\n color: #ef4444;\\n border: 1px solid rgba(239, 68, 68, 0.3);\\n}\\n.action-btn--danger:hover {\\n background: rgba(239, 68, 68, 0.05);\\n}\\n.ios-modal {\\n max-width: 420px;\\n}\\n.ios-modal .ant-modal-content {\\n background: rgba(255, 255, 255, 0.9);\\n backdrop-filter: blur(30px);\\n border-radius: 24px;\\n box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.15);\\n border: 1px solid rgba(255, 255, 255, 0.3);\\n}\\n.ios-modal .ant-modal-header {\\n background: transparent;\\n border-bottom: 1px solid rgba(0, 0, 0, 0.06);\\n padding: 20px 24px;\\n border-radius: 24px 24px 0 0;\\n}\\n.ios-modal .ant-modal-title {\\n font-size: 17px;\\n font-weight: 600;\\n color: #1C1C1E;\\n}\\n.ios-modal .ant-modal-body {\\n padding: 20px 24px;\\n}\\n.ios-modal .ant-modal-footer {\\n border-top: 1px solid rgba(0, 0, 0, 0.06);\\n padding: 16px 24px;\\n}\\n.ios-modal .ant-modal-close {\\n top: 16px;\\n right: 16px;\\n}\\n.ios-modal .ant-modal-close .ant-modal-close-x {\\n color: #8E8E93;\\n}\\n.ios-modal .ant-modal-close .ant-modal-close-x:hover {\\n color: #1C1C1E;\\n}\\n.ant-message .ant-message-notice-content {\\n background: rgba(255, 255, 255, 0.85);\\n backdrop-filter: blur(20px);\\n border-radius: 16px;\\n padding: 12px 20px;\\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);\\n border: 1px solid rgba(255, 255, 255, 0.5);\\n}\\n.ios-alert {\\n background: rgba(59, 130, 246, 0.08);\\n border: none;\\n border-radius: 12px;\\n}\\n.ios-alert .ant-alert-message {\\n color: #1C1C1E;\\n font-weight: 500;\\n}\\n.ios-alert .ant-alert-description {\\n color: #8E8E93;\\n}\\n.ant-switch {\\n background: rgba(120, 120, 128, 0.16);\\n min-width: 51px;\\n height: 31px;\\n}\\n.ant-switch .ant-switch-handle {\\n width: 27px;\\n height: 27px;\\n top: 2px;\\n inset-inline-start: 2px;\\n}\\n.ant-switch .ant-switch-handle::before {\\n border-radius: 50%;\\n box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 1px 1px rgba(0, 0, 0, 0.16);\\n}\\n.ant-switch:hover:not(.ant-switch-disabled) {\\n background: rgba(120, 120, 128, 0.24);\\n}\\n.ant-switch:focus {\\n box-shadow: none;\\n}\\n.ant-switch.ant-switch-checked {\\n background: #34C759;\\n}\\n.ant-switch.ant-switch-checked .ant-switch-handle {\\n inset-inline-start: calc(100% - 29px);\\n}\\n.ant-switch.ant-switch-checked:hover:not(.ant-switch-disabled) {\\n background: #2DB84E;\\n}\\n.ios-edit-btn {\\n color: #8E8E93;\\n padding: 4px 8px;\\n border-radius: 8px;\\n transition: all 0.2s ease;\\n}\\n.ios-edit-btn:hover {\\n color: #1C1C1E;\\n background: rgba(0, 0, 0, 0.04);\\n}\\n.ios-edit-btn .anticon {\\n font-size: 16px;\\n}\\n.ios-tag {\\n background: rgba(118, 118, 128, 0.12);\\n border: none;\\n border-radius: 6px;\\n color: #8E8E93;\\n font-size: 11px;\\n font-weight: 500;\\n padding: 2px 8px;\\n line-height: 1.4;\\n}\\n.ant-space-compact .ant-input {\\n border-radius: 12px 0 0 12px;\\n}\\n.ant-space-compact .ant-btn {\\n border-radius: 0 12px 12px 0;\\n}\\n.ant-space-compact .ant-btn-primary {\\n background: #1C1C1E;\\n border: none;\\n}\\n.ant-space-compact .ant-btn-primary:hover,\\n.ant-space-compact .ant-btn-primary:focus,\\n.ant-space-compact .ant-btn-primary:active {\\n background: #2C2C2E !important;\\n}\\n.xunlei-verify-compact .ant-input,\\n.xunlei-verify-compact .ant-btn {\\n height: 44px;\\n}\\n.xunlei-verify-compact .ant-input {\\n line-height: 22px;\\n}\\n.xunlei-verify-compact .xunlei-verify-send-btn {\\n min-width: 126px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border-color: rgba(0, 0, 0, 0.12);\\n box-shadow: none;\\n}\\n.ant-btn-primary {\\n background: #1C1C1E;\\n border: none;\\n border-radius: 12px;\\n}\\n.ant-btn-primary:hover,\\n.ant-btn-primary:focus,\\n.ant-btn-primary:active {\\n background: #2C2C2E !important;\\n border-color: transparent !important;\\n}\\n.ant-btn-dashed {\\n border-radius: 12px;\\n border-color: rgba(0, 0, 0, 0.15) !important;\\n color: #8E8E93;\\n}\\n.ant-btn-dashed:hover,\\n.ant-btn-dashed:focus,\\n.ant-btn-dashed:active {\\n color: #1C1C1E !important;\\n border-color: rgba(0, 0, 0, 0.3) !important;\\n background: rgba(0, 0, 0, 0.02) !important;\\n}\\n.ant-btn-text:hover,\\n.ant-btn-text:focus,\\n.ant-btn-text:active {\\n background: rgba(0, 0, 0, 0.04) !important;\\n color: #1C1C1E !important;\\n}\\n.ant-btn-link {\\n color: #1C1C1E;\\n}\\n.ant-btn-link:hover,\\n.ant-btn-link:focus,\\n.ant-btn-link:active {\\n color: #3C3C3E !important;\\n background: transparent !important;\\n}\\n.ant-btn-dangerous.ant-btn-text {\\n color: #ef4444;\\n}\\n.ant-btn-dangerous.ant-btn-text:hover,\\n.ant-btn-dangerous.ant-btn-text:focus,\\n.ant-btn-dangerous.ant-btn-text:active {\\n color: #dc2626 !important;\\n background: rgba(239, 68, 68, 0.04) !important;\\n}\\n.action-btn--secondary-outline {\\n background: #fff;\\n color: #8E8E93;\\n border: 1px solid rgba(0, 0, 0, 0.08);\\n}\\n.action-btn--secondary-outline:hover {\\n color: #1C1C1E;\\n background: #F9F9F9;\\n}\\n.pansou-add-channel .ant-btn-primary {\\n background: #1C1C1E;\\n border: none;\\n border-radius: 12px;\\n font-weight: 500;\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\\n}\\n.pansou-add-channel .ant-btn-primary:hover,\\n.pansou-add-channel .ant-btn-primary:focus,\\n.pansou-add-channel .ant-btn-primary:active {\\n background: #2C2C2E !important;\\n border-color: transparent !important;\\n}\\n.pansou-add-channel .ant-input {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n padding: 8px 14px;\\n}\\n.pansou-add-channel .ant-input:focus,\\n.pansou-add-channel .ant-input:hover {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent;\\n}\\n.pansou-add-channel .ant-input-clear-icon {\\n color: #8E8E93;\\n}\\n.pansou-add-channel .ant-input-clear-icon:hover {\\n color: #1C1C1E;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n padding: 4px 14px;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper:focus,\\n.pansou-add-channel .ant-input-affix-wrapper:hover,\\n.pansou-add-channel .ant-input-affix-wrapper.ant-input-affix-wrapper-focused {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent !important;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper .ant-input {\\n background: transparent;\\n box-shadow: none;\\n padding: 4px 0;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper .ant-input:focus,\\n.pansou-add-channel .ant-input-affix-wrapper .ant-input:hover {\\n box-shadow: none;\\n}\\n\",document.head.appendChild(e)}var $t=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAICAgICAQICAgIDAgIDAwYEAwMDAwcFBQQGCAcJCAgHCAgJCg0LCQoMCggICw8LDA0ODg8OCQsQERAOEQ0ODg7/2wBDAQIDAwMDAwcEBAcOCQgJDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg7/wgARCAE8ATwDAREAAhEBAxEB/8QAHQAAAgIDAQEBAAAAAAAAAAAABQYABAIDBwEJCP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAPv4QhCEIQhCEIQhCEIQhCEIQhCEIQhCEIQhCGsoFU8IQhD0tG80FgtEKxQNRkXDMpmZfNpSMDcVDQQhCEMi6XTIgMEEWzI9IQ8MRjGQCh4PngtCKUjaN4QE43j6XRQKwZFIEGw9IQxMhyHcskARycDjCbTwhrF4KnRCsEzSUgOIxsKQ6DaI4MOgGg58XxsEQ2B0h4ZFUXRyOpF8gBOVG8cwQVS2FhPKZ1MLGAqi0aSoYC8Nw5iUKoyEFMNDeJo1B0DGkIlwRAudSL5ACcsLQZObgcMHRwQUTpZZN4KEYrjMLwCD4SFwGF8JgAuDaKA0mk50UxoH0UwmdSL5ACcrLZeOVAINnVimUB5BBbKQjBU6gQBAI2hw1A4UxYGkchPGcGnLiiNx00WQodSL5ACcrLYaObgcLnRgUDzo5SAZgBDadRLQiA4bS+JwpgMrDsMwljSaDnhTGgfRSCZ1IvkAJyosDoCCoWguJxTOpF0DmIugo6EbTlwROjmIiCEHBlDJpOejQMAFNISLYhhc6kXyAI5OCBjNp4emoXQmdFKhdK4tFUMhYQQoOJTKolDOGDEhzY2h8hD0pi4OZ1EvkBggCyZEPTwxMRlGUWzQYFQEgsNgkZxtKBfF0rgUuDqLIJNh4Q9MT0cx5LRDWUCmDikXCkDz0NBUWheChVOaAQ3mY8DuXw8UxFEIvHSxhNhrBZgFCA0JDAbiEIaxXF0Oi+KxiHw2AjaNYHOTAAtFsJlwJHRBgFk5iLA2HSxqKghFEfC0IxfH4tkIeFcDlIJgoAlYqmstlMOBQRBaGcPmAsi0NQ7C6c6F8vj8dEBRzUqj0NgmhA6WXiHhVForDQXweJgvmQZChzsEjGbzwtDQaRbAIDLwJF01Bk6CPYrimGA+MgOLo0FghVFoVi2PATA5ycXx6HwrHIRHDZ0UKCGfk8/aAUMjmgFChTNQ1DiNoIF0sG4Ih8Mlg9IUBNF03h8aiockBR0YZxVOXiyO510rn5DPnEdwPrGBxbK5vF8rDYHBwCAqiQBxpOhDGbCEKgpHOxUGE6oZHPwSOQYOZiWXjpB0c+UQiC+GD6oHIjs5fAInggYB7GUtmYnCmP4yBAKGZAac+Ofi+FDpRmbS4XzE5WKI1HRT8bCcfvA+cZ+0wOfJA+uYfDYCE0zD4YN4xm0EjoUy8OJZIVRbF0VBaCw2jiUCsMQrHNCiHD5Gn1dL4GD46HzfOjHeguagSaCyNhrKIyDUMhqLodNpCFMVBTAYujKdHIahqB5yAQTSfJY+shsLZ086afOUJH6cB5vGMoi2XSuL4WGwPDeMhZIQhWE8VwUKgUG8vhkaTQIApAU+c53s/RAYG4JHxmPqAdjKgPGYuCKJhiaAWQJj8dGGQ2kIYA8UxHBwYMimNA5lYFG0FiCfJs/Yp+rDn583DrR+8jqxvFY9DgKEM2l8WACYhw6mdLLpDQCjM2AkEi0XS4Q3goqhYsGAKPw4cFLR+nTvYYG4yNhSFAEA0Oj4Czm5QGU6idELZAYJRBtLwuHPhiN4pGYeCYIF0ohYegSaQ6bAOKgTHQXzlANIOJ1ACnJzadJH8MmZCkKQtBIKCSLI/B0ClA0jSbgCK5VOmFosjEeigcvMx7BwiBADGZ04ggjGPofLZ6QoCaADwFCYUxvD54CRdDYeNYvnh0o2F0ZgYJYIMjEAgULAYHnShxFoolsbRtN5AaJx6bRSA54bzaQGi8Fg0CgeMAwkGAMCUKAbCArAYMF4rAcLjaCRJKx086gXiFQWigQpGshD0IGsVw4XxIA4WBwcGYCnPQKEAyVAudFN56JAhHhqK4eOoHRC4QEHNRYNxmeEMTSMw8mgsCocxBZdPTaZlEDmgJDsaS+PwNCYqHOSgUy6dEOmDKbiAE5OUhqMzE9PBULI/AkKi0c0KQYGEXgCeFYxLQfPBgOjEN4ogUyFA0jUdKHUskAJystDcLZQLwxiqDxtFcaS+LZXMQaKxZN4qFQ3HpmHhqLpkCg+M4vFIsjWNJvIATlhaChzACBo6eDSgPpSDodNRpFg5ULR0EIHNDEZgebyyLpsG8YRnGQzMTAsFk9IATlZbLxysBBs6qUygdCNQWDgJFwDCwK4bLIlhk6gazeDzngbOkDCDD0YCAE3h42kAJywtDAIIICo/AMHjyBS6NILEY0l8Ai+ajANHVC8bBcEkeg8UBMKo6m0BhsdSyQAnKTMdioVzeXBLK5000CuXg8UhcAYXAgICxoHA9CRrFMYQGKIJNocN4yD2MhuIAzlIBDJtIQ1gUOnVwgLItF4vCMBB9BwnG4qBwaxqN4rCsKYFPRkDwACJ0gdCwQoiaL5D0hDwgwDkXSsLJXLItGI0lYWDUeF8bw+ZgcTwOYGYfDAuFMaxpN5DE0GkhCEIQ2lgyPDSYmRpIbzE0nhDIsG0hgVjAhDabTSYG43npCEIQhCEIQhCEIQhCEIQhCEIQhCEIQhCEIf/8QAJRAAAwEBAAIBBAMBAQEAAAAAAwQFAgEAFRAGBwgUERITFiBQ/9oACAEBAAECAP8Ax/P/AMTWyudpez9n7P2fs80xu9Y64I/O+EPqj7PNIbWmdUBviL3RGcN9Y297P2fs/Z+z9nikFnPfhwtOn2xyr7T2ntO1c2ZtTTO3J7GD6YpOtWPcAszaDLLVNCqgydl+qpTI49W5Y9p7T2ntO1QWZNBbXxS7Y0sqGT6r1XJJZLCsjQA6nLrsOZpUzmHxPuImiBpKJ9ns0aTtCSYu3/EUMSPU+q5JPKICDpHvxT8p8kC5wz3sgPfxVFM5Mx/gQVEGu71+qXRSRO6PVZwym+31kEfhvD5kBNsj/KSzZ8URwvEfml5S8k+PHoUPZzqSJ6nk7xE3aGWniPMpbyo8lxBHhWmgeuXW/lzcnw3hvJfazTdPNSS+MtLyH4j80vKfknyn5T+Jfkzyn5O8Foxl3X3Wyx+ohYnHTNxUI521D5fc23E0bw3k3y3455nyJ4Dyj5D8R+aXlPyT48ChO9ZOnIAqcm+JhbnbB1ZudLHM8c1QeW8RQNig4zSNwU6Omzg3kvlZVubmXJQwKl5D8R+aflTskvPDo+tAh5VLM7N6bwifFqGVOTDUCUiRfE+sdrLFDOnCkKJUsH7IMYZJ/JqybG6BYXiPzS5Yyq0Gv7X2vKpa7LUjK5SUQONunPzSVM7lDUbv7PH3emDJ4Zxag/p/xF/Ff2vteVmKuzwcI/LYqkzUfkz13rfXdnYkzJul2QjZITvG3BU8VzNxO7GNXSjKHDN0pbWBvSeSPWeu9d63ssEiSitj41gqeph1MiyqbHS4MmTenddwqpRDRPw+XAsxnQ0AHDhtKoo1iYxNawt6vUwwBBFOLO1hLQf/ACTyj0exapbIXBkGtvHOpxbFYNRXi40BzgB/bQqzKGiU8Vs8ZlVZlITDbVKolXn0GmHnpTimvnvSFYwOdhNyaSX2eQeNfraPPpH3USwghMxFJIoId5Koip1ar729pmkOpsVXX2VdymtboBjCS58mM5QWeV7/AFa6+/qtgic86tYitMFnm/1FmVWm2T8bn/3xWdcJ5nCSshAK9bGUV5CU8YDzkJ4MfBiPOHMhlLXNUe2DLeSVU16Pbu+mn+Sk2122efmWq8qo4vUGHOEzprqIpodBp9T/AAw3iovTV0IXOfDPHx70GinWVYo9r+Jbkl4zVqVW88hLzFao/uF9+/uz9Ufjb+QYGm2jIYk9E4RUqpVcIYMCgm/zB5uJuB9+T9pFpuEpSH5rD7NAIUpYWt2G9lSUiIDN+RH5P/b38R/vL9CfYD7FaY+iPvMm0QreXc8NPdnuBpZq6JXXECUvg67Y9fDfa2nQlVlaSdKYCfEFgvBsp5Xk4n7/ADP+7f4i/Zl/dL8SJAfrL6ZBqP8AUS9UZqWDeAMrSE8KghUdKsqoJnc7a3yYbk1iRQndGm9P2sJwyjORVZb6yzwrn5B/U/03o1rTUtMET85fov8AGuiDAmzn2r1VYai7QwvJuIjF5tNREWfj+D8fMfrae+yHUmWAqpqipCuAKP8An7ucXa/unmBhXz8+af4ny8yjopoBhuRCLAcba1tF1WyrbnuB7z/wfNFbYnDm8nhWbxVScX25inNNCZk/l39vfxl+uupIzk/D/Uf3x+5P24+mU1HJgAJbOpTmGCMBk9dy0m/IrTnxa+e+HXopOJDngAXOBzMgMeh1rIHJ31h9ufqX6P8Atz+U0j6l+ufvZ96/yT/Gz7LSdzNN6Y4sUVB9pzafDKuIkHjc9mAdPvwQhXgtEXJJZmG8UBpQR9UDGHpdzT+HPqn6V+uPwaf/ABRl/h79ufxczFSRWZ0cSromaRK3WZnFEqiDwxDmow0lc/DfXSpOKtdLTaOab4905VyKi/RbXMTrk+guZzqyoZHYzqJmZ51uWeP44rgMXCGLWXxT0I8pJIefhjL4N6SeJSq1xuyTl4VEogvpPnywi8sjybkqya4R77W09meVF2qzvI02xTnJLlTBUpaKPgS878M7fZ7jo23XTL9QexX7Vbo6cQqZrkrNvIdnlM8iyIjrjjnU+TdlefwXDTpFuwi7Cyrx5e5Nog38N4bVVRYScmai8h4lev8AXNI7WSS4gyDAUlhtc3PGRupX7TTolovu4wvJ5JNH2jOcFYepuPKNfT5Uu/B+tF4/ultn/b/b/bJQjamkkIS2AUdgJ+zp6e4KhRrPUP2Vmx7NiSBRTo9LWVzMZpbf52ajDTUz8PErPfv5Y/2/3/36xx6U+HWh55Ycfew5hr+uGe1z0SE8T8Sw1mRwXdkBq3xlbSmsJ8jYm4Fz4p+V+IJAk9meu5MLIdSlcwclIDNkTaeU0kuIvg6Loe58AQFDb0c6pOh/tU0FBmS1PAtMLJYX78U/KfkjOzM1vdq1hnq5n+b4XEsTU00D/nuzGmTnTQYmMiyPgP4HlEq9nNvdUhZS+5rEH/nl4c5EGfin5S8k+US0m/3Zjc4tPyd4AO5yCvAdW0CpivoPY+KOX+JLiknmKSzTzEV2gmCOgkLH6vU+Ljxn5p+U/JPlLlPP9ZmZnKfk7xbemkjc202eyd91MiyDrdFncYaSbMlaVUVOrKkzJvFztLUgGOY1FR4Wvil5S8k+NrPyvSoSU1qnJ3gsn4i4Buh42IGO8cUKPnnUpQZvSbHux4MUpfrLFejWSrJ2D1dlmZW58U/KnZTA2CY/XEPZ6jEvqIXUDDSazoyTmeNgFSUWFoQNJukaS3QDkC7dGuewR5Yo2x0Jxp2Q8+KObAQ7FQ9j7D2G6BtxwTMGC9PKJNg56Z18Tw1wf16bnUiKKKInRcQb235pYac6ZuQdScSQdfvwyKhK1C5E9L6X0nYmIU6UqL+DBbngnmRZjrRFUHZpYXofQKxkURi7hxRyRqB/zo/p5CPqa3FDEnogz8dzpf8AS/R/R/R/R/R4lhfPPO86Hi/Q9U4pkOgdS/R/R4ngXx3HVf0f0eJYW/y6rxLAOc/+T//EAD0QAAICAQMCAgkCBQEGBwAAAAECAAMRBBIhBTEGEwcQIiMkQVFScRQyCCBCYYFiM1BykbLRJVNzgqGiwv/aAAgBAQADPwD+Qf7lABipnmL90T74n3xPvi/fE++J90V/nBjvFz3gccTI9QQHJirnmL9win+oRXHeALmICfaiv85uEwIEzFPzgwYqkjdE++J98X7hF+4RfuEX74pz7UDjvMj1lK2jV2MA0sNh9qWkZ3GW/cZb9xlv3GWgdzLBZgtGsIBaHyMywXEZhIEATvBsPMKI5Bjq7ANLT2Yx9+C0a2vvGFBliWNzHawDdN9Q5ipSeZsdhuhezvCNOTmMljYaWsT7Ut+plv3GW/cZb9xlw+Zj7+WjW/Obq/WRU8Y6lxHusjGuGGExhWcR6rTGF4ENmljG3OIaq4awRCcjML0NiO95h8omGu+EgCb9KYQ7EQ16qBaO8IrYZjPe3MZrYf0ZjPewj2w7O0Pq4PEZEaPVqSIdwmafX7p5nVtAbOZXXpsmVIx5Ep+olT/MSuzT5ihyQJjWCA6cZiRfLOIeSIa3OTPNXEO/diLXURA2omMRV0h5ilmxNt+YfKxmNdWYwvmLRPgz+IDqz+YvlCV1VSlWPIlJ+YlTnGYjUGAaoz3onufVwZ7p58Y359RTSHB+UcWtzH+6O1wG6F9JM7p8ZBXpgYofG6B07xBW0QOcGeZbN2nJx8o/OBHFxJENCQtSQDLLWbvLd2dssSBasGIXMzcJ8GfxPjD+ZimFKG5jC1vaj7/3RnsXmF9JPfme+nufVwZ7p58W3q+Fb8T3rww+eJ8H/ifunxkb9HxLFuMIQjMY1Ngx2uOYTesD6fGIhydsrr3cCYsIEax4uzJWVITwJUiGbNwBhe88zc4nwZ/E+MP5nw09y0PnNPbE96s+DP8Awz3899Pc+v3Tz4tvzOYX0bcRmub2Y/2x1tHswpo5jdM6yb9LOWOI9bECNYhBmCTNmqE9wIErYzFrAGefbAFzieXScDtGrLR2yMx78yw3Z2xkI4m3SET4w/mZoheo8RzY3Ebd+0xksHEKaMz35nvp7n1+6eY1bQC2V2abBlTk8CVZ7CVI3YSuvTEQGxpnWCAacZlbAxXcnERKzkRfam3VQCkQGh8Q/q2mXERaIj1sJlHMP6kwWAZErVclJXX8oF0zTGrP5i+UORK7aj2lTEnAlOewlVbdhETTmBtUZ70T3PrJqeMNQ5jU3QhMZ9ePnCayAY9tpjG8GGvSwi0jMVk5MCocTzCYK2zAh25i2aU8wNqmnIhr08LORPM07GfEHj5xUrGZXWmAYrEjdPM0zRk1LGNXDtxn1kdjGesjMa3Uw7hMU+vfWY1ljkLLRYeJaBLZb9JbLCOxjl+RCjjiEUERltYwoCMxrYyAsYEU8zbd3gOnILQWXzOIX08fzoxohFhOJ+nRhCXIDQvd3nm6SM7khZaGOAZcPkZb9JbLvoZaR2MfzORDXjiba/WCDFfPEr5O2VpngSrfjAlRTtKkzwJSD8pTnuJWe0XyYh3YM32nEJr5E8uhoQ7CEGMEPMJsgQDmVmrlpW7dxFsrilDgRl34jrecwV3DJiPWBmV3DOIh/pErUH2ZUhPAlLuRK3XsJWiHgSpHifKe7/l90YQGxLPPMbyJYC2Jd5h5Mu39zHU8mZoPMZrDzAX5i+TC1D4EIufiEtGcdo4/pMsq+REtq+ZjC4ZaB6hkwPVEKNmIHcieXf3hV1BaBkGWitXnMVKm5myxsNM38vFdO8zSxBjLeRmF7AMzdV/JgQAERbcwb84mKyIHzxEBPErWCrIEdzjMOzM8i6Bl27pXdpzEYtxPf9ojJyJWU/bEVD7MCbsR6ruIUIBMHkfugCsN0NrtzM2E5jK4wZZkDJjHTRlpbmWW2NzLUtBlvAJMZ9LHOoJjC4ZmKf5AqmbGbmeZZiB0girW0WpmEDOQDDqGhLZxBXpjDXe+IaruTN1eN0/UzZlsRKnxKzTECHE84tOCwEOmu+mIRURmWW5IMcucws8LuJ2mzSRiGENlxyINucQVvB5OILLO0FR7Tanr2qZgMMw2WGe9zAKoCJil43nvHfUQtgkRESKtLQeY+IRcZZZYBGKjImzTNPIvcs2FHJM8NaX+IhOgrovO8CLmi/rg3GwXZ/2qp86R2PG49x9DR1TplGs0Wor1mjvrWym+lwyWIwyrKw4IIIOYc8iKunaEXPtlhYxnryRNmeJmyBecRa8CB6MQuCcQUuZXXxmVgkboH+cW2ALkTA9ZNZjbmgrY5ldZ7iKxwGgdJmh5794BqIu0QJSYAjjdBa74MLXzdauRFGmBxMUPPRh4K6pqdH1DxCnUup1Eh9D0pP1NqkdwSDsU/wBmYTwD429IbeIvBXQeoeH9TqWLdRq1IrWq9/8AzVVGOxj/AFckHv3zm/0c9Wo8J+ML7NX4F1FmKruXfpTk/vUdzUTyyDt3HzB0l/SaNbo769VpL6ltouqcMliMMqykcEEEEERXyoM/UMx7zyyTtgprIIi7jEF0UpgQs8wgzFaqEZKiWVFpYbTzLHIhWsZg2fyDaYih4ELbWj+ccNGe4DM9z3gNJGYbnbEsF5OJYAIyaU/iNvcZMNlhhstyFzCrqcTTdP6LfrNZeml0mnqa2+61gqVooJZiT2AAJnWfHvVtf4V8Bau7pHglSarNVVmvU9U7gknulR+SdyOW+g8eeMtBR1fxFangrolwD1fqqTZrLVPIIpyNoP1dgf7Gein0ZXp4W8NdX6t4m8aIwPUbrtTUNLoR9hVKwTYfpu9n5zXelPxGOsdZFvTfAmjtxqtSOH1rDvTUf+p/lOm9C8J6bp2gSrp/Sen6VKaKwdqUU1rtVeewVQJ4K9Ifijr3TPDPVf1mq6VdstDDaL07edV99e7K5/7qTWaxkypk4xCwbEdXaFLJ7QBaV7O8qRe4iNxuiXVGLtcwHVxVpBi1DvA/zmV9ZFbSzc0sdmjhicGeXcIBph7UNpwDPM7iVp3ErXgTNDYjF3OIVu5iAjMqrQciX9H8D9M9GXRtSab+sV/q+sOh5/SqxFdX4d1JP9q8dmnTdf04elfxTpE1QS8p4d0lyZUMhw2qI7EhgVT6FSZU9Vg3cEYO0kH/AJieZ/EvbqT1p7fR3a51dpsuLa0sWydOSe+Sf9qecf3mi6N4c0fR+j6Ovp/TNJUKtNpqF2pWo7ACabxr6NOteGOpW31aLqWmNFtmntKOueQQR9CBweD2IIJB8VegX+KX28jqfRdZtuVSVr12nb/82IQR9CfqJpuqeF+ndY6df5+g12mr1Oms7b63UMp/5EQscFottPMTa0xa0KHvHXsZay9zLFfljMpgtPOqMLarIHzhTTSwOY5cZnu/XuUwWE8RAG9mKqtgRqbeIwwpMFuMmKKMiFMxzbiedR2gKOdsFFrcdjPJc8wqmN01fij+NHxed5sNWsr6fpq88KKkWvA/LBj+TNN4Z9H/AEXw9oMJo+m6GrS1BRjIRQufycZMLg+3DdaeZ5xEDU5KSjp3jTwV4ppqxZrtLfotSQPnSwdP8kWvL+rfwhdFS5za/T9Tfo8nvtV96j/CuBHV49aRrlMdmPEcAw74DTBUpIhrt7zzgATKzgxPLxBa3Amwzah/kAUxU3CC4mDYxhpumCOYHoEFomLYBVAaXh32YlgtMtEv6L/GZ4vuvTc1XXP1e36qxFo/+CINVoKdVQ4sourWytx2ZSMgx/qYxsEAAzKv0v8AiaUaD0d9GRwdSbNZqXX7VArRf+ZLS2r+Eim+wYTWdX1N1X91G2v/AKq2hNZOI6ORiGw4Igas8TYjcQ0W9psrIm9DHFuYa25MCJ3gZsbolqxCn8uUMdt0atyTAKmnmXGOpzDTUATFPBaJY8BSB62nmu/EJJ9mNXu9majp3pD6T4701HwHU6V0escDtqKwdhP/ABV8D/0jKPGnoQo8OazUA+JegVCiyt29u/TDiq0fUAYQ/QgfcIwsxiHvtn6VOZpen9K1Or1mpTTaSio2XXWuFStFBLMSewABJmq9M/8AFFqtf0am7VaIunTeg6YD23rDEKcfV3Zm/wDcBNN4N9EHhrwpQwcdO0SVWuOz2n2rH/y5YxX0/aDk4i02SsjES2huJhmIEet2EawQqpOI1bx1jq3eYCgtBag5m5f5AYrq0O18CWFmG0xhZlli1pCVO2W+ZHDDM2VcmIMjMrscyqxIjA8Tonj30bdW8K9doL6DW17d6Ab6XHKWIfkykAiekT+Hn08U2h7endQ0thfpvVaUzp9fV9RnhgRwyHt2M8D+JNHptF43x4O67gK9zBrNHe3zYOBmvP0fgfcZ4L1/TF1PT/FnRtdQV3CyjqdLjH+Gnos8HaCx+p+Nem3XqONJoLxqryfkNlWSM/VsCdd9JNV/h3oNN3QPCBf26i2dRrsHjzSOAv8AoBI+pM1nRNXV6QfGOhbT9UKf+DaC8YegMCDdYp7MQcKD2GTC165g8gRPLMzYcRq35iCrBaVvW3Ii+e0Umb6TgQqWO2bSZiMLBHYCZp9e0GBGIzBaMZi3IYrEkrEqRjibLiILRyJWgyRK6TAUIDR3JwZaGOcwoOTEKcmVB+4nhTx/4Nv6B4s6Pp+tdLtO7y7hzW3IDo4wyNyfaUg8zVfrr9b6OvFNL6Y8p07rmVZPqBdWp3f2yg/M9OeivNdXhKjXJ99HWdIF/wDvYpnpY6peB1duleHKP6zfrPOcD+wqDA/5YTwX4A11HVLxZ4p8RVkMmt1tYFdLfWqrkL+SWI+RlgP7TDQ4JE8urGY1sLgkieTUTGqYgNHcEbobLDzHZxC+n5EC0tkTZawE3EgRnsBxCgHE21+sipsR1taMtnJissTYYgreBtWcGZqHzhFJxLRaY5bmK8U15AjVA4lqsZYpjGxQTN+lzH3kCG1+REZOViYPswUoxAhrtIzBYYp00HkWRmveWEQq/MXeuYn6aDyXm+9oXccQYU7YK6+02r68oYuWMNVp2wqeTAKG9qcuN08zU8njMQ0gZldlUqYkxKQYK7duYllQ5lVqSshjEQnE26oTdpxFJiKYuyIqGA1PG89o9bz4fkwNQ3MD3mVmntEqc4nl3YzC9HeGyhoW1ZyPnK0xkSutB2ibcCZHr2o09phDa5j1KTLFrYCW2WMY4uzzHqUAw7CJlTCyNG87OYyiHZBtIzBbnEJ1IMCaaAPibzB5PJi1o0Wx2BMFxzBXyJ5CYz2hcEZh87MIpxGfdGF8ygzFt00StyYunzzBvxunm45m5PWTW0ZrjPrB5DYjMx4jN/TCD+2Onylv0Mtlqo3Bji7tLGHAMtFWcGWV5jvbNgDQVptzGteFBmCqk8wDeA0zectK9nLSvyjzAzMFj33R2GdssC42x9hysNFhyIKDgtK/JI3xGRsNCXbBlhvjttmafWNhiI7ZlSEgNK2XGZS2ZT9RKfqJT9RKT9JVbFepsCe/PswImSJXVQZWC0TzTESmYt7xCMkytKe4g8pgHhd25h3d43YGWPXH3kmBrhkRBR2lQOJW1JgQNiGu04jgY3GOwOWhsMLuOIUA4m2r17amjJa+DLWc4aWkdzLvqZd9TLvqZaB3MsV+TGZwMxX0/Mr82KlJIhrrbmMbH5h3HmO64zHJzzHo+ccKRujWAjMLE+rLyvyOYgc4g88YhGj4j+eY3kczKNC1jcRlXsYRBviELE2CAL68VPCdS8820RfLyREHylX0EQ/IRfKOFnlWtCl4nl6OEakjMNtEZ62lnnNxHh3jMUUHiBS2I5c4jiEerYYUqxum9+8BuERtPKy5MSug8wOWAi2seJigkLHV24joe0srIEZkEzX6uDPdPPi2g8yJVpoiMeYn3RHfvFs00GWmNTCdBx9JZ+rP5jNSAZ5tU3OfZgH9MFGTiLUjCC21p5wmyljibHYQtGjiOXj0nM8tMFoD84XrIBjXWmZ7iCzTniBnPsz/AEwo/aGqbU9funnxjfn1FdK2DHFz8mPnuY5uHJhbRT90+MgfSRWuJIgQRTX2lXOQJTsPAiCt8Rw7gRjfzE8kZiDStB+oYCeY+JupziMjdoW+UNVLGWVuRLbGllqRu5EFWMiIUxEb5CV4PEqWIO0wvr908+Lf8/8Af1fCt+IfNeH6Q+eJjRj8T90+MgGkieZFaDycwVAwKSN089WGZ5oY4hpvPEFKYzBZp2G6F7zM3iLZphxAzdoFTtFTTtxN97AD5wsw9mKlYyolVdRldLkZis+N0Vl7wKp5gRyMwWPNyev3Tz4xvzOYbNGY72NhY/2mOloO2GvSYmN0+Mjfo+JYtxzChwTA9MZ62xLfNPeOG5itURN24gRqnMezKxic4my8QCgRIhrOJmp4G1cRagYlCd8RBWw3zLnDwi7looqHtRWU4eNbacHMfMIrHr908xqmirbyZW9HJlLse0olKStKCMwNYwzM6sQPphBtY7Y1NxxCDgmLbVKyGOBEpDYgNxGYLqIqk8RRdE8qKmpgWjvGYnBjskNlJhTVQVafvMbgHjlj7caxv3Rt8tRP3Ry+GaLYRkxNkG315qeN57y2q0y1V7mW/WWSyWFSMyy14/nAmYpED1mAhjiNRacRxxCNO0sYvLHvhGlEJVsCOlxlhQiWC3MsPEa0Amba4HqORNhc4j1hgJa7NLSZYX7GM57Qig8R6rTLK3xGZBM1+vejTzXYhYd54jj5R/oY/wBDH+2P9Id/InlPyJsT1BkPE3scCFW7QmojEZ3bibH/AGzZTjE81GhLn2Yfthz+2FH7QVqMiKqwFDA6NxC7txCSfZn+iYblYK/6YDSeJudsLCr9oasTCevIitE+giRIkSJEip8oF9WRAYBAYh+URfkIAICDEPyiRIg+QgX1giKc5ESJEirBiISciIPkIEmB/ur/xAAUEQEAAAAAAAAAAAAAAAAAAACg/9oACAECAQE/AEgf/8QAFBEBAAAAAAAAAAAAAAAAAAAAoP/aAAgBAwEBPwBIH//Z\";var Er=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAMe0lEQVR4AezdbXYTORMFYHUGclhG2EHCCuAXsAtYCbASZheEX7ADsoNkdjEH5qTH13E5bafdX5JaVaXLoSInsdXSlR7S1ry8nAX+YgJM4GQCBHIyGn6DCYRAINwFTGAgAQIZCIffYgIEwj3ABAYSyAhk4Kr8FhMwkgCBGFkoDrNMAgRSJnde1UgCBGJkoTjMMgkQSJnceVUjCdgEYiRcDtN+AgRifw05g4wJEEjGcNm1/QQIxP4acgYZEyCQjOGya/sJEMjRGvJTJtBNgEC6aWR+/OLb5UXmS7D7xAkQSOJAT3X37Nvl6/umuT3/fvnp1HP4dX0JEMgKawIcZ03zY3uptvlMJNskTHw4MzFKw4M8wCHzIBJJQn1LIBmX6AjH4ZWI5DAPpZ8RSKaFGcQh1yQSSUJtSyAZlmYSDrkukUgSKlsCSbwss3DItYlEklDXEkjCJVmEQ65PJJKEqpZAEi1HFA4Zw2Ik0gHb1AkQSIJEk+CQcRCJJKGiJZDIZUiKQ8ZCJJJE8ZZAIpYgCw4ZD5FIEkVbAlkYf1YcMiYikSSKtQSyIPpVcMi4SiORcVTaEsjMhV8Vh4yNSCSJ1VsCmRF5ERwyPiKRJFZtCWRi3EVxyBiJRJJYrSWQCVGrwCHjJBJJYpWWQEZiVoVDxuoEiUxHc0sgA6ujEoeMl0gkiawtgZyIVzUOGTORSBLZWgLpidYEDhk3kUgSWVoCOYrVFA4ZO5FIEslbAulEahKHjJ9IJAm0yYpAdlGaxrGbQyASSSJZSyCbKF3g2Mxj+5tItjGk+lA9EFc4ZFcQiSQR3VYNxCUO2RJEIklEtdUCcY1DtgSRSBKL26dAFndl54VV4JDlIBJJYlFbHZCqcMiWIBJJYnZbFZAqcciWIBJJYlZbDZCqcciWIBJJYnJbBRDi6OyHBEjOr199RaadXt0+XBVIiRSxkPt/vKbEADReMwLJ8+urHyG0HzaZVoHENRDiGNC5AAlwNCG8Dg+/LmpA4hYIcTzs4sGPM5Ac4ZBu3SNxCYQ4ZP9OaCcgOYFDOneNxB0Q4pB9O6MdQDKCQy7iFokXINuFIo5tDMs+9CCZiEOu5xKJGyDEIfs0ou0gmYlDLuoOiRsgTdN8klViG5EAkFxf3XZOq+Z25gqJGyB/te3HNoSfgb9SJHAR2YkbJG6A/Pv+5o5IIrd12pe7QOIGCNY2DxL0zFqYgHkkroBgEYkEKagq00jcAcHWIBKkoKrMInEJBFuDSJCCqjKJxC0QbA0iQQqqyhwS10CwNQTJ5vHdpnT9rnM0ppC4B4I9eN+c4T8ixp7toytWmgTMIHEPBH/7LYT2Q5p1ZS8JEzCBxDUQ4ki4nfN0pR6JWyDEkWdHZ+hVNRKXQIrhaNrPAZVhF83t0tjz1SJxB6QYjs2ObO/DP7/f3nw5a9uXhLIJZN5vlUhcASmJo7sXcLS8hxICj5fD5F/qkLgBogVHdysAyuanyRv+NOmmMvpYFRIXQDTikG0AJPufJnx/IrGMtWqQmAeiGUd3F3ShtCFY/otdYaVfKpCYBmIFR3dDAcqfd7/etG37cfN1vj/ZhDDwuzgSs0As4uhuhD/vb/7m+5NuIicfF0ViEoh1HLIV8NOE708kjcG2GBJzQLzg6G6HAyg8Fu5G031cBIkpIB5xdHcAoNR929VNo/fx6kjMAPGOQ7YDkPC2S9LobVdFYgJILTi626ELhcfC3WS2j1dDoh5IjTi2W2D3AVB4LLwL47BZBYlqILXj6O4HHgt309g/zo5ELRDi2G+C/QP8NOH7k30c8mAaEnn2zFYlEOIYXsUDKDwWRljZkKgDQhxY72kFKDwW3meVBYkqIMSxX+zJD4CEt137uJIjUQOEOPaLvOhBF0rlx8JJkagAQhyLTPS+CFB4LBy2SF58u4z+/0KbAqR3IVJ9kThSJXnYT+3Hwm3bfsEfFoepzP+sKBDimL9gc16BDVLj+5MNjo/4A2JOVqeeWwwIcZxakvRfP4Di/Fg4JQ6sRBEgxIHo1y9A8XwsnBoHVmh1IMSB2MsVkHi87cqBA6u0KpCnODAEVokEulCsHwvnwoF1WQ0IcSBufQUolo+Fc+LAaq0ChDgQte7CqY+19ye5cWDFsgMhDsRso/DTxMZIQ1gDB7LICoQ4ELGNevbt8vX59VUb2uaz9hGvhQM5ZANSHAdmxxpNAP9zjOfXVz/OmubH6JMVPGFNHJhuFiDEgWh1F2Ccf7/8dN80t00Ir4OBX2vjQCTJgRAHYtVdAsPC7ZQkWQIHrp0UCHEgUr21e59xawkG0iyFA9dOBoQ4EKfO2t5OXb/6unufcaFzlP2jKokDI0oCpDYcCM5K7W+nQvvByphlnKVxYBzRQPCn0+ZU2lz4mLzn2t1OtdZup2RNNODAWKKB4D8ubf4L7Et0xiqfAP7AsnRs25eYFhwYWzQQdEIkSKFsAYbcTlk5tu1LTBMOjC8JEHREJEihTAkMq7dTkpo2HBhXMiDojEiQQlTNevHufYa5Y9u+SWrEgXEmBYIOiQQp5K3t7ZTRY9u+ZLTiwFiTA0GnRIIU8tT+dsrgsW1fIppxYLxZgKBjIkEK6Wp3O2X22LYvCe04MOZsQNA5kSCFuMLtlPVj274ELODAuLMCwQWIBCnML8CQ26k0x7bzx5DrFVZwYP7ZgeAiRIIUppfAsH5s2zdjSzgw/lWA4EJEghSGa/c+w8Wxbd9MreHAHFYDgosRCVJ4WtvbKUfHtk9nGFb7O+R914752qpAMFAiQQqPtb+dcnJs+zizx0cWf3LI6FcHggsTSQi72ykfx7ZY1BNlGQemdIYPJapWJLid8nhs27eHrOPAnIoBwcVrQgIYcjvl7dgWa3lcHnBgTkWBYAA1IBEYHo9tsYbH5QUH5lUcCAbhFcnufYbbY1us3XF5woG5qQCCgXhCsr2dcn5sizU7rhw4jq+x9udqgGDiHpDsb6ccH9tirY7LIw7MURUQDMgykqZpvtbyPgNrJeUVB+anDggGZRkJxl9TecaBdVQJBAMjEqSgu7zjQPpqgWBwRIIUdJYDHJOCVQ0EMyASpKCu7vAvUqkbVYYBqQeCORMJUlBVF+fXV7eqRpRpMCaAYO5EghRUVRVIzADB1iASpKCq3CMxBQRbg0iQgqpyjWQZkMLrQySFF+Dp5d0iMQkE60MkSEFVuURiFgi2BpEgBVXlDolpINgaCZHcoT9WdAKukJgHguWMRdKG8PP3u18vQ9N+Rn+suATu2/ZjXA96Xq0OyNJoliJpNzj+vPv1Btf9/fbmC5EgieW1wfHmv/c3P5f3oOuVboAg1rlIujjwehSRIIVl5Q0HUnAFBBOaiqQPB16PIhKkMK884kAC7oBgUmNIhnDg9SgiQQrTyisOzN4lEEzsFJIpOPB6FJEgheHyjAMzdwsEkztCEubgwOtRRIIU+ss7DszaNRBMUJAswYHXo4gEKRxWDTgwY/dAMEkgkaNcfL6kiOQxtVpwYMZVAMFEUxSRhFATDuwZAkEKM6pmJLXhwLYgEKQws54imdmBwafXiAPLRCBIYUHVhKRWHNgWBIIUFlYNSGrGgW1BIEghojwjqR0HtgWBIIXI8oiEOB42BYE85BD9MRuS6JHN74A4HjMjkMcsoh95QEIch9uAQA7ziP7MMhLieLr8BPI0k+ivWERCHP3LTiD9uUR/1RIS4ji93ARyOpvo72hHggkSB1I4XQRyOpsk39GMhDjGl5hAxjOKfoZGJMQxbVkJZFpO0c/ShIQ4pi8ngUzPKvqZGpAQx7xlJJB5eUU/uySSFXFE56SlAwIpsBIlkBDHsoUmkGW5Rb9qTSTEsXy5CGR5dtGvXAMJccQtE4HE5Rf96pxIiCN6eQKBxGcY3UMOJH5xRMc9qwMCmRVXvienREIc6daJQNJlGd1TCiTEEb0MBx0QyEEc5T+JQUIc6dePQNJnGt3jEiTEER17bwcE0htL+S/OQUIcidarpxsC6QlFy5emICGOvKtFIHnzje59CAlxRMc72gGBjEZU/gl9SIhjnXUhkHVyjr5KFwlxRMc5uQMCmRxV+ScCyVnbvvT075CXT3V4BKmADF+F302WAP61rGSdsaPRBAhkNCI+oeYECKTm1efcRxMgkNGI+ISaEyCQmlefcx9NwACQ0TnwCUwgWwIEki1aduwhAQLxsIqcQ7YECCRbtOzYQwIE4mEVOYdsCdQNJFus7NhLAgTiZSU5jywJEEiWWNmplwQIxMtKch5ZEiCQLLGyUy8JEEimlWS3PhL4HwAA//9O44MMAAAABklEQVQDAGCL7+uOGrzfAAAAAElFTkSuQmCC\";var ei=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO8AAADICAYAAAAA2bY3AAAQAElEQVR4AexdbZLbNhYENTnE1marlv7l+Aje1NaONgex5gZzgxnfwDeYyUESTVUq9hG8+8vaqnUqh4gHeQ9DWR9DSADZIAGyVaREgfh4aKCJhyZELQxfRIAIFIkAyVtks9FoImAMycteQAQKRYDkLbThaDYRIHl3fYBHRKAoBEjeopqLxhKBHQIk7w4LHhGBohAgeYtqLhpLBHYIkLw7LHi0Q4BHBSBA8hbQSDSRCLQhQPK2ocIwIlAAAiRvAY1EE4lAGwIkbxsqDCMCOwSyPSJ5s20aGkYETiNA8p7Gh2eJQLYIkLzZNg0NIwKnESB5T+PDs0QgWwRGIG+2WNAwIlAUAiRvUc1FY4nADgGSd4cFj4hAUQiQvEU1F40lAjsESN4dFiMcsUgi0B0Bkrc7dkxJBEZFgOQdFX4WTgS6I0DydseOKYnAqAiQvKPCz8J3CPAoFgGSNxYxxicCmSBA8mbSECnNuP6wrq9/WV/qZ8pymPewCJC8w+I9WGlKVNlvrt//bI21n8yFXeunfP/kwoXQgxnDgpIgQPImgXXcTK9//WmlRJX9tsWS2oVbu3bxWiIwaGwEwsonecNwKiaWjqqmqu4CDK4l3o2LHxCZUfJDgOTNr006W+SIaG3baOvLU0fhFUdgHzx5hy/yNo/WhSKggpRzh0MT7OJtR+B6F8SjEhAgeUtopRAbVZAKidceR0fgEFe7PTVDR0FgHuQdBdrhChUFeQ0o7ZLuMwDFAbMgeQcEO0VRzl025tIgXlWlAlaNyIp5pEeA5E2PcdoSLuwNsAAlLjI/oGnM6hgBkvcYkYK+N24uZtTd1tvaVTOab0P4mSkCJG+mDXPOLLktVMt92niR6VzGev7CpslX8+YOQ4DkhUE5cEY2KcHqZlQfuFIsLgYBkjcGrUziNm4t1l0+rpuIV8dB/J4XAiRvXu0RZg1WpPKVWYtrTvfZh04G4SRvBo0QY4IQStXgtKPu1iBrL5tRfhsyrc/Ca0PyFtSAQlxdCRWzdrlv7WpD8aovhsnSk7zJoE2QcVqRymcwxSsfMiOHk7wjN0Bo8Y37Ooy7fGwUxatjRLL4TvJm0QwBRgwjUvkMoXjlQ2bEcCh5R6zHpIuWue5wIpUPSYpXPmRGCyd5R4M+rGAh7tAilc8wilc+ZEYKJ3lHAj642HFEKp95FK98yIwQTvKOAHpokaOKVD4jKV75kBk8nORNBDkk23FFKl8VKF75kBk4nOQdGPDQ4mSuO75I5TOW4pUPmUHDSd5B4Y4oLO4pkBEZQ6KqeKUXF0hmzKQbAiRvN9ySpgI9k+rQxqq6Nbofhvb5xmde9UEPkJbkBYCIzCKJSPWlWr57vXyru7H2CmZvoHgFK48ZHSBA8h7AkcEXtEhVVffv/rl82Nbs3fc/3MsIfL/93vOzlrk5fzbYE8SuyUnersglSNc8vQK5fnkjo23bSPsWZj7FKxiUsRmRvLGIpYwf9h9D4RZ8qdqIa4TQG6D7TPEqvEWgMUleKJzdM0vgfj7su8vPLFss1JXePAvvFkDxKhA3ZLQFMjPm1Q0BJ1JZu+qW2pOqah91t7Hd6OsZmbdxoj4pXkXBhYhM8iJQ7JsHXqS6deQ8Y1czMusIfCZm0GmKV0Ew4SKRvDgsO+WUSKQKF6TOjNBRlaJ4FQVX38gkb18E+6YfSKTymelGaNziDYpXPqAThJdO3gSQDJfl4CKVv2o/yimKVwJCSRvJO1JrjSFS+arqRl9rw11tX0bbcIpXWySSfpK8SeE9kflIIpXPIrfyyhiKV6acF8k7QluNLlL56kzxyodMluEk7xjNkkak6l0T5z5XFWzds0F7F71rOK0MSN6B2zMjkcpXc9zc15hLN7f3lcTwXgiQvL3gi0vsOvLAK6niLDTodc9GRt+7WBsYPwwBkjcMJ0wstBsp92edq4uxbpfL07pnpHjFp27s0IUdkbwwKE9nlK1I1WK2uyB8qXDus3gbMl2oW4pKFTSLfEneoZoZfe8T+aOCFgzQ655NXs+fbqlxeUEk7wBtJqOOzvuQI8/pn/uh6oS8dWQoXqGaZZsPybtFItGnEFf/rmQFzR7p0p4wzLnPMq8+ESXuFP/rNw6vM7FJ3jMA9T6NdhflPmzj0vY2LTAD5Lpn/dkgxatA4M9FCyTvuWx4vg2BBCKV3sppfbRNW/mIMDf6Itc9U7xCNIvLg+R1MCR6w4tUy0SWnswWve5ZCuPoKyD03Ujevgh60stcVzto7TndJXgYkcpnGVK80tH3lzXyKZk+qycdTvImaF4hropUt9CsBxKpfDY791nm277z0eEUr6IhO05A8h4jcvZ7QITyRSpfJXELN4ypG03AVxbDzyBA8p4BKPa0W79sDNQllFFvUJHKeF5ix8ZYi7NFNAHnpXjKY/BpBEje0/jEn0W7g0iyxNfmeQrwumcpQLUB+eAWiwDJG4vYifgyimhHrE9EiT310Ci9semSxXejL3L+be2q8VaS2TzVjEleUMsKcScnUvmgcYtEnHjlixEZjvZWIosvNTrJi2q56YpUPoQoXvmQGSic5AUA3bh9kxSpfPA499lixStfWQxvR4DkbcclLhT9I3skKeJqEhcbLF7J1OMuzoB5xyZ5e7Z/c68SOepmJ1L5IHKjL1a8KviZVz6U0oWTvH2xxT8JEjmX7Fu7s+mdeGUM7JE5Bu3FmOm+SN4ebXv9/ud1j+TPk4qC25Dh+bmcQ5Drno25bLyZnGuchW0kb8dmSCFSiSlFjbpir9uc+4z80X5V6f1ylzff/AiQvH5sTp9Bu3ciUjkSnC41+uzf7j5eHu/RmYQlQP9on+LVGdzzJe8Zw8c83bh1SJFqg15J9e3dx9W39//5ZKtqfbxL+FrP/+XuY43C0V14rMV5DtZSvDrTOCTvGYBaT+NFKtxifzFYyWmebPSR81LPX1TVJx2VJQlkay5AFK8gaJ7PhOQ9j9FBDPi9SLBI5YhrzKUJfFkZmZEjsFwUkBcijr4n2pHkPQHO8SknUlm7Og7v+R3mav71x/+q0BNM3K3dMgKvUQR27rNckLZ59/7kumcvhCSvF5qWE2iRShRa19lbijoICvii7m9lbdend9QXEaN1gDmwC5KUpU+cpHglQBxvJO8xIp7vSUSq10tYJxf3t18Hr6o3nqpHB7sLkrU495niVWsbkLytsLQEou89Av+upHGX6xarY4IuUa6zKxS87pkrrxyqB28k7wEc7V8akaovOfYzhz0JUgnXw13etwl67EZf5LpnYyheHbUQyXsEyPHXJCIVcDmhiE393OW9Cv9+9Wqz97X3oVvqiRavels1nQxI3nNtmblIJeZHq8uSpm2DEnevANi8XvJU8UoVdTnkRvKe6AOTF6kO6l6hFlcc5OrcZ6x4tZJpTH1QyEy/kLynGn76ItXX2lf2Udcmf/0OPXgSr1AjuxKXo680EMkrILRtcnXXDqIdpe10l7CcRarN/69eJRl5FSg3+gLVdWPtymkRmvmM98WM6+6tuhC3lg7SdcFDe75A5RUpUqmxlQXek9UMW3YnXhmDu0Bw5ZXhyGtaXvgnQd42nbelsLggXUklKVAilWRlHlKOulrA1x2oskuesxevSF7pBftb444hybERtxGmuNqnXwvtm9zr+MsAo+7WQMFhY6oK59FYcZ8/rJFTm62pRXySvMfNhHbHgHM90EqqrzWWC8Et+t7u18z9ByqMbfyno84ocVWbiEo0lcgk715LylxXO4J2iL3QXodZi1S/vXkJ8whCUXKjr7W4cnX0/WWN9JRCqzJ6PJK3aQIhbuYi1UIvLI21/T8scuVTpDngH+0bg/aWIuszVnSSd4s8XqS6x4pUdrU1FfC5GWPUPbAbLV79+hMSnwNTc/1C8krLJBCpjLiHsJ/EySgJW78s1TUiUi31c8xd8NmIeHUPs6Gqbpz3BMsw/4xIXm0j9Ppla2HEHUukUlgG2HFzX2NUq4BOLUzmr9mTV67W2uBIwQP2dyUJfu43vru8Rwg3+gIvdMbKraMZiVezJ680OO6+o3ZM4EqqxWLxRrNE7XZEkcpbh6d1z1x55QXIf2LW5M3570qmPupuu6QbfYEXPMm3bn4NJofT3mZL3txFqouqWiO73hDrl7va26jyuNFXxKuutrSlyzVstuSVe4M618W1i7VZi1SDrV/uiij61tGHNVSh71qtlOlmSd7GraJIlbJnRebt3GfsuufJP/NqluSV+4vYqzJwzjYLkcpPbOy6Z/QtQL/do5yZHXnl1hCWuKLgNnO23g04F5HKB5Qbfa1F3vud9H/9jkFeX9slD3cilYUuM1SbYZ1NRCrohSVnkUqBa9vh654nLF7NirwpRCo3WrT1wsiwZiUVcB5e3WcvUvkwonjlQ+YgfDbknZtI9Xn1EqZ+7/cYmXa4J1jI541i6ryZ/QiAY3dBlOkIIKunLCb6dymzIS9Fqqd+3PXdkfX9z5+Mtbrfyuetw/TCrq8lXIncNW9POth0RPKv4V6XZDr2NgvySseDziWl06J+7mdyF6kEu1rIuXZkfVr839Zna8HkTuLC7p270ddapPdwmcJLaANjqLDJk9c1mLXo33rCRoWcRSohYy2k/SSdMWwubu2tI7okgGxc93wSxsmTF+4uVdWtGxVOwhp28tu7j3pRCSNGWJbYJ0F2e0AB7PaMwxl4D10grOWChPXCJNOxtkmTt5mHIcmxkQ4FGXXVXVZXE9nwn1ffwX5k34yg3bAD3p5x99DR4tVEnjg5afIKOWBzMEcy4JMgE6ykunU2At7cVMOYbsQ17lU3ebgvgW+nokEumE0BtXxi+4VkOMY2WfKKe6QNpA2FwnU+T4JEPNBt8QjDXrydjcy9ceKVaCDgiwuqj0XlM0nyCnFVaIGNRA5R4MKBzEWqO6kvjHiSF2ajePUMx0mSV67S2gGfVbZzAFCkyvnvSpqLnoponaFKldCNvmjxqvAnTk6OvI071Ge+dtz/YCKVZmxz/ruSbuqyVuv5/rjYPA/sF+LEK2MeDOolwpq7YKHyw+UTlNMiKFZJkRDztf36AkWqZv0yzCWVCwHs70rQynxDtH0kMcfA6YsYpG2h2ogclrdNirxyFdWG0AZBtcR8RCoZhVCgicp/D8vrKCPnPss05ii4+9eC1z1PhrxCXIpUHbuwYIe96P1h9Ef1Ha0JSqb5o9zyGr6QJ6gK/SNNhrwUqbp1BiEu+qIH81Z8NXKjr7XIe7+wVWE+m1OET4K850WqaOgoUkVD1iTAKsJNps8/+KN9YyZBXnF7sLeG5iJSPf27AE6ZryrYr62e07UlBCxeiReC7UctJiODiievAI6dr8mtCJRSquuXK2uRi0Wwf1eCVubTz3UP+r5zn+WCcRDY50th4lXR5BXioudrxgDdPvT6ZZnXw+Z5gh32oickQl30IvkHw0TKLUq8Kpq80pmxbg6wAyYYdR8+X70C3IIxRoiLv+gNPOoK0dwGH32NuWw0I2r0sgAABSFJREFUFJd/zm/FkrcBGDdfk1aSjgBb/H4B/ruSL9bCbINf9IBTDWmGLhty9DWioahX0sWOQdMUS144wF+qJQr5rFdSoUUqBa2qUPdcNbfoXS66Wj5u2aQx+qP9OtqQgRMUSV70Uj7BHHZvMoG7nLdIJeDJSD5qR3fTAGOQXlhtjHkje9ZbkeQ14MX9OYtUVubhqB4knVzdQe2YqCy3+Vxe6xMkP6zvpIw7vbgOsn9Y30h5N3Lx0OdsmfjXiRTWrk6czeJUceSVxpqTSIUddbG3rY47cC0kWrldL65D7Fof3Y8twXxPcZHDWNbkUhR5nUgFviLKfAkmBIlIBb2wiEgFm4fDL3pNB5ryh2CWNYGLIi9cpLIWRlyd60pHhs27bFXhfu6nD1yz+buBgl9e2x+G5DWAl86hJBsYOSSvh2Z9rBz238CjLtpdhnoE/dFiDggEsCMvwiJfHlX1xneqUzhwJVWCUReyGENxaVw/5EVPs+WeAQLlkNcYXAcUBRe5lA+8DBI76j4+4nAzM3t9Y/T+scn1VQR5G5cZhiFSpNJRF/njA8kLNg93gC0W/3KffItGQPoJyRuN2nGCxeLvx0Gdv1uLJUdnQ54ntCJSwf9T11Koeo50UAhyxVZQgbGRihh5pVK17IgNKlKpQd8Y026biX5h3WUp3t1ak09uHRCwVh+10yHhcElKIS/GfQGKVOgmsjIPR+dpMp+zwesLzBB5JwJo1kFWZZD38fF/B1Z3+SLkQIpUWxNAbi581FX7cp+zqY1Z7jJ9ydKuI6MKIe+i98grHTnlXLeXfciVVEftq1+zn7upkRntD9JXsD8xTFS5RaJ8odm6EVNGzs6ZAn/u12ZDH5dX0sJWUrXZZrDPeWot4mxgOREe3v3j37AlqamrXQR5GxC6XQ3FBXLkbzJJ8fHbm5dqW4cRrrpv0qYwy+Upo8hGCIx8jpbLd4JvRRFX8S+GvE0nfCFGb2QP26y9knRKrLD4PWKJ66tueTCBdcT9vHqpaXqUGpz0RxLYi9XGiGdW0oi7rUkx5FWDhYgb6YRL2c+NJE8N8v0PsGWGWv6p/ferV5vPq++WSkqJt5Hdt20qa5epR9z9whU32d8auZhJePAFRuJOedtoPxLSvkjtmaUCsSjyKgjSCTeyvxXgX7jOqHPh3X4rjVHJPlqDKCmFxC+UoMZUevFQsshe3WuYngMp1Cb2pbc/BBu9+O2wM0Zsc/vGGDPl/UH6zL3suz7yevnWDP0Cllccebd1FwJvXGd8vVTXeLtn0xhKUHWLhazLp/3llYZt7R/z8wA7EWiU0LK/mPi+lHprP8mmj/TtA8WSt2/FmZ4IlI4AyVt6C9L+2SJA8s626Vnx0hEonrylNwDtJwJdESB5uyLHdERgZARI3pEbgMUTga4IkLxdkWM6IjAyAiTvyA2ALJ55zQsBknde7c3aTggBkndCjcmqzAsBknde7c3aTggBkndCjcmq7BCYwxHJO4dWZh0niQDJO8lmZaXmgADJO4dWZh0niQDJO8lmZaXmgEAoeeeABetIBIpCgOQtqrloLBHYIUDy7rDgEREoCgGSt6jmorFEYIcAybvDIvSI8YhAFgiQvFk0A40gAvEIkLzxmDEFEcgCAZI3i2agEUQgHgGSNx4zptghwKMRESB5RwSfRROBPgiQvH3QY1oiMCICJO+I4LNoItAHAZK3D3pMSwR2CAx+RPIODjkLJAIYBEheDI7MhQgMjgDJOzjkLJAIYBD4EwAA///Fol1bAAAABklEQVQDADi0p/r9hNzAAAAAAElFTkSuQmCC\";var ti=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAABOFBMVEVHcEy97COy3y1yoi603zhfjlp3pTJ4p0mpz27a6tcuY6Gz4S9pmS297CQgV50dVJ4nXKGWuuqdzCey4SOevuudwfSLuiVqmNdThMeSwiX///+exPdfjyuZwPSLuyRomCqOtuy04x0lXKZjkyqw4B6OviRxnNaVu+6BsSWVxCKr2h+byiGYxyJSgsKezSGo1x+SwSN5qSdKe71tnSm76hxxoSl1pSh9rSYbU6B+SBgtY6yj0iG+7hyHtySBquGg0CCGruSEtCV8pt13odpqltFZiMdlkc43bLVfjcqKsee56By35h2l1SCt3R5Ddbk+cLU0aK95quuRvPSEsu9roOWycCVdld9NidjBeyk4ec/RiC74+/Hq8efh7cXL2rJ2OwHO3u7Bl2+ty3+tzNbRtZzJ6HSWumCTaUlth7IzAAAAGnRSTlMA3GegQkJuEicObYnMry3To3G00EOj1K3c6e9b4CAAABpASURBVHic7V0JQxrJEsYTEI3GJCa7iqCgEHVRHwi7ind2s3hsEjVegBqJ7v//B6/Pme6ePqZhEHX9BpjTnq5vqquranrGUOgFL3jBC17wghe0HeFOV6DDiHZ1d7oKHUW4q1zu7XQlOomhcqHcFel0LTqHoQJA+U200/XoFGIFjKFOV6RD6N6j+G8awu79vX2Mva7/oiHsndp38abTtXl49E5B7E8RxDpdn4dG5M0Ui3RzfWG496m2nXBXWoBtTxDt7R4CXtRT7UBiovzptM21DAPhC2WIJ2s8ut8cCnjjNyyKdg/tQ/8JuRBdba1lW9F9MAdxOEfhzxnojU0V9goUe0+YgFDvmzkOflSgd2h/j8NTJiAUGl3kYFSB3jf7AqaeNgGh2AELg0ELDwG/ATsOeAZ+n7wHFVs7WENAM60KdKenJHiq3aCDGBR8cxP+rK1pLmdkKD3l7TrT6dGHq2qbMLqJkIPfnNIX6J0DHWUa95dpt+tMHz59Fzo8lnOhup6xOdFroHgGgXRkYd6FvCeMzalw8FRjARa9CwDz8wtwkl5Qobdk8eZZ5BNHFxyMSXbzfSWHzafeC2KEf/lIseS9orE1DZ6+DUToX3LgaQO9uU011N3GE8PYDMLSzIzYBiI5HeY7Uts2oHdyhoLvB8Kj8zo8fTeIomeSglfq7gUtnksLAJq+TjDZw24Of9RhYewZ3VoepQxwWh2DdhF2Dksfl/AXb1jCa8/ADXQQyW4jZEvMVe2bEbGEf/Hsl2ekAEAFsgDb4NPnbuvxEMDhOSkAuNrZbAlykO13NkWQVVyfVOA5WQCIsRKGawX717Xo1xT2FNG/vFwCU9GxguGxbTXW13t0hT1FRIrLCIPOhqwWz6wBAPQUi5CDorNeQmahVMqiicyyWbzy3BoAQF8Rg17awZIGz1D+UDgPpF8prpCIOEyahAylQX1RTxQ9KwjEEehDohbJx53AWvHZGUCMvpV8Pu8Q0F9UYXnw+RlAhHAegRBA9AEAtgs8x3im1x+ghyVgcEWB5yt/qD+RSOQTlIC8HM/R/lNEEpABQoBc/MFnkQdXITwIGcAEhKEyeND/TM0fRU8ikUo5BHjQ86wvP0R/CgBfZC8Bg32Gv34GeAXknyAEpHj8F8QHgATgJY6Aif+I+KDvm5igbv5ECk5A+InB5276GPRMTFA/B3ABMdj/7C0fi76JCeroAC4Ge/r+O9eeoM919IzNPhyO9PX1I/T2RcKPmqswqGgPRH9A1xQU2DM4VlwulWCOCGYJx8ZG+x/jrbJwpL9nbBsmsgBQML8y2CINoMTBlSLOFGACsjBLur4+OTMzFut9TJoQhcKvb8MbHkT+ZRjQg5BucLBJEsL9IEqCETLOIDoqAOVH95iXxmKPxGxGusdAjSbX1+EdL5jJJPKTuB5GNj2WJj7Sj2JEnB2QEoDvJY52vi2Ee0d/AdLDOzuEANoCkAKsoNAOObi+LX20rycFIiTCgEoDIAELC/Njnb1vFon9gu5fIvl5ApYFAkD0AzgwPzoZ7R9MJYj8eZUGTDoE5OY7qAWRUXQne4bTgKxrA3gCIAWpCQMH4X7gFOKjgfj5FWwENATM5zZzo52xBZHRBTTeyyVgXWwCgIL8iqsBCeLwqosEThERP8FqQFFHQC63Od+BdhBBg/4QAUscATINyDsagCiYkPr8oOlP4CMoASsmAj4SAjbXHloJojE47hUxICOAsYJIA4gKYAYmUjLHHzT9CSR/IuUqAFSBoktACXlCggbMIwIONh/UEnQv5HKIANoEZqQaQFUA57xSVANSJPhxrEG0rx9FRClGAYgOuFYQ3TNUErB2cPBwYykjozkiv9MEZiQawHQDCbYJYPkRB8A/AJ7z4CDdQORPuSrANQE9AYujD+QadufgiH+WAZMGYApSCV4FPEjxKsAaAacbYAlY+riArSAhYO7NQzSDyOjmmksApwGTKg1I5OUa4GEg5TECUg3gPCFkBREBi3Pmx7FaRm8OPfniaQOMJ5RVuIKsFZSSkGI7AVcDDK4gS8DcXLsNQezggCMAy7/kaoC8H8Spfyfxp9QBrwrgO4ZyAj5SAjZdAg5H2/qajtiiS0CO7QaJBqzjYMisAWYbkKeuILEBJY0nxBJw2MYXlUTeLC4KGuAxgoIGOK5gnjECE0oVEI2gNBjwdgMcAYdte0sFlB8QcCBogOMIyAjgoyF/vUBCcAWLgiuoJmAREdAuBuATwA4BmxwBS55oSHQFOUdAZQRdCrD8ibw0GOAJwG0AEnCACUinDw/bwUAEPgNOCFgzEoA1AGVEsAb46QhTnC/MNoFlMwFrjgak01NzwTMQWZubYzQgl1P7wkgBSm4TcHzBlCu/igK2G7DTAI6AqamgGYgsHh5C+WUEeKygKRw0aABnBX1qgGMFKQHpYF2iKHwNxBxhwLUBoivIEFDi+0FqA/T94IQoPqcBy4IruCRzBCgBweoAkv+QtgHREzIEA3lGBQyekOMICJ6QzBEwEbAfJAMxaFkZDUAEzCsdAUYDipwGpAy+MKFAtIIKX3hJ4QkRAvaDe3kdfBMMQ8CByRNS5YX9a4A0HCypNSDHa0AaEbDfFZBP2Iu6VrcJUCMwzxkB6gv7jIa0NkASDnqSYp5oyOkGHAL2gnnpQrRryiFA1IB5qSMg0wDOBqgYEGwAEwws6wnYJATMuUYAElAIJDYcmkpLCNiUxMOytGiRswEGX1jIiWnzwjN8TmgNp0R4Avb2AjCE3bBT9doAH02A6wYYV3BC4wh4o6E8pwElVWJ8U6oBhdYNYRTLn5bYgJwxK1h0bg4K0ZCyG/D0goIGSAlgkmKuFcQaUGj5sfuhKVYDNEbQ5Aj46Qa8NoDLCcnTogsSArAGAAYKhRY9wu4pkYBF7Ac4GrCgIKAkSYxTBtQpISYadFWguKIjYF70hNKMDSgU9ltrBF37pAlIPCEtASZHQEZBSswJeTQg6/GF5QS4TaDQ2nv4Yvv7rg2QBwMeAnSOQMrKERBdQTEvrI6GHBWA72FroSeIdOFXWSk1QH1nQKcB8uvv6QbcrKAiGpqRETDnGkFMQCtvM47t+yLAGw5mFUMETIlxhQZIs4LKvLCgAeXm7WAkvb/PtgExJWIKBhRDBPyGg44NKIp5YUNalNEAaATKTccEMSK/1BPSNQFpXph1BJQ5Iewmia6gGA6a8sJcN1Aul5tUgSh+H7C3CUjywktcXlimAawKKI1ASuIMm0fJOGlRLinmEFAoN/kuwu49SoDCE5K5gtsSR8AbDJiygsL9YQUBS2I4KHUEoAo01RFEu/b2NDZA5wtrNMCJBzUqkJBpgHqUzAIJBmQagN5H2uQ7eXv3HAK4eNDOF3ZsAM0LJ4j0qeL97dVVvYZQv7m6ur2/z6eIFghDBPiEQFZJwIGsCUANaModHFIQsCgQoPKFhZyYowFAwpXbq3r1VwQyI6jWAQ+JCTJSinUFl1U5IdYREDVgn9iAcrmJxEB0b0/eBEQCVIlxaV44NZG4v6rxUosALNyvIEMoGgFVUiwnT4tSRwCgCTPYvefRAMYGmDwh/uYYVYGJieWrmlZ4h4Sr2yKgQBoMwCYwacgLpwUCyvZtYKjAE5BmbMABmxdW3BnwDhRLJe7rvqQnqN3e05tD2rywJxriCUBNwL4NRLoKRAUkvvCBkBjXEUBUAGi/nfi4MdyupBKqflA1SESqAdaJke6CSgMkWUHPcFkmGMAEJBL3/nTfA8BB3mqUjDccREbAtg0McQRMSaIhGQGSnBgiILFy1Zz4ELWr5bxqlIwnMS76wlQDrN3hgk4DRAI+MsOEuH4Qh4P5xK3e7usB/hZ0CytmX1hFAKLA0hfqdQngUyKUgDVBA5R5YSB/sYXLT0mo3xaLegKYrKDXF7buCGM8AVwTWBS6QcV4YUpAvtnWLwBSoAoHc0oCCk4bsIuJhzABXldwUUiKGW+N5G8DER+idgvcK2kwMM/7wk5WcJ8hwCoginYVOCOgzgqa8sKJ1tWfo2B5mdWAGTJkXuoLt2IFI4WC2Qr6ujUSqPyIglKJbwIfxWDAmxUsW1vBbt8EqFxB7Ajkg5YfmsP7UlZGwJqaAPtuICYh4FBFgDorGPj1x7i6z25rBokoNKDLZjD9EPrXLuqEgDktCjWgTfLDUGl920yA4AhY5QS6ykQFFFlB/TAhogHF4Oy/B7VbxIB6lIyQFrXsBqL75XITBMxwwUDxvn3yA9SX1n0TULAlIFJQEEDbgMQXRgSsM2nRbZX/E4xfBNvBpGrEuCwYsOkHewtsE+B7Ac2tEVYDSsvK4PcyKNNQu530RQBhwCIl0F2mGuBNCIhpUTkB2WW1Abi8/NlKbMSgejUzw7uCIgH7jA2wICDGEaC5M6DMC5fu1TJeAgSlBNXbGW1WkLUBFo5ArFwQbIA7UIzLCsoGiiECiprsDyQgMCX49UqRFGN84bK1Kzik1wDVeGGXgJKuB7zEsE6QKVC9/WhMixYss2JDjgYIVlBPANMEdNL9IAz8DIqBK9QGvASIrmCrGqC8QewhQKsAVAMuL39YdYg3440bxa7a2oI5MW5BQPSNVAN0wYBAgFayHw4DNkpQ3fp99fPFzo3cdtx5hggwvYB1TggQUEYU8GlRfwRMrm9n9T7gJYOf/pWg/vnz59XV6YsNqR7UNzWJcWsCusq4DfhPi3JZway+k2M04PLcokOcBRqwevEZcJCR0Fa9y20GSgDTBDxZQR0B8PFR/WW95HDuu0NsTEMCVi8uVldBU5AyoA0H7QgQ42HBE9I+QGyIgn6csxrgXwmqXz5j+S8AEatnDQ9x9cVNeTTULg3wjJLBGpA1hMGAADSdY/HPfSvB7OcLOOGf1c9ncfHPqnebirxwwZaAgmgD/BIAVEDrBGACLqnwhAt/XlEDCQ+VAM7gQlJsbHcuAWkxIWBBwFXZ6QYEAph4eE06Tgq2AcP1/HEO5T4/dxUBwI8S3BDBCQWIjh2BgjpuA2mqAs3dGvlUV7mCh0I87E2MT65r4iBCABH//Nyl4tyHV1T97cKDz6I9rKUXRVewbHuDOPphtnqnywurnp9FGrBtyoT9OKe45GZmr2jWSwDELk/BHfvo2J7bDVgEQx8utn6t+yXAkxU0GXWXAAE/TM2gIifgQnCO7hb5hyYKtuFw9P3FRQaY1D3J/VEVAYwGmAyakoDzcwN3NyoCLi5mWQrqUkfAQgMAARcNyICCAEk05OaEzAR8p/J+5+bfz79/19tCQMCZO8EP+sI1XgtqU5KsoEVG6D0sFJRXlybFNMEAGi5rsmaAAGaCP/QXznX0Vc+I3Ojj0HCBqeDM4d2hJy9sR8DF2Z916FmowkHNrRFTS/7x/TsRnOGAzrRKUP3rTAWsDRsO+dU7z50Bi6zwACrzT1ha3SotilxBHwQgafGX/tLZ9+9qr6g6qySA0rDlUFBPCxpgQcBbXNynGqJyyicBxBeeMciPNMDBOT/HM6US7BgIgKhQCupCN2BxY+Tt2ekZ/OygitS90dBiYATIofKKNqCEp/h7enbmLJw6EwSNEWr7XFrU5s7Q2ekpKO30b8RAFSiBbsC08MxAEASolKBCKga/cEYXmM3w92wcEwi112kCexY3R6O4IFAUHt4FCqKPzhnfIxEMAX98l+pA8tSIM/zToAw4TcBqpOAHpzgywA0YVV1WkPWEJo0E/GHEtcIprJgJcHjA2UPIAPaErMYHvCfFnJyeUgbqHhsgJ8BHL3BtEv8PVVhQobVCX36RrJ/gHzD7htyCO6oBViNE3p2eYICC6CDH+t3hoegLS0aL+nCEDARc/6vsByunpFYnpyfuEq3sCVmhP6cVSEGdaIAVAa+Zk5xe0Ut6l1ZpAJcXNrrCegJU6g9Q3WDrdcJIDpZm2XW6FaZP61gDrMaLv+WKcUKU2t2cjoAln7GAjgC1+kMCvp1Y4vQEdAh1+2fnwrsn4FzodPDHDdLq6UUjAcZwWEPA9b+6BlTD9QGfHfi7Q5bwAt1O6oxmcDppVKuwG7R7cmwX/Cn8oB+GAeATLC4agoHmCbjWqD8m4But1wnz+YYkddfA7w7dCrdt3UAG7MbLv/vG4aTh1qJ+aHh60pgRUhFw/a8pH3BC6rPzTQ2y74TZdFK5KZet5A+9Fotlqla9OzjwEuDGw0umnKCCAL36Q4xr5DagYfnIyNtv37bwXx6jDyiBqUjtbg0bAdkwIWM/KCfg+tqcE8x8g9XacupEAbds4V1wB/o9pgKQYy0fGop+Oxbwjb0TU60vbrqJcTEpZlBkhQaY7w/VxDoxtTOsHx/bPj275T0Hdy+qere5qXh+1pQWlhFw7WeswI2aACMqts8MvRNLSAIGuErW71QPEBtuDPz0EKDt/F00WiBgy/YdAq+PkzyOj46PhdvS9bV5+SARvSvk0YDrP1RDPzhUk2KdLPDOUv5QJHmUPDo6PnK+cD1Z4UWrQgqs7wyIGmDo/B3Ut5JJWBP2I1vyroM/syYgWjlCgEUlyRwuCrLV7uYXvGlR/f1xngA/1h+jkXRqRHEsLiW9e9Cm5GtbAkLvmNLYosTb8rW7hQXxDnlWZ9GqHAGa0E9ALSOpjW+8tSbgraqohihd/fbjR/6fjejHyLAE+FV/gCs7iQVYyx+KHsXjcfiFP/gDvnAh47lmmAKXgG1tP+AScO2j86eoZo5oXejErsWdRWavOyXtCQi9i6uQufIMzQAULLFvEtHptUOA2fdlcHOkrE88Tq+VEtY2UEtAPO5pBlALZmacEePaUTKEAFPox6Pa0FRnnHzZJX6vvQ0ERgD9LZjgh87IcrwhucT126VJOl5YN1QSE2AM/XhcHeEqkLrQqtCNdIdzDKkw3W1vAwGS7nl48cFX0gx+hc95z8Cnudb1KoAIsFJ/aAEcwamkcaY+4+McOXHuUIBkU++SesdRPS4sS5UAtYRt9I8W1FYAEOC/8ydo8MJ6KuPdyPHRjAmAbWBch3hDpgRQDe7Xs7oB8z+vLdUf0JrRVsWIplpAKKQnQKkE6BUo9yWlCvz0Ffpx5TVak3+8ybepvTOVq1ICWOeaUsif1g8KtCp/cy0AtAFz0UolCBI3JlU0oZlOEMFPy8v4fDNQ86i3Kv940+9VNbYBCE07CAQtG4DxZLPyhyJ+uEduUfsoaF3+5luATxVAblHb2kGj5QYQb+HNwq+pm+k4xcyMTNQzbAsF1ZujceF8ykl2HPw02wdARGk4geRkQ4/xOBuAwIV2mAIxBBrnIx0ictytC6mNe3GaDIQcvONOypRKNtN18DlKNoLWghonyrh74vH4OFsvpzLeaHA8nmlFfhQS+sbRUbANoWZzciVaaQGgDeiyAjIESMFNBpbnOQHz66tCTcYBjgpk4hnwcSe67v3g6SjTMLwx0h9q46hM4ZTemrgr3I9zVGsKAIBOksmws7g7dz7sxowkYWR9+ePkhEzxzNfZxyxxlaEMtaoAoCfMMIhndHD3JjM3LXFQG09qz8QJra1VpVX5Q9GKuSpeJJMZ5aPORlQbGR/y+0NLfSBRgSSSJ4M+sGL0myHbMu7OZDJJ5mixoXjUWX/1G8kkLQ6f0Tmhc66Mu8s9hq8J/ivre6ISDYgmsTi+IB4Yt7WIQPmDRAAKAJyhVmpwfJwc920PajeZSiUo2SEqgfyzrchWElSr4v6wH88kWalUMoAEgyZUazfxChLfUwqZ2BN6F6R/EYgCABWocEiSrxW2IAkqFqo3N+OZrS1zKXanTW4E9N/WonzVtsjXCluVra2NjQ3IQ+MGMIEBlhrjmQrc4Ud+y9NuBaQAQAW2ggQUFw/pQitbG4GWzp4osH/BHAV1RNXk67ohmW2wB8lE22CP2pAfI/mTDcnqBrPBUw4gNjAFAL7AxhPEbnDyh6K7Gxs7G+jLfjboL7eJru7IamWBHbd4/uTuCekRO/wXb2s5CmDxeufJ4X2Q8odCs7Jz7DK//DYzduGR/g72HrUr3cWvBPYvVzHe7iqxo96lwU7zf6o6N7cSoAXEeN9qXR8Ws4F1gRTRWQ92vau79BMkdp1zKU4hWQ/UAmK8Dlaq9iJgC4gQfT/7CUyzzK+z9omuyycFlDvYIz7RM3gL5TYz1Zj99ClgC4jx9tNTwV+BW0CM93+1qb7cUgAnaUcDgIh++Otx4hO/+HdbGgDE2787JqMF/m5TA4B4//cTQLsaAMKHTktnxp+Bu0As3v752PFbG1wgFq9/67SEevzW1gYA8eG3R40P7ZY/FHnUDHxoWw/ooq/TQuow0H75Q6GB/z1atN0AQERDHzotpwrtNwAY4dYY+CcgcT3lfrB5UU5L6PvnUaLvoeQHZoCc8otQhS/SRWt8ERa+OKtfpAXjTQ9iAB0Gvpjwj/GIgPGg8gN/6KHlM2HkYeUPhUc+B4kvLR74ZeTBDKDDADjtV7cGX7kZXfiq2sge/hV+vjJrwoK7Kj8Q4cHlBwx8fTT4Mvzq4eUPhV51Wm4XHZEfuAOrq6tf8fcrmugP96Xb+N3OTvKn3jLEI9hjv/J/2CH5QWe4+ijwwB0gz8C0U41p8mU28RumV8WVafcod+c0f5BmE1no2PVHDEyvThOsMl92G92wyq6xO9AeZ/Oq8Bd8savsZrzWweuPGZgWxBLE4ERlFoZHRgYgRkaGhZ2rbhHaEvC3o9efYcAGq19HBrh++9WAy4IlOi5/Ewz8MyCpdfjVQDMcPAL5IQO/85PzmXZndOVrDwhaFW7bK6AH4p9Py9bo1Bn/x4sBptJ8PXk+gPgD+pg9PDDMcyeUyH8ei/zAI3JrRYAq7Kzj5ekRPxmLVyP0z0gJbCG/s8U+dPynw6thR3SGBW5teMTn9QoDCvygw90fjzDLgAzDAzbh2qsBQ3G/P5rm70DHgO+Lz5Y3MKwj4TGpP4Xqqo1YXXwGYegeyIt8bJefoH+Yb/+/Dzdz7XlAFkaGXW0ARTZL6EMAXrNhp6KvArtQ4VcOgiryBS94wQte8IIXhP4P4nVznqPTxGMAAAAASUVORK5CYII=\";var{TabPane:Mn}=s.Tabs;function si(e,t=!0){let n=(0,r.useRef)(0);(0,r.useEffect)(()=>{if(!t)return;let o=document.querySelector(e);if(!o)return;let a=!1,i=!1,l=0,u=0,c=0,f=0,m=0,d=w=>{o.scrollLeft=w,n.current=o.scrollLeft},g=(w=n.current)=>{window.cancelAnimationFrame(c),window.cancelAnimationFrame(f),window.clearTimeout(m),c=window.requestAnimationFrame(()=>{d(w),f=window.requestAnimationFrame(()=>{d(w),m=window.setTimeout(()=>{d(w)},80)})})},p=()=>{a&&(a=!1,o.classList.remove(\"is-dragging\"),window.setTimeout(()=>{i=!1},0))},v=w=>{w.pointerType===\"mouse\"&&w.button!==0||o.scrollWidth<=o.clientWidth||(a=!0,i=!1,l=w.clientX,u=o.scrollLeft,o.classList.add(\"is-dragging\"))},y=w=>{if(!a)return;let F=w.clientX-l;Math.abs(F)<4||(i=!0,o.scrollLeft=u-F,n.current=o.scrollLeft,w.preventDefault())},k=w=>{let F=o.scrollLeft;if(i){w.preventDefault(),w.stopPropagation();return}g(F)},E=()=>{n.current=o.scrollLeft};return g(),o.addEventListener(\"pointerdown\",v),o.addEventListener(\"click\",k,!0),o.addEventListener(\"scroll\",E),window.addEventListener(\"pointermove\",y,{passive:!1}),window.addEventListener(\"pointerup\",p),window.addEventListener(\"pointercancel\",p),()=>{window.cancelAnimationFrame(c),window.cancelAnimationFrame(f),window.clearTimeout(m),o.removeEventListener(\"pointerdown\",v),o.removeEventListener(\"click\",k,!0),o.removeEventListener(\"scroll\",E),window.removeEventListener(\"pointermove\",y),window.removeEventListener(\"pointerup\",p),window.removeEventListener(\"pointercancel\",p),o.classList.remove(\"is-dragging\")}},[e,t])}function Zl(){let[e,t]=(0,r.useState)(\"quark\");si(\".account-tabs__nav-scroll\");let n=[{key:\"quark\",label:\"\\u5938\\u514B\",content:r.default.createElement(st,{qrcodeUrl:\"/quark/qrcode\",cacheUrl:\"/quark/cookie\",checkStatusUrl:\"/quark/check-status\"})},{key:\"uc-cookie\",label:\"UC\",content:r.default.createElement(st,{qrcodeUrl:\"/uc/qrcode\",cacheUrl:\"/uc/cookie\",checkStatusUrl:\"/uc/check-status\"})},{key:\"uc-token\",label:\"UT\",content:r.default.createElement(st,{qrcodeUrl:\"/uc-tv/qrcode\",cacheUrl:\"/uc-tv/token\",checkStatusUrl:\"/uc-tv/check-status\"})},{key:\"115\",label:\"115\",content:r.default.createElement(st,{qrcodeUrl:\"/115/qrcode\",cacheUrl:\"/115/cookie\",checkStatusUrl:\"/115/check-status\"})},{key:\"baidu\",label:\"\\u767E\\u5EA6\",content:r.default.createElement(st,{qrcodeUrl:\"/baidu/qrcode\",cacheUrl:\"/baidu/cookie\",checkStatusUrl:\"/baidu/check-status\"})},{key:\"ali\",label:\"\\u963F\\u91CC\",content:r.default.createElement(st,{qrcodeUrl:\"/ali/qrcode\",cacheUrl:\"/ali/token\",checkStatusUrl:\"/ali/check-status\"})},{key:\"guangyapan\",label:\"\\u5149\\u9E2D\",content:r.default.createElement(ld,null)},{key:\"xunlei\",label:\"\\u8FC5\\u96F7\",content:r.default.createElement(id,null)},{key:\"yidong\",label:\"\\u79FB\\u52A8\",content:r.default.createElement(sd,null)},{key:\"tianyi\",label:\"\\u5929\\u7FFC\",content:r.default.createElement(ni,{api:\"/tianyi/account\"})},{key:\"123\",label:\"123\",content:r.default.createElement(ni,{api:\"/pan123/account\"},r.default.createElement(s.Form.Item,{label:\"\\u514D\\u767B\\u5F55\",name:\"useDirectDownload\",valuePropName:\"checked\"},r.default.createElement(s.Switch,null)))}],o=n.find(a=>a.key===e)||n[0];return r.default.createElement(\"div\",{className:\"account-tabs\"},r.default.createElement(\"div\",{className:\"account-tabs__nav-scroll\",role:\"tablist\",\"aria-label\":\"\\u7F51\\u76D8\\u767B\\u5F55\\u65B9\\u5F0F\"},r.default.createElement(\"div\",{className:\"account-tabs__nav-list\"},n.map(a=>{let i=a.key===o.key;return r.default.createElement(\"button\",{key:a.key,id:\"account-tab-\".concat(a.key),type:\"button\",role:\"tab\",\"aria-selected\":i,\"aria-controls\":\"account-panel-\".concat(a.key),className:\"account-tabs__tab\".concat(i?\" account-tabs__tab--active\":\"\"),onClick:()=>t(a.key)},a.label)}))),r.default.createElement(\"div\",{id:\"account-panel-\".concat(o.key),role:\"tabpanel\",\"aria-labelledby\":\"account-tab-\".concat(o.key),className:\"account-tabs__panel\"},o.content))}var I=bt.default.create({baseURL:\"/website\"}),qt=(e,t=\"\\u8BF7\\u6C42\\u5931\\u8D25\")=>typeof e==\"string\"?e||t:e&&typeof e==\"object\"?e.message||e.msg||e.desc||e.resultDesc||JSON.stringify(e):e==null?t:String(e);I.interceptors.response.use(function(e){var t;if(e.data.code!==0){let n=qt((t=e.data.message)!=null?t:e.data);s.message.error(n);let o=new Error(n);throw o.handled=!0,o}else return e.data.data},function(e){return Promise.reject(e)});s.message.config({top:\"40%\"});var Jl=\"https://o.alicdn.com/captcha-frontend/aliyunCaptcha/AliyunCaptcha.js\",Ir=\"yidong-aliyun-captcha-button\",Ql={2:{prefix:\"7elm7k\",SceneId:\"1rmw421p\"},3:{prefix:\"7elm7k\",SceneId:\"kcx16g7r\"}},Rl=(e,t)=>new Promise((n,o)=>{if(document.getElementById(t)){n();return}let a=document.createElement(\"script\");a.id=t,a.src=e,a.async=!0,a.onload=()=>n(),a.onerror=()=>o(new Error(\"\\u6ED1\\u5757\\u7EC4\\u4EF6\\u52A0\\u8F7D\\u5931\\u8D25\")),document.head.appendChild(a)}),ed=()=>{let e=document.getElementById(Ir);return e||(e=document.createElement(\"button\"),e.id=Ir,e.type=\"button\",e.style.cssText=\"position:absolute;top:-50px;left:-50px;opacity:0;pointer-events:none;\",document.body.appendChild(e)),e},td=()=>{let e=String(navigator.language||\"\").toLowerCase();return e.includes(\"en\")?\"en\":e.includes(\"tw\")||e.includes(\"hk\")?\"tw\":\"cn\"},nd=(e=\"\")=>{try{return window.btoa(e)}catch(t){return window.btoa(unescape(encodeURIComponent(e)))}},rd=()=>{let e=navigator.userAgent||\"\",t=e.match(/Android\\s+([\\d.]+)[^;)]*;\\s*([^)]+?)(?:\\s+Build|;|\\))/i),n=e.match(/(iPhone|iPad|iPod);.*?OS\\s+([\\d_]+)/i),o=e.match(/(Edg|Chrome|Firefox|Safari|Opera)\\/([\\d.]+)/i),a=navigator.platform||\"Web\",i=o?\"\".concat(o[1],\" \").concat(o[2]):e.slice(0,120);t?(a=t[2].trim(),i=\"Android \".concat(t[1])):n&&(a=n[1],i=\"iOS \".concat(n[2].replace(/_/g,\".\")));let l=\"\".concat(window.screen.width,\"X\").concat(window.screen.height);return[\"\",\"\",\"3\",\"7.17.7\",a,a,\"\",\"\",i,l,\"\",\"\",\"\",nd(a),\"\"].join(\"|\")},od=async e=>{let t=Ql[Number(e)];if(!t)throw new Error(\"\\u6682\\u4E0D\\u652F\\u6301\\u5F53\\u524D\\u6ED1\\u5757\\u9A8C\\u8BC1\\u7801\\u7C7B\\u578B\\uFF1A\".concat(e||\"unknown\"));if(await Rl(Jl,\"yidong-aliyun-captcha-script\"),ed(),typeof window.initAliyunCaptcha!=\"function\")throw new Error(\"\\u6ED1\\u5757\\u7EC4\\u4EF6\\u521D\\u59CB\\u5316\\u5931\\u8D25\");return window.AliyunCaptchaConfig={region:\"cn\",prefix:t.prefix},new Promise((n,o)=>{let a=!1;window.initAliyunCaptcha({SceneId:t.SceneId,mode:\"popup\",button:\"#\".concat(Ir),language:td(),showErrorTip:!1,slideStyle:{width:360,height:40},success:i=>{a=!0,n(i)},error:i=>{a=!0,o(i instanceof Error?i:new Error(qt(i,\"\\u6ED1\\u5757\\u9A8C\\u8BC1\\u5931\\u8D25\")))},onClose:()=>{a||o(new Error(\"\\u5DF2\\u53D6\\u6D88\\u6ED1\\u5757\\u9A8C\\u8BC1\"))},getInstance:i=>{setTimeout(()=>{var l;return(l=i==null?void 0:i.show)==null?void 0:l.call(i)},0)}})})},X={IDLE:\"idle\",LOADING:\"loading\",WAITING:\"waiting\",SCANNED:\"scanned\",SUCCESS:\"success\",EXPIRED:\"expired\",ERROR:\"error\"},zt={NEW:\"NEW\",SCANNED:\"SCANNED\",CONFIRMED:\"CONFIRMED\",EXPIRED:\"EXPIRED\",CANCELED:\"CANCELED\"},ad={[X.IDLE]:\"READY\",[X.LOADING]:\"LOADING\",[X.WAITING]:\"SCAN ME\",[X.SCANNED]:\"CONFIRM\",[X.SUCCESS]:\"SUCCESS\",[X.EXPIRED]:\"EXPIRED\",[X.ERROR]:\"ERROR\"};function st({qrcodeUrl:e,cacheUrl:t,checkStatusUrl:n}){let[o,a]=r.default.useState(\"\"),[i,l]=r.default.useState(X.IDLE),[u,c]=r.default.useState($t),f=(0,r.useRef)(null),m=(0,r.useRef)(null),d=(0,r.useCallback)(()=>{f.current&&(clearInterval(f.current),f.current=null),m.current&&(clearTimeout(m.current),m.current=null)},[]),g=(0,r.useCallback)(w=>{d(),f.current=setInterval(async()=>{try{let F=await bt.default.post(\"/website\".concat(n),{sessionKey:w});if(F.data.code===0&&F.data.data){let{status:_,cookie:z}=F.data.data;switch(_){case zt.CONFIRMED:d(),a(z),l(X.SUCCESS),await I.put(t,{cookie:z}),s.message.success(\"\\u626B\\u7801\\u6210\\u529F\\uFF0C\\u5DF2\\u81EA\\u52A8\\u5165\\u5E93\"),setTimeout(()=>{c($t),l(X.IDLE)},2e3);break;case zt.SCANNED:l(X.SCANNED);break;case zt.EXPIRED:case zt.CANCELED:d(),c($t),l(X.EXPIRED),s.message.warning(\"\\u4E8C\\u7EF4\\u7801\\u5DF2\\u8FC7\\u671F\\uFF0C\\u8BF7\\u91CD\\u65B0\\u70B9\\u51FB\");break;case zt.NEW:default:break}}}catch(F){}},2e3),m.current=setTimeout(()=>{d(),c($t),l(X.EXPIRED),s.message.warning(\"\\u4E8C\\u7EF4\\u7801\\u5DF2\\u8FC7\\u671F\\uFF0C\\u8BF7\\u91CD\\u65B0\\u70B9\\u51FB\")},12e4)},[t,n,d]),p=(0,r.useCallback)(async()=>{if(i!==X.LOADING){d(),l(X.LOADING);try{let w=await bt.default.get(\"/website\".concat(e,\"?t=\").concat(Date.now()),{responseType:\"blob\"}),F=w.headers[\"x-session-key\"];if(F){let _=URL.createObjectURL(w.data);c(_),l(X.WAITING),g(F)}else throw new Error(\"\\u672A\\u83B7\\u53D6\\u5230 sessionKey\")}catch(w){console.error(\"\\u83B7\\u53D6\\u4E8C\\u7EF4\\u7801\\u5931\\u8D25:\",w),l(X.ERROR),s.message.error(\"\\u83B7\\u53D6\\u4E8C\\u7EF4\\u7801\\u5931\\u8D25\")}}},[e,i,d,g]),v=(0,r.useCallback)(w=>{if(!w){s.message.warning(\"\\u6CA1\\u6709\\u53EF\\u590D\\u5236\\u7684\\u5185\\u5BB9\");return}(0,Mr.default)(w),s.message.success(\"\\u5DF2\\u590D\\u5236\\u5230\\u526A\\u8D34\\u677F\")},[]),y=(0,r.useCallback)(async()=>{if(!o){s.message.warning(\"\\u6CA1\\u6709\\u53EF\\u5165\\u5E93\\u7684\\u5185\\u5BB9\");return}await I.put(t,{cookie:o}),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")},[t,o]);(0,r.useEffect)(()=>(I.get(t).then(w=>{a(w||\"\")}),()=>d()),[t,d]);let k=()=>{switch(i){case X.SUCCESS:return\"#22c55e\";case X.ERROR:case X.EXPIRED:return\"#ef4444\";default:return\"#3b82f6\"}},E=i===X.LOADING;return r.default.createElement(\"div\",{className:\"qrcode-card\"},r.default.createElement(\"div\",{className:\"qrcode-wrapper\",onClick:p},r.default.createElement(\"div\",{className:\"qrcode-glow\"}),r.default.createElement(\"div\",{className:\"qrcode-container\"},r.default.createElement(\"img\",{src:u,alt:\"\\u626B\\u7801\\u533A\\u57DF\",className:\"qrcode-image \".concat(E?\"qrcode-image--loading\":\"\")}),E&&r.default.createElement(\"div\",{className:\"qrcode-overlay\"},r.default.createElement(\"div\",{className:\"qrcode-spinner\"}),r.default.createElement(\"span\",null,\"\\u751F\\u6210\\u4E2D...\"))),r.default.createElement(\"div\",{className:\"qrcode-status\"},r.default.createElement(\"div\",{className:\"status-dot \".concat(i===X.WAITING||i===X.SCANNED?\"status-dot--pulse\":\"\"),style:{backgroundColor:k()}}),r.default.createElement(\"span\",{className:\"status-text\"},ad[i]))),r.default.createElement(\"div\",{className:\"cookie-result-wrapper\"},r.default.createElement(\"textarea\",{className:\"cookie-result\",value:o,onChange:w=>a(w.target.value),placeholder:\"\\u70B9\\u51FB\\u4E0A\\u65B9\\u4E8C\\u7EF4\\u7801\\u5F00\\u59CB\\u626B\\u7801...\",spellCheck:\"false\"})),r.default.createElement(\"div\",{className:\"action-buttons\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:()=>v(o)},r.default.createElement(\"span\",null,\"\\u590D\\u5236\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"}))),r.default.createElement(\"button\",{className:\"action-btn action-btn--secondary\",onClick:y},r.default.createElement(\"span\",null,\"\\u5165\\u5E93\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"ellipse\",{cx:\"12\",cy:\"5\",rx:\"9\",ry:\"3\",strokeWidth:\"2\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3\"})))))}function ni({api:e,children:t}){let[n]=s.Form.useForm(),o=async()=>{try{let a=await n.validateFields();await I.put(e,a),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")}catch(a){console.error(a),s.message.error(\"\\u5165\\u5E93\\u5931\\u8D25\\uFF1A\".concat(a==null?void 0:a.message))}};return(0,r.useEffect)(()=>{I.get(e).then(a=>{n.setFieldsValue(a)})},[]),r.default.createElement(s.Form,{form:n,className:\"ios-form\",layout:\"vertical\",initialValues:{useDirectDownload:!0}},r.default.createElement(s.Form.Item,{label:\"\\u8D26\\u53F7\",name:\"username\"},r.default.createElement(s.Input,null)),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,null)),t,r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:o},\"\\u4FDD\\u5B58\")))}function id(){let[e]=s.Form.useForm(),[t,n]=(0,r.useState)(\"\"),[o,a]=(0,r.useState)(!1),[i,l]=(0,r.useState)(!1),u=(0,r.useCallback)(async()=>{let d=await I.get(\"/xunlei/account\");e.setFieldsValue({username:d.username||\"\",password:d.password||\"\"})},[e]),c=async()=>{let d=await e.validateFields([\"username\",\"password\"]);await I.put(\"/xunlei/account\",d),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")},f=async()=>{try{a(!0);let d=await e.validateFields([\"username\",\"password\"]);await I.put(\"/xunlei/account\",d),await I.post(\"/xunlei/send-code\",{}),s.message.success(\"\\u9A8C\\u8BC1\\u7801\\u5DF2\\u53D1\\u9001\\uFF0C\\u8BF7\\u67E5\\u6536\\u77ED\\u4FE1\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\\uFF1A\".concat((d==null?void 0:d.message)||d))}finally{a(!1)}},m=async()=>{try{l(!0);let d;if(t.trim())d=await I.post(\"/xunlei/verify-code\",{code:t.trim()});else{let g=await e.validateFields([\"username\",\"password\"]);d=await I.post(\"/xunlei/login\",g)}d!=null&&d.hasAuth&&s.message.success(\"\\u8FC5\\u96F7\\u767B\\u5F55\\u6210\\u529F\\uFF0C\\u53EF\\u5C1D\\u8BD5\\u539F\\u753B\\u64AD\\u653E\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u8FC5\\u96F7\\u767B\\u5F55\\u5931\\u8D25\\uFF1A\".concat((d==null?void 0:d.message)||d))}finally{l(!1)}};return(0,r.useEffect)(()=>{u()},[u]),r.default.createElement(s.Form,{form:e,className:\"ios-form\",layout:\"vertical\"},r.default.createElement(s.Form.Item,{label:\"\\u624B\\u673A\\u53F7\",name:\"username\"},r.default.createElement(s.Input,{placeholder:\"\\u4E2D\\u56FD\\u5927\\u9646\\u624B\\u673A\\u53F7\",inputMode:\"tel\",autoComplete:\"tel\"})),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u8FC5\\u96F7\\u767B\\u5F55\\u5BC6\\u7801\",autoComplete:\"current-password\"})),r.default.createElement(s.Form.Item,{label:\"\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\"},r.default.createElement(s.Space.Compact,{className:\"xunlei-verify-compact\",style:{width:\"100%\"}},r.default.createElement(s.Input,{value:t,onChange:d=>n(d.target.value),placeholder:\"\\u8F93\\u5165\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\",inputMode:\"numeric\",autoComplete:\"one-time-code\"}),r.default.createElement(s.Button,{className:\"xunlei-verify-send-btn\",onClick:f,loading:o},\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\"))),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"div\",{className:\"action-buttons\"},r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:m,disabled:i},r.default.createElement(\"span\",null,i?\"\\u767B\\u5F55\\u4E2D...\":\"\\u767B\\u5F55\"),r.default.createElement(\"svg\",{className:\"btn-icon btn-icon--login\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M10 17l5-5-5-5M15 12H3\"}))),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--secondary\",onClick:c},r.default.createElement(\"span\",null,\"\\u5165\\u5E93\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"ellipse\",{cx:\"12\",cy:\"5\",rx:\"9\",ry:\"3\",strokeWidth:\"2\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3\"}))))))}function sd(){let[e]=s.Form.useForm(),[t,n]=(0,r.useState)(\"\"),[o,a]=(0,r.useState)(!1),[i,l]=(0,r.useState)(!1),u=(0,r.useCallback)(async(d,g)=>{try{s.message.info(\"\\u8BF7\\u5B8C\\u6210\\u6ED1\\u5757\\u9A8C\\u8BC1\");let p=await od(g);await I.post(\"/yidong/send-code-captcha\",{phone:d,captchaType:g,puzzleVerfycode:p,clientInfo:rd()}),s.message.success(\"\\u9A8C\\u8BC1\\u7801\\u5DF2\\u53D1\\u9001\\uFF0C\\u8BF7\\u67E5\\u6536\\u77ED\\u4FE1\")}catch(p){console.error(p),(p==null?void 0:p.message)===\"\\u5DF2\\u53D6\\u6D88\\u6ED1\\u5757\\u9A8C\\u8BC1\"?s.message.warning(\"\\u5DF2\\u53D6\\u6D88\\u6ED1\\u5757\\u9A8C\\u8BC1\"):p!=null&&p.handled||s.message.error(\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\\uFF1A\".concat(qt((p==null?void 0:p.message)||p)))}},[]),c=async()=>{try{let d=await e.validateFields([\"authorization\"]);await I.put(\"/yidong/authorization\",{authorization:String(d.authorization||\"\").replace(/^Basic\\s+/i,\"\").trim()}),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")}catch(d){console.error(d),s.message.error(\"\\u5165\\u5E93\\u5931\\u8D25\\uFF1A\".concat(d==null?void 0:d.message))}},f=async()=>{try{a(!0);let d=await e.validateFields([\"phone\"]),g=String(d.phone||\"\").trim(),p=await I.post(\"/yidong/send-code\",{phone:g});if(p!=null&&p.captchaRequired){await u(g,p.captchaType);return}s.message.success(\"\\u9A8C\\u8BC1\\u7801\\u5DF2\\u53D1\\u9001\\uFF0C\\u8BF7\\u67E5\\u6536\\u77ED\\u4FE1\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\\uFF1A\".concat(qt((d==null?void 0:d.message)||d)))}finally{a(!1)}},m=async()=>{if(!t.trim()){s.message.warning(\"\\u8BF7\\u5148\\u8F93\\u5165\\u9A8C\\u8BC1\\u7801\");return}try{l(!0);let d=await e.validateFields([\"phone\"]),g=await I.post(\"/yidong/verify-code\",{phone:String(d.phone||\"\").trim(),code:t.trim()});g!=null&&g.authorization&&e.setFieldsValue({authorization:String(g.authorization||\"\").replace(/^Basic\\s+/i,\"\").trim()}),s.message.success(\"\\u79FB\\u52A8\\u4E91\\u76D8\\u767B\\u5F55\\u6210\\u529F\\uFF0CAuthorization \\u5DF2\\u81EA\\u52A8\\u5165\\u5E93\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u9A8C\\u8BC1\\u7801\\u767B\\u5F55\\u5931\\u8D25\\uFF1A\".concat(qt((d==null?void 0:d.message)||d)))}finally{l(!1)}};return(0,r.useEffect)(()=>{I.get(\"/yidong/authorization\").then(d=>{e.setFieldsValue({authorization:String(d.authorization||\"\").replace(/^Basic\\s+/i,\"\").trim(),phone:d.phone||\"\"})})},[e]),r.default.createElement(s.Form,{form:e,className:\"ios-form\",layout:\"vertical\"},r.default.createElement(s.Form.Item,{label:\"\\u624B\\u673A\\u53F7\",name:\"phone\",rules:[{pattern:/^1[3456789]\\d{9}$/,message:\"\\u8BF7\\u8F93\\u5165\\u6B63\\u786E\\u7684\\u4E2D\\u56FD\\u5927\\u9646\\u624B\\u673A\\u53F7\"}]},r.default.createElement(s.Input,{placeholder:\"\\u4E2D\\u56FD\\u5927\\u9646\\u624B\\u673A\\u53F7\",inputMode:\"tel\",autoComplete:\"tel\"})),r.default.createElement(s.Form.Item,{label:\"\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\"},r.default.createElement(s.Space.Compact,{className:\"xunlei-verify-compact\",style:{width:\"100%\"}},r.default.createElement(s.Input,{value:t,onChange:d=>n(d.target.value),placeholder:\"\\u8F93\\u5165\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\",inputMode:\"numeric\",autoComplete:\"one-time-code\"}),r.default.createElement(s.Button,{className:\"xunlei-verify-send-btn\",onClick:f,loading:o},\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\"))),r.default.createElement(s.Form.Item,{label:\"Authorization\",name:\"authorization\"},r.default.createElement(s.Input.Password,{placeholder:\"Basic \\u540E\\u9762\\u7684\\u5185\\u5BB9\",autoComplete:\"off\"})),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"div\",{className:\"action-buttons\"},r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:m,disabled:i},r.default.createElement(\"span\",null,i?\"\\u767B\\u5F55\\u4E2D...\":\"\\u767B\\u5F55\"),r.default.createElement(\"svg\",{className:\"btn-icon btn-icon--login\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M10 17l5-5-5-5M15 12H3\"}))),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--secondary\",onClick:c},r.default.createElement(\"span\",null,\"\\u5165\\u5E93\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"ellipse\",{cx:\"12\",cy:\"5\",rx:\"9\",ry:\"3\",strokeWidth:\"2\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3\"}))))))}function ld(){return r.default.createElement(st,{qrcodeUrl:\"/guangyapan/qrcode\",cacheUrl:\"/guangyapan/token\",checkStatusUrl:\"/guangyapan/check-status\"})}function dd({visible:e,onCancel:t,onSave:n,panKey:o,panName:a,panPic:i,chunkSize:l,poolSize:u,noSaveMode:c}){let[f]=s.Form.useForm(),m=s.Form.useWatch(\"pic\",f),d=o===\"quark\"||o===\"uc\"||o===\"ali\";(0,r.useEffect)(()=>{e&&f.setFieldsValue({name:a||\"\",pic:i||\"\",chunkSize:l||(o===\"ali\"?128:512),poolSize:u||(o===\"ali\"?20:10),noSaveMode:c===!0})},[e,a,i,l,u,c,f]);let g=async()=>{try{let p=await f.validateFields();n(p)}catch(p){console.error(\"\\u9A8C\\u8BC1\\u5931\\u8D25:\",p)}};return r.default.createElement(s.Modal,{title:\"\".concat(a||\"\\u7F51\\u76D8\",\" \\u914D\\u7F6E\"),open:e,onCancel:t,width:\"90%\",className:\"ios-modal\",footer:null},r.default.createElement(s.Form,{form:f,layout:\"vertical\",className:\"ios-form ios-input-number\"},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u7F51\\u76D8\\u540D\\u79F0\"},{max:20,message:\"\\u540D\\u79F0\\u957F\\u5EA6\\u8BF7\\u63A7\\u5236\\u5728 20 \\u4E2A\\u5B57\\u7B26\\u4EE5\\u5185\"}]},r.default.createElement(s.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A\\u5938\\u514B\"})),r.default.createElement(s.Form.Item,{label:\"\\u56FE\\u7247 URL\",name:\"pic\",tooltip:\"\\u7559\\u7A7A\\u5C06\\u56DE\\u9000\\u4E3A\\u5185\\u7F6E\\u9ED8\\u8BA4\\u56FE\\u6807\",rules:[{validator:(p,v)=>{let y=String(v||\"\").trim();return!y||/^https?:\\/\\/\\S+$/i.test(y)||/^data:image\\//i.test(y)||/^\\/\\S+/.test(y)?Promise.resolve():Promise.reject(new Error(\"\\u8BF7\\u8F93\\u5165\\u5408\\u6CD5\\u56FE\\u7247\\u5730\\u5740\\uFF08http/https\\u3001data:image \\u6216 / \\u5F00\\u5934\\u8DEF\\u5F84\\uFF09\"))}}]},r.default.createElement(s.Input,{placeholder:\"https://example.com/logo.png \\u6216 data:image/png;base64,...\"})),!!String(m||\"\").trim()&&r.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10,marginBottom:16}},r.default.createElement(\"img\",{src:String(m).trim(),alt:\"\\u7F51\\u76D8\\u56FE\\u6807\\u9884\\u89C8\",style:{width:36,height:36,borderRadius:8,objectFit:\"cover\",border:\"1px solid rgba(0,0,0,0.08)\",backgroundColor:\"#fff\"}}),r.default.createElement(\"span\",{style:{fontSize:12,color:\"#8e8e93\"}},\"\\u56FE\\u6807\\u9884\\u89C8\\uFF08\\u82E5\\u4E0D\\u663E\\u793A\\u8BF7\\u68C0\\u67E5\\u5730\\u5740\\u662F\\u5426\\u53EF\\u8BBF\\u95EE\\uFF09\")),d&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"\\u5206\\u7247\\u5927\\u5C0F (KB)\",name:\"chunkSize\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u5206\\u7247\\u5927\\u5C0F\"},{type:\"number\",min:64,max:2048,message:\"\\u8303\\u56F4: 64-2048 KB\"}]},r.default.createElement(s.InputNumber,{style:{width:\"100%\"},placeholder:\"512\",addonAfter:\"KB\"})),r.default.createElement(s.Form.Item,{label:\"\\u5E76\\u53D1\\u7EBF\\u7A0B\\u6570\",name:\"poolSize\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u7EBF\\u7A0B\\u6570\"},{type:\"number\",min:1,max:20,message:\"\\u8303\\u56F4: 1-20\"}]},r.default.createElement(s.InputNumber,{style:{width:\"100%\"},placeholder:\"10\",addonAfter:\"\\u7EBF\\u7A0B\"}))),o===\"quark\"&&r.default.createElement(s.Form.Item,{label:\"\\u4E0D\\u8F6C\\u5B58\\u6A21\\u5F0F\",name:\"noSaveMode\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u5148\\u5C1D\\u8BD5\\u4E0D\\u8F6C\\u5B58\\u76F4\\u94FE\\uFF0C\\u62FF\\u4E0D\\u5230\\u518D\\u56DE\\u9000\\u8F6C\\u5B58\\uFF1B\\u5173\\u95ED\\u5219\\u76F4\\u63A5\\u8F6C\\u5B58\\u83B7\\u53D6\\u591A\\u753B\\u8D28\\u3002\"},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{style:{marginBottom:0,marginTop:24}},r.default.createElement(\"div\",{className:\"ios-button-group\",style:{justifyContent:\"flex-end\"}},r.default.createElement(\"button\",{className:\"action-btn action-btn--secondary-outline\",onClick:t},\"\\u53D6\\u6D88\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:g},\"\\u4FDD\\u5B58\")))))}var li=e=>{let{attributes:t,listeners:n,setNodeRef:o,transform:a,transition:i,isDragging:l}=Tr({id:e[\"data-row-key\"]}),u=S(B(S({},e.style),{transform:Ve.Translate.toString(a),transition:i}),l?{position:\"relative\",zIndex:9999}:{});return r.default.createElement(\"tr\",S(B(S({},e),{ref:o,style:u}),t))},di=({rowKey:e})=>{let{listeners:t,setActivatorNodeRef:n}=Tr({id:e});return r.default.createElement(lr,S({ref:n,className:\"drag-handle\"},t))},Pn=\"https://pan.199333.xyz\",ht=[{key:\"quark\",name:\"\\u5938\\u514B\\u7F51\\u76D8\"},{key:\"uc\",name:\"UC\\u7F51\\u76D8\"},{key:\"aliyun\",name:\"\\u963F\\u91CC\\u4E91\\u76D8\"},{key:\"baidu\",name:\"\\u767E\\u5EA6\\u7F51\\u76D8\"},{key:\"xunlei\",name:\"\\u8FC5\\u96F7\\u7F51\\u76D8\"},{key:\"tianyi\",name:\"\\u5929\\u7FFC\\u4E91\\u76D8\"},{key:\"mobile\",name:\"\\u79FB\\u52A8\\u4E91\\u76D8\"},{key:\"123\",name:\"123\\u7F51\\u76D8\"},{key:\"115\",name:\"115\\u7F51\\u76D8\"},{key:\"pikpak\",name:\"PikPak\"},{key:\"magnet\",name:\"\\u78C1\\u529B\\u94FE\\u63A5\"},{key:\"ed2k\",name:\"\\u7535\\u9A74\\u94FE\\u63A5\"}],Pr={id:\"\",name:\"\",host:\"\",username:\"\",password:\"\",deviceId:\"\",logo:\"\",libraryStats:{movieCount:0,seriesCount:0}};function ud(e){return String(e||\"\").trim().toLowerCase().replace(/[^a-z0-9_-]+/g,\"-\").replace(/^-+|-+$/g,\"\").slice(0,40)}function Lr(){return S({},Pr)}function cd(e){let t=String(e||\"\").trim();return!t||/^https?:\\/\\/\\S+$/i.test(t)||/^data:image\\//i.test(t)||/^\\/\\S+/.test(t)}function Ln(e={}){return String(e.name||\"Emby\").trim()}function fd(e={}){let t=Number(e.movieCount||0),n=Number(e.seriesCount||0);return{movieCount:t,seriesCount:n}}function pd(){return r.default.createElement(\"svg\",{className:\"emby-server-card__stat-icon\",viewBox:\"0 0 1024 1024\",\"aria-hidden\":\"true\",focusable:\"false\"},r.default.createElement(\"path\",{d:\"M875.690667 414.72H301.738667l576.682666-195.754667c36.181333-11.093333 56.832-49.322667 45.909334-85.674666L909.824 83.626667c-8.704-29.013333-35.84-49.322667-66.218667-49.322667-6.656 0-13.312 1.024-19.626666 2.901333l-0.512 0.170667L127.829333 273.237333C91.648 284.330667 70.997333 322.56 81.92 358.912l14.848 49.664c4.096 13.653333 12.288 25.429333 23.04 34.133333-8.533333 11.434667-13.482667 25.6-13.482667 40.96v436.736c0 38.058667 30.890667 68.949333 68.949334 68.949334h700.416c38.058667 0 68.949333-30.890667 68.949333-68.949334V483.84c0-38.058667-30.890667-69.12-68.949333-69.12z m17.408 69.12v69.290667H690.858667l70.144-86.869334h114.688c9.557333 0.170667 17.408 7.850667 17.408 17.578667z m-717.824-17.408h175.616l-76.970667 76.970667c-2.901333 2.901333-4.949333 6.144-6.144 9.728H157.696v-69.290667c0-9.728 7.850667-17.408 17.578667-17.408z m243.029333 5.290667c1.706667-1.706667 3.072-3.413333 4.096-5.461334H694.613333l-63.829333 79.018667c-1.877333 2.389333-3.413333 4.949333-4.266667 7.68H336.896l81.408-81.237333zM143.189333 322.56l0.512-0.170667L838.997333 86.528c1.536-0.341333 3.072-0.682667 4.608-0.682667 7.68 0 14.506667 5.12 16.725334 12.458667l14.848 49.664c2.730667 9.216-2.56 18.944-11.776 21.674667l-0.512 0.170666L167.424 405.845333c-1.536 0.341333-3.072 0.682667-4.608 0.682667-7.68 0-14.506667-5.12-16.725333-12.458667L131.413333 344.234667c-2.730667-9.216 2.56-18.944 11.776-21.674667z m732.501334 615.424H175.274667c-9.557333 0-17.408-7.850667-17.408-17.408v-315.733333h735.402666v315.733333c-0.170667 9.557333-8.021333 17.408-17.578666 17.408z m0 0\"}))}function md(){return r.default.createElement(\"svg\",{className:\"emby-server-card__stat-icon emby-server-card__stat-icon--series\",viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",focusable:\"false\"},r.default.createElement(\"rect\",{x:\"3\",y:\"9\",width:\"18\",height:\"12\",rx:\"2.5\"}),r.default.createElement(\"path\",{d:\"M7.5 3.5 L12 9 L16.5 3.5\"}))}function gd(e={}){let{movieCount:t,seriesCount:n}=fd(e);return!t&&!n?r.default.createElement(\"span\",{className:\"emby-server-card__sync\"},\"\\u5F85\\u540C\\u6B65\"):r.default.createElement(r.default.Fragment,null,r.default.createElement(\"span\",{className:\"emby-server-card__stat\",title:\"\".concat(t,\" \\u7535\\u5F71\"),\"aria-label\":\"\".concat(t,\" \\u7535\\u5F71\")},r.default.createElement(pd,null),r.default.createElement(\"span\",null,t)),r.default.createElement(\"span\",{className:\"emby-server-card__stat\",title:\"\".concat(n,\" \\u5267\\u96C6\"),\"aria-label\":\"\".concat(n,\" \\u5267\\u96C6\")},r.default.createElement(md,null),r.default.createElement(\"span\",null,n)))}function Dr(e={}){return{id:e.id,name:e.name||\"Emby\",host:e.host,username:e.username,password:e.password,deviceId:e.deviceId||\"\",logo:e.logo||\"\",libraries:e.libraries||[],libraryStats:e.libraryStats||Pr.libraryStats}}var ri=\"nodejs_emby_\",oi=\"nodejs_alist_\";function xd(e=\"\"){let t=String(e||\"\");return t.startsWith(ri)?t.slice(ri.length):\"\"}function hd(e=\"\"){let t=String(e||\"\");return t.startsWith(oi)?t.slice(oi.length):\"\"}function ui(){return{id:\"alist_\".concat(Date.now()),name:\"\",server:\"\",username:\"\",password:\"\",token:\"\",otpCode:\"\"}}function Br(e={}){let t=String(e.name||\"\").trim();if(t)return t;try{return new URL(e.server).hostname||\"Alist\"}catch(n){return\"Alist\"}}function Nr(e={}){return{id:e.id||\"alist_\".concat(Date.now()),name:Br(e),server:String(e.server||\"\").trim().replace(/\\/+$/,\"\"),username:String(e.username||\"\").trim(),password:String(e.password||\"\"),token:String(e.token||\"\").trim(),otpCode:String(e.otpCode||\"\").trim()}}var bd=[{key:\"nodejs_muou\",api:\"/muou/urls\",name:\"\\u6728\\u5076\"},{key:\"nodejs_wanou\",api:\"/wanou/urls\",name:\"\\u73A9\\u5076\"},{key:\"nodejs_leijing\",api:\"/leijing/urls\",name:\"\\u96F7\\u9CB8\"},{key:\"nodejs_zhizhen\",api:\"/zhizhen/urls\",name:\"\\u81F3\\u81FB\"},{key:\"nodejs_duoduo\",api:\"/duoduo/urls\",name:\"\\u591A\\u591A\"},{key:\"nodejs_erxiao\",api:\"/erxiao/urls\",name:\"\\u4E8C\\u5C0F\"},{key:\"nodejs_huban\",api:\"/huban/urls\",name:\"\\u864E\\u6591\"},{key:\"nodejs_labi\",api:\"/labi/urls\",name:\"\\u8FA3\\u7B14\"},{key:\"nodejs_ouge\",api:\"/ouge/urls\",name:\"\\u6B27\\u6B4C\"},{key:\"nodejs_xiaoban\",api:\"/xiaoban/urls\",name:\"\\u5C0F\\u73ED\"},{key:\"nodejs_tgchannel\",api:\"/tgchannel/config\",name:\"TG\\u9891\\u9053\",type:\"tg\"},{key:\"nodejs_tgsou\",api:\"/tgsou/config\",name:\"TG\\u641C\",type:\"tg\"},{key:\"nodejs_tgfilebot\",api:\"/tgfilebot/config\",name:\"TGFileBot\",type:\"tgfilebot\"},{key:\"nodejs_pansou\",api:\"/pansou/config\",name:\"PanSou\",type:\"pansou\"},{key:\"nodejs_123ypzysq\",api:\"/123ypzysq/config\",name:\"123\\u8D44\\u6E90\\u793E\\u533A\",type:\"domain-cookie\"},{key:\"nodejs_live2vod\",api:\"/live2vod/config\",name:\"\\u76F4\\u64AD\\u8F6C\\u70B9\\u64AD\",type:\"live2vod\"},{key:\"nodejs_emby\",api:\"/emby-spider/setting\",name:\"Emby\\u6E90\",type:\"emby-spider\"},{key:\"nodejs_alist-video\",api:\"/alist-video/setting\",name:\"Alist\",type:\"alist-video\"}],ai=bd.reduce((e,t)=>(e[t.key]={api:t.api,name:t.name,type:t.type},e),{});function yd({visible:e,onCancel:t,onSave:n,siteName:o}){let[a]=s.Form.useForm(),[i,l]=(0,r.useState)(!1),[u,c]=(0,r.useState)(\"channels\"),[f,m]=(0,r.useState)([]),[d,g]=(0,r.useState)([]),[p,v]=(0,r.useState)(!1),[y,k]=(0,r.useState)([]),[E,w]=(0,r.useState)([]),[F,_]=(0,r.useState)([]),[z,H]=(0,r.useState)(\"\"),[h,C]=(0,r.useState)([]),L=(0,r.useRef)(0),M=()=>{let T=z.trim();if(T){if(f.includes(T)){s.message.warning('\\u9891\\u9053 \"'.concat(T,'\" \\u5DF2\\u5B58\\u5728')),H(\"\");return}m([T,...f]),C([T,...h]),k([T,...y]),H(\"\"),s.message.success('\\u5DF2\\u6DFB\\u52A0\\u9891\\u9053 \"'.concat(T,'\"'))}},N=(T,A)=>{A.stopPropagation(),m(f.filter($=>$!==T)),k(y.filter($=>$!==T)),C(h.filter($=>$!==T)),s.message.success('\\u5DF2\\u5220\\u9664\\u9891\\u9053 \"'.concat(T,'\"'))},j=(0,r.useCallback)(async T=>{if(!T)return null;v(!0);try{let A=await bt.default.get(\"\".concat(T,\"/api/health\"));if(A.data){let $=A.data.channels||[],U=A.data.plugins||[];return m($),g(U),{channels:$,plugins:U}}return null}catch(A){return console.error(\"\\u83B7\\u53D6 PanSou \\u9009\\u9879\\u5931\\u8D25:\",A),null}finally{v(!1)}},[]);(0,r.useEffect)(()=>{let T=++L.current;if(!e){l(!1),H(\"\");return}l(!0),I.get(\"/pansou/config\").then(async A=>{if(L.current!==T)return;let $=A.url||Pn;a.setFieldsValue({name:o,url:$});let U=await j($);A.channels&&A.channels.length>0?k(A.channels):U!=null&&U.channels&&k(U.channels),A.plugins&&A.plugins.length>0?w(A.plugins):U!=null&&U.plugins&&w(U.plugins),A.cloudTypes&&A.cloudTypes.length>0?_(A.cloudTypes):_(ht.map(me=>me.key))}).catch(A=>{L.current===T&&(console.error(A),s.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\"))}).finally(()=>{L.current===T&&l(!1)})},[e,o,a,j]);let ne=(0,r.useCallback)(T=>{let A=T.target.value||Pn;j(A)},[j]),ie=async()=>{let T;try{T=await a.validateFields()}catch(A){return}try{l(!0);let A={url:T.url||\"\",channels:y,plugins:E,cloudTypes:F};await I.put(\"/pansou/config\",A),s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\"),n(T.name),t()}catch(A){console.error(A),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat((A==null?void 0:A.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{l(!1)}},we=async()=>{try{l(!0),await I.delete(\"/pansou/config\");let A=(await I.get(\"/pansou/config\")).url||Pn;a.setFieldsValue({url:A});let $=await j(A);k(($==null?void 0:$.channels)||[]),w(($==null?void 0:$.plugins)||[]),_(ht.map(U=>U.key)),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(T){console.error(T),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(T==null?void 0:T.message))}finally{l(!1)}},Ce=(T,A,$)=>{T.includes($)?A(T.filter(U=>U!==$)):A([...T,$])},J=(T,A,$)=>{A.length===T.length?$([]):$([...T])},Ee=(T,A,$,U,me,Se)=>r.default.createElement(\"div\",{key:T,className:\"pansou-checkbox-card \".concat(A?\"pansou-checkbox-card--selected\":\"\"),onClick:$},r.default.createElement(\"span\",{className:\"pansou-checkbox-card__label\"},U||T),me&&r.default.createElement(Ze,{className:\"pansou-checkbox-card__delete\",onClick:Se}));si(\".pansou-config-tabs__nav-scroll\",e);let ue=[{key:\"channels\",label:\"TG\\u9891\\u9053\",count:y.length},{key:\"plugins\",label:\"\\u641C\\u7D22\\u63D2\\u4EF6\",count:E.length},{key:\"cloudTypes\",label:\"\\u7F51\\u76D8\\u7C7B\\u578B\",count:F.length}];return r.default.createElement(s.Modal,{title:\"\\u7F16\\u8F91 \".concat(o||\"PanSou\"),open:e,onCancel:t,className:\"ios-modal pansou-config-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Spin,{spinning:i},r.default.createElement(s.Form,{form:a,layout:\"vertical\",className:\"ios-form\"},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\"},r.default.createElement(s.Input,{placeholder:\"\\u7AD9\\u6E90\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,{label:\"API \\u5730\\u5740\",name:\"url\"},r.default.createElement(s.Input,{placeholder:\"\\u7559\\u7A7A\\u4F7F\\u7528\\u9ED8\\u8BA4: \".concat(Pn),onBlur:ne}))),r.default.createElement(\"div\",{className:\"pansou-config-tabs\"},r.default.createElement(\"div\",{className:\"pansou-config-tabs__nav-scroll\",role:\"tablist\",\"aria-label\":\"PanSou \\u914D\\u7F6E\\u9879\"},r.default.createElement(\"div\",{className:\"pansou-config-tabs__nav-list\"},ue.map(T=>{let A=T.key===u;return r.default.createElement(\"button\",{key:T.key,type:\"button\",role:\"tab\",\"aria-selected\":A,className:\"pansou-config-tabs__tab\".concat(A?\" pansou-config-tabs__tab--active\":\"\"),onClick:()=>c(T.key)},r.default.createElement(\"span\",null,T.label),r.default.createElement(\"span\",{className:\"pansou-config-tabs__badge\"},Math.min(T.count,9999)))})))),r.default.createElement(s.Spin,{spinning:p},u===\"channels\"&&r.default.createElement(\"div\",{className:\"pansou-checkbox-section\"},r.default.createElement(\"div\",{className:\"pansou-checkbox-header\"},r.default.createElement(\"span\",null,\"\\u5DF2\\u9009 \",y.length,\" / \",f.length),r.default.createElement(s.Space,null,r.default.createElement(s.Button,{type:\"link\",size:\"small\",onClick:()=>J(f,y,k)},y.length===f.length?\"\\u53D6\\u6D88\\u5168\\u9009\":\"\\u5168\\u9009\"))),r.default.createElement(\"div\",{className:\"pansou-add-channel\"},r.default.createElement(s.Input,{placeholder:\"\\u641C\\u7D22\\u6216\\u6DFB\\u52A0\\u9891\\u9053\",value:z,onChange:T=>H(T.target.value),onPressEnter:M,allowClear:!0,style:{flex:1}}),r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),onClick:M},\"\\u6DFB\\u52A0\")),r.default.createElement(\"div\",{className:\"pansou-checkbox-grid\"},f.filter(T=>!z||T.toLowerCase().includes(z.toLowerCase())).map(T=>Ee(T,y.includes(T),()=>Ce(y,k,T),T,h.includes(T),A=>N(T,A)))),f.length===0&&!p&&r.default.createElement(\"div\",{className:\"pansou-empty-tip\"},\"\\u8BF7\\u5148\\u914D\\u7F6E\\u6B63\\u786E\\u7684 API \\u5730\\u5740\\u4EE5\\u52A0\\u8F7D\\u53EF\\u7528\\u9891\\u9053\")),u===\"plugins\"&&r.default.createElement(\"div\",{className:\"pansou-checkbox-section\"},r.default.createElement(\"div\",{className:\"pansou-checkbox-header\"},r.default.createElement(\"span\",null,\"\\u5DF2\\u9009 \",E.length,\" / \",d.length),r.default.createElement(s.Button,{type:\"link\",size:\"small\",onClick:()=>J(d,E,w)},E.length===d.length?\"\\u53D6\\u6D88\\u5168\\u9009\":\"\\u5168\\u9009\")),r.default.createElement(\"div\",{className:\"pansou-checkbox-grid\"},d.map(T=>Ee(T,E.includes(T),()=>Ce(E,w,T),T,!1,null))),d.length===0&&!p&&r.default.createElement(\"div\",{className:\"pansou-empty-tip\"},\"\\u8BF7\\u5148\\u914D\\u7F6E\\u6B63\\u786E\\u7684 API \\u5730\\u5740\\u4EE5\\u52A0\\u8F7D\\u53EF\\u7528\\u63D2\\u4EF6\")),u===\"cloudTypes\"&&r.default.createElement(\"div\",{className:\"pansou-checkbox-section\"},r.default.createElement(\"div\",{className:\"pansou-checkbox-header\"},r.default.createElement(\"span\",null,\"\\u5DF2\\u9009 \",F.length,\" / \",ht.length),r.default.createElement(s.Button,{type:\"link\",size:\"small\",onClick:()=>J(ht.map(T=>T.key),F,_)},F.length===ht.length?\"\\u53D6\\u6D88\\u5168\\u9009\":\"\\u5168\\u9009\")),r.default.createElement(\"div\",{className:\"pansou-checkbox-grid\"},ht.map(T=>Ee(T.key,F.includes(T.key),()=>Ce(F,_,T.key),T.name,!1,null))))),r.default.createElement(\"div\",{className:\"pansou-config-footer ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:ie,disabled:i},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:we,disabled:i},\"\\u91CD\\u7F6E\"))))}function Ar({visible:e,onCancel:t,onSave:n,onDelete:o,server:a,usedIds:i}){let[l]=s.Form.useForm(),[u,c]=(0,r.useState)(!1),f=s.Form.useWatch(\"logo\",l);(0,r.useEffect)(()=>{e&&l.setFieldsValue(S(S({},Pr),a||Lr()))},[e,a,l]);let m=async()=>{let g;try{g=await l.validateFields()}catch(w){return}let p=ud(a!=null&&a.isNew?\"\".concat(g.name||\"emby\",\"-\").concat(g.host||\"\",\"-\").concat(g.username||\"\"):(a==null?void 0:a.id)||\"\".concat(g.name||\"emby\",\"-\").concat(g.host||\"\",\"-\").concat(g.username||\"\"));if(!p){s.message.warning(\"\\u8BF7\\u586B\\u5199\\u670D\\u52A1\\u5668\\u5730\\u5740\");return}if(i!=null&&i.has(p)&&p!==(a==null?void 0:a.id)){s.message.warning(\"\\u5F53\\u524D\\u670D\\u52A1\\u5668\\u5DF2\\u5B58\\u5728\\uFF0C\\u8BF7\\u68C0\\u67E5\\u5730\\u5740\\u6216\\u8D26\\u53F7\");return}let v={id:p,name:String(g.name||\"\").trim(),host:String(g.host||\"\").trim().replace(/\\/+$/,\"\"),username:String(g.username||\"\").trim(),password:String(g.password||\"\"),logo:String(g.logo||\"\").trim()},y=String((a==null?void 0:a.host)||\"\").trim().replace(/\\/+$/,\"\"),k=String((a==null?void 0:a.username)||\"\").trim();v.host===y&&v.username===k&&(v.deviceId=String((a==null?void 0:a.deviceId)||\"\").trim());let E=!1;try{c(!0);let w=await I.post(\"/emby-spider/verify\",v);E=!0,await n(w||v),s.message.success(\"Emby \\u767B\\u5F55\\u9A8C\\u8BC1\\u901A\\u8FC7\")}catch(w){console.error(w),w!=null&&w.message&&w.message!==\"[object Object]\"&&s.message.error(\"\".concat(E?\"\\u4FDD\\u5B58\":\"\\u9A8C\\u8BC1\",\"\\u5931\\u8D25\\uFF1A\").concat(w.message))}finally{c(!1)}},d=()=>{!a||a.isNew||o==null||o(a)};return r.default.createElement(s.Modal,{title:a!=null&&a.isNew?\"\\u6DFB\\u52A0 Emby \\u670D\\u52A1\\u5668\":\"\\u7F16\\u8F91 \".concat((a==null?void 0:a.name)||\"Emby\"),open:e,onCancel:t,confirmLoading:u,className:\"ios-modal emby-server-edit-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:l,layout:\"vertical\",className:\"ios-form\",requiredMark:!1},r.default.createElement(s.Form.Item,{label:\"\\u663E\\u793A\\u540D\\u79F0\",name:\"name\",tooltip:\"\\u7559\\u7A7A\\u65F6\\u4F1A\\u5728\\u767B\\u5F55\\u9A8C\\u8BC1\\u901A\\u8FC7\\u540E\\u81EA\\u52A8\\u4F7F\\u7528 Emby \\u670D\\u52A1\\u5668\\u540D\\u79F0\"},r.default.createElement(s.Input,{placeholder:\"\\u7559\\u7A7A\\u81EA\\u52A8\\u83B7\\u53D6\\uFF0C\\u4F8B\\u5982\\uFF1A\\u5BB6\\u91CC NAS\"})),r.default.createElement(s.Form.Item,{label:\"Logo URL\",name:\"logo\",tooltip:\"\\u652F\\u6301 http/https\\u3001data:image \\u6216\\u7AD9\\u5185 / \\u5F00\\u5934\\u8DEF\\u5F84\",rules:[{validator(g,p){return cd(p)?Promise.resolve():Promise.reject(new Error(\"\\u8BF7\\u8F93\\u5165\\u5408\\u6CD5\\u56FE\\u7247\\u5730\\u5740\"))}}]},r.default.createElement(s.Input,{placeholder:\"https://example.com/emby-logo.png\"})),!!String(f||\"\").trim()&&r.default.createElement(\"div\",{className:\"emby-logo-preview\"},r.default.createElement(\"img\",{src:String(f).trim(),alt:\"Emby Logo \\u9884\\u89C8\"}),r.default.createElement(\"span\",null,\"Logo \\u9884\\u89C8\")),r.default.createElement(s.Form.Item,{label:\"\\u670D\\u52A1\\u5668\\u5730\\u5740\",name:\"host\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165 Emby \\u670D\\u52A1\\u5668\\u5730\\u5740\"}]},r.default.createElement(s.Input,{placeholder:\"http://192.168.1.100:8096\"})),r.default.createElement(s.Form.Item,{label:\"\\u7528\\u6237\\u540D\",name:\"username\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165 Emby \\u7528\\u6237\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165 Emby \\u7528\\u6237\\u540D\"})),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u5BC6\\u7801\\u53EF\\u4E3A\\u7A7A\",autoComplete:\"new-password\"})),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group emby-server-edit-actions\".concat(a!=null&&a.isNew?\" emby-server-edit-actions--new\":\"\")},!(a!=null&&a.isNew)&&r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--danger\",onClick:d,disabled:u},\"\\u5220\\u9664\"),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:m,disabled:u},u?\"\\u9A8C\\u8BC1\\u4E2D...\":\"\\u4FDD\\u5B58\")))))}function vd({value:e,onChange:t}){let[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(null),l=Array.isArray(e)?e:[],u=(0,r.useMemo)(()=>new Set(l.map(g=>g.id).filter(Boolean)),[l]),c=()=>{i(B(S({},Lr()),{isNew:!0})),o(!0)},f=g=>{i(S({},g)),o(!0)},m=g=>{let p=l.findIndex(k=>k.id===(a==null?void 0:a.id)),v=Dr(g),y=p>=0?[...l]:[...l,v];p>=0&&(y[p]=v),t(y),o(!1)},d=g=>{s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Ln(g),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u5BF9\\u5E94\\u7684 Emby \\u5206\\u7C7B\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",onOk(){t(l.filter(p=>p.id!==g.id)),o(!1),i(null)}})};return r.default.createElement(\"div\",{className:\"emby-server-manager\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar__main\"},r.default.createElement(\"div\",{className:\"emby-server-title\"},\"Emby \\u670D\\u52A1\\u5668\"),r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),onClick:c},\"\\u6DFB\\u52A0\")),r.default.createElement(\"div\",{className:\"emby-server-subtitle\"},\"\\u6709\\u64AD\\u653E\\u5668\\u9ED1/\\u767D\\u540D\\u5355\\u7684\\u670D\\u8C28\\u614E\\u4F7F\\u7528\\uFF0C\\u5426\\u5219\\u540E\\u679C\\u81EA\\u8D1F\\uFF01\")),l.length===0?r.default.createElement(\"button\",{type:\"button\",className:\"emby-empty-card\",onClick:c},r.default.createElement(be,null),r.default.createElement(\"span\",null,\"\\u6DFB\\u52A0\\u7B2C\\u4E00\\u53F0 Emby \\u670D\\u52A1\\u5668\")):r.default.createElement(\"div\",{className:\"emby-server-grid\"},l.map(g=>r.default.createElement(\"div\",{className:\"emby-server-card\",key:g.id},r.default.createElement(\"div\",{className:\"emby-server-card__hero\"},r.default.createElement(\"div\",{className:\"emby-server-card__logo\"},r.default.createElement(\"img\",{src:g.logo||Er,alt:Ln(g)}))),r.default.createElement(\"div\",{className:\"emby-server-card__content\"},r.default.createElement(\"div\",{className:\"emby-server-card__name\"},r.default.createElement(\"span\",null,Ln(g)),r.default.createElement(dn,null)),r.default.createElement(\"div\",{className:\"emby-server-card__stats\"},gd(g.libraryStats))),r.default.createElement(\"div\",{className:\"emby-server-card__actions\"},r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>f(g)}))))),r.default.createElement(Ar,{visible:n,onCancel:()=>o(!1),onSave:m,onDelete:d,server:a,usedIds:u}))}function _r({visible:e,onCancel:t,onSave:n,onDelete:o,server:a}){let[i]=s.Form.useForm(),[l,u]=(0,r.useState)(!1);(0,r.useEffect)(()=>{e&&i.setFieldsValue({name:(a==null?void 0:a.name)||\"\",server:(a==null?void 0:a.server)||\"\",username:(a==null?void 0:a.username)||\"\",password:(a==null?void 0:a.password)||\"\",token:(a==null?void 0:a.token)||\"\",otpCode:(a==null?void 0:a.otpCode)||\"\"})},[e,a,i]);let c=async()=>{let m;try{m=await i.validateFields()}catch(p){return}let d={id:(a==null?void 0:a.id)||\"alist_\".concat(Date.now()),name:m.name||\"\",server:String(m.server||\"\").trim().replace(/\\/+$/,\"\"),username:String(m.username||\"\").trim(),password:String(m.password||\"\"),token:String(m.token||\"\").trim(),otpCode:String(m.otpCode||\"\").trim()},g=!1;try{u(!0);let p=await I.post(\"/alist-video/verify\",d);g=!0,await n(p||d),s.message.success(\"Alist \\u8FDE\\u63A5\\u9A8C\\u8BC1\\u901A\\u8FC7\")}catch(p){console.error(p),s.message.error(\"\".concat(g?\"\\u4FDD\\u5B58\":\"\\u8FDE\\u63A5\\u9A8C\\u8BC1\",\"\\u5931\\u8D25\\uFF1A\").concat((p==null?void 0:p.message)||\"\\u8BF7\\u68C0\\u67E5\\u5730\\u5740\"))}finally{u(!1)}},f=()=>{!a||a.isNew||o==null||o(a)};return r.default.createElement(s.Modal,{title:a!=null&&a.isNew?\"\\u6DFB\\u52A0 Alist \\u670D\\u52A1\\u5668\":\"\\u7F16\\u8F91 \".concat((a==null?void 0:a.name)||\"Alist\"),open:e,onCancel:t,confirmLoading:l,className:\"ios-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:i,layout:\"vertical\",className:\"ios-form\",requiredMark:!1},r.default.createElement(s.Form.Item,{label:\"\\u663E\\u793A\\u540D\\u79F0\",name:\"name\"},r.default.createElement(s.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A\\u5BB6\\u91CC NAS\"})),r.default.createElement(s.Form.Item,{label:\"\\u670D\\u52A1\\u5668\\u5730\\u5740\",name:\"server\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165 Alist \\u670D\\u52A1\\u5668\\u5730\\u5740\"}]},r.default.createElement(s.Input,{placeholder:\"http://192.168.1.100:5244\"})),r.default.createElement(s.Form.Item,{label:\"\\u8D26\\u53F7\",name:\"username\"},r.default.createElement(s.Input,{placeholder:\"\\u79C1\\u6709\\u76EE\\u5F55\\u9700\\u8981\\u586B\\u5199\",autoComplete:\"username\"})),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u79C1\\u6709\\u76EE\\u5F55\\u9700\\u8981\\u586B\\u5199\",autoComplete:\"new-password\"})),r.default.createElement(s.Form.Item,{label:\"Token\",name:\"token\",tooltip:\"\\u5DF2\\u6709 Alist token \\u65F6\\u53EF\\u76F4\\u63A5\\u586B\\u5199\\uFF0C\\u4F18\\u5148\\u4E8E\\u8D26\\u53F7\\u5BC6\\u7801\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u53EF\\u7559\\u7A7A\",autoComplete:\"off\"})),r.default.createElement(s.Form.Item,{label:\"\\u4E24\\u6B65\\u9A8C\\u8BC1\\u7801\",name:\"otpCode\",tooltip:\"\\u5F00\\u542F\\u4E24\\u6B65\\u9A8C\\u8BC1\\u65F6\\u586B\\u5199\\u5F53\\u524D\\u9A8C\\u8BC1\\u7801\"},r.default.createElement(s.Input,{placeholder:\"\\u53EF\\u7559\\u7A7A\",autoComplete:\"one-time-code\"})),r.default.createElement(s.Form.Item,null,r.default.createElement(\"div\",{className:\"ios-button-group\"},!(a!=null&&a.isNew)&&r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--danger\",onClick:f},\"\\u5220\\u9664\"),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:c,disabled:l},l?\"\\u9A8C\\u8BC1\\u4E2D...\":\"\\u4FDD\\u5B58\")))))}function wd({value:e,onChange:t}){let[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(null),l=Array.isArray(e)?e:[],u=()=>{i(B(S({},ui()),{isNew:!0})),o(!0)},c=d=>{i(S({},d)),o(!0)},f=d=>{let g=l.findIndex(y=>y.id===(a==null?void 0:a.id)),p=Nr(d),v=g>=0?[...l]:[...l,p];g>=0&&(v[g]=p),t(v),o(!1)},m=d=>{s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Br(d),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8BE5 Alist \\u670D\\u52A1\\u5668\\u5C06\\u4E0D\\u518D\\u663E\\u793A\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",onOk(){t(l.filter(g=>g.id!==d.id)),o(!1),i(null)}})};return r.default.createElement(\"div\",{className:\"emby-server-manager\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar__main\"},r.default.createElement(\"div\",{className:\"emby-server-title\"},\"Alist \\u670D\\u52A1\\u5668\"),r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),onClick:u},\"\\u6DFB\\u52A0\"))),l.length===0?r.default.createElement(\"button\",{type:\"button\",className:\"emby-empty-card\",onClick:u},r.default.createElement(be,null),r.default.createElement(\"span\",null,\"\\u6DFB\\u52A0\\u7B2C\\u4E00\\u53F0 Alist \\u670D\\u52A1\\u5668\")):r.default.createElement(\"div\",{className:\"emby-server-grid\"},l.map(d=>r.default.createElement(\"div\",{className:\"emby-server-card\",key:d.id},r.default.createElement(\"div\",{className:\"emby-server-card__content\",style:{padding:\"16px\"}},r.default.createElement(\"div\",{className:\"emby-server-card__name\"},r.default.createElement(\"span\",null,d.name||d.server),r.default.createElement(dn,null)),r.default.createElement(\"div\",{style:{fontSize:12,color:\"#999\",marginTop:4}},d.server),(d.username||d.token)&&r.default.createElement(\"div\",{style:{fontSize:12,color:\"#999\",marginTop:4}},d.username?\"\\u8D26\\u53F7\\uFF1A\".concat(d.username):\"Token \\u5DF2\\u914D\\u7F6E\")),r.default.createElement(\"div\",{className:\"emby-server-card__actions\"},r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>c(d)}))))),r.default.createElement(_r,{visible:n,onCancel:()=>o(!1),onSave:f,onDelete:m,server:a}))}function Cd({visible:e,onCancel:t,onSave:n,siteKey:o,siteName:a}){let[i]=s.Form.useForm(),[l,u]=(0,r.useState)(!1),c=String(o||\"\").startsWith(\"nodejs_emby\"),f=ai[o]||(c?ai.nodejs_emby:void 0),m=!!f,d=(f==null?void 0:f.type)===\"tg\",g=(f==null?void 0:f.type)===\"tgfilebot\",p=(f==null?void 0:f.type)===\"live2vod\",v=(f==null?void 0:f.type)===\"emby-spider\",y=(f==null?void 0:f.type)===\"alist-video\",k=(f==null?void 0:f.type)===\"domain-cookie\",E=o===\"nodejs_tgchannel\",w=(0,r.useRef)(0),F=h=>{if(h===\"\"||h===null||typeof h>\"u\")return null;let C=Number(h);return Number.isFinite(C)?C:null},_=h=>{if(h==null||h===\"\")return\"\";let C=Number(h);return Number.isFinite(C)?C:\"\"};(0,r.useEffect)(()=>{let h=++w.current;if(!e){u(!1);return}m?(u(!0),I.get(f.api).then(C=>{if(w.current===h)if(d){let L=[],M=new Set;C.channelNameMap&&Object.keys(C.channelNameMap).forEach(N=>M.add(N)),C.channelUsername&&C.channelUsername.forEach(N=>M.add(N)),C.homeChannelUsername&&C.homeChannelUsername.forEach(N=>M.add(N)),M.forEach(N=>{var j;L.push({id:N,name:((j=C.channelNameMap)==null?void 0:j[N])||\"\"})}),i.setFieldsValue({name:a,url:C.url,count:F(C==null?void 0:C.count),pic:C.pic,channels:L.length>0?L:E?[]:[{id:\"\",name:\"\"}]})}else g?i.setFieldsValue({name:a,url:C.url,password:C.password||\"\"}):p?i.setFieldsValue({name:a,sources:C.sources||[{name:\"\",url:\"\"}]}):v?i.setFieldsValue({name:a,servers:C.servers||[]}):y?i.setFieldsValue({name:a,servers:C.servers||[]}):k?i.setFieldsValue({name:a,url:C.url||\"\",cookie:C.cookie||\"\"}):i.setFieldsValue({urls:C,name:a})}).catch(C=>{w.current===h&&(console.error(C),s.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\"))}).finally(()=>{w.current===h&&u(!1)})):i.setFieldsValue({name:a})},[e,o,a,m,d,g,p,v,y,k,i,f]);let z=async()=>{let h;try{h=await i.validateFields()}catch(C){return}try{if(u(!0),m)if(d){let C={},L=[],M=[];h.channels&&h.channels.length>0&&h.channels.forEach(j=>{j.id&&(j.name&&(C[j.id]=j.name),L.push(j.id),o===\"nodejs_tgchannel\"&&M.push(j.id))});let N=S({url:h.url,count:_(h.count),pic:h.pic,channelNameMap:C,channelUsername:L},o===\"nodejs_tgchannel\"?{homeChannelUsername:M}:{});await I.put(f.api,N)}else if(g)await I.put(f.api,{url:h.url||\"\",password:h.password||\"\"});else if(p){let C={sources:h.sources||[]};await I.put(f.api,C)}else v?await I.put(f.api,{servers:h.servers||[]}):y?await I.put(f.api,{servers:h.servers||[]}):k?await I.put(f.api,{url:h.url||\"\",cookie:h.cookie||\"\"}):await I.put(f.api,h.urls);s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\"),n(h.name,v||y?{reload:!0}:void 0),t()}catch(C){console.error(C),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat((C==null?void 0:C.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{u(!1)}},H=async()=>{if(m)try{u(!0),await I.delete(f.api);let h=await I.get(f.api);if(d){let C=[],L=new Set;h.channelNameMap&&Object.keys(h.channelNameMap).forEach(M=>L.add(M)),h.channelUsername&&h.channelUsername.forEach(M=>L.add(M)),h.homeChannelUsername&&h.homeChannelUsername.forEach(M=>L.add(M)),L.forEach(M=>{var N;C.push({id:M,name:((N=h.channelNameMap)==null?void 0:N[M])||\"\"})}),i.setFieldsValue({url:h.url,count:F(h==null?void 0:h.count),pic:h.pic,channels:C.length>0?C:E?[]:[{id:\"\",name:\"\"}]})}else g?i.setFieldsValue({url:h.url,password:h.password||\"\"}):p?i.setFieldsValue({sources:h.sources||[{name:\"\",url:\"\"}]}):v?i.setFieldsValue({servers:h.servers||[]}):y?i.setFieldsValue({servers:h.servers||[]}):k?i.setFieldsValue({url:h.url||\"\",cookie:h.cookie||\"\"}):i.setFieldsValue({urls:h});s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(h){console.error(h),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(h==null?void 0:h.message))}finally{u(!1)}};return r.default.createElement(s.Modal,{title:\"\\u7F16\\u8F91 \".concat(a||(f==null?void 0:f.name)||\"\"),open:e,onCancel:t,className:\"ios-modal domain-edit-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:i,layout:\"vertical\",requiredMark:!1,colon:!1},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u540D\\u79F0\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u540D\\u79F0\",className:v||y?\"domain-edit-full-input\":\"domain-edit-aligned-input\"})),m&&!d&&!g&&!p&&!v&&!y&&!k&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.List,{name:\"urls\",rules:[{required:!0,message:\"\\u8BF7\\u6DFB\\u52A0\\u57DF\\u540D\"}]},(h,{add:C,remove:L},{errors:M})=>r.default.createElement(r.default.Fragment,null,h.map((N,j)=>r.default.createElement(s.Form.Item,{label:j===0?\"\\u57DF\\u540D\":null,required:!1,key:N.key,style:{marginBottom:12}},r.default.createElement(\"div\",{className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},N),{validateTrigger:[\"onChange\",\"onBlur\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\"}],noStyle:!0}),r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\",className:\"domain-list-input\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(h.length>1?\"\":\" domain-list-action--placeholder\")},h.length>1?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>L(N.name)}):null)))),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>C(),className:\"domain-edit-add-button\",icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0\\u57DF\\u540D\"),r.default.createElement(s.Form.ErrorList,{errors:M}))))),m&&k&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"\\u57DF\\u540D\",name:\"url\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.Item,{label:\"Cookie\",name:\"cookie\"},r.default.createElement(s.Input.TextArea,{placeholder:\"\\u8BBF\\u95EE\\u7F51\\u7AD9\\u9700\\u8981\\u7684 Cookie\\uFF0C\\u4F8B\\u5982 bbs_token=xxx\",className:\"domain-edit-aligned-input\",autoSize:{minRows:3,maxRows:6}}))),m&&g&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"API \\u5730\\u5740\",name:\"url\"},r.default.createElement(s.Input,{placeholder:\"\\u7559\\u7A7A\\u4F7F\\u7528\\u9ED8\\u8BA4: http://127.0.0.1:8080\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.Item,{label:\"\\u8BBF\\u95EE\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"TGFileBot password\\uFF0C\\u53EF\\u7559\\u7A7A\",className:\"domain-edit-aligned-input\"}))),m&&v&&r.default.createElement(s.Form.Item,{name:\"servers\"},r.default.createElement(vd,null)),m&&y&&r.default.createElement(s.Form.Item,{name:\"servers\"},r.default.createElement(wd,null)),m&&d&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"TG\\u57DF\\u540D\",name:\"url\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165TG\\u57DF\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165TG\\u57DF\\u540D\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.Item,{label:\"\\u5355\\u9891\\u9053\\u8D44\\u6E90\\u6570\\u91CF\",name:\"count\"},r.default.createElement(s.InputNumber,{min:1,placeholder:\"\\u7559\\u7A7A\\u8868\\u793A\\u4E0D\\u9650\\u5236\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.List,{name:\"channels\",rules:[{validator:async(h,C)=>{if(!E&&(!C||C.length===0))return Promise.reject(new Error(\"\\u8BF7\\u81F3\\u5C11\\u6DFB\\u52A0\\u4E00\\u4E2A\\u9891\\u9053\"))}}]},(h,{add:C,remove:L},{errors:M})=>r.default.createElement(r.default.Fragment,null,h.map((N,j)=>r.default.createElement(s.Form.Item,{label:j===0?\"\\u9891\\u9053\\u5217\\u8868\":\"\",required:!1,key:N.key,style:{marginBottom:12}},r.default.createElement(\"div\",{className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},N),{name:[N.name,\"name\"],style:{marginBottom:0,flex:\"1\"}}),r.default.createElement(s.Input,{placeholder:\"\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,B(S({},N),{name:[N.name,\"id\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u9891\\u9053ID\"}],style:{marginBottom:0,flex:\"1\"}}),r.default.createElement(s.Input,{placeholder:\"\\u9891\\u9053ID\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(h.length>1||E?\"\":\" domain-list-action--placeholder\")},h.length>1||E?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>L(N.name)}):null)))),r.default.createElement(s.Form.Item,{label:\"\"},r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>C({id:\"\",name:\"\"}),className:\"domain-edit-add-button\",icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0\\u9891\\u9053\"),r.default.createElement(s.Form.ErrorList,{errors:M})))),r.default.createElement(s.Form.Item,{label:\"\\u663E\\u793A\\u56FE\\u7247\",name:\"pic\",valuePropName:\"checked\"},r.default.createElement(s.Switch,null))),m&&p&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.List,{name:\"sources\",rules:[{validator:async(h,C)=>{if(!C||C.length===0)return Promise.reject(new Error(\"\\u8BF7\\u81F3\\u5C11\\u6DFB\\u52A0\\u4E00\\u4E2A\\u76F4\\u64AD\\u6E90\"))}}]},(h,{add:C,remove:L},{errors:M})=>r.default.createElement(r.default.Fragment,null,h.map((N,j)=>r.default.createElement(s.Form.Item,{label:j===0?\"\\u76F4\\u64AD\\u6E90\\u5217\\u8868\":\"\",required:!1,key:N.key,style:{marginBottom:12}},r.default.createElement(\"div\",{className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},N),{name:[N.name,\"name\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u540D\\u79F0\"}],style:{marginBottom:0,flex:\"1\"}}),r.default.createElement(s.Input,{placeholder:\"\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,B(S({},N),{name:[N.name,\"url\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u76F4\\u64AD\\u6E90URL\"}],style:{marginBottom:0,flex:\"2\"}}),r.default.createElement(s.Input,{placeholder:\"\\u76F4\\u64AD\\u6E90URL (m3u/txt)\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(h.length>1?\"\":\" domain-list-action--placeholder\")},h.length>1?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>L(N.name)}):null)))),r.default.createElement(s.Form.Item,{label:\"\"},r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>C({name:\"\",url:\"\"}),className:\"domain-edit-add-button\",icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0\\u76F4\\u64AD\\u6E90\"),r.default.createElement(s.Form.ErrorList,{errors:M}))))),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:z,disabled:l},\"\\u4FDD\\u5B58\"),m&&r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:H,disabled:l},\"\\u91CD\\u7F6E\")))))}var Sd=new Set([\"nodejs_push\",\"nodejs_muban\",\"nodejs_template\"]),Od=new Set([\"\\u63A8\\u9001\",\"\\u6A21\\u677F\"]);function kd(e){let t=String(e.name||\"\").trim();return!Sd.has(e.key)&&!Od.has(t)}function Td(){let[e,t]=(0,r.useState)([]),[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(!1),[l,u]=(0,r.useState)(!1),[c,f]=(0,r.useState)(!1),[m,d]=(0,r.useState)(!1),[g,p]=(0,r.useState)(null),[v,y]=(0,r.useState)([]),[k,E]=(0,r.useState)(!1),[w,F]=(0,r.useState)(null),[_,z]=(0,r.useState)([]),[H,h]=(0,r.useState)(!1),[C,L]=(0,r.useState)(null),[M,N]=(0,r.useState)([]),[j,ne]=(0,r.useState)(!1),[ie,we]=(0,r.useState)(null),[Ce,J]=(0,r.useState)([]),[Ee,ue]=(0,r.useState)(!1),[T,A]=(0,r.useState)([]),[$,U]=(0,r.useState)(!1),[me,Se]=(0,r.useState)(null),[de,Pe]=(0,r.useState)([]),[Oe,ge]=(0,r.useState)(\"\"),[q,We]=(0,r.useState)(null),xe=(0,r.useMemo)(()=>e.filter(kd),[e]),Le=(0,r.useMemo)(()=>new Set(v.map(b=>b.id).filter(Boolean)),[v]),ke=(0,r.useMemo)(()=>new Set(_.map(b=>b.id).filter(Boolean)),[_]),Be=b=>{let O=xd(b==null?void 0:b.key);if(O){Ge(O);return}let D=hd(b==null?void 0:b.key);if(D){Gt(D);return}if(b!=null&&b.cms){$n(b.key);return}We(b),b.key===\"nodejs_pansou\"?i(!0):o(!0)},_e=(b,O={})=>{if(O.reload){ce();return}if(q){let D=e.findIndex(P=>P.key===q.key);D!==-1&&(e[D].name=b,t([...e]))}},Ht=async()=>{try{f(!0);let b=await I.get(\"/emby-spider/setting\");y(Array.isArray(b==null?void 0:b.servers)?b.servers:[]),p(B(S({},Lr()),{isNew:!0})),u(!1),d(!0)}catch(b){console.error(b),s.message.error(\"\\u52A0\\u8F7D Emby \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((b==null?void 0:b.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{f(!1)}},jt=async()=>{try{f(!0);let b=await I.get(\"/alist-video/setting\");N(Array.isArray(b==null?void 0:b.servers)?b.servers:[]),L(B(S({},ui()),{isNew:!0})),u(!1),h(!0)}catch(b){console.error(b),s.message.error(\"\\u52A0\\u8F7D Alist \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((b==null?void 0:b.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{f(!1)}},yt=async()=>{try{f(!0);let b=await I.get(\"/cms/list\");A(Array.isArray(b)?b:[]),u(!1),ue(!0)}catch(b){console.error(b),s.message.error(\"\\u52A0\\u8F7D CMS \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((b==null?void 0:b.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{f(!1)}},Fe=async b=>{let O=Dr(b),D=v.findIndex(V=>V.id===O.id),P=D>=0?[...v]:[...v,O];D>=0&&(P[D]=O),await I.put(\"/emby-spider/setting\",{servers:P}),y(P),d(!1),p(null),await ce()},lt=()=>{d(!1),p(null)},dt=async b=>{let O=Nr(b),D=M.findIndex(V=>V.id===O.id),P=D>=0?[...M]:[...M,O];D>=0&&(P[D]=O),await I.put(\"/alist-video/setting\",{servers:P}),N(P),h(!1),L(null),await ce()},Vt=()=>{h(!1),L(null)},Ut=async b=>{let O=Dd(T,b);await I.put(\"/cms/list\",O),A(O),ue(!1),await ce()},Bn=()=>{ue(!1)},$n=async b=>{try{let O=await I.get(\"/cms/list\"),D=Array.isArray(O)?O:[],P=D.find(V=>Fr(V)===b);if(!P){s.message.warning(\"\\u672A\\u627E\\u5230\\u5BF9\\u5E94\\u7684 CMS \\u6E90\\u914D\\u7F6E\");return}Pe(D),Se(S({},P)),ge(b),U(!0)}catch(O){console.error(O),s.message.error(\"\\u52A0\\u8F7D CMS \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((O==null?void 0:O.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}},$e=async b=>{let O=ci(b);if(!O){s.message.warning(\"CMS \\u6E90\\u4FE1\\u606F\\u4E0D\\u5B8C\\u6574\");return}let D=de.map(P=>Fr(P)===Oe?O:P);await I.put(\"/cms/list\",D),Pe(D),U(!1),Se(null),ge(\"\"),await ce()},ze=b=>{b&&s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(b.name||\"CMS \\u6E90\",\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8FD9\\u4E2A CMS \\u89C6\\u9891\\u6E90\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u5217\\u8868\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){let O=de.filter(D=>Fr(D)!==Oe);await I.put(\"/cms/list\",O),Pe(O),U(!1),Se(null),ge(\"\"),await ce()}})},Ge=async b=>{try{let O=await I.get(\"/emby-spider/setting\"),D=Array.isArray(O==null?void 0:O.servers)?O.servers:[],P=D.find(V=>V.id===b);if(!P){s.message.warning(\"\\u672A\\u627E\\u5230\\u5BF9\\u5E94\\u7684 Emby \\u670D\\u52A1\\u5668\\u914D\\u7F6E\");return}z(D),F(S({},P)),E(!0)}catch(O){console.error(O),s.message.error(\"\\u52A0\\u8F7D Emby \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((O==null?void 0:O.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}},Wt=async b=>{let O=Dr(b),D=_.map(P=>P.id===(w==null?void 0:w.id)?O:P);await I.put(\"/emby-spider/setting\",{servers:D}),z(D),E(!1),F(null),await ce()},Ie=b=>{b!=null&&b.id&&s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Ln(b),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8FD9\\u53F0 Emby \\u5BF9\\u5E94\\u7684\\u89C6\\u9891\\u6E90\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u5217\\u8868\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){let O=_.filter(D=>D.id!==b.id);await I.put(\"/emby-spider/setting\",{servers:O}),z(O),E(!1),F(null),await ce()}})},Gt=async b=>{try{let O=await I.get(\"/alist-video/setting\"),D=Array.isArray(O==null?void 0:O.servers)?O.servers:[],P=D.find(V=>V.id===b);if(!P){s.message.warning(\"\\u672A\\u627E\\u5230\\u5BF9\\u5E94\\u7684 Alist \\u670D\\u52A1\\u5668\\u914D\\u7F6E\");return}J(D),we(S({},P)),ne(!0)}catch(O){console.error(O),s.message.error(\"\\u52A0\\u8F7D Alist \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((O==null?void 0:O.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}},zn=async b=>{let O=Nr(b),D=Ce.map(P=>P.id===(ie==null?void 0:ie.id)?O:P);await I.put(\"/alist-video/setting\",{servers:D}),J(D),ne(!1),we(null),await ce()},qn=b=>{b!=null&&b.id&&s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Br(b),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8FD9\\u53F0 Alist \\u5BF9\\u5E94\\u7684\\u89C6\\u9891\\u6E90\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u5217\\u8868\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){let O=Ce.filter(D=>D.id!==b.id);await I.put(\"/alist-video/setting\",{servers:O}),J(O),ne(!1),we(null),await ce()}})},vt=(0,r.useMemo)(()=>[{title:\"\",dataIndex:\"drag\",width:40,render(b,O){return r.default.createElement(di,{rowKey:O.key})}},{title:\"\\u7AD9\\u6E90\",dataIndex:\"name\",render(b,O){return r.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",minWidth:0}},r.default.createElement(\"span\",{title:b,style:{flex:1,minWidth:0,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"}},b),O.t4&&r.default.createElement(s.Tag,{className:\"ios-tag\"},\"T4\"))}},{title:\"\\u542F\\u7528\",dataIndex:\"enable\",render(b,O){return r.default.createElement(s.Switch,{value:b,onChange:D=>{t(P=>P.map(V=>V.key===O.key?B(S({},V),{enable:D}):V))}})},width:80},{title:\"\\u64CD\\u4F5C\",dataIndex:\"action\",width:60,render(b,O){return r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>Be(O),size:\"small\"})}}],[e]),Yt=wr(Lt(at,{activationConstraint:{distance:1}}),Lt(xt,{activationConstraint:{delay:150,tolerance:5}})),Hn=({active:b,over:O})=>{b.id!==(O==null?void 0:O.id)&&t(D=>{let P=D.findIndex(fe=>fe.key===b.id),V=D.findIndex(fe=>fe.key===(O==null?void 0:O.id));return Bt(D,P,V)})},ce=async()=>{let O=(await bt.default.get(\"/full-config\")).data.video.sites,D=await I.get(\"/sites/list\"),P={},V={};O.forEach(G=>{V[G.key]=G});let fe=D.filter(G=>(P[G.key]=!0,V[G.key])).map(G=>{let se=V[G.key];return{key:G.key,name:G.name||se.name,enable:G.enable,t4:se.t4,cms:se.cms}});O.forEach(G=>{P[G.key]||fe.push({key:G.key,name:G.name,enable:!0,t4:G.t4,cms:G.cms})}),t(fe)},jn=async()=>{try{await I.put(\"/sites/list\",{list:e}),s.message.success({content:r.default.createElement(r.default.Fragment,null,\"\\u8BBE\\u7F6E\\u6210\\u529F\",r.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",r.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",r.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",r.default.createElement(\"br\",null)),duration:5})}catch(b){console.error(b),s.message.error(\"\\u8BBE\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(b==null?void 0:b.message))}},Vn=async()=>{try{await I.delete(\"/sites/list\"),ce(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(b){console.error(b),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(b==null?void 0:b.message))}};return(0,r.useEffect)(()=>{ce()},[]),r.default.createElement(\"div\",null,r.default.createElement(\"div\",{className:\"sites-list-toolbar\"},r.default.createElement(s.Dropdown,{open:l,onOpenChange:u,trigger:[\"click\"],placement:\"bottomRight\",dropdownRender:()=>r.default.createElement(\"div\",{className:\"site-add-menu\"},r.default.createElement(\"button\",{type:\"button\",className:\"site-add-type-item\",onClick:Ht,disabled:c},r.default.createElement(\"span\",{className:\"site-add-type-item__icon\"},r.default.createElement(\"img\",{src:Er,alt:\"\",\"aria-hidden\":\"true\"})),r.default.createElement(\"span\",{className:\"site-add-type-item__name\"},\"Emby\")),r.default.createElement(\"button\",{type:\"button\",className:\"site-add-type-item\",onClick:jt,disabled:c},r.default.createElement(\"span\",{className:\"site-add-type-item__icon\"},r.default.createElement(\"img\",{src:ei,alt:\"\",\"aria-hidden\":\"true\"})),r.default.createElement(\"span\",{className:\"site-add-type-item__name\"},\"Alist\")),r.default.createElement(\"button\",{type:\"button\",className:\"site-add-type-item\",onClick:yt,disabled:c},r.default.createElement(\"span\",{className:\"site-add-type-item__icon\"},r.default.createElement(\"img\",{src:ti,alt:\"\",\"aria-hidden\":\"true\"})),r.default.createElement(\"span\",{className:\"site-add-type-item__name\"},\"CMS\")))},r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),className:\"sites-add-button\"},\"\\u6DFB\\u52A0\"))),r.default.createElement(Cr,{sensors:Yt,modifiers:[Sr],onDragEnd:Hn},r.default.createElement(kr,{items:xe.map(b=>b.key),strategy:Or},r.default.createElement(s.Table,{components:{body:{row:li}},rowKey:\"key\",columns:vt,dataSource:xe,pagination:!1,tableLayout:\"fixed\",className:\"sites-table\"}))),r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:jn},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:Vn},\"\\u91CD\\u7F6E\")),r.default.createElement(Cd,{visible:n,onCancel:()=>o(!1),onSave:_e,siteKey:q==null?void 0:q.key,siteName:q==null?void 0:q.name}),r.default.createElement(yd,{visible:a,onCancel:()=>i(!1),onSave:_e,siteName:q==null?void 0:q.name}),r.default.createElement(Ar,{visible:m,onCancel:lt,onSave:Fe,server:g,usedIds:Le}),r.default.createElement(Ar,{visible:k,onCancel:()=>E(!1),onSave:Wt,onDelete:Ie,server:w,usedIds:ke}),r.default.createElement(_r,{visible:H,onCancel:Vt,onSave:dt,server:C}),r.default.createElement(_r,{visible:j,onCancel:()=>ne(!1),onSave:zn,onDelete:qn,server:ie}),r.default.createElement(Nd,{visible:Ee,onCancel:Bn,onSave:Ut}),r.default.createElement(fi,{visible:$,onCancel:()=>U(!1),onSave:$e,onDelete:ze,source:me,mode:\"edit\"}))}function Ed(){let[e,t]=(0,r.useState)([]),[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(null),l=(0,r.useMemo)(()=>[{title:\"\",dataIndex:\"drag\",width:40,render(p,v){return r.default.createElement(di,{rowKey:v.key})}},{title:\"\\u7F51\\u76D8\",dataIndex:\"name\",render(p,v){return r.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",minWidth:0}},r.default.createElement(\"span\",{title:p,style:{flex:1,minWidth:0,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"}},p),(v.key===\"quark\"||v.key===\"uc\"||v.key===\"ali\")&&v.chunkSize&&r.default.createElement(s.Tag,{className:\"ios-tag\"},v.chunkSize,\"K\\xB7\",v.poolSize))}},{title:\"\\u542F\\u7528\",dataIndex:\"enable\",render(p,v,y){return r.default.createElement(s.Switch,{value:p,onChange:k=>{e[y].enable=k,t([...e])}})},width:80},{title:\"\\u64CD\\u4F5C\",dataIndex:\"action\",width:60,render(p,v,y){return r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>{i(B(S({},v),{index:y})),o(!0)},size:\"small\"})}}],[e]),u=wr(Lt(at,{activationConstraint:{distance:1}}),Lt(xt,{activationConstraint:{delay:150,tolerance:5}})),c=({active:p,over:v})=>{p.id!==(v==null?void 0:v.id)&&t(y=>{let k=y.findIndex(w=>w.key===p.id),E=y.findIndex(w=>w.key===(v==null?void 0:v.id));return Bt(y,k,E)})},f=async()=>{let p=await I.get(\"/pans/list\");t(p)},m=async()=>{try{await I.put(\"/pans/list\",{list:e}),s.message.success({content:r.default.createElement(r.default.Fragment,null,\"\\u8BBE\\u7F6E\\u6210\\u529F\",r.default.createElement(\"br\",null),r.default.createElement(\"span\",{style:{fontSize:\"12px\",color:\"#999\"}},\"\\u914D\\u7F6E\\u5DF2\\u4FDD\\u5B58\\u5E76\\u7ACB\\u5373\\u751F\\u6548\")),duration:2})}catch(p){console.error(p),s.message.error(\"\\u8BBE\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(p==null?void 0:p.message))}},d=async()=>{try{await I.delete(\"/pans/list\"),f(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(p){console.error(p),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(p==null?void 0:p.message))}},g=p=>{let v=String(p.name||\"\").trim(),y=String(p.pic||\"\").trim(),k=B(S({},e[a.index]),{name:v,pic:y});(a.key===\"quark\"||a.key===\"uc\"||a.key===\"ali\")&&(k.chunkSize=p.chunkSize,k.poolSize=p.poolSize),a.key===\"quark\"&&(k.noSaveMode=p.noSaveMode===!0),e[a.index]=k,t([...e]),o(!1),s.message.info('\\u914D\\u7F6E\\u5DF2\\u66F4\\u65B0\\uFF0C\\u8BF7\\u70B9\\u51FB\\u4E0B\\u65B9\"\\u4FDD\\u5B58\"\\u6309\\u94AE\\u4FDD\\u5B58\\u914D\\u7F6E')};return(0,r.useEffect)(()=>{f()},[]),r.default.createElement(\"div\",null,r.default.createElement(Cr,{sensors:u,modifiers:[Sr],onDragEnd:c},r.default.createElement(kr,{items:e.map(p=>p.key),strategy:Or},r.default.createElement(s.Table,{components:{body:{row:li}},rowKey:\"key\",columns:l,dataSource:e,pagination:!1,tableLayout:\"fixed\",className:\"sites-table\"}))),r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:m},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:d},\"\\u91CD\\u7F6E\")),r.default.createElement(dd,{visible:n,onCancel:()=>o(!1),onSave:g,panKey:a==null?void 0:a.key,panName:a==null?void 0:a.name,panPic:a==null?void 0:a.pic,chunkSize:a==null?void 0:a.chunkSize,poolSize:a==null?void 0:a.poolSize,noSaveMode:a==null?void 0:a.noSaveMode}))}function Fd(){let[e]=s.Form.useForm(),[t,n]=(0,r.useState)(!1),o=\"/emby/setting\",a=async()=>{let c=await I.get(o);e.setFieldsValue(c)},i=async()=>{let c=await e.validateFields();try{await I.put(o,c),s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\")}catch(f){console.error(f),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat(f==null?void 0:f.message))}},l=async()=>{try{await I.delete(o),a(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(c){console.error(c),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(c==null?void 0:c.message))}},u=()=>{s.Modal.confirm({title:\"\\u786E\\u8BA4\\u6E05\\u7406 TMDB \\u7F13\\u5B58\\uFF1F\",content:\"\\u5C06\\u6E05\\u7A7A\\u670D\\u52A1\\u7AEF TMDB \\u7F13\\u5B58\\uFF08\\u542B\\u5185\\u5B58\\u4E0E\\u6301\\u4E45\\u5316\\u6570\\u636E\\uFF09\\uFF0C\\u540E\\u7EED\\u8BE6\\u60C5\\u4F1A\\u91CD\\u65B0\\u8BF7\\u6C42 TMDB\\u3002\",okText:\"\\u6E05\\u7406\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){n(!0);try{await I.post(\"/emby/tmdb/cache/clear\"),s.message.success(\"TMDB \\u7F13\\u5B58\\u5DF2\\u6E05\\u7406\")}catch(c){console.error(c),s.message.error(\"\\u6E05\\u7406\\u5931\\u8D25\\uFF1A\".concat(c==null?void 0:c.message))}finally{n(!1)}}})};return(0,r.useEffect)(()=>{a()},[]),r.default.createElement(s.Form,{form:e,layout:\"vertical\",style:{maxWidth:600},className:\"ios-form\"},r.default.createElement(s.Form.Item,{label:\"\\u670D\\u52A1\\u5668\\u540D\\u79F0\",name:\"serverName\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u670D\\u52A1\\u5668\\u540D\\u79F0\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u670D\\u52A1\\u5668\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,{label:\"\\u767B\\u5F55\\u7528\\u6237\\u540D\",name:\"username\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u7528\\u6237\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u7528\\u6237\\u540D\"})),r.default.createElement(s.Form.Item,{label:\"\\u767B\\u5F55\\u5BC6\\u7801\",name:\"password\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u5BC6\\u7801\"}]},r.default.createElement(s.Input.Password,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u5BC6\\u7801\"})),r.default.createElement(s.Form.Item,{label:\"TMDB API Key\",name:\"tmdbApiKey\",tooltip:\"TMDB v3 API Key\\uFF0C\\u542F\\u7528\\u589E\\u5F3A\\u65F6\\u5FC5\\u586B\",rules:[({getFieldValue:c})=>({validator(f,m){return!c(\"tmdbEnable\")||String(m||\"\").trim()?Promise.resolve():Promise.reject(new Error(\"\\u542F\\u7528 TMDB \\u589E\\u5F3A\\u65F6\\u8BF7\\u8F93\\u5165 API Key\"))}})]},r.default.createElement(s.Input.Password,{placeholder:\"\\u8BF7\\u8F93\\u5165 TMDB API Key\",autoComplete:\"off\"})),r.default.createElement(s.Form.Item,{label:\"\\u542F\\u7528 Emby\",name:\"enable\",valuePropName:\"checked\",style:{marginBottom:16}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"\\u641C\\u7D22\\u663E\\u793A\\u6765\\u6E90\",name:\"searchSourcePrefix\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u641C\\u7D22\\u7ED3\\u679C\\u6807\\u9898\\u663E\\u793A\\u4E3A\\u201C\\u6765\\u6E90 \\xB7 \\u6807\\u9898\\u201D\",style:{marginBottom:24}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"\\u542F\\u7528 TMDB \\u589E\\u5F3A\",name:\"tmdbEnable\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u4F18\\u5148\\u4F7F\\u7528 TMDB \\u7684\\u6D77\\u62A5\\u3001\\u5267\\u7167\\u548C\\u5143\\u6570\\u636E\",style:{marginBottom:16}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"TMDB \\u7F13\\u5B58\",tooltip:\"\\u4EC5\\u6E05\\u7406\\u670D\\u52A1\\u7AEF TMDB \\u7F13\\u5B58\\uFF0C\\u4E0D\\u5F71\\u54CD\\u5217\\u8868/\\u641C\\u7D22\\u7AD9\\u6E90\\u7F13\\u5B58\"},r.default.createElement(s.Button,{danger:!0,onClick:u,loading:t},\"\\u4E00\\u952E\\u6E05\\u7406 TMDB \\u7F13\\u5B58\")),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:i},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:l},\"\\u91CD\\u7F6E\"))))}function Id(){let[e]=s.Form.useForm(),t=\"/danmu/setting\",n=async()=>{let i=await I.get(t);e.setFieldsValue(i)},o=async()=>{let i=await e.validateFields();try{await I.put(t,i),s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\")}catch(l){console.error(l),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat(l==null?void 0:l.message))}},a=async()=>{try{await I.delete(t),n(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(i){console.error(i),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(i==null?void 0:i.message))}};return(0,r.useEffect)(()=>{n()},[]),r.default.createElement(s.Form,{form:e,layout:\"vertical\",style:{maxWidth:600},className:\"ios-form\"},r.default.createElement(s.Form.Item,{label:\"API \\u5217\\u8868\",style:{marginBottom:8}},r.default.createElement(s.Form.List,{name:\"urls\",rules:[{required:!0,message:\"\\u8BF7\\u6DFB\\u52A0API\\u5730\\u5740\"}]},(i,{add:l,remove:u},{errors:c})=>r.default.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:12}},i.map(f=>r.default.createElement(\"div\",{key:f.key,className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},f),{name:[f.name,\"address\"],validateTrigger:[\"onChange\",\"onBlur\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165API\\u5730\\u5740\"}],style:{flex:1,marginBottom:0}}),r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165API\\u5730\\u5740\"})),r.default.createElement(s.Form.Item,B(S({},f),{name:[f.name,\"name\"],validateTrigger:[\"onChange\",\"onBlur\"],style:{width:100,marginBottom:0,flexShrink:0}}),r.default.createElement(s.Input,{placeholder:\"\\u522B\\u540D\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(i.length>1?\"\":\" domain-list-action--placeholder\")},i.length>1?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>u(f.name)}):null))),r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>l(),block:!0,icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0 API\"),r.default.createElement(s.Form.ErrorList,{errors:c})))),r.default.createElement(s.Form.Item,{label:\"\\u81EA\\u52A8\\u63A8\\u9001\",name:\"autoPush\",valuePropName:\"checked\",style:{marginBottom:16}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"\\u8C03\\u8BD5\\u4FE1\\u606F\",name:\"debug\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u5728\\u63A7\\u5236\\u53F0\\u663E\\u793A\\u8BE6\\u7EC6\\u7684\\u5F39\\u5E55\\u5339\\u914D\\u8C03\\u8BD5\\u4FE1\\u606F\",style:{marginBottom:24}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:o},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:a},\"\\u91CD\\u7F6E\"))))}function ci(e,t=\"\"){if(!e||typeof e!=\"object\")return null;let n=String(e.address||e.api||e.url||\"\").trim();if(!n)return null;let o=\"\";try{o=new URL(/^https?:\\/\\//i.test(n)?n:\"https://\".concat(n)).hostname}catch(l){}let a=String(e.name||e.title||t||o||\"CMS\").trim();return{name:a.startsWith(\"\\u300C\\u91C7\\u300D\")?a:\"\\u300C\\u91C7\\u300D\".concat(a),address:n}}function Fr(e={}){return\"nodejs_\".concat(String(e.name||\"\").trim())}function Dd(e=[],t=[]){let n=new Set;return[...e,...t].map(o=>ci(o)).filter(o=>!o||n.has(o.address)?!1:(n.add(o.address),!0))}function fi({visible:e,onCancel:t,onSave:n,onDelete:o,source:a,mode:i=\"add\"}){let[l]=s.Form.useForm(),[u,c]=(0,r.useState)(!1);(0,r.useEffect)(()=>{e&&l.setFieldsValue({name:(a==null?void 0:a.name)||\"\",url:(a==null?void 0:a.address)||\"\"})},[e,a,l]);let f=async()=>{let m;try{m=await l.validateFields()}catch(p){return}let d=String(m.name||\"\").trim(),g=String(m.url||\"\").trim();try{if(c(!0),i===\"edit\"&&g===String((a==null?void 0:a.address)||\"\").trim()){await n({name:d,address:g}),s.message.success(\"CMS \\u6E90\\u4FDD\\u5B58\\u6210\\u529F\");return}let p=await I.post(\"/cms/resolve\",{name:d,url:g}),v=Array.isArray(p==null?void 0:p.sources)?p.sources:[];if(v.length===0){s.message.warning(\"\\u672A\\u8BC6\\u522B\\u5230\\u53EF\\u7528\\u7684 CMS \\u6E90\");return}i===\"edit\"?(await n(v[0]),s.message.success(v.length>1?\"\\u5DF2\\u4F7F\\u7528\\u8BC6\\u522B\\u7ED3\\u679C\\u4E2D\\u7684\\u7B2C\\u4E00\\u4E2A CMS \\u6E90\":\"CMS \\u6E90\\u4FDD\\u5B58\\u6210\\u529F\")):(await n(v),s.message.success(v.length>1?\"\\u5DF2\\u6DFB\\u52A0 \".concat(v.length,\" \\u4E2A CMS \\u6E90\"):\"CMS \\u6E90\\u6DFB\\u52A0\\u6210\\u529F\"))}catch(p){console.error(p),s.message.error(\"\".concat(i===\"edit\"?\"CMS \\u4FDD\\u5B58\\u5931\\u8D25\":\"CMS \\u89E3\\u6790\\u5931\\u8D25\",\"\\uFF1A\").concat((p==null?void 0:p.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{c(!1)}};return r.default.createElement(s.Modal,{title:i===\"edit\"?\"\\u7F16\\u8F91 \".concat((a==null?void 0:a.name)||\"CMS \\u6E90\"):\"\\u6DFB\\u52A0 CMS \\u6E90\",open:e,onCancel:t,confirmLoading:u,className:\"ios-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:l,layout:\"vertical\",className:\"ios-form\",requiredMark:!1},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\",tooltip:\"\\u7559\\u7A7A\\u65F6\\u4F7F\\u7528\\u63A5\\u53E3\\u8FD4\\u56DE\\u540D\\u79F0\\u6216\\u57DF\\u540D\\uFF0C\\u4FDD\\u5B58\\u65F6\\u4F1A\\u81EA\\u52A8\\u6DFB\\u52A0\\u300C\\u91C7\\u300D\\u524D\\u7F00\"},r.default.createElement(s.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A\\u6211\\u7684 CMS\"})),r.default.createElement(s.Form.Item,{label:\"API \\u5730\\u5740\",name:\"url\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165 CMS API \\u5730\\u5740\"}]},r.default.createElement(s.Input,{placeholder:\"example.com \\u6216 https://example.com/api.php/provide/vod/\"})),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group\".concat(i===\"edit\"?\"\":\" emby-server-edit-actions--new\")},i===\"edit\"&&r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--danger\",onClick:()=>o==null?void 0:o(a),disabled:u},\"\\u5220\\u9664\"),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:f,disabled:u},u?i===\"edit\"?\"\\u4FDD\\u5B58\\u4E2D...\":\"\\u89E3\\u6790\\u4E2D...\":i===\"edit\"?\"\\u4FDD\\u5B58\":\"\\u89E3\\u6790\\u5E76\\u6DFB\\u52A0\")))))}function Nd(e){return r.default.createElement(fi,B(S({},e),{mode:\"add\"}))}function Ad(){let[e,t]=(0,r.useState)([]),[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(!1),l=(0,r.useCallback)(async()=>{o(!0);try{let c=await I.get(\"/subscriptions\");t(Array.isArray(c==null?void 0:c.endpoints)?c.endpoints:[])}catch(c){console.error(\"\\u52A0\\u8F7D\\u8BA2\\u9605\\u63A5\\u53E3\\u5931\\u8D25:\",c),c!=null&&c.handled||s.message.error(\"\\u52A0\\u8F7D\\u8BA2\\u9605\\u63A5\\u53E3\\u5931\\u8D25\")}finally{o(!1)}},[]);(0,r.useEffect)(()=>{l()},[l]);let u=c=>{(0,Mr.default)(c.url),s.message.success(\"\\u5DF2\\u590D\\u5236\\u5230\\u526A\\u8D34\\u677F\")};return r.default.createElement(\"div\",{className:\"subscription-page\"},r.default.createElement(\"section\",{className:\"subscription-section\"},r.default.createElement(s.Spin,{spinning:n},r.default.createElement(\"div\",{className:\"subscription-endpoints\"},e.map(c=>r.default.createElement(\"div\",{className:\"subscription-endpoint\",key:c.key||c.url},r.default.createElement(\"div\",{className:\"subscription-endpoint__main\"},r.default.createElement(\"div\",{className:\"subscription-endpoint__title\"},r.default.createElement(\"span\",null,c.name)),r.default.createElement(\"div\",{className:\"subscription-endpoint__url\",title:c.url},c.url)),r.default.createElement(\"div\",{className:\"subscription-endpoint__actions\"},c.key===\"emby\"&&r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(yn,null),onClick:()=>i(!0),\"aria-label\":\"\\u914D\\u7F6E Emby API\"}),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(ir,null),onClick:()=>u(c),\"aria-label\":\"\\u590D\\u5236\".concat(c.name)}),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(ur,null),href:c.url,target:\"_blank\",rel:\"noreferrer\",\"aria-label\":\"\\u6253\\u5F00\".concat(c.name)}))))))),r.default.createElement(s.Modal,{title:\"Emby API \\u8BBE\\u7F6E\",open:a,footer:null,onCancel:()=>i(!1),destroyOnClose:!0,className:\"ios-modal subscription-setting-modal\"},r.default.createElement(Fd,null)))}function _d(){let[e,t]=(0,r.useState)(\"account\"),n={accept:\".json\",showUploadList:!1,beforeUpload(i){let l=new FileReader;return l.onload=async u=>{try{let c=JSON.parse(u.target.result);await I.put(\"/backup\",c),s.message.success(\"\".concat(i.name,\"\\u5BFC\\u5165\\u6210\\u529F\"))}catch(c){s.message.error(\"\".concat(i.name,\"\\u5BFC\\u5165\\u5931\\u8D25: \").concat(c.message)),console.error(\"Error parsing JSON:\",c)}},l.readAsText(i),!1}},o=[{key:\"account\",label:\"\\u767B\\u5F55\",icon:r.default.createElement(cr,null)},{key:\"settings\",label:\"\\u8BBE\\u7F6E\",icon:r.default.createElement(yn,null)}],a=()=>{switch(e){case\"account\":return r.default.createElement(Zl,null);case\"settings\":return r.default.createElement(s.Tabs,{destroyOnHidden:!0},r.default.createElement(Mn,{tab:\"\\u7AD9\\u6E90\\u5217\\u8868\",key:\"sites\"},r.default.createElement(Td,null)),r.default.createElement(Mn,{tab:\"\\u7F51\\u76D8\\u5217\\u8868\",key:\"pans\"},r.default.createElement(Ed,null)),r.default.createElement(Mn,{tab:\"\\u5F39\\u5E55\\u8BBE\\u7F6E\",key:\"danmu\"},r.default.createElement(Id,null)),r.default.createElement(Mn,{tab:\"\\u8BA2\\u9605\\u8F6C\\u6362\",key:\"subscriptions\"},r.default.createElement(Ad,null)));default:return null}};return r.default.createElement(\"div\",{className:\"app-layout\"},r.default.createElement(\"div\",{className:\"top-nav-bar\"},r.default.createElement(\"div\",{className:\"nav-pill\"},o.map(i=>r.default.createElement(\"div\",{key:i.key,className:\"nav-tab \".concat(e===i.key?\"nav-tab--active\":\"\"),onClick:()=>t(i.key)},i.icon,r.default.createElement(\"span\",null,i.label))),r.default.createElement(\"div\",{className:\"nav-divider\"}),r.default.createElement(\"div\",{className:\"nav-actions\"},r.default.createElement(s.Upload,S({},n),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(dr,null),size:\"small\"},\"\\u5BFC\\u5165\")),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(sr,null),size:\"small\",href:\"/website/backup\",target:\"_blank\"},\"\\u5BFC\\u51FA\")))),r.default.createElement(\"div\",{className:\"container\"},r.default.createElement(s.Card,{className:\"main-card\"},a())))}function Md(){(0,ii.createRoot)(document.getElementById(\"app\")).render(r.default.createElement(_d,null))}\n/*! Bundled license information:\n\nclassnames/index.js:\n (*!\n \tCopyright (c) 2018 Jed Watson.\n \tLicensed under the MIT License (MIT), see\n \thttp://jedwatson.github.io/classnames\n *)\n*/\n"}
module.exports.renderClient();
})();
`;
}();
globalThis.danmuBundle = function() {
return `
(function() {
const exports = {};
const module = { exports };
${"var Bt=Object.create;var R=Object.defineProperty,Lt=Object.defineProperties,Nt=Object.getOwnPropertyDescriptor,Ht=Object.getOwnPropertyDescriptors,qt=Object.getOwnPropertyNames,pe=Object.getOwnPropertySymbols,Ut=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty,jt=Object.prototype.propertyIsEnumerable;var xe=(t,e,r)=>e in t?R(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,he=(t,e)=>{for(var r in e||(e={}))ce.call(e,r)&&xe(t,r,e[r]);if(pe)for(var r of pe(e))jt.call(e,r)&&xe(t,r,e[r]);return t},Oe=(t,e)=>Lt(t,Ht(e));var D=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Wt=(t,e)=>{for(var r in e)R(t,r,{get:e[r],enumerable:!0})},ge=(t,e,r,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of qt(e))!ce.call(t,a)&&a!==r&&R(t,a,{get:()=>e[a],enumerable:!(o=Nt(e,a))||o.enumerable});return t};var T=(t,e,r)=>(r=t!=null?Bt(Ut(t)):{},ge(e||!t||!t.__esModule?R(r,\"default\",{value:t,enumerable:!0}):r,t)),Vt=t=>ge(R({},\"__esModule\",{value:!0}),t);var C=D((vr,Te)=>{Te.exports=window.React});var be=D((Sr,we)=>{we.exports=window.ReactDOM});var Ce=D(X=>{\"use strict\";var Fe=be();X.createRoot=Fe.createRoot,X.hydrateRoot=Fe.hydrateRoot;var kr});var ve=D((Ar,ye)=>{ye.exports=window.antd});var Ee=D((eo,H)=>{(function(){\"use strict\";var t={}.hasOwnProperty;function e(){for(var a=\"\",l=0;l<arguments.length;l++){var n=arguments[l];n&&(a=o(a,r(n)))}return a}function r(a){if(typeof a==\"string\"||typeof a==\"number\")return a;if(typeof a!=\"object\")return\"\";if(Array.isArray(a))return e.apply(null,a);if(a.toString!==Object.prototype.toString&&!a.toString.toString().includes(\"[native code]\"))return a.toString();var l=\"\";for(var n in a)t.call(a,n)&&a[n]&&(l=o(l,n));return l}function o(a,l){return l?a?a+\" \"+l:a+l:a}typeof H<\"u\"&&H.exports?(e.default=e,H.exports=e):typeof define==\"function\"&&typeof define.amd==\"object\"&&define.amd?define(\"classnames\",[],function(){return e}):window.classNames=e})()});var Mt=D((ia,Rt)=>{Rt.exports=window.axios});var Cr={};Wt(Cr,{Danmu:()=>Et,renderDanmu:()=>Fr});module.exports=Vt(Cr);var s=T(C(),1),_t=T(Ce(),1),x=T(ve(),1);var Se=T(C()),zt=(0,Se.createContext)({}),B=zt;function y(){return y=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)({}).hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},y.apply(null,arguments)}function ke(t){if(Array.isArray(t))return t}function Pe(t,e){var r=t==null?null:typeof Symbol<\"u\"&&t[Symbol.iterator]||t[\"@@iterator\"];if(r!=null){var o,a,l,n,u=[],f=!0,i=!1;try{if(l=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(o=l.call(r)).done)&&(u.push(o.value),u.length!==e);f=!0);}catch(m){i=!0,a=m}finally{try{if(!f&&r.return!=null&&(n=r.return(),Object(n)!==n))return}finally{if(i)throw a}}return u}}function ee(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=Array(e);r<e;r++)o[r]=t[r];return o}function Ae(t,e){if(t){if(typeof t==\"string\")return ee(t,e);var r={}.toString.call(t).slice(8,-1);return r===\"Object\"&&t.constructor&&(r=t.constructor.name),r===\"Map\"||r===\"Set\"?Array.from(t):r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ee(t,e):void 0}}function De(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function L(t,e){return ke(t)||Pe(t,e)||Ae(t,e)||De()}function w(t){\"@babel/helpers - typeof\";return w=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(e){return typeof e}:function(e){return e&&typeof Symbol==\"function\"&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},w(t)}function Re(t,e){if(w(t)!=\"object\"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var o=r.call(t,e||\"default\");if(w(o)!=\"object\")return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(e===\"string\"?String:Number)(t)}function Me(t){var e=Re(t,\"string\");return w(e)==\"symbol\"?e:e+\"\"}function h(t,e,r){return(e=Me(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _e(t,e){if(t==null)return{};var r={};for(var o in t)if({}.hasOwnProperty.call(t,o)){if(e.indexOf(o)!==-1)continue;r[o]=t[o]}return r}function N(t,e){if(t==null)return{};var r,o,a=_e(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(o=0;o<l.length;o++)r=l[o],e.indexOf(r)===-1&&{}.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}var k=T(C()),Pt=T(Ee());var O=Math.round;function te(t,e){let r=t.replace(/^[^(]*\\((.*)/,\"$1\").replace(/\\).*/,\"\").match(/\\d*\\.?\\d+%?/g)||[],o=r.map(a=>parseFloat(a));for(let a=0;a<3;a+=1)o[a]=e(o[a]||0,r[a]||\"\",a);return r[3]?o[3]=r[3].includes(\"%\")?o[3]/100:o[3]:o[3]=1,o}var Ie=(t,e,r)=>r===0?t:t/100;function M(t,e){let r=e||255;return t>r?r:t<0?0:t}var v=class t{constructor(e){h(this,\"isValid\",!0),h(this,\"r\",0),h(this,\"g\",0),h(this,\"b\",0),h(this,\"a\",1),h(this,\"_h\",void 0),h(this,\"_s\",void 0),h(this,\"_l\",void 0),h(this,\"_v\",void 0),h(this,\"_max\",void 0),h(this,\"_min\",void 0),h(this,\"_brightness\",void 0);function r(o){return o[0]in e&&o[1]in e&&o[2]in e}if(e)if(typeof e==\"string\"){let a=function(l){return o.startsWith(l)},o=e.trim();/^#?[A-F\\d]{3,8}$/i.test(o)?this.fromHexString(o):a(\"rgb\")?this.fromRgbString(o):a(\"hsl\")?this.fromHslString(o):(a(\"hsv\")||a(\"hsb\"))&&this.fromHsvString(o)}else if(e instanceof t)this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a,this._h=e._h,this._s=e._s,this._l=e._l,this._v=e._v;else if(r(\"rgb\"))this.r=M(e.r),this.g=M(e.g),this.b=M(e.b),this.a=typeof e.a==\"number\"?M(e.a,1):1;else if(r(\"hsl\"))this.fromHsl(e);else if(r(\"hsv\"))this.fromHsv(e);else throw new Error(\"@ant-design/fast-color: unsupported input \"+JSON.stringify(e))}setR(e){return this._sc(\"r\",e)}setG(e){return this._sc(\"g\",e)}setB(e){return this._sc(\"b\",e)}setA(e){return this._sc(\"a\",e,1)}setHue(e){let r=this.toHsv();return r.h=e,this._c(r)}getLuminance(){function e(l){let n=l/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}let r=e(this.r),o=e(this.g),a=e(this.b);return .2126*r+.7152*o+.0722*a}getHue(){if(typeof this._h>\"u\"){let e=this.getMax()-this.getMin();e===0?this._h=0:this._h=O(60*(this.r===this.getMax()?(this.g-this.b)/e+(this.g<this.b?6:0):this.g===this.getMax()?(this.b-this.r)/e+2:(this.r-this.g)/e+4))}return this._h}getSaturation(){if(typeof this._s>\"u\"){let e=this.getMax()-this.getMin();e===0?this._s=0:this._s=e/this.getMax()}return this._s}getLightness(){return typeof this._l>\"u\"&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return typeof this._v>\"u\"&&(this._v=this.getMax()/255),this._v}getBrightness(){return typeof this._brightness>\"u\"&&(this._brightness=(this.r*299+this.g*587+this.b*114)/1e3),this._brightness}darken(e=10){let r=this.getHue(),o=this.getSaturation(),a=this.getLightness()-e/100;return a<0&&(a=0),this._c({h:r,s:o,l:a,a:this.a})}lighten(e=10){let r=this.getHue(),o=this.getSaturation(),a=this.getLightness()+e/100;return a>1&&(a=1),this._c({h:r,s:o,l:a,a:this.a})}mix(e,r=50){let o=this._c(e),a=r/100,l=u=>(o[u]-this[u])*a+this[u],n={r:O(l(\"r\")),g:O(l(\"g\")),b:O(l(\"b\")),a:O(l(\"a\")*100)/100};return this._c(n)}tint(e=10){return this.mix({r:255,g:255,b:255,a:1},e)}shade(e=10){return this.mix({r:0,g:0,b:0,a:1},e)}onBackground(e){let r=this._c(e),o=this.a+r.a*(1-this.a),a=l=>O((this[l]*this.a+r[l]*r.a*(1-this.a))/o);return this._c({r:a(\"r\"),g:a(\"g\"),b:a(\"b\"),a:o})}isDark(){return this.getBrightness()<128}isLight(){return this.getBrightness()>=128}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}clone(){return this._c(this)}toHexString(){let e=\"#\",r=(this.r||0).toString(16);e+=r.length===2?r:\"0\"+r;let o=(this.g||0).toString(16);e+=o.length===2?o:\"0\"+o;let a=(this.b||0).toString(16);if(e+=a.length===2?a:\"0\"+a,typeof this.a==\"number\"&&this.a>=0&&this.a<1){let l=O(this.a*255).toString(16);e+=l.length===2?l:\"0\"+l}return e}toHsl(){return{h:this.getHue(),s:this.getSaturation(),l:this.getLightness(),a:this.a}}toHslString(){let e=this.getHue(),r=O(this.getSaturation()*100),o=O(this.getLightness()*100);return this.a!==1?\"hsla(\".concat(e,\",\").concat(r,\"%,\").concat(o,\"%,\").concat(this.a,\")\"):\"hsl(\".concat(e,\",\").concat(r,\"%,\").concat(o,\"%)\")}toHsv(){return{h:this.getHue(),s:this.getSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return this.a!==1?\"rgba(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\",\").concat(this.a,\")\"):\"rgb(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\")\")}toString(){return this.toRgbString()}_sc(e,r,o){let a=this.clone();return a[e]=M(r,o),a}_c(e){return new this.constructor(e)}getMax(){return typeof this._max>\"u\"&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return typeof this._min>\"u\"&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(e){let r=e.replace(\"#\",\"\");function o(a,l){return parseInt(r[a]+r[l||a],16)}r.length<6?(this.r=o(0),this.g=o(1),this.b=o(2),this.a=r[3]?o(3)/255:1):(this.r=o(0,1),this.g=o(2,3),this.b=o(4,5),this.a=r[6]?o(6,7)/255:1)}fromHsl({h:e,s:r,l:o,a}){if(this._h=e%360,this._s=r,this._l=o,this.a=typeof a==\"number\"?a:1,r<=0){let d=O(o*255);this.r=d,this.g=d,this.b=d}let l=0,n=0,u=0,f=e/60,i=(1-Math.abs(2*o-1))*r,m=i*(1-Math.abs(f%2-1));f>=0&&f<1?(l=i,n=m):f>=1&&f<2?(l=m,n=i):f>=2&&f<3?(n=i,u=m):f>=3&&f<4?(n=m,u=i):f>=4&&f<5?(l=m,u=i):f>=5&&f<6&&(l=i,u=m);let p=o-i/2;this.r=O((l+p)*255),this.g=O((n+p)*255),this.b=O((u+p)*255)}fromHsv({h:e,s:r,v:o,a}){this._h=e%360,this._s=r,this._v=o,this.a=typeof a==\"number\"?a:1;let l=O(o*255);if(this.r=l,this.g=l,this.b=l,r<=0)return;let n=e/60,u=Math.floor(n),f=n-u,i=O(o*(1-r)*255),m=O(o*(1-r*f)*255),p=O(o*(1-r*(1-f))*255);switch(u){case 0:this.g=p,this.b=i;break;case 1:this.r=m,this.b=i;break;case 2:this.r=i,this.b=p;break;case 3:this.r=i,this.g=m;break;case 4:this.r=p,this.g=i;break;case 5:default:this.g=i,this.b=m;break}}fromHsvString(e){let r=te(e,Ie);this.fromHsv({h:r[0],s:r[1],v:r[2],a:r[3]})}fromHslString(e){let r=te(e,Ie);this.fromHsl({h:r[0],s:r[1],l:r[2],a:r[3]})}fromRgbString(e){let r=te(e,(o,a)=>a.includes(\"%\")?O(o/100*255):o);this.r=r[0],this.g=r[1],this.b=r[2],this.a=r[3]}};var q=2,Be=.16,Gt=.05,$t=.05,Qt=.15,qe=5,Ue=4,Yt=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function Le(t,e,r){var o;return Math.round(t.h)>=60&&Math.round(t.h)<=240?o=r?Math.round(t.h)-q*e:Math.round(t.h)+q*e:o=r?Math.round(t.h)+q*e:Math.round(t.h)-q*e,o<0?o+=360:o>=360&&(o-=360),o}function Ne(t,e,r){if(t.h===0&&t.s===0)return t.s;var o;return r?o=t.s-Be*e:e===Ue?o=t.s+Be:o=t.s+Gt*e,o>1&&(o=1),r&&e===qe&&o>.1&&(o=.1),o<.06&&(o=.06),Math.round(o*100)/100}function He(t,e,r){var o;return r?o=t.v+$t*e:o=t.v-Qt*e,o=Math.max(0,Math.min(1,o)),Math.round(o*100)/100}function U(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=[],o=new v(t),a=o.toHsv(),l=qe;l>0;l-=1){var n=new v({h:Le(a,l,!0),s:Ne(a,l,!0),v:He(a,l,!0)});r.push(n)}r.push(o);for(var u=1;u<=Ue;u+=1){var f=new v({h:Le(a,u),s:Ne(a,u),v:He(a,u)});r.push(f)}return e.theme===\"dark\"?Yt.map(function(i){var m=i.index,p=i.amount;return new v(e.backgroundColor||\"#141414\").mix(r[m],p).toHexString()}):r.map(function(i){return i.toHexString()})}var je=[\"#fff1f0\",\"#ffccc7\",\"#ffa39e\",\"#ff7875\",\"#ff4d4f\",\"#f5222d\",\"#cf1322\",\"#a8071a\",\"#820014\",\"#5c0011\"];je.primary=je[5];var We=[\"#fff2e8\",\"#ffd8bf\",\"#ffbb96\",\"#ff9c6e\",\"#ff7a45\",\"#fa541c\",\"#d4380d\",\"#ad2102\",\"#871400\",\"#610b00\"];We.primary=We[5];var Ve=[\"#fff7e6\",\"#ffe7ba\",\"#ffd591\",\"#ffc069\",\"#ffa940\",\"#fa8c16\",\"#d46b08\",\"#ad4e00\",\"#873800\",\"#612500\"];Ve.primary=Ve[5];var ze=[\"#fffbe6\",\"#fff1b8\",\"#ffe58f\",\"#ffd666\",\"#ffc53d\",\"#faad14\",\"#d48806\",\"#ad6800\",\"#874d00\",\"#613400\"];ze.primary=ze[5];var Ge=[\"#feffe6\",\"#ffffb8\",\"#fffb8f\",\"#fff566\",\"#ffec3d\",\"#fadb14\",\"#d4b106\",\"#ad8b00\",\"#876800\",\"#614700\"];Ge.primary=Ge[5];var $e=[\"#fcffe6\",\"#f4ffb8\",\"#eaff8f\",\"#d3f261\",\"#bae637\",\"#a0d911\",\"#7cb305\",\"#5b8c00\",\"#3f6600\",\"#254000\"];$e.primary=$e[5];var Qe=[\"#f6ffed\",\"#d9f7be\",\"#b7eb8f\",\"#95de64\",\"#73d13d\",\"#52c41a\",\"#389e0d\",\"#237804\",\"#135200\",\"#092b00\"];Qe.primary=Qe[5];var Ye=[\"#e6fffb\",\"#b5f5ec\",\"#87e8de\",\"#5cdbd3\",\"#36cfc9\",\"#13c2c2\",\"#08979c\",\"#006d75\",\"#00474f\",\"#002329\"];Ye.primary=Ye[5];var j=[\"#e6f4ff\",\"#bae0ff\",\"#91caff\",\"#69b1ff\",\"#4096ff\",\"#1677ff\",\"#0958d9\",\"#003eb3\",\"#002c8c\",\"#001d66\"];j.primary=j[5];var Ze=[\"#f0f5ff\",\"#d6e4ff\",\"#adc6ff\",\"#85a5ff\",\"#597ef7\",\"#2f54eb\",\"#1d39c4\",\"#10239e\",\"#061178\",\"#030852\"];Ze.primary=Ze[5];var Ke=[\"#f9f0ff\",\"#efdbff\",\"#d3adf7\",\"#b37feb\",\"#9254de\",\"#722ed1\",\"#531dab\",\"#391085\",\"#22075e\",\"#120338\"];Ke.primary=Ke[5];var Je=[\"#fff0f6\",\"#ffd6e7\",\"#ffadd2\",\"#ff85c0\",\"#f759ab\",\"#eb2f96\",\"#c41d7f\",\"#9e1068\",\"#780650\",\"#520339\"];Je.primary=Je[5];var Xe=[\"#a6a6a6\",\"#999999\",\"#8c8c8c\",\"#808080\",\"#737373\",\"#666666\",\"#404040\",\"#1a1a1a\",\"#000000\",\"#000000\"];Xe.primary=Xe[5];var et=[\"#2a1215\",\"#431418\",\"#58181c\",\"#791a1f\",\"#a61d24\",\"#d32029\",\"#e84749\",\"#f37370\",\"#f89f9a\",\"#fac8c3\"];et.primary=et[5];var tt=[\"#2b1611\",\"#441d12\",\"#592716\",\"#7c3118\",\"#aa3e19\",\"#d84a1b\",\"#e87040\",\"#f3956a\",\"#f8b692\",\"#fad4bc\"];tt.primary=tt[5];var rt=[\"#2b1d11\",\"#442a11\",\"#593815\",\"#7c4a15\",\"#aa6215\",\"#d87a16\",\"#e89a3c\",\"#f3b765\",\"#f8cf8d\",\"#fae3b7\"];rt.primary=rt[5];var ot=[\"#2b2111\",\"#443111\",\"#594214\",\"#7c5914\",\"#aa7714\",\"#d89614\",\"#e8b339\",\"#f3cc62\",\"#f8df8b\",\"#faedb5\"];ot.primary=ot[5];var at=[\"#2b2611\",\"#443b11\",\"#595014\",\"#7c6e14\",\"#aa9514\",\"#d8bd14\",\"#e8d639\",\"#f3ea62\",\"#f8f48b\",\"#fafab5\"];at.primary=at[5];var lt=[\"#1f2611\",\"#2e3c10\",\"#3e4f13\",\"#536d13\",\"#6f9412\",\"#8bbb11\",\"#a9d134\",\"#c9e75d\",\"#e4f88b\",\"#f0fab5\"];lt.primary=lt[5];var nt=[\"#162312\",\"#1d3712\",\"#274916\",\"#306317\",\"#3c8618\",\"#49aa19\",\"#6abe39\",\"#8fd460\",\"#b2e58b\",\"#d5f2bb\"];nt.primary=nt[5];var ft=[\"#112123\",\"#113536\",\"#144848\",\"#146262\",\"#138585\",\"#13a8a8\",\"#33bcb7\",\"#58d1c9\",\"#84e2d8\",\"#b2f1e8\"];ft.primary=ft[5];var it=[\"#111a2c\",\"#112545\",\"#15325b\",\"#15417e\",\"#1554ad\",\"#1668dc\",\"#3c89e8\",\"#65a9f3\",\"#8dc5f8\",\"#b7dcfa\"];it.primary=it[5];var dt=[\"#131629\",\"#161d40\",\"#1c2755\",\"#203175\",\"#263ea0\",\"#2b4acb\",\"#5273e0\",\"#7f9ef3\",\"#a8c1f8\",\"#d2e0fa\"];dt.primary=dt[5];var ut=[\"#1a1325\",\"#24163a\",\"#301c4d\",\"#3e2069\",\"#51258f\",\"#642ab5\",\"#854eca\",\"#ab7ae0\",\"#cda8f0\",\"#ebd7fa\"];ut.primary=ut[5];var st=[\"#291321\",\"#40162f\",\"#551c3b\",\"#75204f\",\"#a02669\",\"#cb2b83\",\"#e0529c\",\"#f37fb7\",\"#f8a8cc\",\"#fad2e3\"];st.primary=st[5];var mt=[\"#151515\",\"#1f1f1f\",\"#2d2d2d\",\"#393939\",\"#494949\",\"#5a5a5a\",\"#6a6a6a\",\"#7b7b7b\",\"#888888\",\"#969696\"];mt.primary=mt[5];function pt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function g(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?pt(Object(r),!0).forEach(function(o){h(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):pt(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}var St=T(C());function re(){return!!(typeof window<\"u\"&&window.document&&window.document.createElement)}function oe(t,e){if(!t)return!1;if(t.contains)return t.contains(e);for(var r=e;r;){if(r===t)return!0;r=r.parentNode}return!1}var xt=\"data-rc-order\",ct=\"data-rc-priority\",Zt=\"rc-util-key\",ae=new Map;function ht(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith(\"data-\")?e:\"data-\".concat(e):Zt}function le(t){if(t.attachTo)return t.attachTo;var e=document.querySelector(\"head\");return e||document.body}function Kt(t){return t===\"queue\"?\"prependQueue\":t?\"prepend\":\"append\"}function ne(t){return Array.from((ae.get(t)||t).children).filter(function(e){return e.tagName===\"STYLE\"})}function Ot(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!re())return null;var r=e.csp,o=e.prepend,a=e.priority,l=a===void 0?0:a,n=Kt(o),u=n===\"prependQueue\",f=document.createElement(\"style\");f.setAttribute(xt,n),u&&l&&f.setAttribute(ct,\"\".concat(l)),r!=null&&r.nonce&&(f.nonce=r==null?void 0:r.nonce),f.innerHTML=t;var i=le(e),m=i.firstChild;if(o){if(u){var p=(e.styles||ne(i)).filter(function(d){if(![\"prepend\",\"prependQueue\"].includes(d.getAttribute(xt)))return!1;var c=Number(d.getAttribute(ct)||0);return l>=c});if(p.length)return i.insertBefore(f,p[p.length-1].nextSibling),f}i.insertBefore(f,m)}else i.appendChild(f);return f}function Jt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=le(e);return(e.styles||ne(r)).find(function(o){return o.getAttribute(ht(e))===t})}function Xt(t,e){var r=ae.get(t);if(!r||!oe(document,r)){var o=Ot(\"\",e),a=o.parentNode;ae.set(t,a),t.removeChild(o)}}function gt(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=le(r),a=ne(o),l=g(g({},r),{},{styles:a});Xt(o,l);var n=Jt(e,l);if(n){var u,f;if((u=l.csp)!==null&&u!==void 0&&u.nonce&&n.nonce!==((f=l.csp)===null||f===void 0?void 0:f.nonce)){var i;n.nonce=(i=l.csp)===null||i===void 0?void 0:i.nonce}return n.innerHTML!==t&&(n.innerHTML=t),n}var m=Ot(t,l);return m.setAttribute(ht(l),e),m}function Tt(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}function er(t){return Tt(t)instanceof ShadowRoot}function wt(t){return er(t)?Tt(t):null}var fe={},tr=[],rr=function(e){tr.push(e)};function or(t,e){if(0)var r}function ar(t,e){if(0)var r}function lr(){fe={}}function bt(t,e,r){!e&&!fe[r]&&(t(!1,r),fe[r]=!0)}function W(t,e){bt(or,t,e)}function nr(t,e){bt(ar,t,e)}W.preMessage=rr;W.resetWarned=lr;W.noteOnce=nr;var Ft=W;var S=T(C());function fr(t){return t.replace(/-(.)/g,function(e,r){return r.toUpperCase()})}function yt(t,e){Ft(t,\"[@ant-design/icons] \".concat(e))}function ie(t){return w(t)===\"object\"&&typeof t.name==\"string\"&&typeof t.theme==\"string\"&&(w(t.icon)===\"object\"||typeof t.icon==\"function\")}function Ct(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(t).reduce(function(e,r){var o=t[r];switch(r){case\"class\":e.className=o,delete e.class;break;default:delete e[r],e[fr(r)]=o}return e},{})}function V(t,e,r){return r?S.default.createElement(t.tag,g(g({key:e},Ct(t.attrs)),r),(t.children||[]).map(function(o,a){return V(o,\"\".concat(e,\"-\").concat(t.tag,\"-\").concat(a))})):S.default.createElement(t.tag,g({key:e},Ct(t.attrs)),(t.children||[]).map(function(o,a){return V(o,\"\".concat(e,\"-\").concat(t.tag,\"-\").concat(a))}))}function de(t){return U(t)[0]}function z(t){return t?Array.isArray(t)?t:[t]:[]}var ir=\"\\n.anticon {\\n display: inline-flex;\\n align-items: center;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\",vt=function(e){var r=(0,S.useContext)(B),o=r.csp,a=r.prefixCls,l=r.layer,n=ir;a&&(n=n.replace(/anticon/g,a)),l&&(n=\"@layer \".concat(l,\" {\\n\").concat(n,\"\\n}\")),(0,S.useEffect)(function(){var u=e.current,f=wt(u);gt(n,\"@ant-design-icons\",{prepend:!l,csp:o,attachTo:f})},[])};var dr=[\"icon\",\"className\",\"onClick\",\"style\",\"primaryColor\",\"secondaryColor\"],_={primaryColor:\"#333\",secondaryColor:\"#E6E6E6\",calculated:!1};function ur(t){var e=t.primaryColor,r=t.secondaryColor;_.primaryColor=e,_.secondaryColor=r||de(e),_.calculated=!!r}function sr(){return g({},_)}var G=function(e){var r=e.icon,o=e.className,a=e.onClick,l=e.style,n=e.primaryColor,u=e.secondaryColor,f=N(e,dr),i=St.useRef(),m=_;if(n&&(m={primaryColor:n,secondaryColor:u||de(n)}),vt(i),yt(ie(r),\"icon should be icon definiton, but got \".concat(r)),!ie(r))return null;var p=r;return p&&typeof p.icon==\"function\"&&(p=g(g({},p),{},{icon:p.icon(m.primaryColor,m.secondaryColor)})),V(p.icon,\"svg-\".concat(p.name),g(g({className:o,onClick:a,style:l,\"data-icon\":p.name,width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\"},f),{},{ref:i}))};G.displayName=\"IconReact\";G.getTwoToneColors=sr;G.setTwoToneColors=ur;var E=G;function ue(t){var e=z(t),r=L(e,2),o=r[0],a=r[1];return E.setTwoToneColors({primaryColor:o,secondaryColor:a})}function kt(){var t=E.getTwoToneColors();return t.calculated?[t.primaryColor,t.secondaryColor]:t.primaryColor}var mr=[\"className\",\"icon\",\"spin\",\"rotate\",\"tabIndex\",\"onClick\",\"twoToneColor\"];ue(j.primary);var $=k.forwardRef(function(t,e){var r=t.className,o=t.icon,a=t.spin,l=t.rotate,n=t.tabIndex,u=t.onClick,f=t.twoToneColor,i=N(t,mr),m=k.useContext(B),p=m.prefixCls,d=p===void 0?\"anticon\":p,c=m.rootClassName,P=(0,Pt.default)(c,d,h(h({},\"\".concat(d,\"-\").concat(o.name),!!o.name),\"\".concat(d,\"-spin\"),!!a||o.name===\"loading\"),r),A=n;A===void 0&&u&&(A=-1);var b=l?{msTransform:\"rotate(\".concat(l,\"deg)\"),transform:\"rotate(\".concat(l,\"deg)\")}:void 0,F=z(f),I=L(F,2),J=I[0],It=I[1];return k.createElement(\"span\",y({role:\"img\",\"aria-label\":o.name},i,{ref:e,tabIndex:A,onClick:u,className:P}),k.createElement(E,{icon:o,primaryColor:J,secondaryColor:It,style:b}))});$.displayName=\"AntdIcon\";$.getTwoToneColor=kt;$.setTwoToneColor=ue;var Q=$;var Y=T(C());var pr={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0012.6 0l112-141.9c4.1-5.2.4-13-6.3-13z\"}}]},name:\"sort-ascending\",theme:\"outlined\"},At=pr;var xr=function(e,r){return Y.createElement(Q,y({},e,{ref:r,icon:At}))},cr=Y.forwardRef(xr),se=cr;var Z=T(C());var hr={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM310.3 167.1a8 8 0 00-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z\"}}]},name:\"sort-descending\",theme:\"outlined\"},Dt=hr;var Or=function(e,r){return Z.createElement(Q,y({},e,{ref:r,icon:Dt}))},gr=Z.forwardRef(Or),me=gr;var K=T(Mt(),1);if(typeof window<\"u\"){let t=document.createElement(\"style\");t.textContent=\"html,\\nbody,\\n#app {\\n height: 100%;\\n margin: 0;\\n padding: 0;\\n overflow: hidden;\\n}\\n.danmu-container {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n padding: 20px;\\n box-sizing: border-box;\\n}\\n.danmu-container .main-title {\\n text-align: center;\\n transition: all 0.3s ease-out;\\n max-height: 50px;\\n opacity: 1;\\n margin-bottom: 20px;\\n overflow: hidden;\\n}\\n.danmu-container .main-title.hidden {\\n max-height: 0;\\n opacity: 0;\\n margin: 0;\\n}\\n.danmu-container .search-input {\\n margin-bottom: 20px;\\n}\\n.danmu-container .result-container {\\n flex-grow: 1;\\n overflow: hidden;\\n display: flex;\\n flex-direction: column;\\n}\\n.danmu-container .result-container .spin-container {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: 100%;\\n}\\n.danmu-container .result-container > .ant-tabs {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n}\\n.danmu-container .result-container > .ant-tabs .ant-tabs-content-holder {\\n overflow-y: auto;\\n flex-grow: 1;\\n}\\n.drawer {\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n}\\n.drawer .ant-drawer-mask {\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n}\\n.drawer .ant-drawer-content-wrapper {\\n left: 0;\\n right: 0;\\n}\\n.drawer .ant-drawer-title {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.drawer .ant-list-item {\\n padding: 16px 24px;\\n}\\n@media (max-width: 768px) {\\n .danmu-container {\\n padding: 10px;\\n }\\n .danmu-container .search-input {\\n margin-bottom: 8px;\\n }\\n .danmu-container .ant-tabs-left > .ant-tabs-nav {\\n width: 80px;\\n }\\n .danmu-container .ant-tabs-nav {\\n margin: 0;\\n }\\n .danmu-container .ant-tabs-tab {\\n font-size: 12px;\\n padding: 8px 12px;\\n }\\n .danmu-container .anime-episode-container {\\n flex-direction: column;\\n }\\n .danmu-container .anime-episode-container .anime-list-col,\\n .danmu-container .anime-episode-container .episode-list-col {\\n width: 100%;\\n border-right: none;\\n max-height: 50vh;\\n }\\n .danmu-container .anime-episode-container .anime-list-col {\\n border-bottom: 1px solid #f0f0f0;\\n }\\n .drawer .ant-drawer-header {\\n padding: 16px 12px;\\n }\\n .drawer .ant-list-item {\\n padding: 12px;\\n }\\n}\\n\",document.head.appendChild(t)}var{Search:Tr}=x.Input,{Title:wr}=x.Typography,br=({animes:t,sourceUrl:e,sourceName:r})=>{let[o,a]=(0,s.useState)(!1),[l,n]=(0,s.useState)(null),[u,f]=(0,s.useState)(!1),i=async d=>{try{let c=\"\".concat(e,\"/api/v2/comment/\").concat(d.episodeId);await K.default.post(\"/website/danmu/push\",{url:\"\".concat(c,\"?format=xml\"),previewUrl:\"\".concat(c,\"?format=json\"),sourceName:r}),a(!1)}catch(c){console.error(c),x.message.error(\"\\u63A8\\u9001\\u5931\\u8D25\")}},m=d=>{n(d),a(!0),f(!1)},p=()=>{l&&(n(Oe(he({},l),{episodes:[...l.episodes].reverse()})),f(d=>!d))};return!t||t.length===0?s.default.createElement(x.Empty,{description:\"\\u8BE5\\u6765\\u6E90\\u4E0B\\u65E0\\u7ED3\\u679C\"}):s.default.createElement(s.default.Fragment,null,s.default.createElement(x.List,{dataSource:t,renderItem:d=>s.default.createElement(x.List.Item,{onClick:()=>m(d)},d.animeTitle)}),l&&s.default.createElement(x.Drawer,{title:l.animeTitle,placement:\"bottom\",onClose:()=>a(!1),open:o,height:\"80%\",destroyOnClose:!0,closable:!1,bodyStyle:{padding:0},rootClassName:\"drawer\",extra:s.default.createElement(x.Button,{icon:u?s.default.createElement(se,null):s.default.createElement(me,null),onClick:p,style:{marginLeft:16}})},s.default.createElement(x.List,{dataSource:l.episodes,renderItem:d=>s.default.createElement(x.List.Item,{onClick:()=>i(d)},d.episodeTitle)})))};function Et(){let[t,e]=(0,s.useState)([]),[r,o]=(0,s.useState)(!1),[a,l]=(0,s.useState)([]),[n,u]=(0,s.useState)(!1),[f,i]=(0,s.useState)(new URLSearchParams(window.location.search).get(\"keyword\")||\"\");(0,s.useEffect)(()=>{K.default.get(\"/website/danmu/setting\").then(d=>{d.data.code===0&&d.data.data&&d.data.data.urls?e(d.data.data.urls.map(c=>({name:c.name||new URL(c.address).hostname,url:c.address}))):x.message.error(\"\\u83B7\\u53D6\\u5F39\\u5E55\\u6E90\\u5931\\u8D25\")}).catch(d=>{console.error(d),x.message.error(\"\\u83B7\\u53D6\\u5F39\\u5E55\\u6E90\\u5931\\u8D25\")})},[]);let m=(0,s.useCallback)((d,c=!1)=>{let P=d.trim();if(!P){c||x.message.warning(\"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u5173\\u952E\\u8BCD\");return}if(t.length===0&&!c){x.message.error(\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u5F39\\u5E55\\u6E90\");return}if(i(P),!c){let b=new URL(window.location);b.searchParams.set(\"keyword\",P),window.history.pushState({},\"\",b)}o(!0),u(!0),l([]);let A=0;t.forEach(b=>{K.default.get(\"\".concat(b.url,\"/api/v2/search/episodes\"),{params:{anime:P}}).then(F=>{if(F.data.success&&F.data.animes&&F.data.animes.length>0){let I={sourceName:b.name,sourceUrl:b.url,data:F.data};l(J=>[...J,I])}}).catch(F=>console.error(\"Search from \".concat(b.name,\" failed:\"),F)).finally(()=>{A++,A===t.length&&o(!1)})})},[t]);(0,s.useEffect)(()=>{if(t.length>0){let c=new URLSearchParams(window.location.search).get(\"keyword\");c&&m(c,!0)}},[t,m]);let p=a.map((d,c)=>({key:\"\".concat(d.sourceName,\"-\").concat(c),label:d.sourceName,children:s.default.createElement(br,{animes:d.data.animes,sourceUrl:d.sourceUrl,sourceName:d.sourceName})}));return s.default.createElement(\"div\",{className:\"danmu-container\"},s.default.createElement(wr,{level:2,className:\"main-title \".concat(n?\"hidden\":\"\")},\"\\u5F39\\u5E55\\u641C\\u7D22\"),s.default.createElement(Tr,{placeholder:\"\\u8F93\\u5165\\u5F71\\u89C6\\u540D\\u79F0...\",enterButton:\"\\u641C\\u7D22\",size:\"large\",onSearch:d=>m(d),loading:r,className:\"search-input\",value:f,onChange:d=>i(d.target.value)}),s.default.createElement(\"div\",{className:\"result-container\"},n&&a.length===0&&r&&s.default.createElement(\"div\",{className:\"spin-container\"},s.default.createElement(x.Spin,{size:\"large\"})),a.length>0&&s.default.createElement(x.Tabs,{items:p,size:\"small\"}),n&&a.length===0&&!r&&s.default.createElement(x.Empty,{description:\"\\u672A\\u627E\\u5230\\u76F8\\u5173\\u7ED3\\u679C\"})))}function Fr(){(0,_t.createRoot)(document.getElementById(\"app\")).render(s.default.createElement(Et,null))}\n/*! Bundled license information:\n\nclassnames/index.js:\n (*!\n \tCopyright (c) 2018 Jed Watson.\n \tLicensed under the MIT License (MIT), see\n \thttp://jedwatson.github.io/classnames\n *)\n*/\n"}
module.exports.renderDanmu();
})();
`;
}();
var H0t=Object.create;var J2=Object.defineProperty;var Q0t=Object.getOwnPropertyDescriptor;var G0t=Object.getOwnPropertyNames;var V0t=Object.getPrototypeOf,z0t=Object.prototype.hasOwnProperty;var dr=(t,e)=>()=>(t&&(e=t(t=0)),e);var E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),is=(t,e)=>{for(var r in e)J2(t,r,{get:e[r],enumerable:!0})},Ode=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of G0t(e))!z0t.call(t,s)&&s!==r&&J2(t,s,{get:()=>e[s],enumerable:!(n=Q0t(e,s))||n.enumerable});return t};var Re=(t,e,r)=>(r=t!=null?H0t(V0t(t)):{},Ode(e||!t||!t.__esModule?J2(r,"default",{value:t,enumerable:!0}):r,t)),K0t=t=>Ode(J2({},"__esModule",{value:!0}),t);var Dde=E((mOr,Pde)=>{"use strict";function Y0t(t){var e=new t,r=e;function n(){var i=e;return i.next?e=i.next:(e=new t,r=e),i.next=null,i}function s(i){r.next=i,r=i}return{get:n,release:s}}Pde.exports=Y0t});var Lde=E((hOr,L6)=>{"use strict";var J0t=Dde();function kde(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),!(r>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");var n=J0t(X0t),s=null,i=null,a=0,o=null,c={push:h,drain:Na,saturated:Na,pause:l,paused:!1,get concurrency(){return r},set concurrency(C){if(!(C>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");if(r=C,!c.paused)for(;s&&a<r;)a++,g()},running:u,resume:p,idle:m,length:d,getQueue:f,unshift:A,empty:Na,kill:b,killAndDrain:y,error:v,abort:x};return c;function u(){return a}function l(){c.paused=!0}function d(){for(var C=s,R=0;C;)C=C.next,R++;return R}function f(){for(var C=s,R=[];C;)R.push(C.value),C=C.next;return R}function p(){if(c.paused){if(c.paused=!1,s===null){a++,g();return}for(;s&&a<r;)a++,g()}}function m(){return a===0&&c.length()===0}function h(C,R){var w=n.get();w.context=t,w.release=g,w.value=C,w.callback=R||Na,w.errorHandler=o,a>=r||c.paused?i?(i.next=w,i=w):(s=w,i=w,c.saturated()):(a++,e.call(t,w.value,w.worked))}function A(C,R){var w=n.get();w.context=t,w.release=g,w.value=C,w.callback=R||Na,w.errorHandler=o,a>=r||c.paused?s?(w.next=s,s=w):(s=w,i=w,c.saturated()):(a++,e.call(t,w.value,w.worked))}function g(C){C&&n.release(C);var R=s;R&&a<=r?c.paused?a--:(i===s&&(i=null),s=R.next,R.next=null,e.call(t,R.value,R.worked),i===null&&c.empty()):--a===0&&c.drain()}function b(){s=null,i=null,c.drain=Na}function y(){s=null,i=null,c.drain(),c.drain=Na}function x(){var C=s;for(s=null,i=null;C;){var R=C.next,w=C.callback,N=C.errorHandler,P=C.value,L=C.context;C.value=null,C.callback=Na,C.errorHandler=null,N&&N(new Error("abort"),P),w.call(L,new Error("abort")),C.release(C),C=R}c.drain=Na}function v(C){o=C}}function Na(){}function X0t(){this.value=null,this.callback=Na,this.next=null,this.release=Na,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,n){var s=t.callback,i=t.errorHandler,a=t.value;t.value=null,t.callback=Na,t.errorHandler&&i(r,a),s.call(t.context,r,n),t.release(t)}}function Z0t(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function n(l,d){e.call(this,l).then(function(f){d(null,f)},d)}var s=kde(t,n,r),i=s.push,a=s.unshift;return s.push=o,s.unshift=c,s.drained=u,s;function o(l){var d=new Promise(function(f,p){i(l,function(m,h){if(m){p(m);return}f(h)})});return d.catch(Na),d}function c(l){var d=new Promise(function(f,p){a(l,function(m,h){if(m){p(m);return}f(h)})});return d.catch(Na),d}function u(){var l=new Promise(function(d){process.nextTick(function(){if(s.idle())d();else{var f=s.drain;s.drain=function(){typeof f=="function"&&f(),d(),s.drain=f}}})});return l}}L6.exports=kde;L6.exports.promise=Z0t});var M6=E((gOr,X2)=>{"use strict";var{format:emt}=require("node:util");function tmt(){return`${this.name} [${this.code}]: ${this.message}`}function B6(t,e,r=500,n=Error){if(!t)throw new Error("Fastify error code must not be empty");if(!e)throw new Error("Fastify error message must not be empty");t=t.toUpperCase(),!r&&(r=void 0);function s(...i){if(!new.target)return new s(...i);this.code=t,this.name="FastifyError",this.statusCode=r;let a=i.length-1;a!==-1&&i[a]&&typeof i[a]=="object"&&"cause"in i[a]&&(this.cause=i.pop().cause),this.message=emt(e,...i),Error.stackTraceLimit!==0&&Error.captureStackTrace(this,s)}return s.prototype=Object.create(n.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),s.prototype[Symbol.toStringTag]="Error",s.prototype.toString=tmt,s}X2.exports=B6;X2.exports.default=B6;X2.exports.createError=B6});var Z2=E((AOr,Bde)=>{"use strict";var{createError:cp}=M6();Bde.exports={AVV_ERR_EXPOSE_ALREADY_DEFINED:cp("AVV_ERR_EXPOSE_ALREADY_DEFINED","'%s' is already defined, specify an expose option for '%s'"),AVV_ERR_ATTRIBUTE_ALREADY_DEFINED:cp("AVV_ERR_ATTRIBUTE_ALREADY_DEFINED","'%s' is already defined"),AVV_ERR_CALLBACK_NOT_FN:cp("AVV_ERR_CALLBACK_NOT_FN","Callback for '%s' hook is not a function. Received: '%s'"),AVV_ERR_PLUGIN_NOT_VALID:cp("AVV_ERR_PLUGIN_NOT_VALID","Plugin must be a function or a promise. Received: '%s'"),AVV_ERR_ROOT_PLG_BOOTED:cp("AVV_ERR_ROOT_PLG_BOOTED","Root plugin has already booted"),AVV_ERR_PARENT_PLG_LOADED:cp("AVV_ERR_PARENT_PLG_LOADED","Impossible to load '%s' plugin because the parent '%s' was already loaded"),AVV_ERR_READY_TIMEOUT:cp("AVV_ERR_READY_TIMEOUT","Plugin did not start in time: '%s'. You may have forgotten to call 'done' function or to resolve a Promise"),AVV_ERR_PLUGIN_EXEC_TIMEOUT:cp("AVV_ERR_PLUGIN_EXEC_TIMEOUT","Plugin did not start in time: '%s'. You may have forgotten to call 'done' function or to resolve a Promise")}});var PA=E((yOr,Mde)=>{"use strict";var rmt=Symbol("avvio.Boot"),nmt=Symbol("isOnCloseHandler"),smt=Symbol("avvio.ThenifyDoNotWrap"),imt=Symbol("avvio.TimeTree.untrackNode"),amt=Symbol("avvio.TimeTree.trackNode"),omt=Symbol("avvio.TimeTree.getParent"),cmt=Symbol("avvio.TimeTree.getNode"),umt=Symbol("avvio.TimeTree.addNode"),lmt=Symbol.for("plugin-meta");Mde.exports={kAvvio:rmt,kIsOnCloseHandler:nmt,kThenifyDoNotWrap:smt,kUntrackNode:imt,kTrackNode:amt,kGetParent:omt,kGetNode:cmt,kAddNode:umt,kPluginMeta:lmt}});var Hde=E((xOr,jde)=>{"use strict";var{kUntrackNode:Wde,kTrackNode:W6,kGetParent:$de,kGetNode:Fde,kAddNode:Ude}=PA(),$6=class{constructor(){this.root=null,this.tableId=new Map,this.tableLabel=new Map}[W6](e){this.tableId.set(e.id,e),this.tableLabel.has(e.label)?this.tableLabel.get(e.label).push(e):this.tableLabel.set(e.label,[e])}[Wde](e){this.tableId.delete(e.id);let r=this.tableLabel.get(e.label);r.pop(),r.length===0&&this.tableLabel.delete(e.label)}[$de](e){if(e===null)return null;if(this.tableLabel.has(e)){let r=this.tableLabel.get(e);return r[r.length-1]}else return null}[Fde](e){return this.tableId.get(e)}[Ude](e,r,n){let s=this[$de](e);if(s===null)return this.root={parent:null,id:"root",label:r,nodes:[],start:n,stop:null,diff:-1},this[W6](this.root),this.root.id;let a=`${r}-${Math.random()}`,o={parent:e,id:a,label:r,nodes:[],start:n,stop:null,diff:-1};return s.nodes.push(o),this[W6](o),a}start(e,r,n=Date.now()){return this[Ude](e,r,n)}stop(e,r=Date.now()){let n=this[Fde](e);n&&(n.stop=r,n.diff=n.stop-n.start||0,this[Wde](n))}toJSON(){return Object.assign({},this.root)}prettyPrint(){return qde(this.toJSON())}};function qde(t,e=""){let r=e,n=t.nodes.length,s=n-1;r+=`${t.label} ${t.diff} ms
`;for(let i=0;i<n;++i){let a=t.nodes[i],o=e+(i===s?" ":"\u2502 ");r+=e,r+=i===s?"\u2514\u2500":"\u251C\u2500",r+=a.nodes.length===0?"\u2500 ":"\u252C ",r+=qde(a,o).slice(e.length+2)}return r}jde.exports={TimeTree:$6}});var eR=E((bOr,Qde)=>{"use strict";var{debuglog:dmt}=require("node:util"),fmt=dmt("avvio");Qde.exports={debug:fmt}});var Vde=E((EOr,Gde)=>{"use strict";function pmt(){let t={resolve:null,reject:null,promise:null};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}Gde.exports={createPromise:pmt}});var Kde=E((_Or,zde)=>{"use strict";var{kPluginMeta:F6}=PA();function mmt(t,e){return t[F6]&&t[F6].name?t[F6].name:e&&e.name?e.name:t.name?t.name:t.toString().split(`
`).slice(0,2).map(r=>r.trim()).join(" -- ")}zde.exports={getPluginName:mmt}});var tR=E((SOr,Yde)=>{"use strict";function hmt(t){return t!==null&&typeof t=="object"&&typeof t.then=="function"}Yde.exports={isPromiseLike:hmt}});var Xde=E((vOr,Jde)=>{"use strict";var{EventEmitter:gmt}=require("node:events"),{inherits:Amt}=require("node:util"),{debug:ci}=eR(),{createPromise:ymt}=Vde(),{AVV_ERR_PLUGIN_EXEC_TIMEOUT:xmt}=Z2(),{getPluginName:bmt}=Kde(),{isPromiseLike:Emt}=tR();function DA(t,e,r,n,s){this.queue=t,this.func=e,this.options=r,this.isAfter=n,this.timeout=s,this.started=!1,this.name=bmt(e,r),this.queue.pause(),this._error=null,this.loaded=!1,this._promise=null,this.startTime=null}Amt(DA,gmt);DA.prototype.exec=function(t,e){ci("exec",this.name),this.server=t;let r=this.func,n=this.name,s=!1;this.options=typeof this.options=="function"?this.options(this.server):this.options;let i=null,a=c=>{if(s){ci("loading complete",n);return}this._error=c,ci(c?"exec errored":"exec completed",n),s=!0,i&&clearTimeout(i),e(c)};this.timeout>0&&(ci("setting up timeout",n,this.timeout),i=setTimeout(function(){ci("timed out",n),i=null;let c=new xmt(n);c.fn=r,a(c)},this.timeout)),this.started=!0,this.startTime=Date.now(),this.emit("start",this.server?this.server.name:null,this.name,Date.now());let o=r(this.server,this.options,a);Emt(o)&&(ci("exec: resolving promise",n),o.then(()=>process.nextTick(a),c=>process.nextTick(a,c)))};DA.prototype.loadedSoFar=function(){if(ci("loadedSoFar",this.name),this.loaded)return Promise.resolve();let t=()=>{this.server.after((r,n)=>{this._error=r,this.queue.pause(),this._promise&&(r?(ci("rejecting promise",this.name,r),this._promise.reject(r)):(ci("resolving promise",this.name),this._promise.resolve()),this._promise=null),process.nextTick(n,r)}),this.queue.resume()},e;return this._promise?e=Promise.resolve():(this._promise=ymt(),e=this._promise.promise,this.server?t():this.on("start",t)),e};DA.prototype.enqueue=function(t,e){ci("enqueue",this.name,t.name),this.emit("enqueue",this.server?this.server.name:null,this.name,Date.now()),this.queue.push(t,e)};DA.prototype.finish=function(t,e){ci("finish",this.name,t);let r=()=>{this.loaded||(ci("loaded",this.name),this.emit("loaded",this.server?this.server.name:null,this.name,Date.now()),this.loaded=!0,e(t))};if(t){this._promise&&(this._promise.reject(t),this._promise=null),r();return}let n=()=>{if(ci("check",this.name,this.queue.length(),this.queue.running(),this._promise),this.queue.length()===0&&this.queue.running()===0)if(this._promise){let s=()=>{ci("wrap"),queueMicrotask(n)};this._promise.resolve(),this._promise.promise.then(s,s),this._promise=null}else r();else ci("delayed",this.name),this.queue.drain=()=>{ci("drain",this.name),this.queue.drain=_mt,queueMicrotask(n)}};queueMicrotask(n),this.queue.resume()};function _mt(){}Jde.exports={Plugin:DA}});var efe=E((COr,Zde)=>{"use strict";var{AVV_ERR_PLUGIN_NOT_VALID:U6}=Z2();function Smt(t){if(!(t&&(typeof t=="function"||typeof t.then=="function")))throw Array.isArray(t)?new U6("array"):t===null?new U6("null"):new U6(typeof t)}Zde.exports={validatePlugin:Smt}});var rfe=E((IOr,tfe)=>{"use strict";function vmt(t){return t!==null&&typeof t=="object"&&typeof t.default=="function"}tfe.exports={isBundledOrTypescriptPlugin:vmt}});var ife=E((TOr,sfe)=>{"use strict";var{debug:nfe}=eR(),{kThenifyDoNotWrap:q6}=PA();function Cmt(){if(this.booted){nfe("thenify returning undefined because we are already booted");return}if(this[q6]){this[q6]=!1;return}return nfe("thenify"),(t,e)=>this._loadRegistered().then(()=>(this[q6]=!0,t(this._server)),e)}sfe.exports={thenify:Cmt}});var ofe=E((wOr,afe)=>{"use strict";var{isPromiseLike:Imt}=tR(),{kAvvio:Tmt}=PA();function wmt(t,e,r){let n=t.apply(t,e);Imt(n)&&!n[Tmt]?n.then(()=>process.nextTick(r),s=>process.nextTick(r,s)):r&&process.nextTick(r)}afe.exports={executeWithThenable:wmt}});var hfe=E((ROr,H6)=>{"use strict";var rR=Lde(),Rmt=require("node:events").EventEmitter,Nmt=require("node:util").inherits,{AVV_ERR_EXPOSE_ALREADY_DEFINED:e1,AVV_ERR_CALLBACK_NOT_FN:kA,AVV_ERR_ROOT_PLG_BOOTED:Omt,AVV_ERR_READY_TIMEOUT:Pmt,AVV_ERR_ATTRIBUTE_ALREADY_DEFINED:Dmt}=Z2(),{kAvvio:lfe,kIsOnCloseHandler:dfe}=PA(),{TimeTree:kmt}=Hde(),{Plugin:ffe}=Xde(),{debug:LA}=eR(),{validatePlugin:Lmt}=efe(),{isBundledOrTypescriptPlugin:Bmt}=rfe(),{isPromiseLike:Mmt}=tR(),{thenify:pfe}=ife(),{executeWithThenable:cfe}=ofe();function as(t,e,r){if(typeof t=="function"&&arguments.length===1&&(r=t,e={},t=null),typeof e=="function"&&(r=e,e={}),e=e||{},e.autostart=e.autostart!==!1,e.timeout=Number(e.timeout)||0,e.expose=e.expose||{},!new.target)return new as(t,e,r);this._server=t||this,this._opts=e,t&&this._expose(),this._current=[],this._error=null,this._lastUsed=null,this.setMaxListeners(0),r&&this.once("start",r),this.started=!1,this.booted=!1,this.pluginTree=new kmt,this._readyQ=rR(this,mfe,1),this._readyQ.pause(),this._readyQ.drain=()=>{this.emit("start"),this._readyQ.drain=ufe},this._closeQ=rR(this,$mt,1),this._closeQ.pause(),this._closeQ.drain=()=>{this.emit("close"),this._closeQ.drain=ufe},this._doStart=null;let n=this;this._root=new ffe(rR(this,this._loadPluginNextTick,1),function(i,a,o){n._doStart=o,a.autostart&&n.start()},e,!1,0),this._trackPluginLoading(this._root),this._loadPlugin(this._root,s=>{LA("root plugin ready");try{this.emit("preReady"),this._root=null}catch(i){s=s||this._error||i}if(s){if(this._error=s,this._readyQ.length()===0)throw s}else this.booted=!0;this._readyQ.resume()})}Nmt(as,Rmt);as.prototype.start=function(){return this.started=!0,process.nextTick(this._doStart),this};as.prototype.override=function(t,e,r){return t};as.prototype[lfe]=!0;as.prototype.use=function(t,e){return this._lastUsed=this._addPlugin(t,e,!1),this};as.prototype._loadRegistered=function(){let t=this._current[0];return!this.started&&!this.booted&&process.nextTick(()=>this._root.queue.resume()),t?t.loadedSoFar():Promise.resolve()};Object.defineProperty(as.prototype,"then",{get:pfe});as.prototype._addPlugin=function(t,e,r){if(Bmt(t)&&(t=t.default),Lmt(t),e=e||{},this.booted)throw new Omt;let n=this._current[0],s=this._opts.timeout;if(!n.loaded&&n.timeout>0){let a=Date.now()-n.startTime;s=n.timeout-(a+3)}let i=new ffe(rR(this,this._loadPluginNextTick,1),t,e,r,s);if(this._trackPluginLoading(i),n.loaded)throw new Error(i.name,n.name);return n.enqueue(i,a=>{a&&(this._error=a)}),i};as.prototype._expose=function(){let e=this,r=e._server,{use:n="use",after:s="after",ready:i="ready",onClose:a="onClose",close:o="close"}=this._opts.expose;if(r[n])throw new e1(n,"use");if(r[n]=function(c,u){return e.use(c,u),this},r[s])throw new e1(s,"after");if(r[s]=function(c){return typeof c!="function"?e._loadRegistered():(e.after(j6(c,this)),this)},r[i])throw new e1(i,"ready");if(r[i]=function(c){if(c&&typeof c!="function")throw new kA(i,typeof c);return e.ready(c?j6(c,this):void 0)},r[a])throw new e1(a,"onClose");if(r[a]=function(c){if(typeof c!="function")throw new kA(a,typeof c);return e.onClose(Fmt(c,this)),this},r[o])throw new e1(o,"close");if(r[o]=function(c){if(c&&typeof c!="function")throw new kA(o,typeof c);return c?(e.close(j6(c,this)),this):e.close()},r.then)throw new Dmt("then");Object.defineProperty(r,"then",{get:pfe.bind(e)}),r[lfe]=!0};as.prototype.after=function(t){if(!t)return this._loadRegistered();this._addPlugin(e.bind(this),{},!0);function e(r,n,s){mfe.call(this,t,s)}return this};as.prototype.onClose=function(t){if(typeof t!="function")throw new kA("onClose",typeof t);return t[dfe]=!0,this._closeQ.unshift(t,e=>{e&&(this._error=e)}),this};as.prototype.close=function(t){let e;if(t){if(typeof t!="function")throw new kA("close",typeof t)}else e=new Promise(function(r,n){t=function(s){if(s)return n(s);r()}});return this.ready(()=>{this._error=null,this._closeQ.push(t),process.nextTick(this._closeQ.resume.bind(this._closeQ))}),e};as.prototype.ready=function(t){if(t){if(typeof t!="function")throw new kA("ready",typeof t);this._readyQ.push(t),queueMicrotask(this.start.bind(this));return}return new Promise((e,r)=>{this._readyQ.push(s),this.start();let n=this._current[0].server;function s(i,a,o){i?r(i):e(n),process.nextTick(o)}})};as.prototype._trackPluginLoading=function(t){let e=this._current[0]?.name||null;t.once("start",(r,n,s)=>{let i=this.pluginTree.start(e||null,n,s);t.once("loaded",(a,o,c)=>{this.pluginTree.stop(i,c)})})};as.prototype.prettyPrint=function(){return this.pluginTree.prettyPrint()};as.prototype.toJSON=function(){return this.pluginTree.toJSON()};as.prototype._loadPlugin=function(t,e){let r=this;if(Mmt(t.func)){t.func.then(a=>{typeof a.default=="function"&&(a=a.default),t.func=a,this._loadPlugin(t,e)},e);return}let n=r._current[0];if(r._current.unshift(t),r._error&&!t.isAfter){LA("skipping loading of plugin as instance errored and it is not an after",t.name),process.nextTick(i);return}let s=n&&n.server||r._server;if(!t.isAfter)try{s=r.override(s,t.func,t.options)}catch(a){return LA("override errored",t.name),i(a)}t.exec(s,i);function i(a){t.finish(a,o=>{r._current.shift(),e(o)})}};as.prototype._loadPluginNextTick=function(t,e){process.nextTick(this._loadPlugin.bind(this),t,e)};function ufe(){}function mfe(t,e){let r=this._server,n=this._error;if(this._error=null,t.length===0)this._error=n,cfe(t,[],e);else if(t.length===1)cfe(t,[n],e);else if(this._opts.timeout===0){let s=i=>{this._error=i,e(this._error)};t.length===2?t(n,s):t(n,r,s)}else Wmt.call(this,t,n,r,e)}function Wmt(t,e,r,n){let s=t.unwrappedName??t.name;LA("setting up ready timeout",s,this._opts.timeout);let i=setTimeout(()=>{LA("timed out",s),i=null;let o=new Pmt(s);o.fn=t,this._error=o,n(o)},this._opts.timeout);t.length===2?t(e,a.bind(this)):t(e,r,a.bind(this));function a(o){i&&(clearTimeout(i),this._error=o,n(this._error))}}function $mt(t,e){let r=this._server,n=t[dfe];if(t.length===0||t.length===1){let s;n?s=t(r):s=t(this._error),s&&typeof s.then=="function"?(LA("resolving close/onClose promise"),s.then(()=>process.nextTick(e),i=>process.nextTick(e,i))):process.nextTick(e)}else t.length===2?t(n?r:this._error,e):n?t(r,e):t(this._error,r,e)}function Fmt(t,e){return r.bind(e);function r(n,s){let i;t.length===0?(i=t(),i&&i.then?i.then(function(){process.nextTick(s)},s):process.nextTick(s)):t.length===1?(i=t(this),i&&i.then?i.then(function(){process.nextTick(s)},s):process.nextTick(s)):t(this,s)}}function j6(t,e){let r=n.bind(e);return r.unwrappedName=t.name,r;function n(s,i){let a;t?t.length===0?(a=t(),a&&a.then?a.then(function(){process.nextTick(i,s)},i):process.nextTick(i,s)):t.length===1?(a=t(s),a&&a.then?a.then(function(){process.nextTick(i)},i):process.nextTick(i)):t.length===2?t(s,i):t(s,this,i):process.nextTick(i)}}H6.exports=as;H6.exports.express=function(t){return as(t,{expose:{use:"load"}})}});var Qs=E((NOr,gfe)=>{"use strict";var Umt={kAvvioBoot:Symbol("fastify.avvioBoot"),kChildren:Symbol("fastify.children"),kServerBindings:Symbol("fastify.serverBindings"),kBodyLimit:Symbol("fastify.bodyLimit"),kRoutePrefix:Symbol("fastify.routePrefix"),kLogLevel:Symbol("fastify.logLevel"),kLogSerializers:Symbol("fastify.logSerializers"),kHooks:Symbol("fastify.hooks"),kContentTypeParser:Symbol("fastify.contentTypeParser"),kState:Symbol("fastify.state"),kOptions:Symbol("fastify.options"),kDisableRequestLogging:Symbol("fastify.disableRequestLogging"),kPluginNameChain:Symbol("fastify.pluginNameChain"),kRouteContext:Symbol("fastify.context"),kPublicRouteContext:Symbol("fastify.routeOptions"),kGenReqId:Symbol("fastify.genReqId"),kSchemaController:Symbol("fastify.schemaController"),kSchemaHeaders:Symbol("headers-schema"),kSchemaParams:Symbol("params-schema"),kSchemaQuerystring:Symbol("querystring-schema"),kSchemaBody:Symbol("body-schema"),kSchemaResponse:Symbol("response-schema"),kSchemaErrorFormatter:Symbol("fastify.schemaErrorFormatter"),kSchemaVisited:Symbol("fastify.schemas.visited"),kRequest:Symbol("fastify.Request"),kRequestPayloadStream:Symbol("fastify.RequestPayloadStream"),kRequestAcceptVersion:Symbol("fastify.RequestAcceptVersion"),kRequestCacheValidateFns:Symbol("fastify.request.cache.validateFns"),kRequestOriginalUrl:Symbol("fastify.request.originalUrl"),kFourOhFour:Symbol("fastify.404"),kCanSetNotFoundHandler:Symbol("fastify.canSetNotFoundHandler"),kFourOhFourLevelInstance:Symbol("fastify.404LogLevelInstance"),kFourOhFourContext:Symbol("fastify.404ContextKey"),kDefaultJsonParse:Symbol("fastify.defaultJSONParse"),kReply:Symbol("fastify.Reply"),kReplySerializer:Symbol("fastify.reply.serializer"),kReplyIsError:Symbol("fastify.reply.isError"),kReplyHeaders:Symbol("fastify.reply.headers"),kReplyTrailers:Symbol("fastify.reply.trailers"),kReplyHasStatusCode:Symbol("fastify.reply.hasStatusCode"),kReplyHijacked:Symbol("fastify.reply.hijacked"),kReplyStartTime:Symbol("fastify.reply.startTime"),kReplyNextErrorHandler:Symbol("fastify.reply.nextErrorHandler"),kReplyEndTime:Symbol("fastify.reply.endTime"),kReplyErrorHandlerCalled:Symbol("fastify.reply.errorHandlerCalled"),kReplyIsRunningOnErrorHook:Symbol("fastify.reply.isRunningOnErrorHook"),kReplySerializerDefault:Symbol("fastify.replySerializerDefault"),kReplyCacheSerializeFns:Symbol("fastify.reply.cache.serializeFns"),kTestInternals:Symbol("fastify.testInternals"),kErrorHandler:Symbol("fastify.errorHandler"),kChildLoggerFactory:Symbol("fastify.childLoggerFactory"),kHasBeenDecorated:Symbol("fastify.hasBeenDecorated"),kKeepAliveConnections:Symbol("fastify.keepAliveConnections"),kRouteByFastify:Symbol("fastify.routeByFastify")};gfe.exports=Umt});var V6=E((OOr,nR)=>{"use strict";var{format:Q6}=require("node:util");function qmt(t){return Afe({...t,name:"DeprecationWarning"})}function Afe({name:t,code:e,message:r,unlimited:n=!1}={}){if(!t)throw new Error("Warning name must not be empty");if(!e)throw new Error("Warning code must not be empty");if(!r)throw new Error("Warning message must not be empty");if(typeof n!="boolean")throw new Error("Warning opts.unlimited must be a boolean");e=e.toUpperCase();let s={[t]:function(a,o,c){i.emitted===!0&&i.unlimited!==!0||(i.emitted=!0,process.emitWarning(i.format(a,o,c),i.name,i.code))}};n&&(s={[t]:function(a,o,c){i.emitted=!0,process.emitWarning(i.format(a,o,c),i.name,i.code)}});let i=s[t];return i.emitted=!1,i.message=r,i.unlimited=n,i.code=e,i.format=function(a,o,c){let u;return a&&o&&c?u=Q6(r,a,o,c):a&&o?u=Q6(r,a,o):a?u=Q6(r,a):u=r,u},i}var G6={createWarning:Afe,createDeprecation:qmt};nR.exports=G6;nR.exports.default=G6;nR.exports.processWarning=G6});var cd=E((POr,xfe)=>{"use strict";var{createDeprecation:vi,createWarning:yfe}=V6(),jmt=vi({code:"FSTDEP005",message:'You are accessing the deprecated "request.connection" property. Use "request.socket" instead.'}),Hmt=vi({code:"FSTDEP006",message:"You are decorating Request/Reply with a reference type. This reference is shared amongst all requests. Use onRequest hook instead. Property: %s"}),Qmt=vi({code:"FSTDEP007",message:'You are trying to set a HEAD route using "exposeHeadRoute" route flag when a sibling route is already set. See documentation for more info.'}),Gmt=vi({code:"FSTDEP008",message:'You are using route constraints via the route { version: "..." } option, use { constraints: { version: "..." } } option instead.'}),Vmt=vi({code:"FSTDEP009",message:'You are using a custom route versioning strategy via the server { versioning: "..." } option, use { constraints: { version: "..." } } option instead.'}),zmt=vi({code:"FSTDEP010",message:'Modifying the "reply.sent" property is deprecated. Use the "reply.hijack()" method instead.'}),Kmt=vi({code:"FSTDEP011",message:'Variadic listen method is deprecated. Please use ".listen(optionsObject)" instead. The variadic signature will be removed in `fastify@5`.'}),Ymt=vi({code:"FSTDEP012",message:'request.context property access is deprecated. Please use "request.routeOptions.config" or "request.routeOptions.schema" instead for accessing Route settings. The "request.context" will be removed in `fastify@5`.'}),Jmt=vi({code:"FSTDEP013",message:'Direct return of "trailers" function is deprecated. Please use "callback" or "async-await" for return value. The support of direct return will removed in `fastify@5`.'}),Xmt=vi({code:"FSTDEP014",message:"You are trying to set/access the default route. This property is deprecated. Please, use setNotFoundHandler if you want to custom a 404 handler or the wildcard (*) to match all routes."}),Zmt=vi({code:"FSTDEP015",message:'You are accessing the deprecated "request.routeSchema" property. Use "request.routeOptions.schema" instead. Property "req.routeSchema" will be removed in `fastify@5`.'}),eht=vi({code:"FSTDEP016",message:'You are accessing the deprecated "request.routeConfig" property. Use "request.routeOptions.config" instead. Property "req.routeConfig" will be removed in `fastify@5`.'}),tht=vi({code:"FSTDEP017",message:'You are accessing the deprecated "request.routerPath" property. Use "request.routeOptions.url" instead. Property "req.routerPath" will be removed in `fastify@5`.'}),rht=vi({code:"FSTDEP018",message:'You are accessing the deprecated "request.routerMethod" property. Use "request.routeOptions.method" instead. Property "req.routerMethod" will be removed in `fastify@5`.'}),nht=vi({code:"FSTDEP019",message:'reply.context property access is deprecated. Please use "request.routeOptions.config" or "request.routeOptions.schema" instead for accessing Route settings. The "reply.context" will be removed in `fastify@5`.'}),sht=vi({code:"FSTDEP020",message:'You are using the deprecated "reply.getResponseTime()"" method. Use the "request.elapsedTime" property instead. Method "reply.getResponseTime()" will be removed in `fastify@5`.'}),iht=yfe({name:"FastifyWarning",code:"FSTWRN001",message:"The %s schema for %s: %s is missing. This may indicate the schema is not well specified.",unlimited:!0}),aht=yfe({name:"FastifyWarning",code:"FSTWRN002",message:"The %s plugin being registered mixes async and callback styles, which will result in an error in `fastify@5`",unlimited:!0});xfe.exports={FSTDEP005:jmt,FSTDEP006:Hmt,FSTDEP007:Qmt,FSTDEP008:Gmt,FSTDEP009:Vmt,FSTDEP010:zmt,FSTDEP011:Kmt,FSTDEP012:Ymt,FSTDEP013:Jmt,FSTDEP014:Xmt,FSTDEP015:Zmt,FSTDEP016:eht,FSTDEP017:tht,FSTDEP018:rht,FSTDEP019:nht,FSTDEP020:sht,FSTWRN001:iht,FSTWRN002:aht}});var Ci=E((DOr,sR)=>{"use strict";var He=M6(),BA={FST_ERR_NOT_FOUND:He("FST_ERR_NOT_FOUND","Not Found",404),FST_ERR_OPTIONS_NOT_OBJ:He("FST_ERR_OPTIONS_NOT_OBJ","Options must be an object",500,TypeError),FST_ERR_QSP_NOT_FN:He("FST_ERR_QSP_NOT_FN","querystringParser option should be a function, instead got '%s'",500,TypeError),FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN:He("FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN","schemaController.bucket option should be a function, instead got '%s'",500,TypeError),FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN:He("FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN","schemaErrorFormatter option should be a non async function. Instead got '%s'.",500,TypeError),FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ:He("FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ","ajv.customOptions option should be an object, instead got '%s'",500,TypeError),FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR:He("FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR","ajv.plugins option should be an array, instead got '%s'",500,TypeError),FST_ERR_VERSION_CONSTRAINT_NOT_STR:He("FST_ERR_VERSION_CONSTRAINT_NOT_STR","Version constraint should be a string.",500,TypeError),FST_ERR_VALIDATION:He("FST_ERR_VALIDATION","%s",400),FST_ERR_LISTEN_OPTIONS_INVALID:He("FST_ERR_LISTEN_OPTIONS_INVALID","Invalid listen options: '%s'",500,TypeError),FST_ERR_CTP_ALREADY_PRESENT:He("FST_ERR_CTP_ALREADY_PRESENT","Content type parser '%s' already present."),FST_ERR_CTP_INVALID_TYPE:He("FST_ERR_CTP_INVALID_TYPE","The content type should be a string or a RegExp",500,TypeError),FST_ERR_CTP_EMPTY_TYPE:He("FST_ERR_CTP_EMPTY_TYPE","The content type cannot be an empty string",500,TypeError),FST_ERR_CTP_INVALID_HANDLER:He("FST_ERR_CTP_INVALID_HANDLER","The content type handler should be a function",500,TypeError),FST_ERR_CTP_INVALID_PARSE_TYPE:He("FST_ERR_CTP_INVALID_PARSE_TYPE","The body parser can only parse your data as 'string' or 'buffer', you asked '%s' which is not supported.",500,TypeError),FST_ERR_CTP_BODY_TOO_LARGE:He("FST_ERR_CTP_BODY_TOO_LARGE","Request body is too large",413,RangeError),FST_ERR_CTP_INVALID_MEDIA_TYPE:He("FST_ERR_CTP_INVALID_MEDIA_TYPE","Unsupported Media Type: %s",415),FST_ERR_CTP_INVALID_CONTENT_LENGTH:He("FST_ERR_CTP_INVALID_CONTENT_LENGTH","Request body size did not match Content-Length",400,RangeError),FST_ERR_CTP_EMPTY_JSON_BODY:He("FST_ERR_CTP_EMPTY_JSON_BODY","Body cannot be empty when content-type is set to 'application/json'",400),FST_ERR_CTP_INSTANCE_ALREADY_STARTED:He("FST_ERR_CTP_INSTANCE_ALREADY_STARTED",'Cannot call "%s" when fastify instance is already started!',400),FST_ERR_DEC_ALREADY_PRESENT:He("FST_ERR_DEC_ALREADY_PRESENT","The decorator '%s' has already been added!"),FST_ERR_DEC_DEPENDENCY_INVALID_TYPE:He("FST_ERR_DEC_DEPENDENCY_INVALID_TYPE","The dependencies of decorator '%s' must be of type Array.",500,TypeError),FST_ERR_DEC_MISSING_DEPENDENCY:He("FST_ERR_DEC_MISSING_DEPENDENCY","The decorator is missing dependency '%s'."),FST_ERR_DEC_AFTER_START:He("FST_ERR_DEC_AFTER_START","The decorator '%s' has been added after start!"),FST_ERR_HOOK_INVALID_TYPE:He("FST_ERR_HOOK_INVALID_TYPE","The hook name must be a string",500,TypeError),FST_ERR_HOOK_INVALID_HANDLER:He("FST_ERR_HOOK_INVALID_HANDLER","%s hook should be a function, instead got %s",500,TypeError),FST_ERR_HOOK_INVALID_ASYNC_HANDLER:He("FST_ERR_HOOK_INVALID_ASYNC_HANDLER","Async function has too many arguments. Async hooks should not use the 'done' argument.",500,TypeError),FST_ERR_HOOK_NOT_SUPPORTED:He("FST_ERR_HOOK_NOT_SUPPORTED","%s hook not supported!",500,TypeError),FST_ERR_MISSING_MIDDLEWARE:He("FST_ERR_MISSING_MIDDLEWARE","You must register a plugin for handling middlewares, visit fastify.dev/docs/latest/Reference/Middleware/ for more info.",500),FST_ERR_HOOK_TIMEOUT:He("FST_ERR_HOOK_TIMEOUT","A callback for '%s' hook timed out. You may have forgotten to call 'done' function or to resolve a Promise"),FST_ERR_LOG_INVALID_DESTINATION:He("FST_ERR_LOG_INVALID_DESTINATION","Cannot specify both logger.stream and logger.file options"),FST_ERR_LOG_INVALID_LOGGER:He("FST_ERR_LOG_INVALID_LOGGER","Invalid logger object provided. The logger instance should have these functions(s): '%s'.",500,TypeError),FST_ERR_REP_INVALID_PAYLOAD_TYPE:He("FST_ERR_REP_INVALID_PAYLOAD_TYPE","Attempted to send payload of invalid type '%s'. Expected a string or Buffer.",500,TypeError),FST_ERR_REP_RESPONSE_BODY_CONSUMED:He("FST_ERR_REP_RESPONSE_BODY_CONSUMED","Response.body is already consumed."),FST_ERR_REP_ALREADY_SENT:He("FST_ERR_REP_ALREADY_SENT",'Reply was already sent, did you forget to "return reply" in "%s" (%s)?'),FST_ERR_REP_SENT_VALUE:He("FST_ERR_REP_SENT_VALUE","The only possible value for reply.sent is true.",500,TypeError),FST_ERR_SEND_INSIDE_ONERR:He("FST_ERR_SEND_INSIDE_ONERR","You cannot use `send` inside the `onError` hook"),FST_ERR_SEND_UNDEFINED_ERR:He("FST_ERR_SEND_UNDEFINED_ERR","Undefined error has occurred"),FST_ERR_BAD_STATUS_CODE:He("FST_ERR_BAD_STATUS_CODE","Called reply with an invalid status code: %s"),FST_ERR_BAD_TRAILER_NAME:He("FST_ERR_BAD_TRAILER_NAME","Called reply.trailer with an invalid header name: %s"),FST_ERR_BAD_TRAILER_VALUE:He("FST_ERR_BAD_TRAILER_VALUE","Called reply.trailer('%s', fn) with an invalid type: %s. Expected a function."),FST_ERR_FAILED_ERROR_SERIALIZATION:He("FST_ERR_FAILED_ERROR_SERIALIZATION","Failed to serialize an error. Error: %s. Original error: %s"),FST_ERR_MISSING_SERIALIZATION_FN:He("FST_ERR_MISSING_SERIALIZATION_FN",'Missing serialization function. Key "%s"'),FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN:He("FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN",'Missing serialization function. Key "%s:%s"'),FST_ERR_REQ_INVALID_VALIDATION_INVOCATION:He("FST_ERR_REQ_INVALID_VALIDATION_INVOCATION",'Invalid validation invocation. Missing validation function for HTTP part "%s" nor schema provided.'),FST_ERR_SCH_MISSING_ID:He("FST_ERR_SCH_MISSING_ID","Missing schema $id property"),FST_ERR_SCH_ALREADY_PRESENT:He("FST_ERR_SCH_ALREADY_PRESENT","Schema with id '%s' already declared!"),FST_ERR_SCH_CONTENT_MISSING_SCHEMA:He("FST_ERR_SCH_CONTENT_MISSING_SCHEMA","Schema is missing for the content type '%s'"),FST_ERR_SCH_DUPLICATE:He("FST_ERR_SCH_DUPLICATE","Schema with '%s' already present!"),FST_ERR_SCH_VALIDATION_BUILD:He("FST_ERR_SCH_VALIDATION_BUILD","Failed building the validation schema for %s: %s, due to error %s"),FST_ERR_SCH_SERIALIZATION_BUILD:He("FST_ERR_SCH_SERIALIZATION_BUILD","Failed building the serialization schema for %s: %s, due to error %s"),FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX:He("FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX",'response schemas should be nested under a valid status code, e.g { 2xx: { type: "object" } }'),FST_ERR_HTTP2_INVALID_VERSION:He("FST_ERR_HTTP2_INVALID_VERSION","HTTP2 is available only from node >= 8.8.1"),FST_ERR_INIT_OPTS_INVALID:He("FST_ERR_INIT_OPTS_INVALID","Invalid initialization options: '%s'"),FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE:He("FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE","Cannot set forceCloseConnections to 'idle' as your HTTP server does not support closeIdleConnections method"),FST_ERR_DUPLICATED_ROUTE:He("FST_ERR_DUPLICATED_ROUTE","Method '%s' already declared for route '%s'"),FST_ERR_BAD_URL:He("FST_ERR_BAD_URL","'%s' is not a valid url component",400,URIError),FST_ERR_ASYNC_CONSTRAINT:He("FST_ERR_ASYNC_CONSTRAINT","Unexpected error from async constraint",500),FST_ERR_DEFAULT_ROUTE_INVALID_TYPE:He("FST_ERR_DEFAULT_ROUTE_INVALID_TYPE","The defaultRoute type should be a function",500,TypeError),FST_ERR_INVALID_URL:He("FST_ERR_INVALID_URL","URL must be a string. Received '%s'",400,TypeError),FST_ERR_ROUTE_OPTIONS_NOT_OBJ:He("FST_ERR_ROUTE_OPTIONS_NOT_OBJ",'Options for "%s:%s" route must be an object',500,TypeError),FST_ERR_ROUTE_DUPLICATED_HANDLER:He("FST_ERR_ROUTE_DUPLICATED_HANDLER",'Duplicate handler for "%s:%s" route is not allowed!',500),FST_ERR_ROUTE_HANDLER_NOT_FN:He("FST_ERR_ROUTE_HANDLER_NOT_FN","Error Handler for %s:%s route, if defined, must be a function",500,TypeError),FST_ERR_ROUTE_MISSING_HANDLER:He("FST_ERR_ROUTE_MISSING_HANDLER",'Missing handler function for "%s:%s" route.',500),FST_ERR_ROUTE_METHOD_INVALID:He("FST_ERR_ROUTE_METHOD_INVALID","Provided method is invalid!",500,TypeError),FST_ERR_ROUTE_METHOD_NOT_SUPPORTED:He("FST_ERR_ROUTE_METHOD_NOT_SUPPORTED","%s method is not supported.",500),FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED:He("FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED","Body validation schema for %s:%s route is not supported!",500),FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT:He("FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT","'bodyLimit' option must be an integer > 0. Got '%s'",500,TypeError),FST_ERR_ROUTE_REWRITE_NOT_STR:He("FST_ERR_ROUTE_REWRITE_NOT_STR",'Rewrite url for "%s" needs to be of type "string" but received "%s"',500,TypeError),FST_ERR_REOPENED_CLOSE_SERVER:He("FST_ERR_REOPENED_CLOSE_SERVER","Fastify has already been closed and cannot be reopened"),FST_ERR_REOPENED_SERVER:He("FST_ERR_REOPENED_SERVER","Fastify is already listening"),FST_ERR_INSTANCE_ALREADY_LISTENING:He("FST_ERR_INSTANCE_ALREADY_LISTENING","Fastify instance is already listening. %s"),FST_ERR_PLUGIN_VERSION_MISMATCH:He("FST_ERR_PLUGIN_VERSION_MISMATCH","fastify-plugin: %s - expected '%s' fastify version, '%s' is installed"),FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE:He("FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE","The decorator '%s'%s is not present in %s"),FST_ERR_PLUGIN_CALLBACK_NOT_FN:He("FST_ERR_PLUGIN_CALLBACK_NOT_FN","fastify-plugin: %s",500,TypeError),FST_ERR_PLUGIN_NOT_VALID:He("FST_ERR_PLUGIN_NOT_VALID","fastify-plugin: %s"),FST_ERR_ROOT_PLG_BOOTED:He("FST_ERR_ROOT_PLG_BOOTED","fastify-plugin: %s"),FST_ERR_PARENT_PLUGIN_BOOTED:He("FST_ERR_PARENT_PLUGIN_BOOTED","fastify-plugin: %s"),FST_ERR_PLUGIN_TIMEOUT:He("FST_ERR_PLUGIN_TIMEOUT","fastify-plugin: %s")};function oht(t,e){return e.cause=t,e}sR.exports=BA;sR.exports.appendStackTrace=oht;sR.exports.AVVIO_ERRORS_MAP={AVV_ERR_CALLBACK_NOT_FN:BA.FST_ERR_PLUGIN_CALLBACK_NOT_FN,AVV_ERR_PLUGIN_NOT_VALID:BA.FST_ERR_PLUGIN_NOT_VALID,AVV_ERR_ROOT_PLG_BOOTED:BA.FST_ERR_ROOT_PLG_BOOTED,AVV_ERR_PARENT_PLG_LOADED:BA.FST_ERR_PARENT_PLUGIN_BOOTED,AVV_ERR_READY_TIMEOUT:BA.FST_ERR_PLUGIN_TIMEOUT}});var up=E((kOr,wfe)=>{"use strict";var cht=["onRoute","onRegister","onReady","onListen","preClose","onClose"],Sfe=["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError","onRequestAbort"],uht=Sfe.concat(cht),{FST_ERR_HOOK_INVALID_TYPE:lht,FST_ERR_HOOK_INVALID_HANDLER:dht,FST_ERR_SEND_UNDEFINED_ERR:iR,FST_ERR_HOOK_TIMEOUT:fht,FST_ERR_HOOK_NOT_SUPPORTED:pht,AVVIO_ERRORS_MAP:bfe,appendStackTrace:Efe}=Ci(),{kChildren:t1,kHooks:vfe,kRequestPayloadStream:_fe}=Qs();function r1(){this.onRequest=[],this.preParsing=[],this.preValidation=[],this.preSerialization=[],this.preHandler=[],this.onResponse=[],this.onSend=[],this.onError=[],this.onRoute=[],this.onRegister=[],this.onReady=[],this.onListen=[],this.onTimeout=[],this.onRequestAbort=[],this.preClose=[]}r1.prototype=Object.create(null);r1.prototype.validate=function(t,e){if(typeof t!="string")throw new lht;if(Array.isArray(this[t])===!1)throw new pht(t);if(typeof e!="function")throw new dht(t,Object.prototype.toString.call(e))};r1.prototype.add=function(t,e){this.validate(t,e),this[t].push(e)};function mht(t){let e=new r1;return e.onRequest=t.onRequest.slice(),e.preParsing=t.preParsing.slice(),e.preValidation=t.preValidation.slice(),e.preSerialization=t.preSerialization.slice(),e.preHandler=t.preHandler.slice(),e.onSend=t.onSend.slice(),e.onResponse=t.onResponse.slice(),e.onError=t.onError.slice(),e.onRoute=t.onRoute.slice(),e.onRegister=t.onRegister.slice(),e.onTimeout=t.onTimeout.slice(),e.onRequestAbort=t.onRequestAbort.slice(),e.onReady=[],e.onListen=[],e.preClose=[],e}function Cfe(t,e,r,n){let s=r[vfe][t],i=0,a=0;c();function o(l){if(l){l.code==="AVV_ERR_READY_TIMEOUT"?l=Efe(l,new fht(t)):l=bfe[l.code]!=null?Efe(l,new bfe[l.code](l.message)):l,n(l);return}n()}function c(l){if(l){o(l);return}if(i===s.length&&a===r[t1].length){i===0&&a===0?o():e(function(f,p){o(f),p(f)});return}if(i===s.length&&a<r[t1].length){let d=r[t1][a++];Cfe(t,e,d,c);return}e(u(s[i++],r)),c()}function u(l,d){return function(f,p){if(f){p(f);return}if(l.length===1){try{l.call(d,p)}catch(m){p(m)}return}try{let m=l.call(d);if(m&&typeof m.then=="function"){m.then(p,p);return}}catch(m){f=m}p(f)}}}function Ife(t){let e=t[vfe].onListen,r=e.length,n=0,s=0;i();function i(o){if(o&&t.log.error(o),n===r){for(;s<t[t1].length;){let c=t[t1][s++];Ife(c)}return}a(e[n++],t,i)}async function a(o,c,u){if(o.length===1){try{o.call(c,u)}catch(l){u(l)}return}try{let l=o.call(c);if(l&&typeof l.then=="function"){l.then(u,u);return}u()}catch(l){u(l)}}}function MA(t){return function(r,n,s,i){let a=0;function o(l){if(l||a===r.length){i(l,n,s);return}let d;try{d=t(r[a++],n,s,o)}catch(f){i(f,n,s);return}d&&typeof d.then=="function"&&d.then(c,u)}function c(){o()}function u(l){l||(l=new iR),i(l,n,s)}o()}}function hht(t,e,r,n){return t(e,r,n)}var ght=MA(hht),Aht=MA(n1),yht=MA(n1),xht=MA(n1),bht=MA(n1);function Tfe(t,e,r,n,s){let i=0;function a(u,l){if(u){s(u,e,r,n);return}if(l!==void 0&&(n=l),i===t.length){s(null,e,r,n);return}let d;try{d=t[i++](e,r,n,a)}catch(f){s(f,e,r);return}d&&typeof d.then=="function"&&d.then(o,c)}function o(u){a(null,u)}function c(u){u||(u=new iR),s(u,e,r,n)}a()}var Eht=Tfe;function _ht(t,e,r,n){let s=0;function i(c,u){if(r.sent)return;if(u!==void 0&&(e[_fe]=u),c||s===t.length){n(c,e,r);return}let l;try{l=t[s++](e,r,e[_fe],i)}catch(d){n(d,e,r);return}l&&typeof l.then=="function"&&l.then(a,o)}function a(c){i(null,c)}function o(c){c||(c=new iR),n(c,e,r)}i()}function Sht(t,e,r){let n=0;function s(o){if(o||n===t.length){r(o,e);return}let c;try{c=t[n++](e,s)}catch(u){r(u,e);return}c&&typeof c.then=="function"&&c.then(i,a)}function i(){s()}function a(o){o||(o=new iR),r(o,e)}s()}function n1(t,e,r,n){if(r.sent!==!0)return t(e,r,n)}wfe.exports={Hooks:r1,buildHooks:mht,hookRunnerGenerator:MA,preParsingHookRunner:_ht,onResponseHookRunner:ght,onSendHookRunner:Tfe,preSerializationHookRunner:Eht,onRequestAbortHookRunner:Sht,hookIterator:n1,hookRunnerApplication:Cfe,onListenHookRunner:Ife,preHandlerHookRunner:yht,preValidationHookRunner:Aht,onRequestHookRunner:bht,onTimeoutHookRunner:xht,lifecycleHooks:Sfe,supportedHooks:uht}});var Wfe=E((LOr,K6)=>{"use strict";var vht=require("node:http"),Cht=require("node:https"),Iht=require("node:dns"),{FSTDEP011:Rfe}=cd(),{kState:Ii,kOptions:Tht,kServerBindings:wht}=Qs(),{onListenHookRunner:aR}=up(),{FST_ERR_HTTP2_INVALID_VERSION:Rht,FST_ERR_REOPENED_CLOSE_SERVER:Pfe,FST_ERR_REOPENED_SERVER:Dfe,FST_ERR_LISTEN_OPTIONS_INVALID:Nht}=Ci();K6.exports.createServer=Oht;K6.exports.compileValidateHTTPVersion=Dht;function kfe(t){return`Server listening at ${t}`}function Oht(t,e){let r=Bfe(t,e);function n(s,...i){let a=i.slice(-1).pop(),o=Object.prototype.toString.call(arguments[0]);if(arguments.length===0)s=z6([]);else if(arguments.length>0&&o!=="[object Object]"&&o!=="[object Function]")Rfe(),s=z6(Array.from(arguments)),a=s.cb;else if(i.length>1){Rfe();let u=s.path?[s.path]:[s.port??0,s.host??"localhost"];Object.assign(s,z6([...u,...i]))}else s.cb=a;if(s.signal){if(typeof s.signal.on!="function"&&typeof s.signal.addEventListener!="function")throw new Nht("Invalid options.signal");if(s.signal.aborted)this.close();else{let u=()=>{this.close()};s.signal.addEventListener("abort",u,{once:!0})}}let c;if(s.path==null?c=s.host??"localhost":c=s.host,Object.prototype.hasOwnProperty.call(s,"host")===!1&&(s.host=c),c==="localhost"?s.cb=(u,l)=>{if(u){a(u,l);return}Nfe.call(this,r,e,t,s,()=>{this[Ii].listening=!0,a(null,l),aR(this)})}:s.cb=(u,l)=>{if(u){a(u,l);return}this[Ii].listening=!0,a(null,l),aR(this)},a===void 0)return Pht.call(this,r,s).then(l=>new Promise((d,f)=>{c==="localhost"?Nfe.call(this,r,e,t,s,()=>{this[Ii].listening=!0,d(l),aR(this)}):(d(l),aR(this))}));this.ready(Lfe.call(this,r,s))}return{server:r,listen:n}}function Nfe(t,e,r,n,s){this[Ii].listening=!1,Iht.lookup(n.host,{all:!0},(i,a)=>{if(i){s();return}let o=t.listening&&r.serverFactory,c=0,u=0;if(!o){let d=t.address();for(let f of a)if(f.address!==d.address){c++;let p=Object.assign({},n,{host:f.address,port:d.port,cb:A=>{u++,A||this[wht].push(m),u===c&&s()}}),m=Bfe(r,e),h=()=>{m.close(()=>{}),r.forceCloseConnections==="idle"?m.closeIdleConnections():typeof m.closeAllConnections=="function"&&r.forceCloseConnections&&m.closeAllConnections()};m.on("upgrade",t.emit.bind(t,"upgrade")),t.on("unref",h),t.on("close",h),t.on("error",h),this[Ii].listening=!1,Lfe.call(this,m,p)()}}if(c===0){s();return}let l=t.unref;t.unref=function(){l.call(t),t.emit("unref")}})}function Lfe(t,e){let r=n=>{if(t.removeListener("error",r),n)this[Ii].listening=!1,e.cb(n,null);else{let s=Mfe.call(this,t,e.listenTextResolver||kfe);e.cb(null,s)}};return n=>{if(n!=null)return e.cb(n);if(this[Ii].listening&&this[Ii].closing)return e.cb(new Pfe,null);if(this[Ii].listening)return e.cb(new Dfe,null);t.once("error",r),this[Ii].closing||(t.listen(e,r),this[Ii].listening=!0)}}function Pht(t,e){return this[Ii].listening&&this[Ii].closing?Promise.reject(new Pfe):this[Ii].listening?Promise.reject(new Dfe):this.ready().then(()=>{let r,n=new Promise((i,a)=>{r=o=>{this[Ii].listening=!1,a(o)},t.once("error",r)}),s=new Promise((i,a)=>{t.listen(e,()=>{t.removeListener("error",r),i(Mfe.call(this,t,e.listenTextResolver||kfe))}),this[Ii].listening=!0});return Promise.race([n,s])})}function Dht(t){let e=!1,r=new Map;return t.serverFactory&&(e=!0),t.http2?(r.set("2.0",!0),t.https&&t.https.allowHTTP1===!0&&(r.set("1.1",!0),r.set("1.0",!0))):(r.set("1.1",!0),r.set("1.0",!0)),function(s){return e||r.has(s)}}function Bfe(t,e){let r=null,n=t.https===!0?{}:t.https;return t.serverFactory?r=t.serverFactory(e,t):t.http2?(typeof n=="object"?r=Ofe().createSecureServer(n,e):r=Ofe().createServer(e),r.on("session",Lht(t.http2SessionTimeout))):(n?r=Cht.createServer(n,e):r=vht.createServer(t.http,e),r.keepAliveTimeout=t.keepAliveTimeout,r.requestTimeout=t.requestTimeout,t.maxRequestsPerSocket>0&&(r.maxRequestsPerSocket=t.maxRequestsPerSocket)),t.serverFactory||r.setTimeout(t.connectionTimeout),r}function z6(t){if(t.length===0)return{port:0,host:"localhost"};let r={cb:typeof t[t.length-1]=="function"?t.pop():void 0},n=t[0],s=t.length,i=t[s-1];return typeof n=="string"&&isNaN(n)?(r.path=n,r.backlog=s>1?i:void 0):(r.port=s>=1&&Number.isInteger(n)?n:kht(n),r.host=s>=2&&t[1]?t[1]:"localhost",r.backlog=s>=3?t[2]:void 0),r}function kht(t){let e=Number(t);return e>=0&&!Number.isNaN(e)&&Number.isInteger(e)?e:0}function Mfe(t,e){let r=t.address(),n=typeof r=="string";n||(r.address.indexOf(":")===-1?r=r.address+":"+r.port:r="["+r.address+"]:"+r.port),r=(n?"":"http"+(this[Tht].https?"s":"")+"://")+r;let s=e(r);return this.log.info(s),r}function Ofe(){try{return require("node:http2")}catch{throw new Rht}}function Lht(t){return function(e){e.setTimeout(t,Bht)}}function Bht(){this.close()}});var Z6=E((BOr,Ffe)=>{"use strict";var{kSchemaHeaders:uR,kSchemaParams:Y6,kSchemaQuerystring:J6,kSchemaBody:X6,kSchemaResponse:$fe}=Qs(),Mht=/^[1-5]{1}[0-9]{2}$|^[1-5]xx$|^default$/,{FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX:Wht}=Ci(),{FSTWRN001:oR}=cd();function $ht(t,e){if(!t.schema||!t.schema.response)return;let{method:r,url:n}=t.config||{};t[$fe]=Object.keys(t.schema.response).reduce(function(s,i){let a=t.schema.response[i];if(i=i.toLowerCase(),!Mht.exec(i))throw new Wht;if(a.content){let o={};for(let c of Object.keys(a.content)){let u=a.content[c].schema;o[c]=e({schema:u,url:n,method:r,httpStatus:i,contentType:c})}s[i]=o}else s[i]=e({schema:a,url:n,method:r,httpStatus:i});return s},{})}function Fht(t,e,r){let{schema:n}=t;if(!n)return;let{method:s,url:i}=t.config||{},a=n.headers;if(a&&(r||Object.getPrototypeOf(a)!==Object.prototype))t[uR]=e({schema:a,method:s,url:i,httpPart:"headers"});else if(a){let o={};Object.keys(a).forEach(c=>{o[c]=a[c]}),o.required instanceof Array&&(o.required=o.required.map(c=>c.toLowerCase())),a.properties&&(o.properties={},Object.keys(a.properties).forEach(c=>{o.properties[c.toLowerCase()]=a.properties[c]})),t[uR]=e({schema:o,method:s,url:i,httpPart:"headers"})}else Object.prototype.hasOwnProperty.call(n,"headers")&&oR("headers",s,i);n.body?t[X6]=e({schema:n.body,method:s,url:i,httpPart:"body"}):Object.prototype.hasOwnProperty.call(n,"body")&&oR("body",s,i),n.querystring?t[J6]=e({schema:n.querystring,method:s,url:i,httpPart:"querystring"}):Object.prototype.hasOwnProperty.call(n,"querystring")&&oR("querystring",s,i),n.params?t[Y6]=e({schema:n.params,method:s,url:i,httpPart:"params"}):Object.prototype.hasOwnProperty.call(n,"params")&&oR("params",s,i)}function cR(t,e,r){let n=e[r]===void 0,s=t&&t(n?null:e[r]);if(s?.then)return s.then(a=>i(a)).catch(a=>a);return i(s);function i(a){return a===!1?t.errors:a&&a.error?a.error:(a&&a.value&&(e[r]=a.value),!1)}}function lR(t,e,r){let n=r===void 0;if(n||!r.skipParams){let i=cR(t[Y6],e,"params");if(i)return typeof i.then!="function"?lp(i,"params",t.schemaErrorFormatter):Uht(i,t,e)}if(n||!r.skipBody){let i=cR(t[X6],e,"body");if(i)return typeof i.then!="function"?lp(i,"body",t.schemaErrorFormatter):qht(i,t,e)}if(n||!r.skipQuery){let i=cR(t[J6],e,"query");if(i)return typeof i.then!="function"?lp(i,"querystring",t.schemaErrorFormatter):jht(i,t,e)}let s=cR(t[uR],e,"headers");return s?typeof s.then!="function"?lp(s,"headers",t.schemaErrorFormatter):Hht(s,t,e):!1}function Uht(t,e,r){return t.then(n=>n?lp(n,"params",e.schemaErrorFormatter):lR(e,r,{skipParams:!0}))}function qht(t,e,r){return t.then(n=>n?lp(n,"body",e.schemaErrorFormatter):lR(e,r,{skipParams:!0,skipBody:!0}))}function jht(t,e,r){return t.then(n=>n?lp(n,"querystring",e.schemaErrorFormatter):lR(e,r,{skipParams:!0,skipBody:!0,skipQuery:!0}))}function Hht(t,e,r){return t.then(n=>n?lp(n,"headers",e.schemaErrorFormatter):!1)}function lp(t,e,r){if(t instanceof Error)return t.statusCode=t.statusCode||400,t.code=t.code||"FST_ERR_VALIDATION",t.validationContext=t.validationContext||e,t;let n=r(t,e);return n.statusCode=n.statusCode||400,n.code=n.code||"FST_ERR_VALIDATION",n.validation=t,n.validationContext=e,n}Ffe.exports={symbols:{bodySchema:X6,querystringSchema:J6,responseSchema:$fe,paramsSchema:Y6,headersSchema:uR},compileSchemasForValidation:Fht,compileSchemasForSerialization:$ht,validate:lR}});var e5=E((MOr,qfe)=>{"use strict";var{kReplyIsError:Ufe,kReplyHijacked:Qht}=Qs();function Ght(t,e){t.then(function(r){if(e[Qht]!==!0&&(r!==void 0||e.sent===!1&&e.raw.headersSent===!1&&e.request.raw.aborted===!1))try{e.send(r)}catch(n){e[Ufe]=!0,e.send(n)}},function(r){if(e.sent===!0){e.log.error({err:r},"Promise errored, but reply.sent = true was set");return}e[Ufe]=!0;try{e.send(r)}catch(n){e.send(n)}})}qfe.exports=Ght});var s5=E((WOr,n5)=>{"use strict";var{validate:Vht}=Z6(),{preValidationHookRunner:zht,preHandlerHookRunner:Kht}=up(),Yht=e5(),{kReplyIsError:dR,kRouteContext:fp}=Qs();function Jht(t,e,r){if(r.sent===!0)return;if(t!=null){r[dR]=!0,r.send(t);return}let n=e.raw.method,s=e.headers,i=e[fp];if(n==="GET"||n==="HEAD"){dp(e,r);return}let a=s["content-type"];if(n==="POST"||n==="PUT"||n==="PATCH"||n==="TRACE"||n==="SEARCH"){a===void 0?s["transfer-encoding"]===void 0&&(s["content-length"]==="0"||s["content-length"]===void 0)?dp(e,r):i.contentTypeParser.run("",dp,e,r):i.contentTypeParser.run(a,dp,e,r);return}if(n==="OPTIONS"||n==="DELETE"){a!==void 0&&(s["transfer-encoding"]!==void 0||s["content-length"]!==void 0)?i.contentTypeParser.run(a,dp,e,r):dp(e,r);return}dp(e,r)}function dp(t,e){try{t[fp].preValidation!==null?zht(t[fp].preValidation,t,e,t5):t5(null,t,e)}catch(r){t5(r,t,e)}}function t5(t,e,r){if(r.sent===!0)return;if(t!=null){r[dR]=!0,r.send(t);return}let n=Vht(r[fp],e);if(n&&typeof n.then=="function"||!1){let i=jfe.bind(null,e,r);n.then(i,i)}else jfe(e,r,n)}function jfe(t,e,r){if(r){if(e[fp].attachValidation===!1){e.send(r);return}e.request.validationError=r}t[fp].preHandler!==null?Kht(t[fp].preHandler,t,e,r5):r5(null,t,e)}function r5(t,e,r){if(r.sent)return;if(t!=null){r[dR]=!0,r.send(t);return}let n;try{n=e[fp].handler(e,r)}catch(s){r[dR]=!0,r.send(s);return}n!==void 0&&(n!==null&&typeof n.then=="function"?Yht(n,r):r.send(n))}n5.exports=Jht;n5.exports[Symbol.for("internals")]={handler:dp,preHandlerCallback:r5}});var Qfe=E(($Or,Hfe)=>{"use strict";function WA(){}var Xht={fatal:WA,error:WA,warn:WA,info:WA,debug:WA,trace:WA};Object.defineProperty(Hfe,"exports",{get(){return Object.create(Xht)}})});var a5=E((FOr,zfe)=>{"use strict";var s1=t=>t&&typeof t.message=="string",i5=t=>{if(!t)return;let e=t.cause;if(typeof e=="function"){let r=t.cause();return s1(r)?r:void 0}else return s1(e)?e:void 0},Gfe=(t,e)=>{if(!s1(t))return"";let r=t.stack||"";if(e.has(t))return r+`
causes have become circular...`;let n=i5(t);return n?(e.add(t),r+`
caused by: `+Gfe(n,e)):r},Zht=t=>Gfe(t,new Set),Vfe=(t,e,r)=>{if(!s1(t))return"";let n=r?"":t.message||"";if(e.has(t))return n+": ...";let s=i5(t);if(s){e.add(t);let i=typeof t.cause=="function";return n+(i?"":": ")+Vfe(s,e,i)}else return n},egt=t=>Vfe(t,new Set);zfe.exports={isErrorLike:s1,getErrorCause:i5,stackWithCauses:Zht,messageWithCauses:egt}});var o5=E((UOr,Yfe)=>{"use strict";var tgt=Symbol("circular-ref-tag"),fR=Symbol("pino-raw-err-ref"),Kfe=Object.create({},{type:{enumerable:!0,writable:!0,value:void 0},message:{enumerable:!0,writable:!0,value:void 0},stack:{enumerable:!0,writable:!0,value:void 0},aggregateErrors:{enumerable:!0,writable:!0,value:void 0},raw:{enumerable:!1,get:function(){return this[fR]},set:function(t){this[fR]=t}}});Object.defineProperty(Kfe,fR,{writable:!0,value:{}});Yfe.exports={pinoErrProto:Kfe,pinoErrorSymbols:{seen:tgt,rawSymbol:fR}}});var Zfe=E((qOr,Xfe)=>{"use strict";Xfe.exports=u5;var{messageWithCauses:rgt,stackWithCauses:ngt,isErrorLike:Jfe}=a5(),{pinoErrProto:sgt,pinoErrorSymbols:igt}=o5(),{seen:c5}=igt,{toString:agt}=Object.prototype;function u5(t){if(!Jfe(t))return t;t[c5]=void 0;let e=Object.create(sgt);e.type=agt.call(t.constructor)==="[object Function]"?t.constructor.name:t.name,e.message=rgt(t),e.stack=ngt(t),Array.isArray(t.errors)&&(e.aggregateErrors=t.errors.map(r=>u5(r)));for(let r in t)if(e[r]===void 0){let n=t[r];Jfe(n)?r!=="cause"&&!Object.prototype.hasOwnProperty.call(n,c5)&&(e[r]=u5(n)):e[r]=n}return delete t[c5],e.raw=t,e}});var tpe=E((jOr,epe)=>{"use strict";epe.exports=mR;var{isErrorLike:l5}=a5(),{pinoErrProto:ogt,pinoErrorSymbols:cgt}=o5(),{seen:pR}=cgt,{toString:ugt}=Object.prototype;function mR(t){if(!l5(t))return t;t[pR]=void 0;let e=Object.create(ogt);e.type=ugt.call(t.constructor)==="[object Function]"?t.constructor.name:t.name,e.message=t.message,e.stack=t.stack,Array.isArray(t.errors)&&(e.aggregateErrors=t.errors.map(r=>mR(r))),l5(t.cause)&&!Object.prototype.hasOwnProperty.call(t.cause,pR)&&(e.cause=mR(t.cause));for(let r in t)if(e[r]===void 0){let n=t[r];l5(n)?Object.prototype.hasOwnProperty.call(n,pR)||(e[r]=mR(n)):e[r]=n}return delete t[pR],e.raw=t,e}});var ipe=E((HOr,spe)=>{"use strict";spe.exports={mapHttpRequest:lgt,reqSerializer:npe};var d5=Symbol("pino-raw-req-ref"),rpe=Object.create({},{id:{enumerable:!0,writable:!0,value:""},method:{enumerable:!0,writable:!0,value:""},url:{enumerable:!0,writable:!0,value:""},query:{enumerable:!0,writable:!0,value:""},params:{enumerable:!0,writable:!0,value:""},headers:{enumerable:!0,writable:!0,value:{}},remoteAddress:{enumerable:!0,writable:!0,value:""},remotePort:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[d5]},set:function(t){this[d5]=t}}});Object.defineProperty(rpe,d5,{writable:!0,value:{}});function npe(t){let e=t.info||t.socket,r=Object.create(rpe);if(r.id=typeof t.id=="function"?t.id():t.id||(t.info?t.info.id:void 0),r.method=t.method,t.originalUrl)r.url=t.originalUrl;else{let n=t.path;r.url=typeof n=="string"?n:t.url?t.url.path||t.url:void 0}return t.query&&(r.query=t.query),t.params&&(r.params=t.params),r.headers=t.headers,r.remoteAddress=e&&e.remoteAddress,r.remotePort=e&&e.remotePort,r.raw=t.raw||t,r}function lgt(t){return{req:npe(t)}}});var upe=E((QOr,cpe)=>{"use strict";cpe.exports={mapHttpResponse:dgt,resSerializer:ope};var f5=Symbol("pino-raw-res-ref"),ape=Object.create({},{statusCode:{enumerable:!0,writable:!0,value:0},headers:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[f5]},set:function(t){this[f5]=t}}});Object.defineProperty(ape,f5,{writable:!0,value:{}});function ope(t){let e=Object.create(ape);return e.statusCode=t.headersSent?t.statusCode:null,e.headers=t.getHeaders?t.getHeaders():t._headers,e.raw=t,e}function dgt(t){return{res:ope(t)}}});var m5=E((GOr,lpe)=>{"use strict";var p5=Zfe(),fgt=tpe(),hR=ipe(),gR=upe();lpe.exports={err:p5,errWithCause:fgt,mapHttpRequest:hR.mapHttpRequest,mapHttpResponse:gR.mapHttpResponse,req:hR.reqSerializer,res:gR.resSerializer,wrapErrorSerializer:function(e){return e===p5?e:function(n){return e(p5(n))}},wrapRequestSerializer:function(e){return e===hR.reqSerializer?e:function(n){return e(hR.reqSerializer(n))}},wrapResponseSerializer:function(e){return e===gR.resSerializer?e:function(n){return e(gR.resSerializer(n))}}}});var h5=E((VOr,dpe)=>{"use strict";function pgt(t,e){return e}dpe.exports=function(){let e=Error.prepareStackTrace;Error.prepareStackTrace=pgt;let r=new Error().stack;if(Error.prepareStackTrace=e,!Array.isArray(r))return;let n=r.slice(2),s=[];for(let i of n)i&&s.push(i.getFileName());return s}});var ppe=E((zOr,fpe)=>{"use strict";fpe.exports=mgt;function mgt(t={}){let{ERR_PATHS_MUST_BE_STRINGS:e=()=>"fast-redact - Paths must be (non-empty) strings",ERR_INVALID_PATH:r=n=>`fast-redact \u2013 Invalid path (${n})`}=t;return function({paths:s}){s.forEach(i=>{if(typeof i!="string")throw Error(e());try{if(/〇/.test(i))throw Error();let a=(i[0]==="["?"":".")+i.replace(/^\*/,"\u3007").replace(/\.\*/g,".\u3007").replace(/\[\*\]/g,"[\u3007]");if(/\n|\r|;/.test(a)||/\/\*/.test(a))throw Error();Function(`
'use strict'
const o = new Proxy({}, { get: () => o, set: () => { throw Error() } });
const \u3007 = null;
o${a}
if ([o${a}].length !== 1) throw Error()`)()}catch{throw Error(r(i))}})}}});var AR=E((KOr,mpe)=>{"use strict";mpe.exports=/[^.[\]]+|\[((?:.)*?)\]/g});var gpe=E((YOr,hpe)=>{"use strict";var hgt=AR();hpe.exports=ggt;function ggt({paths:t}){let e=[];var r=0;let n=t.reduce(function(s,i,a){var o=i.match(hgt).map(l=>l.replace(/'|"|`/g,""));let c=i[0]==="[";o=o.map(l=>l[0]==="["?l.substr(1,l.length-2):l);let u=o.indexOf("*");if(u>-1){let l=o.slice(0,u),d=l.join("."),f=o.slice(u+1,o.length),p=f.length>0;r++,e.push({before:l,beforeStr:d,after:f,nested:p})}else s[i]={path:o,val:void 0,precensored:!1,circle:"",escPath:JSON.stringify(i),leadingBracket:c};return s},{});return{wildcards:e,wcLen:r,secret:n}}});var ype=E((JOr,Ape)=>{"use strict";var Agt=AR();Ape.exports=ygt;function ygt({secret:t,serialize:e,wcLen:r,strict:n,isCensorFct:s,censorFctTakesPath:i},a){let o=Function("o",`
if (typeof o !== 'object' || o == null) {
${_gt(n,e)}
}
const { censor, secret } = this
const originalSecret = {}
const secretKeys = Object.keys(secret)
for (var i = 0; i < secretKeys.length; i++) {
originalSecret[secretKeys[i]] = secret[secretKeys[i]]
}
${xgt(t,s,i)}
this.compileRestore()
${bgt(r>0,s,i)}
this.secret = originalSecret
${Egt(e)}
`).bind(a);return o.state=a,e===!1&&(o.restore=c=>a.restore(c)),o}function xgt(t,e,r){return Object.keys(t).map(n=>{let{escPath:s,leadingBracket:i,path:a}=t[n],o=i?1:0,c=i?"":".",u=[];for(var l;(l=Agt.exec(n))!==null;){let[,m]=l,{index:h,input:A}=l;h>o&&u.push(A.substring(0,h-(m?0:1)))}var d=u.map(m=>`o${c}${m}`).join(" && ");d.length===0?d+=`o${c}${n} != null`:d+=` && o${c}${n} != null`;let f=`
switch (true) {
${u.reverse().map(m=>`
case o${c}${m} === censor:
secret[${s}].circle = ${JSON.stringify(m)}
break
`).join(`
`)}
}
`,p=r?`val, ${JSON.stringify(a)}`:"val";return`
if (${d}) {
const val = o${c}${n}
if (val === censor) {
secret[${s}].precensored = true
} else {
secret[${s}].val = val
o${c}${n} = ${e?`censor(${p})`:"censor"}
${f}
}
}
`}).join(`
`)}function bgt(t,e,r){return t===!0?`
{
const { wildcards, wcLen, groupRedact, nestedRedact } = this
for (var i = 0; i < wcLen; i++) {
const { before, beforeStr, after, nested } = wildcards[i]
if (nested === true) {
secret[beforeStr] = secret[beforeStr] || []
nestedRedact(secret[beforeStr], o, before, after, censor, ${e}, ${r})
} else secret[beforeStr] = groupRedact(o, before, censor, ${e}, ${r})
}
}
`:""}function Egt(t){return t===!1?"return o":`
var s = this.serialize(o)
this.restore(o)
return s
`}function _gt(t,e){return t===!0?"throw Error('fast-redact: primitives cannot be redacted')":e===!1?"return o":"return this.serialize(o)"}});var A5=E((XOr,Epe)=>{"use strict";Epe.exports={groupRedact:vgt,groupRestore:Sgt,nestedRedact:Igt,nestedRestore:Cgt};function Sgt({keys:t,values:e,target:r}){if(r==null||typeof r=="string")return;let n=t.length;for(var s=0;s<n;s++){let i=t[s];r[i]=e[s]}}function vgt(t,e,r,n,s){let i=xpe(t,e);if(i==null||typeof i=="string")return{keys:null,values:null,target:i,flat:!0};let a=Object.keys(i),o=a.length,c=e.length,u=s?[...e]:void 0,l=new Array(o);for(var d=0;d<o;d++){let f=a[d];l[d]=i[f],s?(u[c]=f,i[f]=r(i[f],u)):n?i[f]=r(i[f]):i[f]=r}return{keys:a,values:l,target:i,flat:!0}}function Cgt(t){for(let e=0;e<t.length;e++){let{target:r,path:n,value:s}=t[e],i=r;for(let a=n.length-1;a>0;a--)i=i[n[a]];i[n[0]]=s}}function Igt(t,e,r,n,s,i,a){let o=xpe(e,r);if(o==null)return;let c=Object.keys(o),u=c.length;for(var l=0;l<u;l++){let d=c[l];Tgt(t,o,d,r,n,s,i,a)}return t}function g5(t,e){return t!=null?"hasOwn"in Object?Object.hasOwn(t,e):Object.prototype.hasOwnProperty.call(t,e):!1}function Tgt(t,e,r,n,s,i,a,o){let c=s.length,u=c-1,l=r;var d=-1,f,p,m,h=null,A=null,g,b,y=!1,x=0,v=0,C=wgt();if(m=f=e[r],typeof f=="object"){for(;f!=null&&++d<c&&(v+=1,r=s[d],h=m,!(r!=="*"&&!A&&!(typeof f=="object"&&r in f)));)if(!(r==="*"&&(A==="*"&&(y=!0),A=r,d!==u))){if(A){let w=Object.keys(f);for(var R=0;R<w.length;R++){let N=w[R];if(b=f[N],g=r==="*",y)C=ud(C,N,v),x=d,m=bpe(b,x-1,r,n,s,i,a,o,l,f,p,m,g,N,d,u,C,t,e[l],v+1);else if(g||typeof b=="object"&&b!==null&&r in b){if(g?m=b:m=b[r],p=d!==u?m:a?o?i(m,[...n,l,...s]):i(m):i,g){let P=i1(ud(C,N,v),m,e[l]);t.push(P),f[N]=p}else if(b[r]!==p)if(p===void 0&&i!==void 0||g5(b,r)&&p===m)C=ud(C,N,v);else{C=ud(C,N,v);let P=i1(ud(C,r,v+1),m,e[l]);t.push(P),b[r]=p}}}A=null}else{if(m=f[r],C=ud(C,r,v),p=d!==u?m:a?o?i(m,[...n,l,...s]):i(m):i,!(g5(f,r)&&p===m||p===void 0&&i!==void 0)){let w=i1(C,m,e[l]);t.push(w),f[r]=p}f=f[r]}if(typeof f!="object")break}}}function xpe(t,e){for(var r=-1,n=e.length,s=t;s!=null&&++r<n;)s=s[e[r]];return s}function bpe(t,e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y){if(e===0&&(f||typeof t=="object"&&t!==null&&r in t)){if(f?d=t:d=t[r],l=m!==h?d:a?o?i(d,[...n,c,...s]):i(d):i,f){let x=i1(A,d,b);g.push(x),u[p]=l}else if(t[r]!==l){if(!(l===void 0&&i!==void 0||g5(t,r)&&l===d)){let x=i1(ud(A,r,y+1),d,b);g.push(x),t[r]=l}}}for(let x in t)typeof t[x]=="object"&&(A=ud(A,x,y),bpe(t[x],e-1,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y+1))}function wgt(){return{parent:null,key:null,children:[],depth:0}}function ud(t,e,r){if(t.depth===r)return ud(t.parent,e,r);var n={parent:t,key:e,depth:r,children:[]};return t.children.push(n),n}function i1(t,e,r){let n=t,s=[];do s.push(n.key),n=n.parent;while(n.parent!=null);return{path:s,value:e,target:r}}});var Spe=E((ZOr,_pe)=>{"use strict";var{groupRestore:Rgt,nestedRestore:Ngt}=A5();_pe.exports=Ogt;function Ogt(){return function(){if(this.restore){this.restore.state.secret=this.secret;return}let{secret:e,wcLen:r}=this,n=Object.keys(e),s=Pgt(e,n),i=r>0,a=i?{secret:e,groupRestore:Rgt,nestedRestore:Ngt}:{secret:e};this.restore=Function("o",Dgt(s,n,i)).bind(a),this.restore.state=a}}function Pgt(t,e){return e.map(r=>{let{circle:n,escPath:s,leadingBracket:i}=t[r],o=n?`o.${n} = secret[${s}].val`:`o${i?"":"."}${r} = secret[${s}].val`,c=`secret[${s}].val = undefined`;return`
if (secret[${s}].val !== undefined) {
try { ${o} } catch (e) {}
${c}
}
`}).join("")}function Dgt(t,e,r){return`
const secret = this.secret
${r===!0?`
const keys = Object.keys(secret)
const len = keys.length
for (var i = len - 1; i >= ${e.length}; i--) {
const k = keys[i]
const o = secret[k]
if (o) {
if (o.flat === true) this.groupRestore(o)
else this.nestedRestore(o)
secret[k] = null
}
}
`:""}
${t}
return o
`}});var Cpe=E((ePr,vpe)=>{"use strict";vpe.exports=kgt;function kgt(t){let{secret:e,censor:r,compileRestore:n,serialize:s,groupRedact:i,nestedRedact:a,wildcards:o,wcLen:c}=t,u=[{secret:e,censor:r,compileRestore:n}];return s!==!1&&u.push({serialize:s}),c>0&&u.push({groupRedact:i,nestedRedact:a,wildcards:o,wcLen:c}),Object.assign(...u)}});var wpe=E((tPr,Tpe)=>{"use strict";var Ipe=ppe(),Lgt=gpe(),Bgt=ype(),Mgt=Spe(),{groupRedact:Wgt,nestedRedact:$gt}=A5(),Fgt=Cpe(),Ugt=AR(),qgt=Ipe(),y5=t=>t;y5.restore=y5;var jgt="[REDACTED]";x5.rx=Ugt;x5.validator=Ipe;Tpe.exports=x5;function x5(t={}){let e=Array.from(new Set(t.paths||[])),r="serialize"in t&&(t.serialize===!1||typeof t.serialize=="function")?t.serialize:JSON.stringify,n=t.remove;if(n===!0&&r!==JSON.stringify)throw Error("fast-redact \u2013 remove option may only be set when serializer is JSON.stringify");let s=n===!0?void 0:"censor"in t?t.censor:jgt,i=typeof s=="function",a=i&&s.length>1;if(e.length===0)return r||y5;qgt({paths:e,serialize:r,censor:s});let{wildcards:o,wcLen:c,secret:u}=Lgt({paths:e,censor:s}),l=Mgt(),d="strict"in t?t.strict:!0;return Bgt({secret:u,wcLen:c,serialize:r,strict:d,isCensorFct:i,censorFctTakesPath:a},Fgt({secret:u,censor:s,compileRestore:l,serialize:r,groupRedact:Wgt,nestedRedact:$gt,wildcards:o,wcLen:c}))}});var $A=E((rPr,Rpe)=>{"use strict";var Hgt=Symbol("pino.setLevel"),Qgt=Symbol("pino.getLevel"),Ggt=Symbol("pino.levelVal"),Vgt=Symbol("pino.levelComp"),zgt=Symbol("pino.useLevelLabels"),Kgt=Symbol("pino.useOnlyCustomLevels"),Ygt=Symbol("pino.mixin"),Jgt=Symbol("pino.lsCache"),Xgt=Symbol("pino.chindings"),Zgt=Symbol("pino.asJson"),eAt=Symbol("pino.write"),tAt=Symbol("pino.redactFmt"),rAt=Symbol("pino.time"),nAt=Symbol("pino.timeSliceIndex"),sAt=Symbol("pino.stream"),iAt=Symbol("pino.stringify"),aAt=Symbol("pino.stringifySafe"),oAt=Symbol("pino.stringifiers"),cAt=Symbol("pino.end"),uAt=Symbol("pino.formatOpts"),lAt=Symbol("pino.messageKey"),dAt=Symbol("pino.errorKey"),fAt=Symbol("pino.nestedKey"),pAt=Symbol("pino.nestedKeyStr"),mAt=Symbol("pino.mixinMergeStrategy"),hAt=Symbol("pino.msgPrefix"),gAt=Symbol("pino.wildcardFirst"),AAt=Symbol.for("pino.serializers"),yAt=Symbol.for("pino.formatters"),xAt=Symbol.for("pino.hooks"),bAt=Symbol.for("pino.metadata");Rpe.exports={setLevelSym:Hgt,getLevelSym:Qgt,levelValSym:Ggt,levelCompSym:Vgt,useLevelLabelsSym:zgt,mixinSym:Ygt,lsCacheSym:Jgt,chindingsSym:Xgt,asJsonSym:Zgt,writeSym:eAt,serializersSym:AAt,redactFmtSym:tAt,timeSym:rAt,timeSliceIndexSym:nAt,streamSym:sAt,stringifySym:iAt,stringifySafeSym:aAt,stringifiersSym:oAt,endSym:cAt,formatOptsSym:uAt,messageKeySym:lAt,errorKeySym:dAt,nestedKeySym:fAt,wildcardFirstSym:gAt,needsMetadataGsym:bAt,useOnlyCustomLevelsSym:Kgt,formattersSym:yAt,hooksSym:xAt,nestedKeyStrSym:pAt,mixinMergeStrategySym:mAt,msgPrefixSym:hAt}});var _5=E((nPr,Dpe)=>{"use strict";var E5=wpe(),{redactFmtSym:EAt,wildcardFirstSym:yR}=$A(),{rx:b5,validator:_At}=E5,Npe=_At({ERR_PATHS_MUST_BE_STRINGS:()=>"pino \u2013 redacted paths must be strings",ERR_INVALID_PATH:t=>`pino \u2013 redact paths array contains an invalid path (${t})`}),Ope="[Redacted]",Ppe=!1;function SAt(t,e){let{paths:r,censor:n}=vAt(t),s=r.reduce((o,c)=>{b5.lastIndex=0;let u=b5.exec(c),l=b5.exec(c),d=u[1]!==void 0?u[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/,"$1"):u[0];if(d==="*"&&(d=yR),l===null)return o[d]=null,o;if(o[d]===null)return o;let{index:f}=l,p=`${c.substr(f,c.length-1)}`;return o[d]=o[d]||[],d!==yR&&o[d].length===0&&o[d].push(...o[yR]||[]),d===yR&&Object.keys(o).forEach(function(m){o[m]&&o[m].push(p)}),o[d].push(p),o},{}),i={[EAt]:E5({paths:r,censor:n,serialize:e,strict:Ppe})},a=(...o)=>e(typeof n=="function"?n(...o):n);return[...Object.keys(s),...Object.getOwnPropertySymbols(s)].reduce((o,c)=>{if(s[c]===null)o[c]=u=>a(u,[c]);else{let u=typeof n=="function"?(l,d)=>n(l,[c,...d]):n;o[c]=E5({paths:s[c],censor:u,serialize:e,strict:Ppe})}return o},i)}function vAt(t){if(Array.isArray(t))return t={paths:t,censor:Ope},Npe(t),t;let{paths:e,censor:r=Ope,remove:n}=t;if(Array.isArray(e)===!1)throw Error("pino \u2013 redact must contain an array of strings");return n===!0&&(r=void 0),Npe({paths:e,censor:r}),{paths:e,censor:r}}Dpe.exports=SAt});var Lpe=E((sPr,kpe)=>{"use strict";var CAt=()=>"",IAt=()=>`,"time":${Date.now()}`,TAt=()=>`,"time":${Math.round(Date.now()/1e3)}`,wAt=()=>`,"time":"${new Date(Date.now()).toISOString()}"`;kpe.exports={nullTime:CAt,epochTime:IAt,unixTime:TAt,isoTime:wAt}});var Mpe=E((iPr,Bpe)=>{"use strict";function RAt(t){try{return JSON.stringify(t)}catch{return'"[Circular]"'}}Bpe.exports=NAt;function NAt(t,e,r){var n=r&&r.stringify||RAt,s=1;if(typeof t=="object"&&t!==null){var i=e.length+s;if(i===1)return t;var a=new Array(i);a[0]=n(t);for(var o=1;o<i;o++)a[o]=n(e[o]);return a.join(" ")}if(typeof t!="string")return t;var c=e.length;if(c===0)return t;for(var u="",l=1-s,d=-1,f=t&&t.length||0,p=0;p<f;){if(t.charCodeAt(p)===37&&p+1<f){switch(d=d>-1?d:0,t.charCodeAt(p+1)){case 100:case 102:if(l>=c||e[l]==null)break;d<p&&(u+=t.slice(d,p)),u+=Number(e[l]),d=p+2,p++;break;case 105:if(l>=c||e[l]==null)break;d<p&&(u+=t.slice(d,p)),u+=Math.floor(Number(e[l])),d=p+2,p++;break;case 79:case 111:case 106:if(l>=c||e[l]===void 0)break;d<p&&(u+=t.slice(d,p));var m=typeof e[l];if(m==="string"){u+="'"+e[l]+"'",d=p+2,p++;break}if(m==="function"){u+=e[l].name||"<anonymous>",d=p+2,p++;break}u+=n(e[l]),d=p+2,p++;break;case 115:if(l>=c)break;d<p&&(u+=t.slice(d,p)),u+=String(e[l]),d=p+2,p++;break;case 37:d<p&&(u+=t.slice(d,p)),u+="%",d=p+2,p++,l--;break}++l}++p}return d===-1?t:(d<f&&(u+=t.slice(d)),u)}});var v5=E((aPr,S5)=>{"use strict";if(typeof SharedArrayBuffer<"u"&&typeof Atomics<"u"){let e=function(r){if((r>0&&r<1/0)===!1)throw typeof r!="number"&&typeof r!="bigint"?TypeError("sleep: ms must be a number"):RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity");Atomics.wait(t,0,0,Number(r))},t=new Int32Array(new SharedArrayBuffer(4));S5.exports=e}else{let t=function(e){if((e>0&&e<1/0)===!1)throw typeof e!="number"&&typeof e!="bigint"?TypeError("sleep: ms must be a number"):RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity");let n=Date.now()+Number(e);for(;n>Date.now(););};S5.exports=t}});var Qpe=E((oPr,Hpe)=>{"use strict";var os=require("fs"),OAt=require("events"),PAt=require("util").inherits,Wpe=require("path"),I5=v5(),xR=100,bR=Buffer.allocUnsafe(0),DAt=16*1024,$pe="buffer",Fpe="utf8";function Upe(t,e){e._opening=!0,e._writing=!0,e._asyncDrainScheduled=!1;function r(i,a){if(i){e._reopening=!1,e._writing=!1,e._opening=!1,e.sync?process.nextTick(()=>{e.listenerCount("error")>0&&e.emit("error",i)}):e.emit("error",i);return}let o=e._reopening;e.fd=a,e.file=t,e._reopening=!1,e._opening=!1,e._writing=!1,e.sync?process.nextTick(()=>e.emit("ready")):e.emit("ready"),!e.destroyed&&(!e._writing&&e._len>e.minLength||e._flushPending?e._actualWrite():o&&process.nextTick(()=>e.emit("drain")))}let n=e.append?"a":"w",s=e.mode;if(e.sync)try{e.mkdir&&os.mkdirSync(Wpe.dirname(t),{recursive:!0});let i=os.openSync(t,n,s);r(null,i)}catch(i){throw r(i),i}else e.mkdir?os.mkdir(Wpe.dirname(t),{recursive:!0},i=>{if(i)return r(i);os.open(t,n,s,r)}):os.open(t,n,s,r)}function Mc(t){if(!(this instanceof Mc))return new Mc(t);let{fd:e,dest:r,minLength:n,maxLength:s,maxWrite:i,sync:a,append:o=!0,mkdir:c,retryEAGAIN:u,fsync:l,contentMode:d,mode:f}=t||{};e=e||r,this._len=0,this.fd=-1,this._bufs=[],this._lens=[],this._writing=!1,this._ending=!1,this._reopening=!1,this._asyncDrainScheduled=!1,this._flushPending=!1,this._hwm=Math.max(n||0,16387),this.file=null,this.destroyed=!1,this.minLength=n||0,this.maxLength=s||0,this.maxWrite=i||DAt,this.sync=a||!1,this.writable=!0,this._fsync=l||!1,this.append=o||!1,this.mode=f,this.retryEAGAIN=u||(()=>!0),this.mkdir=c||!1;let p,m;if(d===$pe)this._writingBuf=bR,this.write=BAt,this.flush=WAt,this.flushSync=FAt,this._actualWrite=qAt,p=()=>os.writeSync(this.fd,this._writingBuf),m=()=>os.write(this.fd,this._writingBuf,this.release);else if(d===void 0||d===Fpe)this._writingBuf="",this.write=LAt,this.flush=MAt,this.flushSync=$At,this._actualWrite=UAt,p=()=>os.writeSync(this.fd,this._writingBuf,"utf8"),m=()=>os.write(this.fd,this._writingBuf,"utf8",this.release);else throw new Error(`SonicBoom supports "${Fpe}" and "${$pe}", but passed ${d}`);if(typeof e=="number")this.fd=e,process.nextTick(()=>this.emit("ready"));else if(typeof e=="string")Upe(e,this);else throw new Error("SonicBoom supports only file descriptors and files");if(this.minLength>=this.maxWrite)throw new Error(`minLength should be smaller than maxWrite (${this.maxWrite})`);this.release=(h,A)=>{if(h){if((h.code==="EAGAIN"||h.code==="EBUSY")&&this.retryEAGAIN(h,this._writingBuf.length,this._len-this._writingBuf.length))if(this.sync)try{I5(xR),this.release(void 0,0)}catch(y){this.release(y)}else setTimeout(m,xR);else this._writing=!1,this.emit("error",h);return}this.emit("write",A);let g=C5(this._writingBuf,this._len,A);if(this._len=g.len,this._writingBuf=g.writingBuf,this._writingBuf.length){if(!this.sync){m();return}try{do{let y=p(),x=C5(this._writingBuf,this._len,y);this._len=x.len,this._writingBuf=x.writingBuf}while(this._writingBuf.length)}catch(y){this.release(y);return}}this._fsync&&os.fsyncSync(this.fd);let b=this._len;this._reopening?(this._writing=!1,this._reopening=!1,this.reopen()):b>this.minLength?this._actualWrite():this._ending?b>0?this._actualWrite():(this._writing=!1,ER(this)):(this._writing=!1,this.sync?this._asyncDrainScheduled||(this._asyncDrainScheduled=!0,process.nextTick(kAt,this)):this.emit("drain"))},this.on("newListener",function(h){h==="drain"&&(this._asyncDrainScheduled=!1)})}function C5(t,e,r){return typeof t=="string"&&Buffer.byteLength(t)!==r&&(r=Buffer.from(t).subarray(0,r).toString().length),e=Math.max(e-r,0),t=t.slice(r),{writingBuf:t,len:e}}function kAt(t){t.listenerCount("drain")>0&&(t._asyncDrainScheduled=!1,t.emit("drain"))}PAt(Mc,OAt);function qpe(t,e){return t.length===0?bR:t.length===1?t[0]:Buffer.concat(t,e)}function LAt(t){if(this.destroyed)throw new Error("SonicBoom destroyed");let e=this._len+t.length,r=this._bufs;return this.maxLength&&e>this.maxLength?(this.emit("drop",t),this._len<this._hwm):(r.length===0||r[r.length-1].length+t.length>this.maxWrite?r.push(""+t):r[r.length-1]+=t,this._len=e,!this._writing&&this._len>=this.minLength&&this._actualWrite(),this._len<this._hwm)}function BAt(t){if(this.destroyed)throw new Error("SonicBoom destroyed");let e=this._len+t.length,r=this._bufs,n=this._lens;return this.maxLength&&e>this.maxLength?(this.emit("drop",t),this._len<this._hwm):(r.length===0||n[n.length-1]+t.length>this.maxWrite?(r.push([t]),n.push(t.length)):(r[r.length-1].push(t),n[n.length-1]+=t.length),this._len=e,!this._writing&&this._len>=this.minLength&&this._actualWrite(),this._len<this._hwm)}function jpe(t){this._flushPending=!0;let e=()=>{this._fsync?(this._flushPending=!1,t()):os.fsync(this.fd,n=>{this._flushPending=!1,t(n)}),this.off("error",r)},r=n=>{this._flushPending=!1,t(n),this.off("drain",e)};this.once("drain",e),this.once("error",r)}function MAt(t){if(t!=null&&typeof t!="function")throw new Error("flush cb must be a function");if(this.destroyed){let e=new Error("SonicBoom destroyed");if(t){t(e);return}throw e}if(this.minLength<=0){t?.();return}t&&jpe.call(this,t),!this._writing&&(this._bufs.length===0&&this._bufs.push(""),this._actualWrite())}function WAt(t){if(t!=null&&typeof t!="function")throw new Error("flush cb must be a function");if(this.destroyed){let e=new Error("SonicBoom destroyed");if(t){t(e);return}throw e}if(this.minLength<=0){t?.();return}t&&jpe.call(this,t),!this._writing&&(this._bufs.length===0&&(this._bufs.push([]),this._lens.push(0)),this._actualWrite())}Mc.prototype.reopen=function(t){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.reopen(t)});return}if(this._ending)return;if(!this.file)throw new Error("Unable to reopen a file descriptor, you must pass a file to SonicBoom");if(t&&(this.file=t),this._reopening=!0,this._writing)return;let e=this.fd;this.once("ready",()=>{e!==this.fd&&os.close(e,r=>{if(r)return this.emit("error",r)})}),Upe(this.file,this)};Mc.prototype.end=function(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.end()});return}this._ending||(this._ending=!0,!this._writing&&(this._len>0&&this.fd>=0?this._actualWrite():ER(this)))};function $At(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this.fd<0)throw new Error("sonic boom is not ready yet");!this._writing&&this._writingBuf.length>0&&(this._bufs.unshift(this._writingBuf),this._writingBuf="");let t="";for(;this._bufs.length||t;){t.length<=0&&(t=this._bufs[0]);try{let e=os.writeSync(this.fd,t,"utf8"),r=C5(t,this._len,e);t=r.writingBuf,this._len=r.len,t.length<=0&&this._bufs.shift()}catch(e){if((e.code==="EAGAIN"||e.code==="EBUSY")&&!this.retryEAGAIN(e,t.length,this._len-t.length))throw e;I5(xR)}}try{os.fsyncSync(this.fd)}catch{}}function FAt(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this.fd<0)throw new Error("sonic boom is not ready yet");!this._writing&&this._writingBuf.length>0&&(this._bufs.unshift([this._writingBuf]),this._writingBuf=bR);let t=bR;for(;this._bufs.length||t.length;){t.length<=0&&(t=qpe(this._bufs[0],this._lens[0]));try{let e=os.writeSync(this.fd,t);t=t.subarray(e),this._len=Math.max(this._len-e,0),t.length<=0&&(this._bufs.shift(),this._lens.shift())}catch(e){if((e.code==="EAGAIN"||e.code==="EBUSY")&&!this.retryEAGAIN(e,t.length,this._len-t.length))throw e;I5(xR)}}}Mc.prototype.destroy=function(){this.destroyed||ER(this)};function UAt(){let t=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf||this._bufs.shift()||"",this.sync)try{let e=os.writeSync(this.fd,this._writingBuf,"utf8");t(null,e)}catch(e){t(e)}else os.write(this.fd,this._writingBuf,"utf8",t)}function qAt(){let t=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:qpe(this._bufs.shift(),this._lens.shift()),this.sync)try{let e=os.writeSync(this.fd,this._writingBuf);t(null,e)}catch(e){t(e)}else os.write(this.fd,this._writingBuf,t)}function ER(t){if(t.fd===-1){t.once("ready",ER.bind(null,t));return}t.destroyed=!0,t._bufs=[],t._lens=[],os.fsync(t.fd,e);function e(){t.fd!==1&&t.fd!==2?os.close(t.fd,r):r()}function r(n){if(n){t.emit("error",n);return}t._ending&&!t._writing&&t.emit("finish"),t.emit("close")}}Mc.SonicBoom=Mc;Mc.default=Mc;Hpe.exports=Mc});var T5=E((cPr,Ype)=>{"use strict";var Wc={exit:[],beforeExit:[]},Gpe={exit:QAt,beforeExit:GAt},FA;function jAt(){FA===void 0&&(FA=new FinalizationRegistry(VAt))}function HAt(t){Wc[t].length>0||process.on(t,Gpe[t])}function Vpe(t){Wc[t].length>0||(process.removeListener(t,Gpe[t]),Wc.exit.length===0&&Wc.beforeExit.length===0&&(FA=void 0))}function QAt(){zpe("exit")}function GAt(){zpe("beforeExit")}function zpe(t){for(let e of Wc[t]){let r=e.deref(),n=e.fn;r!==void 0&&n(r,t)}Wc[t]=[]}function VAt(t){for(let e of["exit","beforeExit"]){let r=Wc[e].indexOf(t);Wc[e].splice(r,r+1),Vpe(e)}}function Kpe(t,e,r){if(e===void 0)throw new Error("the object can't be undefined");HAt(t);let n=new WeakRef(e);n.fn=r,jAt(),FA.register(e,n),Wc[t].push(n)}function zAt(t,e){Kpe("exit",t,e)}function KAt(t,e){Kpe("beforeExit",t,e)}function YAt(t){if(FA!==void 0){FA.unregister(t);for(let e of["exit","beforeExit"])Wc[e]=Wc[e].filter(r=>{let n=r.deref();return n&&n!==t}),Vpe(e)}}Ype.exports={register:zAt,registerBeforeExit:KAt,unregister:YAt}});var Jpe=E((uPr,JAt)=>{JAt.exports={name:"thread-stream",version:"2.7.0",description:"A streaming way to send data to a Node.js Worker Thread",main:"index.js",types:"index.d.ts",dependencies:{"real-require":"^0.2.0"},devDependencies:{"@types/node":"^20.1.0","@types/tap":"^15.0.0","@yao-pkg/pkg":"^5.11.5",desm:"^1.3.0",fastbench:"^1.0.1",husky:"^9.0.6","pino-elasticsearch":"^8.0.0","sonic-boom":"^3.0.0",standard:"^17.0.0",tap:"^16.2.0","ts-node":"^10.8.0",typescript:"^5.3.2","why-is-node-running":"^2.2.2"},scripts:{test:'standard && npm run transpile && tap "test/**/*.test.*js" && tap --ts test/*.test.*ts',"test:ci":"standard && npm run transpile && npm run test:ci:js && npm run test:ci:ts","test:ci:js":'tap --no-check-coverage --timeout=120 --coverage-report=lcovonly "test/**/*.test.*js"',"test:ci:ts":'tap --ts --no-check-coverage --coverage-report=lcovonly "test/**/*.test.*ts"',"test:yarn":'npm run transpile && tap "test/**/*.test.js" --no-check-coverage',transpile:"sh ./test/ts/transpile.sh",prepare:"husky install"},standard:{ignore:["test/ts/**/*"]},repository:{type:"git",url:"git+https://github.com/mcollina/thread-stream.git"},keywords:["worker","thread","threads","stream"],author:"Matteo Collina <[email protected]>",license:"MIT",bugs:{url:"https://github.com/mcollina/thread-stream/issues"},homepage:"https://github.com/mcollina/thread-stream#readme"}});var Zpe=E((lPr,Xpe)=>{"use strict";function XAt(t,e,r,n,s){let i=Date.now()+n,a=Atomics.load(t,e);if(a===r){s(null,"ok");return}let o=a,c=u=>{Date.now()>i?s(null,"timed-out"):setTimeout(()=>{o=a,a=Atomics.load(t,e),a===o?c(u>=1e3?1e3:u*2):a===r?s(null,"ok"):s(null,"not-equal")},u)};c(1)}function ZAt(t,e,r,n,s){let i=Date.now()+n,a=Atomics.load(t,e);if(a!==r){s(null,"ok");return}let o=c=>{Date.now()>i?s(null,"timed-out"):setTimeout(()=>{a=Atomics.load(t,e),a!==r?s(null,"ok"):o(c>=1e3?1e3:c*2)},c)};o(1)}Xpe.exports={wait:XAt,waitDiff:ZAt}});var t0e=E((dPr,e0e)=>{"use strict";e0e.exports={WRITE_INDEX:4,READ_INDEX:8}});var a0e=E((fPr,i0e)=>{"use strict";var{version:eyt}=Jpe(),{EventEmitter:tyt}=require("events"),{Worker:ryt}=require("worker_threads"),{join:nyt}=require("path"),{pathToFileURL:syt}=require("url"),{wait:iyt}=Zpe(),{WRITE_INDEX:Oa,READ_INDEX:Mu}=t0e(),ayt=require("buffer"),oyt=require("assert"),Se=Symbol("kImpl"),cyt=ayt.constants.MAX_STRING_LENGTH,a1=class{constructor(e){this._value=e}deref(){return this._value}},SR=class{register(){}unregister(){}},uyt=process.env.NODE_V8_COVERAGE?SR:global.FinalizationRegistry||SR,lyt=process.env.NODE_V8_COVERAGE?a1:global.WeakRef||a1,r0e=new uyt(t=>{t.exited||t.terminate()});function dyt(t,e){let{filename:r,workerData:n}=e,i=("__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{})["thread-stream-worker"]||nyt(__dirname,"lib","worker.js"),a=new ryt(i,{...e.workerOpts,trackUnmanagedFds:!1,workerData:{filename:r.indexOf("file://")===0?r:syt(r).href,dataBuf:t[Se].dataBuf,stateBuf:t[Se].stateBuf,workerData:{$context:{threadStreamVersion:eyt},...n}}});return a.stream=new a1(t),a.on("message",fyt),a.on("exit",s0e),r0e.register(t,a),a}function n0e(t){oyt(!t[Se].sync),t[Se].needDrain&&(t[Se].needDrain=!1,t.emit("drain"))}function _R(t){let e=Atomics.load(t[Se].state,Oa),r=t[Se].data.length-e;if(r>0){if(t[Se].buf.length===0){t[Se].flushing=!1,t[Se].ending?P5(t):t[Se].needDrain&&process.nextTick(n0e,t);return}let n=t[Se].buf.slice(0,r),s=Buffer.byteLength(n);s<=r?(t[Se].buf=t[Se].buf.slice(r),vR(t,n,_R.bind(null,t))):t.flush(()=>{if(!t.destroyed){for(Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0);s>t[Se].data.length;)r=r/2,n=t[Se].buf.slice(0,r),s=Buffer.byteLength(n);t[Se].buf=t[Se].buf.slice(r),vR(t,n,_R.bind(null,t))}})}else if(r===0){if(e===0&&t[Se].buf.length===0)return;t.flush(()=>{Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0),_R(t)})}else Wu(t,new Error("overwritten"))}function fyt(t){let e=this.stream.deref();if(e===void 0){this.exited=!0,this.terminate();return}switch(t.code){case"READY":this.stream=new lyt(e),e.flush(()=>{e[Se].ready=!0,e.emit("ready")});break;case"ERROR":Wu(e,t.err);break;case"EVENT":Array.isArray(t.args)?e.emit(t.name,...t.args):e.emit(t.name,t.args);break;case"WARNING":process.emitWarning(t.err);break;default:Wu(e,new Error("this should not happen: "+t.code))}}function s0e(t){let e=this.stream.deref();e!==void 0&&(r0e.unregister(e),e.worker.exited=!0,e.worker.off("exit",s0e),Wu(e,t!==0?new Error("the worker thread exited"):null))}var R5=class extends tyt{constructor(e={}){if(super(),e.bufferSize<4)throw new Error("bufferSize must at least fit a 4-byte utf-8 char");this[Se]={},this[Se].stateBuf=new SharedArrayBuffer(128),this[Se].state=new Int32Array(this[Se].stateBuf),this[Se].dataBuf=new SharedArrayBuffer(e.bufferSize||4*1024*1024),this[Se].data=Buffer.from(this[Se].dataBuf),this[Se].sync=e.sync||!1,this[Se].ending=!1,this[Se].ended=!1,this[Se].needDrain=!1,this[Se].destroyed=!1,this[Se].flushing=!1,this[Se].ready=!1,this[Se].finished=!1,this[Se].errored=null,this[Se].closed=!1,this[Se].buf="",this.worker=dyt(this,e),this.on("message",(r,n)=>{this.worker.postMessage(r,n)})}write(e){if(this[Se].destroyed)return N5(this,new Error("the worker has exited")),!1;if(this[Se].ending)return N5(this,new Error("the worker is ending")),!1;if(this[Se].flushing&&this[Se].buf.length+e.length>=cyt)try{w5(this),this[Se].flushing=!0}catch(r){return Wu(this,r),!1}if(this[Se].buf+=e,this[Se].sync)try{return w5(this),!0}catch(r){return Wu(this,r),!1}return this[Se].flushing||(this[Se].flushing=!0,setImmediate(_R,this)),this[Se].needDrain=this[Se].data.length-this[Se].buf.length-Atomics.load(this[Se].state,Oa)<=0,!this[Se].needDrain}end(){this[Se].destroyed||(this[Se].ending=!0,P5(this))}flush(e){if(this[Se].destroyed){typeof e=="function"&&process.nextTick(e,new Error("the worker has exited"));return}let r=Atomics.load(this[Se].state,Oa);iyt(this[Se].state,Mu,r,1/0,(n,s)=>{if(n){Wu(this,n),process.nextTick(e,n);return}if(s==="not-equal"){this.flush(e);return}process.nextTick(e)})}flushSync(){this[Se].destroyed||(w5(this),O5(this))}unref(){this.worker.unref()}ref(){this.worker.ref()}get ready(){return this[Se].ready}get destroyed(){return this[Se].destroyed}get closed(){return this[Se].closed}get writable(){return!this[Se].destroyed&&!this[Se].ending}get writableEnded(){return this[Se].ending}get writableFinished(){return this[Se].finished}get writableNeedDrain(){return this[Se].needDrain}get writableObjectMode(){return!1}get writableErrored(){return this[Se].errored}};function N5(t,e){setImmediate(()=>{t.emit("error",e)})}function Wu(t,e){t[Se].destroyed||(t[Se].destroyed=!0,e&&(t[Se].errored=e,N5(t,e)),t.worker.exited?setImmediate(()=>{t[Se].closed=!0,t.emit("close")}):t.worker.terminate().catch(()=>{}).then(()=>{t[Se].closed=!0,t.emit("close")}))}function vR(t,e,r){let n=Atomics.load(t[Se].state,Oa),s=Buffer.byteLength(e);return t[Se].data.write(e,n),Atomics.store(t[Se].state,Oa,n+s),Atomics.notify(t[Se].state,Oa),r(),!0}function P5(t){if(!(t[Se].ended||!t[Se].ending||t[Se].flushing)){t[Se].ended=!0;try{t.flushSync();let e=Atomics.load(t[Se].state,Mu);Atomics.store(t[Se].state,Oa,-1),Atomics.notify(t[Se].state,Oa);let r=0;for(;e!==-1;){if(Atomics.wait(t[Se].state,Mu,e,1e3),e=Atomics.load(t[Se].state,Mu),e===-2){Wu(t,new Error("end() failed"));return}if(++r===10){Wu(t,new Error("end() took too long (10s)"));return}}process.nextTick(()=>{t[Se].finished=!0,t.emit("finish")})}catch(e){Wu(t,e)}}}function w5(t){let e=()=>{t[Se].ending?P5(t):t[Se].needDrain&&process.nextTick(n0e,t)};for(t[Se].flushing=!1;t[Se].buf.length!==0;){let r=Atomics.load(t[Se].state,Oa),n=t[Se].data.length-r;if(n===0){O5(t),Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0);continue}else if(n<0)throw new Error("overwritten");let s=t[Se].buf.slice(0,n),i=Buffer.byteLength(s);if(i<=n)t[Se].buf=t[Se].buf.slice(n),vR(t,s,e);else{for(O5(t),Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0);i>t[Se].buf.length;)n=n/2,s=t[Se].buf.slice(0,n),i=Buffer.byteLength(s);t[Se].buf=t[Se].buf.slice(n),vR(t,s,e)}}}function O5(t){if(t[Se].flushing)throw new Error("unable to flush while flushing");let e=Atomics.load(t[Se].state,Oa),r=0;for(;;){let n=Atomics.load(t[Se].state,Mu);if(n===-2)throw Error("_flushSync failed");if(n!==e)Atomics.wait(t[Se].state,Mu,n,1e3);else break;if(++r===10)throw new Error("_flushSync took too long (10s)")}}i0e.exports=R5});var L5=E((pPr,o0e)=>{"use strict";var{createRequire:pyt}=require("module"),myt=h5(),{join:D5,isAbsolute:hyt,sep:gyt}=require("path"),Ayt=v5(),k5=T5(),yyt=a0e();function xyt(t){k5.register(t,Eyt),k5.registerBeforeExit(t,_yt),t.on("close",function(){k5.unregister(t)})}function byt(t,e,r){let n=new yyt({filename:t,workerData:e,workerOpts:r});n.on("ready",s),n.on("close",function(){process.removeListener("exit",i)}),process.on("exit",i);function s(){process.removeListener("exit",i),n.unref(),r.autoEnd!==!1&&xyt(n)}function i(){n.closed||(n.flushSync(),Ayt(100),n.end())}return n}function Eyt(t){t.ref(),t.flushSync(),t.end(),t.once("close",function(){t.unref()})}function _yt(t){t.flushSync()}function Syt(t){let{pipeline:e,targets:r,levels:n,dedupe:s,options:i={},worker:a={},caller:o=myt()}=t,c=typeof o=="string"?[o]:o,u="__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{},l=t.target;if(l&&r)throw new Error("only one of target or targets can be specified");return r?(l=u["pino-worker"]||D5(__dirname,"worker.js"),i.targets=r.map(f=>({...f,target:d(f.target)}))):e&&(l=u["pino-pipeline-worker"]||D5(__dirname,"worker-pipeline.js"),i.targets=e.map(f=>({...f,target:d(f.target)}))),n&&(i.levels=n),s&&(i.dedupe=s),i.pinoWillSendConfig=!0,byt(d(l),i,a);function d(f){if(f=u[f]||f,hyt(f)||f.indexOf("file://")===0)return f;if(f==="pino/file")return D5(__dirname,"..","file.js");let p;for(let m of c)try{let h=m==="node:repl"?process.cwd()+gyt:m;p=pyt(h).resolve(f);break}catch{continue}if(!p)throw new Error(`unable to determine transport target for "${f}"`);return p}}o0e.exports=Syt});var TR=E((mPr,y0e)=>{"use strict";var c0e=Mpe(),{mapHttpRequest:vyt,mapHttpResponse:Cyt}=m5(),M5=Qpe(),u0e=T5(),{lsCacheSym:Iyt,chindingsSym:f0e,writeSym:l0e,serializersSym:p0e,formatOptsSym:d0e,endSym:Tyt,stringifiersSym:m0e,stringifySym:h0e,stringifySafeSym:W5,wildcardFirstSym:g0e,nestedKeySym:wyt,formattersSym:A0e,messageKeySym:Ryt,errorKeySym:Nyt,nestedKeyStrSym:Oyt,msgPrefixSym:CR}=$A(),{isMainThread:Pyt}=require("worker_threads"),Dyt=L5();function UA(){}function kyt(t,e){if(!e)return r;return function(...s){e.call(this,s,r,t)};function r(n,...s){if(typeof n=="object"){let i=n;n!==null&&(n.method&&n.headers&&n.socket?n=vyt(n):typeof n.setHeader=="function"&&(n=Cyt(n)));let a;i===null&&s.length===0?a=[null]:(i=s.shift(),a=s),typeof this[CR]=="string"&&i!==void 0&&i!==null&&(i=this[CR]+i),this[l0e](n,c0e(i,a,this[d0e]),t)}else{let i=n===void 0?s.shift():n;typeof this[CR]=="string"&&i!==void 0&&i!==null&&(i=this[CR]+i),this[l0e](null,c0e(i,s,this[d0e]),t)}}}function B5(t){let e="",r=0,n=!1,s=255,i=t.length;if(i>100)return JSON.stringify(t);for(var a=0;a<i&&s>=32;a++)s=t.charCodeAt(a),(s===34||s===92)&&(e+=t.slice(r,a)+"\\",r=a,n=!0);return n?e+=t.slice(r):e=t,s<32?JSON.stringify(t):'"'+e+'"'}function Lyt(t,e,r,n){let s=this[h0e],i=this[W5],a=this[m0e],o=this[Tyt],c=this[f0e],u=this[p0e],l=this[A0e],d=this[Ryt],f=this[Nyt],p=this[Iyt][r]+n;p=p+c;let m;l.log&&(t=l.log(t));let h=a[g0e],A="";for(let b in t)if(m=t[b],Object.prototype.hasOwnProperty.call(t,b)&&m!==void 0){u[b]?m=u[b](m):b===f&&u.err&&(m=u.err(m));let y=a[b]||h;switch(typeof m){case"undefined":case"function":continue;case"number":Number.isFinite(m)===!1&&(m=null);case"boolean":y&&(m=y(m));break;case"string":m=(y||B5)(m);break;default:m=(y||s)(m,i)}if(m===void 0)continue;let x=B5(b);A+=","+x+":"+m}let g="";if(e!==void 0){m=u[d]?u[d](e):e;let b=a[d]||h;switch(typeof m){case"function":break;case"number":Number.isFinite(m)===!1&&(m=null);case"boolean":b&&(m=b(m)),g=',"'+d+'":'+m;break;case"string":m=(b||B5)(m),g=',"'+d+'":'+m;break;default:m=(b||s)(m,i),g=',"'+d+'":'+m}}return this[wyt]&&A?p+this[Oyt]+A.slice(1)+"}"+g+o:p+A+g+o}function Byt(t,e){let r,n=t[f0e],s=t[h0e],i=t[W5],a=t[m0e],o=a[g0e],c=t[p0e],u=t[A0e].bindings;e=u(e);for(let l in e)if(r=e[l],(l!=="level"&&l!=="serializers"&&l!=="formatters"&&l!=="customLevels"&&e.hasOwnProperty(l)&&r!==void 0)===!0){if(r=c[l]?c[l](r):r,r=(a[l]||o||s)(r,i),r===void 0)continue;n+=',"'+l+'":'+r}return n}function Myt(t){return t.write!==t.constructor.prototype.write}var Wyt=process.env.NODE_V8_COVERAGE||process.env.V8_COVERAGE;function IR(t){let e=new M5(t);return e.on("error",r),!Wyt&&!t.sync&&Pyt&&(u0e.register(e,$yt),e.on("close",function(){u0e.unregister(e)})),e;function r(n){if(n.code==="EPIPE"){e.write=UA,e.end=UA,e.flushSync=UA,e.destroy=UA;return}e.removeListener("error",r),e.emit("error",n)}}function $yt(t,e){t.destroyed||(e==="beforeExit"?(t.flush(),t.on("drain",function(){t.end()})):t.flushSync())}function Fyt(t){return function(r,n,s={},i){if(typeof s=="string")i=IR({dest:s}),s={};else if(typeof i=="string"){if(s&&s.transport)throw Error("only one of option.transport or stream can be specified");i=IR({dest:i})}else if(s instanceof M5||s.writable||s._writableState)i=s,s={};else if(s.transport){if(s.transport instanceof M5||s.transport.writable||s.transport._writableState)throw Error("option.transport do not allow stream, please pass to option directly. e.g. pino(transport)");if(s.transport.targets&&s.transport.targets.length&&s.formatters&&typeof s.formatters.level=="function")throw Error("option.transport.targets do not allow custom level formatters");let c;s.customLevels&&(c=s.useOnlyCustomLevels?s.customLevels:Object.assign({},s.levels,s.customLevels)),i=Dyt({caller:n,...s.transport,levels:c})}if(s=Object.assign({},t,s),s.serializers=Object.assign({},t.serializers,s.serializers),s.formatters=Object.assign({},t.formatters,s.formatters),s.prettyPrint)throw new Error("prettyPrint option is no longer supported, see the pino-pretty package (https://github.com/pinojs/pino-pretty)");let{enabled:a,onChild:o}=s;return a===!1&&(s.level="silent"),o||(s.onChild=UA),i||(Myt(process.stdout)?i=process.stdout:i=IR({fd:process.stdout.fd||1})),{opts:s,stream:i}}}function Uyt(t,e){try{return JSON.stringify(t)}catch{try{return(e||this[W5])(t)}catch{return'"[unable to serialize, circular reference is too complex to analyze]"'}}}function qyt(t,e,r){return{level:t,bindings:e,log:r}}function jyt(t){let e=Number(t);return typeof t=="string"&&Number.isFinite(e)?e:t===void 0?1:t}y0e.exports={noop:UA,buildSafeSonicBoom:IR,asChindings:Byt,asJson:Lyt,genLog:kyt,createArgsNormalizer:Fyt,stringify:Uyt,buildFormatters:qyt,normalizeDestFileDescriptor:jyt}});var wR=E((hPr,x0e)=>{var Hyt={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},Qyt={ASC:"ASC",DESC:"DESC"};x0e.exports={DEFAULT_LEVELS:Hyt,SORTING_ORDER:Qyt}});var U5=E((gPr,S0e)=>{"use strict";var{lsCacheSym:Gyt,levelValSym:$5,useOnlyCustomLevelsSym:Vyt,streamSym:zyt,formattersSym:Kyt,hooksSym:Yyt,levelCompSym:b0e}=$A(),{noop:Jyt,genLog:xm}=TR(),{DEFAULT_LEVELS:$u,SORTING_ORDER:E0e}=wR(),_0e={fatal:t=>{let e=xm($u.fatal,t);return function(...r){let n=this[zyt];if(e.call(this,...r),typeof n.flushSync=="function")try{n.flushSync()}catch{}}},error:t=>xm($u.error,t),warn:t=>xm($u.warn,t),info:t=>xm($u.info,t),debug:t=>xm($u.debug,t),trace:t=>xm($u.trace,t)},F5=Object.keys($u).reduce((t,e)=>(t[$u[e]]=e,t),{}),Xyt=Object.keys(F5).reduce((t,e)=>(t[e]='{"level":'+Number(e),t),{});function Zyt(t){let e=t[Kyt].level,{labels:r}=t.levels,n={};for(let s in r){let i=e(r[s],Number(s));n[s]=JSON.stringify(i).slice(0,-1)}return t[Gyt]=n,t}function ext(t,e){if(e)return!1;switch(t){case"fatal":case"error":case"warn":case"info":case"debug":case"trace":return!0;default:return!1}}function txt(t){let{labels:e,values:r}=this.levels;if(typeof t=="number"){if(e[t]===void 0)throw Error("unknown level value"+t);t=e[t]}if(r[t]===void 0)throw Error("unknown level "+t);let n=this[$5],s=this[$5]=r[t],i=this[Vyt],a=this[b0e],o=this[Yyt].logMethod;for(let c in r){if(a(r[c],s)===!1){this[c]=Jyt;continue}this[c]=ext(c,i)?_0e[c](o):xm(r[c],o)}this.emit("level-change",t,s,e[n],n,this)}function rxt(t){let{levels:e,levelVal:r}=this;return e&&e.labels?e.labels[r]:""}function nxt(t){let{values:e}=this.levels,r=e[t];return r!==void 0&&this[b0e](r,this[$5])}function sxt(t,e,r){return t===E0e.DESC?e<=r:e>=r}function ixt(t){return typeof t=="string"?sxt.bind(null,t):t}function axt(t=null,e=!1){let r=t?Object.keys(t).reduce((i,a)=>(i[t[a]]=a,i),{}):null,n=Object.assign(Object.create(Object.prototype,{Infinity:{value:"silent"}}),e?null:F5,r),s=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),e?null:$u,t);return{labels:n,values:s}}function oxt(t,e,r){if(typeof t=="number"){if(![].concat(Object.keys(e||{}).map(i=>e[i]),r?[]:Object.keys(F5).map(i=>+i),1/0).includes(t))throw Error(`default level:${t} must be included in custom levels`);return}let n=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),r?null:$u,e);if(!(t in n))throw Error(`default level:${t} must be included in custom levels`)}function cxt(t,e){let{labels:r,values:n}=t;for(let s in e){if(s in n)throw Error("levels cannot be overridden");if(e[s]in r)throw Error("pre-existing level values cannot be used for new levels")}}function uxt(t){if(typeof t!="function"&&!(typeof t=="string"&&Object.values(E0e).includes(t)))throw new Error('Levels comparison should be one of "ASC", "DESC" or "function" type')}S0e.exports={initialLsCache:Xyt,genLsCache:Zyt,levelMethods:_0e,getLevel:rxt,setLevel:txt,isLevelEnabled:nxt,mappings:axt,assertNoLevelCollisions:cxt,assertDefaultLevelFound:oxt,genLevelComparison:ixt,assertLevelComparison:uxt}});var q5=E((APr,v0e)=>{"use strict";v0e.exports={version:"8.21.0"}});var L0e=E((xPr,k0e)=>{"use strict";var{EventEmitter:lxt}=require("events"),{lsCacheSym:dxt,levelValSym:fxt,setLevelSym:H5,getLevelSym:C0e,chindingsSym:Q5,parsedChindingsSym:pxt,mixinSym:mxt,asJsonSym:N0e,writeSym:hxt,mixinMergeStrategySym:gxt,timeSym:Axt,timeSliceIndexSym:yxt,streamSym:O0e,serializersSym:bm,formattersSym:j5,errorKeySym:xxt,messageKeySym:bxt,useOnlyCustomLevelsSym:Ext,needsMetadataGsym:_xt,redactFmtSym:Sxt,stringifySym:vxt,formatOptsSym:Cxt,stringifiersSym:Ixt,msgPrefixSym:I0e}=$A(),{getLevel:Txt,setLevel:wxt,isLevelEnabled:Rxt,mappings:Nxt,initialLsCache:Oxt,genLsCache:Pxt,assertNoLevelCollisions:Dxt}=U5(),{asChindings:P0e,asJson:kxt,buildFormatters:T0e,stringify:w0e}=TR(),{version:Lxt}=q5(),Bxt=_5(),Mxt=class{},D0e={constructor:Mxt,child:Wxt,bindings:$xt,setBindings:Fxt,flush:Hxt,isLevelEnabled:Rxt,version:Lxt,get level(){return this[C0e]()},set level(t){this[H5](t)},get levelVal(){return this[fxt]},set levelVal(t){throw Error("levelVal is read-only")},[dxt]:Oxt,[hxt]:qxt,[N0e]:kxt,[C0e]:Txt,[H5]:wxt};Object.setPrototypeOf(D0e,lxt.prototype);k0e.exports=function(){return Object.create(D0e)};var R0e=t=>t;function Wxt(t,e){if(!t)throw Error("missing bindings for child Pino");e=e||{};let r=this[bm],n=this[j5],s=Object.create(this);if(e.hasOwnProperty("serializers")===!0){s[bm]=Object.create(null);for(let l in r)s[bm][l]=r[l];let c=Object.getOwnPropertySymbols(r);for(var i=0;i<c.length;i++){let l=c[i];s[bm][l]=r[l]}for(let l in e.serializers)s[bm][l]=e.serializers[l];let u=Object.getOwnPropertySymbols(e.serializers);for(var a=0;a<u.length;a++){let l=u[a];s[bm][l]=e.serializers[l]}}else s[bm]=r;if(e.hasOwnProperty("formatters")){let{level:c,bindings:u,log:l}=e.formatters;s[j5]=T0e(c||n.level,u||R0e,l||n.log)}else s[j5]=T0e(n.level,R0e,n.log);if(e.hasOwnProperty("customLevels")===!0&&(Dxt(this.levels,e.customLevels),s.levels=Nxt(e.customLevels,s[Ext]),Pxt(s)),typeof e.redact=="object"&&e.redact!==null||Array.isArray(e.redact)){s.redact=e.redact;let c=Bxt(s.redact,w0e),u={stringify:c[Sxt]};s[vxt]=w0e,s[Ixt]=c,s[Cxt]=u}typeof e.msgPrefix=="string"&&(s[I0e]=(this[I0e]||"")+e.msgPrefix),s[Q5]=P0e(s,t);let o=e.level||this.level;return s[H5](o),this.onChild(s),s}function $xt(){let e=`{${this[Q5].substr(1)}}`,r=JSON.parse(e);return delete r.pid,delete r.hostname,r}function Fxt(t){let e=P0e(this,t);this[Q5]=e,delete this[pxt]}function Uxt(t,e){return Object.assign(e,t)}function qxt(t,e,r){let n=this[Axt](),s=this[mxt],i=this[xxt],a=this[bxt],o=this[gxt]||Uxt,c;t==null?c={}:t instanceof Error?(c={[i]:t},e===void 0&&(e=t.message)):(c=t,e===void 0&&t[a]===void 0&&t[i]&&(e=t[i].message)),s&&(c=o(c,s(c,r,this)));let u=this[N0e](c,e,r,n),l=this[O0e];l[_xt]===!0&&(l.lastLevel=r,l.lastObj=c,l.lastMsg=e,l.lastTime=n.slice(this[yxt]),l.lastLogger=this),l.write(u)}function jxt(){}function Hxt(t){if(t!=null&&typeof t!="function")throw Error("callback must be a function");let e=this[O0e];typeof e.flush=="function"?e.flush(t||jxt):t&&t()}});var $0e=E((K5,W0e)=>{"use strict";var{hasOwnProperty:o1}=Object.prototype,_m=z5();_m.configure=z5;_m.stringify=_m;_m.default=_m;K5.stringify=_m;K5.configure=z5;W0e.exports=_m;var Qxt=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function pp(t){return t.length<5e3&&!Qxt.test(t)?`"${t}"`:JSON.stringify(t)}function G5(t,e){if(t.length>200||e)return t.sort(e);for(let r=1;r<t.length;r++){let n=t[r],s=r;for(;s!==0&&t[s-1]>n;)t[s]=t[s-1],s--;t[s]=n}return t}var Gxt=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function V5(t){return Gxt.call(t)!==void 0&&t.length!==0}function B0e(t,e,r){t.length<r&&(r=t.length);let n=e===","?"":" ",s=`"0":${n}${t[0]}`;for(let i=1;i<r;i++)s+=`${e}"${i}":${n}${t[i]}`;return s}function Vxt(t){if(o1.call(t,"circularValue")){let e=t.circularValue;if(typeof e=="string")return`"${e}"`;if(e==null)return e;if(e===Error||e===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}function zxt(t){let e;if(o1.call(t,"deterministic")&&(e=t.deterministic,typeof e!="boolean"&&typeof e!="function"))throw new TypeError('The "deterministic" argument must be of type boolean or comparator function');return e===void 0?!0:e}function Kxt(t,e){let r;if(o1.call(t,e)&&(r=t[e],typeof r!="boolean"))throw new TypeError(`The "${e}" argument must be of type boolean`);return r===void 0?!0:r}function M0e(t,e){let r;if(o1.call(t,e)){if(r=t[e],typeof r!="number")throw new TypeError(`The "${e}" argument must be of type number`);if(!Number.isInteger(r))throw new TypeError(`The "${e}" argument must be an integer`);if(r<1)throw new RangeError(`The "${e}" argument must be >= 1`)}return r===void 0?1/0:r}function Em(t){return t===1?"1 item":`${t} items`}function Yxt(t){let e=new Set;for(let r of t)(typeof r=="string"||typeof r=="number")&&e.add(String(r));return e}function Jxt(t){if(o1.call(t,"strict")){let e=t.strict;if(typeof e!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(e)return r=>{let n=`Object can not safely be stringified. Received type ${typeof r}`;throw typeof r!="function"&&(n+=` (${r.toString()})`),new Error(n)}}}function z5(t){t={...t};let e=Jxt(t);e&&(t.bigint===void 0&&(t.bigint=!1),"circularValue"in t||(t.circularValue=Error));let r=Vxt(t),n=Kxt(t,"bigint"),s=zxt(t),i=typeof s=="function"?s:void 0,a=M0e(t,"maximumDepth"),o=M0e(t,"maximumBreadth");function c(p,m,h,A,g,b){let y=m[p];switch(typeof y=="object"&&y!==null&&typeof y.toJSON=="function"&&(y=y.toJSON(p)),y=A.call(m,p,y),typeof y){case"string":return pp(y);case"object":{if(y===null)return"null";if(h.indexOf(y)!==-1)return r;let x="",v=",",C=b;if(Array.isArray(y)){if(y.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(y),g!==""&&(b+=g,x+=`
${b}`,v=`,
${b}`);let M=Math.min(y.length,o),k=0;for(;k<M-1;k++){let Z=c(String(k),y,h,A,g,b);x+=Z!==void 0?Z:"null",x+=v}let B=c(String(k),y,h,A,g,b);if(x+=B!==void 0?B:"null",y.length-1>o){let Z=y.length-o-1;x+=`${v}"... ${Em(Z)} not stringified"`}return g!==""&&(x+=`
${C}`),h.pop(),`[${x}]`}let R=Object.keys(y),w=R.length;if(w===0)return"{}";if(a<h.length+1)return'"[Object]"';let N="",P="";g!==""&&(b+=g,v=`,
${b}`,N=" ");let L=Math.min(w,o);s&&!V5(y)&&(R=G5(R,i)),h.push(y);for(let M=0;M<L;M++){let k=R[M],B=c(k,y,h,A,g,b);B!==void 0&&(x+=`${P}${pp(k)}:${N}${B}`,P=v)}if(w>o){let M=w-o;x+=`${P}"...":${N}"${Em(M)} not stringified"`,P=v}return g!==""&&P.length>1&&(x=`
${b}${x}
${C}`),h.pop(),`{${x}}`}case"number":return isFinite(y)?String(y):e?e(y):"null";case"boolean":return y===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(y);default:return e?e(y):void 0}}function u(p,m,h,A,g,b){switch(typeof m=="object"&&m!==null&&typeof m.toJSON=="function"&&(m=m.toJSON(p)),typeof m){case"string":return pp(m);case"object":{if(m===null)return"null";if(h.indexOf(m)!==-1)return r;let y=b,x="",v=",";if(Array.isArray(m)){if(m.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(m),g!==""&&(b+=g,x+=`
${b}`,v=`,
${b}`);let w=Math.min(m.length,o),N=0;for(;N<w-1;N++){let L=u(String(N),m[N],h,A,g,b);x+=L!==void 0?L:"null",x+=v}let P=u(String(N),m[N],h,A,g,b);if(x+=P!==void 0?P:"null",m.length-1>o){let L=m.length-o-1;x+=`${v}"... ${Em(L)} not stringified"`}return g!==""&&(x+=`
${y}`),h.pop(),`[${x}]`}h.push(m);let C="";g!==""&&(b+=g,v=`,
${b}`,C=" ");let R="";for(let w of A){let N=u(w,m[w],h,A,g,b);N!==void 0&&(x+=`${R}${pp(w)}:${C}${N}`,R=v)}return g!==""&&R.length>1&&(x=`
${b}${x}
${y}`),h.pop(),`{${x}}`}case"number":return isFinite(m)?String(m):e?e(m):"null";case"boolean":return m===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(m);default:return e?e(m):void 0}}function l(p,m,h,A,g){switch(typeof m){case"string":return pp(m);case"object":{if(m===null)return"null";if(typeof m.toJSON=="function"){if(m=m.toJSON(p),typeof m!="object")return l(p,m,h,A,g);if(m===null)return"null"}if(h.indexOf(m)!==-1)return r;let b=g;if(Array.isArray(m)){if(m.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(m),g+=A;let N=`
${g}`,P=`,
${g}`,L=Math.min(m.length,o),M=0;for(;M<L-1;M++){let B=l(String(M),m[M],h,A,g);N+=B!==void 0?B:"null",N+=P}let k=l(String(M),m[M],h,A,g);if(N+=k!==void 0?k:"null",m.length-1>o){let B=m.length-o-1;N+=`${P}"... ${Em(B)} not stringified"`}return N+=`
${b}`,h.pop(),`[${N}]`}let y=Object.keys(m),x=y.length;if(x===0)return"{}";if(a<h.length+1)return'"[Object]"';g+=A;let v=`,
${g}`,C="",R="",w=Math.min(x,o);V5(m)&&(C+=B0e(m,v,o),y=y.slice(m.length),w-=m.length,R=v),s&&(y=G5(y,i)),h.push(m);for(let N=0;N<w;N++){let P=y[N],L=l(P,m[P],h,A,g);L!==void 0&&(C+=`${R}${pp(P)}: ${L}`,R=v)}if(x>o){let N=x-o;C+=`${R}"...": "${Em(N)} not stringified"`,R=v}return R!==""&&(C=`
${g}${C}
${b}`),h.pop(),`{${C}}`}case"number":return isFinite(m)?String(m):e?e(m):"null";case"boolean":return m===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(m);default:return e?e(m):void 0}}function d(p,m,h){switch(typeof m){case"string":return pp(m);case"object":{if(m===null)return"null";if(typeof m.toJSON=="function"){if(m=m.toJSON(p),typeof m!="object")return d(p,m,h);if(m===null)return"null"}if(h.indexOf(m)!==-1)return r;let A="",g=m.length!==void 0;if(g&&Array.isArray(m)){if(m.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(m);let C=Math.min(m.length,o),R=0;for(;R<C-1;R++){let N=d(String(R),m[R],h);A+=N!==void 0?N:"null",A+=","}let w=d(String(R),m[R],h);if(A+=w!==void 0?w:"null",m.length-1>o){let N=m.length-o-1;A+=`,"... ${Em(N)} not stringified"`}return h.pop(),`[${A}]`}let b=Object.keys(m),y=b.length;if(y===0)return"{}";if(a<h.length+1)return'"[Object]"';let x="",v=Math.min(y,o);g&&V5(m)&&(A+=B0e(m,",",o),b=b.slice(m.length),v-=m.length,x=","),s&&(b=G5(b,i)),h.push(m);for(let C=0;C<v;C++){let R=b[C],w=d(R,m[R],h);w!==void 0&&(A+=`${x}${pp(R)}:${w}`,x=",")}if(y>o){let C=y-o;A+=`${x}"...":"${Em(C)} not stringified"`}return h.pop(),`{${A}}`}case"number":return isFinite(m)?String(m):e?e(m):"null";case"boolean":return m===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(m);default:return e?e(m):void 0}}function f(p,m,h){if(arguments.length>1){let A="";if(typeof h=="number"?A=" ".repeat(Math.min(h,10)):typeof h=="string"&&(A=h.slice(0,10)),m!=null){if(typeof m=="function")return c("",{"":p},[],m,A,"");if(Array.isArray(m))return u("",p,[],Yxt(m),A,"")}if(A.length!==0)return l("",p,[],A,"")}return d("",p,[])}return f}});var q0e=E((bPr,U0e)=>{"use strict";var Y5=Symbol.for("pino.metadata"),{DEFAULT_LEVELS:F0e}=wR(),Xxt=F0e.info;function Zxt(t,e){let r=0;t=t||[],e=e||{dedupe:!1};let n=Object.create(F0e);n.silent=1/0,e.levels&&typeof e.levels=="object"&&Object.keys(e.levels).forEach(d=>{n[d]=e.levels[d]});let s={write:i,add:c,emit:a,flushSync:o,end:u,minLevel:0,streams:[],clone:l,[Y5]:!0,streamLevels:n};return Array.isArray(t)?t.forEach(c,s):c.call(s,t),t=null,s;function i(d){let f,p=this.lastLevel,{streams:m}=this,h=0,A;for(let g=tbt(m.length,e.dedupe);nbt(g,m.length,e.dedupe);g=rbt(g,e.dedupe))if(f=m[g],f.level<=p){if(h!==0&&h!==f.level)break;if(A=f.stream,A[Y5]){let{lastTime:b,lastMsg:y,lastObj:x,lastLogger:v}=this;A.lastLevel=p,A.lastTime=b,A.lastMsg=y,A.lastObj=x,A.lastLogger=v}A.write(d),e.dedupe&&(h=f.level)}else if(!e.dedupe)break}function a(...d){for(let{stream:f}of this.streams)typeof f.emit=="function"&&f.emit(...d)}function o(){for(let{stream:d}of this.streams)typeof d.flushSync=="function"&&d.flushSync()}function c(d){if(!d)return s;let f=typeof d.write=="function"||d.stream,p=d.write?d:d.stream;if(!f)throw Error("stream object needs to implement either StreamEntry or DestinationStream interface");let{streams:m,streamLevels:h}=this,A;typeof d.levelVal=="number"?A=d.levelVal:typeof d.level=="string"?A=h[d.level]:typeof d.level=="number"?A=d.level:A=Xxt;let g={stream:p,level:A,levelVal:void 0,id:r++};return m.unshift(g),m.sort(ebt),this.minLevel=m[0].level,s}function u(){for(let{stream:d}of this.streams)typeof d.flushSync=="function"&&d.flushSync(),d.end()}function l(d){let f=new Array(this.streams.length);for(let p=0;p<f.length;p++)f[p]={level:d,stream:this.streams[p].stream};return{write:i,add:c,minLevel:d,streams:f,clone:l,emit:a,flushSync:o,[Y5]:!0}}}function ebt(t,e){return t.level-e.level}function tbt(t,e){return e?t-1:0}function rbt(t,e){return e?t-1:t+1}function nbt(t,e,r){return r?t>=0:t<e}U0e.exports=Zxt});var tme=E((EPr,jo)=>{"use strict";var sbt=require("os"),Y0e=m5(),ibt=h5(),abt=_5(),J0e=Lpe(),obt=L0e(),X0e=$A(),{configure:cbt}=$0e(),{assertDefaultLevelFound:ubt,mappings:Z0e,genLsCache:lbt,genLevelComparison:dbt,assertLevelComparison:fbt}=U5(),{DEFAULT_LEVELS:pbt,SORTING_ORDER:mbt}=wR(),{createArgsNormalizer:hbt,asChindings:gbt,buildSafeSonicBoom:j0e,buildFormatters:Abt,stringify:J5,normalizeDestFileDescriptor:H0e,noop:ybt}=TR(),{version:xbt}=q5(),{chindingsSym:Q0e,redactFmtSym:bbt,serializersSym:G0e,timeSym:Ebt,timeSliceIndexSym:_bt,streamSym:Sbt,stringifySym:V0e,stringifySafeSym:X5,stringifiersSym:z0e,setLevelSym:vbt,endSym:Cbt,formatOptsSym:Ibt,messageKeySym:Tbt,errorKeySym:wbt,nestedKeySym:Rbt,mixinSym:Nbt,levelCompSym:Obt,useOnlyCustomLevelsSym:Pbt,formattersSym:K0e,hooksSym:Dbt,nestedKeyStrSym:kbt,mixinMergeStrategySym:Lbt,msgPrefixSym:Bbt}=X0e,{epochTime:eme,nullTime:Mbt}=J0e,{pid:Wbt}=process,$bt=sbt.hostname(),Fbt=Y0e.err,Ubt={level:"info",levelComparison:mbt.ASC,levels:pbt,messageKey:"msg",errorKey:"err",nestedKey:null,enabled:!0,base:{pid:Wbt,hostname:$bt},serializers:Object.assign(Object.create(null),{err:Fbt}),formatters:Object.assign(Object.create(null),{bindings(t){return t},level(t,e){return{level:e}}}),hooks:{logMethod:void 0},timestamp:eme,name:void 0,redact:null,customLevels:null,useOnlyCustomLevels:!1,depthLimit:5,edgeLimit:100},qbt=hbt(Ubt),jbt=Object.assign(Object.create(null),Y0e);function Z5(...t){let e={},{opts:r,stream:n}=qbt(e,ibt(),...t),{redact:s,crlf:i,serializers:a,timestamp:o,messageKey:c,errorKey:u,nestedKey:l,base:d,name:f,level:p,customLevels:m,levelComparison:h,mixin:A,mixinMergeStrategy:g,useOnlyCustomLevels:b,formatters:y,hooks:x,depthLimit:v,edgeLimit:C,onChild:R,msgPrefix:w}=r,N=cbt({maximumDepth:v,maximumBreadth:C}),P=Abt(y.level,y.bindings,y.log),L=J5.bind({[X5]:N}),M=s?abt(s,L):{},k=s?{stringify:M[bbt]}:{stringify:L},B="}"+(i?`\r
`:`
`),Z=gbt.bind(null,{[Q0e]:"",[G0e]:a,[z0e]:M,[V0e]:J5,[X5]:N,[K0e]:P}),W="";d!==null&&(f===void 0?W=Z(d):W=Z(Object.assign({},d,{name:f})));let F=o instanceof Function?o:o?eme:Mbt,V=F().indexOf(":")+1;if(b&&!m)throw Error("customLevels is required if useOnlyCustomLevels is set true");if(A&&typeof A!="function")throw Error(`Unknown mixin type "${typeof A}" - expected "function"`);if(w&&typeof w!="string")throw Error(`Unknown msgPrefix type "${typeof w}" - expected "string"`);ubt(p,m,b);let j=Z0e(m,b);typeof n.emit=="function"&&n.emit("message",{code:"PINO_CONFIG",config:{levels:j,messageKey:c,errorKey:u}}),fbt(h);let J=dbt(h);return Object.assign(e,{levels:j,[Obt]:J,[Pbt]:b,[Sbt]:n,[Ebt]:F,[_bt]:V,[V0e]:J5,[X5]:N,[z0e]:M,[Cbt]:B,[Ibt]:k,[Tbt]:c,[wbt]:u,[Rbt]:l,[kbt]:l?`,${JSON.stringify(l)}:{`:"",[G0e]:a,[Nbt]:A,[Lbt]:g,[Q0e]:W,[K0e]:P,[Dbt]:x,silent:ybt,onChild:R,[Bbt]:w}),Object.setPrototypeOf(e,obt()),lbt(e),e[vbt](p),e}jo.exports=Z5;jo.exports.destination=(t=process.stdout.fd)=>typeof t=="object"?(t.dest=H0e(t.dest||process.stdout.fd),j0e(t)):j0e({dest:H0e(t),minLength:0});jo.exports.transport=L5();jo.exports.multistream=q0e();jo.exports.levels=Z0e();jo.exports.stdSerializers=jbt;jo.exports.stdTimeFunctions=Object.assign({},J0e);jo.exports.symbols=X0e;jo.exports.version=xbt;jo.exports.default=Z5;jo.exports.pino=Z5});var c1=E((_Pr,ame)=>{"use strict";var Hbt=Qfe(),RR=tme(),{serializersSym:rme}=RR.symbols,{FST_ERR_LOG_INVALID_DESTINATION:Qbt,FST_ERR_LOG_INVALID_LOGGER:Gbt}=Ci();function nme(t){if(t.stream&&t.file)throw new Qbt;t.file&&(t.stream=RR.destination(t.file),delete t.file);let e=t.logger,r=t.genReqId,n=null;return e?(t.logger=void 0,t.genReqId=void 0,e[rme]&&(t.serializers=Object.assign({},t.serializers,e[rme])),n=e.child({},t),t.logger=e,t.genReqId=r):n=RR(t,t.stream),n}var e8={req:function(e){return{method:e.method,url:e.url,version:e.headers&&e.headers["accept-version"],hostname:e.hostname,remoteAddress:e.ip,remotePort:e.socket?e.socket.remotePort:void 0}},err:RR.stdSerializers.err,res:function(e){return{statusCode:e.statusCode}}};function Vbt(){let t=process.hrtime();return t[0]*1e3+t[1]/1e6}function zbt(t){if(!t.logger){let n=Hbt;return n.child=()=>n,{logger:n,hasLogger:!1}}if(sme(t.logger))return{logger:nme({logger:t.logger,serializers:Object.assign({},e8,t.logger.serializers)}),hasLogger:!0};let e={};return Object.prototype.toString.call(t.logger)==="[object Object]"&&Reflect.ownKeys(t.logger).forEach(n=>{Object.defineProperty(e,n,{value:t.logger[n],writable:!0,enumerable:!0,configurable:!0})}),e.level=e.level||"info",e.serializers=Object.assign({},e8,e.serializers),t.logger=e,{logger:nme(t.logger),hasLogger:!0}}function sme(t,e){let r=["info","error","debug","fatal","warn","trace","child"],n=t?r.filter(s=>!t[s]||typeof t[s]!="function"):r;if(n.length){if(n.length===r.length&&!e)return!1;throw Gbt(n.join(","))}else return!0}function Kbt(t,e,r,n,s){let i={[t.requestIdLogLabel]:n},a=t.childLoggerFactory.call(t.server,e,i,s||{},r);return t.childLoggerFactory!==ime&&sme(a,!0),a}function ime(t,e,r){return t.child(e,r)}ame.exports={createLogger:zbt,createChildLogger:Kbt,defaultChildLoggerFactory:ime,serializers:e8,now:Vbt}});var NR=E((SPr,ome)=>{"use strict";ome.exports=Ybt;function qA(t){return t instanceof Buffer?Buffer.from(t):new t.constructor(t.buffer.slice(),t.byteOffset,t.length)}function Ybt(t){if(t=t||{},t.circles)return Jbt(t);let e=new Map;if(e.set(Date,a=>new Date(a)),e.set(Map,(a,o)=>new Map(n(Array.from(a),o))),e.set(Set,(a,o)=>new Set(n(Array.from(a),o))),t.constructorHandlers)for(let a of t.constructorHandlers)e.set(a[0],a[1]);let r=null;return t.proto?i:s;function n(a,o){let c=Object.keys(a),u=new Array(c.length);for(let l=0;l<c.length;l++){let d=c[l],f=a[d];typeof f!="object"||f===null?u[d]=f:f.constructor!==Object&&(r=e.get(f.constructor))?u[d]=r(f,o):ArrayBuffer.isView(f)?u[d]=qA(f):u[d]=o(f)}return u}function s(a){if(typeof a!="object"||a===null)return a;if(Array.isArray(a))return n(a,s);if(a.constructor!==Object&&(r=e.get(a.constructor)))return r(a,s);let o={};for(let c in a){if(Object.hasOwnProperty.call(a,c)===!1)continue;let u=a[c];typeof u!="object"||u===null?o[c]=u:u.constructor!==Object&&(r=e.get(u.constructor))?o[c]=r(u,s):ArrayBuffer.isView(u)?o[c]=qA(u):o[c]=s(u)}return o}function i(a){if(typeof a!="object"||a===null)return a;if(Array.isArray(a))return n(a,i);if(a.constructor!==Object&&(r=e.get(a.constructor)))return r(a,i);let o={};for(let c in a){let u=a[c];typeof u!="object"||u===null?o[c]=u:u.constructor!==Object&&(r=e.get(u.constructor))?o[c]=r(u,i):ArrayBuffer.isView(u)?o[c]=qA(u):o[c]=i(u)}return o}}function Jbt(t){let e=[],r=[],n=new Map;if(n.set(Date,c=>new Date(c)),n.set(Map,(c,u)=>new Map(i(Array.from(c),u))),n.set(Set,(c,u)=>new Set(i(Array.from(c),u))),t.constructorHandlers)for(let c of t.constructorHandlers)n.set(c[0],c[1]);let s=null;return t.proto?o:a;function i(c,u){let l=Object.keys(c),d=new Array(l.length);for(let f=0;f<l.length;f++){let p=l[f],m=c[p];if(typeof m!="object"||m===null)d[p]=m;else if(m.constructor!==Object&&(s=n.get(m.constructor)))d[p]=s(m,u);else if(ArrayBuffer.isView(m))d[p]=qA(m);else{let h=e.indexOf(m);h!==-1?d[p]=r[h]:d[p]=u(m)}}return d}function a(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return i(c,a);if(c.constructor!==Object&&(s=n.get(c.constructor)))return s(c,a);let u={};e.push(c),r.push(u);for(let l in c){if(Object.hasOwnProperty.call(c,l)===!1)continue;let d=c[l];if(typeof d!="object"||d===null)u[l]=d;else if(d.constructor!==Object&&(s=n.get(d.constructor)))u[l]=s(d,a);else if(ArrayBuffer.isView(d))u[l]=qA(d);else{let f=e.indexOf(d);f!==-1?u[l]=r[f]:u[l]=a(d)}}return e.pop(),r.pop(),u}function o(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return i(c,o);if(c.constructor!==Object&&(s=n.get(c.constructor)))return s(c,o);let u={};e.push(c),r.push(u);for(let l in c){let d=c[l];if(typeof d!="object"||d===null)u[l]=d;else if(d.constructor!==Object&&(s=n.get(d.constructor)))u[l]=s(d,o);else if(ArrayBuffer.isView(d))u[l]=qA(d);else{let f=e.indexOf(d);f!==-1?u[l]=r[f]:u[l]=o(d)}}return e.pop(),r.pop(),u}}});var u1=E((vPr,dme)=>{"use strict";var Xbt=NR()({circles:!1,proto:!0}),{kSchemaVisited:cme,kSchemaResponse:Zbt}=Qs(),r8=Symbol.for("fluent-schema-object"),{FST_ERR_SCH_MISSING_ID:eEt,FST_ERR_SCH_ALREADY_PRESENT:tEt,FST_ERR_SCH_DUPLICATE:rEt,FST_ERR_SCH_CONTENT_MISSING_SCHEMA:nEt}=Ci(),lme=["params","body","querystring","query","headers"];function OR(t){this.store=t||{}}OR.prototype.add=function(t){let e=Xbt(t.isFluentSchema||t.isFluentJSONSchema||t[r8]?t.valueOf():t),r=e.$id;if(!r)throw new eEt;if(this.store[r])throw new tEt(r);this.store[r]=e};OR.prototype.getSchemas=function(){return Object.assign({},this.store)};OR.prototype.getSchema=function(t){return this.store[t]};function ume(t){return typeof t=="object"&&Object.getPrototypeOf(t)!==Object.prototype}function sEt(t,e){if(t[cme])return t;if(t.query){if(t.querystring)throw new rEt("querystring");t.querystring=t.query}iEt(t);for(let r of lme){let n=t[r];n&&!ume(n)&&(t[r]=t8(n,e.jsonShorthand))}if(t.response){let r=Object.keys(t.response);for(let n of r){if(ume(t.response[n]))continue;let s=t.response[n].content,i=!1;if(s){let a=Object.keys(s);for(let o=0;o<a.length;o++){let c=a[o];if(!s[c].schema){if(a.length===1)break;throw new nEt(c)}t.response[n].content[c].schema=t8(s[c].schema,e.jsonShorthand),o===a.length-1&&(i=!0)}}i||(t.response[n]=t8(t.response[n],e.jsonShorthand))}}return t[cme]=!0,t}function iEt(t){for(let e of lme)t[e]&&(t[e].isFluentSchema||t[e][r8])&&(t[e]=t[e].valueOf());if(t.response){let e=Object.keys(t.response);for(let r of e)(t.response[r].isFluentSchema||t.response[r][r8])&&(t.response[r]=t.response[r].valueOf())}}function t8(t,e){return!e||t.$ref||t.oneOf||t.allOf||t.anyOf||t.$merge||t.$patch?t:!t.type&&!t.properties?{type:"object",properties:t}:t}function aEt(t,e,r){let n=t[Zbt];if(!n)return!1;if(n[e]){if(n[e].constructor===Object&&r){let i=r.split(";",1)[0];return n[e][i]?n[e][i]:!1}return n[e]}let s=(e+"")[0]+"xx";if(n[s]){if(n[s].constructor===Object&&r){let i=r.split(";",1)[0];return n[s][i]?n[s][i]:!1}return n[s]}if(n.default){if(n.default.constructor===Object&&r){let i=r.split(";",1)[0];return n.default[i]?n.default[i]:!1}return n.default}return!1}dme.exports={buildSchemas(t){return new OR(t)},getSchemaSerializer:aEt,normalizeSchema:sEt}});var n8=E((CPr,pme)=>{"use strict";var oEt=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;pme.exports=class fme{constructor(e){switch(e&&e.rounding){case"floor":this.parseInteger=Math.floor;break;case"ceil":this.parseInteger=Math.ceil;break;case"round":this.parseInteger=Math.round;break;case"trunc":default:this.parseInteger=Math.trunc;break}this._options=e}asInteger(e){if(Number.isInteger(e))return""+e;if(typeof e=="bigint")return e.toString();let r=this.parseInteger(e);if(r===1/0||r===-1/0||r!==r)throw new Error(`The value "${e}" cannot be converted to an integer.`);return""+r}asNumber(e){let r=Number(e);if(r!==r)throw new Error(`The value "${e}" cannot be converted to a number.`);return r===1/0||r===-1/0?"null":""+r}asBoolean(e){return e&&"true"||"false"}asDateTime(e){if(e===null)return'""';if(e instanceof Date)return'"'+e.toISOString()+'"';if(typeof e=="string")return'"'+e+'"';throw new Error(`The value "${e}" cannot be converted to a date-time.`)}asDate(e){if(e===null)return'""';if(e instanceof Date)return'"'+new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().slice(0,10)+'"';if(typeof e=="string")return'"'+e+'"';throw new Error(`The value "${e}" cannot be converted to a date.`)}asTime(e){if(e===null)return'""';if(e instanceof Date)return'"'+new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().slice(11,19)+'"';if(typeof e=="string")return'"'+e+'"';throw new Error(`The value "${e}" cannot be converted to a time.`)}asString(e){let r=e.length;if(r<42){let s="",i=-1,a=255;for(var n=0;n<r;n++)if(a=e.charCodeAt(n),a===34||a===92)i===-1&&(i=0),s+=e.slice(i,n)+"\\",i=n;else if(a<32||a>=55296&&a<=57343)return JSON.stringify(e);return i===-1&&'"'+e+'"'||'"'+s+e.slice(i)+'"'}else return r<5e3&&oEt.test(e)===!1?'"'+e+'"':JSON.stringify(e)}asUnsafeString(e){return'"'+e+'"'}getState(){return this._options}static restoreFromState(e){return new fme(e)}}});var f1=E(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.regexpCode=kr.getEsmExportName=kr.getProperty=kr.safeStringify=kr.stringify=kr.strConcat=kr.addCodeArg=kr.str=kr._=kr.nil=kr._Code=kr.Name=kr.IDENTIFIER=kr._CodeOrName=void 0;var l1=class{};kr._CodeOrName=l1;kr.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Sm=class extends l1{constructor(e){if(super(),!kr.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};kr.Name=Sm;var Ho=class extends l1{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Sm&&(r[n.str]=(r[n.str]||0)+1),r),{})}};kr._Code=Ho;kr.nil=new Ho("");function mme(t,...e){let r=[t[0]],n=0;for(;n<e.length;)i8(r,e[n]),r.push(t[++n]);return new Ho(r)}kr._=mme;var s8=new Ho("+");function hme(t,...e){let r=[d1(t[0])],n=0;for(;n<e.length;)r.push(s8),i8(r,e[n]),r.push(s8,d1(t[++n]));return cEt(r),new Ho(r)}kr.str=hme;function i8(t,e){e instanceof Ho?t.push(...e._items):e instanceof Sm?t.push(e):t.push(dEt(e))}kr.addCodeArg=i8;function cEt(t){let e=1;for(;e<t.length-1;){if(t[e]===s8){let r=uEt(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function uEt(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Sm||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Sm))return`"${t}${e.slice(1)}`}function lEt(t,e){return e.emptyStr()?t:t.emptyStr()?e:hme`${t}${e}`}kr.strConcat=lEt;function dEt(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:d1(Array.isArray(t)?t.join(","):t)}function fEt(t){return new Ho(d1(t))}kr.stringify=fEt;function d1(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}kr.safeStringify=d1;function pEt(t){return typeof t=="string"&&kr.IDENTIFIER.test(t)?new Ho(`.${t}`):mme`[${t}]`}kr.getProperty=pEt;function mEt(t){if(typeof t=="string"&&kr.IDENTIFIER.test(t))return new Ho(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}kr.getEsmExportName=mEt;function hEt(t){return new Ho(t.toString())}kr.regexpCode=hEt});var c8=E(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.ValueScope=Da.ValueScopeName=Da.Scope=Da.varKinds=Da.UsedValueState=void 0;var Pa=f1(),a8=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},PR;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(PR||(Da.UsedValueState=PR={}));Da.varKinds={const:new Pa.Name("const"),let:new Pa.Name("let"),var:new Pa.Name("var")};var DR=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Pa.Name?e:this.name(e)}name(e){return new Pa.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Da.Scope=DR;var kR=class extends Pa.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Pa._)`.${new Pa.Name(r)}[${n}]`}};Da.ValueScopeName=kR;var gEt=(0,Pa._)`\n`,o8=class extends DR{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?gEt:Pa.nil}}get(){return this._scope}name(e){return new kR(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Pa._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let i=Pa.nil;for(let a in e){let o=e[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,PR.Started);let l=r(u);if(l){let d=this.opts.es5?Da.varKinds.var:Da.varKinds.const;i=(0,Pa._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,Pa._)`${i}${l}${this.opts._n}`;else throw new a8(u);c.set(u,PR.Completed)})}return i}};Da.ValueScope=o8});var zt=E(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.or=Xt.and=Xt.not=Xt.CodeGen=Xt.operators=Xt.varKinds=Xt.ValueScopeName=Xt.ValueScope=Xt.Scope=Xt.Name=Xt.regexpCode=Xt.stringify=Xt.getProperty=Xt.nil=Xt.strConcat=Xt.str=Xt._=void 0;var Ar=f1(),$c=c8(),mp=f1();Object.defineProperty(Xt,"_",{enumerable:!0,get:function(){return mp._}});Object.defineProperty(Xt,"str",{enumerable:!0,get:function(){return mp.str}});Object.defineProperty(Xt,"strConcat",{enumerable:!0,get:function(){return mp.strConcat}});Object.defineProperty(Xt,"nil",{enumerable:!0,get:function(){return mp.nil}});Object.defineProperty(Xt,"getProperty",{enumerable:!0,get:function(){return mp.getProperty}});Object.defineProperty(Xt,"stringify",{enumerable:!0,get:function(){return mp.stringify}});Object.defineProperty(Xt,"regexpCode",{enumerable:!0,get:function(){return mp.regexpCode}});Object.defineProperty(Xt,"Name",{enumerable:!0,get:function(){return mp.Name}});var WR=c8();Object.defineProperty(Xt,"Scope",{enumerable:!0,get:function(){return WR.Scope}});Object.defineProperty(Xt,"ValueScope",{enumerable:!0,get:function(){return WR.ValueScope}});Object.defineProperty(Xt,"ValueScopeName",{enumerable:!0,get:function(){return WR.ValueScopeName}});Object.defineProperty(Xt,"varKinds",{enumerable:!0,get:function(){return WR.varKinds}});Xt.operators={GT:new Ar._Code(">"),GTE:new Ar._Code(">="),LT:new Ar._Code("<"),LTE:new Ar._Code("<="),EQ:new Ar._Code("==="),NEQ:new Ar._Code("!=="),NOT:new Ar._Code("!"),OR:new Ar._Code("||"),AND:new Ar._Code("&&"),ADD:new Ar._Code("+")};var ld=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},u8=class extends ld{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?$c.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=HA(this.rhs,e,r)),this}get names(){return this.rhs instanceof Ar._CodeOrName?this.rhs.names:{}}},LR=class extends ld{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof Ar.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=HA(this.rhs,e,r),this}get names(){let e=this.lhs instanceof Ar.Name?{}:{...this.lhs.names};return MR(e,this.rhs)}},l8=class extends LR{constructor(e,r,n,s){super(e,n,s),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},d8=class extends ld{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},f8=class extends ld{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},p8=class extends ld{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},m8=class extends ld{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=HA(this.code,e,r),this}get names(){return this.code instanceof Ar._CodeOrName?this.code.names:{}}},p1=class extends ld{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(e,r)||(AEt(e,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Im(e,r.names),{})}},dd=class extends p1{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},h8=class extends p1{},jA=class extends dd{};jA.kind="else";var vm=class t extends dd{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new jA(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(gme(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=HA(this.condition,e,r),this}get names(){let e=super.names;return MR(e,this.condition),this.else&&Im(e,this.else.names),e}};vm.kind="if";var Cm=class extends dd{};Cm.kind="for";var g8=class extends Cm{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=HA(this.iteration,e,r),this}get names(){return Im(super.names,this.iteration.names)}},A8=class extends Cm{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s}render(e){let r=e.es5?$c.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=MR(super.names,this.from);return MR(e,this.to)}},BR=class extends Cm{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=HA(this.iterable,e,r),this}get names(){return Im(super.names,this.iterable.names)}},m1=class extends dd{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};m1.kind="func";var h1=class extends p1{render(e){return"return "+super.render(e)}};h1.kind="return";var y8=class extends dd{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Im(e,this.catch.names),this.finally&&Im(e,this.finally.names),e}},g1=class extends dd{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};g1.kind="catch";var A1=class extends dd{render(e){return"finally"+super.render(e)}};A1.kind="finally";var x8=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
`:""},this._extScope=e,this._scope=new $c.Scope({parent:e}),this._nodes=[new h8]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new u8(e,i,n)),i}const(e,r,n){return this._def($c.varKinds.const,e,r,n)}let(e,r,n){return this._def($c.varKinds.let,e,r,n)}var(e,r,n){return this._def($c.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new LR(e,r,n))}add(e,r){return this._leafNode(new l8(e,Xt.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==Ar.nil&&this._leafNode(new m8(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,Ar.addCodeArg)(r,s));return r.push("}"),new Ar._Code(r)}if(e,r,n){if(this._blockNode(new vm(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new vm(e))}else(){return this._elseNode(new jA)}endIf(){return this._endBlockNode(vm,jA)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new g8(e),r)}forRange(e,r,n,s,i=this.opts.es5?$c.varKinds.var:$c.varKinds.let){let a=this._scope.toName(e);return this._for(new A8(i,a,r,n),()=>s(a))}forOf(e,r,n,s=$c.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let a=r instanceof Ar.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Ar._)`${a}.length`,o=>{this.var(i,(0,Ar._)`${a}[${o}]`),n(i)})}return this._for(new BR("of",s,i,r),()=>n(i))}forIn(e,r,n,s=this.opts.es5?$c.varKinds.var:$c.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Ar._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new BR("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(Cm)}label(e){return this._leafNode(new d8(e))}break(e){return this._leafNode(new f8(e))}return(e){let r=new h1;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(h1)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new y8;if(this._blockNode(s),this.code(e),r){let i=this.name("e");this._currNode=s.catch=new g1(i),r(i)}return n&&(this._currNode=s.finally=new A1,this.code(n)),this._endBlockNode(g1,A1)}throw(e){return this._leafNode(new p8(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=Ar.nil,n,s){return this._blockNode(new m1(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(m1)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof vm))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};Xt.CodeGen=x8;function Im(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function MR(t,e){return e instanceof Ar._CodeOrName?Im(t,e.names):t}function HA(t,e,r){if(t instanceof Ar.Name)return n(t);if(!s(t))return t;return new Ar._Code(t._items.reduce((i,a)=>(a instanceof Ar.Name&&(a=n(a)),a instanceof Ar._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||e[i.str]!==1?i:(delete e[i.str],a)}function s(i){return i instanceof Ar._Code&&i._items.some(a=>a instanceof Ar.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function AEt(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function gme(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,Ar._)`!${b8(t)}`}Xt.not=gme;var yEt=Ame(Xt.operators.AND);function xEt(...t){return t.reduce(yEt)}Xt.and=xEt;var bEt=Ame(Xt.operators.OR);function EEt(...t){return t.reduce(bEt)}Xt.or=EEt;function Ame(t){return(e,r)=>e===Ar.nil?r:r===Ar.nil?e:(0,Ar._)`${b8(e)} ${t} ${b8(r)}`}function b8(t){return t instanceof Ar.Name?t:(0,Ar._)`(${t})`}});var Lr=E(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.checkStrictMode=tr.getErrorPath=tr.Type=tr.useFunc=tr.setEvaluated=tr.evaluatedPropsToName=tr.mergeEvaluated=tr.eachItem=tr.unescapeJsonPointer=tr.escapeJsonPointer=tr.escapeFragment=tr.unescapeFragment=tr.schemaRefOrVal=tr.schemaHasRulesButRef=tr.schemaHasRules=tr.checkUnknownRules=tr.alwaysValidSchema=tr.toHash=void 0;var ln=zt(),_Et=f1();function SEt(t){let e={};for(let r of t)e[r]=!0;return e}tr.toHash=SEt;function vEt(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(bme(t,e),!Eme(e,t.self.RULES.all))}tr.alwaysValidSchema=vEt;function bme(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let i in e)s[i]||vme(t,`unknown keyword: "${i}"`)}tr.checkUnknownRules=bme;function Eme(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}tr.schemaHasRules=Eme;function CEt(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}tr.schemaHasRulesButRef=CEt;function IEt({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,ln._)`${r}`}return(0,ln._)`${t}${e}${(0,ln.getProperty)(n)}`}tr.schemaRefOrVal=IEt;function TEt(t){return _me(decodeURIComponent(t))}tr.unescapeFragment=TEt;function wEt(t){return encodeURIComponent(_8(t))}tr.escapeFragment=wEt;function _8(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}tr.escapeJsonPointer=_8;function _me(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}tr.unescapeJsonPointer=_me;function REt(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}tr.eachItem=REt;function yme({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof ln.Name?(i instanceof ln.Name?t(s,i,a):e(s,i,a),a):i instanceof ln.Name?(e(s,a,i),i):r(i,a);return o===ln.Name&&!(c instanceof ln.Name)?n(s,c):c}}tr.mergeEvaluated={props:yme({mergeNames:(t,e,r)=>t.if((0,ln._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,ln._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,ln._)`${r} || {}`).code((0,ln._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,ln._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,ln._)`${r} || {}`),S8(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Sme}),items:yme({mergeNames:(t,e,r)=>t.if((0,ln._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,ln._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,ln._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,ln._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Sme(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,ln._)`{}`);return e!==void 0&&S8(t,r,e),r}tr.evaluatedPropsToName=Sme;function S8(t,e,r){Object.keys(r).forEach(n=>t.assign((0,ln._)`${e}${(0,ln.getProperty)(n)}`,!0))}tr.setEvaluated=S8;var xme={};function NEt(t,e){return t.scopeValue("func",{ref:e,code:xme[e.code]||(xme[e.code]=new _Et._Code(e.code))})}tr.useFunc=NEt;var E8;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(E8||(tr.Type=E8={}));function OEt(t,e,r){if(t instanceof ln.Name){let n=e===E8.Num;return r?n?(0,ln._)`"[" + ${t} + "]"`:(0,ln._)`"['" + ${t} + "']"`:n?(0,ln._)`"/" + ${t}`:(0,ln._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,ln.getProperty)(t).toString():"/"+_8(t)}tr.getErrorPath=OEt;function vme(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}tr.checkStrictMode=vme});var fd=E(v8=>{"use strict";Object.defineProperty(v8,"__esModule",{value:!0});var Ti=zt(),PEt={data:new Ti.Name("data"),valCxt:new Ti.Name("valCxt"),instancePath:new Ti.Name("instancePath"),parentData:new Ti.Name("parentData"),parentDataProperty:new Ti.Name("parentDataProperty"),rootData:new Ti.Name("rootData"),dynamicAnchors:new Ti.Name("dynamicAnchors"),vErrors:new Ti.Name("vErrors"),errors:new Ti.Name("errors"),this:new Ti.Name("this"),self:new Ti.Name("self"),scope:new Ti.Name("scope"),json:new Ti.Name("json"),jsonPos:new Ti.Name("jsonPos"),jsonLen:new Ti.Name("jsonLen"),jsonPart:new Ti.Name("jsonPart")};v8.default=PEt});var y1=E(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.extendErrors=wi.resetErrorsCount=wi.reportExtraError=wi.reportError=wi.keyword$DataError=wi.keywordError=void 0;var vr=zt(),$R=Lr(),ea=fd();wi.keywordError={message:({keyword:t})=>(0,vr.str)`must pass "${t}" keyword validation`};wi.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,vr.str)`"${t}" keyword must be ${e} ($data)`:(0,vr.str)`"${t}" keyword is invalid ($data)`};function DEt(t,e=wi.keywordError,r,n){let{it:s}=t,{gen:i,compositeRule:a,allErrors:o}=s,c=Tme(t,e,r);n??(a||o)?Cme(i,c):Ime(s,(0,vr._)`[${c}]`)}wi.reportError=DEt;function kEt(t,e=wi.keywordError,r){let{it:n}=t,{gen:s,compositeRule:i,allErrors:a}=n,o=Tme(t,e,r);Cme(s,o),i||a||Ime(n,ea.default.vErrors)}wi.reportExtraError=kEt;function LEt(t,e){t.assign(ea.default.errors,e),t.if((0,vr._)`${ea.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,vr._)`${ea.default.vErrors}.length`,e),()=>t.assign(ea.default.vErrors,null)))}wi.resetErrorsCount=LEt;function BEt({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,ea.default.errors,o=>{t.const(a,(0,vr._)`${ea.default.vErrors}[${o}]`),t.if((0,vr._)`${a}.instancePath === undefined`,()=>t.assign((0,vr._)`${a}.instancePath`,(0,vr.strConcat)(ea.default.instancePath,i.errorPath))),t.assign((0,vr._)`${a}.schemaPath`,(0,vr.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,vr._)`${a}.schema`,r),t.assign((0,vr._)`${a}.data`,n))})}wi.extendErrors=BEt;function Cme(t,e){let r=t.const("err",e);t.if((0,vr._)`${ea.default.vErrors} === null`,()=>t.assign(ea.default.vErrors,(0,vr._)`[${r}]`),(0,vr._)`${ea.default.vErrors}.push(${r})`),t.code((0,vr._)`${ea.default.errors}++`)}function Ime(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0,vr._)`new ${t.ValidationError}(${e})`):(r.assign((0,vr._)`${n}.errors`,e),r.return(!1))}var Tm={keyword:new vr.Name("keyword"),schemaPath:new vr.Name("schemaPath"),params:new vr.Name("params"),propertyName:new vr.Name("propertyName"),message:new vr.Name("message"),schema:new vr.Name("schema"),parentSchema:new vr.Name("parentSchema")};function Tme(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,vr._)`{}`:MEt(t,e,r)}function MEt(t,e,r={}){let{gen:n,it:s}=t,i=[WEt(s,r),$Et(t,r)];return FEt(t,e,i),n.object(...i)}function WEt({errorPath:t},{instancePath:e}){let r=e?(0,vr.str)`${t}${(0,$R.getErrorPath)(e,$R.Type.Str)}`:t;return[ea.default.instancePath,(0,vr.strConcat)(ea.default.instancePath,r)]}function $Et({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0,vr.str)`${e}/${t}`;return r&&(s=(0,vr.str)`${s}${(0,$R.getErrorPath)(r,$R.Type.Str)}`),[Tm.schemaPath,s]}function FEt(t,{params:e,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([Tm.keyword,s],[Tm.params,typeof e=="function"?e(t):e||(0,vr._)`{}`]),c.messages&&n.push([Tm.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Tm.schema,a],[Tm.parentSchema,(0,vr._)`${l}${d}`],[ea.default.data,i]),u&&n.push([Tm.propertyName,u])}});var Rme=E(QA=>{"use strict";Object.defineProperty(QA,"__esModule",{value:!0});QA.boolOrEmptySchema=QA.topBoolOrEmptySchema=void 0;var UEt=y1(),qEt=zt(),jEt=fd(),HEt={message:"boolean schema is false"};function QEt(t){let{gen:e,schema:r,validateName:n}=t;r===!1?wme(t,!1):typeof r=="object"&&r.$async===!0?e.return(jEt.default.data):(e.assign((0,qEt._)`${n}.errors`,null),e.return(!0))}QA.topBoolOrEmptySchema=QEt;function GEt(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),wme(t)):r.var(e,!0)}QA.boolOrEmptySchema=GEt;function wme(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,UEt.reportError)(s,HEt,void 0,e)}});var C8=E(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.getRules=GA.isJSONType=void 0;var VEt=["string","number","integer","boolean","null","object","array"],zEt=new Set(VEt);function KEt(t){return typeof t=="string"&&zEt.has(t)}GA.isJSONType=KEt;function YEt(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}GA.getRules=YEt});var I8=E(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});hp.shouldUseRule=hp.shouldUseGroup=hp.schemaHasRulesForType=void 0;function JEt({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Nme(t,n)}hp.schemaHasRulesForType=JEt;function Nme(t,e){return e.rules.some(r=>Ome(t,r))}hp.shouldUseGroup=Nme;function Ome(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}hp.shouldUseRule=Ome});var x1=E(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.reportTypeError=Ri.checkDataTypes=Ri.checkDataType=Ri.coerceAndCheckDataType=Ri.getJSONTypes=Ri.getSchemaTypes=Ri.DataType=void 0;var XEt=C8(),ZEt=I8(),e1t=y1(),jt=zt(),Pme=Lr(),VA;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(VA||(Ri.DataType=VA={}));function t1t(t){let e=Dme(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Ri.getSchemaTypes=t1t;function Dme(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(XEt.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ri.getJSONTypes=Dme;function r1t(t,e){let{gen:r,data:n,opts:s}=t,i=n1t(e,s.coerceTypes),a=e.length>0&&!(i.length===0&&e.length===1&&(0,ZEt.schemaHasRulesForType)(t,e[0]));if(a){let o=w8(e,n,s.strictNumbers,VA.Wrong);r.if(o,()=>{i.length?s1t(t,e,i):R8(t)})}return a}Ri.coerceAndCheckDataType=r1t;var kme=new Set(["string","number","integer","boolean","null"]);function n1t(t,e){return e?t.filter(r=>kme.has(r)||e==="array"&&r==="array"):[]}function s1t(t,e,r){let{gen:n,data:s,opts:i}=t,a=n.let("dataType",(0,jt._)`typeof ${s}`),o=n.let("coerced",(0,jt._)`undefined`);i.coerceTypes==="array"&&n.if((0,jt._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,jt._)`${s}[0]`).assign(a,(0,jt._)`typeof ${s}`).if(w8(e,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,jt._)`${o} !== undefined`);for(let u of r)(kme.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),R8(t),n.endIf(),n.if((0,jt._)`${o} !== undefined`,()=>{n.assign(s,o),i1t(t,o)});function c(u){switch(u){case"string":n.elseIf((0,jt._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,jt._)`"" + ${s}`).elseIf((0,jt._)`${s} === null`).assign(o,(0,jt._)`""`);return;case"number":n.elseIf((0,jt._)`${a} == "boolean" || ${s} === null
|| (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,jt._)`+${s}`);return;case"integer":n.elseIf((0,jt._)`${a} === "boolean" || ${s} === null
|| (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,jt._)`+${s}`);return;case"boolean":n.elseIf((0,jt._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,jt._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,jt._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,jt._)`${a} === "string" || ${a} === "number"
|| ${a} === "boolean" || ${s} === null`).assign(o,(0,jt._)`[${s}]`)}}}function i1t({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,jt._)`${e} !== undefined`,()=>t.assign((0,jt._)`${e}[${r}]`,n))}function T8(t,e,r,n=VA.Correct){let s=n===VA.Correct?jt.operators.EQ:jt.operators.NEQ,i;switch(t){case"null":return(0,jt._)`${e} ${s} null`;case"array":i=(0,jt._)`Array.isArray(${e})`;break;case"object":i=(0,jt._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=a((0,jt._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=a();break;default:return(0,jt._)`typeof ${e} ${s} ${t}`}return n===VA.Correct?i:(0,jt.not)(i);function a(o=jt.nil){return(0,jt.and)((0,jt._)`typeof ${e} == "number"`,o,r?(0,jt._)`isFinite(${e})`:jt.nil)}}Ri.checkDataType=T8;function w8(t,e,r,n){if(t.length===1)return T8(t[0],e,r,n);let s,i=(0,Pme.toHash)(t);if(i.array&&i.object){let a=(0,jt._)`typeof ${e} != "object"`;s=i.null?a:(0,jt._)`!${e} || ${a}`,delete i.null,delete i.array,delete i.object}else s=jt.nil;i.number&&delete i.integer;for(let a in i)s=(0,jt.and)(s,T8(a,e,r,n));return s}Ri.checkDataTypes=w8;var a1t={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,jt._)`{type: ${t}}`:(0,jt._)`{type: ${e}}`};function R8(t){let e=o1t(t);(0,e1t.reportError)(e,a1t)}Ri.reportTypeError=R8;function o1t(t){let{gen:e,data:r,schema:n}=t,s=(0,Pme.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var Bme=E(FR=>{"use strict";Object.defineProperty(FR,"__esModule",{value:!0});FR.assignDefaults=void 0;var zA=zt(),c1t=Lr();function u1t(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)Lme(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,i)=>Lme(t,i,s.default))}FR.assignDefaults=u1t;function Lme(t,e,r){let{gen:n,compositeRule:s,data:i,opts:a}=t;if(r===void 0)return;let o=(0,zA._)`${i}${(0,zA.getProperty)(e)}`;if(s){(0,c1t.checkStrictMode)(t,`default is ignored for: ${o}`);return}let c=(0,zA._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,zA._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,zA._)`${o} = ${(0,zA.stringify)(r)}`)}});var Qo=E(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.validateUnion=Zr.validateArray=Zr.usePattern=Zr.callValidateCode=Zr.schemaProperties=Zr.allSchemaProperties=Zr.noPropertyInData=Zr.propertyInData=Zr.isOwnProperty=Zr.hasPropFunc=Zr.reportMissingProp=Zr.checkMissingProp=Zr.checkReportMissingProp=void 0;var Rn=zt(),N8=Lr(),gp=fd(),l1t=Lr();function d1t(t,e){let{gen:r,data:n,it:s}=t;r.if(P8(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Rn._)`${e}`},!0),t.error()})}Zr.checkReportMissingProp=d1t;function f1t({gen:t,data:e,it:{opts:r}},n,s){return(0,Rn.or)(...n.map(i=>(0,Rn.and)(P8(t,e,i,r.ownProperties),(0,Rn._)`${s} = ${i}`)))}Zr.checkMissingProp=f1t;function p1t(t,e){t.setParams({missingProperty:e},!0),t.error()}Zr.reportMissingProp=p1t;function Mme(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Rn._)`Object.prototype.hasOwnProperty`})}Zr.hasPropFunc=Mme;function O8(t,e,r){return(0,Rn._)`${Mme(t)}.call(${e}, ${r})`}Zr.isOwnProperty=O8;function m1t(t,e,r,n){let s=(0,Rn._)`${e}${(0,Rn.getProperty)(r)} !== undefined`;return n?(0,Rn._)`${s} && ${O8(t,e,r)}`:s}Zr.propertyInData=m1t;function P8(t,e,r,n){let s=(0,Rn._)`${e}${(0,Rn.getProperty)(r)} === undefined`;return n?(0,Rn.or)(s,(0,Rn.not)(O8(t,e,r))):s}Zr.noPropertyInData=P8;function Wme(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}Zr.allSchemaProperties=Wme;function h1t(t,e){return Wme(e).filter(r=>!(0,N8.alwaysValidSchema)(t,e[r]))}Zr.schemaProperties=h1t;function g1t({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,Rn._)`${t}, ${e}, ${n}${s}`:e,d=[[gp.default.instancePath,(0,Rn.strConcat)(gp.default.instancePath,i)],[gp.default.parentData,a.parentData],[gp.default.parentDataProperty,a.parentDataProperty],[gp.default.rootData,gp.default.rootData]];a.opts.dynamicRef&&d.push([gp.default.dynamicAnchors,gp.default.dynamicAnchors]);let f=(0,Rn._)`${l}, ${r.object(...d)}`;return c!==Rn.nil?(0,Rn._)`${o}.call(${c}, ${f})`:(0,Rn._)`${o}(${f})`}Zr.callValidateCode=g1t;var A1t=(0,Rn._)`new RegExp`;function y1t({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,i=s(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Rn._)`${s.code==="new RegExp"?A1t:(0,l1t.useFunc)(t,s)}(${r}, ${n})`})}Zr.usePattern=y1t;function x1t(t){let{gen:e,data:r,keyword:n,it:s}=t,i=e.name("valid");if(s.allErrors){let o=e.let("valid",!0);return a(()=>e.assign(o,!1)),o}return e.var(i,!0),a(()=>e.break()),i;function a(o){let c=e.const("len",(0,Rn._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:N8.Type.Num},i),e.if((0,Rn.not)(i),o)})}}Zr.validateArray=x1t;function b1t(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,N8.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=e.let("valid",!1),o=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);e.assign(a,(0,Rn._)`${a} || ${o}`),t.mergeValidEvaluated(l,o)||e.if((0,Rn.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}Zr.validateUnion=b1t});var Ume=E(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.validateKeywordUsage=Fu.validSchemaType=Fu.funcKeywordCode=Fu.macroKeywordCode=void 0;var ta=zt(),wm=fd(),E1t=Qo(),_1t=y1();function S1t(t,e){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=t,o=e.macro.call(a.self,s,i,a),c=Fme(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");t.subschema({schema:o,schemaPath:ta.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Fu.macroKeywordCode=S1t;function v1t(t,e){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=t;I1t(c,e);let u=!o&&e.compile?e.compile.call(c.self,i,a,c):e.validate,l=Fme(n,s,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&$me(t),A(()=>t.error());else{let g=e.async?p():m();e.modifying&&$me(t),A(()=>C1t(t,g))}}function p(){let g=n.let("ruleErrs",null);return n.try(()=>h((0,ta._)`await `),b=>n.assign(d,!1).if((0,ta._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(g,(0,ta._)`${b}.errors`),()=>n.throw(b))),g}function m(){let g=(0,ta._)`${l}.errors`;return n.assign(g,null),h(ta.nil),g}function h(g=e.async?(0,ta._)`await `:ta.nil){let b=c.opts.passContext?wm.default.this:wm.default.self,y=!("compile"in e&&!o||e.schema===!1);n.assign(d,(0,ta._)`${g}${(0,E1t.callValidateCode)(t,l,b,y)}`,e.modifying)}function A(g){var b;n.if((0,ta.not)((b=e.valid)!==null&&b!==void 0?b:d),g)}}Fu.funcKeywordCode=v1t;function $me(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,ta._)`${n.parentData}[${n.parentDataProperty}]`))}function C1t(t,e){let{gen:r}=t;r.if((0,ta._)`Array.isArray(${e})`,()=>{r.assign(wm.default.vErrors,(0,ta._)`${wm.default.vErrors} === null ? ${e} : ${wm.default.vErrors}.concat(${e})`).assign(wm.default.errors,(0,ta._)`${wm.default.vErrors}.length`),(0,_1t.extendErrors)(t)},()=>t.error())}function I1t({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Fme(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ta.stringify)(r)})}function T1t(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Fu.validSchemaType=T1t;function w1t({schema:t,opts:e,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(t,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Fu.validateKeywordUsage=w1t});var jme=E(Ap=>{"use strict";Object.defineProperty(Ap,"__esModule",{value:!0});Ap.extendSubschemaMode=Ap.extendSubschemaData=Ap.getSubschema=void 0;var Uu=zt(),qme=Lr();function R1t(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let o=t.schema[e];return r===void 0?{schema:o,schemaPath:(0,Uu._)`${t.schemaPath}${(0,Uu.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:o[r],schemaPath:(0,Uu._)`${t.schemaPath}${(0,Uu.getProperty)(e)}${(0,Uu.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,qme.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}Ap.getSubschema=R1t;function N1t(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=o.let("data",(0,Uu._)`${e.data}${(0,Uu.getProperty)(r)}`,!0);c(f),t.errorPath=(0,Uu.str)`${u}${(0,qme.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Uu._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){let u=s instanceof Uu.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(t.propertyName=a)}i&&(t.dataTypes=i);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}Ap.extendSubschemaData=N1t;function O1t(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}Ap.extendSubschemaMode=O1t});var Go=E((FPr,Hme)=>{"use strict";Hme.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,s,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(s=n;s--!==0;)if(!t(e[s],r[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[s]))return!1;for(s=n;s--!==0;){var a=i[s];if(!t(e[a],r[a]))return!1}return!0}return e!==e&&r!==r}});var Gme=E((UPr,Qme)=>{"use strict";var yp=Qme.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};UR(e,n,s,t,"",t)};yp.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};yp.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};yp.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};yp.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function UR(t,e,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in yp.arrayKeywords)for(var f=0;f<d.length;f++)UR(t,e,r,d[f],s+"/"+l+"/"+f,i,s,l,n,f)}else if(l in yp.propsKeywords){if(d&&typeof d=="object")for(var p in d)UR(t,e,r,d[p],s+"/"+l+"/"+P1t(p),i,s,l,n,p)}else(l in yp.keywords||t.allKeys&&!(l in yp.skipKeywords))&&UR(t,e,r,d,s+"/"+l,i,s,l,n)}r(n,s,i,a,o,c,u)}}function P1t(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var b1=E(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.getSchemaRefs=ka.resolveUrl=ka.normalizeId=ka._getFullPath=ka.getFullPath=ka.inlineRef=void 0;var D1t=Lr(),k1t=Go(),L1t=Gme(),B1t=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function M1t(t,e=!0){return typeof t=="boolean"?!0:e===!0?!D8(t):e?Vme(t)<=e:!1}ka.inlineRef=M1t;var W1t=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function D8(t){for(let e in t){if(W1t.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(D8)||typeof r=="object"&&D8(r))return!0}return!1}function Vme(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!B1t.has(r)&&(typeof t[r]=="object"&&(0,D1t.eachItem)(t[r],n=>e+=Vme(n)),e===1/0))return 1/0}return e}function zme(t,e="",r){r!==!1&&(e=KA(e));let n=t.parse(e);return Kme(t,n)}ka.getFullPath=zme;function Kme(t,e){return t.serialize(e).split("#")[0]+"#"}ka._getFullPath=Kme;var $1t=/#\/?$/;function KA(t){return t?t.replace($1t,""):""}ka.normalizeId=KA;function F1t(t,e,r){return r=KA(r),t.resolve(e,r)}ka.resolveUrl=F1t;var U1t=/^[a-z_][-a-z0-9._]*$/i;function q1t(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=KA(t[r]||e),i={"":s},a=zme(n,s,!1),o={},c=new Set;return L1t(t,{allKeys:!0},(d,f,p,m)=>{if(m===void 0)return;let h=a+f,A=i[m];typeof d[r]=="string"&&(A=g.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),i[f]=A;function g(y){let x=this.opts.uriResolver.resolve;if(y=KA(A?x(A,y):y),c.has(y))throw l(y);c.add(y);let v=this.refs[y];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,y):y!==KA(h)&&(y[0]==="#"?(u(d,o[y],y),o[y]=d):this.refs[y]=h),y}function b(y){if(typeof y=="string"){if(!U1t.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`)}}}),o;function u(d,f,p){if(f!==void 0&&!k1t(d,f))throw l(p)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}ka.getSchemaRefs=q1t});var S1=E(xp=>{"use strict";Object.defineProperty(xp,"__esModule",{value:!0});xp.getData=xp.KeywordCxt=xp.validateFunctionCode=void 0;var ehe=Rme(),Yme=x1(),L8=I8(),qR=x1(),j1t=Bme(),_1=Ume(),k8=jme(),it=zt(),Rt=fd(),H1t=b1(),pd=Lr(),E1=y1();function Q1t(t){if(nhe(t)&&(she(t),rhe(t))){z1t(t);return}the(t,()=>(0,ehe.topBoolOrEmptySchema)(t))}xp.validateFunctionCode=Q1t;function the({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},i){s.code.es5?t.func(e,(0,it._)`${Rt.default.data}, ${Rt.default.valCxt}`,n.$async,()=>{t.code((0,it._)`"use strict"; ${Jme(r,s)}`),V1t(t,s),t.code(i)}):t.func(e,(0,it._)`${Rt.default.data}, ${G1t(s)}`,n.$async,()=>t.code(Jme(r,s)).code(i))}function G1t(t){return(0,it._)`{${Rt.default.instancePath}="", ${Rt.default.parentData}, ${Rt.default.parentDataProperty}, ${Rt.default.rootData}=${Rt.default.data}${t.dynamicRef?(0,it._)`, ${Rt.default.dynamicAnchors}={}`:it.nil}}={}`}function V1t(t,e){t.if(Rt.default.valCxt,()=>{t.var(Rt.default.instancePath,(0,it._)`${Rt.default.valCxt}.${Rt.default.instancePath}`),t.var(Rt.default.parentData,(0,it._)`${Rt.default.valCxt}.${Rt.default.parentData}`),t.var(Rt.default.parentDataProperty,(0,it._)`${Rt.default.valCxt}.${Rt.default.parentDataProperty}`),t.var(Rt.default.rootData,(0,it._)`${Rt.default.valCxt}.${Rt.default.rootData}`),e.dynamicRef&&t.var(Rt.default.dynamicAnchors,(0,it._)`${Rt.default.valCxt}.${Rt.default.dynamicAnchors}`)},()=>{t.var(Rt.default.instancePath,(0,it._)`""`),t.var(Rt.default.parentData,(0,it._)`undefined`),t.var(Rt.default.parentDataProperty,(0,it._)`undefined`),t.var(Rt.default.rootData,Rt.default.data),e.dynamicRef&&t.var(Rt.default.dynamicAnchors,(0,it._)`{}`)})}function z1t(t){let{schema:e,opts:r,gen:n}=t;the(t,()=>{r.$comment&&e.$comment&&ahe(t),Z1t(t),n.let(Rt.default.vErrors,null),n.let(Rt.default.errors,0),r.unevaluated&&K1t(t),ihe(t),r_t(t)})}function K1t(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,it._)`${r}.evaluated`),e.if((0,it._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,it._)`${t.evaluated}.props`,(0,it._)`undefined`)),e.if((0,it._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,it._)`${t.evaluated}.items`,(0,it._)`undefined`))}function Jme(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,it._)`/*# sourceURL=${r} */`:it.nil}function Y1t(t,e){if(nhe(t)&&(she(t),rhe(t))){J1t(t,e);return}(0,ehe.boolOrEmptySchema)(t,e)}function rhe({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function nhe(t){return typeof t.schema!="boolean"}function J1t(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&ahe(t),e_t(t),t_t(t);let i=n.const("_errs",Rt.default.errors);ihe(t,i),n.var(e,(0,it._)`${i} === ${Rt.default.errors}`)}function she(t){(0,pd.checkUnknownRules)(t),X1t(t)}function ihe(t,e){if(t.opts.jtd)return Xme(t,[],!1,e);let r=(0,Yme.getSchemaTypes)(t.schema),n=(0,Yme.coerceAndCheckDataType)(t,r);Xme(t,r,!n,e)}function X1t(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,pd.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function Z1t(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,pd.checkStrictMode)(t,"default is ignored in the schema root")}function e_t(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,H1t.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function t_t(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function ahe({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)t.code((0,it._)`${Rt.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,it.str)`${n}/$comment`,o=t.scopeValue("root",{ref:e.root});t.code((0,it._)`${Rt.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function r_t(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=t;r.$async?e.if((0,it._)`${Rt.default.errors} === 0`,()=>e.return(Rt.default.data),()=>e.throw((0,it._)`new ${s}(${Rt.default.vErrors})`)):(e.assign((0,it._)`${n}.errors`,Rt.default.vErrors),i.unevaluated&&n_t(t),e.return((0,it._)`${Rt.default.errors} === 0`))}function n_t({gen:t,evaluated:e,props:r,items:n}){r instanceof it.Name&&t.assign((0,it._)`${e}.props`,r),n instanceof it.Name&&t.assign((0,it._)`${e}.items`,n)}function Xme(t,e,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,pd.schemaHasRulesButRef)(i,l))){s.block(()=>che(t,"$ref",l.all.$ref.definition));return}c.jtd||s_t(t,e),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,L8.shouldUseGroup)(i,f)&&(f.type?(s.if((0,qR.checkDataType)(f.type,a,c.strictNumbers)),Zme(t,f),e.length===1&&e[0]===f.type&&r&&(s.else(),(0,qR.reportTypeError)(t)),s.endIf()):Zme(t,f),o||s.if((0,it._)`${Rt.default.errors} === ${n||0}`))}}function Zme(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0,j1t.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,L8.shouldUseRule)(n,i)&&che(t,i.keyword,i.definition,e.type)})}function s_t(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(i_t(t,e),t.opts.allowUnionTypes||a_t(t,e),o_t(t,t.dataTypes))}function i_t(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{ohe(t.dataTypes,r)||B8(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),u_t(t,e)}}function a_t(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&B8(t,"use allowUnionTypes to allow union type keyword")}function o_t(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,L8.shouldUseRule)(t.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>c_t(e,a))&&B8(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function c_t(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function ohe(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function u_t(t,e){let r=[];for(let n of t.dataTypes)ohe(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function B8(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,pd.checkStrictMode)(t,e,t.opts.strictTypes)}var jR=class{constructor(e,r,n){if((0,_1.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,pd.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",uhe(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,_1.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Rt.default.errors))}result(e,r,n){this.failResult((0,it.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,it.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,it._)`${r} !== undefined && (${(0,it.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?E1.reportExtraError:E1.reportError)(this,this.def.error,r)}$dataError(){(0,E1.reportError)(this,this.def.$dataError||E1.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,E1.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=it.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=it.nil,r=it.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,it.or)((0,it._)`${s} === undefined`,r)),e!==it.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==it.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,it.or)(a(),o());function a(){if(n.length){if(!(r instanceof it.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,it._)`${(0,qR.checkDataTypes)(c,r,i.opts.strictNumbers,qR.DataType.Wrong)}`}return it.nil}function o(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,it._)`!${c}(${r})`}return it.nil}}subschema(e,r){let n=(0,k8.getSubschema)(this.it,e);(0,k8.extendSubschemaData)(n,this.it,e),(0,k8.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return Y1t(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=pd.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=pd.mergeEvaluated.items(s,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(e,it.Name)),!0}};xp.KeywordCxt=jR;function che(t,e,r,n){let s=new jR(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0,_1.funcKeywordCode)(s,r):"macro"in r?(0,_1.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,_1.funcKeywordCode)(s,r)}var l_t=/^\/(?:[^~]|~0|~1)*$/,d_t=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function uhe(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,i;if(t==="")return Rt.default.rootData;if(t[0]==="/"){if(!l_t.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,i=Rt.default.rootData}else{let u=d_t.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(i=r[e-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,it._)`${i}${(0,it.getProperty)((0,pd.unescapeJsonPointer)(u))}`,a=(0,it._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}xp.getData=uhe});var HR=E(W8=>{"use strict";Object.defineProperty(W8,"__esModule",{value:!0});var M8=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};W8.default=M8});var v1=E(U8=>{"use strict";Object.defineProperty(U8,"__esModule",{value:!0});var $8=b1(),F8=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,$8.resolveUrl)(e,r,n),this.missingSchema=(0,$8.normalizeId)((0,$8.getFullPath)(e,this.missingRef))}};U8.default=F8});var GR=E(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.resolveSchema=Vo.getCompilingSchema=Vo.resolveRef=Vo.compileSchema=Vo.SchemaEnv=void 0;var Fc=zt(),f_t=HR(),Rm=fd(),Uc=b1(),lhe=Lr(),p_t=S1(),YA=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Uc.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};Vo.SchemaEnv=YA;function j8(t){let e=dhe.call(this,t);if(e)return e;let r=(0,Uc.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new Fc.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;t.$async&&(o=a.scopeValue("Error",{ref:f_t.default,code:(0,Fc._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:Rm.default.data,parentData:Rm.default.parentData,parentDataProperty:Rm.default.parentDataProperty,dataNames:[Rm.default.data],dataPathArr:[Fc.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Fc.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:o,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Fc.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Fc._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,p_t.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(Rm.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let p=new Function(`${Rm.default.self}`,`${Rm.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=t.schema,p.schemaEnv=t,t.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:h}=u;p.evaluated={props:m instanceof Fc.Name?void 0:m,items:h instanceof Fc.Name?void 0:h,dynamicProps:m instanceof Fc.Name,dynamicItems:h instanceof Fc.Name},p.source&&(p.source.evaluated=(0,Fc.stringify)(p.evaluated))}return t.validate=p,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}Vo.compileSchema=j8;function m_t(t,e,r){var n;r=(0,Uc.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let i=A_t.call(this,t,r);if(i===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new YA({schema:a,schemaId:o,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=h_t.call(this,i)}Vo.resolveRef=m_t;function h_t(t){return(0,Uc.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:j8.call(this,t)}function dhe(t){for(let e of this._compilations)if(g_t(e,t))return e}Vo.getCompilingSchema=dhe;function g_t(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function A_t(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||QR.call(this,t,e)}function QR(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Uc._getFullPath)(this.opts.uriResolver,r),s=(0,Uc.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return q8.call(this,r,t);let i=(0,Uc.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=QR.call(this,t,a);return typeof o?.schema!="object"?void 0:q8.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||j8.call(this,a),i===(0,Uc.normalizeId)(e)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,Uc.resolveUrl)(this.opts.uriResolver,s,u)),new YA({schema:o,schemaId:c,root:t,baseId:s})}return q8.call(this,r,a)}}Vo.resolveSchema=QR;var y_t=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function q8(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,lhe.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!y_t.has(o)&&u&&(e=(0,Uc.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,lhe.schemaHasRulesButRef)(r,this.RULES)){let o=(0,Uc.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=QR.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new YA({schema:r,schemaId:a,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var fhe=E((VPr,x_t)=>{x_t.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Q8=E((zPr,ghe)=>{"use strict";var b_t=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),mhe=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function H8(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var E_t=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function phe(t){return t.length=0,!0}function __t(t,e,r){if(t.length){let n=H8(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function S_t(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=__t;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(a=!0),!o(s,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=phe}else{s.push(u);continue}}return s.length&&(o===phe?r.zone=s.join(""):a?n.push(s.join("")):n.push(H8(s))),r.address=n.join(""),r}function hhe(t){if(v_t(t,":")<2)return{host:t,isIPV6:!1};let e=S_t(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function v_t(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function C_t(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function I_t(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function T_t(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!mhe(r)){let n=hhe(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}ghe.exports={nonSimpleDomain:E_t,recomposeAuthority:T_t,normalizeComponentEncoding:I_t,removeDotSegments:C_t,isIPv4:mhe,isUUID:b_t,normalizeIPv6:hhe,stringArrayToHexStripped:H8}});var Ehe=E((KPr,bhe)=>{"use strict";var{isUUID:w_t}=Q8(),R_t=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,N_t=["http","https","ws","wss","urn","urn:uuid"];function O_t(t){return N_t.indexOf(t)!==-1}function G8(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Ahe(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function yhe(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function P_t(t){return t.secure=G8(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function D_t(t){if((t.port===(G8(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function k_t(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(R_t);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=V8(s);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function L_t(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=V8(s);i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function B_t(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!w_t(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function M_t(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var xhe={scheme:"http",domainHost:!0,parse:Ahe,serialize:yhe},W_t={scheme:"https",domainHost:xhe.domainHost,parse:Ahe,serialize:yhe},VR={scheme:"ws",domainHost:!0,parse:P_t,serialize:D_t},$_t={scheme:"wss",domainHost:VR.domainHost,parse:VR.parse,serialize:VR.serialize},F_t={scheme:"urn",parse:k_t,serialize:L_t,skipNormalize:!0},U_t={scheme:"urn:uuid",parse:B_t,serialize:M_t,skipNormalize:!0},zR={http:xhe,https:W_t,ws:VR,wss:$_t,urn:F_t,"urn:uuid":U_t};Object.setPrototypeOf(zR,null);function V8(t){return t&&(zR[t]||zR[t.toLowerCase()])||void 0}bhe.exports={wsIsSecure:G8,SCHEMES:zR,isValidSchemeName:O_t,getSchemeHandler:V8}});var vhe=E((YPr,YR)=>{"use strict";var{normalizeIPv6:q_t,removeDotSegments:C1,recomposeAuthority:j_t,normalizeComponentEncoding:KR,isIPv4:H_t,nonSimpleDomain:Q_t}=Q8(),{SCHEMES:G_t,getSchemeHandler:_he}=Ehe();function V_t(t,e){return typeof t=="string"?t=qu(md(t,e),e):typeof t=="object"&&(t=md(qu(t,e),e)),t}function z_t(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=She(md(t,n),md(e,n),n,!0);return n.skipEscape=!0,qu(s,n)}function She(t,e,r,n){let s={};return n||(t=md(qu(t,r),r),e=md(qu(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=C1(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=C1(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=C1(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=C1(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function K_t(t,e,r){return typeof t=="string"?(t=unescape(t),t=qu(KR(md(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=qu(KR(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=qu(KR(md(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=qu(KR(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function qu(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=_he(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=j_t(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=C1(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var Y_t=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function md(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(Y_t);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(H_t(n.host)===!1){let c=q_t(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=_he(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&Q_t(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var z8={SCHEMES:G_t,normalize:V_t,resolve:z_t,resolveComponent:She,equal:K_t,serialize:qu,parse:md};YR.exports=z8;YR.exports.default=z8;YR.exports.fastUri=z8});var Ihe=E(K8=>{"use strict";Object.defineProperty(K8,"__esModule",{value:!0});var Che=vhe();Che.code='require("ajv/dist/runtime/uri").default';K8.default=Che});var khe=E(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.CodeGen=ui.Name=ui.nil=ui.stringify=ui.str=ui._=ui.KeywordCxt=void 0;var J_t=S1();Object.defineProperty(ui,"KeywordCxt",{enumerable:!0,get:function(){return J_t.KeywordCxt}});var JA=zt();Object.defineProperty(ui,"_",{enumerable:!0,get:function(){return JA._}});Object.defineProperty(ui,"str",{enumerable:!0,get:function(){return JA.str}});Object.defineProperty(ui,"stringify",{enumerable:!0,get:function(){return JA.stringify}});Object.defineProperty(ui,"nil",{enumerable:!0,get:function(){return JA.nil}});Object.defineProperty(ui,"Name",{enumerable:!0,get:function(){return JA.Name}});Object.defineProperty(ui,"CodeGen",{enumerable:!0,get:function(){return JA.CodeGen}});var X_t=HR(),Ohe=v1(),Z_t=C8(),I1=GR(),eSt=zt(),T1=b1(),JR=x1(),J8=Lr(),The=fhe(),tSt=Ihe(),Phe=(t,e)=>new RegExp(t,e);Phe.code="new RegExp";var rSt=["removeAdditional","useDefaults","coerceTypes"],nSt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),sSt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},iSt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},whe=200;function aSt(t){var e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y,x,v,C,R,w,N;let P=t.strict,L=(e=t.code)===null||e===void 0?void 0:e.optimize,M=L===!0||L===void 0?1:L||0,k=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Phe,B=(s=t.uriResolver)!==null&&s!==void 0?s:tSt.default;return{strictSchema:(a=(i=t.strictSchema)!==null&&i!==void 0?i:P)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=t.strictNumbers)!==null&&o!==void 0?o:P)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:P)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:P)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=t.strictRequired)!==null&&p!==void 0?p:P)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:M,regExp:k}:{optimize:M,regExp:k},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:whe,loopEnum:(A=t.loopEnum)!==null&&A!==void 0?A:whe,meta:(g=t.meta)!==null&&g!==void 0?g:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(y=t.inlineRefs)!==null&&y!==void 0?y:!0,schemaId:(x=t.schemaId)!==null&&x!==void 0?x:"$id",addUsedSchema:(v=t.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(C=t.validateSchema)!==null&&C!==void 0?C:!0,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:!0,unicodeRegExp:(w=t.unicodeRegExp)!==null&&w!==void 0?w:!0,int32range:(N=t.int32range)!==null&&N!==void 0?N:!0,uriResolver:B}}var w1=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...aSt(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new eSt.ValueScope({scope:{},prefixes:nSt,es5:r,lines:n}),this.logger=fSt(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Z_t.getRules)(),Rhe.call(this,sSt,e,"NOT SUPPORTED"),Rhe.call(this,iSt,e,"DEPRECATED","warn"),this._metaOpts=lSt.call(this),e.formats&&cSt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&uSt.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),oSt.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=The;n==="id"&&(s={...The},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Ohe.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let i;if(typeof e=="object"){let{schemaId:a}=this.opts;if(i=e[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,T1.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,e);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(e){let r;for(;typeof(r=Nhe.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new I1.SchemaEnv({schema:{},schemaId:n});if(r=I1.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Nhe.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,T1.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(mSt.call(this,n,r),!r)return(0,J8.eachItem)(n,i=>Y8.call(this,i)),this;gSt.call(this,r);let s={...r,type:(0,JR.getJSONTypes)(r.type),schemaType:(0,JR.getJSONTypes)(r.schemaType)};return(0,J8.eachItem)(n,s.type.length===0?i=>Y8.call(this,i,s):i=>s.type.forEach(a=>Y8.call(this,i,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===e);s>=0&&n.rules.splice(s,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let i=s.split("/").slice(1),a=e;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=Dhe(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]))}}_addSchema(e,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof e=="object")a=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,T1.normalizeId)(a||n);let u=T1.getSchemaRefs.call(this,e,n);return c=new I1.SchemaEnv({schema:e,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):I1.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{I1.compileSchema.call(this,e)}finally{this.opts=r}}};w1.ValidationError=X_t.default;w1.MissingRefError=Ohe.default;ui.default=w1;function Rhe(t,e,r,n="error"){for(let s in t){let i=s;i in e&&this.logger[n](`${r}: option ${s}. ${t[i]}`)}}function Nhe(t){return t=(0,T1.normalizeId)(t),this.schemas[t]||this.refs[t]}function oSt(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function cSt(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function uSt(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function lSt(){let t={...this.opts};for(let e of rSt)delete t[e];return t}var dSt={log(){},warn(){},error(){}};function fSt(t){if(t===!1)return dSt;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var pSt=/^[a-z_$][a-z0-9_$:-]*$/i;function mSt(t,e){let{RULES:r}=this;if((0,J8.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!pSt.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Y8(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[t]=!0,!e)return;let o={keyword:t,definition:{...e,type:(0,JR.getJSONTypes)(e.type),schemaType:(0,JR.getJSONTypes)(e.schemaType)}};e.before?hSt.call(this,a,o,e.before):a.rules.push(o),i.all[t]=o,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function hSt(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function gSt(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Dhe(e)),t.validateSchema=this.compile(e,!0))}var ASt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Dhe(t){return{anyOf:[t,ASt]}}});var Lhe=E(X8=>{"use strict";Object.defineProperty(X8,"__esModule",{value:!0});var ySt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};X8.default=ySt});var $he=E(Nm=>{"use strict";Object.defineProperty(Nm,"__esModule",{value:!0});Nm.callRef=Nm.getValidate=void 0;var xSt=v1(),Bhe=Qo(),La=zt(),XA=fd(),Mhe=GR(),XR=Lr(),bSt={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=Mhe.resolveRef.call(c,u,s,r);if(l===void 0)throw new xSt.default(n.opts.uriResolver,s,r);if(l instanceof Mhe.SchemaEnv)return f(l);return p(l);function d(){if(i===u)return ZR(t,a,i,i.$async);let m=e.scopeValue("root",{ref:u});return ZR(t,(0,La._)`${m}.validate`,u,u.$async)}function f(m){let h=Whe(t,m);ZR(t,h,m,m.$async)}function p(m){let h=e.scopeValue("schema",o.code.source===!0?{ref:m,code:(0,La.stringify)(m)}:{ref:m}),A=e.name("valid"),g=t.subschema({schema:m,dataTypes:[],schemaPath:La.nil,topSchemaRef:h,errSchemaPath:r},A);t.mergeEvaluated(g),t.ok(A)}}};function Whe(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,La._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Nm.getValidate=Whe;function ZR(t,e,r,n){let{gen:s,it:i}=t,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?XA.default.this:La.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let m=s.let("valid");s.try(()=>{s.code((0,La._)`await ${(0,Bhe.callValidateCode)(t,e,u)}`),p(e),a||s.assign(m,!0)},h=>{s.if((0,La._)`!(${h} instanceof ${i.ValidationError})`,()=>s.throw(h)),f(h),a||s.assign(m,!1)}),t.ok(m)}function d(){t.result((0,Bhe.callValidateCode)(t,e,u),()=>p(e),()=>f(e))}function f(m){let h=(0,La._)`${m}.errors`;s.assign(XA.default.vErrors,(0,La._)`${XA.default.vErrors} === null ? ${h} : ${XA.default.vErrors}.concat(${h})`),s.assign(XA.default.errors,(0,La._)`${XA.default.vErrors}.length`)}function p(m){var h;if(!i.opts.unevaluated)return;let A=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(i.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(i.props=XR.mergeEvaluated.props(s,A.props,i.props));else{let g=s.var("props",(0,La._)`${m}.evaluated.props`);i.props=XR.mergeEvaluated.props(s,g,i.props,La.Name)}if(i.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(i.items=XR.mergeEvaluated.items(s,A.items,i.items));else{let g=s.var("items",(0,La._)`${m}.evaluated.items`);i.items=XR.mergeEvaluated.items(s,g,i.items,La.Name)}}}Nm.callRef=ZR;Nm.default=bSt});var Fhe=E(Z8=>{"use strict";Object.defineProperty(Z8,"__esModule",{value:!0});var ESt=Lhe(),_St=$he(),SSt=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",ESt.default,_St.default];Z8.default=SSt});var Uhe=E(eW=>{"use strict";Object.defineProperty(eW,"__esModule",{value:!0});var eN=zt(),bp=eN.operators,tN={maximum:{okStr:"<=",ok:bp.LTE,fail:bp.GT},minimum:{okStr:">=",ok:bp.GTE,fail:bp.LT},exclusiveMaximum:{okStr:"<",ok:bp.LT,fail:bp.GTE},exclusiveMinimum:{okStr:">",ok:bp.GT,fail:bp.LTE}},vSt={message:({keyword:t,schemaCode:e})=>(0,eN.str)`must be ${tN[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,eN._)`{comparison: ${tN[t].okStr}, limit: ${e}}`},CSt={keyword:Object.keys(tN),type:"number",schemaType:"number",$data:!0,error:vSt,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,eN._)`${r} ${tN[e].fail} ${n} || isNaN(${r})`)}};eW.default=CSt});var qhe=E(tW=>{"use strict";Object.defineProperty(tW,"__esModule",{value:!0});var R1=zt(),ISt={message:({schemaCode:t})=>(0,R1.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,R1._)`{multipleOf: ${t}}`},TSt={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:ISt,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,i=s.opts.multipleOfPrecision,a=e.let("res"),o=i?(0,R1._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,R1._)`${a} !== parseInt(${a})`;t.fail$data((0,R1._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};tW.default=TSt});var Hhe=E(rW=>{"use strict";Object.defineProperty(rW,"__esModule",{value:!0});function jhe(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}rW.default=jhe;jhe.code='require("ajv/dist/runtime/ucs2length").default'});var Qhe=E(nW=>{"use strict";Object.defineProperty(nW,"__esModule",{value:!0});var Om=zt(),wSt=Lr(),RSt=Hhe(),NSt={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Om.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Om._)`{limit: ${t}}`},OSt={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:NSt,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,i=e==="maxLength"?Om.operators.GT:Om.operators.LT,a=s.opts.unicode===!1?(0,Om._)`${r}.length`:(0,Om._)`${(0,wSt.useFunc)(t.gen,RSt.default)}(${r})`;t.fail$data((0,Om._)`${a} ${i} ${n}`)}};nW.default=OSt});var Ghe=E(sW=>{"use strict";Object.defineProperty(sW,"__esModule",{value:!0});var PSt=Qo(),rN=zt(),DSt={message:({schemaCode:t})=>(0,rN.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,rN._)`{pattern: ${t}}`},kSt={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:DSt,code(t){let{data:e,$data:r,schema:n,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"",o=r?(0,rN._)`(new RegExp(${s}, ${a}))`:(0,PSt.usePattern)(t,n);t.fail$data((0,rN._)`!${o}.test(${e})`)}};sW.default=kSt});var Vhe=E(iW=>{"use strict";Object.defineProperty(iW,"__esModule",{value:!0});var N1=zt(),LSt={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,N1.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,N1._)`{limit: ${t}}`},BSt={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:LSt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?N1.operators.GT:N1.operators.LT;t.fail$data((0,N1._)`Object.keys(${r}).length ${s} ${n}`)}};iW.default=BSt});var zhe=E(aW=>{"use strict";Object.defineProperty(aW,"__esModule",{value:!0});var O1=Qo(),P1=zt(),MSt=Lr(),WSt={message:({params:{missingProperty:t}})=>(0,P1.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,P1._)`{missingProperty: ${t}}`},$St={keyword:"required",type:"object",schemaType:"array",$data:!0,error:WSt,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:i,it:a}=t,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let p=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let A=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${h}" is not defined at "${A}" (strictRequired)`;(0,MSt.checkStrictMode)(a,g,a.opts.strictRequired)}}function u(){if(c||i)t.block$data(P1.nil,d);else for(let p of r)(0,O1.checkReportMissingProp)(t,p)}function l(){let p=e.let("missing");if(c||i){let m=e.let("valid",!0);t.block$data(m,()=>f(p,m)),t.ok(m)}else e.if((0,O1.checkMissingProp)(t,r,p)),(0,O1.reportMissingProp)(t,p),e.else()}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0,O1.noPropertyInData)(e,s,p,o.ownProperties),()=>t.error())})}function f(p,m){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(m,(0,O1.propertyInData)(e,s,p,o.ownProperties)),e.if((0,P1.not)(m),()=>{t.error(),e.break()})},P1.nil)}}};aW.default=$St});var Khe=E(oW=>{"use strict";Object.defineProperty(oW,"__esModule",{value:!0});var D1=zt(),FSt={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,D1.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,D1._)`{limit: ${t}}`},USt={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:FSt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?D1.operators.GT:D1.operators.LT;t.fail$data((0,D1._)`${r}.length ${s} ${n}`)}};oW.default=USt});var k1=E(cW=>{"use strict";Object.defineProperty(cW,"__esModule",{value:!0});var Yhe=Go();Yhe.code='require("ajv/dist/runtime/equal").default';cW.default=Yhe});var Jhe=E(lW=>{"use strict";Object.defineProperty(lW,"__esModule",{value:!0});var uW=x1(),li=zt(),qSt=Lr(),jSt=k1(),HSt={message:({params:{i:t,j:e}})=>(0,li.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,li._)`{i: ${t}, j: ${e}}`},QSt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:HSt,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=t;if(!n&&!s)return;let c=e.let("valid"),u=i.items?(0,uW.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,li._)`${a} === false`),t.ok(c);function l(){let m=e.let("i",(0,li._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,li._)`${m} > 1`,()=>(d()?f:p)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function f(m,h){let A=e.name("item"),g=(0,uW.checkDataTypes)(u,A,o.opts.strictNumbers,uW.DataType.Wrong),b=e.const("indices",(0,li._)`{}`);e.for((0,li._)`;${m}--;`,()=>{e.let(A,(0,li._)`${r}[${m}]`),e.if(g,(0,li._)`continue`),u.length>1&&e.if((0,li._)`typeof ${A} == "string"`,(0,li._)`${A} += "_"`),e.if((0,li._)`typeof ${b}[${A}] == "number"`,()=>{e.assign(h,(0,li._)`${b}[${A}]`),t.error(),e.assign(c,!1).break()}).code((0,li._)`${b}[${A}] = ${m}`)})}function p(m,h){let A=(0,qSt.useFunc)(e,jSt.default),g=e.name("outer");e.label(g).for((0,li._)`;${m}--;`,()=>e.for((0,li._)`${h} = ${m}; ${h}--;`,()=>e.if((0,li._)`${A}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(g)})))}}};lW.default=QSt});var Xhe=E(fW=>{"use strict";Object.defineProperty(fW,"__esModule",{value:!0});var dW=zt(),GSt=Lr(),VSt=k1(),zSt={message:"must be equal to constant",params:({schemaCode:t})=>(0,dW._)`{allowedValue: ${t}}`},KSt={keyword:"const",$data:!0,error:zSt,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,dW._)`!${(0,GSt.useFunc)(e,VSt.default)}(${r}, ${s})`):t.fail((0,dW._)`${i} !== ${r}`)}};fW.default=KSt});var Zhe=E(pW=>{"use strict";Object.defineProperty(pW,"__esModule",{value:!0});var L1=zt(),YSt=Lr(),JSt=k1(),XSt={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,L1._)`{allowedValues: ${t}}`},ZSt={keyword:"enum",schemaType:"array",$data:!0,error:XSt,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:i,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,YSt.useFunc)(e,JSt.default)),l;if(o||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let p=e.const("vSchema",i);l=(0,L1.or)(...s.map((m,h)=>f(p,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,p=>e.if((0,L1._)`${u()}(${r}, ${p})`,()=>e.assign(l,!0).break()))}function f(p,m){let h=s[m];return typeof h=="object"&&h!==null?(0,L1._)`${u()}(${r}, ${p}[${m}])`:(0,L1._)`${r} === ${h}`}}};pW.default=ZSt});var ege=E(mW=>{"use strict";Object.defineProperty(mW,"__esModule",{value:!0});var evt=Uhe(),tvt=qhe(),rvt=Qhe(),nvt=Ghe(),svt=Vhe(),ivt=zhe(),avt=Khe(),ovt=Jhe(),cvt=Xhe(),uvt=Zhe(),lvt=[evt.default,tvt.default,rvt.default,nvt.default,svt.default,ivt.default,avt.default,ovt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},cvt.default,uvt.default];mW.default=lvt});var gW=E(B1=>{"use strict";Object.defineProperty(B1,"__esModule",{value:!0});B1.validateAdditionalItems=void 0;var Pm=zt(),hW=Lr(),dvt={message:({params:{len:t}})=>(0,Pm.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Pm._)`{limit: ${t}}`},fvt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:dvt,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,hW.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}tge(t,n)}};function tge(t,e){let{gen:r,schema:n,data:s,keyword:i,it:a}=t;a.items=!0;let o=r.const("len",(0,Pm._)`${s}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Pm._)`${o} <= ${e.length}`);else if(typeof n=="object"&&!(0,hW.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,Pm._)`${o} <= ${e.length}`);r.if((0,Pm.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,o,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:hW.Type.Num},u),a.allErrors||r.if((0,Pm.not)(u),()=>r.break())})}}B1.validateAdditionalItems=tge;B1.default=fvt});var AW=E(M1=>{"use strict";Object.defineProperty(M1,"__esModule",{value:!0});M1.validateTuple=void 0;var rge=zt(),nN=Lr(),pvt=Qo(),mvt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return nge(t,"additionalItems",e);r.items=!0,!(0,nN.alwaysValidSchema)(r,e)&&t.ok((0,pvt.validateArray)(t))}};function nge(t,e,r=t.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=t;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=nN.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,rge._)`${i}.length`);r.forEach((d,f)=>{(0,nN.alwaysValidSchema)(o,d)||(n.if((0,rge._)`${u} > ${f}`,()=>t.subschema({keyword:a,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:p}=o,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let A=`"${a}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,nN.checkStrictMode)(o,A,f.strictTuples)}}}M1.validateTuple=nge;M1.default=mvt});var sge=E(yW=>{"use strict";Object.defineProperty(yW,"__esModule",{value:!0});var hvt=AW(),gvt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,hvt.validateTuple)(t,"items")};yW.default=gvt});var age=E(xW=>{"use strict";Object.defineProperty(xW,"__esModule",{value:!0});var ige=zt(),Avt=Lr(),yvt=Qo(),xvt=gW(),bvt={message:({params:{len:t}})=>(0,ige.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ige._)`{limit: ${t}}`},Evt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:bvt,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=!0,!(0,Avt.alwaysValidSchema)(n,e)&&(s?(0,xvt.validateAdditionalItems)(t,s):t.ok((0,yvt.validateArray)(t)))}};xW.default=Evt});var oge=E(bW=>{"use strict";Object.defineProperty(bW,"__esModule",{value:!0});var zo=zt(),sN=Lr(),_vt={message:({params:{min:t,max:e}})=>e===void 0?(0,zo.str)`must contain at least ${t} valid item(s)`:(0,zo.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,zo._)`{minContains: ${t}}`:(0,zo._)`{minContains: ${t}, maxContains: ${e}}`},Svt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:_vt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=e.const("len",(0,zo._)`${s}.length`);if(t.setParams({min:a,max:o}),o===void 0&&a===0){(0,sN.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,sN.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,sN.alwaysValidSchema)(i,r)){let h=(0,zo._)`${l} >= ${a}`;o!==void 0&&(h=(0,zo._)`${h} && ${l} <= ${o}`),t.pass(h);return}i.items=!0;let d=e.name("valid");o===void 0&&a===1?p(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),o!==void 0&&e.if((0,zo._)`${s}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),A=e.let("count",0);p(h,()=>e.if(h,()=>m(A)))}function p(h,A){e.forRange("i",0,l,g=>{t.subschema({keyword:"contains",dataProp:g,dataPropType:sN.Type.Num,compositeRule:!0},h),A()})}function m(h){e.code((0,zo._)`${h}++`),o===void 0?e.if((0,zo._)`${h} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,zo._)`${h} > ${o}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,zo._)`${h} >= ${a}`,()=>e.assign(d,!0)))}}};bW.default=Svt});var lge=E(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.validateSchemaDeps=ju.validatePropertyDeps=ju.error=void 0;var EW=zt(),vvt=Lr(),W1=Qo();ju.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,EW.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,EW._)`{property: ${t},
missingProperty: ${n},
depsCount: ${e},
deps: ${r}}`};var Cvt={keyword:"dependencies",type:"object",schemaType:"object",error:ju.error,code(t){let[e,r]=Ivt(t);cge(t,e),uge(t,r)}};function Ivt({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n]}return[e,r]}function cge(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let a in e){let o=e[a];if(o.length===0)continue;let c=(0,W1.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,W1.checkReportMissingProp)(t,u)}):(r.if((0,EW._)`${c} && (${(0,W1.checkMissingProp)(t,o,i)})`),(0,W1.reportMissingProp)(t,i),r.else())}}ju.validatePropertyDeps=cge;function uge(t,e=t.schema){let{gen:r,data:n,keyword:s,it:i}=t,a=r.name("valid");for(let o in e)(0,vvt.alwaysValidSchema)(i,e[o])||(r.if((0,W1.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:o},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}ju.validateSchemaDeps=uge;ju.default=Cvt});var fge=E(_W=>{"use strict";Object.defineProperty(_W,"__esModule",{value:!0});var dge=zt(),Tvt=Lr(),wvt={message:"property name must be valid",params:({params:t})=>(0,dge._)`{propertyName: ${t.propertyName}}`},Rvt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:wvt,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0,Tvt.alwaysValidSchema)(s,r))return;let i=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),e.if((0,dge.not)(i),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(i)}};_W.default=Rvt});var vW=E(SW=>{"use strict";Object.defineProperty(SW,"__esModule",{value:!0});var iN=Qo(),qc=zt(),Nvt=fd(),aN=Lr(),Ovt={message:"must NOT have additional properties",params:({params:t})=>(0,qc._)`{additionalProperty: ${t.additionalProperty}}`},Pvt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Ovt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,aN.alwaysValidSchema)(a,r))return;let u=(0,iN.allSchemaProperties)(n.properties),l=(0,iN.allSchemaProperties)(n.patternProperties);d(),t.ok((0,qc._)`${i} === ${Nvt.default.errors}`);function d(){e.forIn("key",s,A=>{!u.length&&!l.length?m(A):e.if(f(A),()=>m(A))})}function f(A){let g;if(u.length>8){let b=(0,aN.schemaRefOrVal)(a,n.properties,"properties");g=(0,iN.isOwnProperty)(e,b,A)}else u.length?g=(0,qc.or)(...u.map(b=>(0,qc._)`${A} === ${b}`)):g=qc.nil;return l.length&&(g=(0,qc.or)(g,...l.map(b=>(0,qc._)`${(0,iN.usePattern)(t,b)}.test(${A})`))),(0,qc.not)(g)}function p(A){e.code((0,qc._)`delete ${s}[${A}]`)}function m(A){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(A);return}if(r===!1){t.setParams({additionalProperty:A}),t.error(),o||e.break();return}if(typeof r=="object"&&!(0,aN.alwaysValidSchema)(a,r)){let g=e.name("valid");c.removeAdditional==="failing"?(h(A,g,!1),e.if((0,qc.not)(g),()=>{t.reset(),p(A)})):(h(A,g),o||e.if((0,qc.not)(g),()=>e.break()))}}function h(A,g,b){let y={keyword:"additionalProperties",dataProp:A,dataPropType:aN.Type.Str};b===!1&&Object.assign(y,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(y,g)}}};SW.default=Pvt});var hge=E(IW=>{"use strict";Object.defineProperty(IW,"__esModule",{value:!0});var Dvt=S1(),pge=Qo(),CW=Lr(),mge=vW(),kvt={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&mge.default.code(new Dvt.KeywordCxt(i,mge.default,"additionalProperties"));let a=(0,pge.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=CW.mergeEvaluated.props(e,(0,CW.toHash)(a),i.props));let o=a.filter(d=>!(0,CW.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=e.name("valid");for(let d of o)u(d)?l(d):(e.if((0,pge.propertyInData)(e,s,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};IW.default=kvt});var xge=E(TW=>{"use strict";Object.defineProperty(TW,"__esModule",{value:!0});var gge=Qo(),oN=zt(),Age=Lr(),yge=Lr(),Lvt={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:i}=t,{opts:a}=i,o=(0,gge.allSchemaProperties)(r),c=o.filter(h=>(0,Age.alwaysValidSchema)(i,r[h]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof oN.Name)&&(i.props=(0,yge.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let h of o)u&&p(h),i.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function p(h){for(let A in u)new RegExp(h).test(A)&&(0,Age.checkStrictMode)(i,`property ${A} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,A=>{e.if((0,oN._)`${(0,gge.usePattern)(t,h)}.test(${A})`,()=>{let g=c.includes(h);g||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:A,dataPropType:yge.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,oN._)`${d}[${A}]`,!0):!g&&!i.allErrors&&e.if((0,oN.not)(l),()=>e.break())})})}}};TW.default=Lvt});var bge=E(wW=>{"use strict";Object.defineProperty(wW,"__esModule",{value:!0});var Bvt=Lr(),Mvt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,Bvt.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};wW.default=Mvt});var Ege=E(RW=>{"use strict";Object.defineProperty(RW,"__esModule",{value:!0});var Wvt=Qo(),$vt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Wvt.validateUnion,error:{message:"must match a schema in anyOf"}};RW.default=$vt});var _ge=E(NW=>{"use strict";Object.defineProperty(NW,"__esModule",{value:!0});var cN=zt(),Fvt=Lr(),Uvt={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,cN._)`{passingSchemas: ${t.passing}}`},qvt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Uvt,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=e.let("valid",!1),o=e.let("passing",null),c=e.name("_valid");t.setParams({passing:o}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let f;(0,Fvt.alwaysValidSchema)(s,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,cN._)`${c} && ${a}`).assign(a,!1).assign(o,(0,cN._)`[${o}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(o,d),f&&t.mergeEvaluated(f,cN.Name)})})}}};NW.default=qvt});var Sge=E(OW=>{"use strict";Object.defineProperty(OW,"__esModule",{value:!0});var jvt=Lr(),Hvt={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((i,a)=>{if((0,jvt.alwaysValidSchema)(n,i))return;let o=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(o)})}};OW.default=Hvt});var Ige=E(PW=>{"use strict";Object.defineProperty(PW,"__esModule",{value:!0});var uN=zt(),Cge=Lr(),Qvt={message:({params:t})=>(0,uN.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,uN._)`{failingKeyword: ${t.ifClause}}`},Gvt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Qvt,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Cge.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=vge(n,"then"),i=vge(n,"else");if(!s&&!i)return;let a=e.let("valid",!0),o=e.name("_valid");if(c(),t.reset(),s&&i){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(o,u("then",l),u("else",l))}else s?e.if(o,u("then")):e.if((0,uN.not)(o),u("else"));t.pass(a,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},o);e.assign(a,o),t.mergeValidEvaluated(f,a),d?e.assign(d,(0,uN._)`${l}`):t.setParams({ifClause:l})}}}};function vge(t,e){let r=t.schema[e];return r!==void 0&&!(0,Cge.alwaysValidSchema)(t,r)}PW.default=Gvt});var Tge=E(DW=>{"use strict";Object.defineProperty(DW,"__esModule",{value:!0});var Vvt=Lr(),zvt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,Vvt.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};DW.default=zvt});var wge=E(kW=>{"use strict";Object.defineProperty(kW,"__esModule",{value:!0});var Kvt=gW(),Yvt=sge(),Jvt=AW(),Xvt=age(),Zvt=oge(),eCt=lge(),tCt=fge(),rCt=vW(),nCt=hge(),sCt=xge(),iCt=bge(),aCt=Ege(),oCt=_ge(),cCt=Sge(),uCt=Ige(),lCt=Tge();function dCt(t=!1){let e=[iCt.default,aCt.default,oCt.default,cCt.default,uCt.default,lCt.default,tCt.default,rCt.default,eCt.default,nCt.default,sCt.default];return t?e.push(Yvt.default,Xvt.default):e.push(Kvt.default,Jvt.default),e.push(Zvt.default),e}kW.default=dCt});var Rge=E(LW=>{"use strict";Object.defineProperty(LW,"__esModule",{value:!0});var cs=zt(),fCt={message:({schemaCode:t})=>(0,cs.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,cs._)`{format: ${t}}`},pCt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:fCt,code(t,e){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():p();function f(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,cs._)`${m}[${a}]`),A=r.let("fType"),g=r.let("format");r.if((0,cs._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(A,(0,cs._)`${h}.type || "string"`).assign(g,(0,cs._)`${h}.validate`),()=>r.assign(A,(0,cs._)`"string"`).assign(g,h)),t.fail$data((0,cs.or)(b(),y()));function b(){return c.strictSchema===!1?cs.nil:(0,cs._)`${a} && !${g}`}function y(){let x=l.$async?(0,cs._)`(${h}.async ? await ${g}(${n}) : ${g}(${n}))`:(0,cs._)`${g}(${n})`,v=(0,cs._)`(typeof ${g} == "function" ? ${x} : ${g}.test(${n}))`;return(0,cs._)`${g} && ${g} !== true && ${A} === ${e} && !${v}`}}function p(){let m=d.formats[i];if(!m){b();return}if(m===!0)return;let[h,A,g]=y(m);h===e&&t.pass(x());function b(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function y(v){let C=v instanceof RegExp?(0,cs.regexpCode)(v):c.code.formats?(0,cs._)`${c.code.formats}${(0,cs.getProperty)(i)}`:void 0,R=r.scopeValue("formats",{key:i,ref:v,code:C});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,cs._)`${R}.validate`]:["string",v,R]}function x(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,cs._)`await ${g}(${n})`}return typeof A=="function"?(0,cs._)`${g}(${n})`:(0,cs._)`${g}.test(${n})`}}}};LW.default=pCt});var Nge=E(BW=>{"use strict";Object.defineProperty(BW,"__esModule",{value:!0});var mCt=Rge(),hCt=[mCt.default];BW.default=hCt});var Oge=E(ZA=>{"use strict";Object.defineProperty(ZA,"__esModule",{value:!0});ZA.contentVocabulary=ZA.metadataVocabulary=void 0;ZA.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ZA.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Dge=E(MW=>{"use strict";Object.defineProperty(MW,"__esModule",{value:!0});var gCt=Fhe(),ACt=ege(),yCt=wge(),xCt=Nge(),Pge=Oge(),bCt=[gCt.default,ACt.default,(0,yCt.default)(),xCt.default,Pge.metadataVocabulary,Pge.contentVocabulary];MW.default=bCt});var Lge=E(lN=>{"use strict";Object.defineProperty(lN,"__esModule",{value:!0});lN.DiscrError=void 0;var kge;(function(t){t.Tag="tag",t.Mapping="mapping"})(kge||(lN.DiscrError=kge={}))});var Mge=E($W=>{"use strict";Object.defineProperty($W,"__esModule",{value:!0});var ey=zt(),WW=Lge(),Bge=GR(),ECt=v1(),_Ct=Lr(),SCt={message:({params:{discrError:t,tagName:e}})=>t===WW.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,ey._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},vCt={keyword:"discriminator",type:"object",schemaType:"object",error:SCt,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,ey._)`${r}${(0,ey.getProperty)(o)}`);e.if((0,ey._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:WW.DiscrError.Tag,tag:u,tagName:o})),t.ok(c);function l(){let p=f();e.if(!1);for(let m in p)e.elseIf((0,ey._)`${u} === ${m}`),e.assign(c,d(p[m]));e.else(),t.error(!1,{discrError:WW.DiscrError.Mapping,tag:u,tagName:o}),e.endIf()}function d(p){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:p},m);return t.mergeEvaluated(h,ey.Name),m}function f(){var p;let m={},h=g(s),A=!0;for(let x=0;x<a.length;x++){let v=a[x];if(v?.$ref&&!(0,_Ct.schemaHasRulesButRef)(v,i.self.RULES)){let R=v.$ref;if(v=Bge.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,R),v instanceof Bge.SchemaEnv&&(v=v.schema),v===void 0)throw new ECt.default(i.opts.uriResolver,i.baseId,R)}let C=(p=v?.properties)===null||p===void 0?void 0:p[o];if(typeof C!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${o}"`);A=A&&(h||g(v)),b(C,x)}if(!A)throw new Error(`discriminator: "${o}" must be required`);return m;function g({required:x}){return Array.isArray(x)&&x.includes(o)}function b(x,v){if(x.const)y(x.const,v);else if(x.enum)for(let C of x.enum)y(C,v);else throw new Error(`discriminator: "properties/${o}" must have "const" or "enum"`)}function y(x,v){if(typeof x!="string"||x in m)throw new Error(`discriminator: "${o}" values must be unique strings`);m[x]=v}}}};$W.default=vCt});var Wge=E((W3r,CCt)=>{CCt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var UW=E((Nn,FW)=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.MissingRefError=Nn.ValidationError=Nn.CodeGen=Nn.Name=Nn.nil=Nn.stringify=Nn.str=Nn._=Nn.KeywordCxt=Nn.Ajv=void 0;var ICt=khe(),TCt=Dge(),wCt=Mge(),$ge=Wge(),RCt=["/properties"],dN="http://json-schema.org/draft-07/schema",ty=class extends ICt.default{_addVocabularies(){super._addVocabularies(),TCt.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(wCt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema($ge,RCt):$ge;this.addMetaSchema(e,dN,!1),this.refs["http://json-schema.org/schema"]=dN}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(dN)?dN:void 0)}};Nn.Ajv=ty;FW.exports=Nn=ty;FW.exports.Ajv=ty;Object.defineProperty(Nn,"__esModule",{value:!0});Nn.default=ty;var NCt=S1();Object.defineProperty(Nn,"KeywordCxt",{enumerable:!0,get:function(){return NCt.KeywordCxt}});var ry=zt();Object.defineProperty(Nn,"_",{enumerable:!0,get:function(){return ry._}});Object.defineProperty(Nn,"str",{enumerable:!0,get:function(){return ry.str}});Object.defineProperty(Nn,"stringify",{enumerable:!0,get:function(){return ry.stringify}});Object.defineProperty(Nn,"nil",{enumerable:!0,get:function(){return ry.nil}});Object.defineProperty(Nn,"Name",{enumerable:!0,get:function(){return ry.Name}});Object.defineProperty(Nn,"CodeGen",{enumerable:!0,get:function(){return ry.CodeGen}});var OCt=HR();Object.defineProperty(Nn,"ValidationError",{enumerable:!0,get:function(){return OCt.default}});var PCt=v1();Object.defineProperty(Nn,"MissingRefError",{enumerable:!0,get:function(){return PCt.default}})});var Uge=E(($3r,Fge)=>{"use strict";var DCt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Fge.exports={HEX:DCt}});var Kge=E((F3r,zge)=>{"use strict";var{HEX:kCt}=Uge();function Qge(t){if(Vge(t,".")<3)return{host:t,isIPV4:!1};let e=t.match(/^(\b[01]?\d{1,2}|\b2[0-4]\d|\b25[0-5])(\.([01]?\d{1,2}|2[0-4]\d|25[0-5])){3}$/u)||[],[r]=e;return r?{host:BCt(r,"."),isIPV4:!0}:{host:t,isIPV4:!1}}function qW(t){let e="",r=!0;for(let n of t){if(n!=="0"&&r===!0&&(r=!1),kCt[n]===void 0)return;r||(e+=n)}return e}function LCt(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=!1;function c(){if(s.length){if(i===!1){let u=qW(s.join(""));if(u!==void 0)n.push(u);else return r.error=!0,!1}s.length=0}return!0}for(let u=0;u<t.length;u++){let l=t[u];if(!(l==="["||l==="]"))if(l===":"){if(a===!0&&(o=!0),!c())break;if(e++,n.push(":"),e>7){r.error=!0;break}u-1>=0&&t[u-1]===":"&&(a=!0);continue}else if(l==="%"){if(!c())break;i=!0}else{s.push(l);continue}}return s.length&&(i?r.zone=s.join(""):o?n.push(s.join("")):n.push(qW(s.join("")))),r.address=n.join(""),r}function Gge(t,e={}){if(Vge(t,":")<2)return{host:t,isIPV6:!1};let r=LCt(t);if(r.error)return{host:t,isIPV6:!1};{let n=r.address,s=r.address;return r.zone&&(n+="%"+r.zone,s+="%25"+r.zone),{host:n,escapedHost:s,isIPV6:!0}}}function BCt(t,e){let r="",n=!0,s=t.length;for(let i=0;i<s;i++){let a=t[i];a==="0"&&n?(i+1<=s&&t[i+1]===e||i+1===s)&&(r+=a,n=!1):(a===e?n=!0:n=!1,r+=a)}return r}function Vge(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}var qge=/^\.\.?\//u,jge=/^\/\.(?:\/|$)/u,Hge=/^\/\.\.(?:\/|$)/u,MCt=/^\/?(?:.|\n)*?(?=\/|$)/u;function WCt(t){let e=[];for(;t.length;)if(t.match(qge))t=t.replace(qge,"");else if(t.match(jge))t=t.replace(jge,"/");else if(t.match(Hge))t=t.replace(Hge,"/"),e.pop();else if(t==="."||t==="..")t="";else{let r=t.match(MCt);if(r){let n=r[0];t=t.slice(n.length),e.push(n)}else throw new Error("Unexpected dot segment condition")}return e.join("")}function $Ct(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function FCt(t,e){let r=[];if(t.userinfo!==void 0&&(r.push(t.userinfo),r.push("@")),t.host!==void 0){let n=unescape(t.host),s=Qge(n);if(s.isIPV4)n=s.host;else{let i=Gge(s.host,{isIPV4:!1});i.isIPV6===!0?n=`[${i.escapedHost}]`:n=t.host}r.push(n)}return(typeof t.port=="number"||typeof t.port=="string")&&(r.push(":"),r.push(String(t.port))),r.length?r.join(""):void 0}zge.exports={recomposeAuthority:FCt,normalizeComponentEncoding:$Ct,removeDotSegments:WCt,normalizeIPv4:Qge,normalizeIPv6:Gge,stringToHexStripped:qW}});var tAe=E((U3r,eAe)=>{"use strict";var UCt=/^[\da-f]{8}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{12}$/iu,qCt=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function Yge(t){return typeof t.secure=="boolean"?t.secure:String(t.scheme).toLowerCase()==="wss"}function Jge(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Xge(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function jCt(t){return t.secure=Yge(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function HCt(t){if((t.port===(Yge(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function QCt(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(qCt);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=jW[s];t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function GCt(t,e){let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=jW[s];i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function VCt(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!UCt.test(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function zCt(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Zge={scheme:"http",domainHost:!0,parse:Jge,serialize:Xge},KCt={scheme:"https",domainHost:Zge.domainHost,parse:Jge,serialize:Xge},fN={scheme:"ws",domainHost:!0,parse:jCt,serialize:HCt},YCt={scheme:"wss",domainHost:fN.domainHost,parse:fN.parse,serialize:fN.serialize},JCt={scheme:"urn",parse:QCt,serialize:GCt,skipNormalize:!0},XCt={scheme:"urn:uuid",parse:VCt,serialize:zCt,skipNormalize:!0},jW={http:Zge,https:KCt,ws:fN,wss:YCt,urn:JCt,"urn:uuid":XCt};eAe.exports=jW});var QW=E((q3r,mN)=>{"use strict";var{normalizeIPv6:ZCt,normalizeIPv4:eIt,removeDotSegments:$1,recomposeAuthority:tIt,normalizeComponentEncoding:pN}=Kge(),rAe=tAe();function rIt(t,e){return typeof t=="string"?t=Hu(hd(t,e),e):typeof t=="object"&&(t=hd(Hu(t,e),e)),t}function nIt(t,e,r){let n=Object.assign({scheme:"null"},r),s=nAe(hd(t,n),hd(e,n),n,!0);return Hu(s,{...n,skipEscape:!0})}function nAe(t,e,r,n){let s={};return n||(t=hd(Hu(t,r),r),e=hd(Hu(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=$1(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=$1(e.path||""),s.query=e.query):(e.path?(e.path.charAt(0)==="/"?s.path=$1(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=$1(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function sIt(t,e,r){return typeof t=="string"?(t=unescape(t),t=Hu(pN(hd(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Hu(pN(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Hu(pN(hd(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Hu(pN(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Hu(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=rAe[(n.scheme||r.scheme||"").toLowerCase()];i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&(s.push(r.scheme),s.push(":"));let a=tIt(r,n);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path.charAt(0)!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=$1(o)),a===void 0&&(o=o.replace(/^\/\//u,"/%2F")),s.push(o)}return r.query!==void 0&&(s.push("?"),s.push(r.query)),r.fragment!==void 0&&(s.push("#"),s.push(r.fragment)),s.join("")}var iIt=Array.from({length:127},(t,e)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(e)));function aIt(t){let e=0;for(let r=0,n=t.length;r<n;++r)if(e=t.charCodeAt(r),e>126||iIt[e])return!0;return!1}var oIt=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function hd(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=t.indexOf("%")!==-1;r.reference==="suffix"&&(t=(r.scheme?r.scheme+":":"")+"//"+t);let i=t.match(oIt);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host){let o=eIt(n.host);o.isIPV4===!1?n.host=ZCt(o.host,{isIPV4:!1}).host.toLowerCase():n.host=o.host}n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&!n.path&&n.query===void 0?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=rAe[(r.scheme||n.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&aIt(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(s&&n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),s&&n.userinfo!==void 0&&(n.userinfo=unescape(n.userinfo)),s&&n.host!==void 0&&(n.host=unescape(n.host)),n.path!==void 0&&n.path.length&&(n.path=escape(unescape(n.path))),n.fragment!==void 0&&n.fragment.length&&(n.fragment=encodeURI(decodeURI(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var HW={normalize:rIt,resolve:nIt,resolveComponents:nAe,equal:sIt,serialize:Hu,parse:hd};mN.exports=HW;mN.exports.default=HW;mN.exports.fastUri=HW});var hN=E(Gu=>{"use strict";Object.defineProperty(Gu,"__esModule",{value:!0});Gu.formatNames=Gu.fastFormats=Gu.fullFormats=void 0;function Qu(t,e){return{validate:t,compare:e}}Gu.fullFormats={date:Qu(oAe,KW),time:Qu(VW(!0),YW),"date-time":Qu(sAe(!0),uAe),"iso-time":Qu(VW(),cAe),"iso-date-time":Qu(sAe(),lAe),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:pIt,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:bIt,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:mIt,int32:{type:"number",validate:AIt},int64:{type:"number",validate:yIt},float:{type:"number",validate:aAe},double:{type:"number",validate:aAe},password:!0,binary:!0};Gu.fastFormats={...Gu.fullFormats,date:Qu(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,KW),time:Qu(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,YW),"date-time":Qu(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uAe),"iso-time":Qu(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,cAe),"iso-date-time":Qu(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,lAe),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};Gu.formatNames=Object.keys(Gu.fullFormats);function cIt(t){return t%4===0&&(t%100!==0||t%400===0)}var uIt=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,lIt=[0,31,28,31,30,31,30,31,31,30,31,30,31];function oAe(t){let e=uIt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3];return n>=1&&n<=12&&s>=1&&s<=(n===2&&cIt(r)?29:lIt[n])}function KW(t,e){if(t&&e)return t>e?1:t<e?-1:0}var GW=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function VW(t){return function(r){let n=GW.exec(r);if(!n)return!1;let s=+n[1],i=+n[2],a=+n[3],o=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!o)return!1;if(s<=23&&i<=59&&a<60)return!0;let d=i-l*c,f=s-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function YW(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function cAe(t,e){if(!(t&&e))return;let r=GW.exec(t),n=GW.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var zW=/t|\s/i;function sAe(t){let e=VW(t);return function(n){let s=n.split(zW);return s.length===2&&oAe(s[0])&&e(s[1])}}function uAe(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function lAe(t,e){if(!(t&&e))return;let[r,n]=t.split(zW),[s,i]=e.split(zW),a=KW(r,s);if(a!==void 0)return a||YW(n,i)}var dIt=/\/|:/,fIt=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function pIt(t){return dIt.test(t)&&fIt.test(t)}var iAe=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function mIt(t){return iAe.lastIndex=0,iAe.test(t)}var hIt=-(2**31),gIt=2**31-1;function AIt(t){return Number.isInteger(t)&&t<=gIt&&t>=hIt}function yIt(t){return Number.isInteger(t)}function aAe(){return!0}var xIt=/[^\\]\\Z/;function bIt(t){if(xIt.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var dAe=E(ny=>{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});ny.formatLimitDefinition=void 0;var EIt=UW(),jc=zt(),Ep=jc.operators,gN={formatMaximum:{okStr:"<=",ok:Ep.LTE,fail:Ep.GT},formatMinimum:{okStr:">=",ok:Ep.GTE,fail:Ep.LT},formatExclusiveMaximum:{okStr:"<",ok:Ep.LT,fail:Ep.GTE},formatExclusiveMinimum:{okStr:">",ok:Ep.GT,fail:Ep.LTE}},_It={message:({keyword:t,schemaCode:e})=>(0,jc.str)`should be ${gN[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,jc._)`{comparison: ${gN[t].okStr}, limit: ${e}}`};ny.formatLimitDefinition={keyword:Object.keys(gN),type:"string",schemaType:"string",$data:!0,error:_It,code(t){let{gen:e,data:r,schemaCode:n,keyword:s,it:i}=t,{opts:a,self:o}=i;if(!a.validateFormats)return;let c=new EIt.KeywordCxt(i,o.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:o.formats,code:a.code.formats}),p=e.const("fmt",(0,jc._)`${f}[${c.schemaCode}]`);t.fail$data((0,jc.or)((0,jc._)`typeof ${p} != "object"`,(0,jc._)`${p} instanceof RegExp`,(0,jc._)`typeof ${p}.compare != "function"`,d(p)))}function l(){let f=c.schema,p=o.formats[f];if(!p||p===!0)return;if(typeof p!="object"||p instanceof RegExp||typeof p.compare!="function")throw new Error(`"${s}": format "${f}" does not define "compare" function`);let m=e.scopeValue("formats",{key:f,ref:p,code:a.code.formats?(0,jc._)`${a.code.formats}${(0,jc.getProperty)(f)}`:void 0});t.fail$data(d(m))}function d(f){return(0,jc._)`${f}.compare(${r}, ${n}) ${gN[s].fail} 0`}},dependencies:["format"]};var SIt=t=>(t.addKeyword(ny.formatLimitDefinition),t);ny.default=SIt});var hAe=E((F1,mAe)=>{"use strict";Object.defineProperty(F1,"__esModule",{value:!0});var sy=hN(),vIt=dAe(),JW=zt(),fAe=new JW.Name("fullFormats"),CIt=new JW.Name("fastFormats"),XW=(t,e={keywords:!0})=>{if(Array.isArray(e))return pAe(t,e,sy.fullFormats,fAe),t;let[r,n]=e.mode==="fast"?[sy.fastFormats,CIt]:[sy.fullFormats,fAe],s=e.formats||sy.formatNames;return pAe(t,s,r,n),e.keywords&&(0,vIt.default)(t),t};XW.get=(t,e="full")=>{let n=(e==="fast"?sy.fastFormats:sy.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function pAe(t,e,r,n){var s,i;(s=(i=t.opts.code).formats)!==null&&s!==void 0||(i.formats=(0,JW._)`require("ajv-formats/dist/formats").${n}`);for(let a of e)t.addFormat(a,r[a])}mAe.exports=F1=XW;Object.defineProperty(F1,"__esModule",{value:!0});F1.default=XW});var e$=E((Q3r,gAe)=>{"use strict";var IIt=UW(),TIt=QW(),wIt=hAe(),RIt=NR()({proto:!0}),ZW=class t{constructor(e){this.ajv=new IIt({...e,strictSchema:!1,validateSchema:!1,allowUnionTypes:!0,uriResolver:TIt}),wIt(this.ajv),this.ajv.addKeyword({keyword:"fjs_type",type:"object",errors:!1,validate:(r,n)=>n instanceof Date}),this._ajvSchemas={},this._ajvOptions=e||{}}addSchema(e,r){let n=e.$id||r;if(e.$id!==void 0&&e.$id[0]==="#"&&(n=r+e.$id),this.ajv.refs[n]===void 0&&this.ajv.schemas[n]===void 0){let s=RIt(e);this.convertSchemaToAjvFormat(s),this.ajv.addSchema(s,n),this._ajvSchemas[n]=e}}validate(e,r){return this.ajv.validate(e,r)}convertSchemaToAjvFormat(e){if(e!==null){e.type==="string"?(e.fjs_type="string",e.type=["string","object"]):Array.isArray(e.type)&&e.type.includes("string")&&!e.type.includes("object")&&(e.fjs_type="string",e.type.push("object"));for(let r in e)typeof e[r]=="object"&&this.convertSchemaToAjvFormat(e[r])}}getState(){return{ajvOptions:this._ajvOptions,ajvSchemas:this._ajvSchemas}}static restoreFromState(e){let r=new t(e.ajvOptions);for(let[n,s]of Object.entries(e.ajvSchemas))r.ajv.addSchema(s,n);return r}};gAe.exports=ZW});var r$=E((G3r,t$)=>{"use strict";function NIt(t,e,r,n){let s="";e.validatorSchemasIds.size>0?(s+=`const Validator = require('fast-json-stringify/lib/validator')
`,s+=`const validatorState = ${JSON.stringify(n.getState())}
`,s+=`const validator = Validator.restoreFromState(validatorState)
`):s+=`const validator = null
`;let{schema:i,...a}=r.getState();return`
'use strict'
const Serializer = require('fast-json-stringify/lib/serializer')
const serializerState = ${JSON.stringify(a)}
const serializer = Serializer.restoreFromState(serializerState)
${s}
module.exports = ${t.toString()}(validator, serializer)`}t$.exports=NIt;t$.exports.dependencies={Serializer:n8(),Validator:e$()}});var yAe=E((z3r,AAe)=>{"use strict";var{dependencies:OIt}=r$(),{Serializer:PIt,Validator:V3r}=OIt,DIt={mode:"standalone"},kIt=PIt.restoreFromState(DIt),LIt=null;AAe.exports=function(e,r){function n(i){let a=i&&typeof i.toJSON=="function"?i.toJSON():i;if(a===null)return"{}";let o=!1,c="{";return a.statusCode!==void 0&&(!o&&(o=!0)||(c+=","),c+='"statusCode":',c+=r.asNumber(a.statusCode)),a.code!==void 0&&(!o&&(o=!0)||(c+=","),c+='"code":',c+=r.asString(a.code)),a.error!==void 0&&(!o&&(o=!0)||(c+=","),c+='"error":',c+=r.asString(a.error)),a.message!==void 0&&(!o&&(o=!0)||(c+=","),c+='"message":',c+=r.asString(a.message)),c+"}"}return n}(LIt,kIt)});var U1=E((K3r,_Ae)=>{"use strict";var xAe=require("node:http").STATUS_CODES,BIt=e5(),{kReplyHeaders:Dm,kReplyNextErrorHandler:AN,kReplyIsRunningOnErrorHook:MIt,kReplyHasStatusCode:WIt,kRouteContext:EAe}=Qs(),{FST_ERR_REP_INVALID_PAYLOAD_TYPE:$It,FST_ERR_FAILED_ERROR_SERIALIZATION:FIt}=Ci(),{getSchemaSerializer:UIt}=u1(),n$=yAe(),qIt={func:HIt,toJSON(){return this.func.name.toString()+"()"}};function jIt(t,e,r){t[MIt]=!1;let n=t[EAe];if(t[AN]===!1){bAe(e,t,function(o,c){try{o.raw.writeHead(o.raw.statusCode,o[Dm])}catch(u){o.log.warn({req:o.request,res:o,err:u},u&&u.message),o.raw.writeHead(o.raw.statusCode)}o.raw.end(c)});return}let s=t[AN]||n.errorHandler;t[AN]=Object.getPrototypeOf(s),delete t[Dm]["content-type"],delete t[Dm]["content-length"];let i=s.func;if(!i){t[AN]=!1,bAe(e,t,r);return}let a=i(e,t.request,t);a!==void 0&&(a!==null&&typeof a.then=="function"?BIt(a,t):t.send(a))}function HIt(t,e,r){if(GIt(t,r),!r[WIt]||r.statusCode===200){let n=t.statusCode||t.status;r.code(n>=400?n:500)}r.statusCode<500?r.log.info({res:r,err:t},t&&t.message):r.log.error({req:e,res:r,err:t},t&&t.message),r.send(t)}function bAe(t,e,r){let n=e.raw,s=e.statusCode;e[Dm]["content-type"]=e[Dm]["content-type"]??"application/json; charset=utf-8";let i;try{let a=UIt(e[EAe],s,e[Dm]["content-type"]);i=a===!1?n$({error:xAe[s+""],code:t.code,message:t.message,statusCode:s}):a(Object.create(t,{error:{value:xAe[s+""]},message:{value:t.message},statusCode:{value:s}}))}catch(a){e.log.error({err:a,statusCode:n.statusCode},"The serializer for the given status code failed"),e.code(500),i=n$(new FIt(a.message,t.message))}typeof i!="string"&&!Buffer.isBuffer(i)&&(i=n$(new $It(typeof i))),e[Dm]["content-length"]=""+Buffer.byteLength(i),r(e,i)}function QIt(t=qIt,e){if(!e)return t;let r=Object.create(t);return r.func=e,r}function GIt(t,e){let r=e.raw,n=r.statusCode;n=n>=400?n:500,t!=null&&(t.headers!==void 0&&e.headers(t.headers),t.status>=400?n=t.status:t.statusCode>=400&&(n=t.statusCode)),r.statusCode=n}_Ae.exports={buildErrorHandler:QIt,handleError:jIt}});var SN=E((Y3r,_N)=>{"use strict";var o$=require("node:stream").finished,VIt=require("node:stream").Readable,{kFourOhFourContext:SAe,kPublicRouteContext:vAe,kReplyErrorHandlerCalled:PAe,kReplyHijacked:q1,kReplyStartTime:j1,kReplyEndTime:u$,kReplySerializer:gd,kReplySerializerDefault:xN,kReplyIsError:bN,kReplyHeaders:bn,kReplyTrailers:Gs,kReplyHasStatusCode:l$,kReplyIsRunningOnErrorHook:d$,kReplyNextErrorHandler:zIt,kDisableRequestLogging:DAe,kSchemaResponse:EN,kReplyCacheSerializeFns:_p,kSchemaController:s$,kOptions:KIt,kRouteContext:rr}=Qs(),{onSendHookRunner:kAe,onResponseHookRunner:YIt,preHandlerHookRunner:JIt,preSerializationHookRunner:XIt}=up(),CAe=s5()[Symbol.for("internals")],ZIt=c1(),c$=ZIt.now,{handleError:IAe}=U1(),{getSchemaSerializer:eTt}=u1(),i$={JSON:"application/json; charset=utf-8",PLAIN:"text/plain; charset=utf-8",OCTET:"application/octet-stream"},{FST_ERR_REP_INVALID_PAYLOAD_TYPE:tTt,FST_ERR_REP_RESPONSE_BODY_CONSUMED:rTt,FST_ERR_REP_ALREADY_SENT:LAe,FST_ERR_REP_SENT_VALUE:nTt,FST_ERR_SEND_INSIDE_ONERR:sTt,FST_ERR_BAD_STATUS_CODE:iTt,FST_ERR_BAD_TRAILER_NAME:aTt,FST_ERR_BAD_TRAILER_VALUE:oTt,FST_ERR_MISSING_SERIALIZATION_FN:cTt,FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN:uTt}=Ci(),{FSTDEP010:lTt,FSTDEP013:dTt,FSTDEP019:fTt,FSTDEP020:pTt}=cd(),BAe=Object.prototype.toString;function dn(t,e,r){this.raw=t,this[gd]=null,this[PAe]=!1,this[bN]=!1,this[d$]=!1,this.request=e,this[bn]={},this[Gs]=null,this[l$]=!1,this[j1]=void 0,this.log=r}dn.props=[];Object.defineProperties(dn.prototype,{[rr]:{get(){return this.request[rr]}},context:{get(){return fTt(),this.request[rr]}},elapsedTime:{get(){return this[j1]===void 0?0:(this[u$]||c$())-this[j1]}},server:{get(){return this.request[rr].server}},sent:{enumerable:!0,get(){return(this[q1]||this.raw.writableEnded)===!0},set(t){if(lTt(),t!==!0)throw new nTt;if(this.sent&&this[q1])throw new LAe(this.request.url,this.request.method);this[q1]=!0}},statusCode:{get(){return this.raw.statusCode},set(t){this.code(t)}},[vAe]:{get(){return this.request[vAe]}}});dn.prototype.hijack=function(){return this[q1]=!0,this};dn.prototype.send=function(t){if(this[d$]===!0)throw new sTt;if(this.sent)return this.log.warn({err:new LAe(this.request.url,this.request.method)}),this;if(t instanceof Error||this[bN]===!0)return this[bN]=!1,H1(this,t,km),this;if(t===void 0)return km(this,t),this;let e=this.getHeader("content-type"),r=e!==void 0;if(t!==null){if(typeof t.pipe=="function"||typeof t.getReader=="function"||BAe.call(t)==="[object Response]")return km(this,t),this;if(t?.buffer instanceof ArrayBuffer){r===!1&&(this[bn]["content-type"]=i$.OCTET);let n=Buffer.isBuffer(t)?t:Buffer.from(t.buffer,t.byteOffset,t.byteLength);return km(this,n),this}if(r===!1&&typeof t=="string")return this[bn]["content-type"]=i$.PLAIN,km(this,t),this}if(this[gd]!==null){if(typeof t!="string")return TAe(this,t),this;t=this[gd](t)}else if(r===!1||e.indexOf("json")>-1){if(r===!1)this[bn]["content-type"]=i$.JSON;else if(e.indexOf("charset")===-1){let n=e.trim();n.endsWith(";")?this[bn]["content-type"]=`${n} charset=utf-8`:this[bn]["content-type"]=`${n}; charset=utf-8`}if(typeof t!="string")return TAe(this,t),this}return km(this,t),this};dn.prototype.getHeader=function(t){t=t.toLowerCase();let e=this.raw,r=this[bn][t];return r===void 0&&e.hasHeader(t)&&(r=e.getHeader(t)),r};dn.prototype.getHeaders=function(){return{...this.raw.getHeaders(),...this[bn]}};dn.prototype.hasHeader=function(t){return t=t.toLowerCase(),this[bn][t]!==void 0||this.raw.hasHeader(t)};dn.prototype.removeHeader=function(t){return delete this[bn][t.toLowerCase()],this};dn.prototype.header=function(t,e=""){return t=t.toLowerCase(),this[bn][t]&&t==="set-cookie"?(typeof this[bn][t]=="string"&&(this[bn][t]=[this[bn][t]]),Array.isArray(e)?Array.prototype.push.apply(this[bn][t],e):this[bn][t].push(e)):this[bn][t]=e,this};dn.prototype.headers=function(t){let e=Object.keys(t);for(var r=0;r!==e.length;++r){let n=e[r];this.header(n,t[n])}return this};var mTt=new Set(["transfer-encoding","content-length","host","cache-control","max-forwards","te","authorization","set-cookie","content-encoding","content-type","content-range","trailer"]);dn.prototype.trailer=function(t,e){if(t=t.toLowerCase(),mTt.has(t))throw new aTt(t);if(typeof e!="function")throw new oTt(t,typeof e);return this[Gs]===null&&(this[Gs]={}),this[Gs][t]=e,this};dn.prototype.hasTrailer=function(t){return this[Gs]?.[t.toLowerCase()]!==void 0};dn.prototype.removeTrailer=function(t){return this[Gs]===null?this:(this[Gs][t.toLowerCase()]=void 0,this)};dn.prototype.code=function(t){let e=Number(t);if(isNaN(e)||e<100||e>599)throw new iTt(t||String(t));return this.raw.statusCode=e,this[l$]=!0,this};dn.prototype.status=dn.prototype.code;dn.prototype.getSerializationFunction=function(t,e){let r;return typeof t=="string"||typeof t=="number"?typeof e=="string"?r=this[rr][EN]?.[t]?.[e]:r=this[rr][EN]?.[t]:typeof t=="object"&&(r=this[rr][_p]?.get(t)),r};dn.prototype.compileSerializationSchema=function(t,e=null,r=null){let{request:n}=this,{method:s,url:i}=n;if(this[rr][_p]?.has(t))return this[rr][_p].get(t);let o=(this[rr].serializerCompiler||this.server[s$].serializerCompiler||this.server[s$].setupSerializer(this.server[KIt])||this.server[s$].serializerCompiler)({schema:t,method:s,url:i,httpStatus:e,contentType:r});return this[rr][_p]==null&&(this[rr][_p]=new WeakMap),this[rr][_p].set(t,o),o};dn.prototype.serializeInput=function(t,e,r,n){let s=r,i;if(r=typeof e=="string"||typeof e=="number"?e:r,n=r&&s!==r?s:n,r!=null){if(n!=null?i=this[rr][EN]?.[r]?.[n]:i=this[rr][EN]?.[r],i==null)throw n?new uTt(r,n):new cTt(r)}else this[rr][_p]?.has(e)?i=this[rr][_p].get(e):i=this.compileSerializationSchema(e,r,n);return i(t)};dn.prototype.serialize=function(t){return this[gd]!==null?this[gd](t):this[rr]&&this[rr][xN]?this[rr][xN](t,this.raw.statusCode):$Ae(this[rr],t,this.raw.statusCode)};dn.prototype.serializer=function(t){return this[gd]=t,this};dn.prototype.type=function(t){return this[bn]["content-type"]=t,this};dn.prototype.redirect=function(t,e){return typeof t=="string"&&(e=t,t=this[l$]?this.raw.statusCode:302),this.header("location",e).code(t).send()};dn.prototype.callNotFound=function(){return bTt(this),this};dn.prototype.getResponseTime=function(){return pTt(),this.elapsedTime};dn.prototype.then=function(t,e){if(this.sent){t();return}o$(this.raw,r=>{r&&r.code!=="ERR_STREAM_PREMATURE_CLOSE"?e?e(r):this.log&&this.log.warn("unhandled rejection on reply.then"):t()})};function TAe(t,e){t[rr].preSerialization!==null?XIt(t[rr].preSerialization,t.request,t,e,wAe):wAe(null,t.request,t,e)}function wAe(t,e,r,n){if(t!=null){H1(r,t);return}try{r[gd]!==null?n=r[gd](n):r[rr]&&r[rr][xN]?n=r[rr][xN](n,r.raw.statusCode):n=$Ae(r[rr],n,r.raw.statusCode,r[bn]["content-type"])}catch(s){hTt(s,r),H1(r,s);return}km(r,n)}function hTt(t,e){t.serialization=e[rr].config}function km(t,e){t[rr].onSend!==null?kAe(t[rr].onSend,t.request,t,e,gTt):MAe(t,e)}function gTt(t,e,r,n){t!=null?H1(r,t):MAe(r,n)}function a$(t,e){let r=t.raw;try{r.writeHead(e,t[bn])}catch(n){throw n.code==="ERR_HTTP_HEADERS_SENT"&&t.log.warn(`Reply was already sent, did you forget to "return reply" in the "${t.request.raw.url}" (${t.request.raw.method}) route?`),n}}function MAe(t,e){let r=t.raw,n=t.request;if(t[Gs]!==null){let a=Object.keys(t[Gs]),o="";for(let c of a)typeof t[Gs][c]=="function"&&(o+=" ",o+=c);t.header("Transfer-Encoding","chunked"),t.header("Trailer",o.trim())}let s=BAe.call(e)==="[object Response]";s&&typeof e.status=="number"&&t.code(e.status);let i=r.statusCode;if(e==null){i>=200&&i!==204&&i!==304&&n.method!=="HEAD"&&t[Gs]===null&&(t[bn]["content-length"]="0"),a$(t,i),yN(e,r,t);return}if(i>=100&&i<200||i===204){t.removeHeader("content-type"),t.removeHeader("content-length"),a$(t,i),yN(void 0,r,t),typeof e.resume=="function"&&(e.on("error",FAe),e.resume());return}if(typeof e.pipe=="function"){WAe(e,r,t);return}if(typeof e.getReader=="function"){NAe(e,r,t);return}if(s){if(typeof e.headers=="object"&&typeof e.headers.forEach=="function")for(let[a,o]of e.headers)t.header(a,o);if(e.body!=null){if(e.bodyUsed)throw new rTt;NAe(e.body,r,t)}return}if(typeof e!="string"&&!Buffer.isBuffer(e))throw new tTt(typeof e);if(t[Gs]===null){let a=t[bn]["content-length"];(!a||n.raw.method!=="HEAD"&&Number(a)!==Buffer.byteLength(e))&&(t[bn]["content-length"]=""+Buffer.byteLength(e))}a$(t,i),r.write(e),yN(e,r,t)}function RAe(t,e,r){e.code==="ERR_STREAM_PREMATURE_CLOSE"?t[DAe]||t.info({res:r},"stream closed prematurely"):t.warn({err:e},"response terminated with an error with headers already sent")}function NAe(t,e,r){let n=VIt.fromWeb(t);WAe(n,e,r)}function WAe(t,e,r){let n=!0,s=!1;if(ATt(t,e,r),o$(t,{readable:!0,writable:!1},function(i){n=!1,i!=null&&(e.headersSent||r.request.raw.aborted===!0?(s||(s=!0,RAe(r.log,i,e)),e.destroy()):H1(r,i))}),o$(e,function(i){n&&(i!=null&&e.headersSent&&!s&&(s=!0,RAe(r.log,i,e)),typeof t.destroy=="function"?t.destroy():typeof t.close=="function"?t.close(FAe):typeof t.abort=="function"?t.abort():r.log.warn("stream payload does not end properly"))}),e.headersSent)r.log.warn("response will send, but you shouldn't use res.writeHead in stream mode");else for(let i in r[bn])e.setHeader(i,r[bn][i]);t.pipe(e)}function yN(t,e,r){if(r[Gs]===null){e.end(null,null,null);return}let n=Object.keys(r[Gs]),s={},i=0,a=!0;function o(){i===0&&(e.addTrailers(s),e.end(null,null,null))}for(let c of n){let u=function(d,f){i++,d?r.log.debug(d):s[c]=f,process.nextTick(o)};if(typeof r[Gs][c]!="function")continue;a=!1,i--;let l=r[Gs][c](r,t,u);typeof l=="object"&&typeof l.then=="function"?l.then(d=>u(null,d),u):l!=null&&(dTt(),u(null,l))}a&&e.end(null,null,null)}function ATt(t,e,r){r[Gs]!==null&&t.on("end",()=>yN(null,e,r))}function H1(t,e,r){t[rr].onError!==null&&!t[zIt]?(t[d$]=!0,kAe(t[rr].onError,t.request,t,e,()=>IAe(t,e,r))):IAe(t,e,r)}function yTt(t){t[j1]=c$();let e=r=>{t[u$]=c$(),t.raw.removeListener("finish",e),t.raw.removeListener("error",e);let n=t[rr];n&&n.onResponse!==null?YIt(n.onResponse,t.request,t,OAe):OAe(r,t.request,t)};t.raw.on("finish",e),t.raw.on("error",e)}function OAe(t,e,r){if(r.log[DAe])return;let n=r.elapsedTime;if(t!=null){r.log.error({res:r,err:t,responseTime:n},"request errored");return}r.log.info({res:r,responseTime:n},"request completed")}function xTt(t){let e=t.props.slice();function r(n,s,i){this.raw=n,this[bN]=!1,this[PAe]=!1,this[q1]=!1,this[gd]=null,this.request=s,this[bn]={},this[Gs]=null,this[j1]=void 0,this[u$]=void 0,this.log=i;for(var a,o=0;o<e.length;o++)a=e[o],this[a.key]=a.value}return Object.setPrototypeOf(r.prototype,t.prototype),Object.setPrototypeOf(r,t),r.parent=t,r.props=e,r}function bTt(t){if(t[rr][SAe]===null){t.log.warn("Trying to send a NotFound error inside a 404 handler. Sending basic 404 response."),t.code(404).send("404 Not Found");return}t.request[rr]=t[rr][SAe],t[rr].preHandler!==null?JIt(t[rr].preHandler,t.request,t,CAe.preHandlerCallback):CAe.preHandlerCallback(null,t.request,t)}function $Ae(t,e,r,n){let s=eTt(t,r,n);return s?s(e):JSON.stringify(e)}function FAe(){}_N.exports=dn;_N.exports.buildReply=xTt;_N.exports.setupResponseListeners=yTt});var qAe=E((J3r,UAe)=>{"use strict";UAe.exports=ETt;function ETt(t){if(!t)throw new TypeError("argument req is required");var e=STt(t.headers["x-forwarded-for"]||""),r=_Tt(t),n=[r].concat(e);return n}function _Tt(t){return t.socket?t.socket.remoteAddress:t.connection.remoteAddress}function STt(t){for(var e=t.length,r=[],n=t.length,s=t.length-1;s>=0;s--)switch(t.charCodeAt(s)){case 32:n===e&&(n=e=s);break;case 44:n!==e&&r.push(t.substring(n,e)),n=e=s;break;default:n=s;break}return n!==e&&r.push(t.substring(n,e)),r}});var HAe=E((jAe,Q1)=>{(function(){var t,e,r,n,s,i,a,o,c;e={},o=this,typeof Q1<"u"&&Q1!==null&&Q1.exports?Q1.exports=e:o.ipaddr=e,a=function(u,l,d,f){var p,m;if(u.length!==l.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(p=0;f>0;){if(m=d-f,m<0&&(m=0),u[p]>>m!==l[p]>>m)return!1;f-=d,p+=1}return!0},e.subnetMatch=function(u,l,d){var f,p,m,h,A;d==null&&(d="unicast");for(m in l)for(h=l[m],h[0]&&!(h[0]instanceof Array)&&(h=[h]),f=0,p=h.length;f<p;f++)if(A=h[f],u.kind()===A[0].kind()&&u.match.apply(u,A))return m;return d},e.IPv4=function(){function u(l){var d,f,p;if(l.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");for(d=0,f=l.length;d<f;d++)if(p=l[d],!(0<=p&&p<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=l}return u.prototype.kind=function(){return"ipv4"},u.prototype.toString=function(){return this.octets.join(".")},u.prototype.toNormalizedString=function(){return this.toString()},u.prototype.toByteArray=function(){return this.octets.slice(0)},u.prototype.match=function(l,d){var f;if(d===void 0&&(f=l,l=f[0],d=f[1]),l.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return a(this.octets,l.octets,8,d)},u.prototype.SpecialRanges={unspecified:[[new u([0,0,0,0]),8]],broadcast:[[new u([255,255,255,255]),32]],multicast:[[new u([224,0,0,0]),4]],linkLocal:[[new u([169,254,0,0]),16]],loopback:[[new u([127,0,0,0]),8]],carrierGradeNat:[[new u([100,64,0,0]),10]],private:[[new u([10,0,0,0]),8],[new u([172,16,0,0]),12],[new u([192,168,0,0]),16]],reserved:[[new u([192,0,0,0]),24],[new u([192,0,2,0]),24],[new u([192,88,99,0]),24],[new u([198,51,100,0]),24],[new u([203,0,113,0]),24],[new u([240,0,0,0]),4]]},u.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)},u.prototype.toIPv4MappedAddress=function(){return e.IPv6.parse("::ffff:"+this.toString())},u.prototype.prefixLengthFromSubnetMask=function(){var l,d,f,p,m,h,A;for(A={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},l=0,m=!1,d=f=3;f>=0;d=f+=-1)if(p=this.octets[d],p in A){if(h=A[p],m&&h!==0)return null;h!==8&&(m=!0),l+=h}else return null;return 32-l},u}(),r="(0?\\d+|0x[a-f0-9]+)",n={fourOctet:new RegExp("^"+r+"\\."+r+"\\."+r+"\\."+r+"$","i"),longValue:new RegExp("^"+r+"$","i")},e.IPv4.parser=function(u){var l,d,f,p,m;if(d=function(h){return h[0]==="0"&&h[1]!=="x"?parseInt(h,8):parseInt(h)},l=u.match(n.fourOctet))return function(){var h,A,g,b;for(g=l.slice(1,6),b=[],h=0,A=g.length;h<A;h++)f=g[h],b.push(d(f));return b}();if(l=u.match(n.longValue)){if(m=d(l[1]),m>4294967295||m<0)throw new Error("ipaddr: address outside defined range");return function(){var h,A;for(A=[],p=h=0;h<=24;p=h+=8)A.push(m>>p&255);return A}().reverse()}else return null},e.IPv6=function(){function u(l,d){var f,p,m,h,A,g;if(l.length===16)for(this.parts=[],f=p=0;p<=14;f=p+=2)this.parts.push(l[f]<<8|l[f+1]);else if(l.length===8)this.parts=l;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=this.parts,m=0,h=g.length;m<h;m++)if(A=g[m],!(0<=A&&A<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");d&&(this.zoneId=d)}return u.prototype.kind=function(){return"ipv6"},u.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},u.prototype.toRFC5952String=function(){var l,d,f,p,m;for(p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),l=0,d=-1;f=p.exec(m);)f[0].length>d&&(l=f.index,d=f[0].length);return d<0?m:m.substring(0,l)+"::"+m.substring(l+d)},u.prototype.toByteArray=function(){var l,d,f,p,m;for(l=[],m=this.parts,d=0,f=m.length;d<f;d++)p=m[d],l.push(p>>8),l.push(p&255);return l},u.prototype.toNormalizedString=function(){var l,d,f;return l=function(){var p,m,h,A;for(h=this.parts,A=[],p=0,m=h.length;p<m;p++)d=h[p],A.push(d.toString(16));return A}.call(this).join(":"),f="",this.zoneId&&(f="%"+this.zoneId),l+f},u.prototype.toFixedLengthString=function(){var l,d,f;return l=function(){var p,m,h,A;for(h=this.parts,A=[],p=0,m=h.length;p<m;p++)d=h[p],A.push(d.toString(16).padStart(4,"0"));return A}.call(this).join(":"),f="",this.zoneId&&(f="%"+this.zoneId),l+f},u.prototype.match=function(l,d){var f;if(d===void 0&&(f=l,l=f[0],d=f[1]),l.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return a(this.parts,l.parts,16,d)},u.prototype.SpecialRanges={unspecified:[new u([0,0,0,0,0,0,0,0]),128],linkLocal:[new u([65152,0,0,0,0,0,0,0]),10],multicast:[new u([65280,0,0,0,0,0,0,0]),8],loopback:[new u([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new u([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new u([0,0,0,0,0,65535,0,0]),96],rfc6145:[new u([0,0,0,0,65535,0,0,0]),96],rfc6052:[new u([100,65435,0,0,0,0,0,0]),96],"6to4":[new u([8194,0,0,0,0,0,0,0]),16],teredo:[new u([8193,0,0,0,0,0,0,0]),32],reserved:[[new u([8193,3512,0,0,0,0,0,0]),32]]},u.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)},u.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},u.prototype.toIPv4Address=function(){var l,d,f;if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");return f=this.parts.slice(-2),l=f[0],d=f[1],new e.IPv4([l>>8,l&255,d>>8,d&255])},u.prototype.prefixLengthFromSubnetMask=function(){var l,d,f,p,m,h,A;for(A={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},l=0,m=!1,d=f=7;f>=0;d=f+=-1)if(p=this.parts[d],p in A){if(h=A[p],m&&h!==0)return null;h!==16&&(m=!0),l+=h}else return null;return 128-l},u}(),s="(?:[0-9a-f]+::?)+",c="%[0-9a-z]{1,}",i={zoneIndex:new RegExp(c,"i"),native:new RegExp("^(::)?("+s+")?([0-9a-f]+)?(::)?("+c+")?$","i"),transitional:new RegExp("^((?:"+s+")|(?:::)(?:"+s+")?)"+(r+"\\."+r+"\\."+r+"\\."+r)+("("+c+")?$"),"i")},t=function(u,l){var d,f,p,m,h,A;if(u.indexOf("::")!==u.lastIndexOf("::"))return null;for(A=(u.match(i.zoneIndex)||[])[0],A&&(A=A.substring(1),u=u.replace(/%.+$/,"")),d=0,f=-1;(f=u.indexOf(":",f+1))>=0;)d++;if(u.substr(0,2)==="::"&&d--,u.substr(-2,2)==="::"&&d--,d>l)return null;for(h=l-d,m=":";h--;)m+="0:";return u=u.replace("::",m),u[0]===":"&&(u=u.slice(1)),u[u.length-1]===":"&&(u=u.slice(0,-1)),l=function(){var g,b,y,x;for(y=u.split(":"),x=[],g=0,b=y.length;g<b;g++)p=y[g],x.push(parseInt(p,16));return x}(),{parts:l,zoneId:A}},e.IPv6.parser=function(u){var l,d,f,p,m,h,A;if(i.native.test(u))return t(u,8);if((p=u.match(i.transitional))&&(A=p[6]||"",l=t(p[1].slice(0,-1)+A,6),l.parts)){for(h=[parseInt(p[2]),parseInt(p[3]),parseInt(p[4]),parseInt(p[5])],d=0,f=h.length;d<f;d++)if(m=h[d],!(0<=m&&m<=255))return null;return l.parts.push(h[0]<<8|h[1]),l.parts.push(h[2]<<8|h[3]),{parts:l.parts,zoneId:l.zoneId}}return null},e.IPv4.isIPv4=e.IPv6.isIPv6=function(u){return this.parser(u)!==null},e.IPv4.isValid=function(u){var l;try{return new this(this.parser(u)),!0}catch(d){return l=d,!1}},e.IPv4.isValidFourPartDecimal=function(u){return!!(e.IPv4.isValid(u)&&u.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},e.IPv6.isValid=function(u){var l,d;if(typeof u=="string"&&u.indexOf(":")===-1)return!1;try{return l=this.parser(u),new this(l.parts,l.zoneId),!0}catch(f){return d=f,!1}},e.IPv4.parse=function(u){var l;if(l=this.parser(u),l===null)throw new Error("ipaddr: string is not formatted like ip address");return new this(l)},e.IPv6.parse=function(u){var l;if(l=this.parser(u),l.parts===null)throw new Error("ipaddr: string is not formatted like ip address");return new this(l.parts,l.zoneId)},e.IPv4.parseCIDR=function(u){var l,d,f;if((d=u.match(/^(.+)\/(\d+)$/))&&(l=parseInt(d[2]),l>=0&&l<=32))return f=[this.parse(d[1]),l],Object.defineProperty(f,"toString",{value:function(){return this.join("/")}}),f;throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},e.IPv4.subnetMaskFromPrefixLength=function(u){var l,d,f;if(u=parseInt(u),u<0||u>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(f=[0,0,0,0],d=0,l=Math.floor(u/8);d<l;)f[d]=255,d++;return l<4&&(f[l]=Math.pow(2,u%8)-1<<8-u%8),new this(f)},e.IPv4.broadcastAddressFromCIDR=function(u){var l,d,f,p,m,h;try{for(l=this.parseCIDR(u),p=l[0].toByteArray(),h=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),m=[],f=0;f<4;)m.push(parseInt(p[f],10)|parseInt(h[f],10)^255),f++;return new this(m)}catch(A){throw d=A,new Error("ipaddr: the address does not have IPv4 CIDR format")}},e.IPv4.networkAddressFromCIDR=function(u){var l,d,f,p,m,h;try{for(l=this.parseCIDR(u),p=l[0].toByteArray(),h=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),m=[],f=0;f<4;)m.push(parseInt(p[f],10)&parseInt(h[f],10)),f++;return new this(m)}catch(A){throw d=A,new Error("ipaddr: the address does not have IPv4 CIDR format")}},e.IPv6.parseCIDR=function(u){var l,d,f;if((d=u.match(/^(.+)\/(\d+)$/))&&(l=parseInt(d[2]),l>=0&&l<=128))return f=[this.parse(d[1]),l],Object.defineProperty(f,"toString",{value:function(){return this.join("/")}}),f;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},e.isValid=function(u){return e.IPv6.isValid(u)||e.IPv4.isValid(u)},e.parse=function(u){if(e.IPv6.isValid(u))return e.IPv6.parse(u);if(e.IPv4.isValid(u))return e.IPv4.parse(u);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},e.parseCIDR=function(u){var l;try{return e.IPv6.parseCIDR(u)}catch(d){l=d;try{return e.IPv4.parseCIDR(u)}catch(f){throw l=f,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},e.fromByteArray=function(u){var l;if(l=u.length,l===4)return new e.IPv4(u);if(l===16)return new e.IPv6(u);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},e.process=function(u){var l;return l=this.parse(u),l.kind()==="ipv6"&&l.isIPv4MappedAddress()?l.toIPv4Address():l}}).call(jAe)});var KAe=E((X3r,IN)=>{"use strict";IN.exports=NTt;IN.exports.all=VAe;IN.exports.compile=zAe;var vTt=qAe(),GAe=HAe(),CTt=/^[0-9]+$/,vN=GAe.isValid,CN=GAe.parse,QAe={linklocal:["169.254.0.0/16","fe80::/10"],loopback:["127.0.0.1/8","::1/128"],uniquelocal:["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","fc00::/7"]};function VAe(t,e){var r=vTt(t);if(!e)return r;typeof e!="function"&&(e=zAe(e));for(var n=0;n<r.length-1;n++)e(r[n],n)||(r.length=n+1);return r}function zAe(t){if(!t)throw new TypeError("argument is required");var e;if(typeof t=="string")e=[t];else if(Array.isArray(t))e=t.slice();else throw new TypeError("unsupported trust argument");for(var r=0;r<e.length;r++)t=e[r],Object.prototype.hasOwnProperty.call(QAe,t)&&(t=QAe[t],e.splice.apply(e,[r,1].concat(t)),r+=t.length-1);return TTt(ITt(e))}function ITt(t){for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=wTt(t[r]);return e}function TTt(t){var e=t.length;return e===0?OTt:e===1?DTt(t[0]):PTt(t)}function wTt(t){var e=t.lastIndexOf("/"),r=e!==-1?t.substring(0,e):t;if(!vN(r))throw new TypeError("invalid IP address: "+r);var n=CN(r);e===-1&&n.kind()==="ipv6"&&n.isIPv4MappedAddress()&&(n=n.toIPv4Address());var s=n.kind()==="ipv6"?128:32,i=e!==-1?t.substring(e+1,t.length):null;if(i===null?i=s:CTt.test(i)?i=parseInt(i,10):n.kind()==="ipv4"&&vN(i)?i=RTt(i):i=null,i<=0||i>s)throw new TypeError("invalid range on address: "+t);return[n,i]}function RTt(t){var e=CN(t),r=e.kind();return r==="ipv4"?e.prefixLengthFromSubnetMask():null}function NTt(t,e){if(!t)throw new TypeError("req argument is required");if(!e)throw new TypeError("trust argument is required");var r=VAe(t,e),n=r[r.length-1];return n}function OTt(){return!1}function PTt(t){return function(r){if(!vN(r))return!1;for(var n=CN(r),s,i=n.kind(),a=0;a<t.length;a++){var o=t[a],c=o[0],u=c.kind(),l=o[1],d=n;if(i!==u){if(u==="ipv4"&&!n.isIPv4MappedAddress())continue;s||(s=u==="ipv4"?n.toIPv4Address():n.toIPv4MappedAddress()),d=s}if(d.match(c,l))return!0}return!1}}function DTt(t){var e=t[0],r=e.kind(),n=r==="ipv4",s=t[1];return function(a){if(!vN(a))return!1;var o=CN(a),c=o.kind();if(c!==r){if(n&&!o.isIPv4MappedAddress())return!1;o=n?o.toIPv4Address():o.toIPv4MappedAddress()}return o.match(e,s)}}});var G1=E((Z3r,YAe)=>{"use strict";var kTt="2.0.0",LTt=Number.MAX_SAFE_INTEGER||9007199254740991,BTt=16,MTt=250,WTt=["major","premajor","minor","preminor","patch","prepatch","prerelease"];YAe.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:BTt,MAX_SAFE_BUILD_LENGTH:MTt,MAX_SAFE_INTEGER:LTt,RELEASE_TYPES:WTt,SEMVER_SPEC_VERSION:kTt,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var V1=E((eDr,JAe)=>{"use strict";var $Tt=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};JAe.exports=$Tt});var iy=E((Vu,XAe)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:f$,MAX_SAFE_BUILD_LENGTH:FTt,MAX_LENGTH:UTt}=G1(),qTt=V1();Vu=XAe.exports={};var jTt=Vu.re=[],HTt=Vu.safeRe=[],Ge=Vu.src=[],QTt=Vu.safeSrc=[],Ve=Vu.t={},GTt=0,p$="[a-zA-Z0-9-]",VTt=[["\\s",1],["\\d",UTt],[p$,FTt]],zTt=t=>{for(let[e,r]of VTt)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},Mt=(t,e,r)=>{let n=zTt(e),s=GTt++;qTt(t,s,e),Ve[t]=s,Ge[s]=e,QTt[s]=n,jTt[s]=new RegExp(e,r?"g":void 0),HTt[s]=new RegExp(n,r?"g":void 0)};Mt("NUMERICIDENTIFIER","0|[1-9]\\d*");Mt("NUMERICIDENTIFIERLOOSE","\\d+");Mt("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p$}*`);Mt("MAINVERSION",`(${Ge[Ve.NUMERICIDENTIFIER]})\\.(${Ge[Ve.NUMERICIDENTIFIER]})\\.(${Ge[Ve.NUMERICIDENTIFIER]})`);Mt("MAINVERSIONLOOSE",`(${Ge[Ve.NUMERICIDENTIFIERLOOSE]})\\.(${Ge[Ve.NUMERICIDENTIFIERLOOSE]})\\.(${Ge[Ve.NUMERICIDENTIFIERLOOSE]})`);Mt("PRERELEASEIDENTIFIER",`(?:${Ge[Ve.NONNUMERICIDENTIFIER]}|${Ge[Ve.NUMERICIDENTIFIER]})`);Mt("PRERELEASEIDENTIFIERLOOSE",`(?:${Ge[Ve.NONNUMERICIDENTIFIER]}|${Ge[Ve.NUMERICIDENTIFIERLOOSE]})`);Mt("PRERELEASE",`(?:-(${Ge[Ve.PRERELEASEIDENTIFIER]}(?:\\.${Ge[Ve.PRERELEASEIDENTIFIER]})*))`);Mt("PRERELEASELOOSE",`(?:-?(${Ge[Ve.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Ge[Ve.PRERELEASEIDENTIFIERLOOSE]})*))`);Mt("BUILDIDENTIFIER",`${p$}+`);Mt("BUILD",`(?:\\+(${Ge[Ve.BUILDIDENTIFIER]}(?:\\.${Ge[Ve.BUILDIDENTIFIER]})*))`);Mt("FULLPLAIN",`v?${Ge[Ve.MAINVERSION]}${Ge[Ve.PRERELEASE]}?${Ge[Ve.BUILD]}?`);Mt("FULL",`^${Ge[Ve.FULLPLAIN]}$`);Mt("LOOSEPLAIN",`[v=\\s]*${Ge[Ve.MAINVERSIONLOOSE]}${Ge[Ve.PRERELEASELOOSE]}?${Ge[Ve.BUILD]}?`);Mt("LOOSE",`^${Ge[Ve.LOOSEPLAIN]}$`);Mt("GTLT","((?:<|>)?=?)");Mt("XRANGEIDENTIFIERLOOSE",`${Ge[Ve.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Mt("XRANGEIDENTIFIER",`${Ge[Ve.NUMERICIDENTIFIER]}|x|X|\\*`);Mt("XRANGEPLAIN",`[v=\\s]*(${Ge[Ve.XRANGEIDENTIFIER]})(?:\\.(${Ge[Ve.XRANGEIDENTIFIER]})(?:\\.(${Ge[Ve.XRANGEIDENTIFIER]})(?:${Ge[Ve.PRERELEASE]})?${Ge[Ve.BUILD]}?)?)?`);Mt("XRANGEPLAINLOOSE",`[v=\\s]*(${Ge[Ve.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ge[Ve.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ge[Ve.XRANGEIDENTIFIERLOOSE]})(?:${Ge[Ve.PRERELEASELOOSE]})?${Ge[Ve.BUILD]}?)?)?`);Mt("XRANGE",`^${Ge[Ve.GTLT]}\\s*${Ge[Ve.XRANGEPLAIN]}$`);Mt("XRANGELOOSE",`^${Ge[Ve.GTLT]}\\s*${Ge[Ve.XRANGEPLAINLOOSE]}$`);Mt("COERCEPLAIN",`(^|[^\\d])(\\d{1,${f$}})(?:\\.(\\d{1,${f$}}))?(?:\\.(\\d{1,${f$}}))?`);Mt("COERCE",`${Ge[Ve.COERCEPLAIN]}(?:$|[^\\d])`);Mt("COERCEFULL",Ge[Ve.COERCEPLAIN]+`(?:${Ge[Ve.PRERELEASE]})?(?:${Ge[Ve.BUILD]})?(?:$|[^\\d])`);Mt("COERCERTL",Ge[Ve.COERCE],!0);Mt("COERCERTLFULL",Ge[Ve.COERCEFULL],!0);Mt("LONETILDE","(?:~>?)");Mt("TILDETRIM",`(\\s*)${Ge[Ve.LONETILDE]}\\s+`,!0);Vu.tildeTrimReplace="$1~";Mt("TILDE",`^${Ge[Ve.LONETILDE]}${Ge[Ve.XRANGEPLAIN]}$`);Mt("TILDELOOSE",`^${Ge[Ve.LONETILDE]}${Ge[Ve.XRANGEPLAINLOOSE]}$`);Mt("LONECARET","(?:\\^)");Mt("CARETTRIM",`(\\s*)${Ge[Ve.LONECARET]}\\s+`,!0);Vu.caretTrimReplace="$1^";Mt("CARET",`^${Ge[Ve.LONECARET]}${Ge[Ve.XRANGEPLAIN]}$`);Mt("CARETLOOSE",`^${Ge[Ve.LONECARET]}${Ge[Ve.XRANGEPLAINLOOSE]}$`);Mt("COMPARATORLOOSE",`^${Ge[Ve.GTLT]}\\s*(${Ge[Ve.LOOSEPLAIN]})$|^$`);Mt("COMPARATOR",`^${Ge[Ve.GTLT]}\\s*(${Ge[Ve.FULLPLAIN]})$|^$`);Mt("COMPARATORTRIM",`(\\s*)${Ge[Ve.GTLT]}\\s*(${Ge[Ve.LOOSEPLAIN]}|${Ge[Ve.XRANGEPLAIN]})`,!0);Vu.comparatorTrimReplace="$1$2$3";Mt("HYPHENRANGE",`^\\s*(${Ge[Ve.XRANGEPLAIN]})\\s+-\\s+(${Ge[Ve.XRANGEPLAIN]})\\s*$`);Mt("HYPHENRANGELOOSE",`^\\s*(${Ge[Ve.XRANGEPLAINLOOSE]})\\s+-\\s+(${Ge[Ve.XRANGEPLAINLOOSE]})\\s*$`);Mt("STAR","(<|>)?=?\\s*\\*");Mt("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Mt("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var TN=E((tDr,ZAe)=>{"use strict";var KTt=Object.freeze({loose:!0}),YTt=Object.freeze({}),JTt=t=>t?typeof t!="object"?KTt:t:YTt;ZAe.exports=JTt});var m$=E((rDr,rye)=>{"use strict";var eye=/^[0-9]+$/,tye=(t,e)=>{if(typeof t=="number"&&typeof e=="number")return t===e?0:t<e?-1:1;let r=eye.test(t),n=eye.test(e);return r&&n&&(t=+t,e=+e),t===e?0:r&&!n?-1:n&&!r?1:t<e?-1:1},XTt=(t,e)=>tye(e,t);rye.exports={compareIdentifiers:tye,rcompareIdentifiers:XTt}});var Ni=E((nDr,sye)=>{"use strict";var wN=V1(),{MAX_LENGTH:nye,MAX_SAFE_INTEGER:RN}=G1(),{safeRe:NN,t:ON}=iy(),ZTt=TN(),{compareIdentifiers:h$}=m$(),g$=class t{constructor(e,r){if(r=ZTt(r),e instanceof t){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>nye)throw new TypeError(`version is longer than ${nye} characters`);wN("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let n=e.trim().match(r.loose?NN[ON.LOOSE]:NN[ON.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>RN||this.major<0)throw new TypeError("Invalid major version");if(this.minor>RN||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>RN||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&i<RN)return i}return s}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(wN("SemVer.compare",this.version,this.options,e),!(e instanceof t)){if(typeof e=="string"&&e===this.version)return 0;e=new t(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof t||(e=new t(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof t||(e=new t(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let n=this.prerelease[r],s=e.prerelease[r];if(wN("prerelease compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return h$(n,s)}while(++r)}compareBuild(e){e instanceof t||(e=new t(e,this.options));let r=0;do{let n=this.build[r],s=e.build[r];if(wN("build compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return h$(n,s)}while(++r)}inc(e,r,n){if(e.startsWith("pre")){if(!r&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(r){let s=`-${r}`.match(this.options.loose?NN[ON.PRERELEASELOOSE]:NN[ON.PRERELEASE]);if(!s||s[1]!==r)throw new Error(`invalid identifier: ${r}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,n),this.inc("pre",r,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,n),this.inc("pre",r,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let s=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(r){let i=[r,s];n===!1&&(i=[r]),h$(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};sye.exports=g$});var Lm=E((sDr,aye)=>{"use strict";var iye=Ni(),ewt=(t,e,r=!1)=>{if(t instanceof iye)return t;try{return new iye(t,e)}catch(n){if(!r)return null;throw n}};aye.exports=ewt});var cye=E((iDr,oye)=>{"use strict";var twt=Lm(),rwt=(t,e)=>{let r=twt(t,e);return r?r.version:null};oye.exports=rwt});var lye=E((aDr,uye)=>{"use strict";var nwt=Lm(),swt=(t,e)=>{let r=nwt(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};uye.exports=swt});var pye=E((oDr,fye)=>{"use strict";var dye=Ni(),iwt=(t,e,r,n,s)=>{typeof r=="string"&&(s=n,n=r,r=void 0);try{return new dye(t instanceof dye?t.version:t,r).inc(e,n,s).version}catch{return null}};fye.exports=iwt});var gye=E((cDr,hye)=>{"use strict";var mye=Lm(),awt=(t,e)=>{let r=mye(t,null,!0),n=mye(e,null,!0),s=r.compare(n);if(s===0)return null;let i=s>0,a=i?r:n,o=i?n:r,c=!!a.prerelease.length;if(!!o.prerelease.length&&!c){if(!o.patch&&!o.minor)return"major";if(o.compareMain(a)===0)return o.minor&&!o.patch?"minor":"patch"}let l=c?"pre":"";return r.major!==n.major?l+"major":r.minor!==n.minor?l+"minor":r.patch!==n.patch?l+"patch":"prerelease"};hye.exports=awt});var yye=E((uDr,Aye)=>{"use strict";var owt=Ni(),cwt=(t,e)=>new owt(t,e).major;Aye.exports=cwt});var bye=E((lDr,xye)=>{"use strict";var uwt=Ni(),lwt=(t,e)=>new uwt(t,e).minor;xye.exports=lwt});var _ye=E((dDr,Eye)=>{"use strict";var dwt=Ni(),fwt=(t,e)=>new dwt(t,e).patch;Eye.exports=fwt});var vye=E((fDr,Sye)=>{"use strict";var pwt=Lm(),mwt=(t,e)=>{let r=pwt(t,e);return r&&r.prerelease.length?r.prerelease:null};Sye.exports=mwt});var Ko=E((pDr,Iye)=>{"use strict";var Cye=Ni(),hwt=(t,e,r)=>new Cye(t,r).compare(new Cye(e,r));Iye.exports=hwt});var wye=E((mDr,Tye)=>{"use strict";var gwt=Ko(),Awt=(t,e,r)=>gwt(e,t,r);Tye.exports=Awt});var Nye=E((hDr,Rye)=>{"use strict";var ywt=Ko(),xwt=(t,e)=>ywt(t,e,!0);Rye.exports=xwt});var PN=E((gDr,Pye)=>{"use strict";var Oye=Ni(),bwt=(t,e,r)=>{let n=new Oye(t,r),s=new Oye(e,r);return n.compare(s)||n.compareBuild(s)};Pye.exports=bwt});var kye=E((ADr,Dye)=>{"use strict";var Ewt=PN(),_wt=(t,e)=>t.sort((r,n)=>Ewt(r,n,e));Dye.exports=_wt});var Bye=E((yDr,Lye)=>{"use strict";var Swt=PN(),vwt=(t,e)=>t.sort((r,n)=>Swt(n,r,e));Lye.exports=vwt});var z1=E((xDr,Mye)=>{"use strict";var Cwt=Ko(),Iwt=(t,e,r)=>Cwt(t,e,r)>0;Mye.exports=Iwt});var DN=E((bDr,Wye)=>{"use strict";var Twt=Ko(),wwt=(t,e,r)=>Twt(t,e,r)<0;Wye.exports=wwt});var A$=E((EDr,$ye)=>{"use strict";var Rwt=Ko(),Nwt=(t,e,r)=>Rwt(t,e,r)===0;$ye.exports=Nwt});var y$=E((_Dr,Fye)=>{"use strict";var Owt=Ko(),Pwt=(t,e,r)=>Owt(t,e,r)!==0;Fye.exports=Pwt});var kN=E((SDr,Uye)=>{"use strict";var Dwt=Ko(),kwt=(t,e,r)=>Dwt(t,e,r)>=0;Uye.exports=kwt});var LN=E((vDr,qye)=>{"use strict";var Lwt=Ko(),Bwt=(t,e,r)=>Lwt(t,e,r)<=0;qye.exports=Bwt});var x$=E((CDr,jye)=>{"use strict";var Mwt=A$(),Wwt=y$(),$wt=z1(),Fwt=kN(),Uwt=DN(),qwt=LN(),jwt=(t,e,r,n)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Mwt(t,r,n);case"!=":return Wwt(t,r,n);case">":return $wt(t,r,n);case">=":return Fwt(t,r,n);case"<":return Uwt(t,r,n);case"<=":return qwt(t,r,n);default:throw new TypeError(`Invalid operator: ${e}`)}};jye.exports=jwt});var Qye=E((IDr,Hye)=>{"use strict";var Hwt=Ni(),Qwt=Lm(),{safeRe:BN,t:MN}=iy(),Gwt=(t,e)=>{if(t instanceof Hwt)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(e.includePrerelease?BN[MN.COERCEFULL]:BN[MN.COERCE]);else{let c=e.includePrerelease?BN[MN.COERCERTLFULL]:BN[MN.COERCERTL],u;for(;(u=c.exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||u.index+u[0].length!==r.index+r[0].length)&&(r=u),c.lastIndex=u.index+u[1].length+u[2].length;c.lastIndex=-1}if(r===null)return null;let n=r[2],s=r[3]||"0",i=r[4]||"0",a=e.includePrerelease&&r[5]?`-${r[5]}`:"",o=e.includePrerelease&&r[6]?`+${r[6]}`:"";return Qwt(`${n}.${s}.${i}${a}${o}`,e)};Hye.exports=Gwt});var Vye=E((TDr,Gye)=>{"use strict";var b$=class{constructor(){this.max=1e3,this.map=new Map}get(e){let r=this.map.get(e);if(r!==void 0)return this.map.delete(e),this.map.set(e,r),r}delete(e){return this.map.delete(e)}set(e,r){if(!this.delete(e)&&r!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,r)}return this}};Gye.exports=b$});var Yo=E((wDr,Jye)=>{"use strict";var Vwt=/\s+/g,E$=class t{constructor(e,r){if(r=Kwt(r),e instanceof t)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new t(e.raw,r);if(e instanceof _$)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().replace(Vwt," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(s=>!Kye(s[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&r2t(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let r=this.set[e];for(let n=0;n<r.length;n++)n>0&&(this.formatted+=" "),this.formatted+=r[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let n=((this.options.includePrerelease&&e2t)|(this.options.loose&&t2t))+":"+e,s=zye.get(n);if(s)return s;let i=this.options.loose,a=i?ra[Oi.HYPHENRANGELOOSE]:ra[Oi.HYPHENRANGE];e=e.replace(a,f2t(this.options.includePrerelease)),On("hyphen replace",e),e=e.replace(ra[Oi.COMPARATORTRIM],Jwt),On("comparator trim",e),e=e.replace(ra[Oi.TILDETRIM],Xwt),On("tilde trim",e),e=e.replace(ra[Oi.CARETTRIM],Zwt),On("caret trim",e);let o=e.split(" ").map(d=>n2t(d,this.options)).join(" ").split(/\s+/).map(d=>d2t(d,this.options));i&&(o=o.filter(d=>(On("loose invalid filter",d,this.options),!!d.match(ra[Oi.COMPARATORLOOSE])))),On("range list",o);let c=new Map,u=o.map(d=>new _$(d,this.options));for(let d of u){if(Kye(d))return[d];c.set(d.value,d)}c.size>1&&c.has("")&&c.delete("");let l=[...c.values()];return zye.set(n,l),l}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Range is required");return this.set.some(n=>Yye(n,r)&&e.set.some(s=>Yye(s,r)&&n.every(i=>s.every(a=>i.intersects(a,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Ywt(e,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(p2t(this.set[r],e,this.options))return!0;return!1}};Jye.exports=E$;var zwt=Vye(),zye=new zwt,Kwt=TN(),_$=K1(),On=V1(),Ywt=Ni(),{safeRe:ra,t:Oi,comparatorTrimReplace:Jwt,tildeTrimReplace:Xwt,caretTrimReplace:Zwt}=iy(),{FLAG_INCLUDE_PRERELEASE:e2t,FLAG_LOOSE:t2t}=G1(),Kye=t=>t.value==="<0.0.0-0",r2t=t=>t.value==="",Yye=(t,e)=>{let r=!0,n=t.slice(),s=n.pop();for(;r&&n.length;)r=n.every(i=>s.intersects(i,e)),s=n.pop();return r},n2t=(t,e)=>(t=t.replace(ra[Oi.BUILD],""),On("comp",t,e),t=a2t(t,e),On("caret",t),t=s2t(t,e),On("tildes",t),t=c2t(t,e),On("xrange",t),t=l2t(t,e),On("stars",t),t),na=t=>!t||t.toLowerCase()==="x"||t==="*",s2t=(t,e)=>t.trim().split(/\s+/).map(r=>i2t(r,e)).join(" "),i2t=(t,e)=>{let r=e.loose?ra[Oi.TILDELOOSE]:ra[Oi.TILDE];return t.replace(r,(n,s,i,a,o)=>{On("tilde",t,n,s,i,a,o);let c;return na(s)?c="":na(i)?c=`>=${s}.0.0 <${+s+1}.0.0-0`:na(a)?c=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:o?(On("replaceTilde pr",o),c=`>=${s}.${i}.${a}-${o} <${s}.${+i+1}.0-0`):c=`>=${s}.${i}.${a} <${s}.${+i+1}.0-0`,On("tilde return",c),c})},a2t=(t,e)=>t.trim().split(/\s+/).map(r=>o2t(r,e)).join(" "),o2t=(t,e)=>{On("caret",t,e);let r=e.loose?ra[Oi.CARETLOOSE]:ra[Oi.CARET],n=e.includePrerelease?"-0":"";return t.replace(r,(s,i,a,o,c)=>{On("caret",t,s,i,a,o,c);let u;return na(i)?u="":na(a)?u=`>=${i}.0.0${n} <${+i+1}.0.0-0`:na(o)?i==="0"?u=`>=${i}.${a}.0${n} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.0${n} <${+i+1}.0.0-0`:c?(On("replaceCaret pr",c),i==="0"?a==="0"?u=`>=${i}.${a}.${o}-${c} <${i}.${a}.${+o+1}-0`:u=`>=${i}.${a}.${o}-${c} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.${o}-${c} <${+i+1}.0.0-0`):(On("no pr"),i==="0"?a==="0"?u=`>=${i}.${a}.${o}${n} <${i}.${a}.${+o+1}-0`:u=`>=${i}.${a}.${o}${n} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.${o} <${+i+1}.0.0-0`),On("caret return",u),u})},c2t=(t,e)=>(On("replaceXRanges",t,e),t.split(/\s+/).map(r=>u2t(r,e)).join(" ")),u2t=(t,e)=>{t=t.trim();let r=e.loose?ra[Oi.XRANGELOOSE]:ra[Oi.XRANGE];return t.replace(r,(n,s,i,a,o,c)=>{On("xRange",t,n,s,i,a,o,c);let u=na(i),l=u||na(a),d=l||na(o),f=d;return s==="="&&f&&(s=""),c=e.includePrerelease?"-0":"",u?s===">"||s==="<"?n="<0.0.0-0":n="*":s&&f?(l&&(a=0),o=0,s===">"?(s=">=",l?(i=+i+1,a=0,o=0):(a=+a+1,o=0)):s==="<="&&(s="<",l?i=+i+1:a=+a+1),s==="<"&&(c="-0"),n=`${s+i}.${a}.${o}${c}`):l?n=`>=${i}.0.0${c} <${+i+1}.0.0-0`:d&&(n=`>=${i}.${a}.0${c} <${i}.${+a+1}.0-0`),On("xRange return",n),n})},l2t=(t,e)=>(On("replaceStars",t,e),t.trim().replace(ra[Oi.STAR],"")),d2t=(t,e)=>(On("replaceGTE0",t,e),t.trim().replace(ra[e.includePrerelease?Oi.GTE0PRE:Oi.GTE0],"")),f2t=t=>(e,r,n,s,i,a,o,c,u,l,d,f)=>(na(n)?r="":na(s)?r=`>=${n}.0.0${t?"-0":""}`:na(i)?r=`>=${n}.${s}.0${t?"-0":""}`:a?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,na(u)?c="":na(l)?c=`<${+u+1}.0.0-0`:na(d)?c=`<${u}.${+l+1}.0-0`:f?c=`<=${u}.${l}.${d}-${f}`:t?c=`<${u}.${l}.${+d+1}-0`:c=`<=${c}`,`${r} ${c}`.trim()),p2t=(t,e,r)=>{for(let n=0;n<t.length;n++)if(!t[n].test(e))return!1;if(e.prerelease.length&&!r.includePrerelease){for(let n=0;n<t.length;n++)if(On(t[n].semver),t[n].semver!==_$.ANY&&t[n].semver.prerelease.length>0){let s=t[n].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var K1=E((RDr,nxe)=>{"use strict";var Y1=Symbol("SemVer ANY"),C$=class t{static get ANY(){return Y1}constructor(e,r){if(r=Xye(r),e instanceof t){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),v$("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Y1?this.value="":this.value=this.operator+this.semver.version,v$("comp",this)}parse(e){let r=this.options.loose?Zye[exe.COMPARATORLOOSE]:Zye[exe.COMPARATOR],n=e.match(r);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new txe(n[2],this.options.loose):this.semver=Y1}toString(){return this.value}test(e){if(v$("Comparator.test",e,this.options.loose),this.semver===Y1||e===Y1)return!0;if(typeof e=="string")try{e=new txe(e,this.options)}catch{return!1}return S$(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new rxe(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new rxe(this.value,r).test(e.semver):(r=Xye(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||S$(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||S$(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};nxe.exports=C$;var Xye=TN(),{safeRe:Zye,t:exe}=iy(),S$=x$(),v$=V1(),txe=Ni(),rxe=Yo()});var J1=E((NDr,sxe)=>{"use strict";var m2t=Yo(),h2t=(t,e,r)=>{try{e=new m2t(e,r)}catch{return!1}return e.test(t)};sxe.exports=h2t});var axe=E((ODr,ixe)=>{"use strict";var g2t=Yo(),A2t=(t,e)=>new g2t(t,e).set.map(r=>r.map(n=>n.value).join(" ").trim().split(" "));ixe.exports=A2t});var cxe=E((PDr,oxe)=>{"use strict";var y2t=Ni(),x2t=Yo(),b2t=(t,e,r)=>{let n=null,s=null,i=null;try{i=new x2t(e,r)}catch{return null}return t.forEach(a=>{i.test(a)&&(!n||s.compare(a)===-1)&&(n=a,s=new y2t(n,r))}),n};oxe.exports=b2t});var lxe=E((DDr,uxe)=>{"use strict";var E2t=Ni(),_2t=Yo(),S2t=(t,e,r)=>{let n=null,s=null,i=null;try{i=new _2t(e,r)}catch{return null}return t.forEach(a=>{i.test(a)&&(!n||s.compare(a)===1)&&(n=a,s=new E2t(n,r))}),n};uxe.exports=S2t});var pxe=E((kDr,fxe)=>{"use strict";var I$=Ni(),v2t=Yo(),dxe=z1(),C2t=(t,e)=>{t=new v2t(t,e);let r=new I$("0.0.0");if(t.test(r)||(r=new I$("0.0.0-0"),t.test(r)))return r;r=null;for(let n=0;n<t.set.length;++n){let s=t.set[n],i=null;s.forEach(a=>{let o=new I$(a.semver.version);switch(a.operator){case">":o.prerelease.length===0?o.patch++:o.prerelease.push(0),o.raw=o.format();case"":case">=":(!i||dxe(o,i))&&(i=o);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),i&&(!r||dxe(r,i))&&(r=i)}return r&&t.test(r)?r:null};fxe.exports=C2t});var hxe=E((LDr,mxe)=>{"use strict";var I2t=Yo(),T2t=(t,e)=>{try{return new I2t(t,e).range||"*"}catch{return null}};mxe.exports=T2t});var WN=E((BDr,xxe)=>{"use strict";var w2t=Ni(),yxe=K1(),{ANY:R2t}=yxe,N2t=Yo(),O2t=J1(),gxe=z1(),Axe=DN(),P2t=LN(),D2t=kN(),k2t=(t,e,r,n)=>{t=new w2t(t,n),e=new N2t(e,n);let s,i,a,o,c;switch(r){case">":s=gxe,i=P2t,a=Axe,o=">",c=">=";break;case"<":s=Axe,i=D2t,a=gxe,o="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(O2t(t,e,n))return!1;for(let u=0;u<e.set.length;++u){let l=e.set[u],d=null,f=null;if(l.forEach(p=>{p.semver===R2t&&(p=new yxe(">=0.0.0")),d=d||p,f=f||p,s(p.semver,d.semver,n)?d=p:a(p.semver,f.semver,n)&&(f=p)}),d.operator===o||d.operator===c||(!f.operator||f.operator===o)&&i(t,f.semver))return!1;if(f.operator===c&&a(t,f.semver))return!1}return!0};xxe.exports=k2t});var Exe=E((MDr,bxe)=>{"use strict";var L2t=WN(),B2t=(t,e,r)=>L2t(t,e,">",r);bxe.exports=B2t});var Sxe=E((WDr,_xe)=>{"use strict";var M2t=WN(),W2t=(t,e,r)=>M2t(t,e,"<",r);_xe.exports=W2t});var Ixe=E(($Dr,Cxe)=>{"use strict";var vxe=Yo(),$2t=(t,e,r)=>(t=new vxe(t,r),e=new vxe(e,r),t.intersects(e,r));Cxe.exports=$2t});var wxe=E((FDr,Txe)=>{"use strict";var F2t=J1(),U2t=Ko();Txe.exports=(t,e,r)=>{let n=[],s=null,i=null,a=t.sort((l,d)=>U2t(l,d,r));for(let l of a)F2t(l,e,r)?(i=l,s||(s=l)):(i&&n.push([s,i]),i=null,s=null);s&&n.push([s,null]);let o=[];for(let[l,d]of n)l===d?o.push(l):!d&&l===a[0]?o.push("*"):d?l===a[0]?o.push(`<=${d}`):o.push(`${l} - ${d}`):o.push(`>=${l}`);let c=o.join(" || "),u=typeof e.raw=="string"?e.raw:String(e);return c.length<u.length?c:e}});var kxe=E((UDr,Dxe)=>{"use strict";var Rxe=Yo(),w$=K1(),{ANY:T$}=w$,X1=J1(),R$=Ko(),q2t=(t,e,r={})=>{if(t===e)return!0;t=new Rxe(t,r),e=new Rxe(e,r);let n=!1;e:for(let s of t.set){for(let i of e.set){let a=H2t(s,i,r);if(n=n||a!==null,a)continue e}if(n)return!1}return!0},j2t=[new w$(">=0.0.0-0")],Nxe=[new w$(">=0.0.0")],H2t=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===T$){if(e.length===1&&e[0].semver===T$)return!0;r.includePrerelease?t=j2t:t=Nxe}if(e.length===1&&e[0].semver===T$){if(r.includePrerelease)return!0;e=Nxe}let n=new Set,s,i;for(let p of t)p.operator===">"||p.operator===">="?s=Oxe(s,p,r):p.operator==="<"||p.operator==="<="?i=Pxe(i,p,r):n.add(p.semver);if(n.size>1)return null;let a;if(s&&i){if(a=R$(s.semver,i.semver,r),a>0)return null;if(a===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let p of n){if(s&&!X1(p,String(s),r)||i&&!X1(p,String(i),r))return null;for(let m of e)if(!X1(p,String(m),r))return!1;return!0}let o,c,u,l,d=i&&!r.includePrerelease&&i.semver.prerelease.length?i.semver:!1,f=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1;d&&d.prerelease.length===1&&i.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let p of e){if(l=l||p.operator===">"||p.operator===">=",u=u||p.operator==="<"||p.operator==="<=",s){if(f&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===f.major&&p.semver.minor===f.minor&&p.semver.patch===f.patch&&(f=!1),p.operator===">"||p.operator===">="){if(o=Oxe(s,p,r),o===p&&o!==s)return!1}else if(s.operator===">="&&!X1(s.semver,String(p),r))return!1}if(i){if(d&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===d.major&&p.semver.minor===d.minor&&p.semver.patch===d.patch&&(d=!1),p.operator==="<"||p.operator==="<="){if(c=Pxe(i,p,r),c===p&&c!==i)return!1}else if(i.operator==="<="&&!X1(i.semver,String(p),r))return!1}if(!p.operator&&(i||s)&&a!==0)return!1}return!(s&&u&&!i&&a!==0||i&&l&&!s&&a!==0||f||d)},Oxe=(t,e,r)=>{if(!t)return e;let n=R$(t.semver,e.semver,r);return n>0?t:n<0||e.operator===">"&&t.operator===">="?e:t},Pxe=(t,e,r)=>{if(!t)return e;let n=R$(t.semver,e.semver,r);return n<0?t:n>0||e.operator==="<"&&t.operator==="<="?e:t};Dxe.exports=q2t});var O$=E((qDr,Mxe)=>{"use strict";var N$=iy(),Lxe=G1(),Q2t=Ni(),Bxe=m$(),G2t=Lm(),V2t=cye(),z2t=lye(),K2t=pye(),Y2t=gye(),J2t=yye(),X2t=bye(),Z2t=_ye(),eRt=vye(),tRt=Ko(),rRt=wye(),nRt=Nye(),sRt=PN(),iRt=kye(),aRt=Bye(),oRt=z1(),cRt=DN(),uRt=A$(),lRt=y$(),dRt=kN(),fRt=LN(),pRt=x$(),mRt=Qye(),hRt=K1(),gRt=Yo(),ARt=J1(),yRt=axe(),xRt=cxe(),bRt=lxe(),ERt=pxe(),_Rt=hxe(),SRt=WN(),vRt=Exe(),CRt=Sxe(),IRt=Ixe(),TRt=wxe(),wRt=kxe();Mxe.exports={parse:G2t,valid:V2t,clean:z2t,inc:K2t,diff:Y2t,major:J2t,minor:X2t,patch:Z2t,prerelease:eRt,compare:tRt,rcompare:rRt,compareLoose:nRt,compareBuild:sRt,sort:iRt,rsort:aRt,gt:oRt,lt:cRt,eq:uRt,neq:lRt,gte:dRt,lte:fRt,cmp:pRt,coerce:mRt,Comparator:hRt,Range:gRt,satisfies:ARt,toComparators:yRt,maxSatisfying:xRt,minSatisfying:bRt,minVersion:ERt,validRange:_Rt,outside:SRt,gtr:vRt,ltr:CRt,intersects:IRt,simplifyRange:TRt,subset:wRt,SemVer:Q2t,re:N$.re,src:N$.src,tokens:N$.t,SEMVER_SPEC_VERSION:Lxe.SEMVER_SPEC_VERSION,RELEASE_TYPES:Lxe.RELEASE_TYPES,compareIdentifiers:Bxe.compareIdentifiers,rcompareIdentifiers:Bxe.rcompareIdentifiers}});var FN=E((jDr,L$)=>{"use strict";var $N=KAe(),RRt=O$(),{FSTDEP005:NRt,FSTDEP012:ORt,FSTDEP015:PRt,FSTDEP016:DRt,FSTDEP017:kRt,FSTDEP018:LRt}=cd(),{kHasBeenDecorated:BRt,kSchemaBody:MRt,kSchemaHeaders:WRt,kSchemaParams:$Rt,kSchemaQuerystring:Wxe,kSchemaController:P$,kOptions:FRt,kRequestCacheValidateFns:Sp,kRouteContext:us,kPublicRouteContext:$xe,kRequestOriginalUrl:D$}=Qs(),{FST_ERR_REQ_INVALID_VALIDATION_INVOCATION:URt}=Ci(),Fxe={body:MRt,headers:WRt,params:$Rt,querystring:Wxe,query:Wxe};function k$(t,e,r,n,s,i){this.id=t,this[us]=i,this.params=e,this.raw=r,this.query=n,this.log=s,this.body=void 0}k$.props=[];function qRt(t){if(typeof t=="function")return t;if(t===!0)return function(){return!0};if(typeof t=="number")return function(e,r){return r<t};if(typeof t=="string"){let e=t.split(",").map(r=>r.trim());return $N.compile(e)}return $N.compile(t)}function jRt(t,e){return e?HRt(t,e):qxe(t)}function qxe(t){let e=t.props.slice();function r(n,s,i,a,o,c){this.id=n,this[us]=c,this.params=s,this.raw=i,this.query=a,this.log=o,this.body=void 0;for(var u,l=0;l<e.length;l++)u=e[l],this[u.key]=u.value}return Object.setPrototypeOf(r.prototype,t.prototype),Object.setPrototypeOf(r,t),r.props=e,r.parent=t,r}function Uxe(t){let e=t.lastIndexOf(",");return e===-1?t.trim():t.slice(e+1).trim()}function HRt(t,e){let r=qxe(t),n=qRt(e);return r[BRt]=!0,Object.defineProperties(r.prototype,{ip:{get(){return $N(this.raw,n)}},ips:{get(){return $N.all(this.raw,n)}},hostname:{get(){return this.ip!==void 0&&this.headers["x-forwarded-host"]?Uxe(this.headers["x-forwarded-host"]):this.headers.host||this.headers[":authority"]}},protocol:{get(){if(this.headers["x-forwarded-proto"])return Uxe(this.headers["x-forwarded-proto"]);if(this.socket)return this.socket.encrypted?"https":"http"}}}),r}Object.defineProperties(k$.prototype,{server:{get(){return this[us].server}},url:{get(){return this.raw.url}},originalUrl:{get(){return this[D$]||(this[D$]=this.raw.originalUrl||this.raw.url),this[D$]}},method:{get(){return this.raw.method}},context:{get(){return ORt(),this[us]}},routerPath:{get(){return kRt(),this[us].config?.url}},routeOptions:{get(){let t=this[us],e=t._parserOptions.limit,r=t.server.initialConfig.bodyLimit,n=t.server.hasConstraintStrategy("version")?this.raw.headers["accept-version"]:void 0,s={method:t.config?.method,url:t.config?.url,bodyLimit:e||r,attachValidation:t.attachValidation,logLevel:t.logLevel,exposeHeadRoute:t.exposeHeadRoute,prefixTrailingSlash:t.prefixTrailingSlash,handler:t.handler,version:n};return Object.defineProperties(s,{config:{get:()=>t.config},schema:{get:()=>t.schema}}),Object.freeze(s)}},routerMethod:{get(){return LRt(),this[us].config?.method}},routeConfig:{get(){return DRt(),this[us][$xe]?.config}},routeSchema:{get(){return PRt(),this[us][$xe].schema}},is404:{get(){return this[us].config?.url===void 0}},connection:{get(){return RRt.gte(process.versions.node,"13.0.0")&&NRt(),this.raw.connection}},socket:{get(){return this.raw.socket}},ip:{get(){if(this.socket)return this.socket.remoteAddress}},hostname:{get(){return this.raw.headers.host||this.raw.headers[":authority"]}},protocol:{get(){if(this.socket)return this.socket.encrypted?"https":"http"}},headers:{get(){return this.additionalHeaders?Object.assign({},this.raw.headers,this.additionalHeaders):this.raw.headers},set(t){this.additionalHeaders=t}},getValidationFunction:{value:function(t){if(typeof t=="string"){let e=Fxe[t];return this[us][e]}else if(typeof t=="object")return this[us][Sp]?.get(t)}},compileValidationSchema:{value:function(t,e=null){let{method:r,url:n}=this;if(this[us][Sp]?.has(t))return this[us][Sp].get(t);let i=(this[us].validatorCompiler||this.server[P$].validatorCompiler||this.server[P$].setupValidator(this.server[FRt])||this.server[P$].validatorCompiler)({schema:t,method:r,url:n,httpPart:e});return this[us][Sp]==null&&(this[us][Sp]=new WeakMap),this[us][Sp].set(t,i),i}},validateInput:{value:function(t,e,r){r=typeof e=="string"?e:r;let n=r!=null&&typeof r=="string"&&Fxe[r],s;if(n&&(s=this[us][n]),s==null&&(e==null||typeof e!="object"||Array.isArray(e)))throw new URt(r);return s==null&&(this[us][Sp]?.has(e)?s=this[us][Sp].get(e):s=this.compileValidationSchema(e,r)),s(t)}}});L$.exports=k$;L$.exports.buildRequest=jRt});var UN=E((HDr,jxe)=>{"use strict";var{kFourOhFourContext:QRt,kReplySerializerDefault:GRt,kSchemaErrorFormatter:VRt,kErrorHandler:zRt,kChildLoggerFactory:KRt,kOptions:YRt,kReply:JRt,kRequest:XRt,kBodyLimit:ZRt,kLogLevel:eNt,kContentTypeParser:tNt,kRouteByFastify:rNt,kRequestCacheValidateFns:nNt,kReplyCacheSerializeFns:sNt,kPublicRouteContext:iNt}=Qs();function aNt({schema:t,handler:e,config:r,requestIdLogLabel:n,childLoggerFactory:s,errorHandler:i,bodyLimit:a,logLevel:o,logSerializers:c,attachValidation:u,validatorCompiler:l,serializerCompiler:d,replySerializer:f,schemaErrorFormatter:p,exposeHeadRoute:m,prefixTrailingSlash:h,server:A,isFastify:g}){this.schema=t,this.handler=e,this.Reply=A[JRt],this.Request=A[XRt],this.contentTypeParser=A[tNt],this.onRequest=null,this.onSend=null,this.onError=null,this.onTimeout=null,this.preHandler=null,this.onResponse=null,this.preSerialization=null,this.onRequestAbort=null,this.config=r,this.errorHandler=i||A[zRt],this.requestIdLogLabel=n||A[YRt].requestIdLogLabel,this.childLoggerFactory=s||A[KRt],this._middie=null,this._parserOptions={limit:a||A[ZRt]},this.exposeHeadRoute=m,this.prefixTrailingSlash=h,this.logLevel=o||A[eNt],this.logSerializers=c,this[QRt]=null,this.attachValidation=u,this[GRt]=f,this.schemaErrorFormatter=p||A[VRt]||cNt,this[rNt]=g,this[nNt]=null,this[sNt]=null,this.validatorCompiler=l||null,this.serializerCompiler=d||null,this[iNt]=oNt(this),this.server=A}function oNt(t){return Object.create(null,{schema:{enumerable:!0,get(){return t.schema}},config:{enumerable:!0,get(){return t.config}}})}function cNt(t,e){let r="",n=", ";for(var s=0;s!==t.length;++s){let i=t[s];r+=e+(i.instancePath||"")+" "+i.message+n}return new Error(r.slice(0,-n.length))}jxe.exports=aNt});var B$=E((QDr,Hxe)=>{"use strict";Hxe.exports={supportedMethods:["DELETE","GET","HEAD","PATCH","POST","PUT","OPTIONS","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","TRACE","SEARCH"]}});var U$=E((GDr,zxe)=>{"use strict";var{kReply:M$,kRequest:W$,kState:uNt,kHasBeenDecorated:lNt}=Qs(),{FST_ERR_DEC_ALREADY_PRESENT:Qxe,FST_ERR_DEC_MISSING_DEPENDENCY:dNt,FST_ERR_DEC_AFTER_START:fNt,FST_ERR_DEC_DEPENDENCY_INVALID_TYPE:pNt}=Ci(),{FSTDEP006:mNt}=cd();function hNt(t,e,r,n){if(Object.prototype.hasOwnProperty.call(t,e))throw new Qxe(e);$$(t,e,n),r&&(typeof r.getter=="function"||typeof r.setter=="function")?Object.defineProperty(t,e,{get:r.getter,set:r.setter}):t[e]=r}function Gxe(t,e,r,n){let s=t.prototype;if(Object.prototype.hasOwnProperty.call(s,e)||jN(t,e))throw new Qxe(e);t[lNt]=!0,$$(t,e,n),r&&(typeof r.getter=="function"||typeof r.setter=="function")?Object.defineProperty(s,e,{get:r.getter,set:r.setter}):typeof r=="function"?s[e]=r:t.props.push({key:e,value:r})}function Vxe(t,e){typeof e=="object"&&e&&!(typeof e.getter=="function"||typeof e.setter=="function")&&mNt(t)}function gNt(t,e,r){return F$(this,t),hNt(this,t,e,r),this}function qN(t,e){return e?e in t||t.prototype&&e in t.prototype||jN(t,e):t in this}function jN(t,e){return t.props?t.props.find(({key:r})=>r===e):!1}function ANt(t){return t&&jN(this[W$],t)?!0:qN(this[W$].prototype,t)}function yNt(t){return t&&jN(this[M$],t)?!0:qN(this[M$].prototype,t)}function $$(t,e,r){if(r!=null){if(!Array.isArray(r))throw new pNt(e);for(var n=0;n!==r.length;++n)if(!qN(t,r[n]))throw new dNt(r[n])}}function xNt(t,e,r){return F$(this,t),Vxe(t,e),Gxe(this[M$],t,e,r),this}function bNt(t,e,r){return F$(this,t),Vxe(t,e),Gxe(this[W$],t,e,r),this}function F$(t,e){if(t[uNt].started)throw new fNt(e)}zxe.exports={add:gNt,exist:qN,existRequest:ANt,existReply:yNt,dependencies:$$,decorateReply:xNt,decorateRequest:bNt}});var Yxe=E(zu=>{"use strict";var q$=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=new Map,this.last=null,this.max=e,this.ttl=r}get size(){return this.items.size}clear(){this.items=new Map,this.first=null,this.last=null}delete(e){if(this.items.has(e)){let r=this.items.get(e);this.items.delete(e),r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;this.items.delete(e.key),this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(this.items.has(e))return this.items.get(e).expiry}get(e){if(this.items.has(e)){let r=this.items.get(e);if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return this.items.keys()}set(e,r){if(this.items.has(e)){let s=this.items.get(e);s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items.set(e,n),this.size===1?this.first=n:this.last.next=n,this.last=n}},j$=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=new Map,this.last=null,this.max=e,this.ttl=r}get size(){return this.items.size}bumpLru(e){if(this.last===e)return;let r=this.last,n=e.next,s=e.prev;this.first===e&&(this.first=n),e.next=null,e.prev=r,r.next=e,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=e}clear(){this.items=new Map,this.first=null,this.last=null}delete(e){if(this.items.has(e)){let r=this.items.get(e);this.items.delete(e),r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;this.items.delete(e.key),this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(this.items.has(e))return this.items.get(e).expiry}get(e){if(this.items.has(e)){let r=this.items.get(e);if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return this.bumpLru(r),r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return this.items.keys()}set(e,r){if(this.items.has(e)){let s=this.items.get(e);s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.last!==s&&this.bumpLru(s);return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items.set(e,n),this.size===1?this.first=n:this.last.next=n,this.last=n}},Z1=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=e,this.ttl=r}bumpLru(e){if(this.last===e)return;let r=this.last,n=e.next,s=e.prev;this.first===e&&(this.first=n),e.next=null,e.prev=r,r.next=e,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=e}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];delete this.items[e],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;delete this.items[e.key],--this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(Object.prototype.hasOwnProperty.call(this.items,e))return this.items[e].expiry}get(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return this.bumpLru(r),r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return Object.keys(this.items)}set(e,r){if(Object.prototype.hasOwnProperty.call(this.items,e)){let s=this.items[e];s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.last!==s&&this.bumpLru(s);return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items[e]=n,++this.size===1?this.first=n:this.last.next=n,this.last=n}},HN=class{constructor(){this.records={}}initForCache(e,r){this.records[e]={[r]:{cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}}resetForCache(e){for(let r of Object.keys(this.records[e]))this.records[e][r]={cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}getStatistics(){return this.records}};function Kxe(t){return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}var H$=class{constructor(e,r,n){this.cacheId=e,this.statisticTtlInHours=r,this.collectionStart=new Date,this.currentTimeStamp=Kxe(this.collectionStart),this.records=n||new HN,this.records.initForCache(this.cacheId,this.currentTimeStamp)}get currentRecord(){return this.records.records[this.cacheId][this.currentTimeStamp]||(this.records.records[this.cacheId][this.currentTimeStamp]={cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,sets:0,invalidateOne:0,invalidateAll:0}),this.records.records[this.cacheId][this.currentTimeStamp]}hoursPassed(){return(Date.now()-this.collectionStart)/1e3/60/60}addHit(){this.archiveIfNeeded(),this.currentRecord.hits++}addFalsyHit(){this.archiveIfNeeded(),this.currentRecord.falsyHits++}addEmptyHit(){this.archiveIfNeeded(),this.currentRecord.emptyHits++}addMiss(){this.archiveIfNeeded(),this.currentRecord.misses++}addEviction(){this.archiveIfNeeded(),this.currentRecord.evictions++}setCacheSize(e){this.archiveIfNeeded(),this.currentRecord.cacheSize=e}addExpiration(){this.archiveIfNeeded(),this.currentRecord.expirations++}addSet(){this.archiveIfNeeded(),this.currentRecord.sets++}addInvalidateOne(){this.archiveIfNeeded(),this.currentRecord.invalidateOne++}addInvalidateAll(){this.archiveIfNeeded(),this.currentRecord.invalidateAll++}getStatistics(){return this.records.getStatistics()}archiveIfNeeded(){this.hoursPassed()>=this.statisticTtlInHours&&(this.collectionStart=new Date,this.currentTimeStamp=Kxe(this.collectionStart),this.records.initForCache(this.cacheId,this.currentTimeStamp))}},QN=class extends Z1{constructor(e,r,n,s,i){if(super(e||1e3,r||0),!n)throw new Error("Cache id is mandatory");this.hitStatistics=new H$(n,i!==void 0?i:24,s)}getStatistics(){return this.hitStatistics.getStatistics()}set(e,r){super.set(e,r),this.hitStatistics.addSet(),this.hitStatistics.setCacheSize(this.size)}evict(){super.evict(),this.hitStatistics.addEviction(),this.hitStatistics.setCacheSize(this.size)}delete(e,r=!1){super.delete(e),r||this.hitStatistics.addInvalidateOne(),this.hitStatistics.setCacheSize(this.size)}clear(){super.clear(),this.hitStatistics.addInvalidateAll(),this.hitStatistics.setCacheSize(this.size)}get(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e,!0),this.hitStatistics.addExpiration();return}return this.bumpLru(r),r.value||this.hitStatistics.addFalsyHit(),(r.value===void 0||r.value===null||r.value==="")&&this.hitStatistics.addEmptyHit(),this.hitStatistics.addHit(),r.value}this.hitStatistics.addMiss()}},GN=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=e,this.ttl=r}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];delete this.items[e],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;delete this.items[e.key],--this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(Object.prototype.hasOwnProperty.call(this.items,e))return this.items[e].expiry}get(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return Object.keys(this.items)}set(e,r){if(Object.prototype.hasOwnProperty.call(this.items,e)){let s=this.items[e];s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items[e]=n,++this.size===1?this.first=n:this.last.next=n,this.last=n}};zu.Fifo=GN;zu.FifoMap=q$;zu.FifoObject=GN;zu.HitStatisticsRecord=HN;zu.Lru=Z1;zu.LruHitStatistics=QN;zu.LruMap=j$;zu.LruObject=Z1;zu.LruObjectHitStatistics=QN});var ebe=E((zDr,e_)=>{"use strict";var KN=function(){};KN.prototype=Object.create(null);var VN=/; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu,zN=/\\([\v\u0020-\u00ff])/gu,Jxe=/^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u,Bm={type:"",parameters:new KN};Object.freeze(Bm.parameters);Object.freeze(Bm);function Xxe(t){if(typeof t!="string")throw new TypeError("argument header is required and must be a string");let e=t.indexOf(";"),r=e!==-1?t.slice(0,e).trim():t.trim();if(Jxe.test(r)===!1)throw new TypeError("invalid media type");let n={type:r.toLowerCase(),parameters:new KN};if(e===-1)return n;let s,i,a;for(VN.lastIndex=e;i=VN.exec(t);){if(i.index!==e)throw new TypeError("invalid parameter format");e+=i[0].length,s=i[1].toLowerCase(),a=i[2],a[0]==='"'&&(a=a.slice(1,a.length-1),zN.test(a)&&(a=a.replace(zN,"$1"))),n.parameters[s]=a}if(e!==t.length)throw new TypeError("invalid parameter format");return n}function Zxe(t){if(typeof t!="string")return Bm;let e=t.indexOf(";"),r=e!==-1?t.slice(0,e).trim():t.trim();if(Jxe.test(r)===!1)return Bm;let n={type:r.toLowerCase(),parameters:new KN};if(e===-1)return n;let s,i,a;for(VN.lastIndex=e;i=VN.exec(t);){if(i.index!==e)return Bm;e+=i[0].length,s=i[1].toLowerCase(),a=i[2],a[0]==='"'&&(a=a.slice(1,a.length-1),zN.test(a)&&(a=a.replace(zN,"$1"))),n.parameters[s]=a}return e!==t.length?Bm:n}e_.exports.default={parse:Xxe,safeParse:Zxe};e_.exports.parse=Xxe;e_.exports.safeParse=Zxe;e_.exports.defaultContentType=Bm});var ibe=E((KDr,ay)=>{"use strict";var ENt=typeof Buffer<"u",tbe=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,rbe=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function nbe(t,e,r){r==null&&e!==null&&typeof e=="object"&&(r=e,e=void 0),ENt&&Buffer.isBuffer(t)&&(t=t.toString()),t&&t.charCodeAt(0)===65279&&(t=t.slice(1));let n=JSON.parse(t,e);if(n===null||typeof n!="object")return n;let s=r&&r.protoAction||"error",i=r&&r.constructorAction||"error";if(s==="ignore"&&i==="ignore")return n;if(s!=="ignore"&&i!=="ignore"){if(tbe.test(t)===!1&&rbe.test(t)===!1)return n}else if(s!=="ignore"&&i==="ignore"){if(tbe.test(t)===!1)return n}else if(rbe.test(t)===!1)return n;return sbe(n,{protoAction:s,constructorAction:i,safe:r&&r.safe})}function sbe(t,{protoAction:e="error",constructorAction:r="error",safe:n}={}){let s=[t];for(;s.length;){let i=s;s=[];for(let a of i){if(e!=="ignore"&&Object.prototype.hasOwnProperty.call(a,"__proto__")){if(n===!0)return null;if(e==="error")throw new SyntaxError("Object contains forbidden prototype property");delete a.__proto__}if(r!=="ignore"&&Object.prototype.hasOwnProperty.call(a,"constructor")&&Object.prototype.hasOwnProperty.call(a.constructor,"prototype")){if(n===!0)return null;if(r==="error")throw new SyntaxError("Object contains forbidden prototype property");delete a.constructor}for(let o in a){let c=a[o];c&&typeof c=="object"&&s.push(c)}}}return t}function Q$(t,e,r){let n=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return nbe(t,e,r)}finally{Error.stackTraceLimit=n}}function _Nt(t,e){let r=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return nbe(t,e,{safe:!0})}catch{return null}finally{Error.stackTraceLimit=r}}ay.exports=Q$;ay.exports.default=Q$;ay.exports.parse=Q$;ay.exports.safeParse=_Nt;ay.exports.scan=sbe});var Y$=E((YDr,r_)=>{"use strict";var{AsyncResource:SNt}=require("node:async_hooks"),{Fifo:obe}=Yxe(),{safeParse:cbe,defaultContentType:vNt}=ebe(),CNt=ibe(),{kDefaultJsonParse:t_,kContentTypeParser:oy,kBodyLimit:INt,kRequestPayloadStream:ube,kState:V$,kTestInternals:TNt,kReplyIsError:lbe,kRouteContext:wNt}=Qs(),{FST_ERR_CTP_INVALID_TYPE:dbe,FST_ERR_CTP_EMPTY_TYPE:RNt,FST_ERR_CTP_ALREADY_PRESENT:NNt,FST_ERR_CTP_INVALID_HANDLER:ONt,FST_ERR_CTP_INVALID_PARSE_TYPE:PNt,FST_ERR_CTP_BODY_TOO_LARGE:abe,FST_ERR_CTP_INVALID_MEDIA_TYPE:DNt,FST_ERR_CTP_INVALID_CONTENT_LENGTH:kNt,FST_ERR_CTP_EMPTY_JSON_BODY:LNt,FST_ERR_CTP_INSTANCE_ALREADY_STARTED:z$}=Ci();function Ad(t,e,r){this[t_]=pbe(e,r),this.customParsers=new Map,this.customParsers.set("application/json",new G$(!0,!1,t,this[t_])),this.customParsers.set("text/plain",new G$(!0,!1,t,K$)),this.parserList=[new YN("application/json"),new YN("text/plain")],this.parserRegExpList=[],this.cache=new obe(100)}Ad.prototype.add=function(t,e,r){let n=typeof t=="string";if(!n&&!(t instanceof RegExp))throw new dbe;if(n&&t.length===0)throw new RNt;if(typeof r!="function")throw new ONt;if(this.existingParser(t))throw new NNt(t);if(e.parseAs!==void 0&&e.parseAs!=="string"&&e.parseAs!=="buffer")throw new PNt(e.parseAs);let s=new G$(e.parseAs==="string",e.parseAs==="buffer",e.bodyLimit,r);n&&t==="*"?this.customParsers.set("",s):(n?this.parserList.unshift(new YN(t)):(t.isEssence=t.source.indexOf(";")===-1,this.parserRegExpList.unshift(t)),this.customParsers.set(t.toString(),s))};Ad.prototype.hasParser=function(t){return this.customParsers.has(typeof t=="string"?t:t.toString())};Ad.prototype.existingParser=function(t){return t==="application/json"&&this.customParsers.has(t)?this.customParsers.get(t).fn!==this[t_]:t==="text/plain"&&this.customParsers.has(t)?this.customParsers.get(t).fn!==K$:this.hasParser(t)};Ad.prototype.getParser=function(t){if(this.hasParser(t))return this.customParsers.get(t);let e=this.cache.get(t);if(e!==void 0)return e;let r=cbe(t);if(r===vNt)return this.customParsers.get("");for(var n=0;n!==this.parserList.length;++n){let i=this.parserList[n];if(UNt(r,i)){let a=this.customParsers.get(i.name);return this.cache.set(t,a),a}}for(var s=0;s!==this.parserRegExpList.length;++s){let i=this.parserRegExpList[s];if(qNt(t,r.type,i)){let a=this.customParsers.get(i.toString());return this.cache.set(t,a),a}}return this.customParsers.get("")};Ad.prototype.removeAll=function(){this.customParsers=new Map,this.parserRegExpList=[],this.parserList=[],this.cache=new obe(100)};Ad.prototype.remove=function(t){if(!(typeof t=="string"||t instanceof RegExp))throw new dbe;let e=this.customParsers.delete(t.toString()),r=typeof t=="string"?this.parserList:this.parserRegExpList,n=r.findIndex(s=>s.toString()===t.toString());return n>-1&&r.splice(n,1),e||n>-1};Ad.prototype.run=function(t,e,r,n){let s=this.getParser(t);if(s===void 0){r.is404?e(r,n):n.send(new DNt(t||void 0));return}let i=new SNt("content-type-parser:run",r);if(s.asString===!0||s.asBuffer===!0)fbe(r,n,n[wNt]._parserOptions,s,a);else{let o=s.fn(r,r[ube],a);o&&typeof o.then=="function"&&o.then(c=>a(null,c),a)}function a(o,c){i.runInAsyncScope(()=>{i.emitDestroy(),o?(n[lbe]=!0,n.send(o)):(r.body=c,e(r,n))})}};function fbe(t,e,r,n,s){let i=n.asString,a=r.limit===null?n.bodyLimit:r.limit,o=t.headers["content-length"]===void 0?NaN:Number(t.headers["content-length"]);if(o>a){e.header("connection","close"),e.send(new abe);return}let c=0,u=i===!0?"":[],l=t[ube]||t.raw;i===!0&&l.setEncoding("utf8"),l.on("data",d),l.on("end",f),l.on("error",f),l.resume();function d(p){c+=p.length;let{receivedEncodedLength:m=0}=l;if(c>a||m>a){l.removeListener("data",d),l.removeListener("end",f),l.removeListener("error",f),e.send(new abe);return}i===!0?u+=p:u.push(p)}function f(p){if(l.removeListener("data",d),l.removeListener("end",f),l.removeListener("error",f),p!==void 0){typeof p.statusCode=="number"&&p.statusCode>=400||(p.statusCode=400),e[lbe]=!0,e.code(p.statusCode).send(p);return}if(i===!0&&(c=Buffer.byteLength(u)),!Number.isNaN(o)&&(l.receivedEncodedLength||c)!==o){e.header("connection","close"),e.send(new kNt);return}i===!1&&(u=Buffer.concat(u));let m=n.fn(t,u,s);m&&typeof m.then=="function"&&m.then(h=>s(null,h),s)}}function pbe(t,e){return r;function r(n,s,i){if(s===""||s==null||Buffer.isBuffer(s)&&s.length===0)return i(new LNt,void 0);let a;try{a=CNt.parse(s,{protoAction:t,constructorAction:e})}catch(o){return o.statusCode=400,i(o,void 0)}i(null,a)}}function K$(t,e,r){r(null,e)}function G$(t,e,r,n){this.asString=t,this.asBuffer=e,this.bodyLimit=r,this.fn=n}function BNt(t){let e=new Ad;return e[t_]=t[t_],e.customParsers=new Map(t.customParsers.entries()),e.parserList=t.parserList.slice(),e.parserRegExpList=t.parserRegExpList.slice(),e}function MNt(t,e,r){if(this[V$].started)throw new z$("addContentTypeParser");return typeof e=="function"&&(r=e,e={}),e||(e={}),e.bodyLimit||(e.bodyLimit=this[INt]),Array.isArray(t)?t.forEach(n=>this[oy].add(n,e,r)):this[oy].add(t,e,r),this}function WNt(t){return this[oy].hasParser(t)}function $Nt(t){if(this[V$].started)throw new z$("removeContentTypeParser");if(Array.isArray(t))for(let e of t)this[oy].remove(e);else this[oy].remove(t)}function FNt(){if(this[V$].started)throw new z$("removeAllContentTypeParsers");this[oy].removeAll()}function UNt(t,e){if(e.isEssence)return t.type.indexOf(e)!==-1;if(t.type.indexOf(e.type)===-1)return!1;for(let r of e.parameterKeys)if(!(r in t.parameters)||t.parameters[r]!==e.parameters[r])return!1;return!0}function qNt(t,e,r){return r.isEssence?r.test(e):r.test(t)}function YN(t){this.name=t;let e=cbe(t);if(this.isEssence=t.indexOf(";")===-1,this.isEssence===!1&&e.type===""){let r=t.split(";",1)[0];this.type=r===""?t:r}else this.type=e.type;this.parameters=e.parameters,this.parameterKeys=Object.keys(e.parameters)}YN.prototype.toString=function(){return this.name};r_.exports=Ad;r_.exports.helpers={buildContentTypeParser:BNt,addContentTypeParser:MNt,hasContentTypeParser:WNt,removeContentTypeParser:$Nt,removeAllContentTypeParsers:FNt};r_.exports.defaultParsers={getDefaultJsonParser:pbe,defaultTextParser:K$};r_.exports[TNt]={rawBody:fbe}});var Abe=E((JDr,gbe)=>{"use strict";var mbe=Go(),jNt=Symbol.for("json-schema-ref"),J$=class{#e;#t;#r;#n;#a;constructor(e={}){this.#e={},this.#t={},this.#r=e.insertRefSymbol??!1,this.#n=e.allowEqualDuplicates??!0,this.#a=e.cloneSchemaWithoutRefs??!1}addSchema(e,r){e.$id!==void 0&&e.$id.charAt(0)!=="#"?r=e.$id:this.#l(e,r),this.#s(e,r)}getSchema(e,r="#"){let n=this.#e[e];if(n===void 0)throw new Error(`Cannot resolve ref "${e}${r}". Schema with id "${e}" is not found.`);return n.anchors[r]!==void 0?n.anchors[r]:hbe(n.schema,r)}hasSchema(e){return this.#e[e]!==void 0}getSchemaRefs(e){let r=this.#e[e];if(r===void 0)throw new Error(`Schema with id "${e}" is not found.`);return r.refs}getSchemaDependencies(e,r={}){let n=this.#e[e];for(let s of n.refs){let i=s.schemaId;r[i]===void 0&&(r[i]=this.getSchema(i),this.getSchemaDependencies(i,r))}return r}derefSchema(e){if(this.#t[e]!==void 0)return;let r=this.#e[e];if(r===void 0)throw new Error(`Schema with id "${e}" is not found.`);!this.#a&&r.refs.length===0&&(this.#t[e]={schema:r.schema,anchors:r.anchors});let n=[];this.#i(r.schema,e,n);let s=this.getSchemaDependencies(e);for(let i in s){let a=s[i];this.#i(a,i,n)}for(let i of n){let{refSchemaId:a,refJsonPointer:o}=this.#o(i.ref,i.sourceSchemaId),c=this.getDerefSchema(a,o);if(c===null)throw new Error(`Cannot resolve ref "${i.ref}". Ref "${o}" is not found in schema "${a}".`);i.targetSchema=c,i.targetSchemaId=a}for(let i of n)this.#c(i,n)}getDerefSchema(e,r="#"){let n=this.#t[e];return n===void 0&&(this.derefSchema(e),n=this.#t[e]),n.anchors[r]!==void 0?n.anchors[r]:hbe(n.schema,r)}#o(e,r){let n=e.indexOf("#");return n===-1?{refSchemaId:e,refJsonPointer:"#"}:n===0?{refSchemaId:r,refJsonPointer:e}:{refSchemaId:e.slice(0,n),refJsonPointer:e.slice(n)}}#s(e,r){let n=e.$id;n!==void 0&&typeof n=="string"&&(n.charAt(0)==="#"?this.#h(e,r,n):(this.#l(e,n),r=n));let s=e.$ref;if(s!==void 0&&typeof s=="string"){let{refSchemaId:i,refJsonPointer:a}=this.#o(s,r);this.#e[r].refs.push({schemaId:i,jsonPointer:a})}for(let i in e)typeof e[i]=="object"&&e[i]!==null&&this.#s(e[i],r)}#i(e,r,n=[]){let s=Array.isArray(e)?[...e]:{...e},i=s.$id;i!==void 0&&typeof i=="string"&&(i.charAt(0)==="#"?this.#d(s,r,i):(this.#p(s,i),r=i)),s.$ref!==void 0&&n.push({ref:s.$ref,sourceSchemaId:r,sourceSchema:s});for(let a in s){let o=s[a];typeof o=="object"&&o!==null&&(s[a]=this.#i(o,r,n))}return s}#c(e,r){let{sourceSchema:n,targetSchema:s}=e;if(n.$ref){if(this.#r&&(n[jNt]=n.$ref),delete n.$ref,s.$ref){let i=r.find(a=>a.sourceSchema===s);this.#c(i,r)}for(let i in s)if(i!=="$id"){if(n[i]!==void 0){if(mbe(n[i],s[i]))continue;throw new Error(`Cannot resolve ref "${e.ref}". Property "${i}" is already exist in schema "${e.sourceSchemaId}".`)}n[i]=s[i]}e.isResolved=!0}}#l(e,r){let n=this.#e[r];if(n!==void 0){if(this.#n&&mbe(e,n.schema))return;throw new Error(`There is already another schema with id "${r}".`)}this.#e[r]={schema:e,anchors:{},refs:[]}}#h(e,r,n){let{anchors:s}=this.#e[r];if(s[n]!==void 0)throw new Error(`There is already another anchor "${n}" in a schema "${r}".`);s[n]=e}#p(e,r){this.#t[r]===void 0&&(this.#t[r]={schema:e,anchors:{}})}#d(e,r,n){let{anchors:s}=this.#t[r];s[n]=e}};function hbe(t,e){let r=e.split("/"),n=t;for(let s of r)if(!(s===""||s==="#")){if(typeof n!="object"||n===null)return null;n=n[s]}return n??null}gbe.exports={RefResolver:J$}});var xbe=E((XDr,ybe)=>{"use strict";var X$=class t{constructor(e,r,n="#"){this.schema=e,this.schemaId=r,this.jsonPointer=n}getPropertyLocation(e){return new t(this.schema[e],this.schemaId,this.jsonPointer+"/"+e)}getSchemaRef(){return this.schemaId+this.jsonPointer}};ybe.exports=X$});var vbe=E((ZDr,eF)=>{"use strict";eF.exports=ke;eF.exports.default=ke;var HNt={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0},bbe={enum:["array","boolean","integer","null","number","object","string"]},Ebe=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,QNt=hN().fullFormats.uri,_be=hN().fullFormats.regex;function Jo(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0,o=a;return typeof t=="number"&&!(t%1)&&!isNaN(t)&&isFinite(t)?a===o&&typeof t=="number"&&isFinite(t)&&(t<0||isNaN(t))?(Jo.errors=[{instancePath:e,schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1):(Jo.errors=i,a===0):(Jo.errors=[{instancePath:e,schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1)}var Z$={validate:ke};function sa(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0;if(a===0)if(Array.isArray(t)){if(t.length<1)return sa.errors=[{instancePath:e,schemaPath:"#/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"}],!1;{var o=!0;let c=t.length;for(let u=0;u<c;u++){let l=a;Z$.validate(t[u],{instancePath:e+"/"+u,parentData:t,parentDataProperty:u,rootData:s})||(i=i===null?Z$.validate.errors:i.concat(Z$.validate.errors),a=i.length);var o=l===a;if(!o)break}}}else return sa.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;return sa.errors=i,a===0}var Sbe=k1().default;function ke(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0;if(!(t&&typeof t=="object"&&!Array.isArray(t))&&typeof t!="boolean")return ke.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:HNt.type},message:"must be object,boolean"}],!1;if(a===0&&t&&typeof t=="object"&&!Array.isArray(t)){if(t.$id!==void 0){let y=t.$id,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!Ebe.test(y))return ke.errors=[{instancePath:e+"/$id",schemaPath:"#/properties/%24id/format",keyword:"format",params:{format:"uri-reference"},message:'must match format "uri-reference"'}],!1}else return ke.errors=[{instancePath:e+"/$id",schemaPath:"#/properties/%24id/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.$schema!==void 0){let y=t.$schema,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!QNt(y))return ke.errors=[{instancePath:e+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'}],!1}else return ke.errors=[{instancePath:e+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.$ref!==void 0){let y=t.$ref,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!Ebe.test(y))return ke.errors=[{instancePath:e+"/$ref",schemaPath:"#/properties/%24ref/format",keyword:"format",params:{format:"uri-reference"},message:'must match format "uri-reference"'}],!1}else return ke.errors=[{instancePath:e+"/$ref",schemaPath:"#/properties/%24ref/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.$comment!==void 0){let y=a;if(typeof t.$comment!="string")return ke.errors=[{instancePath:e+"/$comment",schemaPath:"#/properties/%24comment/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.title!==void 0){let y=a;if(typeof t.title!="string")return ke.errors=[{instancePath:e+"/title",schemaPath:"#/properties/title/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.description!==void 0){let y=a;if(typeof t.description!="string")return ke.errors=[{instancePath:e+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.readOnly!==void 0){let y=a;if(typeof t.readOnly!="boolean")return ke.errors=[{instancePath:e+"/readOnly",schemaPath:"#/properties/readOnly/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;var o=y===a}else var o=!0;if(o){if(t.examples!==void 0){let y=a;if(a===y&&!Array.isArray(t.examples))return ke.errors=[{instancePath:e+"/examples",schemaPath:"#/properties/examples/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;var o=y===a}else var o=!0;if(o){if(t.multipleOf!==void 0){let y=t.multipleOf,x=a;if(a===x)if(typeof y=="number"&&isFinite(y)){if(y<=0||isNaN(y))return ke.errors=[{instancePath:e+"/multipleOf",schemaPath:"#/properties/multipleOf/exclusiveMinimum",keyword:"exclusiveMinimum",params:{comparison:">",limit:0},message:"must be > 0"}],!1}else return ke.errors=[{instancePath:e+"/multipleOf",schemaPath:"#/properties/multipleOf/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.maximum!==void 0){let y=t.maximum,x=a;if(!(typeof y=="number"&&isFinite(y)))return ke.errors=[{instancePath:e+"/maximum",schemaPath:"#/properties/maximum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.exclusiveMaximum!==void 0){let y=t.exclusiveMaximum,x=a;if(!(typeof y=="number"&&isFinite(y)))return ke.errors=[{instancePath:e+"/exclusiveMaximum",schemaPath:"#/properties/exclusiveMaximum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.minimum!==void 0){let y=t.minimum,x=a;if(!(typeof y=="number"&&isFinite(y)))return ke.errors=[{instancePath:e+"/minimum",schemaPath:"#/properties/minimum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.exclusiveMinimum!==void 0){let y=t.exclusiveMinimum,x=a;if(!(typeof y=="number"&&isFinite(y)))return ke.errors=[{instancePath:e+"/exclusiveMinimum",schemaPath:"#/properties/exclusiveMinimum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.maxLength!==void 0){let y=t.maxLength,x=a,v=a;if(!(typeof y=="number"&&!(y%1)&&!isNaN(y)&&isFinite(y)))return ke.errors=[{instancePath:e+"/maxLength",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof y=="number"&&isFinite(y)&&(y<0||isNaN(y)))return ke.errors=[{instancePath:e+"/maxLength",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=x===a}else var o=!0;if(o){if(t.minLength!==void 0){let y=a;Jo(t.minLength,{instancePath:e+"/minLength",parentData:t,parentDataProperty:"minLength",rootData:s})||(i=i===null?Jo.errors:i.concat(Jo.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.pattern!==void 0){let y=t.pattern,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!_be(y))return ke.errors=[{instancePath:e+"/pattern",schemaPath:"#/properties/pattern/format",keyword:"format",params:{format:"regex"},message:'must match format "regex"'}],!1}else return ke.errors=[{instancePath:e+"/pattern",schemaPath:"#/properties/pattern/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.additionalItems!==void 0){let y=a;ke(t.additionalItems,{instancePath:e+"/additionalItems",parentData:t,parentDataProperty:"additionalItems",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.items!==void 0){let y=t.items,x=a,v=a,C=!1,R=a;ke(y,{instancePath:e+"/items",parentData:t,parentDataProperty:"items",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var c=R===a;if(C=C||c,!C){let N=a;sa(y,{instancePath:e+"/items",parentData:t,parentDataProperty:"items",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var c=N===a;C=C||c}if(C)a=v,i!==null&&(v?i.length=v:i=null);else{let N={instancePath:e+"/items",schemaPath:"#/properties/items/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[N]:i.push(N),a++,ke.errors=i,!1}var o=x===a}else var o=!0;if(o){if(t.maxItems!==void 0){let y=t.maxItems,x=a,v=a;if(!(typeof y=="number"&&!(y%1)&&!isNaN(y)&&isFinite(y)))return ke.errors=[{instancePath:e+"/maxItems",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof y=="number"&&isFinite(y)&&(y<0||isNaN(y)))return ke.errors=[{instancePath:e+"/maxItems",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=x===a}else var o=!0;if(o){if(t.minItems!==void 0){let y=a;Jo(t.minItems,{instancePath:e+"/minItems",parentData:t,parentDataProperty:"minItems",rootData:s})||(i=i===null?Jo.errors:i.concat(Jo.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.uniqueItems!==void 0){let y=a;if(typeof t.uniqueItems!="boolean")return ke.errors=[{instancePath:e+"/uniqueItems",schemaPath:"#/properties/uniqueItems/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;var o=y===a}else var o=!0;if(o){if(t.contains!==void 0){let y=a;ke(t.contains,{instancePath:e+"/contains",parentData:t,parentDataProperty:"contains",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.maxProperties!==void 0){let y=t.maxProperties,x=a,v=a;if(!(typeof y=="number"&&!(y%1)&&!isNaN(y)&&isFinite(y)))return ke.errors=[{instancePath:e+"/maxProperties",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof y=="number"&&isFinite(y)&&(y<0||isNaN(y)))return ke.errors=[{instancePath:e+"/maxProperties",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=x===a}else var o=!0;if(o){if(t.minProperties!==void 0){let y=a;Jo(t.minProperties,{instancePath:e+"/minProperties",parentData:t,parentDataProperty:"minProperties",rootData:s})||(i=i===null?Jo.errors:i.concat(Jo.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.required!==void 0){let y=t.required,x=a;if(a===a)if(Array.isArray(y)){var u=!0;let R=y.length;for(let w=0;w<R;w++){let N=a;if(typeof y[w]!="string")return ke.errors=[{instancePath:e+"/required/"+w,schemaPath:"#/definitions/stringArray/items/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var u=N===a;if(!u)break}if(u){let w=y.length,N;if(w>1){let P={};for(;w--;){let L=y[w];if(typeof L=="string"){if(typeof P[L]=="number"){return N=P[L],ke.errors=[{instancePath:e+"/required",schemaPath:"#/definitions/stringArray/uniqueItems",keyword:"uniqueItems",params:{i:w,j:N},message:"must NOT have duplicate items (items ## "+N+" and "+w+" are identical)"}],!1;break}P[L]=w}}}}}else return ke.errors=[{instancePath:e+"/required",schemaPath:"#/definitions/stringArray/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;var o=x===a}else var o=!0;if(o){if(t.additionalProperties!==void 0){let y=a;ke(t.additionalProperties,{instancePath:e+"/additionalProperties",parentData:t,parentDataProperty:"additionalProperties",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.definitions!==void 0){let y=t.definitions,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y))for(let C in y){let R=a;ke(y[C],{instancePath:e+"/definitions/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:C,rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var l=R===a;if(!l)break}else return ke.errors=[{instancePath:e+"/definitions",schemaPath:"#/properties/definitions/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.properties!==void 0){let y=t.properties,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y))for(let C in y){let R=a;ke(y[C],{instancePath:e+"/properties/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:C,rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var d=R===a;if(!d)break}else return ke.errors=[{instancePath:e+"/properties",schemaPath:"#/properties/properties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.patternProperties!==void 0){let y=t.patternProperties,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y)){for(let C in y){let R=a;if(a===R&&typeof C=="string"&&!_be(C)){let w={instancePath:e+"/patternProperties",schemaPath:"#/properties/patternProperties/propertyNames/format",keyword:"format",params:{format:"regex"},message:'must match format "regex"',propertyName:C};i===null?i=[w]:i.push(w),a++}var f=R===a;if(!f){let w={instancePath:e+"/patternProperties",schemaPath:"#/properties/patternProperties/propertyNames",keyword:"propertyNames",params:{propertyName:C},message:"property name must be valid"};return i===null?i=[w]:i.push(w),a++,ke.errors=i,!1;break}}if(f)for(let C in y){let R=a;ke(y[C],{instancePath:e+"/patternProperties/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:C,rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var p=R===a;if(!p)break}}else return ke.errors=[{instancePath:e+"/patternProperties",schemaPath:"#/properties/patternProperties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.dependencies!==void 0){let y=t.dependencies,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y))for(let C in y){let R=y[C],w=a,N=a,P=!1,L=a;ke(R,{instancePath:e+"/dependencies/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:C,rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var m=L===a;if(P=P||m,!P){let M=a;if(a===a)if(Array.isArray(R)){var h=!0;let Z=R.length;for(let W=0;W<Z;W++){let F=a;if(typeof R[W]!="string"){let j={instancePath:e+"/dependencies/"+C.replace(/~/g,"~0").replace(/\//g,"~1")+"/"+W,schemaPath:"#/definitions/stringArray/items/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[j]:i.push(j),a++}var h=F===a;if(!h)break}if(h){let W=R.length,F;if(W>1){let V={};for(;W--;){let j=R[W];if(typeof j=="string"){if(typeof V[j]=="number"){F=V[j];let J={instancePath:e+"/dependencies/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/stringArray/uniqueItems",keyword:"uniqueItems",params:{i:W,j:F},message:"must NOT have duplicate items (items ## "+F+" and "+W+" are identical)"};i===null?i=[J]:i.push(J),a++;break}V[j]=W}}}}}else{let Z={instancePath:e+"/dependencies/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/stringArray/type",keyword:"type",params:{type:"array"},message:"must be array"};i===null?i=[Z]:i.push(Z),a++}var m=M===a;P=P||m}if(P)a=N,i!==null&&(N?i.length=N:i=null);else{let M={instancePath:e+"/dependencies/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/dependencies/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[M]:i.push(M),a++,ke.errors=i,!1}var A=w===a;if(!A)break}else return ke.errors=[{instancePath:e+"/dependencies",schemaPath:"#/properties/dependencies/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.propertyNames!==void 0){let y=a;ke(t.propertyNames,{instancePath:e+"/propertyNames",parentData:t,parentDataProperty:"propertyNames",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.enum!==void 0){let y=t.enum,x=a;if(a===x)if(Array.isArray(y)){if(y.length<1)return ke.errors=[{instancePath:e+"/enum",schemaPath:"#/properties/enum/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"}],!1;{let C=y.length,R;if(C>1){e:for(;C--;)for(R=C;R--;)if(Sbe(y[C],y[R])){return ke.errors=[{instancePath:e+"/enum",schemaPath:"#/properties/enum/uniqueItems",keyword:"uniqueItems",params:{i:C,j:R},message:"must NOT have duplicate items (items ## "+R+" and "+C+" are identical)"}],!1;break e}}}}else return ke.errors=[{instancePath:e+"/enum",schemaPath:"#/properties/enum/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;var o=x===a}else var o=!0;if(o){if(t.type!==void 0){let y=t.type,x=a,v=a,C=!1,R=a;if(!(y==="array"||y==="boolean"||y==="integer"||y==="null"||y==="number"||y==="object"||y==="string")){let N={instancePath:e+"/type",schemaPath:"#/definitions/simpleTypes/enum",keyword:"enum",params:{allowedValues:bbe.enum},message:"must be equal to one of the allowed values"};i===null?i=[N]:i.push(N),a++}var g=R===a;if(C=C||g,!C){let N=a;if(a===N)if(Array.isArray(y))if(y.length<1){let L={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf/1/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};i===null?i=[L]:i.push(L),a++}else{var b=!0;let L=y.length;for(let M=0;M<L;M++){let k=y[M],B=a;if(!(k==="array"||k==="boolean"||k==="integer"||k==="null"||k==="number"||k==="object"||k==="string")){let W={instancePath:e+"/type/"+M,schemaPath:"#/definitions/simpleTypes/enum",keyword:"enum",params:{allowedValues:bbe.enum},message:"must be equal to one of the allowed values"};i===null?i=[W]:i.push(W),a++}var b=B===a;if(!b)break}if(b){let M=y.length,k;if(M>1){e:for(;M--;)for(k=M;k--;)if(Sbe(y[M],y[k])){let B={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf/1/uniqueItems",keyword:"uniqueItems",params:{i:M,j:k},message:"must NOT have duplicate items (items ## "+k+" and "+M+" are identical)"};i===null?i=[B]:i.push(B),a++;break e}}}}else{let L={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf/1/type",keyword:"type",params:{type:"array"},message:"must be array"};i===null?i=[L]:i.push(L),a++}var g=N===a;C=C||g}if(C)a=v,i!==null&&(v?i.length=v:i=null);else{let N={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[N]:i.push(N),a++,ke.errors=i,!1}var o=x===a}else var o=!0;if(o){if(t.format!==void 0){let y=a;if(typeof t.format!="string")return ke.errors=[{instancePath:e+"/format",schemaPath:"#/properties/format/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.contentMediaType!==void 0){let y=a;if(typeof t.contentMediaType!="string")return ke.errors=[{instancePath:e+"/contentMediaType",schemaPath:"#/properties/contentMediaType/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.contentEncoding!==void 0){let y=a;if(typeof t.contentEncoding!="string")return ke.errors=[{instancePath:e+"/contentEncoding",schemaPath:"#/properties/contentEncoding/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.if!==void 0){let y=a;ke(t.if,{instancePath:e+"/if",parentData:t,parentDataProperty:"if",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.then!==void 0){let y=a;ke(t.then,{instancePath:e+"/then",parentData:t,parentDataProperty:"then",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.else!==void 0){let y=a;ke(t.else,{instancePath:e+"/else",parentData:t,parentDataProperty:"else",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.allOf!==void 0){let y=a;sa(t.allOf,{instancePath:e+"/allOf",parentData:t,parentDataProperty:"allOf",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.anyOf!==void 0){let y=a;sa(t.anyOf,{instancePath:e+"/anyOf",parentData:t,parentDataProperty:"anyOf",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.oneOf!==void 0){let y=a;sa(t.oneOf,{instancePath:e+"/oneOf",parentData:t,parentDataProperty:"oneOf",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var o=y===a}else var o=!0;if(o)if(t.not!==void 0){let y=a;ke(t.not,{instancePath:e+"/not",parentData:t,parentDataProperty:"not",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return ke.errors=i,a===0}});var sF=E((ekr,Cbe)=>{"use strict";var tF=class extends Error{constructor(e,r){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Failed to merge "${e}" keyword schemas.`,this.schemas=r}},rF=class extends Error{constructor(e,r){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Resolver for "${e}" keyword not found.`,this.schemas=r}},nF=class extends Error{constructor(e){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Invalid "onConflict" option: "${e}".`}};Cbe.exports={MergeError:tF,ResolverNotFoundError:rF,InvalidOnConflictOptionError:nF}});var wbe=E((tkr,Tbe)=>{"use strict";var GNt=Go(),{MergeError:iF}=sF();function Ibe(t){let e=t[0];for(let r=1;r<t.length;r++)e=e.filter(n=>t[r].includes(n));return e}function VNt(t,e,r){let n=Ibe(e);if(n.length===0)throw new iF(t,e);r[t]=n}function zNt(t,e,r){for(let s=0;s<e.length;s++)Array.isArray(e[s])||(e[s]=[e[s]]);let n=Ibe(e);if(n.length===0)throw new iF(t,e);n.length===1?r[t]=n[0]:r[t]=n}function KNt(t,e,r){let n=[];for(let s of e)for(let i of s)n.includes(i)||n.push(i);r[t]=n}function YNt(t,e,r){r[t]=Math.min(...e)}function JNt(t,e,r){r[t]=Math.max(...e)}function XNt(t,e,r){let n=(o,c)=>c?n(c,o%c):o,s=(o,c)=>o*c/n(o,c),i=1;for(let o of e)for(;o*i%1!==0;)i*=10;let a=e[0]*i;for(let o of e)a=s(a,o*i);r[t]=a/i}function ZNt(t,e,r){let n=e[0];for(let s=1;s<e.length;s++)if(!GNt(e[s],n))throw new iF(t,e);r[t]=n}function eOt(){}function tOt(t,e,r){for(let n of e)if(n===!1){r[t]=!1;return}r[t]=!0}function rOt(t,e,r){for(let n of e)if(n===!0){r[t]=!0;return}r[t]=!1}Tbe.exports={arraysIntersection:VNt,hybridArraysIntersection:zNt,arraysUnion:KNt,minNumber:YNt,maxNumber:JNt,commonMultiple:XNt,allEqual:ZNt,booleanAnd:tOt,booleanOr:rOt,skip:eOt}});var kbe=E((rkr,Dbe)=>{"use strict";var nOt=Go(),jn=wbe(),ZN=sF(),Obe={$id:jn.skip,type:jn.hybridArraysIntersection,enum:jn.arraysIntersection,minLength:jn.maxNumber,maxLength:jn.minNumber,minimum:jn.maxNumber,maximum:jn.minNumber,multipleOf:jn.commonMultiple,exclusiveMinimum:jn.maxNumber,exclusiveMaximum:jn.minNumber,minItems:jn.maxNumber,maxItems:jn.minNumber,maxProperties:jn.minNumber,minProperties:jn.maxNumber,const:jn.allEqual,default:jn.allEqual,format:jn.allEqual,required:jn.arraysUnion,properties:uOt,patternProperties:XN,additionalProperties:JN,items:aOt,additionalItems:oOt,definitions:XN,$defs:XN,nullable:jn.booleanAnd,oneOf:Rbe,anyOf:Rbe,allOf:jn.arraysUnion,not:JN,if:lOt,then:jn.skip,else:jn.skip,dependencies:Nbe,dependentRequired:Nbe,dependentSchemas:XN,propertyNames:JN,uniqueItems:jn.booleanOr,contains:JN};function JN(t,e,r,n,s){r[t]=Hc(e,s)}function sOt(t){let e=[[]];for(let r of t){let n=[];for(let s of e)for(let i of r)n.push([...s,i]);e=n}return e}function Rbe(t,e,r,n,s){if(e.length===1){r[t]=e[0];return}let i=sOt(e),a=[];for(let o of i)try{let c=Hc(o,s);c!==void 0&&a.push(c)}catch(c){if(c instanceof ZN.MergeError)continue;throw c}r[t]=a}function iOt(t,e){let{items:r,additionalItems:n}=t;return Array.isArray(r)?e<r.length?r[e]:n:r!==void 0?r:n}function aOt(t,e,r,n,s){let i=0;for(let o of e)Array.isArray(o)&&(i=Math.max(i,o.length));if(i===0){r[t]=Hc(e,s);return}let a=[];for(let o=0;o<i;o++){let c=[];for(let u of n){let l=iOt(u,o);l!==void 0&&c.push(l)}a[o]=Hc(c,s)}r[t]=a}function oOt(t,e,r,n,s){let i=!1;for(let o of n)if(Array.isArray(o.items)){i=!0;break}if(!i){r[t]=Hc(e,s);return}let a=[];for(let o of n){let c=o.additionalItems;c===void 0&&!Array.isArray(o.items)&&(c=o.items),c!==void 0&&a.push(c)}r[t]=Hc(a,s)}function cOt(t,e){let{properties:r,patternProperties:n,additionalProperties:s}=t;if(r?.[e]!==void 0)return r[e];for(let i of Object.keys(n??{}))if(new RegExp(i).test(e))return n[i];return s}function uOt(t,e,r,n,s){let i={};for(let o of n){let c=o.properties??{};for(let u of Object.keys(c)){if(i[u]!==void 0)continue;let l=c[u];i[u]=[l];for(let d of n){if(o===d)continue;let f=cOt(d,u);f!==void 0&&i[u].push(f)}}}let a={};for(let o of Object.keys(i)){let c=i[o];a[o]=Hc(c,s)}r[t]=a}function XN(t,e,r,n,s){let i={};for(let o of e)for(let c of Object.keys(o))i[c]===void 0&&(i[c]=[]),i[c].push(o[c]);let a={};for(let o of Object.keys(i)){let c=i[o],u=Hc(c,s);a[o]=u}r[t]=a}function lOt(t,e,r,n,s){for(let i=0;i<n.length;i++){let a={if:n[i].if,then:n[i].then,else:n[i].else};if(a.if!==void 0){if(r.if===void 0){r.if=a.if,a.then!==void 0&&(r.then=a.then),a.else!==void 0&&(r.else=a.else);continue}r.then!==void 0&&(r.then=Hc([r.then,a],s)),r.else!==void 0&&(r.else=Hc([r.else,a],s))}}}function Nbe(t,e,r){let n={};for(let s of e)for(let i of Object.keys(s)){n[i]===void 0&&(n[i]=[]);let a=n[i];for(let o of s[i])a.includes(o)||a.push(o)}r[t]=n}function Hc(t,e){if(t.length===0)return{};if(t.length===1)return t[0];let r={},n={},s=!0;for(let i of t){if(i===!1)return!1;if(i!==!0){s=!1;for(let a of Object.keys(i))n[a]===void 0&&(n[a]=[]),n[a].push(i[a])}}if(s)return!0;for(let i of Object.keys(n)){let a=n[i];(e.resolvers[i]??e.defaultResolver)(i,a,r,t,e)}return r}function Pbe(t,e,r,n,s){let i=s.onConflict??"throw";if(e.length===1||i==="first"){r[t]=e[0];return}let a=!0;for(let o=1;o<e.length;o++)if(!nOt(e[o],e[0])){a=!1;break}if(a){r[t]=e[0];return}if(i==="throw")throw new ZN.ResolverNotFoundError(t,e);if(i!=="skip")throw new ZN.InvalidOnConflictOptionError(i)}function dOt(t,e={}){return e.defaultResolver===void 0&&(e.defaultResolver=Pbe),e.resolvers={...Obe,...e.resolvers},Hc(t,e)}Dbe.exports={mergeSchemas:dOt,keywordsResolvers:Obe,defaultResolver:Pbe,...ZN}});var Bbe=E((nkr,Lbe)=>{"use strict";var{mergeSchemas:fOt}=kbe();function pOt(t){return fOt(t,{onConflict:"skip"})}Lbe.exports=pOt});var Qbe=E((skr,cy)=>{"use strict";var{RefResolver:mOt}=Abe(),hOt=n8(),gOt=e$(),Mm=xbe(),Mbe=vbe(),AOt=Bbe(),yOt=/'/g,eO=2e4,$be="default",xOt=["floor","ceil","round","trunc"],Fbe=["default","json-stringify"],n_=0;function aF(t,e){if(!Mbe(t)){e?e=`"${e}" `:e="";let r=Mbe.errors[0],n=new Error(`${e}schema is invalid: data${r.instancePath} ${r.message}`);throw n.errors=aF.errors,n}}function s_(t,e){let r=e.schema.$ref,n=r.indexOf("#");n===-1&&(n=r.length);let s=r.slice(0,n)||e.schemaId,i=r.slice(n)||"#",a=t.refResolver.getSchema(s,i);if(a===null)throw new Error(`Cannot find reference "${r}"`);let o=new Mm(a,s,i);return a.$ref!==void 0?s_(t,o):o}function tO(t,e){let r=t.refResolver.getSchema(e,"#");return new Mm(r,e,"#")}function Wbe(t,e){return t.$id&&t.$id.charAt(0)!=="#"?t.$id:e}function oF(t,e){aF(t),e=e||{};let r={functions:[],functionsCounter:0,functionsNamesBySchema:new Map,options:e,refResolver:new mOt,rootSchemaId:t.$id||`__fjs_root_${n_++}`,validatorSchemasIds:new Set,mergedSchemasIds:new Map},n=Wbe(t,r.rootSchemaId);if(r.refResolver.hasSchema(n)||r.refResolver.addSchema(t,r.rootSchemaId),e.schema)for(let l in e.schema){let d=e.schema[l],f=Wbe(d,l);r.refResolver.hasSchema(f)||(aF(d,l),r.refResolver.addSchema(d,l))}if(e.rounding&&!xOt.includes(e.rounding))throw new Error(`Unsupported integer rounding method ${e.rounding}`);if(e.largeArrayMechanism)if(Fbe.includes(e.largeArrayMechanism))$be=e.largeArrayMechanism;else throw new Error(`Unsupported large array mechanism ${e.largeArrayMechanism}`);if(e.largeArraySize)if(typeof e.largeArraySize=="string"&&Number.isFinite(Number.parseInt(e.largeArraySize,10)))eO=Number.parseInt(e.largeArraySize,10);else if(typeof e.largeArraySize=="number"&&Number.isInteger(e.largeArraySize))eO=e.largeArraySize;else if(typeof e.largeArraySize=="bigint")eO=Number(e.largeArraySize);else throw new Error(`Unsupported large array size. Expected integer-like, got ${typeof e.largeArraySize} with value ${e.largeArraySize}`);let s=new Mm(t,r.rootSchemaId),i=xo(r,s,"input"),a=`
const JSON_STR_BEGIN_OBJECT = '{'
const JSON_STR_END_OBJECT = '}'
const JSON_STR_BEGIN_ARRAY = '['
const JSON_STR_END_ARRAY = ']'
const JSON_STR_COMMA = ','
const JSON_STR_COLONS = ':'
const JSON_STR_QUOTE = '"'
const JSON_STR_EMPTY_OBJECT = JSON_STR_BEGIN_OBJECT + JSON_STR_END_OBJECT
const JSON_STR_EMPTY_ARRAY = JSON_STR_BEGIN_ARRAY + JSON_STR_END_ARRAY
const JSON_STR_EMPTY_STRING = JSON_STR_QUOTE + JSON_STR_QUOTE
const JSON_STR_NULL = 'null'
`;i==="json += anonymous0(input)"?a+=`
${r.functions.join(`
`)}
const main = anonymous0
return main
`:a+=`
function main (input) {
let json = ''
${i}
return json
}
${r.functions.join(`
`)}
return main
`;let o=new hOt(e),c=new gOt(e.ajv);for(let l of r.validatorSchemasIds){let d=r.refResolver.getSchema(l);c.addSchema(d,l);let f=r.refResolver.getSchemaDependencies(l);for(let[p,m]of Object.entries(f))c.addSchema(m,p)}if(e.debugMode&&(e.mode="debug"),e.mode==="debug")return{validator:c,serializer:o,code:`validator
serializer
${a}`,ajv:c.ajv};let u=new Function("validator","serializer",a);return e.mode==="standalone"?r$()(u,r,o,c):u(c,o)}var bOt=["properties","required","additionalProperties","patternProperties","maxProperties","minProperties","dependencies"],EOt=["items","additionalItems","maxItems","minItems","uniqueItems","contains"],_Ot=["maxLength","minLength","pattern"],SOt=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum"];function vOt(t){for(var e of bOt)if(e in t)return"object";for(var e of EOt)if(e in t)return"array";for(var e of _Ot)if(e in t)return"string";for(var e of SOt)if(e in t)return"number";return t.type}function COt(t,e,r){let n=e.schema,s=Object.keys(n.properties||{}),i=`
const propertiesKeys = ${JSON.stringify(s)}
for (const [key, value] of Object.entries(obj)) {
if (
propertiesKeys.includes(key) ||
value === undefined ||
typeof value === 'function' ||
typeof value === 'symbol'
) continue
`,a=e.getPropertyLocation("patternProperties"),o=a.schema;if(o!==void 0)for(let l in o){let d=a.getPropertyLocation(l);i+=`
if (/${l.replace(/\\*\//g,"\\/")}/.test(key)) {
${r}
json += serializer.asString(key) + JSON_STR_COLONS
${xo(t,d,"value")}
continue
}
`}let u=e.getPropertyLocation("additionalProperties").schema;if(u!==void 0)if(u===!0)i+=`
${r}
json += serializer.asString(key) + JSON_STR_COLONS + JSON.stringify(value)
`;else{let l=e.getPropertyLocation("additionalProperties");i+=`
${r}
json += serializer.asString(key) + JSON_STR_COLONS
${xo(t,l,"value")}
`}return i+=`
}
`,i}function IOt(t,e){let r=e.schema,n=e.getPropertyLocation("properties"),s=r.required||[],i=Object.keys(r.properties||{}).sort((u,l)=>{let d=s.includes(u),f=s.includes(l);return d===f?0:d?-1:1}),a=s.includes(i[0]),o=`let value
`;for(let u of s)if(!i.includes(u)){let l=JSON.stringify(u);o+=`if (obj[${l}] === undefined) throw new Error('${l.replace(/'/g,"\\'")} is required!')
`}o+=`let json = JSON_STR_BEGIN_OBJECT
`;let c="";a||(o+=`let addComma = false
`,c="!addComma && (addComma = true) || (json += JSON_STR_COMMA)");for(let u of i){let l=n.getPropertyLocation(u);l.schema.$ref&&(l=s_(t,l));let d=JSON.stringify(u),f=l.schema.default,p=s.includes(u);o+=`
value = obj[${d}]
if (value !== undefined) {
${c}
json += ${JSON.stringify(d+":")}
${xo(t,l,"value")}
}`,f!==void 0?o+=` else {
${c}
json += ${JSON.stringify(d+":"+JSON.stringify(f))}
}
`:p?o+=` else {
throw new Error('${d.replace(/'/g,"\\'")} is required!')
}
`:o+=`
`,a&&(c="json += ','")}return(r.patternProperties||r.additionalProperties)&&(o+=COt(t,e,c)),o+=`
return json + JSON_STR_END_OBJECT
`,o}function rO(t,e,r){for(let a=0;a<r.length;a++){let o=r[a];o.schema.$ref&&(r[a]=s_(t,o))}let n=[];for(let a of r){let o=Ube(t,a.schema,a.schemaId);delete o.$id,n.push(o)}let s=AOt(n),i=new Mm(s,e);return t.refResolver.addSchema(s,e),i}function Ube(t,e,r){let n=Array.isArray(e)?[]:{};e.$id!==void 0&&e.$id.charAt(0)!=="#"&&(r=e.$id);let s=t.mergedSchemasIds.get(e);s&&t.mergedSchemasIds.set(n,s);for(let i in e){let a=e[i];i==="$ref"&&typeof a=="string"&&a.charAt(0)==="#"&&(a=r+a),typeof a=="object"&&a!==null&&(a=Ube(t,a,r)),n[i]=a}return n}function TOt(t){return`(${t} && typeof ${t}.toJSON === 'function')
? ${t}.toJSON()
: ${t}
`}function wOt(t,e){let r=e.schema;if(t.functionsNamesBySchema.has(r))return t.functionsNamesBySchema.get(r);let n=jbe(t);t.functionsNamesBySchema.set(r,n);let s=e.getSchemaRef();s.startsWith(t.rootSchemaId)&&(s=s.replace(t.rootSchemaId,""));let i=`
`,a=r.nullable===!0;return i+=`
// ${s}
function ${n} (input) {
const obj = ${TOt("input")}
${a?"":"if (obj === null) return JSON_STR_EMPTY_OBJECT"}
${IOt(t,e)}
}
`,t.functions.push(i),n}function ROt(t,e){let r=e.schema,n=e.getPropertyLocation("items");n.schema=n.schema||{},n.schema.$ref&&(n=s_(t,n));let s=n.schema;if(t.functionsNamesBySchema.has(r))return t.functionsNamesBySchema.get(r);let i=jbe(t);t.functionsNamesBySchema.set(r,i);let a=e.getSchemaRef();a.startsWith(t.rootSchemaId)&&(a=a.replace(t.rootSchemaId,""));let o=`
function ${i} (obj) {
// ${a}
`,c=r.nullable===!0;if(o+=`
${c?"":"if (obj === null) return JSON_STR_EMPTY_ARRAY"}
if (!Array.isArray(obj)) {
throw new TypeError(\`The value of '${a}' does not match schema definition.\`)
}
const arrayLength = obj.length
`,!r.additionalItems&&Array.isArray(s)&&(o+=`
if (arrayLength > ${s.length}) {
throw new Error(\`Item at ${s.length} does not match schema definition.\`)
}
`),$be==="json-stringify"&&(o+=`if (arrayLength >= ${eO}) return JSON.stringify(obj)
`),o+=`
const arrayEnd = arrayLength - 1
let value
let json = ''
`,Array.isArray(s)){for(let u=0;u<s.length;u++){let l=s[u];o+=`value = obj[${u}]`;let d=xo(t,n.getPropertyLocation(u),"value");o+=`
if (${u} < arrayLength) {
if (${qbe(l.type,`[${u}]`)}) {
${d}
if (${u} < arrayEnd) {
json += JSON_STR_COMMA
}
} else {
throw new Error(\`Item at ${u} does not match schema definition.\`)
}
}
`}r.additionalItems&&(o+=`
for (let i = ${s.length}; i < arrayLength; i++) {
json += JSON.stringify(obj[i])
if (i < arrayEnd) {
json += JSON_STR_COMMA
}
}`)}else{let u=xo(t,n,"obj[i]");o+=`
for (let i = 0; i < arrayLength; i++) {
${u}
if (i < arrayEnd) {
json += JSON_STR_COMMA
}
}`}return o+=`
return JSON_STR_BEGIN_ARRAY + json + JSON_STR_END_ARRAY
}`,t.functions.push(o),i}function qbe(t,e){let r;switch(t){case"null":r="value === null";break;case"string":r=`typeof value === 'string' ||
value === null ||
value instanceof Date ||
value instanceof RegExp ||
(
typeof value === "object" &&
typeof value.toString === "function" &&
value.toString !== Object.prototype.toString
)`;break;case"integer":r="Number.isInteger(value)";break;case"number":r="Number.isFinite(value)";break;case"boolean":r="typeof value === 'boolean'";break;case"object":r="value && typeof value === 'object' && value.constructor === Object";break;case"array":r="Array.isArray(value)";break;default:Array.isArray(t)&&(r=`(${t.map(s=>qbe(s,e)).join(" || ")})`)}return r}function jbe(t){return"anonymous"+t.functionsCounter++}function NOt(t,e,r){let s=e.schema.type.sort(o=>o==="null"?-1:1),i="";s.forEach((o,c)=>{e.schema={...e.schema,type:o};let u=Hbe(t,e,r),l=c===0?"if":"else if";switch(o){case"null":i+=`
${l} (${r} === null)
${u}
`;break;case"string":{i+=`
${l}(
typeof ${r} === "string" ||
${r} === null ||
${r} instanceof Date ||
${r} instanceof RegExp ||
(
typeof ${r} === "object" &&
typeof ${r}.toString === "function" &&
${r}.toString !== Object.prototype.toString
)
)
${u}
`;break}case"array":{i+=`
${l}(Array.isArray(${r}))
${u}
`;break}case"integer":{i+=`
${l}(Number.isInteger(${r}) || ${r} === null)
${u}
`;break}default:{i+=`
${l}(typeof ${r} === "${o}" || ${r} === null)
${u}
`;break}}});let a=e.getSchemaRef();return a.startsWith(t.rootSchemaId)&&(a=a.replace(t.rootSchemaId,"")),i+=`
else throw new TypeError(\`The value of '${a}' does not match schema definition.\`)
`,i}function Hbe(t,e,r){let n=e.schema;switch(n.type){case"null":return"json += JSON_STR_NULL";case"string":return n.format==="date-time"?`json += serializer.asDateTime(${r})`:n.format==="date"?`json += serializer.asDate(${r})`:n.format==="time"?`json += serializer.asTime(${r})`:n.format==="unsafe"?`json += serializer.asUnsafeString(${r})`:`
if (typeof ${r} !== 'string') {
if (${r} === null) {
json += JSON_STR_EMPTY_STRING
} else if (${r} instanceof Date) {
json += JSON_STR_QUOTE + ${r}.toISOString() + JSON_STR_QUOTE
} else if (${r} instanceof RegExp) {
json += serializer.asString(${r}.source)
} else {
json += serializer.asString(${r}.toString())
}
} else {
json += serializer.asString(${r})
}
`;case"integer":return`json += serializer.asInteger(${r})`;case"number":return`json += serializer.asNumber(${r})`;case"boolean":return`json += serializer.asBoolean(${r})`;case"object":return`json += ${wOt(t,e)}(${r})`;case"array":return`json += ${ROt(t,e)}(${r})`;case void 0:return`json += JSON.stringify(${r})`;default:throw new Error(`${n.type} unsupported`)}}function OOt(t,e){let r=t.schema,n=r.type,s=Array.isArray(n)&&n.includes("null"),i="";return s&&(i+=`
if (${e} === null) {
json += JSON_STR_NULL
} else {
`),i+=`json += '${JSON.stringify(r.const).replace(yOt,"\\'")}'`,s&&(i+=`
}
`),i}function POt(t,e,r){let n=e.schema,s=t.mergedSchemasIds.get(n);if(s){let l=tO(t,s);return xo(t,l,r)}s=`__fjs_merged_${n_++}`,t.mergedSchemasIds.set(n,s);let{allOf:i,...a}=e.schema,o=[new Mm(a,e.schemaId,e.jsonPointer)],c=e.getPropertyLocation("allOf");for(let l=0;l<i.length;l++)o.push(c.getPropertyLocation(l));let u=rO(t,s,o);return xo(t,u,r)}function DOt(t,e,r){t.validatorSchemasIds.add(e.schemaId);let s=e.schema.anyOf?"anyOf":"oneOf",{[s]:i,...a}=e.schema,o=new Mm(a,e.schemaId,e.jsonPointer),c=e.getPropertyLocation(s),u="";for(let d=0;d<i.length;d++){let f=c.getPropertyLocation(d),p=f.schema,m=t.mergedSchemasIds.get(p),h=null;m?h=tO(t,m):(m=`__fjs_merged_${n_++}`,t.mergedSchemasIds.set(p,m),h=rO(t,m,[o,f]));let A=xo(t,h,r),g=f.getSchemaRef();u+=`
${d===0?"if":"else if"}(validator.validate("${g}", ${r}))
${A}
`}let l=e.getSchemaRef();return l.startsWith(t.rootSchemaId)&&(l=l.replace(t.rootSchemaId,"")),u+=`
else throw new TypeError(\`The value of '${l}' does not match schema definition.\`)
`,u}function kOt(t,e,r){t.validatorSchemasIds.add(e.schemaId);let{if:n,then:s,else:i,...a}=e.schema,o=new Mm(a,e.schemaId,e.jsonPointer),u=e.getPropertyLocation("if").getSchemaRef(),l=e.getPropertyLocation("then"),d=t.mergedSchemasIds.get(s),f=null;if(d?f=tO(t,d):(d=`__fjs_merged_${n_++}`,t.mergedSchemasIds.set(s,d),f=rO(t,d,[o,l])),!i)return`
if (validator.validate("${u}", ${r})) {
${xo(t,f,r)}
} else {
${xo(t,o,r)}
}
`;let p=e.getPropertyLocation("else"),m=t.mergedSchemasIds.get(i),h=null;return m?h=tO(t,m):(m=`__fjs_merged_${n_++}`,t.mergedSchemasIds.set(i,m),h=rO(t,m,[o,p])),`
if (validator.validate("${u}", ${r})) {
${xo(t,f,r)}
} else {
${xo(t,h,r)}
}
`}function xo(t,e,r){let n=e.schema;if(typeof n=="boolean")return`json += JSON.stringify(${r})`;if(n.$ref&&(e=s_(t,e),n=e.schema),n.allOf)return POt(t,e,r);if(n.anyOf||n.oneOf)return DOt(t,e,r);if(n.if&&n.then)return kOt(t,e,r);if(n.type===void 0){let o=vOt(n);o&&(n.type=o)}let s="",i=n.type,a=n.nullable===!0;return a&&(s+=`
if (${r} === null) {
json += JSON_STR_NULL
} else {
`),n.const!==void 0?s+=OOt(e,r):Array.isArray(i)?s+=NOt(t,e,r):s+=Hbe(t,e,r),a&&(s+=`
}
`),s}cy.exports=oF;cy.exports.default=oF;cy.exports.build=oF;cy.exports.validLargeArrayMechanisms=Fbe;cy.exports.restore=function({code:t,validator:e,serializer:r}){return Function.apply(null,["validator","serializer",t]).apply(null,[e,r])}});var Vbe=E((ikr,cF)=>{"use strict";var LOt=uF();function Gbe(t={readMode:!0}){if(t.readMode===!0&&typeof t.restoreFunction!="function")throw new Error("You must provide a function for the restoreFunction-option when readMode ON");if(t.readMode!==!0&&typeof t.storeFunction!="function")throw new Error("You must provide a function for the storeFunction-option when readMode OFF");if(t.readMode===!0)return function(){return function(n){return t.restoreFunction(n)}};let e=LOt();return function(n,s={}){s.mode="standalone";let i=e(n,s);return function(a){let o=i(a);return t.storeFunction(a,o),new Function(o)}}}cF.exports=Gbe;cF.exports.default=Gbe});var uF=E((akr,i_)=>{"use strict";var BOt=Qbe();function lF(){return function(e,r){let n=Object.assign({},r,{schema:e});return MOt.bind(null,n)}}function MOt(t,{schema:e}){return t.schema&&e.$id&&t.schema[e.$id]&&(t.schema={...t.schema},delete t.schema[e.$id]),BOt(e,t)}i_.exports=lF;i_.exports.default=lF;i_.exports.SerializerSelector=lF;i_.exports.StandaloneSerializer=Vbe()});var uy=E(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.regexpCode=Br.getEsmExportName=Br.getProperty=Br.safeStringify=Br.stringify=Br.strConcat=Br.addCodeArg=Br.str=Br._=Br.nil=Br._Code=Br.Name=Br.IDENTIFIER=Br._CodeOrName=void 0;var a_=class{};Br._CodeOrName=a_;Br.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Wm=class extends a_{constructor(e){if(super(),!Br.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Br.Name=Wm;var Xo=class extends a_{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Wm&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Br._Code=Xo;Br.nil=new Xo("");function zbe(t,...e){let r=[t[0]],n=0;for(;n<e.length;)fF(r,e[n]),r.push(t[++n]);return new Xo(r)}Br._=zbe;var dF=new Xo("+");function Kbe(t,...e){let r=[o_(t[0])],n=0;for(;n<e.length;)r.push(dF),fF(r,e[n]),r.push(dF,o_(t[++n]));return WOt(r),new Xo(r)}Br.str=Kbe;function fF(t,e){e instanceof Xo?t.push(...e._items):e instanceof Wm?t.push(e):t.push(UOt(e))}Br.addCodeArg=fF;function WOt(t){let e=1;for(;e<t.length-1;){if(t[e]===dF){let r=$Ot(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function $Ot(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Wm||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Wm))return`"${t}${e.slice(1)}`}function FOt(t,e){return e.emptyStr()?t:t.emptyStr()?e:Kbe`${t}${e}`}Br.strConcat=FOt;function UOt(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:o_(Array.isArray(t)?t.join(","):t)}function qOt(t){return new Xo(o_(t))}Br.stringify=qOt;function o_(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Br.safeStringify=o_;function jOt(t){return typeof t=="string"&&Br.IDENTIFIER.test(t)?new Xo(`.${t}`):zbe`[${t}]`}Br.getProperty=jOt;function HOt(t){if(typeof t=="string"&&Br.IDENTIFIER.test(t))return new Xo(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}Br.getEsmExportName=HOt;function QOt(t){return new Xo(t.toString())}Br.regexpCode=QOt});var aO=E(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.ValueScope=Ma.ValueScopeName=Ma.Scope=Ma.varKinds=Ma.UsedValueState=void 0;var Ba=uy(),pF=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},nO;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(nO||(Ma.UsedValueState=nO={}));Ma.varKinds={const:new Ba.Name("const"),let:new Ba.Name("let"),var:new Ba.Name("var")};var sO=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Ba.Name?e:this.name(e)}name(e){return new Ba.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Ma.Scope=sO;var iO=class extends Ba.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Ba._)`.${new Ba.Name(r)}[${n}]`}};Ma.ValueScopeName=iO;var GOt=(0,Ba._)`\n`,mF=class extends sO{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?GOt:Ba.nil}}get(){return this._scope}name(e){return new iO(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Ba._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let i=Ba.nil;for(let a in e){let o=e[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,nO.Started);let l=r(u);if(l){let d=this.opts.es5?Ma.varKinds.var:Ma.varKinds.const;i=(0,Ba._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,Ba._)`${i}${l}${this.opts._n}`;else throw new pF(u);c.set(u,nO.Completed)})}return i}};Ma.ValueScope=mF});var Et=E(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.or=Zt.and=Zt.not=Zt.CodeGen=Zt.operators=Zt.varKinds=Zt.ValueScopeName=Zt.ValueScope=Zt.Scope=Zt.Name=Zt.regexpCode=Zt.stringify=Zt.getProperty=Zt.nil=Zt.strConcat=Zt.str=Zt._=void 0;var yr=uy(),Qc=aO(),vp=uy();Object.defineProperty(Zt,"_",{enumerable:!0,get:function(){return vp._}});Object.defineProperty(Zt,"str",{enumerable:!0,get:function(){return vp.str}});Object.defineProperty(Zt,"strConcat",{enumerable:!0,get:function(){return vp.strConcat}});Object.defineProperty(Zt,"nil",{enumerable:!0,get:function(){return vp.nil}});Object.defineProperty(Zt,"getProperty",{enumerable:!0,get:function(){return vp.getProperty}});Object.defineProperty(Zt,"stringify",{enumerable:!0,get:function(){return vp.stringify}});Object.defineProperty(Zt,"regexpCode",{enumerable:!0,get:function(){return vp.regexpCode}});Object.defineProperty(Zt,"Name",{enumerable:!0,get:function(){return vp.Name}});var lO=aO();Object.defineProperty(Zt,"Scope",{enumerable:!0,get:function(){return lO.Scope}});Object.defineProperty(Zt,"ValueScope",{enumerable:!0,get:function(){return lO.ValueScope}});Object.defineProperty(Zt,"ValueScopeName",{enumerable:!0,get:function(){return lO.ValueScopeName}});Object.defineProperty(Zt,"varKinds",{enumerable:!0,get:function(){return lO.varKinds}});Zt.operators={GT:new yr._Code(">"),GTE:new yr._Code(">="),LT:new yr._Code("<"),LTE:new yr._Code("<="),EQ:new yr._Code("==="),NEQ:new yr._Code("!=="),NOT:new yr._Code("!"),OR:new yr._Code("||"),AND:new yr._Code("&&"),ADD:new yr._Code("+")};var yd=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},hF=class extends yd{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Qc.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=dy(this.rhs,e,r)),this}get names(){return this.rhs instanceof yr._CodeOrName?this.rhs.names:{}}},oO=class extends yd{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof yr.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=dy(this.rhs,e,r),this}get names(){let e=this.lhs instanceof yr.Name?{}:{...this.lhs.names};return uO(e,this.rhs)}},gF=class extends oO{constructor(e,r,n,s){super(e,n,s),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},AF=class extends yd{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},yF=class extends yd{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},xF=class extends yd{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},bF=class extends yd{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=dy(this.code,e,r),this}get names(){return this.code instanceof yr._CodeOrName?this.code.names:{}}},c_=class extends yd{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(e,r)||(VOt(e,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Um(e,r.names),{})}},xd=class extends c_{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},EF=class extends c_{},ly=class extends xd{};ly.kind="else";var $m=class t extends xd{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new ly(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Ybe(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=dy(this.condition,e,r),this}get names(){let e=super.names;return uO(e,this.condition),this.else&&Um(e,this.else.names),e}};$m.kind="if";var Fm=class extends xd{};Fm.kind="for";var _F=class extends Fm{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=dy(this.iteration,e,r),this}get names(){return Um(super.names,this.iteration.names)}},SF=class extends Fm{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s}render(e){let r=e.es5?Qc.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=uO(super.names,this.from);return uO(e,this.to)}},cO=class extends Fm{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=dy(this.iterable,e,r),this}get names(){return Um(super.names,this.iterable.names)}},u_=class extends xd{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};u_.kind="func";var l_=class extends c_{render(e){return"return "+super.render(e)}};l_.kind="return";var vF=class extends xd{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Um(e,this.catch.names),this.finally&&Um(e,this.finally.names),e}},d_=class extends xd{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};d_.kind="catch";var f_=class extends xd{render(e){return"finally"+super.render(e)}};f_.kind="finally";var CF=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
`:""},this._extScope=e,this._scope=new Qc.Scope({parent:e}),this._nodes=[new EF]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new hF(e,i,n)),i}const(e,r,n){return this._def(Qc.varKinds.const,e,r,n)}let(e,r,n){return this._def(Qc.varKinds.let,e,r,n)}var(e,r,n){return this._def(Qc.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new oO(e,r,n))}add(e,r){return this._leafNode(new gF(e,Zt.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==yr.nil&&this._leafNode(new bF(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,yr.addCodeArg)(r,s));return r.push("}"),new yr._Code(r)}if(e,r,n){if(this._blockNode(new $m(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new $m(e))}else(){return this._elseNode(new ly)}endIf(){return this._endBlockNode($m,ly)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new _F(e),r)}forRange(e,r,n,s,i=this.opts.es5?Qc.varKinds.var:Qc.varKinds.let){let a=this._scope.toName(e);return this._for(new SF(i,a,r,n),()=>s(a))}forOf(e,r,n,s=Qc.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let a=r instanceof yr.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,yr._)`${a}.length`,o=>{this.var(i,(0,yr._)`${a}[${o}]`),n(i)})}return this._for(new cO("of",s,i,r),()=>n(i))}forIn(e,r,n,s=this.opts.es5?Qc.varKinds.var:Qc.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,yr._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new cO("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(Fm)}label(e){return this._leafNode(new AF(e))}break(e){return this._leafNode(new yF(e))}return(e){let r=new l_;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(l_)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new vF;if(this._blockNode(s),this.code(e),r){let i=this.name("e");this._currNode=s.catch=new d_(i),r(i)}return n&&(this._currNode=s.finally=new f_,this.code(n)),this._endBlockNode(d_,f_)}throw(e){return this._leafNode(new xF(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=yr.nil,n,s){return this._blockNode(new u_(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(u_)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof $m))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};Zt.CodeGen=CF;function Um(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function uO(t,e){return e instanceof yr._CodeOrName?Um(t,e.names):t}function dy(t,e,r){if(t instanceof yr.Name)return n(t);if(!s(t))return t;return new yr._Code(t._items.reduce((i,a)=>(a instanceof yr.Name&&(a=n(a)),a instanceof yr._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||e[i.str]!==1?i:(delete e[i.str],a)}function s(i){return i instanceof yr._Code&&i._items.some(a=>a instanceof yr.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function VOt(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Ybe(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,yr._)`!${IF(t)}`}Zt.not=Ybe;var zOt=Jbe(Zt.operators.AND);function KOt(...t){return t.reduce(zOt)}Zt.and=KOt;var YOt=Jbe(Zt.operators.OR);function JOt(...t){return t.reduce(YOt)}Zt.or=JOt;function Jbe(t){return(e,r)=>e===yr.nil?r:r===yr.nil?e:(0,yr._)`${IF(e)} ${t} ${IF(r)}`}function IF(t){return t instanceof yr.Name?t:(0,yr._)`(${t})`}});var Kt=E(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.checkStrictMode=nr.getErrorPath=nr.Type=nr.useFunc=nr.setEvaluated=nr.evaluatedPropsToName=nr.mergeEvaluated=nr.eachItem=nr.unescapeJsonPointer=nr.escapeJsonPointer=nr.escapeFragment=nr.unescapeFragment=nr.schemaRefOrVal=nr.schemaHasRulesButRef=nr.schemaHasRules=nr.checkUnknownRules=nr.alwaysValidSchema=nr.toHash=void 0;var fn=Et(),XOt=uy();function ZOt(t){let e={};for(let r of t)e[r]=!0;return e}nr.toHash=ZOt;function ePt(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(eEe(t,e),!tEe(e,t.self.RULES.all))}nr.alwaysValidSchema=ePt;function eEe(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let i in e)s[i]||sEe(t,`unknown keyword: "${i}"`)}nr.checkUnknownRules=eEe;function tEe(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}nr.schemaHasRules=tEe;function tPt(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}nr.schemaHasRulesButRef=tPt;function rPt({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,fn._)`${r}`}return(0,fn._)`${t}${e}${(0,fn.getProperty)(n)}`}nr.schemaRefOrVal=rPt;function nPt(t){return rEe(decodeURIComponent(t))}nr.unescapeFragment=nPt;function sPt(t){return encodeURIComponent(wF(t))}nr.escapeFragment=sPt;function wF(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}nr.escapeJsonPointer=wF;function rEe(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}nr.unescapeJsonPointer=rEe;function iPt(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}nr.eachItem=iPt;function Xbe({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof fn.Name?(i instanceof fn.Name?t(s,i,a):e(s,i,a),a):i instanceof fn.Name?(e(s,a,i),i):r(i,a);return o===fn.Name&&!(c instanceof fn.Name)?n(s,c):c}}nr.mergeEvaluated={props:Xbe({mergeNames:(t,e,r)=>t.if((0,fn._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,fn._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,fn._)`${r} || {}`).code((0,fn._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,fn._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,fn._)`${r} || {}`),RF(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:nEe}),items:Xbe({mergeNames:(t,e,r)=>t.if((0,fn._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,fn._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,fn._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,fn._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function nEe(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,fn._)`{}`);return e!==void 0&&RF(t,r,e),r}nr.evaluatedPropsToName=nEe;function RF(t,e,r){Object.keys(r).forEach(n=>t.assign((0,fn._)`${e}${(0,fn.getProperty)(n)}`,!0))}nr.setEvaluated=RF;var Zbe={};function aPt(t,e){return t.scopeValue("func",{ref:e,code:Zbe[e.code]||(Zbe[e.code]=new XOt._Code(e.code))})}nr.useFunc=aPt;var TF;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(TF||(nr.Type=TF={}));function oPt(t,e,r){if(t instanceof fn.Name){let n=e===TF.Num;return r?n?(0,fn._)`"[" + ${t} + "]"`:(0,fn._)`"['" + ${t} + "']"`:n?(0,fn._)`"/" + ${t}`:(0,fn._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,fn.getProperty)(t).toString():"/"+wF(t)}nr.getErrorPath=oPt;function sEe(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}nr.checkStrictMode=sEe});var Zo=E(NF=>{"use strict";Object.defineProperty(NF,"__esModule",{value:!0});var Pi=Et(),cPt={data:new Pi.Name("data"),valCxt:new Pi.Name("valCxt"),instancePath:new Pi.Name("instancePath"),parentData:new Pi.Name("parentData"),parentDataProperty:new Pi.Name("parentDataProperty"),rootData:new Pi.Name("rootData"),dynamicAnchors:new Pi.Name("dynamicAnchors"),vErrors:new Pi.Name("vErrors"),errors:new Pi.Name("errors"),this:new Pi.Name("this"),self:new Pi.Name("self"),scope:new Pi.Name("scope"),json:new Pi.Name("json"),jsonPos:new Pi.Name("jsonPos"),jsonLen:new Pi.Name("jsonLen"),jsonPart:new Pi.Name("jsonPart")};NF.default=cPt});var p_=E(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.extendErrors=Di.resetErrorsCount=Di.reportExtraError=Di.reportError=Di.keyword$DataError=Di.keywordError=void 0;var Cr=Et(),dO=Kt(),ia=Zo();Di.keywordError={message:({keyword:t})=>(0,Cr.str)`must pass "${t}" keyword validation`};Di.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,Cr.str)`"${t}" keyword must be ${e} ($data)`:(0,Cr.str)`"${t}" keyword is invalid ($data)`};function uPt(t,e=Di.keywordError,r,n){let{it:s}=t,{gen:i,compositeRule:a,allErrors:o}=s,c=oEe(t,e,r);n??(a||o)?iEe(i,c):aEe(s,(0,Cr._)`[${c}]`)}Di.reportError=uPt;function lPt(t,e=Di.keywordError,r){let{it:n}=t,{gen:s,compositeRule:i,allErrors:a}=n,o=oEe(t,e,r);iEe(s,o),i||a||aEe(n,ia.default.vErrors)}Di.reportExtraError=lPt;function dPt(t,e){t.assign(ia.default.errors,e),t.if((0,Cr._)`${ia.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Cr._)`${ia.default.vErrors}.length`,e),()=>t.assign(ia.default.vErrors,null)))}Di.resetErrorsCount=dPt;function fPt({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,ia.default.errors,o=>{t.const(a,(0,Cr._)`${ia.default.vErrors}[${o}]`),t.if((0,Cr._)`${a}.instancePath === undefined`,()=>t.assign((0,Cr._)`${a}.instancePath`,(0,Cr.strConcat)(ia.default.instancePath,i.errorPath))),t.assign((0,Cr._)`${a}.schemaPath`,(0,Cr.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,Cr._)`${a}.schema`,r),t.assign((0,Cr._)`${a}.data`,n))})}Di.extendErrors=fPt;function iEe(t,e){let r=t.const("err",e);t.if((0,Cr._)`${ia.default.vErrors} === null`,()=>t.assign(ia.default.vErrors,(0,Cr._)`[${r}]`),(0,Cr._)`${ia.default.vErrors}.push(${r})`),t.code((0,Cr._)`${ia.default.errors}++`)}function aEe(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0,Cr._)`new ${t.ValidationError}(${e})`):(r.assign((0,Cr._)`${n}.errors`,e),r.return(!1))}var qm={keyword:new Cr.Name("keyword"),schemaPath:new Cr.Name("schemaPath"),params:new Cr.Name("params"),propertyName:new Cr.Name("propertyName"),message:new Cr.Name("message"),schema:new Cr.Name("schema"),parentSchema:new Cr.Name("parentSchema")};function oEe(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,Cr._)`{}`:pPt(t,e,r)}function pPt(t,e,r={}){let{gen:n,it:s}=t,i=[mPt(s,r),hPt(t,r)];return gPt(t,e,i),n.object(...i)}function mPt({errorPath:t},{instancePath:e}){let r=e?(0,Cr.str)`${t}${(0,dO.getErrorPath)(e,dO.Type.Str)}`:t;return[ia.default.instancePath,(0,Cr.strConcat)(ia.default.instancePath,r)]}function hPt({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0,Cr.str)`${e}/${t}`;return r&&(s=(0,Cr.str)`${s}${(0,dO.getErrorPath)(r,dO.Type.Str)}`),[qm.schemaPath,s]}function gPt(t,{params:e,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([qm.keyword,s],[qm.params,typeof e=="function"?e(t):e||(0,Cr._)`{}`]),c.messages&&n.push([qm.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([qm.schema,a],[qm.parentSchema,(0,Cr._)`${l}${d}`],[ia.default.data,i]),u&&n.push([qm.propertyName,u])}});var uEe=E(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.boolOrEmptySchema=fy.topBoolOrEmptySchema=void 0;var APt=p_(),yPt=Et(),xPt=Zo(),bPt={message:"boolean schema is false"};function EPt(t){let{gen:e,schema:r,validateName:n}=t;r===!1?cEe(t,!1):typeof r=="object"&&r.$async===!0?e.return(xPt.default.data):(e.assign((0,yPt._)`${n}.errors`,null),e.return(!0))}fy.topBoolOrEmptySchema=EPt;function _Pt(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),cEe(t)):r.var(e,!0)}fy.boolOrEmptySchema=_Pt;function cEe(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,APt.reportError)(s,bPt,void 0,e)}});var OF=E(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.getRules=py.isJSONType=void 0;var SPt=["string","number","integer","boolean","null","object","array"],vPt=new Set(SPt);function CPt(t){return typeof t=="string"&&vPt.has(t)}py.isJSONType=CPt;function IPt(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}py.getRules=IPt});var PF=E(Cp=>{"use strict";Object.defineProperty(Cp,"__esModule",{value:!0});Cp.shouldUseRule=Cp.shouldUseGroup=Cp.schemaHasRulesForType=void 0;function TPt({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&lEe(t,n)}Cp.schemaHasRulesForType=TPt;function lEe(t,e){return e.rules.some(r=>dEe(t,r))}Cp.shouldUseGroup=lEe;function dEe(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Cp.shouldUseRule=dEe});var m_=E(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.reportTypeError=ki.checkDataTypes=ki.checkDataType=ki.coerceAndCheckDataType=ki.getJSONTypes=ki.getSchemaTypes=ki.DataType=void 0;var wPt=OF(),RPt=PF(),NPt=p_(),Ht=Et(),fEe=Kt(),my;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(my||(ki.DataType=my={}));function OPt(t){let e=pEe(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}ki.getSchemaTypes=OPt;function pEe(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(wPt.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}ki.getJSONTypes=pEe;function PPt(t,e){let{gen:r,data:n,opts:s}=t,i=DPt(e,s.coerceTypes),a=e.length>0&&!(i.length===0&&e.length===1&&(0,RPt.schemaHasRulesForType)(t,e[0]));if(a){let o=kF(e,n,s.strictNumbers,my.Wrong);r.if(o,()=>{i.length?kPt(t,e,i):LF(t)})}return a}ki.coerceAndCheckDataType=PPt;var mEe=new Set(["string","number","integer","boolean","null"]);function DPt(t,e){return e?t.filter(r=>mEe.has(r)||e==="array"&&r==="array"):[]}function kPt(t,e,r){let{gen:n,data:s,opts:i}=t,a=n.let("dataType",(0,Ht._)`typeof ${s}`),o=n.let("coerced",(0,Ht._)`undefined`);i.coerceTypes==="array"&&n.if((0,Ht._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,Ht._)`${s}[0]`).assign(a,(0,Ht._)`typeof ${s}`).if(kF(e,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,Ht._)`${o} !== undefined`);for(let u of r)(mEe.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),LF(t),n.endIf(),n.if((0,Ht._)`${o} !== undefined`,()=>{n.assign(s,o),LPt(t,o)});function c(u){switch(u){case"string":n.elseIf((0,Ht._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,Ht._)`"" + ${s}`).elseIf((0,Ht._)`${s} === null`).assign(o,(0,Ht._)`""`);return;case"number":n.elseIf((0,Ht._)`${a} == "boolean" || ${s} === null
|| (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,Ht._)`+${s}`);return;case"integer":n.elseIf((0,Ht._)`${a} === "boolean" || ${s} === null
|| (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,Ht._)`+${s}`);return;case"boolean":n.elseIf((0,Ht._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,Ht._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,Ht._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,Ht._)`${a} === "string" || ${a} === "number"
|| ${a} === "boolean" || ${s} === null`).assign(o,(0,Ht._)`[${s}]`)}}}function LPt({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,Ht._)`${e} !== undefined`,()=>t.assign((0,Ht._)`${e}[${r}]`,n))}function DF(t,e,r,n=my.Correct){let s=n===my.Correct?Ht.operators.EQ:Ht.operators.NEQ,i;switch(t){case"null":return(0,Ht._)`${e} ${s} null`;case"array":i=(0,Ht._)`Array.isArray(${e})`;break;case"object":i=(0,Ht._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=a((0,Ht._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=a();break;default:return(0,Ht._)`typeof ${e} ${s} ${t}`}return n===my.Correct?i:(0,Ht.not)(i);function a(o=Ht.nil){return(0,Ht.and)((0,Ht._)`typeof ${e} == "number"`,o,r?(0,Ht._)`isFinite(${e})`:Ht.nil)}}ki.checkDataType=DF;function kF(t,e,r,n){if(t.length===1)return DF(t[0],e,r,n);let s,i=(0,fEe.toHash)(t);if(i.array&&i.object){let a=(0,Ht._)`typeof ${e} != "object"`;s=i.null?a:(0,Ht._)`!${e} || ${a}`,delete i.null,delete i.array,delete i.object}else s=Ht.nil;i.number&&delete i.integer;for(let a in i)s=(0,Ht.and)(s,DF(a,e,r,n));return s}ki.checkDataTypes=kF;var BPt={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,Ht._)`{type: ${t}}`:(0,Ht._)`{type: ${e}}`};function LF(t){let e=MPt(t);(0,NPt.reportError)(e,BPt)}ki.reportTypeError=LF;function MPt(t){let{gen:e,data:r,schema:n}=t,s=(0,fEe.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var gEe=E(fO=>{"use strict";Object.defineProperty(fO,"__esModule",{value:!0});fO.assignDefaults=void 0;var hy=Et(),WPt=Kt();function $Pt(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)hEe(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,i)=>hEe(t,i,s.default))}fO.assignDefaults=$Pt;function hEe(t,e,r){let{gen:n,compositeRule:s,data:i,opts:a}=t;if(r===void 0)return;let o=(0,hy._)`${i}${(0,hy.getProperty)(e)}`;if(s){(0,WPt.checkStrictMode)(t,`default is ignored for: ${o}`);return}let c=(0,hy._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,hy._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,hy._)`${o} = ${(0,hy.stringify)(r)}`)}});var di=E(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.validateUnion=en.validateArray=en.usePattern=en.callValidateCode=en.schemaProperties=en.allSchemaProperties=en.noPropertyInData=en.propertyInData=en.isOwnProperty=en.hasPropFunc=en.reportMissingProp=en.checkMissingProp=en.checkReportMissingProp=void 0;var Pn=Et(),BF=Kt(),Ip=Zo(),FPt=Kt();function UPt(t,e){let{gen:r,data:n,it:s}=t;r.if(WF(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Pn._)`${e}`},!0),t.error()})}en.checkReportMissingProp=UPt;function qPt({gen:t,data:e,it:{opts:r}},n,s){return(0,Pn.or)(...n.map(i=>(0,Pn.and)(WF(t,e,i,r.ownProperties),(0,Pn._)`${s} = ${i}`)))}en.checkMissingProp=qPt;function jPt(t,e){t.setParams({missingProperty:e},!0),t.error()}en.reportMissingProp=jPt;function AEe(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Pn._)`Object.prototype.hasOwnProperty`})}en.hasPropFunc=AEe;function MF(t,e,r){return(0,Pn._)`${AEe(t)}.call(${e}, ${r})`}en.isOwnProperty=MF;function HPt(t,e,r,n){let s=(0,Pn._)`${e}${(0,Pn.getProperty)(r)} !== undefined`;return n?(0,Pn._)`${s} && ${MF(t,e,r)}`:s}en.propertyInData=HPt;function WF(t,e,r,n){let s=(0,Pn._)`${e}${(0,Pn.getProperty)(r)} === undefined`;return n?(0,Pn.or)(s,(0,Pn.not)(MF(t,e,r))):s}en.noPropertyInData=WF;function yEe(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}en.allSchemaProperties=yEe;function QPt(t,e){return yEe(e).filter(r=>!(0,BF.alwaysValidSchema)(t,e[r]))}en.schemaProperties=QPt;function GPt({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,Pn._)`${t}, ${e}, ${n}${s}`:e,d=[[Ip.default.instancePath,(0,Pn.strConcat)(Ip.default.instancePath,i)],[Ip.default.parentData,a.parentData],[Ip.default.parentDataProperty,a.parentDataProperty],[Ip.default.rootData,Ip.default.rootData]];a.opts.dynamicRef&&d.push([Ip.default.dynamicAnchors,Ip.default.dynamicAnchors]);let f=(0,Pn._)`${l}, ${r.object(...d)}`;return c!==Pn.nil?(0,Pn._)`${o}.call(${c}, ${f})`:(0,Pn._)`${o}(${f})`}en.callValidateCode=GPt;var VPt=(0,Pn._)`new RegExp`;function zPt({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,i=s(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Pn._)`${s.code==="new RegExp"?VPt:(0,FPt.useFunc)(t,s)}(${r}, ${n})`})}en.usePattern=zPt;function KPt(t){let{gen:e,data:r,keyword:n,it:s}=t,i=e.name("valid");if(s.allErrors){let o=e.let("valid",!0);return a(()=>e.assign(o,!1)),o}return e.var(i,!0),a(()=>e.break()),i;function a(o){let c=e.const("len",(0,Pn._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:BF.Type.Num},i),e.if((0,Pn.not)(i),o)})}}en.validateArray=KPt;function YPt(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,BF.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=e.let("valid",!1),o=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);e.assign(a,(0,Pn._)`${a} || ${o}`),t.mergeValidEvaluated(l,o)||e.if((0,Pn.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}en.validateUnion=YPt});var EEe=E(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});Ku.validateKeywordUsage=Ku.validSchemaType=Ku.funcKeywordCode=Ku.macroKeywordCode=void 0;var aa=Et(),jm=Zo(),JPt=di(),XPt=p_();function ZPt(t,e){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=t,o=e.macro.call(a.self,s,i,a),c=bEe(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");t.subschema({schema:o,schemaPath:aa.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Ku.macroKeywordCode=ZPt;function e3t(t,e){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=t;r3t(c,e);let u=!o&&e.compile?e.compile.call(c.self,i,a,c):e.validate,l=bEe(n,s,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&xEe(t),A(()=>t.error());else{let g=e.async?p():m();e.modifying&&xEe(t),A(()=>t3t(t,g))}}function p(){let g=n.let("ruleErrs",null);return n.try(()=>h((0,aa._)`await `),b=>n.assign(d,!1).if((0,aa._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(g,(0,aa._)`${b}.errors`),()=>n.throw(b))),g}function m(){let g=(0,aa._)`${l}.errors`;return n.assign(g,null),h(aa.nil),g}function h(g=e.async?(0,aa._)`await `:aa.nil){let b=c.opts.passContext?jm.default.this:jm.default.self,y=!("compile"in e&&!o||e.schema===!1);n.assign(d,(0,aa._)`${g}${(0,JPt.callValidateCode)(t,l,b,y)}`,e.modifying)}function A(g){var b;n.if((0,aa.not)((b=e.valid)!==null&&b!==void 0?b:d),g)}}Ku.funcKeywordCode=e3t;function xEe(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,aa._)`${n.parentData}[${n.parentDataProperty}]`))}function t3t(t,e){let{gen:r}=t;r.if((0,aa._)`Array.isArray(${e})`,()=>{r.assign(jm.default.vErrors,(0,aa._)`${jm.default.vErrors} === null ? ${e} : ${jm.default.vErrors}.concat(${e})`).assign(jm.default.errors,(0,aa._)`${jm.default.vErrors}.length`),(0,XPt.extendErrors)(t)},()=>t.error())}function r3t({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function bEe(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,aa.stringify)(r)})}function n3t(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Ku.validSchemaType=n3t;function s3t({schema:t,opts:e,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(t,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Ku.validateKeywordUsage=s3t});var SEe=E(Tp=>{"use strict";Object.defineProperty(Tp,"__esModule",{value:!0});Tp.extendSubschemaMode=Tp.extendSubschemaData=Tp.getSubschema=void 0;var Yu=Et(),_Ee=Kt();function i3t(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let o=t.schema[e];return r===void 0?{schema:o,schemaPath:(0,Yu._)`${t.schemaPath}${(0,Yu.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:o[r],schemaPath:(0,Yu._)`${t.schemaPath}${(0,Yu.getProperty)(e)}${(0,Yu.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,_Ee.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}Tp.getSubschema=i3t;function a3t(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=o.let("data",(0,Yu._)`${e.data}${(0,Yu.getProperty)(r)}`,!0);c(f),t.errorPath=(0,Yu.str)`${u}${(0,_Ee.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Yu._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){let u=s instanceof Yu.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(t.propertyName=a)}i&&(t.dataTypes=i);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}Tp.extendSubschemaData=a3t;function o3t(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}Tp.extendSubschemaMode=o3t});var CEe=E((Ekr,vEe)=>{"use strict";var wp=vEe.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};pO(e,n,s,t,"",t)};wp.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};wp.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};wp.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};wp.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function pO(t,e,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in wp.arrayKeywords)for(var f=0;f<d.length;f++)pO(t,e,r,d[f],s+"/"+l+"/"+f,i,s,l,n,f)}else if(l in wp.propsKeywords){if(d&&typeof d=="object")for(var p in d)pO(t,e,r,d[p],s+"/"+l+"/"+c3t(p),i,s,l,n,p)}else(l in wp.keywords||t.allKeys&&!(l in wp.skipKeywords))&&pO(t,e,r,d,s+"/"+l,i,s,l,n)}r(n,s,i,a,o,c,u)}}function c3t(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var h_=E(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.getSchemaRefs=Wa.resolveUrl=Wa.normalizeId=Wa._getFullPath=Wa.getFullPath=Wa.inlineRef=void 0;var u3t=Kt(),l3t=Go(),d3t=CEe(),f3t=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function p3t(t,e=!0){return typeof t=="boolean"?!0:e===!0?!$F(t):e?IEe(t)<=e:!1}Wa.inlineRef=p3t;var m3t=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function $F(t){for(let e in t){if(m3t.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some($F)||typeof r=="object"&&$F(r))return!0}return!1}function IEe(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!f3t.has(r)&&(typeof t[r]=="object"&&(0,u3t.eachItem)(t[r],n=>e+=IEe(n)),e===1/0))return 1/0}return e}function TEe(t,e="",r){r!==!1&&(e=gy(e));let n=t.parse(e);return wEe(t,n)}Wa.getFullPath=TEe;function wEe(t,e){return t.serialize(e).split("#")[0]+"#"}Wa._getFullPath=wEe;var h3t=/#\/?$/;function gy(t){return t?t.replace(h3t,""):""}Wa.normalizeId=gy;function g3t(t,e,r){return r=gy(r),t.resolve(e,r)}Wa.resolveUrl=g3t;var A3t=/^[a-z_][-a-z0-9._]*$/i;function y3t(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=gy(t[r]||e),i={"":s},a=TEe(n,s,!1),o={},c=new Set;return d3t(t,{allKeys:!0},(d,f,p,m)=>{if(m===void 0)return;let h=a+f,A=i[m];typeof d[r]=="string"&&(A=g.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),i[f]=A;function g(y){let x=this.opts.uriResolver.resolve;if(y=gy(A?x(A,y):y),c.has(y))throw l(y);c.add(y);let v=this.refs[y];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,y):y!==gy(h)&&(y[0]==="#"?(u(d,o[y],y),o[y]=d):this.refs[y]=h),y}function b(y){if(typeof y=="string"){if(!A3t.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`)}}}),o;function u(d,f,p){if(f!==void 0&&!l3t(d,f))throw l(p)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Wa.getSchemaRefs=y3t});var Ay=E(Rp=>{"use strict";Object.defineProperty(Rp,"__esModule",{value:!0});Rp.getData=Rp.KeywordCxt=Rp.validateFunctionCode=void 0;var DEe=uEe(),REe=m_(),UF=PF(),mO=m_(),x3t=gEe(),A_=EEe(),FF=SEe(),at=Et(),Nt=Zo(),b3t=h_(),bd=Kt(),g_=p_();function E3t(t){if(BEe(t)&&(MEe(t),LEe(t))){v3t(t);return}kEe(t,()=>(0,DEe.topBoolOrEmptySchema)(t))}Rp.validateFunctionCode=E3t;function kEe({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},i){s.code.es5?t.func(e,(0,at._)`${Nt.default.data}, ${Nt.default.valCxt}`,n.$async,()=>{t.code((0,at._)`"use strict"; ${NEe(r,s)}`),S3t(t,s),t.code(i)}):t.func(e,(0,at._)`${Nt.default.data}, ${_3t(s)}`,n.$async,()=>t.code(NEe(r,s)).code(i))}function _3t(t){return(0,at._)`{${Nt.default.instancePath}="", ${Nt.default.parentData}, ${Nt.default.parentDataProperty}, ${Nt.default.rootData}=${Nt.default.data}${t.dynamicRef?(0,at._)`, ${Nt.default.dynamicAnchors}={}`:at.nil}}={}`}function S3t(t,e){t.if(Nt.default.valCxt,()=>{t.var(Nt.default.instancePath,(0,at._)`${Nt.default.valCxt}.${Nt.default.instancePath}`),t.var(Nt.default.parentData,(0,at._)`${Nt.default.valCxt}.${Nt.default.parentData}`),t.var(Nt.default.parentDataProperty,(0,at._)`${Nt.default.valCxt}.${Nt.default.parentDataProperty}`),t.var(Nt.default.rootData,(0,at._)`${Nt.default.valCxt}.${Nt.default.rootData}`),e.dynamicRef&&t.var(Nt.default.dynamicAnchors,(0,at._)`${Nt.default.valCxt}.${Nt.default.dynamicAnchors}`)},()=>{t.var(Nt.default.instancePath,(0,at._)`""`),t.var(Nt.default.parentData,(0,at._)`undefined`),t.var(Nt.default.parentDataProperty,(0,at._)`undefined`),t.var(Nt.default.rootData,Nt.default.data),e.dynamicRef&&t.var(Nt.default.dynamicAnchors,(0,at._)`{}`)})}function v3t(t){let{schema:e,opts:r,gen:n}=t;kEe(t,()=>{r.$comment&&e.$comment&&$Ee(t),R3t(t),n.let(Nt.default.vErrors,null),n.let(Nt.default.errors,0),r.unevaluated&&C3t(t),WEe(t),P3t(t)})}function C3t(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,at._)`${r}.evaluated`),e.if((0,at._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,at._)`${t.evaluated}.props`,(0,at._)`undefined`)),e.if((0,at._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,at._)`${t.evaluated}.items`,(0,at._)`undefined`))}function NEe(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,at._)`/*# sourceURL=${r} */`:at.nil}function I3t(t,e){if(BEe(t)&&(MEe(t),LEe(t))){T3t(t,e);return}(0,DEe.boolOrEmptySchema)(t,e)}function LEe({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function BEe(t){return typeof t.schema!="boolean"}function T3t(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&$Ee(t),N3t(t),O3t(t);let i=n.const("_errs",Nt.default.errors);WEe(t,i),n.var(e,(0,at._)`${i} === ${Nt.default.errors}`)}function MEe(t){(0,bd.checkUnknownRules)(t),w3t(t)}function WEe(t,e){if(t.opts.jtd)return OEe(t,[],!1,e);let r=(0,REe.getSchemaTypes)(t.schema),n=(0,REe.coerceAndCheckDataType)(t,r);OEe(t,r,!n,e)}function w3t(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,bd.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function R3t(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,bd.checkStrictMode)(t,"default is ignored in the schema root")}function N3t(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,b3t.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function O3t(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function $Ee({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)t.code((0,at._)`${Nt.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,at.str)`${n}/$comment`,o=t.scopeValue("root",{ref:e.root});t.code((0,at._)`${Nt.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function P3t(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=t;r.$async?e.if((0,at._)`${Nt.default.errors} === 0`,()=>e.return(Nt.default.data),()=>e.throw((0,at._)`new ${s}(${Nt.default.vErrors})`)):(e.assign((0,at._)`${n}.errors`,Nt.default.vErrors),i.unevaluated&&D3t(t),e.return((0,at._)`${Nt.default.errors} === 0`))}function D3t({gen:t,evaluated:e,props:r,items:n}){r instanceof at.Name&&t.assign((0,at._)`${e}.props`,r),n instanceof at.Name&&t.assign((0,at._)`${e}.items`,n)}function OEe(t,e,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,bd.schemaHasRulesButRef)(i,l))){s.block(()=>UEe(t,"$ref",l.all.$ref.definition));return}c.jtd||k3t(t,e),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,UF.shouldUseGroup)(i,f)&&(f.type?(s.if((0,mO.checkDataType)(f.type,a,c.strictNumbers)),PEe(t,f),e.length===1&&e[0]===f.type&&r&&(s.else(),(0,mO.reportTypeError)(t)),s.endIf()):PEe(t,f),o||s.if((0,at._)`${Nt.default.errors} === ${n||0}`))}}function PEe(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0,x3t.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,UF.shouldUseRule)(n,i)&&UEe(t,i.keyword,i.definition,e.type)})}function k3t(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(L3t(t,e),t.opts.allowUnionTypes||B3t(t,e),M3t(t,t.dataTypes))}function L3t(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{FEe(t.dataTypes,r)||qF(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),$3t(t,e)}}function B3t(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&qF(t,"use allowUnionTypes to allow union type keyword")}function M3t(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,UF.shouldUseRule)(t.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>W3t(e,a))&&qF(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function W3t(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function FEe(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function $3t(t,e){let r=[];for(let n of t.dataTypes)FEe(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function qF(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,bd.checkStrictMode)(t,e,t.opts.strictTypes)}var hO=class{constructor(e,r,n){if((0,A_.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,bd.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",qEe(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,A_.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Nt.default.errors))}result(e,r,n){this.failResult((0,at.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,at.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,at._)`${r} !== undefined && (${(0,at.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?g_.reportExtraError:g_.reportError)(this,this.def.error,r)}$dataError(){(0,g_.reportError)(this,this.def.$dataError||g_.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,g_.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=at.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=at.nil,r=at.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,at.or)((0,at._)`${s} === undefined`,r)),e!==at.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==at.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,at.or)(a(),o());function a(){if(n.length){if(!(r instanceof at.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,at._)`${(0,mO.checkDataTypes)(c,r,i.opts.strictNumbers,mO.DataType.Wrong)}`}return at.nil}function o(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,at._)`!${c}(${r})`}return at.nil}}subschema(e,r){let n=(0,FF.getSubschema)(this.it,e);(0,FF.extendSubschemaData)(n,this.it,e),(0,FF.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return I3t(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=bd.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=bd.mergeEvaluated.items(s,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(e,at.Name)),!0}};Rp.KeywordCxt=hO;function UEe(t,e,r,n){let s=new hO(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0,A_.funcKeywordCode)(s,r):"macro"in r?(0,A_.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,A_.funcKeywordCode)(s,r)}var F3t=/^\/(?:[^~]|~0|~1)*$/,U3t=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function qEe(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,i;if(t==="")return Nt.default.rootData;if(t[0]==="/"){if(!F3t.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,i=Nt.default.rootData}else{let u=U3t.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(i=r[e-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,at._)`${i}${(0,at.getProperty)((0,bd.unescapeJsonPointer)(u))}`,a=(0,at._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}Rp.getData=qEe});var y_=E(HF=>{"use strict";Object.defineProperty(HF,"__esModule",{value:!0});var jF=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};HF.default=jF});var Ed=E(VF=>{"use strict";Object.defineProperty(VF,"__esModule",{value:!0});var QF=h_(),GF=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,QF.resolveUrl)(e,r,n),this.missingSchema=(0,QF.normalizeId)((0,QF.getFullPath)(e,this.missingRef))}};VF.default=GF});var Qm=E(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.resolveSchema=ec.getCompilingSchema=ec.resolveRef=ec.compileSchema=ec.SchemaEnv=void 0;var Gc=Et(),q3t=y_(),Hm=Zo(),Vc=h_(),jEe=Kt(),j3t=Ay(),yy=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Vc.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};ec.SchemaEnv=yy;function KF(t){let e=HEe.call(this,t);if(e)return e;let r=(0,Vc.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new Gc.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;t.$async&&(o=a.scopeValue("Error",{ref:q3t.default,code:(0,Gc._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:Hm.default.data,parentData:Hm.default.parentData,parentDataProperty:Hm.default.parentDataProperty,dataNames:[Hm.default.data],dataPathArr:[Gc.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Gc.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:o,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Gc.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Gc._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,j3t.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(Hm.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let p=new Function(`${Hm.default.self}`,`${Hm.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=t.schema,p.schemaEnv=t,t.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:h}=u;p.evaluated={props:m instanceof Gc.Name?void 0:m,items:h instanceof Gc.Name?void 0:h,dynamicProps:m instanceof Gc.Name,dynamicItems:h instanceof Gc.Name},p.source&&(p.source.evaluated=(0,Gc.stringify)(p.evaluated))}return t.validate=p,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}ec.compileSchema=KF;function H3t(t,e,r){var n;r=(0,Vc.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let i=V3t.call(this,t,r);if(i===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new yy({schema:a,schemaId:o,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=Q3t.call(this,i)}ec.resolveRef=H3t;function Q3t(t){return(0,Vc.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:KF.call(this,t)}function HEe(t){for(let e of this._compilations)if(G3t(e,t))return e}ec.getCompilingSchema=HEe;function G3t(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function V3t(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||gO.call(this,t,e)}function gO(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Vc._getFullPath)(this.opts.uriResolver,r),s=(0,Vc.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return zF.call(this,r,t);let i=(0,Vc.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=gO.call(this,t,a);return typeof o?.schema!="object"?void 0:zF.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||KF.call(this,a),i===(0,Vc.normalizeId)(e)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,Vc.resolveUrl)(this.opts.uriResolver,s,u)),new yy({schema:o,schemaId:c,root:t,baseId:s})}return zF.call(this,r,a)}}ec.resolveSchema=gO;var z3t=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function zF(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,jEe.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!z3t.has(o)&&u&&(e=(0,Vc.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,jEe.schemaHasRulesButRef)(r,this.RULES)){let o=(0,Vc.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=gO.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new yy({schema:r,schemaId:a,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var QEe=E((Tkr,K3t)=>{K3t.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var JF=E((wkr,KEe)=>{"use strict";var Y3t=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),VEe=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function YF(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var J3t=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function GEe(t){return t.length=0,!0}function X3t(t,e,r){if(t.length){let n=YF(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function Z3t(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=X3t;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(a=!0),!o(s,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=GEe}else{s.push(u);continue}}return s.length&&(o===GEe?r.zone=s.join(""):a?n.push(s.join("")):n.push(YF(s))),r.address=n.join(""),r}function zEe(t){if(eDt(t,":")<2)return{host:t,isIPV6:!1};let e=Z3t(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function eDt(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function tDt(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function rDt(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function nDt(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!VEe(r)){let n=zEe(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}KEe.exports={nonSimpleDomain:J3t,recomposeAuthority:nDt,normalizeComponentEncoding:rDt,removeDotSegments:tDt,isIPv4:VEe,isUUID:Y3t,normalizeIPv6:zEe,stringArrayToHexStripped:YF}});var e1e=E((Rkr,ZEe)=>{"use strict";var{isUUID:sDt}=JF(),iDt=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,aDt=["http","https","ws","wss","urn","urn:uuid"];function oDt(t){return aDt.indexOf(t)!==-1}function XF(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function YEe(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function JEe(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function cDt(t){return t.secure=XF(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function uDt(t){if((t.port===(XF(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function lDt(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(iDt);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=ZF(s);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function dDt(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=ZF(s);i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function fDt(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!sDt(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function pDt(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var XEe={scheme:"http",domainHost:!0,parse:YEe,serialize:JEe},mDt={scheme:"https",domainHost:XEe.domainHost,parse:YEe,serialize:JEe},AO={scheme:"ws",domainHost:!0,parse:cDt,serialize:uDt},hDt={scheme:"wss",domainHost:AO.domainHost,parse:AO.parse,serialize:AO.serialize},gDt={scheme:"urn",parse:lDt,serialize:dDt,skipNormalize:!0},ADt={scheme:"urn:uuid",parse:fDt,serialize:pDt,skipNormalize:!0},yO={http:XEe,https:mDt,ws:AO,wss:hDt,urn:gDt,"urn:uuid":ADt};Object.setPrototypeOf(yO,null);function ZF(t){return t&&(yO[t]||yO[t.toLowerCase()])||void 0}ZEe.exports={wsIsSecure:XF,SCHEMES:yO,isValidSchemeName:oDt,getSchemeHandler:ZF}});var n1e=E((Nkr,bO)=>{"use strict";var{normalizeIPv6:yDt,removeDotSegments:x_,recomposeAuthority:xDt,normalizeComponentEncoding:xO,isIPv4:bDt,nonSimpleDomain:EDt}=JF(),{SCHEMES:_Dt,getSchemeHandler:t1e}=e1e();function SDt(t,e){return typeof t=="string"?t=Ju(_d(t,e),e):typeof t=="object"&&(t=_d(Ju(t,e),e)),t}function vDt(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=r1e(_d(t,n),_d(e,n),n,!0);return n.skipEscape=!0,Ju(s,n)}function r1e(t,e,r,n){let s={};return n||(t=_d(Ju(t,r),r),e=_d(Ju(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=x_(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=x_(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=x_(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=x_(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function CDt(t,e,r){return typeof t=="string"?(t=unescape(t),t=Ju(xO(_d(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Ju(xO(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Ju(xO(_d(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Ju(xO(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Ju(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=t1e(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=xDt(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=x_(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var IDt=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function _d(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(IDt);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(bDt(n.host)===!1){let c=yDt(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=t1e(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&EDt(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var eU={SCHEMES:_Dt,normalize:SDt,resolve:vDt,resolveComponent:r1e,equal:CDt,serialize:Ju,parse:_d};bO.exports=eU;bO.exports.default=eU;bO.exports.fastUri=eU});var i1e=E(tU=>{"use strict";Object.defineProperty(tU,"__esModule",{value:!0});var s1e=n1e();s1e.code='require("ajv/dist/runtime/uri").default';tU.default=s1e});var sU=E(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.CodeGen=fi.Name=fi.nil=fi.stringify=fi.str=fi._=fi.KeywordCxt=void 0;var TDt=Ay();Object.defineProperty(fi,"KeywordCxt",{enumerable:!0,get:function(){return TDt.KeywordCxt}});var xy=Et();Object.defineProperty(fi,"_",{enumerable:!0,get:function(){return xy._}});Object.defineProperty(fi,"str",{enumerable:!0,get:function(){return xy.str}});Object.defineProperty(fi,"stringify",{enumerable:!0,get:function(){return xy.stringify}});Object.defineProperty(fi,"nil",{enumerable:!0,get:function(){return xy.nil}});Object.defineProperty(fi,"Name",{enumerable:!0,get:function(){return xy.Name}});Object.defineProperty(fi,"CodeGen",{enumerable:!0,get:function(){return xy.CodeGen}});var wDt=y_(),l1e=Ed(),RDt=OF(),b_=Qm(),NDt=Et(),E_=h_(),EO=m_(),nU=Kt(),a1e=QEe(),ODt=i1e(),d1e=(t,e)=>new RegExp(t,e);d1e.code="new RegExp";var PDt=["removeAdditional","useDefaults","coerceTypes"],DDt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),kDt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},LDt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},o1e=200;function BDt(t){var e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y,x,v,C,R,w,N;let P=t.strict,L=(e=t.code)===null||e===void 0?void 0:e.optimize,M=L===!0||L===void 0?1:L||0,k=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:d1e,B=(s=t.uriResolver)!==null&&s!==void 0?s:ODt.default;return{strictSchema:(a=(i=t.strictSchema)!==null&&i!==void 0?i:P)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=t.strictNumbers)!==null&&o!==void 0?o:P)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:P)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:P)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=t.strictRequired)!==null&&p!==void 0?p:P)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:M,regExp:k}:{optimize:M,regExp:k},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:o1e,loopEnum:(A=t.loopEnum)!==null&&A!==void 0?A:o1e,meta:(g=t.meta)!==null&&g!==void 0?g:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(y=t.inlineRefs)!==null&&y!==void 0?y:!0,schemaId:(x=t.schemaId)!==null&&x!==void 0?x:"$id",addUsedSchema:(v=t.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(C=t.validateSchema)!==null&&C!==void 0?C:!0,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:!0,unicodeRegExp:(w=t.unicodeRegExp)!==null&&w!==void 0?w:!0,int32range:(N=t.int32range)!==null&&N!==void 0?N:!0,uriResolver:B}}var __=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...BDt(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new NDt.ValueScope({scope:{},prefixes:DDt,es5:r,lines:n}),this.logger=qDt(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,RDt.getRules)(),c1e.call(this,kDt,e,"NOT SUPPORTED"),c1e.call(this,LDt,e,"DEPRECATED","warn"),this._metaOpts=FDt.call(this),e.formats&&WDt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&$Dt.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),MDt.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=a1e;n==="id"&&(s={...a1e},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof l1e.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let i;if(typeof e=="object"){let{schemaId:a}=this.opts;if(i=e[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,E_.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,e);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(e){let r;for(;typeof(r=u1e.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new b_.SchemaEnv({schema:{},schemaId:n});if(r=b_.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=u1e.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,E_.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(HDt.call(this,n,r),!r)return(0,nU.eachItem)(n,i=>rU.call(this,i)),this;GDt.call(this,r);let s={...r,type:(0,EO.getJSONTypes)(r.type),schemaType:(0,EO.getJSONTypes)(r.schemaType)};return(0,nU.eachItem)(n,s.type.length===0?i=>rU.call(this,i,s):i=>s.type.forEach(a=>rU.call(this,i,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===e);s>=0&&n.rules.splice(s,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let i=s.split("/").slice(1),a=e;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=f1e(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]))}}_addSchema(e,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof e=="object")a=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,E_.normalizeId)(a||n);let u=E_.getSchemaRefs.call(this,e,n);return c=new b_.SchemaEnv({schema:e,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):b_.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{b_.compileSchema.call(this,e)}finally{this.opts=r}}};__.ValidationError=wDt.default;__.MissingRefError=l1e.default;fi.default=__;function c1e(t,e,r,n="error"){for(let s in t){let i=s;i in e&&this.logger[n](`${r}: option ${s}. ${t[i]}`)}}function u1e(t){return t=(0,E_.normalizeId)(t),this.schemas[t]||this.refs[t]}function MDt(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function WDt(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function $Dt(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function FDt(){let t={...this.opts};for(let e of PDt)delete t[e];return t}var UDt={log(){},warn(){},error(){}};function qDt(t){if(t===!1)return UDt;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var jDt=/^[a-z_$][a-z0-9_$:-]*$/i;function HDt(t,e){let{RULES:r}=this;if((0,nU.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!jDt.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function rU(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[t]=!0,!e)return;let o={keyword:t,definition:{...e,type:(0,EO.getJSONTypes)(e.type),schemaType:(0,EO.getJSONTypes)(e.schemaType)}};e.before?QDt.call(this,a,o,e.before):a.rules.push(o),i.all[t]=o,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function QDt(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function GDt(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=f1e(e)),t.validateSchema=this.compile(e,!0))}var VDt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function f1e(t){return{anyOf:[t,VDt]}}});var p1e=E(iU=>{"use strict";Object.defineProperty(iU,"__esModule",{value:!0});var zDt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};iU.default=zDt});var aU=E(Gm=>{"use strict";Object.defineProperty(Gm,"__esModule",{value:!0});Gm.callRef=Gm.getValidate=void 0;var KDt=Ed(),m1e=di(),$a=Et(),by=Zo(),h1e=Qm(),_O=Kt(),YDt={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=h1e.resolveRef.call(c,u,s,r);if(l===void 0)throw new KDt.default(n.opts.uriResolver,s,r);if(l instanceof h1e.SchemaEnv)return f(l);return p(l);function d(){if(i===u)return SO(t,a,i,i.$async);let m=e.scopeValue("root",{ref:u});return SO(t,(0,$a._)`${m}.validate`,u,u.$async)}function f(m){let h=g1e(t,m);SO(t,h,m,m.$async)}function p(m){let h=e.scopeValue("schema",o.code.source===!0?{ref:m,code:(0,$a.stringify)(m)}:{ref:m}),A=e.name("valid"),g=t.subschema({schema:m,dataTypes:[],schemaPath:$a.nil,topSchemaRef:h,errSchemaPath:r},A);t.mergeEvaluated(g),t.ok(A)}}};function g1e(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,$a._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Gm.getValidate=g1e;function SO(t,e,r,n){let{gen:s,it:i}=t,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?by.default.this:$a.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let m=s.let("valid");s.try(()=>{s.code((0,$a._)`await ${(0,m1e.callValidateCode)(t,e,u)}`),p(e),a||s.assign(m,!0)},h=>{s.if((0,$a._)`!(${h} instanceof ${i.ValidationError})`,()=>s.throw(h)),f(h),a||s.assign(m,!1)}),t.ok(m)}function d(){t.result((0,m1e.callValidateCode)(t,e,u),()=>p(e),()=>f(e))}function f(m){let h=(0,$a._)`${m}.errors`;s.assign(by.default.vErrors,(0,$a._)`${by.default.vErrors} === null ? ${h} : ${by.default.vErrors}.concat(${h})`),s.assign(by.default.errors,(0,$a._)`${by.default.vErrors}.length`)}function p(m){var h;if(!i.opts.unevaluated)return;let A=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(i.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(i.props=_O.mergeEvaluated.props(s,A.props,i.props));else{let g=s.var("props",(0,$a._)`${m}.evaluated.props`);i.props=_O.mergeEvaluated.props(s,g,i.props,$a.Name)}if(i.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(i.items=_O.mergeEvaluated.items(s,A.items,i.items));else{let g=s.var("items",(0,$a._)`${m}.evaluated.items`);i.items=_O.mergeEvaluated.items(s,g,i.items,$a.Name)}}}Gm.callRef=SO;Gm.default=YDt});var A1e=E(oU=>{"use strict";Object.defineProperty(oU,"__esModule",{value:!0});var JDt=p1e(),XDt=aU(),ZDt=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",JDt.default,XDt.default];oU.default=ZDt});var y1e=E(cU=>{"use strict";Object.defineProperty(cU,"__esModule",{value:!0});var vO=Et(),Np=vO.operators,CO={maximum:{okStr:"<=",ok:Np.LTE,fail:Np.GT},minimum:{okStr:">=",ok:Np.GTE,fail:Np.LT},exclusiveMaximum:{okStr:"<",ok:Np.LT,fail:Np.GTE},exclusiveMinimum:{okStr:">",ok:Np.GT,fail:Np.LTE}},ekt={message:({keyword:t,schemaCode:e})=>(0,vO.str)`must be ${CO[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,vO._)`{comparison: ${CO[t].okStr}, limit: ${e}}`},tkt={keyword:Object.keys(CO),type:"number",schemaType:"number",$data:!0,error:ekt,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,vO._)`${r} ${CO[e].fail} ${n} || isNaN(${r})`)}};cU.default=tkt});var x1e=E(uU=>{"use strict";Object.defineProperty(uU,"__esModule",{value:!0});var S_=Et(),rkt={message:({schemaCode:t})=>(0,S_.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,S_._)`{multipleOf: ${t}}`},nkt={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:rkt,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,i=s.opts.multipleOfPrecision,a=e.let("res"),o=i?(0,S_._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,S_._)`${a} !== parseInt(${a})`;t.fail$data((0,S_._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};uU.default=nkt});var E1e=E(lU=>{"use strict";Object.defineProperty(lU,"__esModule",{value:!0});function b1e(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}lU.default=b1e;b1e.code='require("ajv/dist/runtime/ucs2length").default'});var _1e=E(dU=>{"use strict";Object.defineProperty(dU,"__esModule",{value:!0});var Vm=Et(),skt=Kt(),ikt=E1e(),akt={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Vm.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Vm._)`{limit: ${t}}`},okt={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:akt,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,i=e==="maxLength"?Vm.operators.GT:Vm.operators.LT,a=s.opts.unicode===!1?(0,Vm._)`${r}.length`:(0,Vm._)`${(0,skt.useFunc)(t.gen,ikt.default)}(${r})`;t.fail$data((0,Vm._)`${a} ${i} ${n}`)}};dU.default=okt});var S1e=E(fU=>{"use strict";Object.defineProperty(fU,"__esModule",{value:!0});var ckt=di(),IO=Et(),ukt={message:({schemaCode:t})=>(0,IO.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,IO._)`{pattern: ${t}}`},lkt={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:ukt,code(t){let{data:e,$data:r,schema:n,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"",o=r?(0,IO._)`(new RegExp(${s}, ${a}))`:(0,ckt.usePattern)(t,n);t.fail$data((0,IO._)`!${o}.test(${e})`)}};fU.default=lkt});var v1e=E(pU=>{"use strict";Object.defineProperty(pU,"__esModule",{value:!0});var v_=Et(),dkt={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,v_.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,v_._)`{limit: ${t}}`},fkt={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:dkt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?v_.operators.GT:v_.operators.LT;t.fail$data((0,v_._)`Object.keys(${r}).length ${s} ${n}`)}};pU.default=fkt});var C1e=E(mU=>{"use strict";Object.defineProperty(mU,"__esModule",{value:!0});var C_=di(),I_=Et(),pkt=Kt(),mkt={message:({params:{missingProperty:t}})=>(0,I_.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,I_._)`{missingProperty: ${t}}`},hkt={keyword:"required",type:"object",schemaType:"array",$data:!0,error:mkt,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:i,it:a}=t,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let p=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let A=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${h}" is not defined at "${A}" (strictRequired)`;(0,pkt.checkStrictMode)(a,g,a.opts.strictRequired)}}function u(){if(c||i)t.block$data(I_.nil,d);else for(let p of r)(0,C_.checkReportMissingProp)(t,p)}function l(){let p=e.let("missing");if(c||i){let m=e.let("valid",!0);t.block$data(m,()=>f(p,m)),t.ok(m)}else e.if((0,C_.checkMissingProp)(t,r,p)),(0,C_.reportMissingProp)(t,p),e.else()}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0,C_.noPropertyInData)(e,s,p,o.ownProperties),()=>t.error())})}function f(p,m){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(m,(0,C_.propertyInData)(e,s,p,o.ownProperties)),e.if((0,I_.not)(m),()=>{t.error(),e.break()})},I_.nil)}}};mU.default=hkt});var I1e=E(hU=>{"use strict";Object.defineProperty(hU,"__esModule",{value:!0});var T_=Et(),gkt={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,T_.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,T_._)`{limit: ${t}}`},Akt={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:gkt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?T_.operators.GT:T_.operators.LT;t.fail$data((0,T_._)`${r}.length ${s} ${n}`)}};hU.default=Akt});var TO=E(gU=>{"use strict";Object.defineProperty(gU,"__esModule",{value:!0});var T1e=Go();T1e.code='require("ajv/dist/runtime/equal").default';gU.default=T1e});var w1e=E(yU=>{"use strict";Object.defineProperty(yU,"__esModule",{value:!0});var AU=m_(),pi=Et(),ykt=Kt(),xkt=TO(),bkt={message:({params:{i:t,j:e}})=>(0,pi.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,pi._)`{i: ${t}, j: ${e}}`},Ekt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:bkt,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=t;if(!n&&!s)return;let c=e.let("valid"),u=i.items?(0,AU.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,pi._)`${a} === false`),t.ok(c);function l(){let m=e.let("i",(0,pi._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,pi._)`${m} > 1`,()=>(d()?f:p)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function f(m,h){let A=e.name("item"),g=(0,AU.checkDataTypes)(u,A,o.opts.strictNumbers,AU.DataType.Wrong),b=e.const("indices",(0,pi._)`{}`);e.for((0,pi._)`;${m}--;`,()=>{e.let(A,(0,pi._)`${r}[${m}]`),e.if(g,(0,pi._)`continue`),u.length>1&&e.if((0,pi._)`typeof ${A} == "string"`,(0,pi._)`${A} += "_"`),e.if((0,pi._)`typeof ${b}[${A}] == "number"`,()=>{e.assign(h,(0,pi._)`${b}[${A}]`),t.error(),e.assign(c,!1).break()}).code((0,pi._)`${b}[${A}] = ${m}`)})}function p(m,h){let A=(0,ykt.useFunc)(e,xkt.default),g=e.name("outer");e.label(g).for((0,pi._)`;${m}--;`,()=>e.for((0,pi._)`${h} = ${m}; ${h}--;`,()=>e.if((0,pi._)`${A}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(g)})))}}};yU.default=Ekt});var R1e=E(bU=>{"use strict";Object.defineProperty(bU,"__esModule",{value:!0});var xU=Et(),_kt=Kt(),Skt=TO(),vkt={message:"must be equal to constant",params:({schemaCode:t})=>(0,xU._)`{allowedValue: ${t}}`},Ckt={keyword:"const",$data:!0,error:vkt,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,xU._)`!${(0,_kt.useFunc)(e,Skt.default)}(${r}, ${s})`):t.fail((0,xU._)`${i} !== ${r}`)}};bU.default=Ckt});var N1e=E(EU=>{"use strict";Object.defineProperty(EU,"__esModule",{value:!0});var w_=Et(),Ikt=Kt(),Tkt=TO(),wkt={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,w_._)`{allowedValues: ${t}}`},Rkt={keyword:"enum",schemaType:"array",$data:!0,error:wkt,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:i,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,Ikt.useFunc)(e,Tkt.default)),l;if(o||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let p=e.const("vSchema",i);l=(0,w_.or)(...s.map((m,h)=>f(p,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,p=>e.if((0,w_._)`${u()}(${r}, ${p})`,()=>e.assign(l,!0).break()))}function f(p,m){let h=s[m];return typeof h=="object"&&h!==null?(0,w_._)`${u()}(${r}, ${p}[${m}])`:(0,w_._)`${r} === ${h}`}}};EU.default=Rkt});var O1e=E(_U=>{"use strict";Object.defineProperty(_U,"__esModule",{value:!0});var Nkt=y1e(),Okt=x1e(),Pkt=_1e(),Dkt=S1e(),kkt=v1e(),Lkt=C1e(),Bkt=I1e(),Mkt=w1e(),Wkt=R1e(),$kt=N1e(),Fkt=[Nkt.default,Okt.default,Pkt.default,Dkt.default,kkt.default,Lkt.default,Bkt.default,Mkt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Wkt.default,$kt.default];_U.default=Fkt});var vU=E(R_=>{"use strict";Object.defineProperty(R_,"__esModule",{value:!0});R_.validateAdditionalItems=void 0;var zm=Et(),SU=Kt(),Ukt={message:({params:{len:t}})=>(0,zm.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,zm._)`{limit: ${t}}`},qkt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Ukt,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,SU.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}P1e(t,n)}};function P1e(t,e){let{gen:r,schema:n,data:s,keyword:i,it:a}=t;a.items=!0;let o=r.const("len",(0,zm._)`${s}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,zm._)`${o} <= ${e.length}`);else if(typeof n=="object"&&!(0,SU.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,zm._)`${o} <= ${e.length}`);r.if((0,zm.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,o,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:SU.Type.Num},u),a.allErrors||r.if((0,zm.not)(u),()=>r.break())})}}R_.validateAdditionalItems=P1e;R_.default=qkt});var CU=E(N_=>{"use strict";Object.defineProperty(N_,"__esModule",{value:!0});N_.validateTuple=void 0;var D1e=Et(),wO=Kt(),jkt=di(),Hkt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return k1e(t,"additionalItems",e);r.items=!0,!(0,wO.alwaysValidSchema)(r,e)&&t.ok((0,jkt.validateArray)(t))}};function k1e(t,e,r=t.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=t;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=wO.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,D1e._)`${i}.length`);r.forEach((d,f)=>{(0,wO.alwaysValidSchema)(o,d)||(n.if((0,D1e._)`${u} > ${f}`,()=>t.subschema({keyword:a,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:p}=o,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let A=`"${a}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,wO.checkStrictMode)(o,A,f.strictTuples)}}}N_.validateTuple=k1e;N_.default=Hkt});var L1e=E(IU=>{"use strict";Object.defineProperty(IU,"__esModule",{value:!0});var Qkt=CU(),Gkt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,Qkt.validateTuple)(t,"items")};IU.default=Gkt});var M1e=E(TU=>{"use strict";Object.defineProperty(TU,"__esModule",{value:!0});var B1e=Et(),Vkt=Kt(),zkt=di(),Kkt=vU(),Ykt={message:({params:{len:t}})=>(0,B1e.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,B1e._)`{limit: ${t}}`},Jkt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Ykt,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=!0,!(0,Vkt.alwaysValidSchema)(n,e)&&(s?(0,Kkt.validateAdditionalItems)(t,s):t.ok((0,zkt.validateArray)(t)))}};TU.default=Jkt});var W1e=E(wU=>{"use strict";Object.defineProperty(wU,"__esModule",{value:!0});var tc=Et(),RO=Kt(),Xkt={message:({params:{min:t,max:e}})=>e===void 0?(0,tc.str)`must contain at least ${t} valid item(s)`:(0,tc.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,tc._)`{minContains: ${t}}`:(0,tc._)`{minContains: ${t}, maxContains: ${e}}`},Zkt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Xkt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=e.const("len",(0,tc._)`${s}.length`);if(t.setParams({min:a,max:o}),o===void 0&&a===0){(0,RO.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,RO.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,RO.alwaysValidSchema)(i,r)){let h=(0,tc._)`${l} >= ${a}`;o!==void 0&&(h=(0,tc._)`${h} && ${l} <= ${o}`),t.pass(h);return}i.items=!0;let d=e.name("valid");o===void 0&&a===1?p(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),o!==void 0&&e.if((0,tc._)`${s}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),A=e.let("count",0);p(h,()=>e.if(h,()=>m(A)))}function p(h,A){e.forRange("i",0,l,g=>{t.subschema({keyword:"contains",dataProp:g,dataPropType:RO.Type.Num,compositeRule:!0},h),A()})}function m(h){e.code((0,tc._)`${h}++`),o===void 0?e.if((0,tc._)`${h} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,tc._)`${h} > ${o}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,tc._)`${h} >= ${a}`,()=>e.assign(d,!0)))}}};wU.default=Zkt});var U1e=E(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.validateSchemaDeps=Xu.validatePropertyDeps=Xu.error=void 0;var RU=Et(),eLt=Kt(),O_=di();Xu.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,RU.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,RU._)`{property: ${t},
missingProperty: ${n},
depsCount: ${e},
deps: ${r}}`};var tLt={keyword:"dependencies",type:"object",schemaType:"object",error:Xu.error,code(t){let[e,r]=rLt(t);$1e(t,e),F1e(t,r)}};function rLt({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n]}return[e,r]}function $1e(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let a in e){let o=e[a];if(o.length===0)continue;let c=(0,O_.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,O_.checkReportMissingProp)(t,u)}):(r.if((0,RU._)`${c} && (${(0,O_.checkMissingProp)(t,o,i)})`),(0,O_.reportMissingProp)(t,i),r.else())}}Xu.validatePropertyDeps=$1e;function F1e(t,e=t.schema){let{gen:r,data:n,keyword:s,it:i}=t,a=r.name("valid");for(let o in e)(0,eLt.alwaysValidSchema)(i,e[o])||(r.if((0,O_.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:o},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}Xu.validateSchemaDeps=F1e;Xu.default=tLt});var j1e=E(NU=>{"use strict";Object.defineProperty(NU,"__esModule",{value:!0});var q1e=Et(),nLt=Kt(),sLt={message:"property name must be valid",params:({params:t})=>(0,q1e._)`{propertyName: ${t.propertyName}}`},iLt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:sLt,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0,nLt.alwaysValidSchema)(s,r))return;let i=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),e.if((0,q1e.not)(i),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(i)}};NU.default=iLt});var PU=E(OU=>{"use strict";Object.defineProperty(OU,"__esModule",{value:!0});var NO=di(),zc=Et(),aLt=Zo(),OO=Kt(),oLt={message:"must NOT have additional properties",params:({params:t})=>(0,zc._)`{additionalProperty: ${t.additionalProperty}}`},cLt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:oLt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,OO.alwaysValidSchema)(a,r))return;let u=(0,NO.allSchemaProperties)(n.properties),l=(0,NO.allSchemaProperties)(n.patternProperties);d(),t.ok((0,zc._)`${i} === ${aLt.default.errors}`);function d(){e.forIn("key",s,A=>{!u.length&&!l.length?m(A):e.if(f(A),()=>m(A))})}function f(A){let g;if(u.length>8){let b=(0,OO.schemaRefOrVal)(a,n.properties,"properties");g=(0,NO.isOwnProperty)(e,b,A)}else u.length?g=(0,zc.or)(...u.map(b=>(0,zc._)`${A} === ${b}`)):g=zc.nil;return l.length&&(g=(0,zc.or)(g,...l.map(b=>(0,zc._)`${(0,NO.usePattern)(t,b)}.test(${A})`))),(0,zc.not)(g)}function p(A){e.code((0,zc._)`delete ${s}[${A}]`)}function m(A){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(A);return}if(r===!1){t.setParams({additionalProperty:A}),t.error(),o||e.break();return}if(typeof r=="object"&&!(0,OO.alwaysValidSchema)(a,r)){let g=e.name("valid");c.removeAdditional==="failing"?(h(A,g,!1),e.if((0,zc.not)(g),()=>{t.reset(),p(A)})):(h(A,g),o||e.if((0,zc.not)(g),()=>e.break()))}}function h(A,g,b){let y={keyword:"additionalProperties",dataProp:A,dataPropType:OO.Type.Str};b===!1&&Object.assign(y,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(y,g)}}};OU.default=cLt});var G1e=E(kU=>{"use strict";Object.defineProperty(kU,"__esModule",{value:!0});var uLt=Ay(),H1e=di(),DU=Kt(),Q1e=PU(),lLt={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Q1e.default.code(new uLt.KeywordCxt(i,Q1e.default,"additionalProperties"));let a=(0,H1e.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=DU.mergeEvaluated.props(e,(0,DU.toHash)(a),i.props));let o=a.filter(d=>!(0,DU.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=e.name("valid");for(let d of o)u(d)?l(d):(e.if((0,H1e.propertyInData)(e,s,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};kU.default=lLt});var Y1e=E(LU=>{"use strict";Object.defineProperty(LU,"__esModule",{value:!0});var V1e=di(),PO=Et(),z1e=Kt(),K1e=Kt(),dLt={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:i}=t,{opts:a}=i,o=(0,V1e.allSchemaProperties)(r),c=o.filter(h=>(0,z1e.alwaysValidSchema)(i,r[h]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof PO.Name)&&(i.props=(0,K1e.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let h of o)u&&p(h),i.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function p(h){for(let A in u)new RegExp(h).test(A)&&(0,z1e.checkStrictMode)(i,`property ${A} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,A=>{e.if((0,PO._)`${(0,V1e.usePattern)(t,h)}.test(${A})`,()=>{let g=c.includes(h);g||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:A,dataPropType:K1e.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,PO._)`${d}[${A}]`,!0):!g&&!i.allErrors&&e.if((0,PO.not)(l),()=>e.break())})})}}};LU.default=dLt});var J1e=E(BU=>{"use strict";Object.defineProperty(BU,"__esModule",{value:!0});var fLt=Kt(),pLt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,fLt.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};BU.default=pLt});var X1e=E(MU=>{"use strict";Object.defineProperty(MU,"__esModule",{value:!0});var mLt=di(),hLt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:mLt.validateUnion,error:{message:"must match a schema in anyOf"}};MU.default=hLt});var Z1e=E(WU=>{"use strict";Object.defineProperty(WU,"__esModule",{value:!0});var DO=Et(),gLt=Kt(),ALt={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,DO._)`{passingSchemas: ${t.passing}}`},yLt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:ALt,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=e.let("valid",!1),o=e.let("passing",null),c=e.name("_valid");t.setParams({passing:o}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let f;(0,gLt.alwaysValidSchema)(s,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,DO._)`${c} && ${a}`).assign(a,!1).assign(o,(0,DO._)`[${o}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(o,d),f&&t.mergeEvaluated(f,DO.Name)})})}}};WU.default=yLt});var e_e=E($U=>{"use strict";Object.defineProperty($U,"__esModule",{value:!0});var xLt=Kt(),bLt={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((i,a)=>{if((0,xLt.alwaysValidSchema)(n,i))return;let o=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(o)})}};$U.default=bLt});var n_e=E(FU=>{"use strict";Object.defineProperty(FU,"__esModule",{value:!0});var kO=Et(),r_e=Kt(),ELt={message:({params:t})=>(0,kO.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,kO._)`{failingKeyword: ${t.ifClause}}`},_Lt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:ELt,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,r_e.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=t_e(n,"then"),i=t_e(n,"else");if(!s&&!i)return;let a=e.let("valid",!0),o=e.name("_valid");if(c(),t.reset(),s&&i){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(o,u("then",l),u("else",l))}else s?e.if(o,u("then")):e.if((0,kO.not)(o),u("else"));t.pass(a,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},o);e.assign(a,o),t.mergeValidEvaluated(f,a),d?e.assign(d,(0,kO._)`${l}`):t.setParams({ifClause:l})}}}};function t_e(t,e){let r=t.schema[e];return r!==void 0&&!(0,r_e.alwaysValidSchema)(t,r)}FU.default=_Lt});var s_e=E(UU=>{"use strict";Object.defineProperty(UU,"__esModule",{value:!0});var SLt=Kt(),vLt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,SLt.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};UU.default=vLt});var i_e=E(qU=>{"use strict";Object.defineProperty(qU,"__esModule",{value:!0});var CLt=vU(),ILt=L1e(),TLt=CU(),wLt=M1e(),RLt=W1e(),NLt=U1e(),OLt=j1e(),PLt=PU(),DLt=G1e(),kLt=Y1e(),LLt=J1e(),BLt=X1e(),MLt=Z1e(),WLt=e_e(),$Lt=n_e(),FLt=s_e();function ULt(t=!1){let e=[LLt.default,BLt.default,MLt.default,WLt.default,$Lt.default,FLt.default,OLt.default,PLt.default,NLt.default,DLt.default,kLt.default];return t?e.push(ILt.default,wLt.default):e.push(CLt.default,TLt.default),e.push(RLt.default),e}qU.default=ULt});var a_e=E(jU=>{"use strict";Object.defineProperty(jU,"__esModule",{value:!0});var ls=Et(),qLt={message:({schemaCode:t})=>(0,ls.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ls._)`{format: ${t}}`},jLt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:qLt,code(t,e){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():p();function f(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,ls._)`${m}[${a}]`),A=r.let("fType"),g=r.let("format");r.if((0,ls._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(A,(0,ls._)`${h}.type || "string"`).assign(g,(0,ls._)`${h}.validate`),()=>r.assign(A,(0,ls._)`"string"`).assign(g,h)),t.fail$data((0,ls.or)(b(),y()));function b(){return c.strictSchema===!1?ls.nil:(0,ls._)`${a} && !${g}`}function y(){let x=l.$async?(0,ls._)`(${h}.async ? await ${g}(${n}) : ${g}(${n}))`:(0,ls._)`${g}(${n})`,v=(0,ls._)`(typeof ${g} == "function" ? ${x} : ${g}.test(${n}))`;return(0,ls._)`${g} && ${g} !== true && ${A} === ${e} && !${v}`}}function p(){let m=d.formats[i];if(!m){b();return}if(m===!0)return;let[h,A,g]=y(m);h===e&&t.pass(x());function b(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function y(v){let C=v instanceof RegExp?(0,ls.regexpCode)(v):c.code.formats?(0,ls._)`${c.code.formats}${(0,ls.getProperty)(i)}`:void 0,R=r.scopeValue("formats",{key:i,ref:v,code:C});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,ls._)`${R}.validate`]:["string",v,R]}function x(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ls._)`await ${g}(${n})`}return typeof A=="function"?(0,ls._)`${g}(${n})`:(0,ls._)`${g}.test(${n})`}}}};jU.default=jLt});var o_e=E(HU=>{"use strict";Object.defineProperty(HU,"__esModule",{value:!0});var HLt=a_e(),QLt=[HLt.default];HU.default=QLt});var c_e=E(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.contentVocabulary=Ey.metadataVocabulary=void 0;Ey.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ey.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var l_e=E(QU=>{"use strict";Object.defineProperty(QU,"__esModule",{value:!0});var GLt=A1e(),VLt=O1e(),zLt=i_e(),KLt=o_e(),u_e=c_e(),YLt=[GLt.default,VLt.default,(0,zLt.default)(),KLt.default,u_e.metadataVocabulary,u_e.contentVocabulary];QU.default=YLt});var GU=E(LO=>{"use strict";Object.defineProperty(LO,"__esModule",{value:!0});LO.DiscrError=void 0;var d_e;(function(t){t.Tag="tag",t.Mapping="mapping"})(d_e||(LO.DiscrError=d_e={}))});var p_e=E(zU=>{"use strict";Object.defineProperty(zU,"__esModule",{value:!0});var _y=Et(),VU=GU(),f_e=Qm(),JLt=Ed(),XLt=Kt(),ZLt={message:({params:{discrError:t,tagName:e}})=>t===VU.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,_y._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},eBt={keyword:"discriminator",type:"object",schemaType:"object",error:ZLt,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,_y._)`${r}${(0,_y.getProperty)(o)}`);e.if((0,_y._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:VU.DiscrError.Tag,tag:u,tagName:o})),t.ok(c);function l(){let p=f();e.if(!1);for(let m in p)e.elseIf((0,_y._)`${u} === ${m}`),e.assign(c,d(p[m]));e.else(),t.error(!1,{discrError:VU.DiscrError.Mapping,tag:u,tagName:o}),e.endIf()}function d(p){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:p},m);return t.mergeEvaluated(h,_y.Name),m}function f(){var p;let m={},h=g(s),A=!0;for(let x=0;x<a.length;x++){let v=a[x];if(v?.$ref&&!(0,XLt.schemaHasRulesButRef)(v,i.self.RULES)){let R=v.$ref;if(v=f_e.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,R),v instanceof f_e.SchemaEnv&&(v=v.schema),v===void 0)throw new JLt.default(i.opts.uriResolver,i.baseId,R)}let C=(p=v?.properties)===null||p===void 0?void 0:p[o];if(typeof C!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${o}"`);A=A&&(h||g(v)),b(C,x)}if(!A)throw new Error(`discriminator: "${o}" must be required`);return m;function g({required:x}){return Array.isArray(x)&&x.includes(o)}function b(x,v){if(x.const)y(x.const,v);else if(x.enum)for(let C of x.enum)y(C,v);else throw new Error(`discriminator: "properties/${o}" must have "const" or "enum"`)}function y(x,v){if(typeof x!="string"||x in m)throw new Error(`discriminator: "${o}" values must be unique strings`);m[x]=v}}}};zU.default=eBt});var m_e=E((yLr,tBt)=>{tBt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var g_e=E((Dn,KU)=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.MissingRefError=Dn.ValidationError=Dn.CodeGen=Dn.Name=Dn.nil=Dn.stringify=Dn.str=Dn._=Dn.KeywordCxt=Dn.Ajv=void 0;var rBt=sU(),nBt=l_e(),sBt=p_e(),h_e=m_e(),iBt=["/properties"],BO="http://json-schema.org/draft-07/schema",Sy=class extends rBt.default{_addVocabularies(){super._addVocabularies(),nBt.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(sBt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(h_e,iBt):h_e;this.addMetaSchema(e,BO,!1),this.refs["http://json-schema.org/schema"]=BO}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(BO)?BO:void 0)}};Dn.Ajv=Sy;KU.exports=Dn=Sy;KU.exports.Ajv=Sy;Object.defineProperty(Dn,"__esModule",{value:!0});Dn.default=Sy;var aBt=Ay();Object.defineProperty(Dn,"KeywordCxt",{enumerable:!0,get:function(){return aBt.KeywordCxt}});var vy=Et();Object.defineProperty(Dn,"_",{enumerable:!0,get:function(){return vy._}});Object.defineProperty(Dn,"str",{enumerable:!0,get:function(){return vy.str}});Object.defineProperty(Dn,"stringify",{enumerable:!0,get:function(){return vy.stringify}});Object.defineProperty(Dn,"nil",{enumerable:!0,get:function(){return vy.nil}});Object.defineProperty(Dn,"Name",{enumerable:!0,get:function(){return vy.Name}});Object.defineProperty(Dn,"CodeGen",{enumerable:!0,get:function(){return vy.CodeGen}});var oBt=y_();Object.defineProperty(Dn,"ValidationError",{enumerable:!0,get:function(){return oBt.default}});var cBt=Ed();Object.defineProperty(Dn,"MissingRefError",{enumerable:!0,get:function(){return cBt.default}})});var Sd=E(P_=>{"use strict";Object.defineProperty(P_,"__esModule",{value:!0});P_.checkMetadata=void 0;var uBt=Kt(),lBt={keyword:"metadata",schemaType:"object",code(t){A_e(t);let{gen:e,schema:r,it:n}=t;if((0,uBt.alwaysValidSchema)(n,r))return;let s=e.name("valid");t.subschema({keyword:"metadata",jtdMetadata:!0},s),t.ok(s)}};function A_e({it:t,keyword:e},r){if(t.jtdMetadata!==r)throw new Error(`JTD: "${e}" cannot be used in this schema location`)}P_.checkMetadata=A_e;P_.default=lBt});var MO=E(k_=>{"use strict";Object.defineProperty(k_,"__esModule",{value:!0});k_.hasRef=void 0;var y_e=Qm(),D_=Et(),dBt=Ed(),x_e=Zo(),b_e=aU(),fBt=Sd(),pBt={keyword:"ref",schemaType:"string",code(t){(0,fBt.checkMetadata)(t);let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{schemaEnv:{root:a}}=i,o=e.name("valid");s.nullable?(e.var(o,(0,D_._)`${r} === null`),e.if((0,D_.not)(o),c)):(e.var(o,!1),c()),t.ok(o);function c(){var d;let f=(d=a.schema.definitions)===null||d===void 0?void 0:d[n];if(!f)throw new dBt.default(i.opts.uriResolver,"",n,`No definition ${n}`);YU(f)||!i.opts.inlineRefs?u(f):l(f)}function u(d){let f=y_e.compileSchema.call(i.self,new y_e.SchemaEnv({schema:d,root:a,schemaPath:`/definitions/${n}`})),p=(0,b_e.getValidate)(t,f),m=e.const("_errs",x_e.default.errors);(0,b_e.callRef)(t,p,f,f.$async),e.assign(o,(0,D_._)`${m} === ${x_e.default.errors}`)}function l(d){let f=e.scopeValue("schema",i.opts.code.source===!0?{ref:d,code:(0,D_.stringify)(d)}:{ref:d});t.subschema({schema:d,dataTypes:[],schemaPath:D_.nil,topSchemaRef:f,errSchemaPath:`/definitions/${n}`},o)}}};function YU(t){for(let e in t){let r;if(e==="ref"||typeof(r=t[e])=="object"&&YU(r))return!0}return!1}k_.hasRef=YU;k_.default=pBt});var XU=E(JU=>{"use strict";Object.defineProperty(JU,"__esModule",{value:!0});var mBt=/t|\s/i,hBt=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,gBt=/^(\d\d):(\d\d):(\d\d)(?:\.\d+)?(?:z|([+-]\d\d)(?::?(\d\d))?)$/i,ABt=[0,31,28,31,30,31,30,31,31,30,31,30,31];function __e(t,e){let r=t.split(mBt);return r.length===2&&E_e(r[0])&&yBt(r[1])||e&&r.length===1&&E_e(r[0])}JU.default=__e;function E_e(t){let e=hBt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3];return n>=1&&n<=12&&s>=1&&(s<=ABt[n]||n===2&&s===29&&(r%100===0?r%400===0:r%4===0))}function yBt(t){let e=gBt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3],i=+(e[4]||0),a=+(e[5]||0);return r<=23&&n<=59&&s<=59||r-i===23&&n-a===59&&s===60}__e.code='require("ajv/dist/runtime/timestamp").default'});var Cy=E(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.typeErrorParams=Op.typeErrorMessage=Op.typeError=void 0;var xBt=Et();function bBt(t){return{message:e=>S_e(e,t),params:e=>v_e(e,t)}}Op.typeError=bBt;function S_e({parentSchema:t},e){return t?.nullable?`must be ${e} or null`:`must be ${e}`}Op.typeErrorMessage=S_e;function v_e({parentSchema:t},e){return(0,xBt._)`{type: ${e}, nullable: ${!!t?.nullable}}`}Op.typeErrorParams=v_e});var ZU=E(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.intRange=void 0;var bo=Et(),EBt=XU(),_Bt=Kt(),SBt=Sd(),C_e=Cy();Iy.intRange={int8:[-128,127,3],uint8:[0,255,3],int16:[-32768,32767,5],uint16:[0,65535,5],int32:[-2147483648,2147483647,10],uint32:[0,4294967295,10]};var vBt={message:t=>(0,C_e.typeErrorMessage)(t,t.schema),params:t=>(0,C_e.typeErrorParams)(t,t.schema)};function CBt(t){let{gen:e,data:r,it:n}=t,{timestamp:s,allowDate:i}=n.opts;if(s==="date")return(0,bo._)`${r} instanceof Date `;let a=(0,_Bt.useFunc)(e,EBt.default),o=i?(0,bo._)`, true`:bo.nil,c=(0,bo._)`typeof ${r} == "string" && ${a}(${r}${o})`;return s==="string"?c:(0,bo.or)((0,bo._)`${r} instanceof Date`,c)}var IBt={keyword:"type",schemaType:"string",error:vBt,code(t){(0,SBt.checkMetadata)(t);let{data:e,schema:r,parentSchema:n,it:s}=t,i;switch(r){case"boolean":case"string":i=(0,bo._)`typeof ${e} == ${r}`;break;case"timestamp":{i=CBt(t);break}case"float32":case"float64":i=(0,bo._)`typeof ${e} == "number"`;break;default:{let a=r;if(i=(0,bo._)`typeof ${e} == "number" && isFinite(${e}) && !(${e} % 1)`,!s.opts.int32range&&(a==="int32"||a==="uint32"))a==="uint32"&&(i=(0,bo._)`${i} && ${e} >= 0`);else{let[o,c]=Iy.intRange[a];i=(0,bo._)`${i} && ${e} >= ${o} && ${e} <= ${c}`}}}t.pass(n.nullable?(0,bo.or)((0,bo._)`${e} === null`,i):i)}};Iy.default=IBt});var wy=E(Ty=>{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});Ty.checkNullableObject=Ty.checkNullable=void 0;var WO=Et();function I_e({gen:t,data:e,parentSchema:r},n=WO.nil){let s=t.name("valid");return r.nullable?(t.let(s,(0,WO._)`${e} === null`),n=(0,WO.not)(s)):t.let(s,!1),[s,n]}Ty.checkNullable=I_e;function TBt(t,e){let[r,n]=I_e(t,e);return[r,(0,WO._)`${n} && typeof ${t.data} == "object" && !Array.isArray(${t.data})`]}Ty.checkNullableObject=TBt});var T_e=E(e7=>{"use strict";Object.defineProperty(e7,"__esModule",{value:!0});var Pp=Et(),wBt=Sd(),RBt=wy(),NBt={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Pp._)`{allowedValues: ${t}}`},OBt={keyword:"enum",schemaType:"array",error:NBt,code(t){(0,wBt.checkMetadata)(t);let{gen:e,data:r,schema:n,schemaValue:s,parentSchema:i,it:a}=t;if(n.length===0)throw new Error("enum must have non-empty array");if(n.length!==new Set(n).size)throw new Error("enum items must be unique");let o,c=(0,Pp._)`typeof ${r} == "string"`;if(n.length>=a.opts.loopEnum){let l;[o,l]=(0,RBt.checkNullable)(t,c),e.if(l,u)}else{if(!Array.isArray(n))throw new Error("ajv implementation error");o=(0,Pp.and)(c,(0,Pp.or)(...n.map(l=>(0,Pp._)`${r} === ${l}`))),i.nullable&&(o=(0,Pp.or)((0,Pp._)`${r} === null`,o))}t.pass(o);function u(){e.forOf("v",s,l=>e.if((0,Pp._)`${o} = ${r} === ${l}`,()=>e.break()))}}};e7.default=OBt});var R_e=E(t7=>{"use strict";Object.defineProperty(t7,"__esModule",{value:!0});var PBt=Kt(),DBt=di(),w_e=Et(),kBt=Sd(),LBt=wy(),BBt=Cy(),MBt={keyword:"elements",schemaType:"object",error:(0,BBt.typeError)("array"),code(t){(0,kBt.checkMetadata)(t);let{gen:e,data:r,schema:n,it:s}=t;if((0,PBt.alwaysValidSchema)(s,n))return;let[i]=(0,LBt.checkNullable)(t);e.if((0,w_e.not)(i),()=>e.if((0,w_e._)`Array.isArray(${r})`,()=>e.assign(i,(0,DBt.validateArray)(t)),()=>t.error())),t.ok(i)}};t7.default=MBt});var n7=E(Dp=>{"use strict";Object.defineProperty(Dp,"__esModule",{value:!0});Dp.validateProperties=Dp.error=void 0;var r7=di(),N_e=Kt(),vd=Et(),WBt=Sd(),$Bt=wy(),O_e=Cy(),Ry;(function(t){t.Additional="additional",t.Missing="missing"})(Ry||(Ry={}));Dp.error={message:t=>{let{params:e}=t;return e.propError?e.propError===Ry.Additional?"must NOT have additional properties":`must have property '${e.missingProperty}'`:(0,O_e.typeErrorMessage)(t,"object")},params:t=>{let{params:e}=t;return e.propError?e.propError===Ry.Additional?(0,vd._)`{error: ${e.propError}, additionalProperty: ${e.additionalProperty}}`:(0,vd._)`{error: ${e.propError}, missingProperty: ${e.missingProperty}}`:(0,O_e.typeErrorParams)(t,"object")}};var FBt={keyword:"properties",schemaType:"object",error:Dp.error,code:P_e};function P_e(t){(0,WBt.checkMetadata)(t);let{gen:e,data:r,parentSchema:n,it:s}=t,{additionalProperties:i,nullable:a}=n;if(s.jtdDiscriminator&&a)throw new Error("JTD: nullable inside discriminator mapping");if(p())throw new Error("JTD: properties and optionalProperties have common members");let[o,c]=m("properties"),[u,l]=m("optionalProperties");if(c.length===0&&l.length===0&&i)return;let[d,f]=s.jtdDiscriminator===void 0?(0,$Bt.checkNullableObject)(t,r):[e.let("valid",!1),!0];e.if(f,()=>e.assign(d,!0).block(()=>{h(c,"properties",!0),h(l,"optionalProperties"),i||g()})),t.pass(d);function p(){let y=n.properties,x=n.optionalProperties;if(!(y&&x))return!1;for(let v in y)if(Object.prototype.hasOwnProperty.call(x,v))return!0;return!1}function m(y){let x=n[y],v=x?(0,r7.allSchemaProperties)(x):[];if(s.jtdDiscriminator&&v.some(R=>R===s.jtdDiscriminator))throw new Error(`JTD: discriminator tag used in ${y}`);let C=v.filter(R=>!(0,N_e.alwaysValidSchema)(s,x[R]));return[v,C]}function h(y,x,v){let C=e.var("valid");for(let w of y)e.if((0,r7.propertyInData)(e,r,w,s.opts.ownProperties),()=>A(w,x,C),()=>R(w)),t.ok(C);function R(w){v?(e.assign(C,!1),t.error(!1,{propError:Ry.Missing,missingProperty:w},{schemaPath:w})):e.assign(C,!0)}}function A(y,x,v){t.subschema({keyword:x,schemaProp:y,dataProp:y},v)}function g(){e.forIn("key",r,y=>{let x=b(y,o,"properties",s.jtdDiscriminator),v=b(y,u,"optionalProperties"),C=x===!0?v:v===!0?x:(0,vd.and)(x,v);e.if(C,()=>{s.opts.removeAdditional?e.code((0,vd._)`delete ${r}[${y}]`):(t.error(!1,{propError:Ry.Additional,additionalProperty:y},{instancePath:y,parentSchema:!0}),s.opts.allErrors||e.break())})})}function b(y,x,v,C){let R;if(x.length>8){let w=(0,N_e.schemaRefOrVal)(s,n[v],v);R=(0,vd.not)((0,r7.isOwnProperty)(e,w,y)),C!==void 0&&(R=(0,vd.and)(R,(0,vd._)`${y} !== ${C}`))}else if(x.length||C!==void 0){let w=C===void 0?x:[C].concat(x);R=(0,vd.and)(...w.map(N=>(0,vd._)`${y} !== ${N}`))}else R=!0;return R}}Dp.validateProperties=P_e;Dp.default=FBt});var k_e=E(s7=>{"use strict";Object.defineProperty(s7,"__esModule",{value:!0});var D_e=n7(),UBt={keyword:"optionalProperties",schemaType:"object",error:D_e.error,code(t){t.parentSchema.properties||(0,D_e.validateProperties)(t)}};s7.default=UBt});var B_e=E(i7=>{"use strict";Object.defineProperty(i7,"__esModule",{value:!0});var Km=Et(),qBt=Sd(),jBt=wy(),L_e=Cy(),$O=GU(),HBt={message:t=>{let{schema:e,params:r}=t;return r.discrError?r.discrError===$O.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in mapping`:(0,L_e.typeErrorMessage)(t,"object")},params:t=>{let{schema:e,params:r}=t;return r.discrError?(0,Km._)`{error: ${r.discrError}, tag: ${e}, tagValue: ${r.tag}}`:(0,L_e.typeErrorParams)(t,"object")}},QBt={keyword:"discriminator",schemaType:"string",implements:["mapping"],error:HBt,code(t){(0,qBt.checkMetadata)(t);let{gen:e,data:r,schema:n,parentSchema:s}=t,[i,a]=(0,jBt.checkNullableObject)(t,r);e.if(a),o(),e.elseIf((0,Km.not)(i)),t.error(),e.endIf(),t.ok(i);function o(){let l=e.const("tag",(0,Km._)`${r}${(0,Km.getProperty)(n)}`);e.if((0,Km._)`${l} === undefined`),t.error(!1,{discrError:$O.DiscrError.Tag,tag:l}),e.elseIf((0,Km._)`typeof ${l} == "string"`),c(l),e.else(),t.error(!1,{discrError:$O.DiscrError.Tag,tag:l},{instancePath:n}),e.endIf()}function c(l){e.if(!1);for(let d in s.mapping)e.elseIf((0,Km._)`${l} === ${d}`),e.assign(i,u(d));e.else(),t.error(!1,{discrError:$O.DiscrError.Mapping,tag:l},{instancePath:n,schemaPath:"mapping",parentSchema:!0}),e.endIf()}function u(l){let d=e.name("valid");return t.subschema({keyword:"mapping",schemaProp:l,jtdDiscriminator:n},d),d}}};i7.default=QBt});var W_e=E(a7=>{"use strict";Object.defineProperty(a7,"__esModule",{value:!0});var M_e=Kt(),FO=Et(),GBt=Sd(),VBt=wy(),zBt=Cy(),KBt={keyword:"values",schemaType:"object",error:(0,zBt.typeError)("object"),code(t){(0,GBt.checkMetadata)(t);let{gen:e,data:r,schema:n,it:s}=t,[i,a]=(0,VBt.checkNullableObject)(t,r);(0,M_e.alwaysValidSchema)(s,n)?e.if((0,FO.not)((0,FO.or)(a,i)),()=>t.error()):(e.if(a),e.assign(i,o()),e.elseIf((0,FO.not)(i)),t.error(),e.endIf()),t.ok(i);function o(){let c=e.name("valid");if(s.allErrors){let l=e.let("valid",!0);return u(()=>e.assign(l,!1)),l}return e.var(c,!0),u(()=>e.break()),c;function u(l){e.forIn("key",r,d=>{t.subschema({keyword:"values",dataProp:d,dataPropType:M_e.Type.Str},c),e.if((0,FO.not)(c),l)})}}}};a7.default=KBt});var $_e=E(o7=>{"use strict";Object.defineProperty(o7,"__esModule",{value:!0});var YBt=di(),JBt={keyword:"union",schemaType:"array",trackErrors:!0,code:YBt.validateUnion,error:{message:"must match a schema in union"}};o7.default=JBt});var F_e=E(c7=>{"use strict";Object.defineProperty(c7,"__esModule",{value:!0});var XBt=MO(),ZBt=ZU(),e4t=T_e(),t4t=R_e(),r4t=n7(),n4t=k_e(),s4t=B_e(),i4t=W_e(),a4t=$_e(),o4t=Sd(),c4t=["definitions",XBt.default,ZBt.default,e4t.default,t4t.default,r4t.default,n4t.default,s4t.default,i4t.default,a4t.default,o4t.default,{keyword:"additionalProperties",schemaType:"boolean"},{keyword:"nullable",schemaType:"boolean"}];c7.default=c4t});var H_e=E(u7=>{"use strict";Object.defineProperty(u7,"__esModule",{value:!0});var Cd=t=>{let e={nullable:{type:"boolean"},metadata:{optionalProperties:{union:{elements:{ref:"schema"}}},additionalProperties:!0}};return t&&(e.definitions={values:{ref:"schema"}}),e},u4t=t=>({optionalProperties:Cd(t)}),l4t=t=>({properties:{ref:{type:"string"}},optionalProperties:Cd(t)}),d4t=t=>({properties:{type:{enum:["boolean","timestamp","string","float32","float64","int8","uint8","int16","uint16","int32","uint32"]}},optionalProperties:Cd(t)}),f4t=t=>({properties:{enum:{elements:{type:"string"}}},optionalProperties:Cd(t)}),p4t=t=>({properties:{elements:{ref:"schema"}},optionalProperties:Cd(t)}),q_e=t=>({properties:{properties:{values:{ref:"schema"}}},optionalProperties:{optionalProperties:{values:{ref:"schema"}},additionalProperties:{type:"boolean"},...Cd(t)}}),j_e=t=>({properties:{optionalProperties:{values:{ref:"schema"}}},optionalProperties:{additionalProperties:{type:"boolean"},...Cd(t)}}),m4t=t=>({properties:{discriminator:{type:"string"},mapping:{values:{metadata:{union:[q_e(!1),j_e(!1)]}}}},optionalProperties:Cd(t)}),h4t=t=>({properties:{values:{ref:"schema"}},optionalProperties:Cd(t)}),U_e=t=>({metadata:{union:[u4t,l4t,d4t,f4t,p4t,q_e,j_e,m4t,h4t].map(e=>e(t))}}),g4t={definitions:{schema:U_e(!1)},...U_e(!0)};u7.default=g4t});var l7=E(UO=>{"use strict";Object.defineProperty(UO,"__esModule",{value:!0});UO.jtdForms=void 0;UO.jtdForms=["elements","values","discriminator","properties","optionalProperties","enum","type","ref"]});var G_e=E(f7=>{"use strict";Object.defineProperty(f7,"__esModule",{value:!0});var d7=/[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,A4t={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function Q_e(t){return d7.lastIndex=0,'"'+(d7.test(t)?t.replace(d7,e=>{let r=A4t[e];return typeof r=="string"?r:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}):t)+'"'}f7.default=Q_e;Q_e.code='require("ajv/dist/runtime/quote").default'});var X_e=E(m7=>{"use strict";Object.defineProperty(m7,"__esModule",{value:!0});var y4t=l7(),z_e=Qm(),fr=Et(),x4t=Ed(),En=Zo(),b4t=di(),E4t=MO(),_4t=Kt(),S4t=G_e(),v4t={elements:I4t,values:T4t,discriminator:w4t,properties:V_e,optionalProperties:V_e,enum:L_,type:R4t,ref:O4t};function K_e(t,e){let r=z_e.getCompilingSchema.call(this,t);if(r)return r;let{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new fr.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o=a.scopeName("serialize"),c={self:this,gen:a,schema:t.schema,schemaEnv:t,definitions:e,data:En.default.data},u;try{this._compilations.add(t),t.serializeName=o,a.func(o,En.default.data,!1,()=>{a.let(En.default.json,(0,fr.str)``),B_(c),a.return(En.default.json)}),a.optimize(this.opts.code.optimize);let l=a.toString();u=`${a.scopeRefs(En.default.scope)}return ${l}`;let f=new Function(`${En.default.scope}`,u)(this.scope.get());this.scope.value(o,{ref:f}),t.serialize=f}catch(l){throw u&&this.logger.error("Error compiling serializer, function code:",u),delete t.serialize,delete t.serializeName,l}finally{this._compilations.delete(t)}return t}m7.default=K_e;function B_(t){let e;for(let r of y4t.jtdForms)if(r in t.schema){e=r;break}C4t(t,e?v4t[e]:D4t)}function C4t(t,e){let{gen:r,schema:n,data:s}=t;if(!n.nullable)return e(t);r.if((0,fr._)`${s} === undefined || ${s} === null`,()=>r.add(En.default.json,(0,fr._)`"null"`),()=>e(t))}function I4t(t){let{gen:e,schema:r,data:n}=t;e.add(En.default.json,(0,fr.str)`[`);let s=e.let("first",!0);e.forOf("el",n,i=>{p7(t,s),B_({...t,schema:r.elements,data:i})}),e.add(En.default.json,(0,fr.str)`]`)}function T4t(t){let{gen:e,schema:r,data:n}=t;e.add(En.default.json,(0,fr.str)`{`);let s=e.let("first",!0);e.forIn("key",n,i=>Y_e(t,i,r.values,s)),e.add(En.default.json,(0,fr.str)`}`)}function Y_e(t,e,r,n){let{gen:s,data:i}=t;p7(t,n),L_({...t,data:e}),s.add(En.default.json,(0,fr.str)`:`);let a=s.const("value",(0,fr._)`${i}${(0,fr.getProperty)(e)}`);B_({...t,schema:r,data:a})}function w4t(t){let{gen:e,schema:r,data:n}=t,{discriminator:s}=r;e.add(En.default.json,(0,fr.str)`{${JSON.stringify(s)}:`);let i=e.const("tag",(0,fr._)`${n}${(0,fr.getProperty)(s)}`);L_({...t,data:i}),e.if(!1);for(let a in r.mapping){e.elseIf((0,fr._)`${i} === ${a}`);let o=r.mapping[a];J_e({...t,schema:o},s)}e.endIf(),e.add(En.default.json,(0,fr.str)`}`)}function V_e(t){let{gen:e}=t;e.add(En.default.json,(0,fr.str)`{`),J_e(t),e.add(En.default.json,(0,fr.str)`}`)}function J_e(t,e){let{gen:r,schema:n,data:s}=t,{properties:i,optionalProperties:a}=n,o=f(i),c=f(a),u=p(o.concat(c)),l=!e,d;for(let g of o)l?l=!1:r.add(En.default.json,(0,fr.str)`,`),h(g,i[g],m(g));l&&(d=r.let("first",!0));for(let g of c){let b=m(g);r.if((0,fr.and)((0,fr._)`${b} !== undefined`,(0,b4t.isOwnProperty)(r,s,g)),()=>{p7(t,d),h(g,a[g],b)})}n.additionalProperties&&r.forIn("key",s,g=>r.if(A(g,u),()=>Y_e(t,g,{},d)));function f(g){return g?Object.keys(g):[]}function p(g){if(e&&g.push(e),new Set(g).size!==g.length)throw new Error("JTD: properties/optionalProperties/disciminator overlap");return g}function m(g){return r.const("value",(0,fr._)`${s}${(0,fr.getProperty)(g)}`)}function h(g,b,y){r.add(En.default.json,(0,fr.str)`${JSON.stringify(g)}:`),B_({...t,schema:b,data:y})}function A(g,b){return b.length?(0,fr.and)(...b.map(y=>(0,fr._)`${g} !== ${y}`)):!0}}function R4t(t){let{gen:e,schema:r,data:n}=t;switch(r.type){case"boolean":e.add(En.default.json,(0,fr._)`${n} ? "true" : "false"`);break;case"string":L_(t);break;case"timestamp":e.if((0,fr._)`${n} instanceof Date`,()=>e.add(En.default.json,(0,fr._)`'"' + ${n}.toISOString() + '"'`),()=>L_(t));break;default:N4t(t)}}function L_({gen:t,data:e}){t.add(En.default.json,(0,fr._)`${(0,_4t.useFunc)(t,S4t.default)}(${e})`)}function N4t({gen:t,data:e}){t.add(En.default.json,(0,fr._)`"" + ${e}`)}function O4t(t){let{gen:e,self:r,data:n,definitions:s,schema:i,schemaEnv:a}=t,{ref:o}=i,c=s[o];if(!c)throw new x4t.default(r.opts.uriResolver,"",o,`No definition ${o}`);if(!(0,E4t.hasRef)(c))return B_({...t,schema:c});let{root:u}=a,l=K_e.call(r,new z_e.SchemaEnv({schema:c,root:u}),s);e.add(En.default.json,(0,fr._)`${P4t(e,l)}(${n})`)}function P4t(t,e){return e.serialize?t.scopeValue("serialize",{ref:e.serialize}):(0,fr._)`${t.scopeValue("wrapper",{ref:e})}.serialize`}function D4t({gen:t,data:e}){t.add(En.default.json,(0,fr._)`JSON.stringify(${e})`)}function p7({gen:t},e){e?t.if(e,()=>t.assign(e,!1),()=>t.add(En.default.json,(0,fr.str)`,`)):t.add(En.default.json,(0,fr.str)`,`)}});var eSe=E(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.parseJsonString=Lp.parseJsonNumber=Lp.parseJson=void 0;var k4t=/position\s(\d+)(?: \(line \d+ column \d+\))?$/;function Id(t,e){let r;Id.message=void 0;let n;e&&(t=t.slice(e));try{return Id.position=e+t.length,JSON.parse(t)}catch(s){if(n=k4t.exec(s.message),!n){Id.message="unexpected end";return}r=+n[1];let i=t[r];t=t.slice(0,r),Id.position=e+r;try{return JSON.parse(t)}catch{Id.message=`unexpected token ${i}`;return}}}Lp.parseJson=Id;Id.message=void 0;Id.position=0;Id.code='require("ajv/dist/runtime/parseJson").parseJson';function Td(t,e,r){let n="",s;if(Td.message=void 0,t[e]==="-"&&(n+="-",e++),t[e]==="0")n+="0",e++;else if(!i(r)){a();return}if(r)return Td.position=e,+n;if(t[e]==="."&&(n+=".",e++,!i())){a();return}if(s=t[e],(s==="e"||s==="E")&&(n+="e",e++,s=t[e],(s==="+"||s==="-")&&(n+=s,e++),!i())){a();return}return Td.position=e,+n;function i(o){let c=!1;for(;s=t[e],s>="0"&&s<="9"&&(o===void 0||o-- >0);)c=!0,n+=s,e++;return c}function a(){Td.position=e,Td.message=e<t.length?`unexpected token ${t[e]}`:"unexpected end"}}Lp.parseJsonNumber=Td;Td.message=void 0;Td.position=0;Td.code='require("ajv/dist/runtime/parseJson").parseJsonNumber';var Z_e={b:"\b",f:"\f",n:`
`,r:"\r",t:" ",'"':'"',"/":"/","\\":"\\"},L4t=97,B4t=48;function kp(t,e){let r="",n;for(kp.message=void 0;n=t[e++],n!=='"';)if(n==="\\")if(n=t[e],n in Z_e)r+=Z_e[n],e++;else if(n==="u"){e++;let i=4,a=0;for(;i--;){if(a<<=4,n=t[e],n===void 0){s("unexpected end");return}if(n=n.toLowerCase(),n>="a"&&n<="f")a+=n.charCodeAt(0)-L4t+10;else if(n>="0"&&n<="9")a+=n.charCodeAt(0)-B4t;else{s(`unexpected token ${n}`);return}e++}r+=String.fromCharCode(a)}else{s(`unexpected token ${n}`);return}else if(n===void 0){s("unexpected end");return}else if(n.charCodeAt(0)>=32)r+=n;else{s(`unexpected token ${n}`);return}return kp.position=e,r;function s(i){kp.position=e,kp.message=i}}Lp.parseJsonString=kp;kp.message=void 0;kp.position=0;kp.code='require("ajv/dist/runtime/parseJson").parseJsonString'});var dSe=E(_7=>{"use strict";Object.defineProperty(_7,"__esModule",{value:!0});var M4t=l7(),sSe=Qm(),ut=Et(),W4t=Ed(),cr=Zo(),$4t=di(),F4t=MO(),U4t=ZU(),A7=eSe(),iSe=Kt(),q4t=XU(),j4t={elements:V4t,values:z4t,discriminator:Y4t,properties:tSe,optionalProperties:tSe,enum:X4t,type:J4t,ref:Z4t};function aSe(t,e){let r=sSe.getCompilingSchema.call(this,t);if(r)return r;let{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new ut.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o=a.scopeName("parse"),c={self:this,gen:a,schema:t.schema,schemaEnv:t,definitions:e,data:cr.default.data,parseName:o,char:a.name("c")},u;try{this._compilations.add(t),t.parseName=o,H4t(c),a.optimize(this.opts.code.optimize);let l=a.toString();u=`${a.scopeRefs(cr.default.scope)}return ${l}`;let f=new Function(`${cr.default.scope}`,u)(this.scope.get());this.scope.value(o,{ref:f}),t.parse=f}catch(l){throw u&&this.logger.error("Error compiling parser, function code:",u),delete t.parse,delete t.parseName,l}finally{this._compilations.delete(t)}return t}_7.default=aSe;var g7=(0,ut._)`undefined`;function H4t(t){let{gen:e,parseName:r,char:n}=t;e.func(r,(0,ut._)`${cr.default.json}, ${cr.default.jsonPos}, ${cr.default.jsonPart}`,!1,()=>{e.let(cr.default.data),e.let(n),e.assign((0,ut._)`${r}.message`,g7),e.assign((0,ut._)`${r}.position`,g7),e.assign(cr.default.jsonPos,(0,ut._)`${cr.default.jsonPos} || 0`),e.const(cr.default.jsonLen,(0,ut._)`${cr.default.json}.length`),qO(t),E7(t),e.if(cr.default.jsonPart,()=>{e.assign((0,ut._)`${r}.position`,cr.default.jsonPos),e.return(cr.default.data)}),e.if((0,ut._)`${cr.default.jsonPos} === ${cr.default.jsonLen}`,()=>e.return(cr.default.data)),Ny(t)})}function qO(t){let e;for(let r of M4t.jtdForms)if(r in t.schema){e=r;break}e?G4t(t,j4t[e]):x7(t)}var Q4t=nSe(!0,nSe(!1,Ny));function G4t(t,e){let{gen:r,schema:n,data:s}=t;if(!n.nullable)return e(t);M_(t,"null",e,()=>r.assign(s,null))}function V4t(t){let{gen:e,schema:r,data:n}=t;Zu(t,"[");let s=e.let("i",0);e.assign(n,(0,ut._)`[]`),y7(t,"]",()=>{let i=e.let("el");qO({...t,schema:r.elements,data:i}),e.assign((0,ut._)`${n}[${s}++]`,i)})}function z4t(t){let{gen:e,schema:r,data:n}=t;Zu(t,"{"),e.assign(n,(0,ut._)`{}`),y7(t,"}",()=>K4t(t,r.values))}function y7(t,e,r){oSe(t,e,r),Zu(t,e)}function oSe(t,e,r){let{gen:n}=t;n.for((0,ut._)`;${cr.default.jsonPos}<${cr.default.jsonLen} && ${jO(1)}!==${e};`,()=>{r(),M_(t,",",()=>n.break(),s)});function s(){M_(t,e,()=>{},Ny)}}function K4t(t,e){let{gen:r}=t,n=r.let("key");Ym({...t,data:n}),Zu(t,":"),uSe(t,n,e)}function Y4t(t){let{gen:e,data:r,schema:n}=t,{discriminator:s,mapping:i}=n;Zu(t,"{"),e.assign(r,(0,ut._)`{}`);let a=e.const("pos",cr.default.jsonPos),o=e.let("value"),c=e.let("tag");oSe(t,"}",()=>{let u=e.let("key");Ym({...t,data:u}),Zu(t,":"),e.if((0,ut._)`${u} === ${s}`,()=>{Ym({...t,data:c}),e.assign((0,ut._)`${r}[${u}]`,c),e.break()},()=>x7({...t,data:o}))}),e.assign(cr.default.jsonPos,a),e.if((0,ut._)`${c} === undefined`),wd(t,(0,ut.str)`discriminator tag not found`);for(let u in i)e.elseIf((0,ut._)`${c} === ${u}`),cSe({...t,schema:i[u]},s);e.else(),wd(t,(0,ut.str)`discriminator value not in schema`),e.endIf()}function tSe(t){let{gen:e,data:r}=t;Zu(t,"{"),e.assign(r,(0,ut._)`{}`),cSe(t)}function cSe(t,e){let{gen:r,schema:n,data:s}=t,{properties:i,optionalProperties:a,additionalProperties:o}=n;if(y7(t,"}",()=>{let c=r.let("key");if(Ym({...t,data:c}),Zu(t,":"),r.if(!1),rSe(t,c,i),rSe(t,c,a),e){r.elseIf((0,ut._)`${c} === ${e}`);let u=r.let("tag");Ym({...t,data:u})}r.else(),o?x7({...t,data:(0,ut._)`${s}[${c}]`}):wd(t,(0,ut.str)`property ${c} not allowed`),r.endIf()}),i){let c=(0,$4t.hasPropFunc)(r),u=(0,ut.and)(...Object.keys(i).map(l=>(0,ut._)`${c}.call(${s}, ${l})`));r.if((0,ut.not)(u),()=>wd(t,(0,ut.str)`missing required properties`))}}function rSe(t,e,r={}){let{gen:n}=t;for(let s in r)n.elseIf((0,ut._)`${e} === ${s}`),uSe(t,e,r[s])}function uSe(t,e,r){qO({...t,schema:r,data:(0,ut._)`${t.data}[${e}]`})}function J4t(t){let{gen:e,schema:r,data:n,self:s}=t;switch(r.type){case"boolean":Q4t(t);break;case"string":Ym(t);break;case"timestamp":{Ym(t);let i=(0,iSe.useFunc)(e,q4t.default),{allowDate:a,parseDate:o}=s.opts,c=a?(0,ut._)`!${i}(${n}, true)`:(0,ut._)`!${i}(${n})`,u=o?(0,ut.or)(c,(0,ut._)`(${n} = new Date(${n}), false)`,(0,ut._)`isNaN(${n}.valueOf())`):c;e.if(u,()=>wd(t,(0,ut.str)`invalid timestamp`));break}case"float32":case"float64":h7(t);break;default:{let i=r.type;if(!s.opts.int32range&&(i==="int32"||i==="uint32"))h7(t,16),i==="uint32"&&e.if((0,ut._)`${n} < 0`,()=>wd(t,(0,ut.str)`integer out of range`));else{let[a,o,c]=U4t.intRange[i];h7(t,c),e.if((0,ut._)`${n} < ${a} || ${n} > ${o}`,()=>wd(t,(0,ut.str)`integer out of range`))}}}}function Ym(t){Zu(t,'"'),b7(t,A7.parseJsonString)}function X4t(t){let{gen:e,data:r,schema:n}=t,s=n.enum;Zu(t,'"'),e.if(!1);for(let i of s){let a=JSON.stringify(i).slice(1);e.elseIf((0,ut._)`${jO(a.length)} === ${a}`),e.assign(r,(0,ut.str)`${i}`),e.add(cr.default.jsonPos,a.length)}e.else(),Ny(t),e.endIf()}function h7(t,e){let{gen:r}=t;E7(t),r.if((0,ut._)`"-0123456789".indexOf(${jO(1)}) < 0`,()=>Ny(t),()=>b7(t,A7.parseJsonNumber,e))}function nSe(t,e){return r=>{let{gen:n,data:s}=r;M_(r,`${t}`,()=>e(r),()=>n.assign(s,t))}}function Z4t(t){let{gen:e,self:r,definitions:n,schema:s,schemaEnv:i}=t,{ref:a}=s,o=n[a];if(!o)throw new W4t.default(r.opts.uriResolver,"",a,`No definition ${a}`);if(!(0,F4t.hasRef)(o))return qO({...t,schema:o});let{root:c}=i,u=aSe.call(r,new sSe.SchemaEnv({schema:o,root:c}),n);lSe(t,eMt(e,u),!0)}function eMt(t,e){return e.parse?t.scopeValue("parse",{ref:e.parse}):(0,ut._)`${t.scopeValue("wrapper",{ref:e})}.parse`}function x7(t){b7(t,A7.parseJson)}function b7(t,e,r){lSe(t,(0,iSe.useFunc)(t.gen,e),r)}function lSe(t,e,r){let{gen:n,data:s}=t;n.assign(s,(0,ut._)`${e}(${cr.default.json}, ${cr.default.jsonPos}${r?(0,ut._)`, ${r}`:ut.nil})`),n.assign(cr.default.jsonPos,(0,ut._)`${e}.position`),n.if((0,ut._)`${s} === undefined`,()=>wd(t,(0,ut._)`${e}.message`))}function Zu(t,e){M_(t,e,Ny)}function M_(t,e,r,n){let{gen:s}=t,i=e.length;E7(t),s.if((0,ut._)`${jO(i)} === ${e}`,()=>{s.add(cr.default.jsonPos,i),n?.(t)},()=>r(t))}function E7({gen:t,char:e}){t.code((0,ut._)`while((${e}=${cr.default.json}[${cr.default.jsonPos}],${e}===" "||${e}==="\\n"||${e}==="\\r"||${e}==="\\t"))${cr.default.jsonPos}++;`)}function jO(t){return t===1?(0,ut._)`${cr.default.json}[${cr.default.jsonPos}]`:(0,ut._)`${cr.default.json}.slice(${cr.default.jsonPos}, ${cr.default.jsonPos}+${t})`}function Ny(t){wd(t,(0,ut._)`"unexpected token " + ${cr.default.json}[${cr.default.jsonPos}]`)}function wd({gen:t,parseName:e},r){t.assign((0,ut._)`${e}.message`,r),t.assign((0,ut._)`${e}.position`,cr.default.jsonPos),t.return(g7)}});var C7=E((kn,v7)=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.MissingRefError=kn.ValidationError=kn.CodeGen=kn.Name=kn.nil=kn.stringify=kn.str=kn._=kn.KeywordCxt=kn.Ajv=void 0;var tMt=sU(),rMt=F_e(),nMt=H_e(),sMt=X_e(),iMt=dSe(),S7="JTD-meta-schema",Oy=class extends tMt.default{constructor(e={}){super({...e,jtd:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(rMt.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema(),this.opts.meta&&this.addMetaSchema(nMt.default,S7,!1)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(S7)?S7:void 0)}compileSerializer(e){let r=this._addSchema(e);return r.serialize||this._compileSerializer(r)}compileParser(e){let r=this._addSchema(e);return r.parse||this._compileParser(r)}_compileSerializer(e){if(sMt.default.call(this,e,e.schema.definitions||{}),!e.serialize)throw new Error("ajv implementation error");return e.serialize}_compileParser(e){if(iMt.default.call(this,e,e.schema.definitions||{}),!e.parse)throw new Error("ajv implementation error");return e.parse}};kn.Ajv=Oy;v7.exports=kn=Oy;v7.exports.Ajv=Oy;Object.defineProperty(kn,"__esModule",{value:!0});kn.default=Oy;var aMt=Ay();Object.defineProperty(kn,"KeywordCxt",{enumerable:!0,get:function(){return aMt.KeywordCxt}});var Py=Et();Object.defineProperty(kn,"_",{enumerable:!0,get:function(){return Py._}});Object.defineProperty(kn,"str",{enumerable:!0,get:function(){return Py.str}});Object.defineProperty(kn,"stringify",{enumerable:!0,get:function(){return Py.stringify}});Object.defineProperty(kn,"nil",{enumerable:!0,get:function(){return Py.nil}});Object.defineProperty(kn,"Name",{enumerable:!0,get:function(){return Py.Name}});Object.defineProperty(kn,"CodeGen",{enumerable:!0,get:function(){return Py.CodeGen}});var oMt=y_();Object.defineProperty(kn,"ValidationError",{enumerable:!0,get:function(){return oMt.default}});var cMt=Ed();Object.defineProperty(kn,"MissingRefError",{enumerable:!0,get:function(){return cMt.default}})});var I7=E(($Lr,fSe)=>{"use strict";var uMt=QW();fSe.exports=Object.freeze({coerceTypes:"array",useDefaults:!0,removeAdditional:!0,uriResolver:uMt,addUsedSchema:!1,allErrors:!1})});var ySe=E(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.formatNames=el.fastFormats=el.fullFormats=void 0;function Dy(t,e){return{validate:t,compare:e}}el.fullFormats={date:Dy(hSe,R7),time:Dy(gSe,N7),"date-time":Dy(pMt,ASe),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:gMt,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:SMt,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:AMt,int32:{type:"number",validate:bMt},int64:{type:"number",validate:EMt},float:{type:"number",validate:mSe},double:{type:"number",validate:mSe},password:!0,binary:!0};el.fastFormats={...el.fullFormats,date:Dy(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,R7),time:Dy(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,N7),"date-time":Dy(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ASe),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};el.formatNames=Object.keys(el.fullFormats);function lMt(t){return t%4===0&&(t%100!==0||t%400===0)}var dMt=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,fMt=[0,31,28,31,30,31,30,31,31,30,31,30,31];function hSe(t){let e=dMt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3];return n>=1&&n<=12&&s>=1&&s<=(n===2&&lMt(r)?29:fMt[n])}function R7(t,e){if(t&&e)return t>e?1:t<e?-1:0}var T7=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i;function gSe(t,e){let r=T7.exec(t);if(!r)return!1;let n=+r[1],s=+r[2],i=+r[3],a=r[5];return(n<=23&&s<=59&&i<=59||n===23&&s===59&&i===60)&&(!e||a!=="")}function N7(t,e){if(!(t&&e))return;let r=T7.exec(t),n=T7.exec(e);if(r&&n)return t=r[1]+r[2]+r[3]+(r[4]||""),e=n[1]+n[2]+n[3]+(n[4]||""),t>e?1:t<e?-1:0}var w7=/t|\s/i;function pMt(t){let e=t.split(w7);return e.length===2&&hSe(e[0])&&gSe(e[1],!0)}function ASe(t,e){if(!(t&&e))return;let[r,n]=t.split(w7),[s,i]=e.split(w7),a=R7(r,s);if(a!==void 0)return a||N7(n,i)}var mMt=/\/|:/,hMt=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function gMt(t){return mMt.test(t)&&hMt.test(t)}var pSe=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function AMt(t){return pSe.lastIndex=0,pSe.test(t)}var yMt=-(2**31),xMt=2**31-1;function bMt(t){return Number.isInteger(t)&&t<=xMt&&t>=yMt}function EMt(t){return Number.isInteger(t)}function mSe(){return!0}var _Mt=/[^\\]\\Z/;function SMt(t){if(_Mt.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var F_=E(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.regexpCode=Mr.getEsmExportName=Mr.getProperty=Mr.safeStringify=Mr.stringify=Mr.strConcat=Mr.addCodeArg=Mr.str=Mr._=Mr.nil=Mr._Code=Mr.Name=Mr.IDENTIFIER=Mr._CodeOrName=void 0;var W_=class{};Mr._CodeOrName=W_;Mr.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Jm=class extends W_{constructor(e){if(super(),!Mr.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Mr.Name=Jm;var rc=class extends W_{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Jm&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Mr._Code=rc;Mr.nil=new rc("");function xSe(t,...e){let r=[t[0]],n=0;for(;n<e.length;)P7(r,e[n]),r.push(t[++n]);return new rc(r)}Mr._=xSe;var O7=new rc("+");function bSe(t,...e){let r=[$_(t[0])],n=0;for(;n<e.length;)r.push(O7),P7(r,e[n]),r.push(O7,$_(t[++n]));return vMt(r),new rc(r)}Mr.str=bSe;function P7(t,e){e instanceof rc?t.push(...e._items):e instanceof Jm?t.push(e):t.push(TMt(e))}Mr.addCodeArg=P7;function vMt(t){let e=1;for(;e<t.length-1;){if(t[e]===O7){let r=CMt(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function CMt(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Jm||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Jm))return`"${t}${e.slice(1)}`}function IMt(t,e){return e.emptyStr()?t:t.emptyStr()?e:bSe`${t}${e}`}Mr.strConcat=IMt;function TMt(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:$_(Array.isArray(t)?t.join(","):t)}function wMt(t){return new rc($_(t))}Mr.stringify=wMt;function $_(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Mr.safeStringify=$_;function RMt(t){return typeof t=="string"&&Mr.IDENTIFIER.test(t)?new rc(`.${t}`):xSe`[${t}]`}Mr.getProperty=RMt;function NMt(t){if(typeof t=="string"&&Mr.IDENTIFIER.test(t))return new rc(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}Mr.getEsmExportName=NMt;function OMt(t){return new rc(t.toString())}Mr.regexpCode=OMt});var L7=E(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.ValueScope=Ua.ValueScopeName=Ua.Scope=Ua.varKinds=Ua.UsedValueState=void 0;var Fa=F_(),D7=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},HO;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(HO||(Ua.UsedValueState=HO={}));Ua.varKinds={const:new Fa.Name("const"),let:new Fa.Name("let"),var:new Fa.Name("var")};var QO=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Fa.Name?e:this.name(e)}name(e){return new Fa.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Ua.Scope=QO;var GO=class extends Fa.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Fa._)`.${new Fa.Name(r)}[${n}]`}};Ua.ValueScopeName=GO;var PMt=(0,Fa._)`\n`,k7=class extends QO{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?PMt:Fa.nil}}get(){return this._scope}name(e){return new GO(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Fa._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let i=Fa.nil;for(let a in e){let o=e[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,HO.Started);let l=r(u);if(l){let d=this.opts.es5?Ua.varKinds.var:Ua.varKinds.const;i=(0,Fa._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,Fa._)`${i}${l}${this.opts._n}`;else throw new D7(u);c.set(u,HO.Completed)})}return i}};Ua.ValueScope=k7});var Yt=E(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.or=er.and=er.not=er.CodeGen=er.operators=er.varKinds=er.ValueScopeName=er.ValueScope=er.Scope=er.Name=er.regexpCode=er.stringify=er.getProperty=er.nil=er.strConcat=er.str=er._=void 0;var xr=F_(),Kc=L7(),Bp=F_();Object.defineProperty(er,"_",{enumerable:!0,get:function(){return Bp._}});Object.defineProperty(er,"str",{enumerable:!0,get:function(){return Bp.str}});Object.defineProperty(er,"strConcat",{enumerable:!0,get:function(){return Bp.strConcat}});Object.defineProperty(er,"nil",{enumerable:!0,get:function(){return Bp.nil}});Object.defineProperty(er,"getProperty",{enumerable:!0,get:function(){return Bp.getProperty}});Object.defineProperty(er,"stringify",{enumerable:!0,get:function(){return Bp.stringify}});Object.defineProperty(er,"regexpCode",{enumerable:!0,get:function(){return Bp.regexpCode}});Object.defineProperty(er,"Name",{enumerable:!0,get:function(){return Bp.Name}});var YO=L7();Object.defineProperty(er,"Scope",{enumerable:!0,get:function(){return YO.Scope}});Object.defineProperty(er,"ValueScope",{enumerable:!0,get:function(){return YO.ValueScope}});Object.defineProperty(er,"ValueScopeName",{enumerable:!0,get:function(){return YO.ValueScopeName}});Object.defineProperty(er,"varKinds",{enumerable:!0,get:function(){return YO.varKinds}});er.operators={GT:new xr._Code(">"),GTE:new xr._Code(">="),LT:new xr._Code("<"),LTE:new xr._Code("<="),EQ:new xr._Code("==="),NEQ:new xr._Code("!=="),NOT:new xr._Code("!"),OR:new xr._Code("||"),AND:new xr._Code("&&"),ADD:new xr._Code("+")};var Rd=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},B7=class extends Rd{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Kc.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Ly(this.rhs,e,r)),this}get names(){return this.rhs instanceof xr._CodeOrName?this.rhs.names:{}}},VO=class extends Rd{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof xr.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Ly(this.rhs,e,r),this}get names(){let e=this.lhs instanceof xr.Name?{}:{...this.lhs.names};return KO(e,this.rhs)}},M7=class extends VO{constructor(e,r,n,s){super(e,n,s),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},W7=class extends Rd{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},$7=class extends Rd{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},F7=class extends Rd{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},U7=class extends Rd{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Ly(this.code,e,r),this}get names(){return this.code instanceof xr._CodeOrName?this.code.names:{}}},U_=class extends Rd{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(e,r)||(DMt(e,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>eh(e,r.names),{})}},Nd=class extends U_{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},q7=class extends U_{},ky=class extends Nd{};ky.kind="else";var Xm=class t extends Nd{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new ky(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(ESe(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Ly(this.condition,e,r),this}get names(){let e=super.names;return KO(e,this.condition),this.else&&eh(e,this.else.names),e}};Xm.kind="if";var Zm=class extends Nd{};Zm.kind="for";var j7=class extends Zm{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Ly(this.iteration,e,r),this}get names(){return eh(super.names,this.iteration.names)}},H7=class extends Zm{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s}render(e){let r=e.es5?Kc.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=KO(super.names,this.from);return KO(e,this.to)}},zO=class extends Zm{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Ly(this.iterable,e,r),this}get names(){return eh(super.names,this.iterable.names)}},q_=class extends Nd{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};q_.kind="func";var j_=class extends U_{render(e){return"return "+super.render(e)}};j_.kind="return";var Q7=class extends Nd{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&eh(e,this.catch.names),this.finally&&eh(e,this.finally.names),e}},H_=class extends Nd{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};H_.kind="catch";var Q_=class extends Nd{render(e){return"finally"+super.render(e)}};Q_.kind="finally";var G7=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
`:""},this._extScope=e,this._scope=new Kc.Scope({parent:e}),this._nodes=[new q7]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new B7(e,i,n)),i}const(e,r,n){return this._def(Kc.varKinds.const,e,r,n)}let(e,r,n){return this._def(Kc.varKinds.let,e,r,n)}var(e,r,n){return this._def(Kc.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new VO(e,r,n))}add(e,r){return this._leafNode(new M7(e,er.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==xr.nil&&this._leafNode(new U7(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,xr.addCodeArg)(r,s));return r.push("}"),new xr._Code(r)}if(e,r,n){if(this._blockNode(new Xm(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Xm(e))}else(){return this._elseNode(new ky)}endIf(){return this._endBlockNode(Xm,ky)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new j7(e),r)}forRange(e,r,n,s,i=this.opts.es5?Kc.varKinds.var:Kc.varKinds.let){let a=this._scope.toName(e);return this._for(new H7(i,a,r,n),()=>s(a))}forOf(e,r,n,s=Kc.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let a=r instanceof xr.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,xr._)`${a}.length`,o=>{this.var(i,(0,xr._)`${a}[${o}]`),n(i)})}return this._for(new zO("of",s,i,r),()=>n(i))}forIn(e,r,n,s=this.opts.es5?Kc.varKinds.var:Kc.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,xr._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new zO("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(Zm)}label(e){return this._leafNode(new W7(e))}break(e){return this._leafNode(new $7(e))}return(e){let r=new j_;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(j_)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new Q7;if(this._blockNode(s),this.code(e),r){let i=this.name("e");this._currNode=s.catch=new H_(i),r(i)}return n&&(this._currNode=s.finally=new Q_,this.code(n)),this._endBlockNode(H_,Q_)}throw(e){return this._leafNode(new F7(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=xr.nil,n,s){return this._blockNode(new q_(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(q_)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Xm))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};er.CodeGen=G7;function eh(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function KO(t,e){return e instanceof xr._CodeOrName?eh(t,e.names):t}function Ly(t,e,r){if(t instanceof xr.Name)return n(t);if(!s(t))return t;return new xr._Code(t._items.reduce((i,a)=>(a instanceof xr.Name&&(a=n(a)),a instanceof xr._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||e[i.str]!==1?i:(delete e[i.str],a)}function s(i){return i instanceof xr._Code&&i._items.some(a=>a instanceof xr.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function DMt(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function ESe(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,xr._)`!${V7(t)}`}er.not=ESe;var kMt=_Se(er.operators.AND);function LMt(...t){return t.reduce(kMt)}er.and=LMt;var BMt=_Se(er.operators.OR);function MMt(...t){return t.reduce(BMt)}er.or=MMt;function _Se(t){return(e,r)=>e===xr.nil?r:r===xr.nil?e:(0,xr._)`${V7(e)} ${t} ${V7(r)}`}function V7(t){return t instanceof xr.Name?t:(0,xr._)`(${t})`}});var Wr=E(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.checkStrictMode=sr.getErrorPath=sr.Type=sr.useFunc=sr.setEvaluated=sr.evaluatedPropsToName=sr.mergeEvaluated=sr.eachItem=sr.unescapeJsonPointer=sr.escapeJsonPointer=sr.escapeFragment=sr.unescapeFragment=sr.schemaRefOrVal=sr.schemaHasRulesButRef=sr.schemaHasRules=sr.checkUnknownRules=sr.alwaysValidSchema=sr.toHash=void 0;var pn=Yt(),WMt=F_();function $Mt(t){let e={};for(let r of t)e[r]=!0;return e}sr.toHash=$Mt;function FMt(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(CSe(t,e),!ISe(e,t.self.RULES.all))}sr.alwaysValidSchema=FMt;function CSe(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let i in e)s[i]||RSe(t,`unknown keyword: "${i}"`)}sr.checkUnknownRules=CSe;function ISe(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}sr.schemaHasRules=ISe;function UMt(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}sr.schemaHasRulesButRef=UMt;function qMt({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,pn._)`${r}`}return(0,pn._)`${t}${e}${(0,pn.getProperty)(n)}`}sr.schemaRefOrVal=qMt;function jMt(t){return TSe(decodeURIComponent(t))}sr.unescapeFragment=jMt;function HMt(t){return encodeURIComponent(K7(t))}sr.escapeFragment=HMt;function K7(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}sr.escapeJsonPointer=K7;function TSe(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}sr.unescapeJsonPointer=TSe;function QMt(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}sr.eachItem=QMt;function SSe({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof pn.Name?(i instanceof pn.Name?t(s,i,a):e(s,i,a),a):i instanceof pn.Name?(e(s,a,i),i):r(i,a);return o===pn.Name&&!(c instanceof pn.Name)?n(s,c):c}}sr.mergeEvaluated={props:SSe({mergeNames:(t,e,r)=>t.if((0,pn._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,pn._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,pn._)`${r} || {}`).code((0,pn._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,pn._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,pn._)`${r} || {}`),Y7(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:wSe}),items:SSe({mergeNames:(t,e,r)=>t.if((0,pn._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,pn._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,pn._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,pn._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function wSe(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,pn._)`{}`);return e!==void 0&&Y7(t,r,e),r}sr.evaluatedPropsToName=wSe;function Y7(t,e,r){Object.keys(r).forEach(n=>t.assign((0,pn._)`${e}${(0,pn.getProperty)(n)}`,!0))}sr.setEvaluated=Y7;var vSe={};function GMt(t,e){return t.scopeValue("func",{ref:e,code:vSe[e.code]||(vSe[e.code]=new WMt._Code(e.code))})}sr.useFunc=GMt;var z7;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(z7||(sr.Type=z7={}));function VMt(t,e,r){if(t instanceof pn.Name){let n=e===z7.Num;return r?n?(0,pn._)`"[" + ${t} + "]"`:(0,pn._)`"['" + ${t} + "']"`:n?(0,pn._)`"/" + ${t}`:(0,pn._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,pn.getProperty)(t).toString():"/"+K7(t)}sr.getErrorPath=VMt;function RSe(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}sr.checkStrictMode=RSe});var Od=E(J7=>{"use strict";Object.defineProperty(J7,"__esModule",{value:!0});var Li=Yt(),zMt={data:new Li.Name("data"),valCxt:new Li.Name("valCxt"),instancePath:new Li.Name("instancePath"),parentData:new Li.Name("parentData"),parentDataProperty:new Li.Name("parentDataProperty"),rootData:new Li.Name("rootData"),dynamicAnchors:new Li.Name("dynamicAnchors"),vErrors:new Li.Name("vErrors"),errors:new Li.Name("errors"),this:new Li.Name("this"),self:new Li.Name("self"),scope:new Li.Name("scope"),json:new Li.Name("json"),jsonPos:new Li.Name("jsonPos"),jsonLen:new Li.Name("jsonLen"),jsonPart:new Li.Name("jsonPart")};J7.default=zMt});var G_=E(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.extendErrors=Bi.resetErrorsCount=Bi.reportExtraError=Bi.reportError=Bi.keyword$DataError=Bi.keywordError=void 0;var Ir=Yt(),JO=Wr(),oa=Od();Bi.keywordError={message:({keyword:t})=>(0,Ir.str)`must pass "${t}" keyword validation`};Bi.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,Ir.str)`"${t}" keyword must be ${e} ($data)`:(0,Ir.str)`"${t}" keyword is invalid ($data)`};function KMt(t,e=Bi.keywordError,r,n){let{it:s}=t,{gen:i,compositeRule:a,allErrors:o}=s,c=PSe(t,e,r);n??(a||o)?NSe(i,c):OSe(s,(0,Ir._)`[${c}]`)}Bi.reportError=KMt;function YMt(t,e=Bi.keywordError,r){let{it:n}=t,{gen:s,compositeRule:i,allErrors:a}=n,o=PSe(t,e,r);NSe(s,o),i||a||OSe(n,oa.default.vErrors)}Bi.reportExtraError=YMt;function JMt(t,e){t.assign(oa.default.errors,e),t.if((0,Ir._)`${oa.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Ir._)`${oa.default.vErrors}.length`,e),()=>t.assign(oa.default.vErrors,null)))}Bi.resetErrorsCount=JMt;function XMt({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,oa.default.errors,o=>{t.const(a,(0,Ir._)`${oa.default.vErrors}[${o}]`),t.if((0,Ir._)`${a}.instancePath === undefined`,()=>t.assign((0,Ir._)`${a}.instancePath`,(0,Ir.strConcat)(oa.default.instancePath,i.errorPath))),t.assign((0,Ir._)`${a}.schemaPath`,(0,Ir.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,Ir._)`${a}.schema`,r),t.assign((0,Ir._)`${a}.data`,n))})}Bi.extendErrors=XMt;function NSe(t,e){let r=t.const("err",e);t.if((0,Ir._)`${oa.default.vErrors} === null`,()=>t.assign(oa.default.vErrors,(0,Ir._)`[${r}]`),(0,Ir._)`${oa.default.vErrors}.push(${r})`),t.code((0,Ir._)`${oa.default.errors}++`)}function OSe(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0,Ir._)`new ${t.ValidationError}(${e})`):(r.assign((0,Ir._)`${n}.errors`,e),r.return(!1))}var th={keyword:new Ir.Name("keyword"),schemaPath:new Ir.Name("schemaPath"),params:new Ir.Name("params"),propertyName:new Ir.Name("propertyName"),message:new Ir.Name("message"),schema:new Ir.Name("schema"),parentSchema:new Ir.Name("parentSchema")};function PSe(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,Ir._)`{}`:ZMt(t,e,r)}function ZMt(t,e,r={}){let{gen:n,it:s}=t,i=[e6t(s,r),t6t(t,r)];return r6t(t,e,i),n.object(...i)}function e6t({errorPath:t},{instancePath:e}){let r=e?(0,Ir.str)`${t}${(0,JO.getErrorPath)(e,JO.Type.Str)}`:t;return[oa.default.instancePath,(0,Ir.strConcat)(oa.default.instancePath,r)]}function t6t({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0,Ir.str)`${e}/${t}`;return r&&(s=(0,Ir.str)`${s}${(0,JO.getErrorPath)(r,JO.Type.Str)}`),[th.schemaPath,s]}function r6t(t,{params:e,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([th.keyword,s],[th.params,typeof e=="function"?e(t):e||(0,Ir._)`{}`]),c.messages&&n.push([th.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([th.schema,a],[th.parentSchema,(0,Ir._)`${l}${d}`],[oa.default.data,i]),u&&n.push([th.propertyName,u])}});var kSe=E(By=>{"use strict";Object.defineProperty(By,"__esModule",{value:!0});By.boolOrEmptySchema=By.topBoolOrEmptySchema=void 0;var n6t=G_(),s6t=Yt(),i6t=Od(),a6t={message:"boolean schema is false"};function o6t(t){let{gen:e,schema:r,validateName:n}=t;r===!1?DSe(t,!1):typeof r=="object"&&r.$async===!0?e.return(i6t.default.data):(e.assign((0,s6t._)`${n}.errors`,null),e.return(!0))}By.topBoolOrEmptySchema=o6t;function c6t(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),DSe(t)):r.var(e,!0)}By.boolOrEmptySchema=c6t;function DSe(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,n6t.reportError)(s,a6t,void 0,e)}});var X7=E(My=>{"use strict";Object.defineProperty(My,"__esModule",{value:!0});My.getRules=My.isJSONType=void 0;var u6t=["string","number","integer","boolean","null","object","array"],l6t=new Set(u6t);function d6t(t){return typeof t=="string"&&l6t.has(t)}My.isJSONType=d6t;function f6t(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}My.getRules=f6t});var Z7=E(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});Mp.shouldUseRule=Mp.shouldUseGroup=Mp.schemaHasRulesForType=void 0;function p6t({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&LSe(t,n)}Mp.schemaHasRulesForType=p6t;function LSe(t,e){return e.rules.some(r=>BSe(t,r))}Mp.shouldUseGroup=LSe;function BSe(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Mp.shouldUseRule=BSe});var V_=E(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.reportTypeError=Mi.checkDataTypes=Mi.checkDataType=Mi.coerceAndCheckDataType=Mi.getJSONTypes=Mi.getSchemaTypes=Mi.DataType=void 0;var m6t=X7(),h6t=Z7(),g6t=G_(),Qt=Yt(),MSe=Wr(),Wy;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Wy||(Mi.DataType=Wy={}));function A6t(t){let e=WSe(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Mi.getSchemaTypes=A6t;function WSe(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(m6t.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Mi.getJSONTypes=WSe;function y6t(t,e){let{gen:r,data:n,opts:s}=t,i=x6t(e,s.coerceTypes),a=e.length>0&&!(i.length===0&&e.length===1&&(0,h6t.schemaHasRulesForType)(t,e[0]));if(a){let o=t9(e,n,s.strictNumbers,Wy.Wrong);r.if(o,()=>{i.length?b6t(t,e,i):r9(t)})}return a}Mi.coerceAndCheckDataType=y6t;var $Se=new Set(["string","number","integer","boolean","null"]);function x6t(t,e){return e?t.filter(r=>$Se.has(r)||e==="array"&&r==="array"):[]}function b6t(t,e,r){let{gen:n,data:s,opts:i}=t,a=n.let("dataType",(0,Qt._)`typeof ${s}`),o=n.let("coerced",(0,Qt._)`undefined`);i.coerceTypes==="array"&&n.if((0,Qt._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,Qt._)`${s}[0]`).assign(a,(0,Qt._)`typeof ${s}`).if(t9(e,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,Qt._)`${o} !== undefined`);for(let u of r)($Se.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),r9(t),n.endIf(),n.if((0,Qt._)`${o} !== undefined`,()=>{n.assign(s,o),E6t(t,o)});function c(u){switch(u){case"string":n.elseIf((0,Qt._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,Qt._)`"" + ${s}`).elseIf((0,Qt._)`${s} === null`).assign(o,(0,Qt._)`""`);return;case"number":n.elseIf((0,Qt._)`${a} == "boolean" || ${s} === null
|| (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,Qt._)`+${s}`);return;case"integer":n.elseIf((0,Qt._)`${a} === "boolean" || ${s} === null
|| (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,Qt._)`+${s}`);return;case"boolean":n.elseIf((0,Qt._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,Qt._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,Qt._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,Qt._)`${a} === "string" || ${a} === "number"
|| ${a} === "boolean" || ${s} === null`).assign(o,(0,Qt._)`[${s}]`)}}}function E6t({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,Qt._)`${e} !== undefined`,()=>t.assign((0,Qt._)`${e}[${r}]`,n))}function e9(t,e,r,n=Wy.Correct){let s=n===Wy.Correct?Qt.operators.EQ:Qt.operators.NEQ,i;switch(t){case"null":return(0,Qt._)`${e} ${s} null`;case"array":i=(0,Qt._)`Array.isArray(${e})`;break;case"object":i=(0,Qt._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=a((0,Qt._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=a();break;default:return(0,Qt._)`typeof ${e} ${s} ${t}`}return n===Wy.Correct?i:(0,Qt.not)(i);function a(o=Qt.nil){return(0,Qt.and)((0,Qt._)`typeof ${e} == "number"`,o,r?(0,Qt._)`isFinite(${e})`:Qt.nil)}}Mi.checkDataType=e9;function t9(t,e,r,n){if(t.length===1)return e9(t[0],e,r,n);let s,i=(0,MSe.toHash)(t);if(i.array&&i.object){let a=(0,Qt._)`typeof ${e} != "object"`;s=i.null?a:(0,Qt._)`!${e} || ${a}`,delete i.null,delete i.array,delete i.object}else s=Qt.nil;i.number&&delete i.integer;for(let a in i)s=(0,Qt.and)(s,e9(a,e,r,n));return s}Mi.checkDataTypes=t9;var _6t={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,Qt._)`{type: ${t}}`:(0,Qt._)`{type: ${e}}`};function r9(t){let e=S6t(t);(0,g6t.reportError)(e,_6t)}Mi.reportTypeError=r9;function S6t(t){let{gen:e,data:r,schema:n}=t,s=(0,MSe.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var USe=E(XO=>{"use strict";Object.defineProperty(XO,"__esModule",{value:!0});XO.assignDefaults=void 0;var $y=Yt(),v6t=Wr();function C6t(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)FSe(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,i)=>FSe(t,i,s.default))}XO.assignDefaults=C6t;function FSe(t,e,r){let{gen:n,compositeRule:s,data:i,opts:a}=t;if(r===void 0)return;let o=(0,$y._)`${i}${(0,$y.getProperty)(e)}`;if(s){(0,v6t.checkStrictMode)(t,`default is ignored for: ${o}`);return}let c=(0,$y._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,$y._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,$y._)`${o} = ${(0,$y.stringify)(r)}`)}});var nc=E(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.validateUnion=tn.validateArray=tn.usePattern=tn.callValidateCode=tn.schemaProperties=tn.allSchemaProperties=tn.noPropertyInData=tn.propertyInData=tn.isOwnProperty=tn.hasPropFunc=tn.reportMissingProp=tn.checkMissingProp=tn.checkReportMissingProp=void 0;var Ln=Yt(),n9=Wr(),Wp=Od(),I6t=Wr();function T6t(t,e){let{gen:r,data:n,it:s}=t;r.if(i9(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Ln._)`${e}`},!0),t.error()})}tn.checkReportMissingProp=T6t;function w6t({gen:t,data:e,it:{opts:r}},n,s){return(0,Ln.or)(...n.map(i=>(0,Ln.and)(i9(t,e,i,r.ownProperties),(0,Ln._)`${s} = ${i}`)))}tn.checkMissingProp=w6t;function R6t(t,e){t.setParams({missingProperty:e},!0),t.error()}tn.reportMissingProp=R6t;function qSe(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Ln._)`Object.prototype.hasOwnProperty`})}tn.hasPropFunc=qSe;function s9(t,e,r){return(0,Ln._)`${qSe(t)}.call(${e}, ${r})`}tn.isOwnProperty=s9;function N6t(t,e,r,n){let s=(0,Ln._)`${e}${(0,Ln.getProperty)(r)} !== undefined`;return n?(0,Ln._)`${s} && ${s9(t,e,r)}`:s}tn.propertyInData=N6t;function i9(t,e,r,n){let s=(0,Ln._)`${e}${(0,Ln.getProperty)(r)} === undefined`;return n?(0,Ln.or)(s,(0,Ln.not)(s9(t,e,r))):s}tn.noPropertyInData=i9;function jSe(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}tn.allSchemaProperties=jSe;function O6t(t,e){return jSe(e).filter(r=>!(0,n9.alwaysValidSchema)(t,e[r]))}tn.schemaProperties=O6t;function P6t({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,Ln._)`${t}, ${e}, ${n}${s}`:e,d=[[Wp.default.instancePath,(0,Ln.strConcat)(Wp.default.instancePath,i)],[Wp.default.parentData,a.parentData],[Wp.default.parentDataProperty,a.parentDataProperty],[Wp.default.rootData,Wp.default.rootData]];a.opts.dynamicRef&&d.push([Wp.default.dynamicAnchors,Wp.default.dynamicAnchors]);let f=(0,Ln._)`${l}, ${r.object(...d)}`;return c!==Ln.nil?(0,Ln._)`${o}.call(${c}, ${f})`:(0,Ln._)`${o}(${f})`}tn.callValidateCode=P6t;var D6t=(0,Ln._)`new RegExp`;function k6t({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,i=s(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Ln._)`${s.code==="new RegExp"?D6t:(0,I6t.useFunc)(t,s)}(${r}, ${n})`})}tn.usePattern=k6t;function L6t(t){let{gen:e,data:r,keyword:n,it:s}=t,i=e.name("valid");if(s.allErrors){let o=e.let("valid",!0);return a(()=>e.assign(o,!1)),o}return e.var(i,!0),a(()=>e.break()),i;function a(o){let c=e.const("len",(0,Ln._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:n9.Type.Num},i),e.if((0,Ln.not)(i),o)})}}tn.validateArray=L6t;function B6t(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,n9.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=e.let("valid",!1),o=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);e.assign(a,(0,Ln._)`${a} || ${o}`),t.mergeValidEvaluated(l,o)||e.if((0,Ln.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}tn.validateUnion=B6t});var GSe=E(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});tl.validateKeywordUsage=tl.validSchemaType=tl.funcKeywordCode=tl.macroKeywordCode=void 0;var ca=Yt(),rh=Od(),M6t=nc(),W6t=G_();function $6t(t,e){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=t,o=e.macro.call(a.self,s,i,a),c=QSe(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");t.subschema({schema:o,schemaPath:ca.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}tl.macroKeywordCode=$6t;function F6t(t,e){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=t;q6t(c,e);let u=!o&&e.compile?e.compile.call(c.self,i,a,c):e.validate,l=QSe(n,s,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&HSe(t),A(()=>t.error());else{let g=e.async?p():m();e.modifying&&HSe(t),A(()=>U6t(t,g))}}function p(){let g=n.let("ruleErrs",null);return n.try(()=>h((0,ca._)`await `),b=>n.assign(d,!1).if((0,ca._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(g,(0,ca._)`${b}.errors`),()=>n.throw(b))),g}function m(){let g=(0,ca._)`${l}.errors`;return n.assign(g,null),h(ca.nil),g}function h(g=e.async?(0,ca._)`await `:ca.nil){let b=c.opts.passContext?rh.default.this:rh.default.self,y=!("compile"in e&&!o||e.schema===!1);n.assign(d,(0,ca._)`${g}${(0,M6t.callValidateCode)(t,l,b,y)}`,e.modifying)}function A(g){var b;n.if((0,ca.not)((b=e.valid)!==null&&b!==void 0?b:d),g)}}tl.funcKeywordCode=F6t;function HSe(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,ca._)`${n.parentData}[${n.parentDataProperty}]`))}function U6t(t,e){let{gen:r}=t;r.if((0,ca._)`Array.isArray(${e})`,()=>{r.assign(rh.default.vErrors,(0,ca._)`${rh.default.vErrors} === null ? ${e} : ${rh.default.vErrors}.concat(${e})`).assign(rh.default.errors,(0,ca._)`${rh.default.vErrors}.length`),(0,W6t.extendErrors)(t)},()=>t.error())}function q6t({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function QSe(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ca.stringify)(r)})}function j6t(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}tl.validSchemaType=j6t;function H6t({schema:t,opts:e,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(t,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}tl.validateKeywordUsage=H6t});var zSe=E($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.extendSubschemaMode=$p.extendSubschemaData=$p.getSubschema=void 0;var rl=Yt(),VSe=Wr();function Q6t(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let o=t.schema[e];return r===void 0?{schema:o,schemaPath:(0,rl._)`${t.schemaPath}${(0,rl.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:o[r],schemaPath:(0,rl._)`${t.schemaPath}${(0,rl.getProperty)(e)}${(0,rl.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,VSe.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}$p.getSubschema=Q6t;function G6t(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=o.let("data",(0,rl._)`${e.data}${(0,rl.getProperty)(r)}`,!0);c(f),t.errorPath=(0,rl.str)`${u}${(0,VSe.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,rl._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){let u=s instanceof rl.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(t.propertyName=a)}i&&(t.dataTypes=i);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}$p.extendSubschemaData=G6t;function V6t(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}$p.extendSubschemaMode=V6t});var YSe=E((tBr,KSe)=>{"use strict";var Fp=KSe.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};ZO(e,n,s,t,"",t)};Fp.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Fp.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Fp.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Fp.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function ZO(t,e,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in Fp.arrayKeywords)for(var f=0;f<d.length;f++)ZO(t,e,r,d[f],s+"/"+l+"/"+f,i,s,l,n,f)}else if(l in Fp.propsKeywords){if(d&&typeof d=="object")for(var p in d)ZO(t,e,r,d[p],s+"/"+l+"/"+z6t(p),i,s,l,n,p)}else(l in Fp.keywords||t.allKeys&&!(l in Fp.skipKeywords))&&ZO(t,e,r,d,s+"/"+l,i,s,l,n)}r(n,s,i,a,o,c,u)}}function z6t(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var z_=E(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.getSchemaRefs=qa.resolveUrl=qa.normalizeId=qa._getFullPath=qa.getFullPath=qa.inlineRef=void 0;var K6t=Wr(),Y6t=Go(),J6t=YSe(),X6t=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Z6t(t,e=!0){return typeof t=="boolean"?!0:e===!0?!a9(t):e?JSe(t)<=e:!1}qa.inlineRef=Z6t;var e5t=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function a9(t){for(let e in t){if(e5t.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(a9)||typeof r=="object"&&a9(r))return!0}return!1}function JSe(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!X6t.has(r)&&(typeof t[r]=="object"&&(0,K6t.eachItem)(t[r],n=>e+=JSe(n)),e===1/0))return 1/0}return e}function XSe(t,e="",r){r!==!1&&(e=Fy(e));let n=t.parse(e);return ZSe(t,n)}qa.getFullPath=XSe;function ZSe(t,e){return t.serialize(e).split("#")[0]+"#"}qa._getFullPath=ZSe;var t5t=/#\/?$/;function Fy(t){return t?t.replace(t5t,""):""}qa.normalizeId=Fy;function r5t(t,e,r){return r=Fy(r),t.resolve(e,r)}qa.resolveUrl=r5t;var n5t=/^[a-z_][-a-z0-9._]*$/i;function s5t(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=Fy(t[r]||e),i={"":s},a=XSe(n,s,!1),o={},c=new Set;return J6t(t,{allKeys:!0},(d,f,p,m)=>{if(m===void 0)return;let h=a+f,A=i[m];typeof d[r]=="string"&&(A=g.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),i[f]=A;function g(y){let x=this.opts.uriResolver.resolve;if(y=Fy(A?x(A,y):y),c.has(y))throw l(y);c.add(y);let v=this.refs[y];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,y):y!==Fy(h)&&(y[0]==="#"?(u(d,o[y],y),o[y]=d):this.refs[y]=h),y}function b(y){if(typeof y=="string"){if(!n5t.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`)}}}),o;function u(d,f,p){if(f!==void 0&&!Y6t(d,f))throw l(p)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}qa.getSchemaRefs=s5t});var J_=E(Up=>{"use strict";Object.defineProperty(Up,"__esModule",{value:!0});Up.getData=Up.KeywordCxt=Up.validateFunctionCode=void 0;var sve=kSe(),eve=V_(),c9=Z7(),eP=V_(),i5t=USe(),Y_=GSe(),o9=zSe(),ot=Yt(),Ot=Od(),a5t=z_(),Pd=Wr(),K_=G_();function o5t(t){if(ove(t)&&(cve(t),ave(t))){l5t(t);return}ive(t,()=>(0,sve.topBoolOrEmptySchema)(t))}Up.validateFunctionCode=o5t;function ive({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},i){s.code.es5?t.func(e,(0,ot._)`${Ot.default.data}, ${Ot.default.valCxt}`,n.$async,()=>{t.code((0,ot._)`"use strict"; ${tve(r,s)}`),u5t(t,s),t.code(i)}):t.func(e,(0,ot._)`${Ot.default.data}, ${c5t(s)}`,n.$async,()=>t.code(tve(r,s)).code(i))}function c5t(t){return(0,ot._)`{${Ot.default.instancePath}="", ${Ot.default.parentData}, ${Ot.default.parentDataProperty}, ${Ot.default.rootData}=${Ot.default.data}${t.dynamicRef?(0,ot._)`, ${Ot.default.dynamicAnchors}={}`:ot.nil}}={}`}function u5t(t,e){t.if(Ot.default.valCxt,()=>{t.var(Ot.default.instancePath,(0,ot._)`${Ot.default.valCxt}.${Ot.default.instancePath}`),t.var(Ot.default.parentData,(0,ot._)`${Ot.default.valCxt}.${Ot.default.parentData}`),t.var(Ot.default.parentDataProperty,(0,ot._)`${Ot.default.valCxt}.${Ot.default.parentDataProperty}`),t.var(Ot.default.rootData,(0,ot._)`${Ot.default.valCxt}.${Ot.default.rootData}`),e.dynamicRef&&t.var(Ot.default.dynamicAnchors,(0,ot._)`${Ot.default.valCxt}.${Ot.default.dynamicAnchors}`)},()=>{t.var(Ot.default.instancePath,(0,ot._)`""`),t.var(Ot.default.parentData,(0,ot._)`undefined`),t.var(Ot.default.parentDataProperty,(0,ot._)`undefined`),t.var(Ot.default.rootData,Ot.default.data),e.dynamicRef&&t.var(Ot.default.dynamicAnchors,(0,ot._)`{}`)})}function l5t(t){let{schema:e,opts:r,gen:n}=t;ive(t,()=>{r.$comment&&e.$comment&&lve(t),h5t(t),n.let(Ot.default.vErrors,null),n.let(Ot.default.errors,0),r.unevaluated&&d5t(t),uve(t),y5t(t)})}function d5t(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,ot._)`${r}.evaluated`),e.if((0,ot._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,ot._)`${t.evaluated}.props`,(0,ot._)`undefined`)),e.if((0,ot._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,ot._)`${t.evaluated}.items`,(0,ot._)`undefined`))}function tve(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,ot._)`/*# sourceURL=${r} */`:ot.nil}function f5t(t,e){if(ove(t)&&(cve(t),ave(t))){p5t(t,e);return}(0,sve.boolOrEmptySchema)(t,e)}function ave({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function ove(t){return typeof t.schema!="boolean"}function p5t(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&lve(t),g5t(t),A5t(t);let i=n.const("_errs",Ot.default.errors);uve(t,i),n.var(e,(0,ot._)`${i} === ${Ot.default.errors}`)}function cve(t){(0,Pd.checkUnknownRules)(t),m5t(t)}function uve(t,e){if(t.opts.jtd)return rve(t,[],!1,e);let r=(0,eve.getSchemaTypes)(t.schema),n=(0,eve.coerceAndCheckDataType)(t,r);rve(t,r,!n,e)}function m5t(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Pd.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function h5t(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Pd.checkStrictMode)(t,"default is ignored in the schema root")}function g5t(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,a5t.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function A5t(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function lve({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)t.code((0,ot._)`${Ot.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,ot.str)`${n}/$comment`,o=t.scopeValue("root",{ref:e.root});t.code((0,ot._)`${Ot.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function y5t(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=t;r.$async?e.if((0,ot._)`${Ot.default.errors} === 0`,()=>e.return(Ot.default.data),()=>e.throw((0,ot._)`new ${s}(${Ot.default.vErrors})`)):(e.assign((0,ot._)`${n}.errors`,Ot.default.vErrors),i.unevaluated&&x5t(t),e.return((0,ot._)`${Ot.default.errors} === 0`))}function x5t({gen:t,evaluated:e,props:r,items:n}){r instanceof ot.Name&&t.assign((0,ot._)`${e}.props`,r),n instanceof ot.Name&&t.assign((0,ot._)`${e}.items`,n)}function rve(t,e,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,Pd.schemaHasRulesButRef)(i,l))){s.block(()=>fve(t,"$ref",l.all.$ref.definition));return}c.jtd||b5t(t,e),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,c9.shouldUseGroup)(i,f)&&(f.type?(s.if((0,eP.checkDataType)(f.type,a,c.strictNumbers)),nve(t,f),e.length===1&&e[0]===f.type&&r&&(s.else(),(0,eP.reportTypeError)(t)),s.endIf()):nve(t,f),o||s.if((0,ot._)`${Ot.default.errors} === ${n||0}`))}}function nve(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0,i5t.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,c9.shouldUseRule)(n,i)&&fve(t,i.keyword,i.definition,e.type)})}function b5t(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(E5t(t,e),t.opts.allowUnionTypes||_5t(t,e),S5t(t,t.dataTypes))}function E5t(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{dve(t.dataTypes,r)||u9(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),C5t(t,e)}}function _5t(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&u9(t,"use allowUnionTypes to allow union type keyword")}function S5t(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,c9.shouldUseRule)(t.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>v5t(e,a))&&u9(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function v5t(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function dve(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function C5t(t,e){let r=[];for(let n of t.dataTypes)dve(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function u9(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Pd.checkStrictMode)(t,e,t.opts.strictTypes)}var tP=class{constructor(e,r,n){if((0,Y_.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Pd.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",pve(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Y_.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Ot.default.errors))}result(e,r,n){this.failResult((0,ot.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,ot.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,ot._)`${r} !== undefined && (${(0,ot.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?K_.reportExtraError:K_.reportError)(this,this.def.error,r)}$dataError(){(0,K_.reportError)(this,this.def.$dataError||K_.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,K_.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=ot.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=ot.nil,r=ot.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,ot.or)((0,ot._)`${s} === undefined`,r)),e!==ot.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==ot.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,ot.or)(a(),o());function a(){if(n.length){if(!(r instanceof ot.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,ot._)`${(0,eP.checkDataTypes)(c,r,i.opts.strictNumbers,eP.DataType.Wrong)}`}return ot.nil}function o(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,ot._)`!${c}(${r})`}return ot.nil}}subschema(e,r){let n=(0,o9.getSubschema)(this.it,e);(0,o9.extendSubschemaData)(n,this.it,e),(0,o9.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return f5t(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Pd.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Pd.mergeEvaluated.items(s,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(e,ot.Name)),!0}};Up.KeywordCxt=tP;function fve(t,e,r,n){let s=new tP(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0,Y_.funcKeywordCode)(s,r):"macro"in r?(0,Y_.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,Y_.funcKeywordCode)(s,r)}var I5t=/^\/(?:[^~]|~0|~1)*$/,T5t=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function pve(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,i;if(t==="")return Ot.default.rootData;if(t[0]==="/"){if(!I5t.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,i=Ot.default.rootData}else{let u=T5t.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(i=r[e-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,ot._)`${i}${(0,ot.getProperty)((0,Pd.unescapeJsonPointer)(u))}`,a=(0,ot._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}Up.getData=pve});var rP=E(d9=>{"use strict";Object.defineProperty(d9,"__esModule",{value:!0});var l9=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};d9.default=l9});var X_=E(m9=>{"use strict";Object.defineProperty(m9,"__esModule",{value:!0});var f9=z_(),p9=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,f9.resolveUrl)(e,r,n),this.missingSchema=(0,f9.normalizeId)((0,f9.getFullPath)(e,this.missingRef))}};m9.default=p9});var sP=E(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.resolveSchema=sc.getCompilingSchema=sc.resolveRef=sc.compileSchema=sc.SchemaEnv=void 0;var Yc=Yt(),w5t=rP(),nh=Od(),Jc=z_(),mve=Wr(),R5t=J_(),Uy=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Jc.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};sc.SchemaEnv=Uy;function g9(t){let e=hve.call(this,t);if(e)return e;let r=(0,Jc.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new Yc.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;t.$async&&(o=a.scopeValue("Error",{ref:w5t.default,code:(0,Yc._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:nh.default.data,parentData:nh.default.parentData,parentDataProperty:nh.default.parentDataProperty,dataNames:[nh.default.data],dataPathArr:[Yc.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Yc.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:o,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Yc.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Yc._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,R5t.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(nh.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let p=new Function(`${nh.default.self}`,`${nh.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=t.schema,p.schemaEnv=t,t.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:h}=u;p.evaluated={props:m instanceof Yc.Name?void 0:m,items:h instanceof Yc.Name?void 0:h,dynamicProps:m instanceof Yc.Name,dynamicItems:h instanceof Yc.Name},p.source&&(p.source.evaluated=(0,Yc.stringify)(p.evaluated))}return t.validate=p,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}sc.compileSchema=g9;function N5t(t,e,r){var n;r=(0,Jc.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let i=D5t.call(this,t,r);if(i===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new Uy({schema:a,schemaId:o,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=O5t.call(this,i)}sc.resolveRef=N5t;function O5t(t){return(0,Jc.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:g9.call(this,t)}function hve(t){for(let e of this._compilations)if(P5t(e,t))return e}sc.getCompilingSchema=hve;function P5t(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function D5t(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||nP.call(this,t,e)}function nP(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Jc._getFullPath)(this.opts.uriResolver,r),s=(0,Jc.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return h9.call(this,r,t);let i=(0,Jc.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=nP.call(this,t,a);return typeof o?.schema!="object"?void 0:h9.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||g9.call(this,a),i===(0,Jc.normalizeId)(e)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,Jc.resolveUrl)(this.opts.uriResolver,s,u)),new Uy({schema:o,schemaId:c,root:t,baseId:s})}return h9.call(this,r,a)}}sc.resolveSchema=nP;var k5t=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function h9(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,mve.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!k5t.has(o)&&u&&(e=(0,Jc.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,mve.schemaHasRulesButRef)(r,this.RULES)){let o=(0,Jc.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=nP.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new Uy({schema:r,schemaId:a,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var gve=E((oBr,L5t)=>{L5t.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var y9=E((cBr,bve)=>{"use strict";var B5t=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),yve=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function A9(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var M5t=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ave(t){return t.length=0,!0}function W5t(t,e,r){if(t.length){let n=A9(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function $5t(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=W5t;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(a=!0),!o(s,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=Ave}else{s.push(u);continue}}return s.length&&(o===Ave?r.zone=s.join(""):a?n.push(s.join("")):n.push(A9(s))),r.address=n.join(""),r}function xve(t){if(F5t(t,":")<2)return{host:t,isIPV6:!1};let e=$5t(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function F5t(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function U5t(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function q5t(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function j5t(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!yve(r)){let n=xve(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}bve.exports={nonSimpleDomain:M5t,recomposeAuthority:j5t,normalizeComponentEncoding:q5t,removeDotSegments:U5t,isIPv4:yve,isUUID:B5t,normalizeIPv6:xve,stringArrayToHexStripped:A9}});var Cve=E((uBr,vve)=>{"use strict";var{isUUID:H5t}=y9(),Q5t=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,G5t=["http","https","ws","wss","urn","urn:uuid"];function V5t(t){return G5t.indexOf(t)!==-1}function x9(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Eve(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function _ve(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function z5t(t){return t.secure=x9(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function K5t(t){if((t.port===(x9(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function Y5t(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Q5t);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=b9(s);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function J5t(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=b9(s);i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function X5t(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!H5t(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Z5t(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Sve={scheme:"http",domainHost:!0,parse:Eve,serialize:_ve},e8t={scheme:"https",domainHost:Sve.domainHost,parse:Eve,serialize:_ve},iP={scheme:"ws",domainHost:!0,parse:z5t,serialize:K5t},t8t={scheme:"wss",domainHost:iP.domainHost,parse:iP.parse,serialize:iP.serialize},r8t={scheme:"urn",parse:Y5t,serialize:J5t,skipNormalize:!0},n8t={scheme:"urn:uuid",parse:X5t,serialize:Z5t,skipNormalize:!0},aP={http:Sve,https:e8t,ws:iP,wss:t8t,urn:r8t,"urn:uuid":n8t};Object.setPrototypeOf(aP,null);function b9(t){return t&&(aP[t]||aP[t.toLowerCase()])||void 0}vve.exports={wsIsSecure:x9,SCHEMES:aP,isValidSchemeName:V5t,getSchemeHandler:b9}});var wve=E((lBr,cP)=>{"use strict";var{normalizeIPv6:s8t,removeDotSegments:Z_,recomposeAuthority:i8t,normalizeComponentEncoding:oP,isIPv4:a8t,nonSimpleDomain:o8t}=y9(),{SCHEMES:c8t,getSchemeHandler:Ive}=Cve();function u8t(t,e){return typeof t=="string"?t=nl(Dd(t,e),e):typeof t=="object"&&(t=Dd(nl(t,e),e)),t}function l8t(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=Tve(Dd(t,n),Dd(e,n),n,!0);return n.skipEscape=!0,nl(s,n)}function Tve(t,e,r,n){let s={};return n||(t=Dd(nl(t,r),r),e=Dd(nl(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=Z_(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=Z_(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=Z_(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=Z_(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function d8t(t,e,r){return typeof t=="string"?(t=unescape(t),t=nl(oP(Dd(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=nl(oP(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=nl(oP(Dd(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=nl(oP(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function nl(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=Ive(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=i8t(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=Z_(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var f8t=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Dd(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(f8t);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(a8t(n.host)===!1){let c=s8t(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=Ive(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&o8t(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var E9={SCHEMES:c8t,normalize:u8t,resolve:l8t,resolveComponent:Tve,equal:d8t,serialize:nl,parse:Dd};cP.exports=E9;cP.exports.default=E9;cP.exports.fastUri=E9});var Nve=E(_9=>{"use strict";Object.defineProperty(_9,"__esModule",{value:!0});var Rve=wve();Rve.code='require("ajv/dist/runtime/uri").default';_9.default=Rve});var Wve=E(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.CodeGen=mi.Name=mi.nil=mi.stringify=mi.str=mi._=mi.KeywordCxt=void 0;var p8t=J_();Object.defineProperty(mi,"KeywordCxt",{enumerable:!0,get:function(){return p8t.KeywordCxt}});var qy=Yt();Object.defineProperty(mi,"_",{enumerable:!0,get:function(){return qy._}});Object.defineProperty(mi,"str",{enumerable:!0,get:function(){return qy.str}});Object.defineProperty(mi,"stringify",{enumerable:!0,get:function(){return qy.stringify}});Object.defineProperty(mi,"nil",{enumerable:!0,get:function(){return qy.nil}});Object.defineProperty(mi,"Name",{enumerable:!0,get:function(){return qy.Name}});Object.defineProperty(mi,"CodeGen",{enumerable:!0,get:function(){return qy.CodeGen}});var m8t=rP(),Lve=X_(),h8t=X7(),eS=sP(),g8t=Yt(),tS=z_(),uP=V_(),v9=Wr(),Ove=gve(),A8t=Nve(),Bve=(t,e)=>new RegExp(t,e);Bve.code="new RegExp";var y8t=["removeAdditional","useDefaults","coerceTypes"],x8t=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),b8t={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},E8t={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Pve=200;function _8t(t){var e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y,x,v,C,R,w,N;let P=t.strict,L=(e=t.code)===null||e===void 0?void 0:e.optimize,M=L===!0||L===void 0?1:L||0,k=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Bve,B=(s=t.uriResolver)!==null&&s!==void 0?s:A8t.default;return{strictSchema:(a=(i=t.strictSchema)!==null&&i!==void 0?i:P)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=t.strictNumbers)!==null&&o!==void 0?o:P)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:P)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:P)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=t.strictRequired)!==null&&p!==void 0?p:P)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:M,regExp:k}:{optimize:M,regExp:k},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:Pve,loopEnum:(A=t.loopEnum)!==null&&A!==void 0?A:Pve,meta:(g=t.meta)!==null&&g!==void 0?g:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(y=t.inlineRefs)!==null&&y!==void 0?y:!0,schemaId:(x=t.schemaId)!==null&&x!==void 0?x:"$id",addUsedSchema:(v=t.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(C=t.validateSchema)!==null&&C!==void 0?C:!0,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:!0,unicodeRegExp:(w=t.unicodeRegExp)!==null&&w!==void 0?w:!0,int32range:(N=t.int32range)!==null&&N!==void 0?N:!0,uriResolver:B}}var rS=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,..._8t(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new g8t.ValueScope({scope:{},prefixes:x8t,es5:r,lines:n}),this.logger=w8t(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,h8t.getRules)(),Dve.call(this,b8t,e,"NOT SUPPORTED"),Dve.call(this,E8t,e,"DEPRECATED","warn"),this._metaOpts=I8t.call(this),e.formats&&v8t.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&C8t.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),S8t.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=Ove;n==="id"&&(s={...Ove},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Lve.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let i;if(typeof e=="object"){let{schemaId:a}=this.opts;if(i=e[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,tS.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,e);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(e){let r;for(;typeof(r=kve.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new eS.SchemaEnv({schema:{},schemaId:n});if(r=eS.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=kve.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,tS.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(N8t.call(this,n,r),!r)return(0,v9.eachItem)(n,i=>S9.call(this,i)),this;P8t.call(this,r);let s={...r,type:(0,uP.getJSONTypes)(r.type),schemaType:(0,uP.getJSONTypes)(r.schemaType)};return(0,v9.eachItem)(n,s.type.length===0?i=>S9.call(this,i,s):i=>s.type.forEach(a=>S9.call(this,i,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===e);s>=0&&n.rules.splice(s,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let i=s.split("/").slice(1),a=e;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=Mve(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]))}}_addSchema(e,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof e=="object")a=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,tS.normalizeId)(a||n);let u=tS.getSchemaRefs.call(this,e,n);return c=new eS.SchemaEnv({schema:e,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):eS.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{eS.compileSchema.call(this,e)}finally{this.opts=r}}};rS.ValidationError=m8t.default;rS.MissingRefError=Lve.default;mi.default=rS;function Dve(t,e,r,n="error"){for(let s in t){let i=s;i in e&&this.logger[n](`${r}: option ${s}. ${t[i]}`)}}function kve(t){return t=(0,tS.normalizeId)(t),this.schemas[t]||this.refs[t]}function S8t(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function v8t(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function C8t(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function I8t(){let t={...this.opts};for(let e of y8t)delete t[e];return t}var T8t={log(){},warn(){},error(){}};function w8t(t){if(t===!1)return T8t;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var R8t=/^[a-z_$][a-z0-9_$:-]*$/i;function N8t(t,e){let{RULES:r}=this;if((0,v9.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!R8t.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function S9(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[t]=!0,!e)return;let o={keyword:t,definition:{...e,type:(0,uP.getJSONTypes)(e.type),schemaType:(0,uP.getJSONTypes)(e.schemaType)}};e.before?O8t.call(this,a,o,e.before):a.rules.push(o),i.all[t]=o,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function O8t(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function P8t(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Mve(e)),t.validateSchema=this.compile(e,!0))}var D8t={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Mve(t){return{anyOf:[t,D8t]}}});var $ve=E(C9=>{"use strict";Object.defineProperty(C9,"__esModule",{value:!0});var k8t={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};C9.default=k8t});var jve=E(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.callRef=sh.getValidate=void 0;var L8t=X_(),Fve=nc(),ja=Yt(),jy=Od(),Uve=sP(),lP=Wr(),B8t={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=Uve.resolveRef.call(c,u,s,r);if(l===void 0)throw new L8t.default(n.opts.uriResolver,s,r);if(l instanceof Uve.SchemaEnv)return f(l);return p(l);function d(){if(i===u)return dP(t,a,i,i.$async);let m=e.scopeValue("root",{ref:u});return dP(t,(0,ja._)`${m}.validate`,u,u.$async)}function f(m){let h=qve(t,m);dP(t,h,m,m.$async)}function p(m){let h=e.scopeValue("schema",o.code.source===!0?{ref:m,code:(0,ja.stringify)(m)}:{ref:m}),A=e.name("valid"),g=t.subschema({schema:m,dataTypes:[],schemaPath:ja.nil,topSchemaRef:h,errSchemaPath:r},A);t.mergeEvaluated(g),t.ok(A)}}};function qve(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,ja._)`${r.scopeValue("wrapper",{ref:e})}.validate`}sh.getValidate=qve;function dP(t,e,r,n){let{gen:s,it:i}=t,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?jy.default.this:ja.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let m=s.let("valid");s.try(()=>{s.code((0,ja._)`await ${(0,Fve.callValidateCode)(t,e,u)}`),p(e),a||s.assign(m,!0)},h=>{s.if((0,ja._)`!(${h} instanceof ${i.ValidationError})`,()=>s.throw(h)),f(h),a||s.assign(m,!1)}),t.ok(m)}function d(){t.result((0,Fve.callValidateCode)(t,e,u),()=>p(e),()=>f(e))}function f(m){let h=(0,ja._)`${m}.errors`;s.assign(jy.default.vErrors,(0,ja._)`${jy.default.vErrors} === null ? ${h} : ${jy.default.vErrors}.concat(${h})`),s.assign(jy.default.errors,(0,ja._)`${jy.default.vErrors}.length`)}function p(m){var h;if(!i.opts.unevaluated)return;let A=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(i.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(i.props=lP.mergeEvaluated.props(s,A.props,i.props));else{let g=s.var("props",(0,ja._)`${m}.evaluated.props`);i.props=lP.mergeEvaluated.props(s,g,i.props,ja.Name)}if(i.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(i.items=lP.mergeEvaluated.items(s,A.items,i.items));else{let g=s.var("items",(0,ja._)`${m}.evaluated.items`);i.items=lP.mergeEvaluated.items(s,g,i.items,ja.Name)}}}sh.callRef=dP;sh.default=B8t});var Hve=E(I9=>{"use strict";Object.defineProperty(I9,"__esModule",{value:!0});var M8t=$ve(),W8t=jve(),$8t=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",M8t.default,W8t.default];I9.default=$8t});var Qve=E(T9=>{"use strict";Object.defineProperty(T9,"__esModule",{value:!0});var fP=Yt(),qp=fP.operators,pP={maximum:{okStr:"<=",ok:qp.LTE,fail:qp.GT},minimum:{okStr:">=",ok:qp.GTE,fail:qp.LT},exclusiveMaximum:{okStr:"<",ok:qp.LT,fail:qp.GTE},exclusiveMinimum:{okStr:">",ok:qp.GT,fail:qp.LTE}},F8t={message:({keyword:t,schemaCode:e})=>(0,fP.str)`must be ${pP[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,fP._)`{comparison: ${pP[t].okStr}, limit: ${e}}`},U8t={keyword:Object.keys(pP),type:"number",schemaType:"number",$data:!0,error:F8t,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,fP._)`${r} ${pP[e].fail} ${n} || isNaN(${r})`)}};T9.default=U8t});var Gve=E(w9=>{"use strict";Object.defineProperty(w9,"__esModule",{value:!0});var nS=Yt(),q8t={message:({schemaCode:t})=>(0,nS.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,nS._)`{multipleOf: ${t}}`},j8t={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:q8t,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,i=s.opts.multipleOfPrecision,a=e.let("res"),o=i?(0,nS._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,nS._)`${a} !== parseInt(${a})`;t.fail$data((0,nS._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};w9.default=j8t});var zve=E(R9=>{"use strict";Object.defineProperty(R9,"__esModule",{value:!0});function Vve(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}R9.default=Vve;Vve.code='require("ajv/dist/runtime/ucs2length").default'});var Kve=E(N9=>{"use strict";Object.defineProperty(N9,"__esModule",{value:!0});var ih=Yt(),H8t=Wr(),Q8t=zve(),G8t={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,ih.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,ih._)`{limit: ${t}}`},V8t={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:G8t,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,i=e==="maxLength"?ih.operators.GT:ih.operators.LT,a=s.opts.unicode===!1?(0,ih._)`${r}.length`:(0,ih._)`${(0,H8t.useFunc)(t.gen,Q8t.default)}(${r})`;t.fail$data((0,ih._)`${a} ${i} ${n}`)}};N9.default=V8t});var Yve=E(O9=>{"use strict";Object.defineProperty(O9,"__esModule",{value:!0});var z8t=nc(),mP=Yt(),K8t={message:({schemaCode:t})=>(0,mP.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,mP._)`{pattern: ${t}}`},Y8t={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:K8t,code(t){let{data:e,$data:r,schema:n,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"",o=r?(0,mP._)`(new RegExp(${s}, ${a}))`:(0,z8t.usePattern)(t,n);t.fail$data((0,mP._)`!${o}.test(${e})`)}};O9.default=Y8t});var Jve=E(P9=>{"use strict";Object.defineProperty(P9,"__esModule",{value:!0});var sS=Yt(),J8t={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,sS.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,sS._)`{limit: ${t}}`},X8t={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:J8t,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?sS.operators.GT:sS.operators.LT;t.fail$data((0,sS._)`Object.keys(${r}).length ${s} ${n}`)}};P9.default=X8t});var Xve=E(D9=>{"use strict";Object.defineProperty(D9,"__esModule",{value:!0});var iS=nc(),aS=Yt(),Z8t=Wr(),eWt={message:({params:{missingProperty:t}})=>(0,aS.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,aS._)`{missingProperty: ${t}}`},tWt={keyword:"required",type:"object",schemaType:"array",$data:!0,error:eWt,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:i,it:a}=t,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let p=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let A=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${h}" is not defined at "${A}" (strictRequired)`;(0,Z8t.checkStrictMode)(a,g,a.opts.strictRequired)}}function u(){if(c||i)t.block$data(aS.nil,d);else for(let p of r)(0,iS.checkReportMissingProp)(t,p)}function l(){let p=e.let("missing");if(c||i){let m=e.let("valid",!0);t.block$data(m,()=>f(p,m)),t.ok(m)}else e.if((0,iS.checkMissingProp)(t,r,p)),(0,iS.reportMissingProp)(t,p),e.else()}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0,iS.noPropertyInData)(e,s,p,o.ownProperties),()=>t.error())})}function f(p,m){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(m,(0,iS.propertyInData)(e,s,p,o.ownProperties)),e.if((0,aS.not)(m),()=>{t.error(),e.break()})},aS.nil)}}};D9.default=tWt});var Zve=E(k9=>{"use strict";Object.defineProperty(k9,"__esModule",{value:!0});var oS=Yt(),rWt={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,oS.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,oS._)`{limit: ${t}}`},nWt={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:rWt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?oS.operators.GT:oS.operators.LT;t.fail$data((0,oS._)`${r}.length ${s} ${n}`)}};k9.default=nWt});var hP=E(L9=>{"use strict";Object.defineProperty(L9,"__esModule",{value:!0});var eCe=Go();eCe.code='require("ajv/dist/runtime/equal").default';L9.default=eCe});var tCe=E(M9=>{"use strict";Object.defineProperty(M9,"__esModule",{value:!0});var B9=V_(),hi=Yt(),sWt=Wr(),iWt=hP(),aWt={message:({params:{i:t,j:e}})=>(0,hi.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,hi._)`{i: ${t}, j: ${e}}`},oWt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:aWt,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=t;if(!n&&!s)return;let c=e.let("valid"),u=i.items?(0,B9.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,hi._)`${a} === false`),t.ok(c);function l(){let m=e.let("i",(0,hi._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,hi._)`${m} > 1`,()=>(d()?f:p)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function f(m,h){let A=e.name("item"),g=(0,B9.checkDataTypes)(u,A,o.opts.strictNumbers,B9.DataType.Wrong),b=e.const("indices",(0,hi._)`{}`);e.for((0,hi._)`;${m}--;`,()=>{e.let(A,(0,hi._)`${r}[${m}]`),e.if(g,(0,hi._)`continue`),u.length>1&&e.if((0,hi._)`typeof ${A} == "string"`,(0,hi._)`${A} += "_"`),e.if((0,hi._)`typeof ${b}[${A}] == "number"`,()=>{e.assign(h,(0,hi._)`${b}[${A}]`),t.error(),e.assign(c,!1).break()}).code((0,hi._)`${b}[${A}] = ${m}`)})}function p(m,h){let A=(0,sWt.useFunc)(e,iWt.default),g=e.name("outer");e.label(g).for((0,hi._)`;${m}--;`,()=>e.for((0,hi._)`${h} = ${m}; ${h}--;`,()=>e.if((0,hi._)`${A}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(g)})))}}};M9.default=oWt});var rCe=E($9=>{"use strict";Object.defineProperty($9,"__esModule",{value:!0});var W9=Yt(),cWt=Wr(),uWt=hP(),lWt={message:"must be equal to constant",params:({schemaCode:t})=>(0,W9._)`{allowedValue: ${t}}`},dWt={keyword:"const",$data:!0,error:lWt,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,W9._)`!${(0,cWt.useFunc)(e,uWt.default)}(${r}, ${s})`):t.fail((0,W9._)`${i} !== ${r}`)}};$9.default=dWt});var nCe=E(F9=>{"use strict";Object.defineProperty(F9,"__esModule",{value:!0});var cS=Yt(),fWt=Wr(),pWt=hP(),mWt={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,cS._)`{allowedValues: ${t}}`},hWt={keyword:"enum",schemaType:"array",$data:!0,error:mWt,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:i,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,fWt.useFunc)(e,pWt.default)),l;if(o||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let p=e.const("vSchema",i);l=(0,cS.or)(...s.map((m,h)=>f(p,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,p=>e.if((0,cS._)`${u()}(${r}, ${p})`,()=>e.assign(l,!0).break()))}function f(p,m){let h=s[m];return typeof h=="object"&&h!==null?(0,cS._)`${u()}(${r}, ${p}[${m}])`:(0,cS._)`${r} === ${h}`}}};F9.default=hWt});var sCe=E(U9=>{"use strict";Object.defineProperty(U9,"__esModule",{value:!0});var gWt=Qve(),AWt=Gve(),yWt=Kve(),xWt=Yve(),bWt=Jve(),EWt=Xve(),_Wt=Zve(),SWt=tCe(),vWt=rCe(),CWt=nCe(),IWt=[gWt.default,AWt.default,yWt.default,xWt.default,bWt.default,EWt.default,_Wt.default,SWt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},vWt.default,CWt.default];U9.default=IWt});var j9=E(uS=>{"use strict";Object.defineProperty(uS,"__esModule",{value:!0});uS.validateAdditionalItems=void 0;var ah=Yt(),q9=Wr(),TWt={message:({params:{len:t}})=>(0,ah.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ah._)`{limit: ${t}}`},wWt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:TWt,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,q9.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}iCe(t,n)}};function iCe(t,e){let{gen:r,schema:n,data:s,keyword:i,it:a}=t;a.items=!0;let o=r.const("len",(0,ah._)`${s}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,ah._)`${o} <= ${e.length}`);else if(typeof n=="object"&&!(0,q9.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,ah._)`${o} <= ${e.length}`);r.if((0,ah.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,o,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:q9.Type.Num},u),a.allErrors||r.if((0,ah.not)(u),()=>r.break())})}}uS.validateAdditionalItems=iCe;uS.default=wWt});var H9=E(lS=>{"use strict";Object.defineProperty(lS,"__esModule",{value:!0});lS.validateTuple=void 0;var aCe=Yt(),gP=Wr(),RWt=nc(),NWt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return oCe(t,"additionalItems",e);r.items=!0,!(0,gP.alwaysValidSchema)(r,e)&&t.ok((0,RWt.validateArray)(t))}};function oCe(t,e,r=t.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=t;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=gP.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,aCe._)`${i}.length`);r.forEach((d,f)=>{(0,gP.alwaysValidSchema)(o,d)||(n.if((0,aCe._)`${u} > ${f}`,()=>t.subschema({keyword:a,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:p}=o,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let A=`"${a}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,gP.checkStrictMode)(o,A,f.strictTuples)}}}lS.validateTuple=oCe;lS.default=NWt});var cCe=E(Q9=>{"use strict";Object.defineProperty(Q9,"__esModule",{value:!0});var OWt=H9(),PWt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,OWt.validateTuple)(t,"items")};Q9.default=PWt});var lCe=E(G9=>{"use strict";Object.defineProperty(G9,"__esModule",{value:!0});var uCe=Yt(),DWt=Wr(),kWt=nc(),LWt=j9(),BWt={message:({params:{len:t}})=>(0,uCe.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,uCe._)`{limit: ${t}}`},MWt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:BWt,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=!0,!(0,DWt.alwaysValidSchema)(n,e)&&(s?(0,LWt.validateAdditionalItems)(t,s):t.ok((0,kWt.validateArray)(t)))}};G9.default=MWt});var dCe=E(V9=>{"use strict";Object.defineProperty(V9,"__esModule",{value:!0});var ic=Yt(),AP=Wr(),WWt={message:({params:{min:t,max:e}})=>e===void 0?(0,ic.str)`must contain at least ${t} valid item(s)`:(0,ic.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ic._)`{minContains: ${t}}`:(0,ic._)`{minContains: ${t}, maxContains: ${e}}`},$Wt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:WWt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=e.const("len",(0,ic._)`${s}.length`);if(t.setParams({min:a,max:o}),o===void 0&&a===0){(0,AP.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,AP.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,AP.alwaysValidSchema)(i,r)){let h=(0,ic._)`${l} >= ${a}`;o!==void 0&&(h=(0,ic._)`${h} && ${l} <= ${o}`),t.pass(h);return}i.items=!0;let d=e.name("valid");o===void 0&&a===1?p(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),o!==void 0&&e.if((0,ic._)`${s}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),A=e.let("count",0);p(h,()=>e.if(h,()=>m(A)))}function p(h,A){e.forRange("i",0,l,g=>{t.subschema({keyword:"contains",dataProp:g,dataPropType:AP.Type.Num,compositeRule:!0},h),A()})}function m(h){e.code((0,ic._)`${h}++`),o===void 0?e.if((0,ic._)`${h} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,ic._)`${h} > ${o}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,ic._)`${h} >= ${a}`,()=>e.assign(d,!0)))}}};V9.default=$Wt});var mCe=E(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});sl.validateSchemaDeps=sl.validatePropertyDeps=sl.error=void 0;var z9=Yt(),FWt=Wr(),dS=nc();sl.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,z9.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,z9._)`{property: ${t},
missingProperty: ${n},
depsCount: ${e},
deps: ${r}}`};var UWt={keyword:"dependencies",type:"object",schemaType:"object",error:sl.error,code(t){let[e,r]=qWt(t);fCe(t,e),pCe(t,r)}};function qWt({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n]}return[e,r]}function fCe(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let a in e){let o=e[a];if(o.length===0)continue;let c=(0,dS.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,dS.checkReportMissingProp)(t,u)}):(r.if((0,z9._)`${c} && (${(0,dS.checkMissingProp)(t,o,i)})`),(0,dS.reportMissingProp)(t,i),r.else())}}sl.validatePropertyDeps=fCe;function pCe(t,e=t.schema){let{gen:r,data:n,keyword:s,it:i}=t,a=r.name("valid");for(let o in e)(0,FWt.alwaysValidSchema)(i,e[o])||(r.if((0,dS.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:o},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}sl.validateSchemaDeps=pCe;sl.default=UWt});var gCe=E(K9=>{"use strict";Object.defineProperty(K9,"__esModule",{value:!0});var hCe=Yt(),jWt=Wr(),HWt={message:"property name must be valid",params:({params:t})=>(0,hCe._)`{propertyName: ${t.propertyName}}`},QWt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:HWt,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0,jWt.alwaysValidSchema)(s,r))return;let i=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),e.if((0,hCe.not)(i),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(i)}};K9.default=QWt});var J9=E(Y9=>{"use strict";Object.defineProperty(Y9,"__esModule",{value:!0});var yP=nc(),Xc=Yt(),GWt=Od(),xP=Wr(),VWt={message:"must NOT have additional properties",params:({params:t})=>(0,Xc._)`{additionalProperty: ${t.additionalProperty}}`},zWt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:VWt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,xP.alwaysValidSchema)(a,r))return;let u=(0,yP.allSchemaProperties)(n.properties),l=(0,yP.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Xc._)`${i} === ${GWt.default.errors}`);function d(){e.forIn("key",s,A=>{!u.length&&!l.length?m(A):e.if(f(A),()=>m(A))})}function f(A){let g;if(u.length>8){let b=(0,xP.schemaRefOrVal)(a,n.properties,"properties");g=(0,yP.isOwnProperty)(e,b,A)}else u.length?g=(0,Xc.or)(...u.map(b=>(0,Xc._)`${A} === ${b}`)):g=Xc.nil;return l.length&&(g=(0,Xc.or)(g,...l.map(b=>(0,Xc._)`${(0,yP.usePattern)(t,b)}.test(${A})`))),(0,Xc.not)(g)}function p(A){e.code((0,Xc._)`delete ${s}[${A}]`)}function m(A){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(A);return}if(r===!1){t.setParams({additionalProperty:A}),t.error(),o||e.break();return}if(typeof r=="object"&&!(0,xP.alwaysValidSchema)(a,r)){let g=e.name("valid");c.removeAdditional==="failing"?(h(A,g,!1),e.if((0,Xc.not)(g),()=>{t.reset(),p(A)})):(h(A,g),o||e.if((0,Xc.not)(g),()=>e.break()))}}function h(A,g,b){let y={keyword:"additionalProperties",dataProp:A,dataPropType:xP.Type.Str};b===!1&&Object.assign(y,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(y,g)}}};Y9.default=zWt});var xCe=E(Z9=>{"use strict";Object.defineProperty(Z9,"__esModule",{value:!0});var KWt=J_(),ACe=nc(),X9=Wr(),yCe=J9(),YWt={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&yCe.default.code(new KWt.KeywordCxt(i,yCe.default,"additionalProperties"));let a=(0,ACe.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=X9.mergeEvaluated.props(e,(0,X9.toHash)(a),i.props));let o=a.filter(d=>!(0,X9.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=e.name("valid");for(let d of o)u(d)?l(d):(e.if((0,ACe.propertyInData)(e,s,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Z9.default=YWt});var SCe=E(eq=>{"use strict";Object.defineProperty(eq,"__esModule",{value:!0});var bCe=nc(),bP=Yt(),ECe=Wr(),_Ce=Wr(),JWt={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:i}=t,{opts:a}=i,o=(0,bCe.allSchemaProperties)(r),c=o.filter(h=>(0,ECe.alwaysValidSchema)(i,r[h]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof bP.Name)&&(i.props=(0,_Ce.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let h of o)u&&p(h),i.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function p(h){for(let A in u)new RegExp(h).test(A)&&(0,ECe.checkStrictMode)(i,`property ${A} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,A=>{e.if((0,bP._)`${(0,bCe.usePattern)(t,h)}.test(${A})`,()=>{let g=c.includes(h);g||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:A,dataPropType:_Ce.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,bP._)`${d}[${A}]`,!0):!g&&!i.allErrors&&e.if((0,bP.not)(l),()=>e.break())})})}}};eq.default=JWt});var vCe=E(tq=>{"use strict";Object.defineProperty(tq,"__esModule",{value:!0});var XWt=Wr(),ZWt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,XWt.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};tq.default=ZWt});var CCe=E(rq=>{"use strict";Object.defineProperty(rq,"__esModule",{value:!0});var e$t=nc(),t$t={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:e$t.validateUnion,error:{message:"must match a schema in anyOf"}};rq.default=t$t});var ICe=E(nq=>{"use strict";Object.defineProperty(nq,"__esModule",{value:!0});var EP=Yt(),r$t=Wr(),n$t={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,EP._)`{passingSchemas: ${t.passing}}`},s$t={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:n$t,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=e.let("valid",!1),o=e.let("passing",null),c=e.name("_valid");t.setParams({passing:o}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let f;(0,r$t.alwaysValidSchema)(s,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,EP._)`${c} && ${a}`).assign(a,!1).assign(o,(0,EP._)`[${o}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(o,d),f&&t.mergeEvaluated(f,EP.Name)})})}}};nq.default=s$t});var TCe=E(sq=>{"use strict";Object.defineProperty(sq,"__esModule",{value:!0});var i$t=Wr(),a$t={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((i,a)=>{if((0,i$t.alwaysValidSchema)(n,i))return;let o=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(o)})}};sq.default=a$t});var NCe=E(iq=>{"use strict";Object.defineProperty(iq,"__esModule",{value:!0});var _P=Yt(),RCe=Wr(),o$t={message:({params:t})=>(0,_P.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,_P._)`{failingKeyword: ${t.ifClause}}`},c$t={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:o$t,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,RCe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=wCe(n,"then"),i=wCe(n,"else");if(!s&&!i)return;let a=e.let("valid",!0),o=e.name("_valid");if(c(),t.reset(),s&&i){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(o,u("then",l),u("else",l))}else s?e.if(o,u("then")):e.if((0,_P.not)(o),u("else"));t.pass(a,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},o);e.assign(a,o),t.mergeValidEvaluated(f,a),d?e.assign(d,(0,_P._)`${l}`):t.setParams({ifClause:l})}}}};function wCe(t,e){let r=t.schema[e];return r!==void 0&&!(0,RCe.alwaysValidSchema)(t,r)}iq.default=c$t});var OCe=E(aq=>{"use strict";Object.defineProperty(aq,"__esModule",{value:!0});var u$t=Wr(),l$t={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,u$t.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};aq.default=l$t});var PCe=E(oq=>{"use strict";Object.defineProperty(oq,"__esModule",{value:!0});var d$t=j9(),f$t=cCe(),p$t=H9(),m$t=lCe(),h$t=dCe(),g$t=mCe(),A$t=gCe(),y$t=J9(),x$t=xCe(),b$t=SCe(),E$t=vCe(),_$t=CCe(),S$t=ICe(),v$t=TCe(),C$t=NCe(),I$t=OCe();function T$t(t=!1){let e=[E$t.default,_$t.default,S$t.default,v$t.default,C$t.default,I$t.default,A$t.default,y$t.default,g$t.default,x$t.default,b$t.default];return t?e.push(f$t.default,m$t.default):e.push(d$t.default,p$t.default),e.push(h$t.default),e}oq.default=T$t});var DCe=E(cq=>{"use strict";Object.defineProperty(cq,"__esModule",{value:!0});var ds=Yt(),w$t={message:({schemaCode:t})=>(0,ds.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ds._)`{format: ${t}}`},R$t={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:w$t,code(t,e){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():p();function f(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,ds._)`${m}[${a}]`),A=r.let("fType"),g=r.let("format");r.if((0,ds._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(A,(0,ds._)`${h}.type || "string"`).assign(g,(0,ds._)`${h}.validate`),()=>r.assign(A,(0,ds._)`"string"`).assign(g,h)),t.fail$data((0,ds.or)(b(),y()));function b(){return c.strictSchema===!1?ds.nil:(0,ds._)`${a} && !${g}`}function y(){let x=l.$async?(0,ds._)`(${h}.async ? await ${g}(${n}) : ${g}(${n}))`:(0,ds._)`${g}(${n})`,v=(0,ds._)`(typeof ${g} == "function" ? ${x} : ${g}.test(${n}))`;return(0,ds._)`${g} && ${g} !== true && ${A} === ${e} && !${v}`}}function p(){let m=d.formats[i];if(!m){b();return}if(m===!0)return;let[h,A,g]=y(m);h===e&&t.pass(x());function b(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function y(v){let C=v instanceof RegExp?(0,ds.regexpCode)(v):c.code.formats?(0,ds._)`${c.code.formats}${(0,ds.getProperty)(i)}`:void 0,R=r.scopeValue("formats",{key:i,ref:v,code:C});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,ds._)`${R}.validate`]:["string",v,R]}function x(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ds._)`await ${g}(${n})`}return typeof A=="function"?(0,ds._)`${g}(${n})`:(0,ds._)`${g}.test(${n})`}}}};cq.default=R$t});var kCe=E(uq=>{"use strict";Object.defineProperty(uq,"__esModule",{value:!0});var N$t=DCe(),O$t=[N$t.default];uq.default=O$t});var LCe=E(Hy=>{"use strict";Object.defineProperty(Hy,"__esModule",{value:!0});Hy.contentVocabulary=Hy.metadataVocabulary=void 0;Hy.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Hy.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var MCe=E(lq=>{"use strict";Object.defineProperty(lq,"__esModule",{value:!0});var P$t=Hve(),D$t=sCe(),k$t=PCe(),L$t=kCe(),BCe=LCe(),B$t=[P$t.default,D$t.default,(0,k$t.default)(),L$t.default,BCe.metadataVocabulary,BCe.contentVocabulary];lq.default=B$t});var $Ce=E(SP=>{"use strict";Object.defineProperty(SP,"__esModule",{value:!0});SP.DiscrError=void 0;var WCe;(function(t){t.Tag="tag",t.Mapping="mapping"})(WCe||(SP.DiscrError=WCe={}))});var UCe=E(fq=>{"use strict";Object.defineProperty(fq,"__esModule",{value:!0});var Qy=Yt(),dq=$Ce(),FCe=sP(),M$t=X_(),W$t=Wr(),$$t={message:({params:{discrError:t,tagName:e}})=>t===dq.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Qy._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},F$t={keyword:"discriminator",type:"object",schemaType:"object",error:$$t,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,Qy._)`${r}${(0,Qy.getProperty)(o)}`);e.if((0,Qy._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:dq.DiscrError.Tag,tag:u,tagName:o})),t.ok(c);function l(){let p=f();e.if(!1);for(let m in p)e.elseIf((0,Qy._)`${u} === ${m}`),e.assign(c,d(p[m]));e.else(),t.error(!1,{discrError:dq.DiscrError.Mapping,tag:u,tagName:o}),e.endIf()}function d(p){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:p},m);return t.mergeEvaluated(h,Qy.Name),m}function f(){var p;let m={},h=g(s),A=!0;for(let x=0;x<a.length;x++){let v=a[x];if(v?.$ref&&!(0,W$t.schemaHasRulesButRef)(v,i.self.RULES)){let R=v.$ref;if(v=FCe.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,R),v instanceof FCe.SchemaEnv&&(v=v.schema),v===void 0)throw new M$t.default(i.opts.uriResolver,i.baseId,R)}let C=(p=v?.properties)===null||p===void 0?void 0:p[o];if(typeof C!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${o}"`);A=A&&(h||g(v)),b(C,x)}if(!A)throw new Error(`discriminator: "${o}" must be required`);return m;function g({required:x}){return Array.isArray(x)&&x.includes(o)}function b(x,v){if(x.const)y(x.const,v);else if(x.enum)for(let C of x.enum)y(C,v);else throw new Error(`discriminator: "properties/${o}" must have "const" or "enum"`)}function y(x,v){if(typeof x!="string"||x in m)throw new Error(`discriminator: "${o}" values must be unique strings`);m[x]=v}}}};fq.default=F$t});var qCe=E((XBr,U$t)=>{U$t.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var HCe=E((Bn,pq)=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.MissingRefError=Bn.ValidationError=Bn.CodeGen=Bn.Name=Bn.nil=Bn.stringify=Bn.str=Bn._=Bn.KeywordCxt=Bn.Ajv=void 0;var q$t=Wve(),j$t=MCe(),H$t=UCe(),jCe=qCe(),Q$t=["/properties"],vP="http://json-schema.org/draft-07/schema",Gy=class extends q$t.default{_addVocabularies(){super._addVocabularies(),j$t.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(H$t.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(jCe,Q$t):jCe;this.addMetaSchema(e,vP,!1),this.refs["http://json-schema.org/schema"]=vP}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(vP)?vP:void 0)}};Bn.Ajv=Gy;pq.exports=Bn=Gy;pq.exports.Ajv=Gy;Object.defineProperty(Bn,"__esModule",{value:!0});Bn.default=Gy;var G$t=J_();Object.defineProperty(Bn,"KeywordCxt",{enumerable:!0,get:function(){return G$t.KeywordCxt}});var Vy=Yt();Object.defineProperty(Bn,"_",{enumerable:!0,get:function(){return Vy._}});Object.defineProperty(Bn,"str",{enumerable:!0,get:function(){return Vy.str}});Object.defineProperty(Bn,"stringify",{enumerable:!0,get:function(){return Vy.stringify}});Object.defineProperty(Bn,"nil",{enumerable:!0,get:function(){return Vy.nil}});Object.defineProperty(Bn,"Name",{enumerable:!0,get:function(){return Vy.Name}});Object.defineProperty(Bn,"CodeGen",{enumerable:!0,get:function(){return Vy.CodeGen}});var V$t=rP();Object.defineProperty(Bn,"ValidationError",{enumerable:!0,get:function(){return V$t.default}});var z$t=X_();Object.defineProperty(Bn,"MissingRefError",{enumerable:!0,get:function(){return z$t.default}})});var QCe=E(zy=>{"use strict";Object.defineProperty(zy,"__esModule",{value:!0});zy.formatLimitDefinition=void 0;var K$t=HCe(),Zc=Yt(),jp=Zc.operators,CP={formatMaximum:{okStr:"<=",ok:jp.LTE,fail:jp.GT},formatMinimum:{okStr:">=",ok:jp.GTE,fail:jp.LT},formatExclusiveMaximum:{okStr:"<",ok:jp.LT,fail:jp.GTE},formatExclusiveMinimum:{okStr:">",ok:jp.GT,fail:jp.LTE}},Y$t={message:({keyword:t,schemaCode:e})=>Zc.str`should be ${CP[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>Zc._`{comparison: ${CP[t].okStr}, limit: ${e}}`};zy.formatLimitDefinition={keyword:Object.keys(CP),type:"string",schemaType:"string",$data:!0,error:Y$t,code(t){let{gen:e,data:r,schemaCode:n,keyword:s,it:i}=t,{opts:a,self:o}=i;if(!a.validateFormats)return;let c=new K$t.KeywordCxt(i,o.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:o.formats,code:a.code.formats}),p=e.const("fmt",Zc._`${f}[${c.schemaCode}]`);t.fail$data(Zc.or(Zc._`typeof ${p} != "object"`,Zc._`${p} instanceof RegExp`,Zc._`typeof ${p}.compare != "function"`,d(p)))}function l(){let f=c.schema,p=o.formats[f];if(!p||p===!0)return;if(typeof p!="object"||p instanceof RegExp||typeof p.compare!="function")throw new Error(`"${s}": format "${f}" does not define "compare" function`);let m=e.scopeValue("formats",{key:f,ref:p,code:a.code.formats?Zc._`${a.code.formats}${Zc.getProperty(f)}`:void 0});t.fail$data(d(m))}function d(f){return Zc._`${f}.compare(${r}, ${n}) ${CP[s].fail} 0`}},dependencies:["format"]};var J$t=t=>(t.addKeyword(zy.formatLimitDefinition),t);zy.default=J$t});var KCe=E((fS,zCe)=>{"use strict";Object.defineProperty(fS,"__esModule",{value:!0});var Ky=ySe(),X$t=QCe(),mq=Yt(),GCe=new mq.Name("fullFormats"),Z$t=new mq.Name("fastFormats"),hq=(t,e={keywords:!0})=>{if(Array.isArray(e))return VCe(t,e,Ky.fullFormats,GCe),t;let[r,n]=e.mode==="fast"?[Ky.fastFormats,Z$t]:[Ky.fullFormats,GCe],s=e.formats||Ky.formatNames;return VCe(t,s,r,n),e.keywords&&X$t.default(t),t};hq.get=(t,e="full")=>{let n=(e==="fast"?Ky.fastFormats:Ky.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function VCe(t,e,r,n){var s,i;(s=(i=t.opts.code).formats)!==null&&s!==void 0||(i.formats=mq._`require("ajv-formats/dist/formats").${n}`);for(let a of e)t.addFormat(a,r[a])}zCe.exports=fS=hq;Object.defineProperty(fS,"__esModule",{value:!0});fS.default=hq});var XCe=E((e4r,JCe)=>{"use strict";var eFt=g_e().default,tFt=C7(),YCe=I7(),gq=class{constructor(e,r){r.mode==="JTD"?this.ajv=new tFt(Object.assign({},YCe,r.customOptions)):this.ajv=new eFt(Object.assign({},YCe,r.customOptions));let n=!0;if(r.plugins&&r.plugins.length>0)for(let i of r.plugins)Array.isArray(i)?(n=n&&i[0].name!=="formatsPlugin",i[0](this.ajv,i[1])):(n=n&&i.name!=="formatsPlugin",i(this.ajv));n&&KCe()(this.ajv),r.onCreate?.(this.ajv);let s=Object.values(e);for(let i of s)this.ajv.addSchema(i)}buildValidatorFunction({schema:e}){if(e.$id){let r=this.ajv.getSchema(e.$id);if(r)return r}return this.ajv.compile(e)}};JCe.exports=gq});var eIe=E((t4r,ZCe)=>{"use strict";var rFt=C7(),nFt=I7(),Aq=class{constructor(e,r){this.ajv=new rFt(Object.assign({},nFt,r))}buildSerializerFunction({schema:e}){return this.ajv.compileSerializer(e)}};ZCe.exports=Aq});var nIe=E((mS,rIe)=>{"use strict";Object.defineProperty(mS,"__esModule",{value:!0});var pS=aO(),eu=uy();function tIe(t,e){if(!t.opts.code.source)throw new Error("moduleCode: ajv instance must have code.source option");let{_n:r}=t.scope.opts;return typeof e=="function"?s(e.source):e!==void 0?i(e,n):i(t.schemas,o=>o.meta?void 0:t.compile(o.schema));function n(o){let c=t.getSchema(o);if(!c)throw new Error(`moduleCode: no schema with id ${o}`);return c}function s(o){let c={},u=o?.validateName,l=a(c,o);return t.opts.code.esm?`"use strict";${r}export const validate = ${u};${r}export default ${u};${r}${l}`:`"use strict";${r}module.exports = ${u};${r}module.exports.default = ${u};${r}${l}`}function i(o,c){var u;let l={},d=(0,eu._)`"use strict";`;for(let f in o){let p=c(o[f]);if(p){let m=a(l,p.source),h=t.opts.code.esm?(0,eu._)`export const ${(0,eu.getEsmExportName)(f)}`:(0,eu._)`exports${(0,eu.getProperty)(f)}`;d=(0,eu._)`${d}${r}${h} = ${(u=p.source)===null||u===void 0?void 0:u.validateName};${r}${m}`}}return`${d}`}function a(o,c){if(!c)throw new Error('moduleCode: function does not have "source" property');if(f(c.validateName)===pS.UsedValueState.Completed)return eu.nil;p(c.validateName,pS.UsedValueState.Started);let u=t.scope.scopeCode(c.scopeValues,o,d),l=new eu._Code(`${u}${r}${c.validateCode}`);return c.evaluated?(0,eu._)`${l}${c.validateName}.evaluated = ${c.evaluated};${r}`:l;function d(m){var h;let A=(h=m.value)===null||h===void 0?void 0:h.ref;if(m.prefix==="validate"&&typeof A=="function")return a(o,A.source);if((m.prefix==="root"||m.prefix==="wrapper")&&typeof A=="object"){let{validate:g,validateName:b}=A;if(!b)throw new Error("ajv internal error");let y=t.opts.code.es5?pS.varKinds.var:pS.varKinds.const,x=(0,eu._)`${y} ${m} = {validate: ${b}};`;if(f(b)===pS.UsedValueState.Started)return x;let v=a(o,g?.source);return(0,eu._)`${x}${r}${v}`}}function f(m){var h;return(h=o[m.prefix])===null||h===void 0?void 0:h.get(m)}function p(m,h){let{prefix:A}=m;(o[A]=o[A]||new Map).set(m,h)}}}rIe.exports=mS=tIe;Object.defineProperty(mS,"__esModule",{value:!0});mS.default=tIe});var aIe=E((r4r,iIe)=>{"use strict";var sIe=yq(),sFt=nIe().default;function iFt(t={readMode:!0}){if(t.readMode===!0&&!t.restoreFunction)throw new Error("You must provide a restoreFunction options when readMode ON");if(t.readMode!==!0&&!t.storeFunction)throw new Error("You must provide a storeFunction options when readMode OFF");if(t.readMode===!0)return function(){return function(n){return t.restoreFunction(n)}};let e=sIe();return function(n,s={}){(!s.customOptions||!s.customOptions.code)&&(s.customOptions=Object.assign({},s.customOptions,{code:{source:!0}}));let i=e(n,s);return function(a){let o=i(a),c=sFt(i[sIe.AjvReference].ajv,o);return t.storeFunction(a,c),o}}}iIe.exports=iFt});var yq=E((n4r,Yy)=>{"use strict";var cIe=Symbol.for("fastify.ajv-compiler.reference"),aFt=XCe(),oFt=eIe();function xq(t){let e=new Map,r=new Map;return t&&t.jtdSerializer===!0?function(s,i){let a=oIe({},i);if(r.has(a))return r.get(a);let o=new oFt(s,i),c=o.buildSerializerFunction.bind(o);return r.set(a,c),c}:function(s,i){let a=oIe(s,i.customOptions);if(e.has(a))return e.get(a);let o=new aFt(s,i),c=o.buildValidatorFunction.bind(o);return e.set(a,c),i.customOptions.code!==void 0&&(c[cIe]=o),c}}function oIe(t,e){let r=JSON.stringify(t),n=JSON.stringify(e);return`${r}${n}`}Yy.exports=xq;Yy.exports.default=xq;Yy.exports.AjvCompiler=xq;Yy.exports.AjvReference=cIe;Yy.exports.StandaloneValidator=aIe()});var bq=E((s4r,uIe)=>{"use strict";var{buildSchemas:cFt}=u1(),uFt=uF(),lFt=yq();function dFt(t,e){if(t)return new Jy(t,e);let r=Object.assign({buildValidator:null,buildSerializer:null},e?.compilersFactory);r.buildValidator||(r.buildValidator=lFt()),r.buildSerializer||(r.buildSerializer=uFt());let n={bucket:e&&e.bucket||cFt,compilersFactory:r,isCustomValidatorCompiler:typeof e?.compilersFactory?.buildValidator=="function",isCustomSerializerCompiler:typeof e?.compilersFactory?.buildValidator=="function"};return new Jy(void 0,n)}var Jy=class{constructor(e,r){this.opts=r||e?.opts,this.addedSchemas=!1,this.compilersFactory=this.opts.compilersFactory,e?(this.schemaBucket=this.opts.bucket(e.getSchemas()),this.validatorCompiler=e.getValidatorCompiler(),this.serializerCompiler=e.getSerializerCompiler(),this.isCustomValidatorCompiler=e.isCustomValidatorCompiler,this.isCustomSerializerCompiler=e.isCustomSerializerCompiler,this.parent=e):(this.schemaBucket=this.opts.bucket(),this.isCustomValidatorCompiler=this.opts.isCustomValidatorCompiler||!1,this.isCustomSerializerCompiler=this.opts.isCustomSerializerCompiler||!1)}add(e){return this.addedSchemas=!0,this.schemaBucket.add(e)}getSchema(e){return this.schemaBucket.getSchema(e)}getSchemas(){return this.schemaBucket.getSchemas()}setValidatorCompiler(e){this.compilersFactory=Object.assign({},this.compilersFactory,{buildValidator:()=>e}),this.validatorCompiler=e,this.isCustomValidatorCompiler=!0}setSerializerCompiler(e){this.compilersFactory=Object.assign({},this.compilersFactory,{buildSerializer:()=>e}),this.serializerCompiler=e,this.isCustomSerializerCompiler=!0}getValidatorCompiler(){return this.validatorCompiler||this.parent&&this.parent.getValidatorCompiler()}getSerializerCompiler(){return this.serializerCompiler||this.parent&&this.parent.getSerializerCompiler()}getSerializerBuilder(){return this.compilersFactory.buildSerializer||this.parent&&this.parent.getSerializerBuilder()}getValidatorBuilder(){return this.compilersFactory.buildValidator||this.parent&&this.parent.getValidatorBuilder()}setupValidator(e){this.validatorCompiler!==void 0&&!this.addedSchemas||(this.validatorCompiler=this.getValidatorBuilder()(this.schemaBucket.getSchemas(),e.ajv))}setupSerializer(e){this.serializerCompiler!==void 0&&!this.addedSchemas||(this.serializerCompiler=this.getSerializerBuilder()(this.schemaBucket.getSchemas(),e.serializerOpts))}};Jy.buildSchemaController=dFt;uIe.exports=Jy});var Iq=E((i4r,Cq)=>{"use strict";var Eq=O$(),Sq=require("node:assert"),vq=Symbol.for("registered-plugin"),{kTestInternals:fFt}=Qs(),{exist:pFt,existReply:mFt,existRequest:hFt}=U$(),{FST_ERR_PLUGIN_VERSION_MISMATCH:gFt,FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE:AFt}=Ci(),{FSTWRN002:yFt}=cd();function hS(t){return t[Symbol.for("plugin-meta")]}function lIe(t){let e=dIe(t);if(e)return e;let r=require.cache;if(r){let n=Object.keys(r);for(let s=0;s<n.length;s++){let i=n[s];if(r[i].exports===t)return i}}return t.name?t.name:null}function xFt(t){return t.toString().split(`
`).slice(0,2).map(e=>e.trim()).join(" -- ")}function dIe(t){return t[Symbol.for("fastify.display-name")]}function fIe(t){return!!t[Symbol.for("skip-override")]}function pIe(t){let e=hS(t);if(!e)return;let r=e.dependencies;r&&(Sq(Array.isArray(r),"The dependencies should be an array of strings"),r.forEach(n=>{Sq(this[vq].indexOf(n)>-1,`The dependency '${n}' of plugin '${e.name}' is not registered`)}))}function mIe(t){let e=hS(t);if(!e)return;let{decorators:r,name:n}=e;r&&(r.fastify&&_q(this,"Fastify",r.fastify,n),r.reply&&_q(this,"Reply",r.reply,n),r.request&&_q(this,"Request",r.request,n))}var bFt={Fastify:pFt,Request:hFt,Reply:mFt};function _q(t,e,r,n){Sq(Array.isArray(r),"The decorators should be an array of strings"),r.forEach(s=>{let i=typeof n=="string"?` required by '${n}'`:"";if(!bFt[e].call(t,s))throw new AFt(s,i,e)})}function EFt(t){let e=hS(t);if(!e)return;let r=e.fastify,n=/-rc.+$/.test(this.version);if(!(n===!0&&Eq.gt(this.version,Eq.coerce(r))===!0)&&r&&Eq.satisfies(this.version,r,{includePrerelease:n})===!1)throw new gFt(e.name,r,this.version)}function _Ft(t){let e=hS(t);if(!e)return;let r=e.name;if(r)return this[vq].push(r),r}function SFt(t,e){t.constructor.name==="AsyncFunction"&&t.length===3&&yFt(e||"anonymous")}function vFt(t){let e=_Ft.call(this,t)||lIe(t);return SFt.call(this,t,e),EFt.call(this,t),mIe.call(this,t),pIe.call(this,t),fIe(t)}Cq.exports={getPluginName:lIe,getFuncPreview:xFt,kRegisteredPlugins:vq,getDisplayName:dIe,registerPlugin:vFt};Cq.exports[fFt]={shouldSkipOverride:fIe,getMeta:hS,checkDecorators:mIe,checkDependencies:pIe}});var IP=E((a4r,hIe)=>{"use strict";function CFt(t,e){let r=e||TFt();return t?wFt(t,r):r}function IFt(t,e){return t.genReqId(e)}function TFt(){let e=0;return function(){return e=e+1&2147483647,`req-${e.toString(36)}`}}function wFt(t,e){return function(r){return r.headers[t]||e(r)}}hIe.exports={getGenReqId:IFt,reqIdGenFactory:CFt}});var xIe=E((o4r,yIe)=>{"use strict";var gIe=12,RFt=0,Tq=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,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,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,6,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,10,9,9,9,11,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,24,36,48,60,72,84,96,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0,48,48,48,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,127,63,63,63,0,31,15,15,15,7,7,7];function NFt(t){var e=t.indexOf("%");if(e===-1)return t;for(var r=t.length,n="",s=0,i=0,a=e,o=gIe;e>-1&&e<r;){var c=AIe(t[e+1],4),u=AIe(t[e+2],0),l=c|u,d=Tq[l];if(o=Tq[256+o+d],i=i<<6|l&Tq[364+d],o===gIe)n+=t.slice(s,a),n+=i<=65535?String.fromCharCode(i):String.fromCharCode(55232+(i>>10),56320+(i&1023)),i=0,s=e+3,e=a=t.indexOf("%",s);else{if(o===RFt)return null;if(e+=3,e<r&&t.charCodeAt(e)===37)continue;return null}}return n+t.slice(s)}var OFt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};function AIe(t,e){var r=OFt[t];return r===void 0?255:r<<e}yIe.exports=NFt});var vIe=E((c4r,SIe)=>{"use strict";var bIe=xIe(),EIe=/\+/g,_Ie=function(){};_Ie.prototype=Object.create(null);function PFt(t){let e=new _Ie;if(typeof t!="string")return e;let r=t.length,n="",s="",i=-1,a=-1,o=!1,c=!1,u=!1,l=!1,d=!1,f=0;for(let p=0;p<r+1;p++)if(f=p!==r?t.charCodeAt(p):38,f===38){if(d=a>i,d||(a=p),n=t.slice(i+1,a),d||n.length>0){u&&(n=n.replace(EIe," ")),o&&(n=bIe(n)||n),d&&(s=t.slice(a+1,p),l&&(s=s.replace(EIe," ")),c&&(s=bIe(s)||s));let m=e[n];m===void 0?e[n]=s:m.pop?m.push(s):e[n]=[m,s]}s="",i=p,a=p,o=!1,c=!1,u=!1,l=!1}else f===61?a<=i?a=p:c=!0:f===43?a>i?l=!0:u=!0:f===37&&(a>i?c=!0:o=!0);return e}SIe.exports=PFt});var IIe=E((u4r,CIe)=>{var il=Array.from({length:256},(t,e)=>"%"+((e<16?"0":"")+e.toString(16)).toUpperCase()),DFt=new Int8Array([0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0]);function kFt(t){let e=t.length;if(e===0)return"";let r="",n=0,s=0;e:for(;s<e;s++){let i=t.charCodeAt(s);for(;i<128;){if(DFt[i]!==1&&(n<s&&(r+=t.slice(n,s)),n=s+1,r+=il[i]),++s===e)break e;i=t.charCodeAt(s)}if(n<s&&(r+=t.slice(n,s)),i<2048){n=s+1,r+=il[192|i>>6]+il[128|i&63];continue}if(i<55296||i>=57344){n=s+1,r+=il[224|i>>12]+il[128|i>>6&63]+il[128|i&63];continue}if(++s,s>=e)throw new Error("URI malformed");let a=t.charCodeAt(s)&1023;n=s+1,i=65536+((i&1023)<<10|a),r+=il[240|i>>18]+il[128|i>>12&63]+il[128|i>>6&63]+il[128|i&63]}return n===0?t:n<e?r+t.slice(n):r}CIe.exports={encodeString:kFt}});var RIe=E((l4r,wIe)=>{"use strict";var{encodeString:wq}=IIe();function TIe(t){let e=typeof t;return e==="string"?wq(t):e==="bigint"?t.toString():e==="boolean"?t?"true":"false":e==="number"&&Number.isFinite(t)?t<1e21?""+t:wq(""+t):""}function LFt(t){let e="";if(t===null||typeof t!="object")return e;let r="&",n=Object.keys(t),s=n.length,i=0;for(let a=0;a<s;a++){let o=n[a],c=t[o],u=wq(o)+"=";if(a&&(e+=r),Array.isArray(c)){i=c.length;for(let l=0;l<i;l++)l&&(e+=r),e+=u,e+=TIe(c[l])}else e+=u,e+=TIe(c)}return e}wIe.exports=LFt});var DIe=E((d4r,gS)=>{"use strict";var NIe=vIe(),OIe=RIe(),PIe={parse:NIe,stringify:OIe};gS.exports=PIe;gS.exports.default=PIe;gS.exports.parse=NIe;gS.exports.stringify=OIe});var LIe=E(kIe=>{"use strict";Object.defineProperty(kIe,"__esModule",{value:!0})});var BIe=E(AS=>{"use strict";Object.defineProperty(AS,"__esModule",{value:!0});AS.types=void 0;var BFt;(function(t){t[t.ROOT=0]="ROOT",t[t.GROUP=1]="GROUP",t[t.POSITION=2]="POSITION",t[t.SET=3]="SET",t[t.RANGE=4]="RANGE",t[t.REPETITION=5]="REPETITION",t[t.REFERENCE=6]="REFERENCE",t[t.CHAR=7]="CHAR"})(BFt=AS.types||(AS.types={}))});var WIe=E(MIe=>{"use strict";Object.defineProperty(MIe,"__esModule",{value:!0})});var Ld=E(kd=>{"use strict";var MFt=kd&&kd.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Rq=kd&&kd.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&MFt(e,t,r)};Object.defineProperty(kd,"__esModule",{value:!0});Rq(LIe(),kd);Rq(BIe(),kd);Rq(WIe(),kd)});var TP=E(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.anyChar=Wi.notWhitespace=Wi.whitespace=Wi.notInts=Wi.ints=Wi.notWords=Wi.words=void 0;var Hr=Ld(),$Ie=()=>[{type:Hr.types.RANGE,from:48,to:57}],FIe=()=>[{type:Hr.types.CHAR,value:95},{type:Hr.types.RANGE,from:97,to:122},{type:Hr.types.RANGE,from:65,to:90},{type:Hr.types.RANGE,from:48,to:57}],UIe=()=>[{type:Hr.types.CHAR,value:9},{type:Hr.types.CHAR,value:10},{type:Hr.types.CHAR,value:11},{type:Hr.types.CHAR,value:12},{type:Hr.types.CHAR,value:13},{type:Hr.types.CHAR,value:32},{type:Hr.types.CHAR,value:160},{type:Hr.types.CHAR,value:5760},{type:Hr.types.RANGE,from:8192,to:8202},{type:Hr.types.CHAR,value:8232},{type:Hr.types.CHAR,value:8233},{type:Hr.types.CHAR,value:8239},{type:Hr.types.CHAR,value:8287},{type:Hr.types.CHAR,value:12288},{type:Hr.types.CHAR,value:65279}],WFt=()=>[{type:Hr.types.CHAR,value:10},{type:Hr.types.CHAR,value:13},{type:Hr.types.CHAR,value:8232},{type:Hr.types.CHAR,value:8233}];Wi.words=()=>({type:Hr.types.SET,set:FIe(),not:!1});Wi.notWords=()=>({type:Hr.types.SET,set:FIe(),not:!0});Wi.ints=()=>({type:Hr.types.SET,set:$Ie(),not:!1});Wi.notInts=()=>({type:Hr.types.SET,set:$Ie(),not:!0});Wi.whitespace=()=>({type:Hr.types.SET,set:UIe(),not:!1});Wi.notWhitespace=()=>({type:Hr.types.SET,set:UIe(),not:!0});Wi.anyChar=()=>({type:Hr.types.SET,set:WFt(),not:!0})});var jIe=E(ac=>{"use strict";var $Ft=ac&&ac.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),FFt=ac&&ac.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),UFt=ac&&ac.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&$Ft(e,t,r);return FFt(e,t),e};Object.defineProperty(ac,"__esModule",{value:!0});ac.tokenizeClass=ac.strToChars=void 0;var qIe=Ld(),Xy=UFt(TP()),qFt="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?";ac.strToChars=t=>{let e=/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g;return t.replace(e,(r,n,s,i,a,o,c)=>{if(s)return r;let u=n?8:i?parseInt(i,16):a?parseInt(a,16):o?qFt.indexOf(o):{0:0,t:9,n:10,v:11,f:12,r:13}[c],l=String.fromCharCode(u);return/[[\]{}^$.|?*+()]/.test(l)?`\\${l}`:l})};ac.tokenizeClass=(t,e)=>{var r,n,s,i,a,o,c;let u=[],l,d,f=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(l=f.exec(t))!==null;){let p=(c=(o=(a=(i=(s=(n=(r=l[1]&&Xy.words())!==null&&r!==void 0?r:l[2]&&Xy.ints())!==null&&n!==void 0?n:l[3]&&Xy.whitespace())!==null&&s!==void 0?s:l[4]&&Xy.notWords())!==null&&i!==void 0?i:l[5]&&Xy.notInts())!==null&&a!==void 0?a:l[6]&&Xy.notWhitespace())!==null&&o!==void 0?o:l[7]&&{type:qIe.types.RANGE,from:(l[8]||l[9]).charCodeAt(0),to:(d=l[10]).charCodeAt(d.length-1)})!==null&&c!==void 0?c:(d=l[16])&&{type:qIe.types.CHAR,value:d.charCodeAt(0)};if(p)u.push(p);else return[u,f.lastIndex]}throw new SyntaxError(`Invalid regular expression: /${e}/: Unterminated character class`)}});var Nq=E(al=>{"use strict";var jFt=al&&al.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),HFt=al&&al.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),QIe=al&&al.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&jFt(e,t,r);return HFt(e,t),e};Object.defineProperty(al,"__esModule",{value:!0});al.tokenizer=void 0;var HIe=QIe(jIe()),gi=Ld(),oh=QIe(TP());al.tokenizer=t=>{let e=0,r,n={type:gi.types.ROOT,stack:[]},s=n,i=n.stack,a=[],o=[],c=0,u=d=>{throw new SyntaxError(`Invalid regular expression: /${t}/: Nothing to repeat at column ${d-1}`)},l=HIe.strToChars(t);for(;e<l.length;)switch(r=l[e++]){case"\\":if(e===l.length)throw new SyntaxError(`Invalid regular expression: /${t}/: \\ at end of pattern`);switch(r=l[e++]){case"b":i.push({type:gi.types.POSITION,value:"b"});break;case"B":i.push({type:gi.types.POSITION,value:"B"});break;case"w":i.push(oh.words());break;case"W":i.push(oh.notWords());break;case"d":i.push(oh.ints());break;case"D":i.push(oh.notInts());break;case"s":i.push(oh.whitespace());break;case"S":i.push(oh.notWhitespace());break;default:if(/\d/.test(r)){let d=r;for(;e<l.length&&/\d/.test(l[e]);)d+=l[e++];let f=parseInt(d,10),p={type:gi.types.REFERENCE,value:f};i.push(p),o.push({reference:p,stack:i,index:i.length-1})}else i.push({type:gi.types.CHAR,value:r.charCodeAt(0)})}break;case"^":i.push({type:gi.types.POSITION,value:"^"});break;case"$":i.push({type:gi.types.POSITION,value:"$"});break;case"[":{let d;l[e]==="^"?(d=!0,e++):d=!1;let f=HIe.tokenizeClass(l.slice(e),t);e+=f[1],i.push({type:gi.types.SET,set:f[0],not:d});break}case".":i.push(oh.anyChar());break;case"(":{let d={type:gi.types.GROUP,stack:[],remember:!0};if(l[e]==="?"){if(r=l[e+1],e+=2,r==="=")d.followedBy=!0;else if(r==="!")d.notFollowedBy=!0;else if(r!==":")throw new SyntaxError(`Invalid regular expression: /${t}/: Invalid group, character '${r}' after '?' at column ${e-1}`);d.remember=!1}else c+=1;i.push(d),a.push(s),s=d,i=d.stack;break}case")":if(a.length===0)throw new SyntaxError(`Invalid regular expression: /${t}/: Unmatched ) at column ${e-1}`);s=a.pop(),i=s.options?s.options[s.options.length-1]:s.stack;break;case"|":{s.options||(s.options=[s.stack],delete s.stack);let d=[];s.options.push(d),i=d;break}case"{":{let d=/^(\d+)(,(\d+)?)?\}/.exec(l.slice(e)),f,p;d!==null?(i.length===0&&u(e),f=parseInt(d[1],10),p=d[2]?d[3]?parseInt(d[3],10):1/0:f,e+=d[0].length,i.push({type:gi.types.REPETITION,min:f,max:p,value:i.pop()})):i.push({type:gi.types.CHAR,value:123});break}case"?":i.length===0&&u(e),i.push({type:gi.types.REPETITION,min:0,max:1,value:i.pop()});break;case"+":i.length===0&&u(e),i.push({type:gi.types.REPETITION,min:1,max:1/0,value:i.pop()});break;case"*":i.length===0&&u(e),i.push({type:gi.types.REPETITION,min:0,max:1/0,value:i.pop()});break;default:i.push({type:gi.types.CHAR,value:r.charCodeAt(0)})}if(a.length!==0)throw new SyntaxError(`Invalid regular expression: /${t}/: Unterminated group`);return QFt(o,c),n};function QFt(t,e){for(let r of t.reverse())if(e<r.reference.value){r.reference.type=gi.types.CHAR;let n=r.reference.value.toString();if(r.reference.value=parseInt(n,8),!/^[0-7]+$/.test(n)){let s=0;for(;n[s]!=="8"&&n[s]!=="9";)s+=1;if(s===0?(r.reference.value=n.charCodeAt(0),s+=1):r.reference.value=parseInt(n.slice(0,s),8),n.length>s){let i=r.stack.splice(r.index+1);for(let a of n.slice(s))r.stack.push({type:gi.types.CHAR,value:a.charCodeAt(0)});r.stack.push(...i)}}}}});var VIe=E($i=>{"use strict";var GFt=$i&&$i.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),VFt=$i&&$i.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),zFt=$i&&$i.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&GFt(e,t,r);return VFt(e,t),e};Object.defineProperty($i,"__esModule",{value:!0});$i.NOTANYCHAR=$i.WHITESPACE=$i.WORDS=$i.INTS=void 0;var wP=zFt(TP()),GIe=Ld();function RP(t){let e={},r=0;for(let n of t)n.type===GIe.types.CHAR&&(e[n.value]=!0),n.type===GIe.types.RANGE&&(e[`${n.from}-${n.to}`]=!0),r+=1;return{lookup:()=>Object.assign({},e),len:r}}$i.INTS=RP(wP.ints().set);$i.WORDS=RP(wP.words().set);$i.WHITESPACE=RP(wP.whitespace().set);$i.NOTANYCHAR=RP(wP.anyChar().set)});var KIe=E(oc=>{"use strict";var KFt=oc&&oc.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),YFt=oc&&oc.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),JFt=oc&&oc.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&KFt(e,t,r);return YFt(e,t),e};Object.defineProperty(oc,"__esModule",{value:!0});oc.writeSetTokens=oc.setChar=void 0;var DP=Ld(),NP=JFt(VIe());function PP(t){return t===94?"\\^":t===92?"\\\\":t===93?"\\]":t===45?"\\-":String.fromCharCode(t)}oc.setChar=PP;function OP(t,{lookup:e,len:r}){if(r!==t.length)return!1;let n=e();for(let s of t){if(s.type===DP.types.SET)return!1;let i=s.type===DP.types.CHAR?s.value:`${s.from}-${s.to}`;if(n[i])n[i]=!1;else return!1}return!0}function zIe(t,e=!1){if(OP(t.set,NP.INTS))return t.not?"\\D":"\\d";if(OP(t.set,NP.WORDS))return t.not?"\\W":"\\w";if(t.not&&OP(t.set,NP.NOTANYCHAR))return".";if(OP(t.set,NP.WHITESPACE))return t.not?"\\S":"\\s";let r="";for(let s=0;s<t.set.length;s++){let i=t.set[s];r+=XFt(i)}let n=`${t.not?"^":""}${r}`;return e?n:`[${n}]`}oc.writeSetTokens=zIe;function XFt(t){return t.type===DP.types.CHAR?PP(t.value):t.type===DP.types.RANGE?`${PP(t.from)}-${PP(t.to)}`:zIe(t,!0)}});var Pq=E(Zy=>{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});Zy.reconstruct=void 0;var Hp=Ld(),Oq=KIe(),YIe=t=>t.map(Zy.reconstruct).join(""),JIe=t=>{if("options"in t)return t.options.map(YIe).join("|");if("stack"in t)return YIe(t.stack);throw new Error("options or stack must be Root or Group token")};Zy.reconstruct=t=>{switch(t.type){case Hp.types.ROOT:return JIe(t);case Hp.types.CHAR:{let e=String.fromCharCode(t.value);return(/[[\\{}$^.|?*+()]/.test(e)?"\\":"")+e}case Hp.types.POSITION:return t.value==="^"||t.value==="$"?t.value:`\\${t.value}`;case Hp.types.REFERENCE:return`\\${t.value}`;case Hp.types.SET:return Oq.writeSetTokens(t);case Hp.types.GROUP:return`(${t.remember?"":t.followedBy?"?=":t.notFollowedBy?"?!":"?:"}${JIe(t)})`;case Hp.types.REPETITION:{let{min:e,max:r}=t,n;return e===0&&r===1?n="?":e===1&&r===1/0?n="+":e===0&&r===1/0?n="*":r===1/0?n=`{${e},}`:e===r?n=`{${e}}`:n=`{${e},${r}}`,`${Zy.reconstruct(t.value)}${n}`}case Hp.types.RANGE:return`${Oq.setChar(t.from)}-${Oq.setChar(t.to)}`;default:throw new Error(`Invalid token type ${t}`)}}});var eTe=E((cc,kP)=>{"use strict";var ZFt=cc&&cc.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Dq=cc&&cc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ZFt(e,t,r)};Object.defineProperty(cc,"__esModule",{value:!0});cc.types=void 0;var XIe=Ld();Object.defineProperty(cc,"types",{enumerable:!0,get:function(){return XIe.types}});Dq(Nq(),cc);Dq(Pq(),cc);var ZIe=Nq(),eUt=Pq();Dq(Ld(),cc);cc.default=ZIe.tokenizer;kP.exports=ZIe.tokenizer;kP.exports.types=XIe.types;kP.exports.reconstruct=eUt.reconstruct});var rTe=E((_4r,LP)=>{"use strict";var tTe=eTe(),tUt=tTe.types;function kq(t,e){e||(e={});let r=e.limit===void 0?25:e.limit;rUt(t)?t=t.source:typeof t!="string"&&(t=String(t));try{t=tTe(t)}catch{return!1}let n=0;return function s(i,a){let o,c,u;if(i.type===tUt.REPETITION&&(a++,n++,a>1||n>r))return!1;if(i.options){for(o=0,u=i.options.length;o<u;o++)if(c=s({stack:i.options[o]},a),!c)return!1}let l=i.stack||i.value&&i.value.stack;if(!l)return!0;for(o=0;o<l.length;o++)if(c=s(l[o],a),!c)return!1;return!0}(t,0)}function rUt(t){return{}.toString.call(t)==="[object RegExp]"}LP.exports=kq;LP.exports.default=kq;LP.exports.safeRegex=kq});var BP=E((S4r,nTe)=>{"use strict";nTe.exports={name:"__fmw_internal_strategy_merged_tree_http_method__",storage:function(){let t={};return{get:e=>t[e]||null,set:(e,r)=>{t[e]=r}}},deriveConstraint:t=>t.method,mustMatchWhenDerived:!0}});var lTe=E((v4r,uTe)=>{"use strict";var sTe=Go(),iTe=BP(),aTe=Symbol("treeData");function oTe(t,e=""){let r="",n=Object.keys(t);for(let s=0;s<n.length;s++){let i=n[s],a=t[i],o=s===n.length-1,c=o?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 ",u=o?" ":"\u2502 ",d=(a[aTe]||"").split(`
`).join(`
`+e+u);r+=e+c+i+d+`
`,r+=oTe(a,e+u)}return r}function nUt(t){let e=t.name||"";return e=e.replace("bound","").trim(),e=(e||"anonymous")+"()",e}function cTe(t){return Array.isArray(t)?t.map(e=>cTe(e)):typeof t=="symbol"?t.toString():typeof t=="function"?nUt(t):t}function sUt(t,e){if(!e.includeMeta)return{};let r=e.buildPrettyMeta(t),n={},s=e.includeMeta;Array.isArray(s)||(s=Reflect.ownKeys(r));for(let i of s){if(!Object.prototype.hasOwnProperty.call(r,i))continue;let a=i.toString(),o=r[i];if(o!=null){let c=JSON.stringify(cTe(o));n[a]=c}}return n}function iUt(t){let e="";for(let[r,n]of Object.entries(t))e+=`
\u2022 (${r}) ${n}`;return e}function aUt(t){let e={...t.opts.constraints},r=e[iTe.name];return delete e[iTe.name],{...t,method:r,opts:{constraints:e}}}function oUt(t){let e=` (${t.method})`,r=t.opts.constraints||{};return Object.keys(r).length!==0&&(e+=" "+JSON.stringify(r)),e+=iUt(t.metaData),e}function cUt(t){return t.reduce((e,r)=>{for(let n of e)if(sTe(r.opts.constraints,n.opts.constraints)&&sTe(r.metaData,n.metaData))return n.method+=", "+r.method,e;return e.push(r),e},[])}function uUt(t,e,r){let n=t.routes;return r.method===void 0&&(n=n.map(aUt)),n=n.map(s=>(s.metaData=sUt(s,r),s)),r.method===void 0&&(n=cUt(n)),n.map(oUt).join(`
${e}`)}function MP(t,e,r,n){if((t.isLeafNode||n.commonPrefix!==!1)&&(r=r||"(empty root node)",e=e[r]={},t.isLeafNode&&(e[aTe]=uUt(t,r,n)),r=""),t.staticChildren)for(let s of Object.values(t.staticChildren))MP(s,e,r+s.prefix,n);if(t.parametricChildren)for(let s of Object.values(t.parametricChildren)){let i=Array.from(s.nodePaths).join("|");MP(s,e,r+i,n)}t.wildcardChild&&MP(t.wildcardChild,e,"*",n)}function lUt(t,e){let r={};return MP(t,r,t.prefix,e),oTe(r)}uTe.exports={prettyPrintTree:lUt}});var fTe=E((C4r,dTe)=>{"use strict";var dUt=BP(),Lq=class{constructor(){this.unconstrainedHandler=null,this.constraints=[],this.handlers=[],this.constrainedHandlerStores=null}getMatchingHandler(e){return e===void 0?this.unconstrainedHandler:this._getHandlerMatchingConstraints(e)}addHandler(e,r){let n=r.params,s=r.opts.constraints||{},i={params:n,constraints:s,handler:r.handler,store:r.store||null,_createParamsObject:this._compileCreateParamsObject(n)},a=Object.keys(s);a.length===0&&(this.unconstrainedHandler=i);for(let c of a)this.constraints.includes(c)||(c==="version"?this.constraints.unshift(c):this.constraints.push(c));let o=a.includes(dUt.name);if(!o&&this.handlers.length>=31)throw new Error("find-my-way supports a maximum of 31 route handlers per node when there are constraints, limit reached");this.handlers.push(i),this.handlers.sort((c,u)=>Object.keys(c.constraints).length-Object.keys(u.constraints).length),o||this._compileGetHandlerMatchingConstraints(e,s)}_compileCreateParamsObject(e){let r=[];for(let n=0;n<e.length;n++)r.push(`'${e[n]}': paramsArray[${n}]`);return new Function("paramsArray",`return {${r.join(",")}}`)}_getHandlerMatchingConstraints(){return null}_buildConstraintStore(e,r){for(let n=0;n<this.handlers.length;n++){let i=this.handlers[n].constraints[r];if(i!==void 0){let a=e.get(i)||0;a|=1<<n,e.set(i,a)}}}_constrainedIndexBitmask(e){let r=0;for(let n=0;n<this.handlers.length;n++)this.handlers[n].constraints[e]!==void 0&&(r|=1<<n);return~r}_compileGetHandlerMatchingConstraints(e){this.constrainedHandlerStores={};for(let n of this.constraints){let s=e.newStoreForConstraint(n);this.constrainedHandlerStores[n]=s,this._buildConstraintStore(s,n)}let r=[];r.push(`
let candidates = ${(1<<this.handlers.length)-1}
let mask, matches
`);for(let n of this.constraints){r.push(`
mask = ${this._constrainedIndexBitmask(n)}
value = derivedConstraints.${n}
`);let i=e.strategies[n].mustMatchWhenDerived?"matches":"(matches | mask)";r.push(`
if (value === undefined) {
candidates &= mask
} else {
matches = this.constrainedHandlerStores.${n}.get(value) || 0
candidates &= ${i}
}
if (candidates === 0) return null;
`)}for(let n in e.strategies)e.strategies[n].mustMatchWhenDerived&&!this.constraints.includes(n)&&r.push(`if (derivedConstraints.${n} !== undefined) return null`);r.push("return this.handlers[Math.floor(Math.log2(candidates))]"),this._getHandlerMatchingConstraints=new Function("derivedConstraints",r.join(`
`))}};dTe.exports=Lq});var mTe=E((I4r,pTe)=>{"use strict";var fUt=fTe(),jP={STATIC:0,PARAMETRIC:1,WILDCARD:2},WP=class{constructor(){this.isLeafNode=!1,this.routes=null,this.handlerStorage=null}addRoute(e,r){this.routes===null&&(this.routes=[]),this.handlerStorage===null&&(this.handlerStorage=new fUt),this.isLeafNode=!0,this.routes.push(e),this.handlerStorage.addHandler(r,e)}},$P=class extends WP{constructor(){super(),this.staticChildren={}}findStaticMatchingChild(e,r){let n=this.staticChildren[e.charAt(r)];return n===void 0||!n.matchPrefix(e,r)?null:n}getStaticChild(e,r=0){if(e.length===r)return this;let n=this.findStaticMatchingChild(e,r);return n?n.getStaticChild(e,r+n.prefix.length):null}createStaticChild(e){if(e.length===0)return this;let r=this.staticChildren[e.charAt(0)];if(r){let s=1;for(;s<r.prefix.length;s++)if(e.charCodeAt(s)!==r.prefix.charCodeAt(s)){r=r.split(this,s);break}return r.createStaticChild(e.slice(s))}let n=e.charAt(0);return this.staticChildren[n]=new FP(e),this.staticChildren[n]}},FP=class t extends $P{constructor(e){super(),this.prefix=e,this.wildcardChild=null,this.parametricChildren=[],this.kind=jP.STATIC,this._compilePrefixMatch()}getParametricChild(e){let r=e&&e.source,n=this.parametricChildren.find(s=>(s.regex&&s.regex.source)===r);return n||null}createParametricChild(e,r,n){let s=this.getParametricChild(e);return s?(s.nodePaths.add(n),s):(s=new UP(e,r,n),this.parametricChildren.push(s),this.parametricChildren.sort((i,a)=>i.isRegex?a.isRegex?i.staticSuffix===null?1:a.staticSuffix===null?-1:a.staticSuffix.endsWith(i.staticSuffix)?1:i.staticSuffix.endsWith(a.staticSuffix)?-1:0:-1:1),s)}getWildcardChild(){return this.wildcardChild}createWildcardChild(){return this.wildcardChild=this.getWildcardChild()||new qP,this.wildcardChild}split(e,r){let n=this.prefix.slice(0,r),s=this.prefix.slice(r);this.prefix=s,this._compilePrefixMatch();let i=new t(n);return i.staticChildren[s.charAt(0)]=this,e.staticChildren[n.charAt(0)]=i,i}getNextNode(e,r,n,s){let i=this.findStaticMatchingChild(e,r),a=0;if(i===null){if(this.parametricChildren.length===0)return this.wildcardChild;i=this.parametricChildren[0],a=1}this.wildcardChild!==null&&n.push({paramsCount:s,brotherPathIndex:r,brotherNode:this.wildcardChild});for(let o=this.parametricChildren.length-1;o>=a;o--)n.push({paramsCount:s,brotherPathIndex:r,brotherNode:this.parametricChildren[o]});return i}_compilePrefixMatch(){if(this.prefix.length===1){this.matchPrefix=()=>!0;return}let e=[];for(let r=1;r<this.prefix.length;r++){let n=this.prefix.charCodeAt(r);e.push(`path.charCodeAt(i + ${r}) === ${n}`)}this.matchPrefix=new Function("path","i",`return ${e.join(" && ")}`)}},UP=class extends $P{constructor(e,r,n){super(),this.isRegex=!!e,this.regex=e||null,this.staticSuffix=r||null,this.kind=jP.PARAMETRIC,this.nodePaths=new Set([n])}getNextNode(e,r){return this.findStaticMatchingChild(e,r)}},qP=class extends WP{constructor(){super(),this.kind=jP.WILDCARD}getNextNode(){return null}};pTe.exports={StaticNode:FP,ParametricNode:UP,WildcardNode:qP,NODE_TYPES:jP}});var gTe=E((T4r,hTe)=>{"use strict";var pUt=require("node:assert");function yS(){if(!(this instanceof yS))return new yS;this.store={},this.maxMajor=0,this.maxMinors={},this.maxPatches={}}yS.prototype.set=function(t,e){if(typeof t!="string")throw new TypeError("Version should be a string");let[r,n,s]=t.split(".");if(isNaN(r))throw new TypeError("Major version must be a numeric value");return r=Number(r),n=Number(n)||0,s=Number(s)||0,r>=this.maxMajor&&(this.maxMajor=r,this.store.x=e,this.store["*"]=e,this.store["x.x"]=e,this.store["x.x.x"]=e),n>=(this.maxMinors[r]||0)&&(this.maxMinors[r]=n,this.store[`${r}.x`]=e,this.store[`${r}.x.x`]=e),s>=(this.maxPatches[`${r}.${n}`]||0)&&(this.maxPatches[`${r}.${n}`]=s,this.store[`${r}.${n}.x`]=e),this.store[`${r}.${n}.${s}`]=e,this};yS.prototype.get=function(t){return this.store[t]};hTe.exports={name:"version",mustMatchWhenDerived:!0,storage:yS,validate(t){pUt(typeof t=="string","Version should be a string")}}});var yTe=E((w4r,ATe)=>{"use strict";var mUt=require("node:assert");function hUt(){let t={},e=[];return{get:r=>{let n=t[r];if(n)return n;for(let s of e)if(s.host.test(r))return s.value},set:(r,n)=>{r instanceof RegExp?e.push({host:r,value:n}):t[r]=n}}}ATe.exports={name:"host",mustMatchWhenDerived:!1,storage:hUt,validate(t){mUt(typeof t=="string"||Object.prototype.toString.call(t)==="[object RegExp]","Host should be a string or a RegExp")}}});var bTe=E((R4r,xTe)=>{"use strict";var gUt=gTe(),AUt=yTe(),Bq=require("node:assert"),Mq=class{constructor(e){if(this.strategies={version:gUt,host:AUt},this.strategiesInUse=new Set,this.asyncStrategiesInUse=new Set,e)for(let r of Object.values(e))this.addConstraintStrategy(r)}isStrategyUsed(e){return this.strategiesInUse.has(e)||this.asyncStrategiesInUse.has(e)}hasConstraintStrategy(e){let r=this.strategies[e];return r!==void 0?r.isCustom||this.isStrategyUsed(e):!1}addConstraintStrategy(e){if(Bq(typeof e.name=="string"&&e.name!=="","strategy.name is required."),Bq(e.storage&&typeof e.storage=="function","strategy.storage function is required."),Bq(e.deriveConstraint&&typeof e.deriveConstraint=="function","strategy.deriveConstraint function is required."),this.strategies[e.name]&&this.strategies[e.name].isCustom)throw new Error(`There already exists a custom constraint with the name ${e.name}.`);if(this.isStrategyUsed(e.name))throw new Error(`There already exists a route with ${e.name} constraint.`);e.isCustom=!0,e.isAsync=e.deriveConstraint.length===3,this.strategies[e.name]=e,e.mustMatchWhenDerived&&this.noteUsage({[e.name]:e})}deriveConstraints(e,r,n){let s=this.deriveSyncConstraints(e,r);if(n===void 0)return s;this.deriveAsyncConstraints(s,e,r,n)}deriveSyncConstraints(e,r){}noteUsage(e){if(e){let r=this.strategiesInUse.size;for(let n in e)this.strategies[n].isAsync?this.asyncStrategiesInUse.add(n):this.strategiesInUse.add(n);r!==this.strategiesInUse.size&&this._buildDeriveConstraints()}}newStoreForConstraint(e){if(!this.strategies[e])throw new Error(`No strategy registered for constraint key ${e}`);return this.strategies[e].storage()}validateConstraints(e){for(let r in e){let n=e[r];if(typeof n>"u")throw new Error("Can't pass an undefined constraint value, must pass null or no key at all");let s=this.strategies[r];if(!s)throw new Error(`No strategy registered for constraint key ${r}`);s.validate&&s.validate(n)}}deriveAsyncConstraints(e,r,n,s){let i=this.asyncStrategiesInUse.size;if(i===0){s(null,e);return}e=e||{};for(let a of this.asyncStrategiesInUse)this.strategies[a].deriveConstraint(r,n,(c,u)=>{if(c!==null){s(c);return}e[a]=u,--i===0&&s(null,e)})}_buildDeriveConstraints(){if(this.strategiesInUse.size===0)return;let e=["return {"];for(let r of this.strategiesInUse){let n=this.strategies[r];n.isCustom?e.push(` ${n.name}: this.strategies.${r}.deriveConstraint(req, ctx),`):r==="version"?e.push(" version: req.headers['accept-version'],"):e.push(" host: req.headers.host || req.headers[':authority'],")}e.push("}"),this.deriveSyncConstraints=new Function("req","ctx",e.join(`
`)).bind(this)}};xTe.exports=Mq});var _Te=E((N4r,ETe)=>{"use strict";var yUt=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];ETe.exports=yUt});var CTe=E((O4r,vTe)=>{"use strict";function STe(t,e){return t===50?e===53?"%":e===51?"#":e===52?"$":e===54?"&":e===66||e===98?"+":e===67||e===99?",":e===70||e===102?"/":null:t===51?e===65||e===97?":":e===66||e===98?";":e===68||e===100?"=":e===70||e===102?"?":null:t===52&&e===48?"@":null}function xUt(t,e){let r=!1,n=!1,s="";for(let a=1;a<t.length;a++){let o=t.charCodeAt(a);if(o===37){let c=t.charCodeAt(a+1),u=t.charCodeAt(a+2);STe(c,u)===null?r=!0:(n=!0,c===50&&u===53&&(r=!0,t=t.slice(0,a+1)+"25"+t.slice(a+1),a+=2),a+=2)}else if(o===63||o===35||o===59&&e){s=t.slice(a+1),t=t.slice(0,a);break}}return{path:r?decodeURI(t):t,querystring:s,shouldDecodeParam:n}}function bUt(t){let e=t.indexOf("%");if(e===-1)return t;let r="",n=e;for(let s=e;s<t.length;s++)if(t.charCodeAt(s)===37){let i=t.charCodeAt(s+1),a=t.charCodeAt(s+2),o=STe(i,a);r+=t.slice(n,s)+o,n=s+3}return t.slice(0,e)+r+t.slice(n)}vTe.exports={safeDecodeURI:xUt,safeDecodeURIComponent:bUt}});var qq=E((P4r,DTe)=>{"use strict";var fs=require("node:assert"),EUt=DIe(),HP=rTe(),$q=Go(),{prettyPrintTree:_Ut}=lTe(),{StaticNode:ITe,NODE_TYPES:TTe}=mTe(),SUt=bTe(),ex=_Te(),Wq=BP(),{safeDecodeURI:vUt,safeDecodeURIComponent:wTe}=CTe(),RTe=/^https?:\/\/.*?\//,ch=/(\/:[^/()]*?)\?(\/?)/;if(!HP(RTe))throw new Error("the FULL_PATH_REGEXP is not safe, update this module");if(!HP(ch))throw new Error("the OPTIONAL_PARAM_REGEXP is not safe, update this module");function zn(t){if(!(this instanceof zn))return new zn(t);t=t||{},this._opts=t,t.defaultRoute?(fs(typeof t.defaultRoute=="function","The default route must be a function"),this.defaultRoute=t.defaultRoute):this.defaultRoute=null,t.onBadUrl?(fs(typeof t.onBadUrl=="function","The bad url handler must be a function"),this.onBadUrl=t.onBadUrl):this.onBadUrl=null,t.buildPrettyMeta?(fs(typeof t.buildPrettyMeta=="function","buildPrettyMeta must be a function"),this.buildPrettyMeta=t.buildPrettyMeta):this.buildPrettyMeta=CUt,t.querystringParser?(fs(typeof t.querystringParser=="function","querystringParser must be a function"),this.querystringParser=t.querystringParser):this.querystringParser=e=>e===""?{}:EUt.parse(e),this.caseSensitive=t.caseSensitive===void 0?!0:t.caseSensitive,this.ignoreTrailingSlash=t.ignoreTrailingSlash||!1,this.ignoreDuplicateSlashes=t.ignoreDuplicateSlashes||!1,this.maxParamLength=t.maxParamLength||100,this.allowUnsafeRegex=t.allowUnsafeRegex||!1,this.constrainer=new SUt(t.constraints),this.useSemicolonDelimiter=t.useSemicolonDelimiter||!1,this.routes=[],this.trees={}}zn.prototype.on=function(e,r,n,s,i){typeof n=="function"&&(s!==void 0&&(i=s),s=n,n={}),fs(typeof r=="string","Path should be a string"),fs(r.length>0,"The path could not be empty"),fs(r[0]==="/"||r[0]==="*","The first character of a path should be `/` or `*`"),fs(typeof s=="function","Handler should be a function");let a=r.match(ch);if(a){fs(r.length===a.index+a[0].length,"Optional Parameter needs to be the last parameter of the path");let u=r.replace(ch,"$1$2"),l=r.replace(ch,"$2")||"/";this.on(e,u,n,s,i),this.on(e,l,n,s,i);return}let o=r;this.ignoreDuplicateSlashes&&(r=Fq(r)),this.ignoreTrailingSlash&&(r=Uq(r));let c=Array.isArray(e)?e:[e];for(let u of c)fs(typeof u=="string","Method should be a string"),fs(ex.includes(u),`Method '${u}' is not an http method.`),this._on(u,r,n,s,i,o)};zn.prototype._on=function(e,r,n,s,i){let a={};n.constraints!==void 0&&(fs(typeof n.constraints=="object"&&n.constraints!==null,"Constraints should be an object"),Object.keys(n.constraints).length!==0&&(a=n.constraints)),this.constrainer.validateConstraints(a),this.constrainer.noteUsage(a),this.trees[e]===void 0&&(this.trees[e]=new ITe("/"));let o=r;if(o==="*"&&this.trees[e].prefix.length!==0){let f=this.trees[e];this.trees[e]=new ITe(""),this.trees[e].staticChildren["/"]=f}let c=this.trees[e],u=c.prefix.length,l=[];for(let f=0;f<=o.length;f++){if(o.charCodeAt(f)===58&&o.charCodeAt(f+1)===58){f++;continue}let p=o.charCodeAt(f)===58&&o.charCodeAt(f+1)!==58,m=o.charCodeAt(f)===42;if(p||m||f===o.length&&f!==u){let h=o.slice(u,f);this.caseSensitive||(h=h.toLowerCase()),h=h.split("::").join(":"),h=h.split("%").join("%25"),c=c.createStaticChild(h)}if(p){let h=!1,A=!0,g="",b=[],y=f+1;for(let x=y;;x++){let v=o.charCodeAt(x),C=v===40,R=v===45||v===46,w=v===47||x===o.length;if(C||R||w){let N=o.slice(y,x);if(l.push(N),h=h||C||R,C){let M=PTe(o,x),k=o.slice(x,M+1);this.allowUnsafeRegex||fs(HP(new RegExp(k)),`The regex '${k}' is not safe!`),b.push(OTe(k)),x=M+1,A=!0}else b.push(A?"(.*?)":`(${g}|(?:(?!${g}).)*)`),A=!1;let P=x;for(;x<o.length;x++){let M=o.charCodeAt(x);if(M===47)break;if(M===58)if(o.charCodeAt(x+1)===58)x++;else break}let L=o.slice(P,x);if(L&&(L=L.split("::").join(":"),L=L.split("%").join("%25"),b.push(g=NTe(L))),y=x+1,w||o.charCodeAt(x)===47||x===o.length){let M=h?"()"+L:L,k=o.slice(f,x);o=o.slice(0,f+1)+M+o.slice(x),f+=M.length;let B=h?new RegExp("^"+b.join("")+"$"):null;c=c.createParametricChild(B,L||null,k),u=f+1;break}}}}else if(m&&(l.push("*"),c=c.createWildcardChild(),u=f+1,f!==o.length-1))throw new Error("Wildcard must be the last character in the route")}this.caseSensitive||(o=o.toLowerCase()),o==="*"&&(o="/*");for(let f of this.routes){let p=f.opts.constraints||{};if(f.method===e&&f.pattern===o&&$q(p,a))throw new Error(`Method '${e}' already declared for route '${o}' with constraints '${JSON.stringify(a)}'`)}let d={method:e,path:r,pattern:o,params:l,opts:n,handler:s,store:i};this.routes.push(d),c.addRoute(d,this.constrainer)};zn.prototype.hasRoute=function(e,r,n){return this.findRoute(e,r,n)!==null};zn.prototype.findRoute=function(e,r,n={}){if(this.trees[e]===void 0)return null;let s=r,i=this.trees[e],a=i.prefix.length,o=[];for(let c=0;c<=s.length;c++){if(s.charCodeAt(c)===58&&s.charCodeAt(c+1)===58){c++;continue}let u=s.charCodeAt(c)===58&&s.charCodeAt(c+1)!==58,l=s.charCodeAt(c)===42;if(u||l||c===s.length&&c!==a){let d=s.slice(a,c);if(this.caseSensitive||(d=d.toLowerCase()),d=d.split("::").join(":"),d=d.split("%").join("%25"),i=i.getStaticChild(d),i===null)return null}if(u){let d=!1,f=!0,p="",m=[],h=c+1;for(let A=h;;A++){let g=s.charCodeAt(A),b=g===40,y=g===45||g===46,x=g===47||A===s.length;if(b||y||x){let v=s.slice(h,A);if(o.push(v),d=d||b||y,b){let w=PTe(s,A),N=s.slice(A,w+1);this.allowUnsafeRegex||fs(HP(new RegExp(N)),`The regex '${N}' is not safe!`),m.push(OTe(N)),A=w+1,f=!1}else m.push(f?"(.*?)":`(${p}|(?:(?!${p}).)*)`),f=!1;let C=A;for(;A<s.length;A++){let w=s.charCodeAt(A);if(w===47)break;if(w===58)if(s.charCodeAt(A+1)===58)A++;else break}let R=s.slice(C,A);if(R&&(R=R.split("::").join(":"),R=R.split("%").join("%25"),m.push(p=NTe(R))),h=A+1,x||s.charCodeAt(A)===47||A===s.length){let w=d?"()"+R:R,N=s.slice(c,A);s=s.slice(0,c+1)+w+s.slice(A),c+=w.length;let P=d?new RegExp("^"+m.join("")+"$"):null;if(i=i.getParametricChild(P,R||null,N),i===null)return null;a=c+1;break}}}}else if(l&&(o.push("*"),i=i.getWildcardChild(),a=c+1,c!==s.length-1))throw new Error("Wildcard must be the last character in the route")}this.caseSensitive||(s=s.toLowerCase());for(let c of this.routes){let u=c.opts.constraints||{};if(c.method===e&&c.pattern===s&&$q(u,n))return{handler:c.handler,store:c.store,params:c.params}}return null};zn.prototype.hasConstraintStrategy=function(t){return this.constrainer.hasConstraintStrategy(t)};zn.prototype.addConstraintStrategy=function(t){this.constrainer.addConstraintStrategy(t),this._rebuild(this.routes)};zn.prototype.reset=function(){this.trees={},this.routes=[]};zn.prototype.off=function(e,r,n){fs(typeof r=="string","Path should be a string"),fs(r.length>0,"The path could not be empty"),fs(r[0]==="/"||r[0]==="*","The first character of a path should be `/` or `*`"),fs(typeof n>"u"||typeof n=="object"&&!Array.isArray(n)&&n!==null,"Constraints should be an object or undefined.");let s=r.match(ch);if(s){fs(r.length===s.index+s[0].length,"Optional Parameter needs to be the last parameter of the path");let a=r.replace(ch,"$1$2"),o=r.replace(ch,"$2");this.off(e,a,n),this.off(e,o,n);return}this.ignoreDuplicateSlashes&&(r=Fq(r)),this.ignoreTrailingSlash&&(r=Uq(r));let i=Array.isArray(e)?e:[e];for(let a of i)this._off(a,r,n)};zn.prototype._off=function(e,r,n){fs(typeof e=="string","Method should be a string"),fs(ex.includes(e),`Method '${e}' is not an http method.`);function s(c){return e!==c.method||r!==c.path}function i(c){return s(c)||!$q(n,c.opts.constraints||{})}let a=n?i:s,o=this.routes.filter(a);this._rebuild(o)};zn.prototype.lookup=function(e,r,n,s){if(typeof n=="function"&&(s=n,n=void 0),s===void 0){let i=this.constrainer.deriveConstraints(e,n),a=this.find(e.method,e.url,i);return this.callHandler(a,e,r,n)}this.constrainer.deriveConstraints(e,n,(i,a)=>{if(i!==null){s(i);return}try{let o=this.find(e.method,e.url,a),c=this.callHandler(o,e,r,n);s(null,c)}catch(o){s(o)}})};zn.prototype.callHandler=function(e,r,n,s){return e===null?this._defaultRoute(r,n,s):s===void 0?e.handler(r,n,e.params,e.store,e.searchParams):e.handler.call(s,r,n,e.params,e.store,e.searchParams)};zn.prototype.find=function(e,r,n){let s=this.trees[e];if(s===void 0)return null;r.charCodeAt(0)!==47&&(r=r.replace(RTe,"/")),this.ignoreDuplicateSlashes&&(r=Fq(r));let i,a,o;try{i=vUt(r,this.useSemicolonDelimiter),r=i.path,a=i.querystring,o=i.shouldDecodeParam}catch{return this._onBadUrl(r)}this.ignoreTrailingSlash&&(r=Uq(r));let c=r;this.caseSensitive===!1&&(r=r.toLowerCase());let u=this.maxParamLength,l=s.prefix.length,d=[],f=r.length,p=[];for(;;){if(l===f&&s.isLeafNode){let g=s.handlerStorage.getMatchingHandler(n);if(g!==null)return{handler:g.handler,store:g.store,params:g._createParamsObject(d),searchParams:this.querystringParser(a)}}let m=s.getNextNode(r,l,p,d.length);if(m===null){if(p.length===0)return null;let g=p.pop();l=g.brotherPathIndex,d.splice(g.paramsCount),m=g.brotherNode}if(s=m,s.kind===TTe.STATIC){l+=s.prefix.length;continue}if(s.kind===TTe.WILDCARD){let g=c.slice(l);o&&(g=wTe(g)),d.push(g),l=f;continue}let h=c.indexOf("/",l);h===-1&&(h=f);let A=c.slice(l,h);if(o&&(A=wTe(A)),s.isRegex){let g=s.regex.exec(A);if(g===null)continue;for(let b=1;b<g.length;b++){let y=g[b];if(y.length>u)return null;d.push(y)}}else{if(A.length>u)return null;d.push(A)}l=h}};zn.prototype._rebuild=function(t){this.reset();for(let e of t){let{method:r,path:n,opts:s,handler:i,store:a}=e;this._on(r,n,s,i,a)}};zn.prototype._defaultRoute=function(t,e,r){if(this.defaultRoute!==null)return r===void 0?this.defaultRoute(t,e):this.defaultRoute.call(r,t,e);e.statusCode=404,e.end()};zn.prototype._onBadUrl=function(t){if(this.onBadUrl===null)return null;let e=this.onBadUrl;return{handler:(r,n,s)=>e(t,r,n),params:{},store:null}};zn.prototype.prettyPrint=function(t={}){let e=t.method;t.buildPrettyMeta=this.buildPrettyMeta.bind(this);let r=null;if(e===void 0){let{version:n,host:s,...i}=this.constrainer.strategies;i[Wq.name]=Wq;let a=new zn({...this._opts,constraints:i}),o=this.routes.map(c=>{let u={...c.opts.constraints,[Wq.name]:c.method};return{...c,method:"MERGED",opts:{constraints:u}}});a._rebuild(o),r=a.trees.MERGED}else r=this.trees[e];return r==null?"(empty tree)":_Ut(r,t)};for(let t in ex){if(!ex.hasOwnProperty(t))continue;let e=ex[t],r=e.toLowerCase();zn.prototype[r]=function(n,s,i){return this.on(e,n,s,i)}}zn.prototype.all=function(t,e,r){this.on(ex,t,e,r)};DTe.exports=zn;function NTe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Fq(t){return t.replace(/\/\/+/g,"/")}function Uq(t){return t.length>1&&t.charCodeAt(t.length-1)===47?t.slice(0,-1):t}function OTe(t){return t.charCodeAt(1)===94&&(t=t.slice(0,1)+t.slice(2)),t.charCodeAt(t.length-2)===36&&(t=t.slice(0,t.length-2)+t.slice(t.length-1)),t}function PTe(t,e){let r=1;for(;e<t.length;){if(e++,t[e]==="\\"){e++;continue}if(t[e]===")"?r--:t[e]==="("&&r++,!r)return e}throw new TypeError('Invalid regexp expression in "'+t+'"')}function CUt(t){return t?t.store?Object.assign({},t.store):{}:{}}});var LTe=E((D4r,kTe)=>{"use strict";function jq(t,e,r,n){if(r===void 0)return e.header("content-length","0"),n(null,null);if(typeof r.resume=="function")return r.on("error",i=>{e.log.error({err:i},"Error on Stream found for HEAD route")}),r.resume(),n(null,null);let s=""+Buffer.byteLength(r);e.header("content-length",s),n(null,null)}function IUt(t){return t==null?jq:Array.isArray(t)?[...t,jq]:[t,jq]}kTe.exports={parseHeadOnSendHandlers:IUt}});var XTe=E((k4r,JTe)=>{"use strict";var TUt=qq(),wUt=UN(),BTe=s5(),{onRequestAbortHookRunner:RUt,lifecycleHooks:MTe,preParsingHookRunner:NUt,onTimeoutHookRunner:OUt,onRequestHookRunner:PUt}=up(),{supportedMethods:DUt}=B$(),{normalizeSchema:kUt}=u1(),{parseHeadOnSendHandlers:LUt}=LTe(),{FSTDEP007:BUt,FSTDEP008:MUt,FSTDEP014:WTe}=cd(),{compileSchemasForValidation:WUt,compileSchemasForSerialization:$Ut}=Z6(),{FST_ERR_SCH_VALIDATION_BUILD:FUt,FST_ERR_SCH_SERIALIZATION_BUILD:UUt,FST_ERR_DEFAULT_ROUTE_INVALID_TYPE:qUt,FST_ERR_DUPLICATED_ROUTE:jUt,FST_ERR_INVALID_URL:HUt,FST_ERR_HOOK_INVALID_HANDLER:$Te,FST_ERR_ROUTE_OPTIONS_NOT_OBJ:QUt,FST_ERR_ROUTE_DUPLICATED_HANDLER:GUt,FST_ERR_ROUTE_HANDLER_NOT_FN:FTe,FST_ERR_ROUTE_MISSING_HANDLER:VUt,FST_ERR_ROUTE_METHOD_NOT_SUPPORTED:zUt,FST_ERR_ROUTE_METHOD_INVALID:KUt,FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED:YUt,FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT:JUt,FST_ERR_HOOK_INVALID_ASYNC_HANDLER:Hq}=Ci(),{kRoutePrefix:XUt,kLogLevel:ZUt,kLogSerializers:UTe,kHooks:qTe,kSchemaController:e7t,kOptions:jTe,kReplySerializerDefault:Qq,kReplyIsError:t7t,kRequestPayloadStream:r7t,kDisableRequestLogging:n7t,kSchemaErrorFormatter:s7t,kErrorHandler:HTe,kHasBeenDecorated:QTe,kRequestAcceptVersion:Gq,kRouteByFastify:Vq,kRouteContext:GTe}=Qs(),{buildErrorHandler:i7t}=U1(),{createChildLogger:a7t}=c1(),{getGenReqId:o7t}=IP();function c7t(t){let e=TUt(t.config),r,n,s,i,a,o,c,u,l,d,f,p,m,h=!1;return{setup(w,N){r=N.avvio,n=N.fourOhFour,s=N.logger,i=N.hasLogger,a=N.setupResponseListeners,o=N.throwIfAlreadyStarted,p=N.validateHTTPVersion,f=w.exposeHeadRoutes,c=w.disableRequestLogging,u=w.ignoreTrailingSlash,l=w.ignoreDuplicateSlashes,d=Object.prototype.hasOwnProperty.call(w,"return503OnClosing")?w.return503OnClosing:!0,m=N.keepAliveConnections},routing:e.lookup.bind(e),route:C,hasRoute:x,prepareRoute:y,getDefaultRoute:function(){return WTe(),e.defaultRoute},setDefaultRoute:function(w){if(WTe(),typeof w!="function")throw new qUt;e.defaultRoute=w},routeHandler:R,closeRoutes:()=>{h=!0},printRoutes:e.prettyPrint.bind(e),addConstraintStrategy:A,hasConstraintStrategy:g,isAsyncConstraint:b,findRoute:v};function A(w){return o("Cannot add constraint strategy!"),e.addConstraintStrategy(w)}function g(w){return e.hasConstraintStrategy(w)}function b(){return e.constrainer.asyncStrategiesInUse.size>0}function y({method:w,url:N,options:P,handler:L,isFastify:M}){if(typeof N!="string")throw new HUt(typeof N);if(!L&&typeof P=="function")L=P,P={};else if(L&&typeof L=="function"){if(Object.prototype.toString.call(P)!=="[object Object]")throw new QUt(w,N);if(P.handler)throw typeof P.handler=="function"?new GUt(w,N):new FTe(w,N)}return P=Object.assign({},P,{method:w,url:N,path:N,handler:L||P&&P.handler}),C.call(this,{options:P,isFastify:M})}function x({options:w}){return v(w)!==null}function v(w){let N=e.find(w.method,w.url||"",w.constraints);return N?{handler:N.handler,params:N.params,searchParams:N.searchParams}:null}function C({options:w,isFastify:N}){let P={...w},{exposeHeadRoute:L}=P,k=L!=null?L:f,B=P.method==="GET"||Array.isArray(P.method)&&P.method.includes("GET"),Z=P.method==="HEAD"||Array.isArray(P.method)&&P.method.includes("HEAD"),W=k&&B?{...w}:null;o("Cannot add route!");let F=P.url||P.path||"";if(Array.isArray(P.method))for(var V=0;V<P.method.length;++V)P.method[V]=VTe(P.method[V]),zTe(P.method[V],F,P.schema);else P.method=VTe(P.method),zTe(P.method,F,P.schema);if(!P.handler)throw new VUt(P.method,F);if(P.errorHandler!==void 0&&typeof P.errorHandler!="function")throw new FTe(P.method,F);YTe(P.bodyLimit);let j=this[XUt];if(F==="/"&&j.length>0&&P.method!=="HEAD")switch(P.prefixTrailingSlash){case"slash":J.call(this,{path:F,isFastify:N});break;case"no-slash":J.call(this,{path:"",isFastify:N});break;case"both":default:J.call(this,{path:"",isFastify:N}),u!==!0&&(l!==!0||!j.endsWith("/"))&&J.call(this,{path:F,prefixing:!0,isFastify:N})}else F[0]==="/"&&j.endsWith("/")?J.call(this,{path:F.slice(1),isFastify:N}):J.call(this,{path:F,isFastify:N});return this;function J({path:se,prefixing:oe=!1,isFastify:ue=!1}){let Ce=j+se;if(P.url=Ce,P.path=Ce,P.routePath=se,P.prefix=j,P.logLevel=P.logLevel||this[ZUt],(this[UTe]||P.logSerializers)&&(P.logSerializers=Object.assign(Object.create(this[UTe]),P.logSerializers)),P.attachValidation==null&&(P.attachValidation=!1),oe===!1)for(let G of this[qTe].onRoute)G.call(this,P);for(let G of MTe)if(P&&G in P){if(Array.isArray(P[G]))for(let z of P[G]){if(typeof z!="function")throw new $Te(G,Object.prototype.toString.call(z));if(G==="onSend"||G==="preSerialization"||G==="onError"||G==="preParsing"){if(z.constructor.name==="AsyncFunction"&&z.length===4)throw new Hq}else if(G==="onRequestAbort"){if(z.constructor.name==="AsyncFunction"&&z.length!==1)throw new Hq}else if(z.constructor.name==="AsyncFunction"&&z.length===3)throw new Hq}else if(P[G]!==void 0&&typeof P[G]!="function")throw new $Te(G,Object.prototype.toString.call(P[G]))}let we=P.constraints||{},qe={...P.config,url:Ce,method:P.method},Fe=new wUt({schema:P.schema,handler:P.handler.bind(this),config:qe,errorHandler:P.errorHandler,childLoggerFactory:P.childLoggerFactory,bodyLimit:P.bodyLimit,logLevel:P.logLevel,logSerializers:P.logSerializers,attachValidation:P.attachValidation,schemaErrorFormatter:P.schemaErrorFormatter,replySerializer:this[Qq],validatorCompiler:P.validatorCompiler,serializerCompiler:P.serializerCompiler,exposeHeadRoute:k,prefixTrailingSlash:P.prefixTrailingSlash||"both",server:this,isFastify:ue});P.version&&(MUt(),we.version=P.version);let _e=e.findRoute("HEAD",P.url,we),U=_e!==null;Z&&U&&!Fe[Vq]&&_e.store[Vq]&&e.off("HEAD",P.url,we);try{e.on(P.method,P.url,{constraints:we},R,Fe)}catch(G){if(!Fe[Vq])throw G.message.includes(`Method '${P.method}' already declared for route '${P.url}'`)?new jUt(P.method,P.url):G}if(this.after((G,z)=>{Fe.errorHandler=P.errorHandler?i7t(this[HTe],P.errorHandler):this[HTe],Fe._parserOptions.limit=P.bodyLimit||null,Fe.logLevel=P.logLevel,Fe.logSerializers=P.logSerializers,Fe.attachValidation=P.attachValidation,Fe[Qq]=this[Qq],Fe.schemaErrorFormatter=P.schemaErrorFormatter||this[s7t]||Fe.schemaErrorFormatter,r.once("preReady",()=>{for(let q of MTe){let H=this[qTe][q].concat(P[q]||[]).map(ee=>ee.bind(this));Fe[q]=H.length?H:null}for(;!Fe.Request[QTe]&&Fe.Request.parent;)Fe.Request=Fe.Request.parent;for(;!Fe.Reply[QTe]&&Fe.Reply.parent;)Fe.Reply=Fe.Reply.parent;if(n.setContext(this,Fe),P.schema){Fe.schema=kUt(Fe.schema,this.initialConfig);let q=this[e7t];!P.validatorCompiler&&(P.schema.body||P.schema.headers||P.schema.querystring||P.schema.params)&&q.setupValidator(this[jTe]);try{let H=typeof P?.validatorCompiler=="function"||q.isCustomValidatorCompiler;WUt(Fe,P.validatorCompiler||q.validatorCompiler,H)}catch(H){throw new FUt(P.method,Ce,H.message)}P.schema.response&&!P.serializerCompiler&&q.setupSerializer(this[jTe]);try{$Ut(Fe,P.serializerCompiler||q.serializerCompiler)}catch(H){throw new UUt(P.method,Ce,H.message)}}}),z(G)}),k&&B&&!Z&&!U){let G=LUt(W.onSend);y.call(this,{method:"HEAD",url:se,options:{...W,onSend:G},isFastify:!0})}else U&&L&&BUt()}}function R(w,N,P,L,M){let k=o7t(L.server,w),B={level:L.logLevel};L.logSerializers&&(B.serializers=L.logSerializers);let Z=a7t(L,s,w,k,B);if(Z[n7t]=c,!p(w.httpVersion)){Z.info({res:{statusCode:505}},"request aborted - invalid HTTP version");let j='{"error":"HTTP Version Not Supported","message":"HTTP Version Not Supported","statusCode":505}',J={"Content-Type":"application/json","Content-Length":j.length};N.writeHead(505,J),N.end(j);return}if(h===!0&&(w.httpVersionMajor!==2&&N.setHeader("Connection","close"),d)){let j={"Content-Type":"application/json","Content-Length":"80"};N.writeHead(503,j),N.end('{"error":"Service Unavailable","message":"Service Unavailable","statusCode":503}'),Z.info({res:{statusCode:503}},"request aborted - refusing to accept new requests as server is closing");return}String.prototype.toLowerCase.call(w.headers.connection||"")==="keep-alive"&&m.has(w.socket)===!1&&(m.add(w.socket),w.socket.on("close",d7t.bind({keepAliveConnections:m,socket:w.socket}))),w.headers[Gq]!==void 0&&(w.headers["accept-version"]=w.headers[Gq],w.headers[Gq]=void 0);let F=new L.Request(k,P,w,M,Z,L),V=new L.Reply(N,F,Z);c===!1&&Z.info({req:F},"incoming request"),(i===!0||L.onResponse!==null)&&a(V),L.onRequest!==null?PUt(L.onRequest,F,V,KTe):KTe(null,F,V),L.onRequestAbort!==null&&w.on("close",()=>{w.aborted&&RUt(L.onRequestAbort,F,u7t.bind(null,V))}),L.onTimeout!==null&&(F.raw.socket._meta||F.raw.socket.on("timeout",l7t),F.raw.socket._meta={context:L,request:F,reply:V})}}function u7t(t,e){e&&t.log.error({err:e},"onRequestAborted hook failed")}function l7t(){let{context:t,request:e,reply:r}=this._meta;OUt(t.onTimeout,e,r,f7t)}function VTe(t){if(typeof t!="string")throw new KUt;if(t=t.toUpperCase(),DUt.indexOf(t)===-1)throw new zUt(t);return t}function zTe(t,e,r){if((t==="GET"||t==="HEAD")&&r&&r.body)throw new YUt(t,e)}function YTe(t){if(t!==void 0&&(!Number.isInteger(t)||t<=0))throw new JUt(t)}function KTe(t,e,r){if(r.sent!==!0){if(t!=null){r[t7t]=!0,r.send(t);return}e[r7t]=e.raw,e[GTe].preParsing!==null?NUt(e[GTe].preParsing,e,r,BTe):BTe(null,e,r)}}function d7t(){this.keepAliveConnections.delete(this.socket)}function f7t(){}JTe.exports={buildRouting:c7t,validateBodyLimitOption:YTe}});var iwe=E((L4r,swe)=>{"use strict";var p7t=qq(),ZTe=SN(),ewe=FN(),m7t=UN(),{kRoutePrefix:h7t,kCanSetNotFoundHandler:xS,kFourOhFourLevelInstance:bS,kFourOhFourContext:ol,kHooks:g7t,kErrorHandler:twe}=Qs(),{lifecycleHooks:A7t}=up(),{buildErrorHandler:y7t}=U1(),{FST_ERR_NOT_FOUND:x7t}=Ci(),{createChildLogger:rwe}=c1(),{getGenReqId:nwe}=IP();function b7t(t){let{logger:e}=t,r=p7t({onBadUrl:a(),defaultRoute:l}),n=null;return{router:r,setNotFoundHandler:c,setContext:o,arrange404:s};function s(d){d[bS]=d,d[xS]=!0,r.onBadUrl=r.onBadUrl.bind(d),r.defaultRoute=r.defaultRoute.bind(d)}function i(d,f){let{url:p,method:m}=d.raw,h=`Route ${m}:${p} not found`;d.log.info(h),f.code(404).send({message:h,error:"Not Found",statusCode:404})}function a(){return function(f,p,m){let h=this[bS][ol],A=nwe(h.server,p),g=rwe(h,e,p,A),b=new ewe(A,null,p,null,g,h),y=new ZTe(m,b,g);n(b,y)}}function o(d,f){let p=Object.assign({},d[ol]);p.onSend=f.onSend,f[ol]=p}function c(d,f,p,m){this[xS]===void 0&&(this[xS]=!0),this[ol]===void 0&&(this[ol]=null);let h=this,A=this[h7t]||"/";if(this[xS]===!1)throw new Error(`Not found handler already set for Fastify instance with prefix: '${A}'`);typeof d=="object"&&(d.preHandler&&(Array.isArray(d.preHandler)?d.preHandler=d.preHandler.map(g=>g.bind(h)):d.preHandler=d.preHandler.bind(h)),d.preValidation&&(Array.isArray(d.preValidation)?d.preValidation=d.preValidation.map(g=>g.bind(h)):d.preValidation=d.preValidation.bind(h))),typeof d=="function"&&(f=d,d=void 0),d=d||{},f?(this[bS][xS]=!1,f=f.bind(this),n=f):(f=i,n=i),this.after((g,b)=>{u.call(this,A,d,f,p,m),b(g)})}function u(d,f,p,m,h){let A=new m7t({schema:f.schema,handler:p,config:f.config||{},server:this});if(m.once("preReady",()=>{let g=this[ol];for(let b of A7t){let y=this[g7t][b].concat(f[b]||[]).map(x=>x.bind(this));g[b]=y.length?y:null}g.errorHandler=f.errorHandler?y7t(this[twe],f.errorHandler):this[twe]}),this[ol]!==null&&d==="/"){Object.assign(this[ol],A);return}this[bS][ol]=A,r.all(d+(d.endsWith("/")?"*":"/*"),h,A),r.all(d,h,A)}function l(d,f){let p=this[bS][ol],m=nwe(p.server,d),h=rwe(p,e,d,m);h.info({req:d},"incoming request");let A=new ewe(m,null,d,null,h,p),g=new ZTe(f,A,h);A.log.warn("the default handler for 404 did not catch this, this is likely a fastify bug, please report it"),A.log.warn(r.prettyPrint()),g.code(404).send(new x7t)}}swe.exports=b7t});var owe=E((B4r,QP)=>{"use strict";QP.exports=$r;QP.exports.default=$r;var awe={type:"object",additionalProperties:!1,properties:{connectionTimeout:{type:"integer",default:0},keepAliveTimeout:{type:"integer",default:72e3},forceCloseConnections:{oneOf:[{type:"string",pattern:"idle"},{type:"boolean"}]},maxRequestsPerSocket:{type:"integer",default:0,nullable:!0},requestTimeout:{type:"integer",default:0},bodyLimit:{type:"integer",default:1048576},caseSensitive:{type:"boolean",default:!0},allowUnsafeRegex:{type:"boolean",default:!1},http2:{type:"boolean"},https:{if:{not:{oneOf:[{type:"boolean"},{type:"null"},{type:"object",additionalProperties:!1,required:["allowHTTP1"],properties:{allowHTTP1:{type:"boolean"}}}]}},then:{setDefaultValue:!0}},ignoreTrailingSlash:{type:"boolean",default:!1},ignoreDuplicateSlashes:{type:"boolean",default:!1},disableRequestLogging:{type:"boolean",default:!1},jsonShorthand:{type:"boolean",default:!0},maxParamLength:{type:"integer",default:100},onProtoPoisoning:{type:"string",default:"error"},onConstructorPoisoning:{type:"string",default:"error"},pluginTimeout:{type:"integer",default:1e4},requestIdHeader:{anyOf:[{enum:[!1]},{type:"string"}],default:"request-id"},requestIdLogLabel:{type:"string",default:"reqId"},http2SessionTimeout:{type:"integer",default:72e3},exposeHeadRoutes:{type:"boolean",default:!0},useSemicolonDelimiter:{type:"boolean",default:!0},versioning:{type:"object",additionalProperties:!0,required:["storage","deriveVersion"],properties:{storage:{},deriveVersion:{}}},constraints:{type:"object",additionalProperties:{type:"object",required:["name","storage","validate","deriveConstraint"],additionalProperties:!0,properties:{name:{type:"string"},storage:{},validate:{},deriveConstraint:{}}}}}},E7t=Object.prototype.hasOwnProperty,_7t=new RegExp("idle","u");function $r(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0;if(a===0)if(t&&typeof t=="object"&&!Array.isArray(t)){t.connectionTimeout===void 0&&(t.connectionTimeout=0),t.keepAliveTimeout===void 0&&(t.keepAliveTimeout=72e3),t.maxRequestsPerSocket===void 0&&(t.maxRequestsPerSocket=0),t.requestTimeout===void 0&&(t.requestTimeout=0),t.bodyLimit===void 0&&(t.bodyLimit=1048576),t.caseSensitive===void 0&&(t.caseSensitive=!0),t.allowUnsafeRegex===void 0&&(t.allowUnsafeRegex=!1),t.ignoreTrailingSlash===void 0&&(t.ignoreTrailingSlash=!1),t.ignoreDuplicateSlashes===void 0&&(t.ignoreDuplicateSlashes=!1),t.disableRequestLogging===void 0&&(t.disableRequestLogging=!1),t.jsonShorthand===void 0&&(t.jsonShorthand=!0),t.maxParamLength===void 0&&(t.maxParamLength=100),t.onProtoPoisoning===void 0&&(t.onProtoPoisoning="error"),t.onConstructorPoisoning===void 0&&(t.onConstructorPoisoning="error"),t.pluginTimeout===void 0&&(t.pluginTimeout=1e4),t.requestIdHeader===void 0&&(t.requestIdHeader="request-id"),t.requestIdLogLabel===void 0&&(t.requestIdLogLabel="reqId"),t.http2SessionTimeout===void 0&&(t.http2SessionTimeout=72e3),t.exposeHeadRoutes===void 0&&(t.exposeHeadRoutes=!0),t.useSemicolonDelimiter===void 0&&(t.useSemicolonDelimiter=!0);let m=a;for(let h in t)E7t.call(awe.properties,h)||delete t[h];if(m===a){let h=t.connectionTimeout,A=a;if(!(typeof h=="number"&&!(h%1)&&!isNaN(h)&&isFinite(h))){let g=typeof h,b;if(b===void 0)if(g==="boolean"||h===null||g==="string"&&h&&h==+h&&!(h%1))b=+h;else return $r.errors=[{instancePath:e+"/connectionTimeout",schemaPath:"#/properties/connectionTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;b!==void 0&&(h=b,t!==void 0&&(t.connectionTimeout=b))}var o=A===a;if(o){let g=t.keepAliveTimeout,b=a;if(!(typeof g=="number"&&!(g%1)&&!isNaN(g)&&isFinite(g))){let x=typeof g,v;if(v===void 0)if(x==="boolean"||g===null||x==="string"&&g&&g==+g&&!(g%1))v=+g;else return $r.errors=[{instancePath:e+"/keepAliveTimeout",schemaPath:"#/properties/keepAliveTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;v!==void 0&&(g=v,t!==void 0&&(t.keepAliveTimeout=v))}var o=b===a;if(o){if(t.forceCloseConnections!==void 0){let x=t.forceCloseConnections,v=a,C=a,R=!1,w=null,N=a;if(typeof x!="string"){let M=typeof x,k;if(k===void 0)if(M=="number"||M=="boolean")k=""+x;else if(x===null)k="";else{let B={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[B]:i.push(B),a++}k!==void 0&&(x=k,t!==void 0&&(t.forceCloseConnections=k))}if(a===N&&typeof x=="string"&&!_7t.test(x)){let M={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/0/pattern",keyword:"pattern",params:{pattern:"idle"},message:'must match pattern "idle"'};i===null?i=[M]:i.push(M),a++}var c=N===a;c&&(R=!0,w=0);let P=a;if(typeof x!="boolean"){let M;if(M===void 0)if(x==="false"||x===0||x===null)M=!1;else if(x==="true"||x===1)M=!0;else{let k={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/1/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};i===null?i=[k]:i.push(k),a++}M!==void 0&&(x=M,t!==void 0&&(t.forceCloseConnections=M))}var c=P===a;if(c&&R?(R=!1,w=[w,1]):c&&(R=!0,w=1),R)a=C,i!==null&&(C?i.length=C:i=null);else{let M={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf",keyword:"oneOf",params:{passingSchemas:w},message:"must match exactly one schema in oneOf"};return i===null?i=[M]:i.push(M),a++,$r.errors=i,!1}var o=v===a}else var o=!0;if(o){let x=t.maxRequestsPerSocket,v=a;if(!(typeof x=="number"&&!(x%1)&&!isNaN(x)&&isFinite(x))&&x!==null){let R=typeof x,w;if(w===void 0)if(R==="boolean"||x===null||R==="string"&&x&&x==+x&&!(x%1))w=+x;else if(x===""||x===0||x===!1)w=null;else return $r.errors=[{instancePath:e+"/maxRequestsPerSocket",schemaPath:"#/properties/maxRequestsPerSocket/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.maxRequestsPerSocket=w))}var o=v===a;if(o){let R=t.requestTimeout,w=a;if(!(typeof R=="number"&&!(R%1)&&!isNaN(R)&&isFinite(R))){let P=typeof R,L;if(L===void 0)if(P==="boolean"||R===null||P==="string"&&R&&R==+R&&!(R%1))L=+R;else return $r.errors=[{instancePath:e+"/requestTimeout",schemaPath:"#/properties/requestTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;L!==void 0&&(R=L,t!==void 0&&(t.requestTimeout=L))}var o=w===a;if(o){let P=t.bodyLimit,L=a;if(!(typeof P=="number"&&!(P%1)&&!isNaN(P)&&isFinite(P))){let k=typeof P,B;if(B===void 0)if(k==="boolean"||P===null||k==="string"&&P&&P==+P&&!(P%1))B=+P;else return $r.errors=[{instancePath:e+"/bodyLimit",schemaPath:"#/properties/bodyLimit/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;B!==void 0&&(P=B,t!==void 0&&(t.bodyLimit=B))}var o=L===a;if(o){let k=t.caseSensitive,B=a;if(typeof k!="boolean"){let W;if(W===void 0)if(k==="false"||k===0||k===null)W=!1;else if(k==="true"||k===1)W=!0;else return $r.errors=[{instancePath:e+"/caseSensitive",schemaPath:"#/properties/caseSensitive/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;W!==void 0&&(k=W,t!==void 0&&(t.caseSensitive=W))}var o=B===a;if(o){let W=t.allowUnsafeRegex,F=a;if(typeof W!="boolean"){let j;if(j===void 0)if(W==="false"||W===0||W===null)j=!1;else if(W==="true"||W===1)j=!0;else return $r.errors=[{instancePath:e+"/allowUnsafeRegex",schemaPath:"#/properties/allowUnsafeRegex/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;j!==void 0&&(W=j,t!==void 0&&(t.allowUnsafeRegex=j))}var o=F===a;if(o){if(t.http2!==void 0){let j=t.http2,J=a;if(typeof j!="boolean"){let oe;if(oe===void 0)if(j==="false"||j===0||j===null)oe=!1;else if(j==="true"||j===1)oe=!0;else return $r.errors=[{instancePath:e+"/http2",schemaPath:"#/properties/http2/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;oe!==void 0&&(j=oe,t!==void 0&&(t.http2=oe))}var o=J===a}else var o=!0;if(o){if(t.https!==void 0){let j=t.https,J=a,se=a,oe=!0,ue=a,Ce=a,we=a,qe=a,Fe=!1,_e=null,U=a;if(typeof j!="boolean"){let q;if(q===void 0)if(j==="false"||j===0||j===null)q=!1;else if(j==="true"||j===1)q=!0;else{let H={};i===null?i=[H]:i.push(H),a++}q!==void 0&&(j=q,t!==void 0&&(t.https=q))}var u=U===a;u&&(Fe=!0,_e=0);let G=a;if(j!==null){let q;if(q===void 0)if(j===""||j===0||j===!1)q=null;else{let H={};i===null?i=[H]:i.push(H),a++}q!==void 0&&(j=q,t!==void 0&&(t.https=q))}var u=G===a;if(u&&Fe)Fe=!1,_e=[_e,1];else{u&&(Fe=!0,_e=1);let q=a;if(a===q)if(j&&typeof j=="object"&&!Array.isArray(j)){let ee;if(j.allowHTTP1===void 0&&(ee="allowHTTP1")){let ne={};i===null?i=[ne]:i.push(ne),a++}else{let ne=a;for(let re in j)re!=="allowHTTP1"&&delete j[re];if(ne===a&&j.allowHTTP1!==void 0){let re=j.allowHTTP1;if(typeof re!="boolean"){let X;if(X===void 0)if(re==="false"||re===0||re===null)X=!1;else if(re==="true"||re===1)X=!0;else{let ie={};i===null?i=[ie]:i.push(ie),a++}X!==void 0&&(re=X,j!==void 0&&(j.allowHTTP1=X))}}}}else{let ee={};i===null?i=[ee]:i.push(ee),a++}var u=q===a;u&&Fe?(Fe=!1,_e=[_e,2]):u&&(Fe=!0,_e=2)}if(Fe)a=qe,i!==null&&(qe?i.length=qe:i=null);else{let q={};i===null?i=[q]:i.push(q),a++}var l=we===a;if(l){let q={};i===null?i=[q]:i.push(q),a++}else a=Ce,i!==null&&(Ce?i.length=Ce:i=null);var d=ue===a;if(a=se,i!==null&&(se?i.length=se:i=null),d){let q=a;t.https=!0;var d=q===a;oe=d}if(!oe){let q={instancePath:e+"/https",schemaPath:"#/properties/https/if",keyword:"if",params:{failingKeyword:"then"},message:'must match "then" schema'};return i===null?i=[q]:i.push(q),a++,$r.errors=i,!1}var o=J===a}else var o=!0;if(o){let j=t.ignoreTrailingSlash,J=a;if(typeof j!="boolean"){let oe;if(oe===void 0)if(j==="false"||j===0||j===null)oe=!1;else if(j==="true"||j===1)oe=!0;else return $r.errors=[{instancePath:e+"/ignoreTrailingSlash",schemaPath:"#/properties/ignoreTrailingSlash/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;oe!==void 0&&(j=oe,t!==void 0&&(t.ignoreTrailingSlash=oe))}var o=J===a;if(o){let oe=t.ignoreDuplicateSlashes,ue=a;if(typeof oe!="boolean"){let we;if(we===void 0)if(oe==="false"||oe===0||oe===null)we=!1;else if(oe==="true"||oe===1)we=!0;else return $r.errors=[{instancePath:e+"/ignoreDuplicateSlashes",schemaPath:"#/properties/ignoreDuplicateSlashes/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;we!==void 0&&(oe=we,t!==void 0&&(t.ignoreDuplicateSlashes=we))}var o=ue===a;if(o){let we=t.disableRequestLogging,qe=a;if(typeof we!="boolean"){let _e;if(_e===void 0)if(we==="false"||we===0||we===null)_e=!1;else if(we==="true"||we===1)_e=!0;else return $r.errors=[{instancePath:e+"/disableRequestLogging",schemaPath:"#/properties/disableRequestLogging/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;_e!==void 0&&(we=_e,t!==void 0&&(t.disableRequestLogging=_e))}var o=qe===a;if(o){let _e=t.jsonShorthand,U=a;if(typeof _e!="boolean"){let z;if(z===void 0)if(_e==="false"||_e===0||_e===null)z=!1;else if(_e==="true"||_e===1)z=!0;else return $r.errors=[{instancePath:e+"/jsonShorthand",schemaPath:"#/properties/jsonShorthand/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;z!==void 0&&(_e=z,t!==void 0&&(t.jsonShorthand=z))}var o=U===a;if(o){let z=t.maxParamLength,q=a;if(!(typeof z=="number"&&!(z%1)&&!isNaN(z)&&isFinite(z))){let ee=typeof z,ne;if(ne===void 0)if(ee==="boolean"||z===null||ee==="string"&&z&&z==+z&&!(z%1))ne=+z;else return $r.errors=[{instancePath:e+"/maxParamLength",schemaPath:"#/properties/maxParamLength/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;ne!==void 0&&(z=ne,t!==void 0&&(t.maxParamLength=ne))}var o=q===a;if(o){let ee=t.onProtoPoisoning,ne=a;if(typeof ee!="string"){let X=typeof ee,ie;if(ie===void 0)if(X=="number"||X=="boolean")ie=""+ee;else if(ee===null)ie="";else return $r.errors=[{instancePath:e+"/onProtoPoisoning",schemaPath:"#/properties/onProtoPoisoning/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;ie!==void 0&&(ee=ie,t!==void 0&&(t.onProtoPoisoning=ie))}var o=ne===a;if(o){let X=t.onConstructorPoisoning,ie=a;if(typeof X!="string"){let fe=typeof X,Ne;if(Ne===void 0)if(fe=="number"||fe=="boolean")Ne=""+X;else if(X===null)Ne="";else return $r.errors=[{instancePath:e+"/onConstructorPoisoning",schemaPath:"#/properties/onConstructorPoisoning/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;Ne!==void 0&&(X=Ne,t!==void 0&&(t.onConstructorPoisoning=Ne))}var o=ie===a;if(o){let fe=t.pluginTimeout,Ne=a;if(!(typeof fe=="number"&&!(fe%1)&&!isNaN(fe)&&isFinite(fe))){let Ue=typeof fe,Ke;if(Ke===void 0)if(Ue==="boolean"||fe===null||Ue==="string"&&fe&&fe==+fe&&!(fe%1))Ke=+fe;else return $r.errors=[{instancePath:e+"/pluginTimeout",schemaPath:"#/properties/pluginTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;Ke!==void 0&&(fe=Ke,t!==void 0&&(t.pluginTimeout=Ke))}var o=Ne===a;if(o){let Ue=t.requestIdHeader,Ke=a,Ye=a,Ze=!1,nt=a;if(Ue!==!1){let tt={instancePath:e+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/0/enum",keyword:"enum",params:{allowedValues:awe.properties.requestIdHeader.anyOf[0].enum},message:"must be equal to one of the allowed values"};i===null?i=[tt]:i.push(tt),a++}var f=nt===a;if(Ze=Ze||f,!Ze){let tt=a;if(typeof Ue!="string"){let lt=typeof Ue,De;if(De===void 0)if(lt=="number"||lt=="boolean")De=""+Ue;else if(Ue===null)De="";else{let Je={instancePath:e+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/1/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[Je]:i.push(Je),a++}De!==void 0&&(Ue=De,t!==void 0&&(t.requestIdHeader=De))}var f=tt===a;Ze=Ze||f}if(Ze)a=Ye,i!==null&&(Ye?i.length=Ye:i=null);else{let tt={instancePath:e+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[tt]:i.push(tt),a++,$r.errors=i,!1}var o=Ke===a;if(o){let tt=t.requestIdLogLabel,Dt=a;if(typeof tt!="string"){let De=typeof tt,Je;if(Je===void 0)if(De=="number"||De=="boolean")Je=""+tt;else if(tt===null)Je="";else return $r.errors=[{instancePath:e+"/requestIdLogLabel",schemaPath:"#/properties/requestIdLogLabel/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;Je!==void 0&&(tt=Je,t!==void 0&&(t.requestIdLogLabel=Je))}var o=Dt===a;if(o){let De=t.http2SessionTimeout,Je=a;if(!(typeof De=="number"&&!(De%1)&&!isNaN(De)&&isFinite(De))){let rt=typeof De,bt;if(bt===void 0)if(rt==="boolean"||De===null||rt==="string"&&De&&De==+De&&!(De%1))bt=+De;else return $r.errors=[{instancePath:e+"/http2SessionTimeout",schemaPath:"#/properties/http2SessionTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;bt!==void 0&&(De=bt,t!==void 0&&(t.http2SessionTimeout=bt))}var o=Je===a;if(o){let rt=t.exposeHeadRoutes,bt=a;if(typeof rt!="boolean"){let Ct;if(Ct===void 0)if(rt==="false"||rt===0||rt===null)Ct=!1;else if(rt==="true"||rt===1)Ct=!0;else return $r.errors=[{instancePath:e+"/exposeHeadRoutes",schemaPath:"#/properties/exposeHeadRoutes/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;Ct!==void 0&&(rt=Ct,t!==void 0&&(t.exposeHeadRoutes=Ct))}var o=bt===a;if(o){let Ct=t.useSemicolonDelimiter,Sr=a;if(typeof Ct!="boolean"){let Dr;if(Dr===void 0)if(Ct==="false"||Ct===0||Ct===null)Dr=!1;else if(Ct==="true"||Ct===1)Dr=!0;else return $r.errors=[{instancePath:e+"/useSemicolonDelimiter",schemaPath:"#/properties/useSemicolonDelimiter/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;Dr!==void 0&&(Ct=Dr,t!==void 0&&(t.useSemicolonDelimiter=Dr))}var o=Sr===a;if(o){if(t.versioning!==void 0){let Dr=t.versioning,qs=a;if(a===qs)if(Dr&&typeof Dr=="object"&&!Array.isArray(Dr)){let ys;if(Dr.storage===void 0&&(ys="storage")||Dr.deriveVersion===void 0&&(ys="deriveVersion"))return $r.errors=[{instancePath:e+"/versioning",schemaPath:"#/properties/versioning/required",keyword:"required",params:{missingProperty:ys},message:"must have required property '"+ys+"'"}],!1}else return $r.errors=[{instancePath:e+"/versioning",schemaPath:"#/properties/versioning/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=qs===a}else var o=!0;if(o)if(t.constraints!==void 0){let Dr=t.constraints,qs=a;if(a===qs)if(Dr&&typeof Dr=="object"&&!Array.isArray(Dr))for(let ys in Dr){let Hs=Dr[ys],Lu=a;if(a===Lu)if(Hs&&typeof Hs=="object"&&!Array.isArray(Hs)){let go;if(Hs.name===void 0&&(go="name")||Hs.storage===void 0&&(go="storage")||Hs.validate===void 0&&(go="validate")||Hs.deriveConstraint===void 0&&(go="deriveConstraint"))return $r.errors=[{instancePath:e+"/constraints/"+ys.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/constraints/additionalProperties/required",keyword:"required",params:{missingProperty:go},message:"must have required property '"+go+"'"}],!1;if(Hs.name!==void 0){let Dc=Hs.name;if(typeof Dc!="string"){let Ta=typeof Dc,yn;if(yn===void 0)if(Ta=="number"||Ta=="boolean")yn=""+Dc;else if(Dc===null)yn="";else return $r.errors=[{instancePath:e+"/constraints/"+ys.replace(/~/g,"~0").replace(/\//g,"~1")+"/name",schemaPath:"#/properties/constraints/additionalProperties/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;yn!==void 0&&(Dc=yn,Hs!==void 0&&(Hs.name=yn))}}}else return $r.errors=[{instancePath:e+"/constraints/"+ys.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/constraints/additionalProperties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var p=Lu===a;if(!p)break}else return $r.errors=[{instancePath:e+"/constraints",schemaPath:"#/properties/constraints/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=qs===a}else var o=!0}}}}}}}}}}}}}}}}}}}}}}}}}else return $r.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;return $r.errors=i,a===0}QP.exports.defaultInitOptions={connectionTimeout:0,keepAliveTimeout:72e3,maxRequestsPerSocket:0,requestTimeout:0,bodyLimit:1048576,caseSensitive:!0,allowUnsafeRegex:!1,disableRequestLogging:!1,jsonShorthand:!0,ignoreTrailingSlash:!1,ignoreDuplicateSlashes:!1,maxParamLength:100,onProtoPoisoning:"error",onConstructorPoisoning:"error",pluginTimeout:1e4,requestIdHeader:"request-id",requestIdLogLabel:"reqId",http2SessionTimeout:72e3,exposeHeadRoutes:!0,useSemicolonDelimiter:!0}});var cwe=E((M4r,VP)=>{"use strict";var GP=owe(),S7t=NR()({circles:!0,proto:!1}),{FST_ERR_INIT_OPTS_INVALID:v7t}=Ci();function C7t(t){let e=S7t(t);if(!GP(e)){let r=new v7t(JSON.stringify(GP.errors.map(n=>n.message)));throw r.errors=GP.errors,r}return zq(e)}function zq(t){let e=Object.getOwnPropertyNames(t);for(let r of e){let n=t[r];ArrayBuffer.isView(n)&&!(n instanceof DataView)||(t[r]=n&&typeof n=="object"?zq(n):n)}return Object.freeze(t)}VP.exports=C7t;VP.exports.defaultInitOptions=GP.defaultInitOptions;VP.exports.utils={deepFreezeObject:zq}});var Awe=E((W4r,gwe)=>{"use strict";var{kAvvioBoot:I7t,kChildren:uwe,kRoutePrefix:lwe,kLogLevel:dwe,kLogSerializers:Kq,kHooks:Yq,kSchemaController:tx,kContentTypeParser:fwe,kReply:pwe,kRequest:mwe,kFourOhFour:T7t,kPluginNameChain:hwe}=Qs(),w7t=SN(),R7t=FN(),N7t=bq(),O7t=Y$(),{buildHooks:P7t}=up(),ES=Iq();gwe.exports=function(e,r,n){let s=ES.registerPlugin.call(e,r),i=ES.getPluginName(r)||ES.getFuncPreview(r);if(s)return e[hwe].push(i),e;let a=Object.create(e);e[uwe].push(a),a.ready=e[I7t].bind(a),a[uwe]=[],a[pwe]=w7t.buildReply(a[pwe]),a[mwe]=R7t.buildRequest(a[mwe]),a[fwe]=O7t.helpers.buildContentTypeParser(a[fwe]),a[Yq]=P7t(a[Yq]),a[lwe]=D7t(a[lwe],n.prefix),a[dwe]=n.logLevel||a[dwe],a[tx]=N7t.buildSchemaController(e[tx]),a.getSchema=a[tx].getSchema.bind(a[tx]),a.getSchemas=a[tx].getSchemas.bind(a[tx]),a[ES.kRegisteredPlugins]=Object.create(a[ES.kRegisteredPlugins]),a[hwe]=[i],(a[Kq]||n.logSerializers)&&(a[Kq]=Object.assign(Object.create(a[Kq]),n.logSerializers)),n.prefix&&a[T7t].arrange404(a);for(let o of a[Yq].onRegister)o.call(this,a,n);return a};function D7t(t,e){return e?(t.endsWith("/")&&e[0]==="/"?e=e.slice(1):e[0]!=="/"&&(e="/"+e),t+e):t}});var xwe=E(($4r,ywe)=>{"use strict";ywe.exports=function(){return{[Symbol.iterator]:function*(){},add(){},delete(){},has(){return!0}}}});var _we=E(Jq=>{"use strict";Jq.parse=F7t;Jq.serialize=U7t;var k7t=Object.prototype.toString,L7t=Object.prototype.hasOwnProperty,B7t=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,M7t=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,W7t=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,$7t=/^[\u0020-\u003A\u003D-\u007E]*$/;function F7t(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");var r={},n=t.length;if(n<2)return r;var s=e&&e.decode||q7t,i=0,a=0,o=0;do{if(a=t.indexOf("=",i),a===-1)break;if(o=t.indexOf(";",i),o===-1)o=n;else if(a>o){i=t.lastIndexOf(";",a-1)+1;continue}var c=bwe(t,i,a),u=Ewe(t,a,c),l=t.slice(c,u);if(!L7t.call(r,l)){var d=bwe(t,a+1,o),f=Ewe(t,o,d);t.charCodeAt(d)===34&&t.charCodeAt(f-1)===34&&(d++,f--);var p=t.slice(d,f);r[l]=H7t(p,s)}i=o+1}while(i<n);return r}function bwe(t,e,r){do{var n=t.charCodeAt(e);if(n!==32&&n!==9)return e}while(++e<r);return r}function Ewe(t,e,r){for(;e>r;){var n=t.charCodeAt(--e);if(n!==32&&n!==9)return e+1}return r}function U7t(t,e,r){var n=r&&r.encode||encodeURIComponent;if(typeof n!="function")throw new TypeError("option encode is invalid");if(!B7t.test(t))throw new TypeError("argument name is invalid");var s=n(e);if(!M7t.test(s))throw new TypeError("argument val is invalid");var i=t+"="+s;if(!r)return i;if(r.maxAge!=null){var a=Math.floor(r.maxAge);if(!isFinite(a))throw new TypeError("option maxAge is invalid");i+="; Max-Age="+a}if(r.domain){if(!W7t.test(r.domain))throw new TypeError("option domain is invalid");i+="; Domain="+r.domain}if(r.path){if(!$7t.test(r.path))throw new TypeError("option path is invalid");i+="; Path="+r.path}if(r.expires){var o=r.expires;if(!j7t(o)||isNaN(o.valueOf()))throw new TypeError("option expires is invalid");i+="; Expires="+o.toUTCString()}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.partitioned&&(i+="; Partitioned"),r.priority){var c=typeof r.priority=="string"?r.priority.toLowerCase():r.priority;switch(c){case"low":i+="; Priority=Low";break;case"medium":i+="; Priority=Medium";break;case"high":i+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(r.sameSite){var u=typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite;switch(u){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return i}function q7t(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}function j7t(t){return k7t.call(t)==="[object Date]"}function H7t(t,e){try{return e(t)}catch{return t}}});var Cwe=E((U4r,vwe)=>{"use strict";var{URL:Swe}=require("node:url"),Xq="http://localhost";vwe.exports=function(e,r){(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]")&&e.startsWith("//")&&(e=Xq+e);let n=typeof e=="object"?Object.assign(new Swe(Xq),e):new Swe(e,Xq);if(typeof r=="string"){r=new URLSearchParams(r);for(let s of r.keys()){n.searchParams.delete(s);for(let i of r.getAll(s))n.searchParams.append(s,i)}}else{let s=Object.assign({},e.query,r);for(let i in s){let a=s[i];if(Array.isArray(a)){n.searchParams.delete(i);for(let o of a)n.searchParams.append(i,o)}else n.searchParams.set(i,a)}}return n}});var Iwe=E((q4r,Zq)=>{"use strict";var{randomUUID:Q7t}=require("node:crypto"),{Readable:G7t}=require("node:stream"),rx;function V7t(t){return t&&typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&t[Symbol.toStringTag]==="FormData"}function z7t(t){rx=rx??new TextEncoder;let e=`----formdata-${Q7t()}`,r=`--${e}\r
Content-Disposition: form-data`;let n=c=>c.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),s=c=>c.replace(/\r?\n|\r/g,`\r
`),i=new Uint8Array([13,10]);async function*a(){for(let[c,u]of t)if(typeof u=="string")yield rx.encode(`${r}; name="${n(s(c))}"\r
\r
`),yield rx.encode(`${s(u)}\r
`);else{let l=`${r}; name="${n(s(c))}"`;u.name&&(l+=`; filename="${n(u.name)}"`),l+=`\r
Content-Type: ${u.type||"application/octet-stream"}\r
\r
`,yield rx.encode(l),u.stream?yield*u.stream():yield u,yield i}yield rx.encode(`--${e}--`)}return{stream:G7t.from(a()),contentType:`multipart/form-data; boundary=${e}`}}Zq.exports.isFormDataLike=V7t;Zq.exports.formDataToStream=z7t});var Rwe=E((j4r,zP)=>{"use strict";var{Readable:Twe,addAbortSignal:K7t}=require("node:stream"),tj=require("node:util"),Y7t=_we(),J7t=require("node:assert"),{createDeprecation:X7t}=V6(),Z7t=Cwe(),{isFormDataLike:e9t,formDataToStream:t9t}=Iwe(),{EventEmitter:r9t}=require("node:events"),n9t=X7t({name:"FastifyDeprecationLightMyRequest",code:"FST_LIGHTMYREQUEST_DEP01",message:'You are accessing "request.connection", use "request.socket" instead.'});function s9t(t){return t.port?t.host:t.hostname+(t.protocol==="https:"?":443":":80")}var ej=class extends r9t{constructor(e){super(),this.remoteAddress=e}};function wwe(t){return new e(this);function e(r){cl.call(r,{...t,Request:void 0}),Object.assign(this,r);for(let n of Object.keys(cl.prototype))this.constructor.prototype[n]=cl.prototype[n];return tj.inherits(this.constructor,t.Request),this}}function cl(t){Twe.call(this,{autoDestroy:!1});let e=Z7t(t.url||t.path,t.query);this.url=e.pathname+e.search,this.aborted=!1,this.httpVersionMajor=1,this.httpVersionMinor=1,this.httpVersion="1.1",this.method=t.method?t.method.toUpperCase():"GET",this.headers={},this.rawHeaders=[];let r=t.headers||{};for(let a in r){let o=a.toLowerCase();if((o==="user-agent"||o==="content-type")&&r[a]===void 0){this.headers[o]=void 0;continue}let c=r[a];J7t(c!==void 0,'invalid value "undefined" for header '+a),this.headers[o]=""+c}if("user-agent"in this.headers||(this.headers["user-agent"]="lightMyRequest"),this.headers.host=this.headers.host||t.authority||s9t(e),t.cookies){let{cookies:a}=t,o=Object.keys(a).map(c=>Y7t.serialize(c,a[c]));this.headers.cookie&&o.unshift(this.headers.cookie),this.headers.cookie=o.join("; ")}this.socket=new ej(t.remoteAddress||"127.0.0.1"),Object.defineProperty(this,"connection",{get(){return n9t(),this.socket},configurable:!0});let n=t.payload||t.body||null,s=n&&typeof n.resume=="function";if(e9t(n)){let a=t9t(n);n=a.stream,s=!0,this.headers["content-type"]=a.contentType}n&&typeof n!="string"&&!s&&!Buffer.isBuffer(n)&&(n=JSON.stringify(n),"content-type"in this.headers||(this.headers["content-type"]="application/json")),n&&!s&&!Object.prototype.hasOwnProperty.call(this.headers,"content-length")&&(this.headers["content-length"]=(Buffer.isBuffer(n)?n.length:Buffer.byteLength(n)).toString());for(let a of Object.keys(this.headers))this.rawHeaders.push(a,this.headers[a]);this._lightMyRequest={payload:n,isDone:!1,simulate:t.simulate||{}};let i=t.signal;return i&&K7t(i,this),this}tj.inherits(cl,Twe);tj.inherits(wwe,cl);cl.prototype.prepare=function(t){let e=this._lightMyRequest.payload;if(!e||typeof e.resume!="function")return t();let r=[];e.on("data",n=>r.push(Buffer.from(n))),e.on("end",()=>{let n=Buffer.concat(r);return this.headers["content-length"]=this.headers["content-length"]||""+n.length,this._lightMyRequest.payload=n,t()}),e.resume()};cl.prototype._read=function(t){setImmediate(()=>{if(this._lightMyRequest.isDone){this._lightMyRequest.simulate.end!==!1&&this.push(null);return}this._lightMyRequest.isDone=!0,this._lightMyRequest.payload&&(this._lightMyRequest.simulate.split?(this.push(this._lightMyRequest.payload.slice(0,1)),this.push(this._lightMyRequest.payload.slice(1))):this.push(this._lightMyRequest.payload)),this._lightMyRequest.simulate.error&&this.emit("error",new Error("Simulated")),this._lightMyRequest.simulate.close&&this.emit("close"),this._lightMyRequest.simulate.end!==!1&&this.push(null)})};cl.prototype.destroy=function(t){this.destroyed||this._lightMyRequest.isDone||(this.destroyed=!0,t&&(this._error=!0,process.nextTick(()=>this.emit("error",t))),process.nextTick(()=>this.emit("close")))};zP.exports=cl;zP.exports.Request=cl;zP.exports.CustomRequest=wwe});var Owe=E((H4r,_S)=>{"use strict";var KP={decodeValues:!0,map:!1,silent:!1};function rj(t){return typeof t!="string"||t in{}}function nj(){return Object.create(null)}function sj(t){return typeof t=="string"&&!!t.trim()}function ij(t,e){var r=t.split(";").filter(sj),n=r.shift(),s=i9t(n),i=s.name,a=s.value;if(e=e?Object.assign({},KP,e):KP,rj(i))return null;try{a=e.decodeValues?decodeURIComponent(a):a}catch(c){console.error("set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.",c)}var o=nj();return o.name=i,o.value=a,r.forEach(function(c){var u=c.split("="),l=u.shift().trimLeft().toLowerCase();if(!rj(l)){var d=u.join("=");if(l==="expires")o.expires=new Date(d);else if(l==="max-age"){var f=parseInt(d,10);Number.isNaN(f)||(o.maxAge=f)}else l==="secure"?o.secure=!0:l==="httponly"?o.httpOnly=!0:l==="samesite"?o.sameSite=d:l==="partitioned"?o.partitioned=!0:l&&(o[l]=d)}}),o}function i9t(t){var e="",r="",n=t.split("=");return n.length>1?(e=n.shift(),r=n.join("=")):r=t,{name:e,value:r}}function Nwe(t,e){if(e=e?Object.assign({},KP,e):KP,!t)return e.map?nj():[];if(t.headers)if(typeof t.headers.getSetCookie=="function")t=t.headers.getSetCookie();else if(t.headers["set-cookie"])t=t.headers["set-cookie"];else{var r=t.headers[Object.keys(t.headers).find(function(s){return s.toLowerCase()==="set-cookie"})];!r&&t.headers.cookie&&!e.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),t=r}if(Array.isArray(t)||(t=[t]),e.map){var n=nj();return t.filter(sj).reduce(function(s,i){var a=ij(i,e);return a&&!rj(a.name)&&(s[a.name]=a),s},n)}else return t.filter(sj).map(function(s){return ij(s,e)}).filter(Boolean)}function a9t(t){if(Array.isArray(t))return t;if(typeof t!="string")return[];var e=[],r=0,n,s,i,a,o;function c(){for(;r<t.length&&/\s/.test(t.charAt(r));)r+=1;return r<t.length}function u(){return s=t.charAt(r),s!=="="&&s!==";"&&s!==","}for(;r<t.length;){for(n=r,o=!1;c();)if(s=t.charAt(r),s===","){for(i=r,r+=1,c(),a=r;r<t.length&&u();)r+=1;r<t.length&&t.charAt(r)==="="?(o=!0,r=a,e.push(t.substring(n,i)),n=r):r=i+1}else r+=1;(!o||r>=t.length)&&e.push(t.substring(n,t.length))}return e}_S.exports=Nwe;_S.exports.parse=Nwe;_S.exports.parseString=ij;_S.exports.splitCookiesString=a9t});var kwe=E((Q4r,Dwe)=>{"use strict";var SS=require("node:http"),{Writable:o9t,Readable:c9t}=require("node:stream"),u9t=require("node:util"),l9t=Owe();function Qp(t,e,r){SS.ServerResponse.call(this,t),this._lightMyRequest={headers:null,trailers:{},payloadChunks:[]},this.setHeader("foo","bar"),this.removeHeader("foo"),this.assignSocket(f9t()),this._promiseCallback=typeof r=="function";let n=!1,s=a=>{if(n=!0,this._promiseCallback)return process.nextTick(()=>e(a));process.nextTick(()=>e(null,a))},i=a=>{if(!n){if(n=!0,this._promiseCallback)return process.nextTick(()=>r(a));process.nextTick(()=>e(a,null))}};this.once("finish",()=>{let a=d9t(this);a.raw.req=t,s(a)}),this.connection.once("error",i),this.once("error",i),this.once("close",i)}u9t.inherits(Qp,SS.ServerResponse);Qp.prototype.setTimeout=function(t,e){return this.timeoutHandle=setTimeout(()=>{this.emit("timeout")},t),this.on("timeout",e),this};Qp.prototype.writeHead=function(){let t=SS.ServerResponse.prototype.writeHead.apply(this,arguments);return Pwe(this),t};Qp.prototype.write=function(t,e,r){return this.timeoutHandle&&clearTimeout(this.timeoutHandle),SS.ServerResponse.prototype.write.call(this,t,e,r),this._lightMyRequest.payloadChunks.push(Buffer.from(t,e)),!0};Qp.prototype.end=function(t,e,r){t&&this.write(t,e),SS.ServerResponse.prototype.end.call(this,r),this.emit("finish"),this.destroy()};Qp.prototype.destroy=function(t){this.destroyed||(this.destroyed=!0,t&&process.nextTick(()=>this.emit("error",t)),process.nextTick(()=>this.emit("close")))};Qp.prototype.addTrailers=function(t){for(let e in t)this._lightMyRequest.trailers[e.toLowerCase().trim()]=t[e].toString().trim()};function d9t(t){t._lightMyRequest.headers===null&&Pwe(t),p9t(t);let e={raw:{res:t},headers:t._lightMyRequest.headers,statusCode:t.statusCode,statusMessage:t.statusMessage,trailers:{},get cookies(){return l9t.parse(this)}},r=Buffer.concat(t._lightMyRequest.payloadChunks);return e.rawPayload=r,e.payload=r.toString(),e.body=e.payload,e.trailers=t._lightMyRequest.trailers,e.json=function(){return JSON.parse(e.payload)},e.stream=function(){return c9t.from(t._lightMyRequest.payloadChunks)},e}function f9t(){return new o9t({write(t,e,r){setImmediate(r)}})}function p9t(t){let e=t._lightMyRequest.headers;for(let r of Object.keys(e)){let n=e[r];Array.isArray(n)?e[r]=n.map(s=>""+s):e[r]=""+n}}function Pwe(t){t._lightMyRequest.headers=Object.assign({},t.getHeaders()),["Date","Connection","Transfer-Encoding"].forEach(e=>{let r=new RegExp("\\r\\n"+e+": ([^\\r]*)\\r\\n"),n=t._header.match(r);n&&(t._lightMyRequest.headers[e.toLowerCase()]=n[1])})}Dwe.exports=Qp});var Lwe=E((G4r,aj)=>{"use strict";aj.exports=xs;aj.exports.default=xs;var m9t={type:"object",properties:{url:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:!0,required:["pathname"]}]},path:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:!0,required:["pathname"]}]},cookies:{type:"object",additionalProperties:!0},headers:{type:"object",additionalProperties:!0},query:{anyOf:[{type:"object",additionalProperties:!0},{type:"string"}]},simulate:{type:"object",properties:{end:{type:"boolean"},split:{type:"boolean"},error:{type:"boolean"},close:{type:"boolean"}}},authority:{type:"string"},remoteAddress:{type:"string"},method:{type:"string",enum:["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE","acl","bind","checkout","connect","copy","delete","get","head","link","lock","m-search","merge","mkactivity","mkcalendar","mkcol","move","notify","options","patch","post","propfind","proppatch","purge","put","rebind","report","search","source","subscribe","trace","unbind","unlink","unlock","unsubscribe"]},validate:{type:"boolean"}},additionalProperties:!0,oneOf:[{required:["url"]},{required:["path"]}]};function xs(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0,o=a,c=!1,u=null,l=a;if(t&&typeof t=="object"&&!Array.isArray(t)){let x;if(t.url===void 0&&(x="url")){let v={instancePath:e,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty:x},message:"must have required property '"+x+"'"};i===null?i=[v]:i.push(v),a++}}var f=l===a;f&&(c=!0,u=0);let d=a;if(t&&typeof t=="object"&&!Array.isArray(t)){let x;if(t.path===void 0&&(x="path")){let v={instancePath:e,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty:x},message:"must have required property '"+x+"'"};i===null?i=[v]:i.push(v),a++}}var f=d===a;if(f&&c?(c=!1,u=[u,1]):f&&(c=!0,u=1),c)a=o,i!==null&&(o?i.length=o:i=null);else{let x={instancePath:e,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas:u},message:"must match exactly one schema in oneOf"};return i===null?i=[x]:i.push(x),a++,xs.errors=i,!1}if(a===0)if(t&&typeof t=="object"&&!Array.isArray(t)){if(t.url!==void 0){let x=t.url,v=a,C=a,R=!1,w=null,N=a;if(typeof x!="string"){let L=typeof x,M;if(M===void 0)if(L=="number"||L=="boolean")M=""+x;else if(x===null)M="";else{let k={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[k]:i.push(k),a++}M!==void 0&&(x=M,t!==void 0&&(t.url=M))}var m=N===a;m&&(R=!0,w=0);let P=a;if(a===P)if(x&&typeof x=="object"&&!Array.isArray(x)){let L;if(x.pathname===void 0&&(L="pathname")){let M={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf/1/required",keyword:"required",params:{missingProperty:L},message:"must have required property '"+L+"'"};i===null?i=[M]:i.push(M),a++}else{if(x.protocol!==void 0){let M=x.protocol,k=a;if(typeof M!="string"){let B=typeof M,Z;if(Z===void 0)if(B=="number"||B=="boolean")Z=""+M;else if(M===null)Z="";else{let W={instancePath:e+"/url/protocol",schemaPath:"#/properties/url/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[W]:i.push(W),a++}Z!==void 0&&(M=Z,x!==void 0&&(x.protocol=Z))}var p=k===a}else var p=!0;if(p){if(x.hostname!==void 0){let M=x.hostname,k=a;if(typeof M!="string"){let Z=typeof M,W;if(W===void 0)if(Z=="number"||Z=="boolean")W=""+M;else if(M===null)W="";else{let F={instancePath:e+"/url/hostname",schemaPath:"#/properties/url/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[F]:i.push(F),a++}W!==void 0&&(M=W,x!==void 0&&(x.hostname=W))}var p=k===a}else var p=!0;if(p)if(x.pathname!==void 0){let M=x.pathname,k=a;if(typeof M!="string"){let Z=typeof M,W;if(W===void 0)if(Z=="number"||Z=="boolean")W=""+M;else if(M===null)W="";else{let F={instancePath:e+"/url/pathname",schemaPath:"#/properties/url/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[F]:i.push(F),a++}W!==void 0&&(M=W,x!==void 0&&(x.pathname=W))}var p=k===a}else var p=!0}}}else{let L={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[L]:i.push(L),a++}var m=P===a;if(m&&R?(R=!1,w=[w,1]):m&&(R=!0,w=1),R)a=C,i!==null&&(C?i.length=C:i=null);else{let L={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf",keyword:"oneOf",params:{passingSchemas:w},message:"must match exactly one schema in oneOf"};return i===null?i=[L]:i.push(L),a++,xs.errors=i,!1}var h=v===a}else var h=!0;if(h){if(t.path!==void 0){let x=t.path,v=a,C=a,R=!1,w=null,N=a;if(typeof x!="string"){let M=typeof x,k;if(k===void 0)if(M=="number"||M=="boolean")k=""+x;else if(x===null)k="";else{let B={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[B]:i.push(B),a++}k!==void 0&&(x=k,t!==void 0&&(t.path=k))}var g=N===a;g&&(R=!0,w=0);let P=a;if(a===P)if(x&&typeof x=="object"&&!Array.isArray(x)){let M;if(x.pathname===void 0&&(M="pathname")){let k={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf/1/required",keyword:"required",params:{missingProperty:M},message:"must have required property '"+M+"'"};i===null?i=[k]:i.push(k),a++}else{if(x.protocol!==void 0){let k=x.protocol,B=a;if(typeof k!="string"){let Z=typeof k,W;if(W===void 0)if(Z=="number"||Z=="boolean")W=""+k;else if(k===null)W="";else{let F={instancePath:e+"/path/protocol",schemaPath:"#/properties/path/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[F]:i.push(F),a++}W!==void 0&&(k=W,x!==void 0&&(x.protocol=W))}var A=B===a}else var A=!0;if(A){if(x.hostname!==void 0){let k=x.hostname,B=a;if(typeof k!="string"){let W=typeof k,F;if(F===void 0)if(W=="number"||W=="boolean")F=""+k;else if(k===null)F="";else{let V={instancePath:e+"/path/hostname",schemaPath:"#/properties/path/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[V]:i.push(V),a++}F!==void 0&&(k=F,x!==void 0&&(x.hostname=F))}var A=B===a}else var A=!0;if(A)if(x.pathname!==void 0){let k=x.pathname,B=a;if(typeof k!="string"){let W=typeof k,F;if(F===void 0)if(W=="number"||W=="boolean")F=""+k;else if(k===null)F="";else{let V={instancePath:e+"/path/pathname",schemaPath:"#/properties/path/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[V]:i.push(V),a++}F!==void 0&&(k=F,x!==void 0&&(x.pathname=F))}var A=B===a}else var A=!0}}}else{let M={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[M]:i.push(M),a++}var g=P===a;if(g&&R?(R=!1,w=[w,1]):g&&(R=!0,w=1),R)a=C,i!==null&&(C?i.length=C:i=null);else{let M={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf",keyword:"oneOf",params:{passingSchemas:w},message:"must match exactly one schema in oneOf"};return i===null?i=[M]:i.push(M),a++,xs.errors=i,!1}var h=v===a}else var h=!0;if(h){if(t.cookies!==void 0){let x=t.cookies,v=a;if(a===v&&!(x&&typeof x=="object"&&!Array.isArray(x)))return xs.errors=[{instancePath:e+"/cookies",schemaPath:"#/properties/cookies/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var h=v===a}else var h=!0;if(h){if(t.headers!==void 0){let x=t.headers,v=a;if(a===v&&!(x&&typeof x=="object"&&!Array.isArray(x)))return xs.errors=[{instancePath:e+"/headers",schemaPath:"#/properties/headers/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var h=v===a}else var h=!0;if(h){if(t.query!==void 0){let x=t.query,v=a,C=a,R=!1,w=a;if(a===w&&!(x&&typeof x=="object"&&!Array.isArray(x))){let P={instancePath:e+"/query",schemaPath:"#/properties/query/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[P]:i.push(P),a++}var b=w===a;if(R=R||b,!R){let P=a;if(typeof x!="string"){let M=typeof x,k;if(k===void 0)if(M=="number"||M=="boolean")k=""+x;else if(x===null)k="";else{let B={instancePath:e+"/query",schemaPath:"#/properties/query/anyOf/1/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[B]:i.push(B),a++}k!==void 0&&(x=k,t!==void 0&&(t.query=k))}var b=P===a;R=R||b}if(R)a=C,i!==null&&(C?i.length=C:i=null);else{let P={instancePath:e+"/query",schemaPath:"#/properties/query/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[P]:i.push(P),a++,xs.errors=i,!1}var h=v===a}else var h=!0;if(h){if(t.simulate!==void 0){let x=t.simulate,v=a;if(a===v)if(x&&typeof x=="object"&&!Array.isArray(x)){if(x.end!==void 0){let R=x.end,w=a;if(typeof R!="boolean"){let N;if(N===void 0)if(R==="false"||R===0||R===null)N=!1;else if(R==="true"||R===1)N=!0;else return xs.errors=[{instancePath:e+"/simulate/end",schemaPath:"#/properties/simulate/properties/end/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;N!==void 0&&(R=N,x!==void 0&&(x.end=N))}var y=w===a}else var y=!0;if(y){if(x.split!==void 0){let R=x.split,w=a;if(typeof R!="boolean"){let P;if(P===void 0)if(R==="false"||R===0||R===null)P=!1;else if(R==="true"||R===1)P=!0;else return xs.errors=[{instancePath:e+"/simulate/split",schemaPath:"#/properties/simulate/properties/split/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;P!==void 0&&(R=P,x!==void 0&&(x.split=P))}var y=w===a}else var y=!0;if(y){if(x.error!==void 0){let R=x.error,w=a;if(typeof R!="boolean"){let P;if(P===void 0)if(R==="false"||R===0||R===null)P=!1;else if(R==="true"||R===1)P=!0;else return xs.errors=[{instancePath:e+"/simulate/error",schemaPath:"#/properties/simulate/properties/error/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;P!==void 0&&(R=P,x!==void 0&&(x.error=P))}var y=w===a}else var y=!0;if(y)if(x.close!==void 0){let R=x.close,w=a;if(typeof R!="boolean"){let P;if(P===void 0)if(R==="false"||R===0||R===null)P=!1;else if(R==="true"||R===1)P=!0;else return xs.errors=[{instancePath:e+"/simulate/close",schemaPath:"#/properties/simulate/properties/close/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;P!==void 0&&(R=P,x!==void 0&&(x.close=P))}var y=w===a}else var y=!0}}}else return xs.errors=[{instancePath:e+"/simulate",schemaPath:"#/properties/simulate/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var h=v===a}else var h=!0;if(h){if(t.authority!==void 0){let x=t.authority,v=a;if(typeof x!="string"){let R=typeof x,w;if(w===void 0)if(R=="number"||R=="boolean")w=""+x;else if(x===null)w="";else return xs.errors=[{instancePath:e+"/authority",schemaPath:"#/properties/authority/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.authority=w))}var h=v===a}else var h=!0;if(h){if(t.remoteAddress!==void 0){let x=t.remoteAddress,v=a;if(typeof x!="string"){let R=typeof x,w;if(w===void 0)if(R=="number"||R=="boolean")w=""+x;else if(x===null)w="";else return xs.errors=[{instancePath:e+"/remoteAddress",schemaPath:"#/properties/remoteAddress/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.remoteAddress=w))}var h=v===a}else var h=!0;if(h){if(t.method!==void 0){let x=t.method,v=a;if(typeof x!="string"){let R=typeof x,w;if(w===void 0)if(R=="number"||R=="boolean")w=""+x;else if(x===null)w="";else return xs.errors=[{instancePath:e+"/method",schemaPath:"#/properties/method/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.method=w))}if(!(x==="ACL"||x==="BIND"||x==="CHECKOUT"||x==="CONNECT"||x==="COPY"||x==="DELETE"||x==="GET"||x==="HEAD"||x==="LINK"||x==="LOCK"||x==="M-SEARCH"||x==="MERGE"||x==="MKACTIVITY"||x==="MKCALENDAR"||x==="MKCOL"||x==="MOVE"||x==="NOTIFY"||x==="OPTIONS"||x==="PATCH"||x==="POST"||x==="PROPFIND"||x==="PROPPATCH"||x==="PURGE"||x==="PUT"||x==="REBIND"||x==="REPORT"||x==="SEARCH"||x==="SOURCE"||x==="SUBSCRIBE"||x==="TRACE"||x==="UNBIND"||x==="UNLINK"||x==="UNLOCK"||x==="UNSUBSCRIBE"||x==="acl"||x==="bind"||x==="checkout"||x==="connect"||x==="copy"||x==="delete"||x==="get"||x==="head"||x==="link"||x==="lock"||x==="m-search"||x==="merge"||x==="mkactivity"||x==="mkcalendar"||x==="mkcol"||x==="move"||x==="notify"||x==="options"||x==="patch"||x==="post"||x==="propfind"||x==="proppatch"||x==="purge"||x==="put"||x==="rebind"||x==="report"||x==="search"||x==="source"||x==="subscribe"||x==="trace"||x==="unbind"||x==="unlink"||x==="unlock"||x==="unsubscribe"))return xs.errors=[{instancePath:e+"/method",schemaPath:"#/properties/method/enum",keyword:"enum",params:{allowedValues:m9t.properties.method.enum},message:"must be equal to one of the allowed values"}],!1;var h=v===a}else var h=!0;if(h)if(t.validate!==void 0){let x=t.validate,v=a;if(typeof x!="boolean"){let R;if(R===void 0)if(x==="false"||x===0||x===null)R=!1;else if(x==="true"||x===1)R=!0;else return xs.errors=[{instancePath:e+"/validate",schemaPath:"#/properties/validate/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;R!==void 0&&(x=R,t!==void 0&&(t.validate=R))}var h=v===a}else var h=!0}}}}}}}}}else return xs.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;return xs.errors=i,a===0}});var Wwe=E((V4r,CS)=>{"use strict";var h9t=require("node:assert"),oj=Rwe(),YP=kwe(),XP="The dispatch function has already been invoked",Bwe=Lwe();function cj(t,e,r){return r===void 0?new vS(t,e):JP(t,e,r)}function Mwe(t,e,r,n){return r.once("error",function(s){this.destroyed&&n.destroy(s)}),r.once("close",function(){this.destroyed&&!this._error&&n.destroy()}),r.prepare(()=>t.call(e,r,n))}function JP(t,e,r){if(e=typeof e=="string"?{url:e}:e,e.validate!==!1&&(h9t(typeof t=="function","dispatchFunc should be a function"),!Bwe(e)))throw new Error(Bwe.errors.map(a=>a.message));let n=e.server||{},s=e.Request?oj.CustomRequest:oj;if(t.request&&t.request.app===t&&(Object.setPrototypeOf(Object.getPrototypeOf(t.request),s.prototype),Object.setPrototypeOf(Object.getPrototypeOf(t.response),YP.prototype)),typeof r=="function"){let i=new s(e),a=new YP(i,r);return Mwe(t,n,i,a)}else return new Promise((i,a)=>{let o=new s(e),c=new YP(o,i,a);Mwe(t,n,o,c)})}function vS(t,e){typeof e=="string"?this.option={url:e}:this.option=Object.assign({},e),this.dispatch=t,this._hasInvoked=!1,this._promise=null,this.option.autoStart!==!1&&process.nextTick(()=>{this._hasInvoked||this.end()})}var g9t=["delete","get","head","options","patch","post","put","trace"];g9t.forEach(t=>{vS.prototype[t]=function(e){if(this._hasInvoked===!0||this._promise)throw new Error(XP);return this.option.url=e,this.option.method=t.toUpperCase(),this}});var A9t=["body","cookies","headers","payload","query"];A9t.forEach(t=>{vS.prototype[t]=function(e){if(this._hasInvoked===!0||this._promise)throw new Error(XP);return this.option[t]=e,this}});vS.prototype.end=function(t){if(this._hasInvoked===!0||this._promise)throw new Error(XP);if(this._hasInvoked=!0,typeof t=="function")JP(this.dispatch,this.option,t);else return this._promise=JP(this.dispatch,this.option),this._promise};Object.getOwnPropertyNames(Promise.prototype).forEach(t=>{t!=="constructor"&&(vS.prototype[t]=function(...e){if(!this._promise){if(this._hasInvoked===!0)throw new Error(XP);this._hasInvoked=!0,this._promise=JP(this.dispatch,this.option)}return this._promise[t](...e)})});function y9t(t){return t instanceof oj||t instanceof YP||t&&t.constructor&&t.constructor.name==="_CustomLMRRequest"}CS.exports=cj;CS.exports.default=cj;CS.exports.inject=cj;CS.exports.isInjection=y9t});var Zwe=E((z4r,r3)=>{"use strict";var x9t="4.26.0",b9t=hfe(),uj=require("node:http"),IS,{kAvvioBoot:TS,kChildren:lj,kServerBindings:$we,kBodyLimit:E9t,kRoutePrefix:Fwe,kLogLevel:_9t,kLogSerializers:S9t,kHooks:dj,kSchemaController:Gp,kRequestAcceptVersion:v9t,kReplySerializerDefault:Uwe,kContentTypeParser:C9t,kReply:I9t,kRequest:T9t,kFourOhFour:w9t,kState:ps,kOptions:fj,kPluginNameChain:wS,kSchemaErrorFormatter:pj,kErrorHandler:ZP,kKeepAliveConnections:mj,kChildLoggerFactory:hj,kGenReqId:gj}=Qs(),{createServer:R9t,compileValidateHTTPVersion:N9t}=Wfe(),RS=SN(),e3=FN(),O9t=UN(),{supportedMethods:P9t}=B$(),nx=U$(),uh=Y$(),qwe=bq(),{Hooks:D9t,hookRunnerApplication:jwe,supportedHooks:Aj}=up(),{createLogger:k9t,createChildLogger:Hwe,defaultChildLoggerFactory:L9t}=c1(),Qwe=Iq(),{getGenReqId:Gwe,reqIdGenFactory:Vwe}=IP(),{buildRouting:B9t,validateBodyLimitOption:M9t}=XTe(),W9t=iwe(),Xwe=cwe(),$9t=Awe(),{FSTDEP009:F9t}=cd(),U9t=xwe(),{appendStackTrace:q9t,AVVIO_ERRORS_MAP:zwe,...lh}=Ci(),{defaultInitOptions:Ha}=Xwe,{FST_ERR_ASYNC_CONSTRAINT:j9t,FST_ERR_BAD_URL:H9t,FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE:Q9t,FST_ERR_OPTIONS_NOT_OBJ:G9t,FST_ERR_QSP_NOT_FN:V9t,FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN:z9t,FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ:K9t,FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR:Y9t,FST_ERR_VERSION_CONSTRAINT_NOT_STR:J9t,FST_ERR_INSTANCE_ALREADY_LISTENING:X9t,FST_ERR_REOPENED_CLOSE_SERVER:Z9t,FST_ERR_ROUTE_REWRITE_NOT_STR:eqt,FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN:Kwe}=lh,{buildErrorHandler:Ywe}=U1();function tqt(t){let e={};return["errorHandler","logLevel","logSerializers"].concat(Aj).forEach(n=>{e[n]=t.store[n]}),Object.assign({},e)}function t3(t){if(t=t||{},typeof t!="object")throw new G9t;if(t.querystringParser&&typeof t.querystringParser!="function")throw new V9t(typeof t.querystringParser);if(t.schemaController&&t.schemaController.bucket&&typeof t.schemaController.bucket!="function")throw new z9t(typeof t.schemaController.bucket);M9t(t.bodyLimit);let e=t.requestIdHeader===!1?!1:(t.requestIdHeader||Ha.requestIdHeader).toLowerCase(),r=Vwe(e,t.genReqId),n=t.requestIdLogLabel||"reqId",s=t.bodyLimit||Ha.bodyLimit,i=t.disableRequestLogging||!1,a=Object.assign({customOptions:{},plugins:[]},t.ajv),o=t.frameworkErrors;if(!a.customOptions||Object.prototype.toString.call(a.customOptions)!=="[object Object]")throw new K9t(typeof a.customOptions);if(!a.plugins||!Array.isArray(a.plugins))throw new Y9t(typeof a.plugins);let{logger:c,hasLogger:u}=k9t(t);t.connectionTimeout=t.connectionTimeout||Ha.connectionTimeout,t.keepAliveTimeout=t.keepAliveTimeout||Ha.keepAliveTimeout,t.maxRequestsPerSocket=t.maxRequestsPerSocket||Ha.maxRequestsPerSocket,t.requestTimeout=t.requestTimeout||Ha.requestTimeout,t.logger=c,t.requestIdHeader=e,t.requestIdLogLabel=n,t.disableRequestLogging=i,t.ajv=a,t.clientErrorHandler=t.clientErrorHandler||F;let l=Xwe(t);t.exposeHeadRoutes=l.exposeHeadRoutes;let d=t.constraints;t.versioning&&(F9t(),d={...d,version:{name:"version",mustMatchWhenDerived:!0,storage:t.versioning.storage,deriveConstraint:t.versioning.deriveVersion,validate(q){if(typeof q!="string")throw new J9t}}});let f=B9t({config:{defaultRoute:V,onBadUrl:j,constraints:d,ignoreTrailingSlash:t.ignoreTrailingSlash||Ha.ignoreTrailingSlash,ignoreDuplicateSlashes:t.ignoreDuplicateSlashes||Ha.ignoreDuplicateSlashes,maxParamLength:t.maxParamLength||Ha.maxParamLength,caseSensitive:t.caseSensitive,allowUnsafeRegex:t.allowUnsafeRegex||Ha.allowUnsafeRegex,buildPrettyMeta:tqt,querystringParser:t.querystringParser,useSemicolonDelimiter:t.useSemicolonDelimiter??Ha.useSemicolonDelimiter}}),p=W9t(t),m=G(f,t);t.http2SessionTimeout=l.http2SessionTimeout;let{server:h,listen:A}=R9t(t,m),g=typeof h.closeAllConnections=="function",b=typeof h.closeIdleConnections=="function",y=t.forceCloseConnections;if(y==="idle"&&!b)throw new Q9t;typeof y!="boolean"&&(y=b?"idle":!1);let x=!g&&y===!0?new Set:U9t(),v=RS.setupResponseListeners,C=qwe.buildSchemaController(null,t.schemaController),R={[ps]:{listening:!1,closing:!1,started:!1,ready:!1,booting:!1,readyPromise:null},[mj]:x,[fj]:t,[lj]:[],[$we]:[],[E9t]:s,[Fwe]:"",[_9t]:"",[S9t]:null,[dj]:new D9t,[Gp]:C,[pj]:null,[ZP]:Ywe(),[hj]:L9t,[Uwe]:null,[C9t]:new uh(s,t.onProtoPoisoning||Ha.onProtoPoisoning,t.onConstructorPoisoning||Ha.onConstructorPoisoning),[I9t]:RS.buildReply(RS),[T9t]:e3.buildRequest(e3,t.trustProxy),[w9t]:p,[Qwe.kRegisteredPlugins]:[],[wS]:["fastify"],[TS]:null,[gj]:r,routing:m,getDefaultRoute:f.getDefaultRoute.bind(f),setDefaultRoute:f.setDefaultRoute.bind(f),delete:function(H,ee,ne){return f.prepareRoute.call(this,{method:"DELETE",url:H,options:ee,handler:ne})},get:function(H,ee,ne){return f.prepareRoute.call(this,{method:"GET",url:H,options:ee,handler:ne})},head:function(H,ee,ne){return f.prepareRoute.call(this,{method:"HEAD",url:H,options:ee,handler:ne})},patch:function(H,ee,ne){return f.prepareRoute.call(this,{method:"PATCH",url:H,options:ee,handler:ne})},post:function(H,ee,ne){return f.prepareRoute.call(this,{method:"POST",url:H,options:ee,handler:ne})},put:function(H,ee,ne){return f.prepareRoute.call(this,{method:"PUT",url:H,options:ee,handler:ne})},options:function(H,ee,ne){return f.prepareRoute.call(this,{method:"OPTIONS",url:H,options:ee,handler:ne})},all:function(H,ee,ne){return f.prepareRoute.call(this,{method:P9t,url:H,options:ee,handler:ne})},route:function(H){return f.route.call(this,{options:H})},hasRoute:function(H){return f.hasRoute.call(this,{options:H})},findRoute:function(H){return f.findRoute(H)},log:c,withTypeProvider:B,addHook:Z,addSchema:W,getSchema:C.getSchema.bind(C),getSchemas:C.getSchemas.bind(C),setValidatorCompiler:oe,setSerializerCompiler:Ce,setSchemaController:we,setReplySerializer:qe,setSchemaErrorFormatter:ue,setGenReqId:z,addContentTypeParser:uh.helpers.addContentTypeParser,hasContentTypeParser:uh.helpers.hasContentTypeParser,getDefaultJsonParser:uh.defaultParsers.getDefaultJsonParser,defaultTextParser:uh.defaultParsers.defaultTextParser,removeContentTypeParser:uh.helpers.removeContentTypeParser,removeAllContentTypeParsers:uh.helpers.removeAllContentTypeParsers,register:null,after:null,ready:null,onClose:null,close:null,printPlugins:null,hasPlugin:function(q){return this[Qwe.kRegisteredPlugins].includes(q)||this[wS].includes(q)},listen:A,server:h,addresses:function(){let q=this[$we].map(H=>H.address());return q.push(this.server.address()),q.filter(H=>H)},decorate:nx.add,hasDecorator:nx.exist,decorateReply:nx.decorateReply,decorateRequest:nx.decorateRequest,hasRequestDecorator:nx.existRequest,hasReplyDecorator:nx.existReply,inject:M,printRoutes:U,setNotFoundHandler:se,setErrorHandler:Fe,setChildLoggerFactory:_e,initialConfig:l,addConstraintStrategy:f.addConstraintStrategy.bind(f),hasConstraintStrategy:f.hasConstraintStrategy.bind(f)};Object.defineProperties(R,{listeningOrigin:{get(){let q=this.addresses().slice(-1).pop();if(typeof q=="string")return q;let H=q.family==="IPv6"?`[${q.address}]`:q.address;return`${this[fj].https?"https":"http"}://${H}:${q.port}`}},pluginName:{configurable:!0,get(){return this[wS].length>1?this[wS].join(" -> "):this[wS][0]}},prefix:{configurable:!0,get(){return this[Fwe]}},validatorCompiler:{configurable:!0,get(){return this[Gp].getValidatorCompiler()}},serializerCompiler:{configurable:!0,get(){return this[Gp].getSerializerCompiler()}},childLoggerFactory:{configurable:!0,get(){return this[hj]}},version:{configurable:!0,get(){return x9t}},errorHandler:{configurable:!0,get(){return this[ZP].func}},genReqId:{configurable:!0,get(){return this[gj]}}}),t.schemaErrorFormatter&&(Jwe(t.schemaErrorFormatter),R[pj]=t.schemaErrorFormatter.bind(R));let w=Number(t.pluginTimeout),N=b9t(R,{autostart:!1,timeout:isNaN(w)===!1?w:Ha.pluginTimeout,expose:{use:"register"}});N.override=$9t,N.on("start",()=>R[ps].started=!0),R[TS]=R.ready,R.ready=k,R.printPlugins=N.prettyPrint.bind(N),N.once("preReady",()=>{R.onClose((q,H)=>{R[ps].closing=!0,f.closeRoutes(),jwe("preClose",R[TS],R,function(){if(R[ps].listening){if(y==="idle")q.server.closeIdleConnections();else if(g&&y)q.server.closeAllConnections();else if(y===!0)for(let ee of R[mj])ee.destroy(),R[mj].delete(ee)}!t.serverFactory||R[ps].listening?q.server.close(function(ee){ee&&ee.code!=="ERR_SERVER_NOT_RUNNING"?H(null):H()}):process.nextTick(H,null)})})});let P=new O9t({server:R,config:{}});R.setNotFoundHandler(),p.arrange404(R),f.setup(t,{avvio:N,fourOhFour:p,logger:c,hasLogger:u,setupResponseListeners:v,throwIfAlreadyStarted:L,validateHTTPVersion:N9t(t),keepAliveConnections:x}),h.on("clientError",t.clientErrorHandler.bind(R));try{let H=require("node:diagnostics_channel").channel("fastify.initialization");H.hasSubscribers&&H.publish({fastify:R})}catch{}return"asyncDispose"in Symbol&&(R[Symbol.asyncDispose]=function(){return R.close()}),R;function L(q){if(R[ps].started)throw new X9t(q)}function M(q,H){if(IS===void 0&&(IS=Wwe()),R[ps].started){if(R[ps].closing){let ee=new Z9t;if(H){H(ee);return}else return Promise.reject(ee)}return IS(m,q,H)}if(H)this.ready(ee=>{ee?H(ee,null):IS(m,q,H)});else return IS((ee,ne)=>{this.ready(function(re){if(re){ne.emit("error",re);return}m(ee,ne)})},q)}function k(q){if(this[ps].readyPromise!==null){if(q!=null){this[ps].readyPromise.then(()=>q(null,R),q);return}return this[ps].readyPromise}let H,ee;if(process.nextTick(ne),this[ps].readyPromise=new Promise(function(X,ie){H=X,ee=ie}),q)this[ps].readyPromise.then(()=>q(null,R),q);else return this[ps].readyPromise;function ne(){R[TS]((X,ie)=>{X||R[ps].started||R[ps].ready||R[ps].booting?re(X):(R[ps].booting=!0,jwe("onReady",R[TS],R,re)),ie()})}function re(X){if(X=X!=null&&zwe[X.code]!=null?q9t(X,new zwe[X.code](X.message)):X,X)return ee(X);H(R),R[ps].booting=!1,R[ps].ready=!0,R[ps].promise=null}}function B(){return this}function Z(q,H){if(L('Cannot call "addHook"!'),H==null)throw new lh.FST_ERR_HOOK_INVALID_HANDLER(q,H);if(q==="onSend"||q==="preSerialization"||q==="onError"||q==="preParsing"){if(H.constructor.name==="AsyncFunction"&&H.length===4)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(q==="onReady"||q==="onListen"){if(H.constructor.name==="AsyncFunction"&&H.length!==0)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(q==="onRequestAbort"){if(H.constructor.name==="AsyncFunction"&&H.length!==1)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(H.constructor.name==="AsyncFunction"&&H.length===3)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER;return q==="onClose"?this.onClose(H):q==="onReady"||q==="onListen"||q==="onRoute"?this[dj].add(q,H):this.after((ne,re)=>{ee.call(this,q,H),re(ne)}),this;function ee(ne,re){this[dj].add(ne,re),this[lj].forEach(X=>ee.call(X,ne,re))}}function W(q){return L('Cannot call "addSchema"!'),this[Gp].add(q),this[lj].forEach(H=>H.addSchema(q)),this}function F(q,H){if(q.code==="ECONNRESET"||H.destroyed)return;let ee,ne,re,X;q.code==="ERR_HTTP_REQUEST_TIMEOUT"?(ne="408",re=uj.STATUS_CODES[ne],ee=`{"error":"${re}","message":"Client Timeout","statusCode":408}`,X="timeout"):q.code==="HPE_HEADER_OVERFLOW"?(ne="431",re=uj.STATUS_CODES[ne],ee=`{"error":"${re}","message":"Exceeded maximum allowed HTTP header size","statusCode":431}`,X="header_overflow"):(ne="400",re=uj.STATUS_CODES[ne],ee=`{"error":"${re}","message":"Client Error","statusCode":400}`,X="error"),this.log.trace({err:q},`client ${X}`),H.writable&&H.write(`HTTP/1.1 ${ne} ${re}\r
Content-Length: ${ee.length}\r
Content-Type: application/json\r
\r
${ee}`),H.destroy(q)}function V(q,H){q.headers["accept-version"]!==void 0&&(q.headers[v9t]=q.headers["accept-version"],q.headers["accept-version"]=void 0),p.router.lookup(q,H)}function j(q,H,ee){if(o){let re=Gwe(P.server,H),X=Hwe(P,c,H,re),ie=new e3(re,null,H,null,X,P),ce=new RS(ee,ie,X);return i===!1&&X.info({req:ie},"incoming request"),o(new H9t(q),ie,ce)}let ne=`{"error":"Bad Request","code":"FST_ERR_BAD_URL","message":"'${q}' is not a valid url component","statusCode":400}`;ee.writeHead(400,{"Content-Type":"application/json","Content-Length":ne.length}),ee.end(ne)}function J(q,H,ee){if(q!==!1)return function(re){if(re){if(o){let ie=Gwe(P.server,H),ce=Hwe(P,c,H,ie),fe=new e3(ie,null,H,null,ce,P),Ne=new RS(ee,fe,ce);return i===!1&&ce.info({req:fe},"incoming request"),o(new j9t,fe,Ne)}let X='{"error":"Internal Server Error","message":"Unexpected error from async constraint","statusCode":500}';ee.writeHead(500,{"Content-Type":"application/json","Content-Length":X.length}),ee.end(X)}}}function se(q,H){return L('Cannot call "setNotFoundHandler"!'),p.setNotFoundHandler.call(this,q,H,N,f.routeHandler),this}function oe(q){return L('Cannot call "setValidatorCompiler"!'),this[Gp].setValidatorCompiler(q),this}function ue(q){return L('Cannot call "setSchemaErrorFormatter"!'),Jwe(q),this[pj]=q.bind(this),this}function Ce(q){return L('Cannot call "setSerializerCompiler"!'),this[Gp].setSerializerCompiler(q),this}function we(q){L('Cannot call "setSchemaController"!');let H=this[Gp],ee=qwe.buildSchemaController(H,Object.assign({},H.opts,q));return this[Gp]=ee,this.getSchema=ee.getSchema.bind(ee),this.getSchemas=ee.getSchemas.bind(ee),this}function qe(q){return L('Cannot call "setReplySerializer"!'),this[Uwe]=q,this}function Fe(q){return L('Cannot call "setErrorHandler"!'),this[ZP]=Ywe(this[ZP],q.bind(this)),this}function _e(q){return L('Cannot call "setChildLoggerFactory"!'),this[hj]=q,this}function U(q={}){return q.includeMeta=q.includeHooks?q.includeMeta?Aj.concat(q.includeMeta):Aj:q.includeMeta,f.printRoutes(q)}function G(q,{rewriteUrl:H,logger:ee}){let ne;return function(X,ie){if(ne===void 0&&(ne=q.isAsyncConstraint()),H){X.originalUrl=X.url;let ce=H.call(R,X);if(typeof ce=="string")X.url=ce;else{let fe=new eqt(X.url,typeof ce);X.destroy(fe)}}q.routing(X,ie,J(ne,X,ie))}}function z(q){return L('Cannot call "setGenReqId"!'),this[gj]=Vwe(this[fj].requestIdHeader,q),this}}t3.errorCodes=lh;function Jwe(t){if(typeof t!="function")throw new Kwe(typeof t);if(t.constructor.name==="AsyncFunction")throw new Kwe("AsyncFunction")}r3.exports=t3;r3.exports.fastify=t3;r3.exports.default=t3});var p2e=E((eMr,f2e)=>{var d2e=require("stream").Stream,Bqt=require("util");f2e.exports=tu;function tu(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}Bqt.inherits(tu,d2e);tu.create=function(t,e){var r=new this;e=e||{};for(var n in e)r[n]=e[n];r.source=t;var s=t.emit;return t.emit=function(){return r._handleEmit(arguments),s.apply(t,arguments)},t.on("error",function(){}),r.pauseStream&&t.pause(),r};Object.defineProperty(tu.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});tu.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};tu.prototype.resume=function(){this._released||this.release(),this.source.resume()};tu.prototype.pause=function(){this.source.pause()};tu.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(t){this.emit.apply(this,t)}.bind(this)),this._bufferedEvents=[]};tu.prototype.pipe=function(){var t=d2e.prototype.pipe.apply(this,arguments);return this.resume(),t};tu.prototype._handleEmit=function(t){if(this._released){this.emit.apply(this,t);return}t[0]==="data"&&(this.dataSize+=t[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(t)};tu.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(t))}}});var A2e=E((tMr,g2e)=>{var Mqt=require("util"),h2e=require("stream").Stream,m2e=p2e();g2e.exports=Kn;function Kn(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}Mqt.inherits(Kn,h2e);Kn.create=function(t){var e=new this;t=t||{};for(var r in t)e[r]=t[r];return e};Kn.isStreamLike=function(t){return typeof t!="function"&&typeof t!="string"&&typeof t!="boolean"&&typeof t!="number"&&!Buffer.isBuffer(t)};Kn.prototype.append=function(t){var e=Kn.isStreamLike(t);if(e){if(!(t instanceof m2e)){var r=m2e.create(t,{maxDataSize:1/0,pauseStream:this.pauseStreams});t.on("data",this._checkDataSize.bind(this)),t=r}this._handleErrors(t),this.pauseStreams&&t.pause()}return this._streams.push(t),this};Kn.prototype.pipe=function(t,e){return h2e.prototype.pipe.call(this,t,e),this.resume(),t};Kn.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};Kn.prototype._realGetNext=function(){var t=this._streams.shift();if(typeof t>"u"){this.end();return}if(typeof t!="function"){this._pipeNext(t);return}var e=t;e(function(r){var n=Kn.isStreamLike(r);n&&(r.on("data",this._checkDataSize.bind(this)),this._handleErrors(r)),this._pipeNext(r)}.bind(this))};Kn.prototype._pipeNext=function(t){this._currentStream=t;var e=Kn.isStreamLike(t);if(e){t.on("end",this._getNext.bind(this)),t.pipe(this,{end:!1});return}var r=t;this.write(r),this._getNext()};Kn.prototype._handleErrors=function(t){var e=this;t.on("error",function(r){e._emitError(r)})};Kn.prototype.write=function(t){this.emit("data",t)};Kn.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};Kn.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};Kn.prototype.end=function(){this._reset(),this.emit("end")};Kn.prototype.destroy=function(){this._reset(),this.emit("close")};Kn.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};Kn.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(t))}};Kn.prototype._updateDataSize=function(){this.dataSize=0;var t=this;this._streams.forEach(function(e){e.dataSize&&(t.dataSize+=e.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};Kn.prototype._emitError=function(t){this._reset(),this.emit("error",t)}});var y2e=E((rMr,Wqt)=>{Wqt.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var b2e=E((nMr,x2e)=>{x2e.exports=y2e()});var S2e=E(Qa=>{"use strict";var o3=b2e(),$qt=require("path").extname,E2e=/^\s*([^;\s]*)(?:;|\s|$)/,Fqt=/^text\//i;Qa.charset=_2e;Qa.charsets={lookup:_2e};Qa.contentType=Uqt;Qa.extension=qqt;Qa.extensions=Object.create(null);Qa.lookup=jqt;Qa.types=Object.create(null);Hqt(Qa.extensions,Qa.types);function _2e(t){if(!t||typeof t!="string")return!1;var e=E2e.exec(t),r=e&&o3[e[1].toLowerCase()];return r&&r.charset?r.charset:e&&Fqt.test(e[1])?"UTF-8":!1}function Uqt(t){if(!t||typeof t!="string")return!1;var e=t.indexOf("/")===-1?Qa.lookup(t):t;if(!e)return!1;if(e.indexOf("charset")===-1){var r=Qa.charset(e);r&&(e+="; charset="+r.toLowerCase())}return e}function qqt(t){if(!t||typeof t!="string")return!1;var e=E2e.exec(t),r=e&&Qa.extensions[e[1].toLowerCase()];return!r||!r.length?!1:r[0]}function jqt(t){if(!t||typeof t!="string")return!1;var e=$qt("x."+t).toLowerCase().substr(1);return e&&Qa.types[e]||!1}function Hqt(t,e){var r=["nginx","apache",void 0,"iana"];Object.keys(o3).forEach(function(s){var i=o3[s],a=i.extensions;if(!(!a||!a.length)){t[s]=a;for(var o=0;o<a.length;o++){var c=a[o];if(e[c]){var u=r.indexOf(o3[e[c]].source),l=r.indexOf(i.source);if(e[c]!=="application/octet-stream"&&(u>l||u===l&&e[c].substr(0,12)==="application/"))continue}e[c]=s}}})}});var C2e=E((iMr,v2e)=>{v2e.exports=Qqt;function Qqt(t){var e=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;e?e(t):setTimeout(t,0)}});var Ej=E((aMr,T2e)=>{var I2e=C2e();T2e.exports=Gqt;function Gqt(t){var e=!1;return I2e(function(){e=!0}),function(n,s){e?t(n,s):I2e(function(){t(n,s)})}}});var _j=E((oMr,w2e)=>{w2e.exports=Vqt;function Vqt(t){Object.keys(t.jobs).forEach(zqt.bind(t)),t.jobs={}}function zqt(t){typeof this.jobs[t]=="function"&&this.jobs[t]()}});var Sj=E((cMr,N2e)=>{var R2e=Ej(),Kqt=_j();N2e.exports=Yqt;function Yqt(t,e,r,n){var s=r.keyedList?r.keyedList[r.index]:r.index;r.jobs[s]=Jqt(e,s,t[s],function(i,a){s in r.jobs&&(delete r.jobs[s],i?Kqt(r):r.results[s]=a,n(i,r.results))})}function Jqt(t,e,r,n){var s;return t.length==2?s=t(r,R2e(n)):s=t(r,e,R2e(n)),s}});var vj=E((uMr,O2e)=>{O2e.exports=Xqt;function Xqt(t,e){var r=!Array.isArray(t),n={index:0,keyedList:r||e?Object.keys(t):null,jobs:{},results:r?{}:[],size:r?Object.keys(t).length:t.length};return e&&n.keyedList.sort(r?e:function(s,i){return e(t[s],t[i])}),n}});var Cj=E((lMr,P2e)=>{var Zqt=_j(),ejt=Ej();P2e.exports=tjt;function tjt(t){Object.keys(this.jobs).length&&(this.index=this.size,Zqt(this),ejt(t)(null,this.results))}});var k2e=E((dMr,D2e)=>{var rjt=Sj(),njt=vj(),sjt=Cj();D2e.exports=ijt;function ijt(t,e,r){for(var n=njt(t);n.index<(n.keyedList||t).length;)rjt(t,e,n,function(s,i){if(s){r(s,i);return}if(Object.keys(n.jobs).length===0){r(null,n.results);return}}),n.index++;return sjt.bind(n,r)}});var Ij=E((fMr,c3)=>{var L2e=Sj(),ajt=vj(),ojt=Cj();c3.exports=cjt;c3.exports.ascending=B2e;c3.exports.descending=ujt;function cjt(t,e,r,n){var s=ajt(t,r);return L2e(t,e,s,function i(a,o){if(a){n(a,o);return}if(s.index++,s.index<(s.keyedList||t).length){L2e(t,e,s,i);return}n(null,s.results)}),ojt.bind(s,n)}function B2e(t,e){return t<e?-1:t>e?1:0}function ujt(t,e){return-1*B2e(t,e)}});var W2e=E((pMr,M2e)=>{var ljt=Ij();M2e.exports=djt;function djt(t,e,r){return ljt(t,e,null,r)}});var F2e=E((mMr,$2e)=>{$2e.exports={parallel:k2e(),serial:W2e(),serialOrdered:Ij()}});var Tj=E((hMr,U2e)=>{"use strict";U2e.exports=Object});var j2e=E((gMr,q2e)=>{"use strict";q2e.exports=Error});var Q2e=E((AMr,H2e)=>{"use strict";H2e.exports=EvalError});var V2e=E((yMr,G2e)=>{"use strict";G2e.exports=RangeError});var K2e=E((xMr,z2e)=>{"use strict";z2e.exports=ReferenceError});var J2e=E((bMr,Y2e)=>{"use strict";Y2e.exports=SyntaxError});var Vp=E((EMr,X2e)=>{"use strict";X2e.exports=TypeError});var eRe=E((_Mr,Z2e)=>{"use strict";Z2e.exports=URIError});var rRe=E((SMr,tRe)=>{"use strict";tRe.exports=Math.abs});var sRe=E((vMr,nRe)=>{"use strict";nRe.exports=Math.floor});var aRe=E((CMr,iRe)=>{"use strict";iRe.exports=Math.max});var cRe=E((IMr,oRe)=>{"use strict";oRe.exports=Math.min});var lRe=E((TMr,uRe)=>{"use strict";uRe.exports=Math.pow});var fRe=E((wMr,dRe)=>{"use strict";dRe.exports=Math.round});var mRe=E((RMr,pRe)=>{"use strict";pRe.exports=Number.isNaN||function(e){return e!==e}});var gRe=E((NMr,hRe)=>{"use strict";var fjt=mRe();hRe.exports=function(e){return fjt(e)||e===0?e:e<0?-1:1}});var yRe=E((OMr,ARe)=>{"use strict";ARe.exports=Object.getOwnPropertyDescriptor});var wj=E((PMr,xRe)=>{"use strict";var u3=yRe();if(u3)try{u3([],"length")}catch{u3=null}xRe.exports=u3});var ERe=E((DMr,bRe)=>{"use strict";var l3=Object.defineProperty||!1;if(l3)try{l3({},"a",{value:1})}catch{l3=!1}bRe.exports=l3});var Rj=E((kMr,_Re)=>{"use strict";_Re.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var s=42;e[r]=s;for(var i in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(e,r);if(o.value!==s||o.enumerable!==!0)return!1}return!0}});var CRe=E((LMr,vRe)=>{"use strict";var SRe=typeof Symbol<"u"&&Symbol,pjt=Rj();vRe.exports=function(){return typeof SRe!="function"||typeof Symbol!="function"||typeof SRe("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:pjt()}});var Nj=E((BMr,IRe)=>{"use strict";IRe.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var Oj=E((MMr,TRe)=>{"use strict";var mjt=Tj();TRe.exports=mjt.getPrototypeOf||null});var NRe=E((WMr,RRe)=>{"use strict";var hjt="Function.prototype.bind called on incompatible ",gjt=Object.prototype.toString,Ajt=Math.max,yjt="[object Function]",wRe=function(e,r){for(var n=[],s=0;s<e.length;s+=1)n[s]=e[s];for(var i=0;i<r.length;i+=1)n[i+e.length]=r[i];return n},xjt=function(e,r){for(var n=[],s=r||0,i=0;s<e.length;s+=1,i+=1)n[i]=e[s];return n},bjt=function(t,e){for(var r="",n=0;n<t.length;n+=1)r+=t[n],n+1<t.length&&(r+=e);return r};RRe.exports=function(e){var r=this;if(typeof r!="function"||gjt.apply(r)!==yjt)throw new TypeError(hjt+r);for(var n=xjt(arguments,1),s,i=function(){if(this instanceof s){var l=r.apply(this,wRe(n,arguments));return Object(l)===l?l:this}return r.apply(e,wRe(n,arguments))},a=Ajt(0,r.length-n.length),o=[],c=0;c<a;c++)o[c]="$"+c;if(s=Function("binder","return function ("+bjt(o,",")+"){ return binder.apply(this,arguments); }")(i),r.prototype){var u=function(){};u.prototype=r.prototype,s.prototype=new u,u.prototype=null}return s}});var DS=E(($Mr,ORe)=>{"use strict";var Ejt=NRe();ORe.exports=Function.prototype.bind||Ejt});var d3=E((FMr,PRe)=>{"use strict";PRe.exports=Function.prototype.call});var Pj=E((UMr,DRe)=>{"use strict";DRe.exports=Function.prototype.apply});var LRe=E((qMr,kRe)=>{"use strict";kRe.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var MRe=E((jMr,BRe)=>{"use strict";var _jt=DS(),Sjt=Pj(),vjt=d3(),Cjt=LRe();BRe.exports=Cjt||_jt.call(vjt,Sjt)});var Dj=E((HMr,WRe)=>{"use strict";var Ijt=DS(),Tjt=Vp(),wjt=d3(),Rjt=MRe();WRe.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new Tjt("a function is required");return Rjt(Ijt,wjt,e)}});var HRe=E((QMr,jRe)=>{"use strict";var Njt=Dj(),$Re=wj(),URe;try{URe=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var kj=!!URe&&$Re&&$Re(Object.prototype,"__proto__"),qRe=Object,FRe=qRe.getPrototypeOf;jRe.exports=kj&&typeof kj.get=="function"?Njt([kj.get]):typeof FRe=="function"?function(e){return FRe(e==null?e:qRe(e))}:!1});var KRe=E((GMr,zRe)=>{"use strict";var QRe=Nj(),GRe=Oj(),VRe=HRe();zRe.exports=QRe?function(e){return QRe(e)}:GRe?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return GRe(e)}:VRe?function(e){return VRe(e)}:null});var f3=E((VMr,YRe)=>{"use strict";var Ojt=Function.prototype.call,Pjt=Object.prototype.hasOwnProperty,Djt=DS();YRe.exports=Djt.call(Ojt,Pjt)});var MS=E((zMr,rNe)=>{"use strict";var ur,kjt=Tj(),Ljt=j2e(),Bjt=Q2e(),Mjt=V2e(),Wjt=K2e(),ux=J2e(),cx=Vp(),$jt=eRe(),Fjt=rRe(),Ujt=sRe(),qjt=aRe(),jjt=cRe(),Hjt=lRe(),Qjt=fRe(),Gjt=gRe(),eNe=Function,Lj=function(t){try{return eNe('"use strict"; return ('+t+").constructor;")()}catch{}},kS=wj(),Vjt=ERe(),Bj=function(){throw new cx},zjt=kS?function(){try{return arguments.callee,Bj}catch{try{return kS(arguments,"callee").get}catch{return Bj}}}():Bj,ax=CRe()(),Vs=KRe(),Kjt=Oj(),Yjt=Nj(),tNe=Pj(),LS=d3(),ox={},Jjt=typeof Uint8Array>"u"||!Vs?ur:Vs(Uint8Array),dh={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?ur:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?ur:ArrayBuffer,"%ArrayIteratorPrototype%":ax&&Vs?Vs([][Symbol.iterator]()):ur,"%AsyncFromSyncIteratorPrototype%":ur,"%AsyncFunction%":ox,"%AsyncGenerator%":ox,"%AsyncGeneratorFunction%":ox,"%AsyncIteratorPrototype%":ox,"%Atomics%":typeof Atomics>"u"?ur:Atomics,"%BigInt%":typeof BigInt>"u"?ur:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?ur:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?ur:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?ur:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Ljt,"%eval%":eval,"%EvalError%":Bjt,"%Float16Array%":typeof Float16Array>"u"?ur:Float16Array,"%Float32Array%":typeof Float32Array>"u"?ur:Float32Array,"%Float64Array%":typeof Float64Array>"u"?ur:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?ur:FinalizationRegistry,"%Function%":eNe,"%GeneratorFunction%":ox,"%Int8Array%":typeof Int8Array>"u"?ur:Int8Array,"%Int16Array%":typeof Int16Array>"u"?ur:Int16Array,"%Int32Array%":typeof Int32Array>"u"?ur:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ax&&Vs?Vs(Vs([][Symbol.iterator]())):ur,"%JSON%":typeof JSON=="object"?JSON:ur,"%Map%":typeof Map>"u"?ur:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ax||!Vs?ur:Vs(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":kjt,"%Object.getOwnPropertyDescriptor%":kS,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?ur:Promise,"%Proxy%":typeof Proxy>"u"?ur:Proxy,"%RangeError%":Mjt,"%ReferenceError%":Wjt,"%Reflect%":typeof Reflect>"u"?ur:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?ur:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ax||!Vs?ur:Vs(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?ur:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ax&&Vs?Vs(""[Symbol.iterator]()):ur,"%Symbol%":ax?Symbol:ur,"%SyntaxError%":ux,"%ThrowTypeError%":zjt,"%TypedArray%":Jjt,"%TypeError%":cx,"%Uint8Array%":typeof Uint8Array>"u"?ur:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?ur:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?ur:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?ur:Uint32Array,"%URIError%":$jt,"%WeakMap%":typeof WeakMap>"u"?ur:WeakMap,"%WeakRef%":typeof WeakRef>"u"?ur:WeakRef,"%WeakSet%":typeof WeakSet>"u"?ur:WeakSet,"%Function.prototype.call%":LS,"%Function.prototype.apply%":tNe,"%Object.defineProperty%":Vjt,"%Object.getPrototypeOf%":Kjt,"%Math.abs%":Fjt,"%Math.floor%":Ujt,"%Math.max%":qjt,"%Math.min%":jjt,"%Math.pow%":Hjt,"%Math.round%":Qjt,"%Math.sign%":Gjt,"%Reflect.getPrototypeOf%":Yjt};if(Vs)try{null.error}catch(t){JRe=Vs(Vs(t)),dh["%Error.prototype%"]=JRe}var JRe,Xjt=function t(e){var r;if(e==="%AsyncFunction%")r=Lj("async function () {}");else if(e==="%GeneratorFunction%")r=Lj("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=Lj("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var s=t("%AsyncGenerator%");s&&Vs&&(r=Vs(s.prototype))}return dh[e]=r,r},XRe={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},BS=DS(),p3=f3(),Zjt=BS.call(LS,Array.prototype.concat),eHt=BS.call(tNe,Array.prototype.splice),ZRe=BS.call(LS,String.prototype.replace),m3=BS.call(LS,String.prototype.slice),tHt=BS.call(LS,RegExp.prototype.exec),rHt=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,nHt=/\\(\\)?/g,sHt=function(e){var r=m3(e,0,1),n=m3(e,-1);if(r==="%"&&n!=="%")throw new ux("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new ux("invalid intrinsic syntax, expected opening `%`");var s=[];return ZRe(e,rHt,function(i,a,o,c){s[s.length]=o?ZRe(c,nHt,"$1"):a||i}),s},iHt=function(e,r){var n=e,s;if(p3(XRe,n)&&(s=XRe[n],n="%"+s[0]+"%"),p3(dh,n)){var i=dh[n];if(i===ox&&(i=Xjt(n)),typeof i>"u"&&!r)throw new cx("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:s,name:n,value:i}}throw new ux("intrinsic "+e+" does not exist!")};rNe.exports=function(e,r){if(typeof e!="string"||e.length===0)throw new cx("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new cx('"allowMissing" argument must be a boolean');if(tHt(/^%?[^%]*%?$/,e)===null)throw new ux("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=sHt(e),s=n.length>0?n[0]:"",i=iHt("%"+s+"%",r),a=i.name,o=i.value,c=!1,u=i.alias;u&&(s=u[0],eHt(n,Zjt([0,1],u)));for(var l=1,d=!0;l<n.length;l+=1){var f=n[l],p=m3(f,0,1),m=m3(f,-1);if((p==='"'||p==="'"||p==="`"||m==='"'||m==="'"||m==="`")&&p!==m)throw new ux("property names with quotes must have matching quotes");if((f==="constructor"||!d)&&(c=!0),s+="."+f,a="%"+s+"%",p3(dh,a))o=dh[a];else if(o!=null){if(!(f in o)){if(!r)throw new cx("base intrinsic for "+e+" exists, but the property is not available.");return}if(kS&&l+1>=n.length){var h=kS(o,f);d=!!h,d&&"get"in h&&!("originalValue"in h.get)?o=h.get:o=o[f]}else d=p3(o,f),o=o[f];d&&!c&&(dh[a]=o)}}return o}});var sNe=E((KMr,nNe)=>{"use strict";var aHt=Rj();nNe.exports=function(){return aHt()&&!!Symbol.toStringTag}});var oNe=E((YMr,aNe)=>{"use strict";var oHt=MS(),iNe=oHt("%Object.defineProperty%",!0),cHt=sNe()(),uHt=f3(),lHt=Vp(),h3=cHt?Symbol.toStringTag:null;aNe.exports=function(e,r){var n=arguments.length>2&&!!arguments[2]&&arguments[2].force,s=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof n<"u"&&typeof n!="boolean"||typeof s<"u"&&typeof s!="boolean")throw new lHt("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");h3&&(n||!uHt(e,h3))&&(iNe?iNe(e,h3,{configurable:!s,enumerable:!1,value:r,writable:!1}):e[h3]=r)}});var uNe=E((JMr,cNe)=>{"use strict";cNe.exports=function(t,e){return Object.keys(e).forEach(function(r){t[r]=t[r]||e[r]}),t}});var dNe=E((XMr,lNe)=>{"use strict";var Fj=A2e(),dHt=require("util"),Mj=require("path"),fHt=require("http"),pHt=require("https"),mHt=require("url").parse,hHt=require("fs"),gHt=require("stream").Stream,AHt=require("crypto"),Wj=S2e(),yHt=F2e(),xHt=oNe(),zp=f3(),$j=uNe();function Tr(t){if(!(this instanceof Tr))return new Tr(t);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],Fj.call(this),t=t||{};for(var e in t)this[e]=t[e]}dHt.inherits(Tr,Fj);Tr.LINE_BREAK=`\r
`;Tr.DEFAULT_CONTENT_TYPE="application/octet-stream";Tr.prototype.append=function(t,e,r){r=r||{},typeof r=="string"&&(r={filename:r});var n=Fj.prototype.append.bind(this);if((typeof e=="number"||e==null)&&(e=String(e)),Array.isArray(e)){this._error(new Error("Arrays are not supported."));return}var s=this._multiPartHeader(t,e,r),i=this._multiPartFooter();n(s),n(e),n(i),this._trackLength(s,e,r)};Tr.prototype._trackLength=function(t,e,r){var n=0;r.knownLength!=null?n+=Number(r.knownLength):Buffer.isBuffer(e)?n=e.length:typeof e=="string"&&(n=Buffer.byteLength(e)),this._valueLength+=n,this._overheadLength+=Buffer.byteLength(t)+Tr.LINE_BREAK.length,!(!e||!e.path&&!(e.readable&&zp(e,"httpVersion"))&&!(e instanceof gHt))&&(r.knownLength||this._valuesToMeasure.push(e))};Tr.prototype._lengthRetriever=function(t,e){zp(t,"fd")?t.end!=null&&t.end!=1/0&&t.start!=null?e(null,t.end+1-(t.start?t.start:0)):hHt.stat(t.path,function(r,n){if(r){e(r);return}var s=n.size-(t.start?t.start:0);e(null,s)}):zp(t,"httpVersion")?e(null,Number(t.headers["content-length"])):zp(t,"httpModule")?(t.on("response",function(r){t.pause(),e(null,Number(r.headers["content-length"]))}),t.resume()):e("Unknown stream")};Tr.prototype._multiPartHeader=function(t,e,r){if(typeof r.header=="string")return r.header;var n=this._getContentDisposition(e,r),s=this._getContentType(e,r),i="",a={"Content-Disposition":["form-data",'name="'+t+'"'].concat(n||[]),"Content-Type":[].concat(s||[])};typeof r.header=="object"&&$j(a,r.header);var o;for(var c in a)if(zp(a,c)){if(o=a[c],o==null)continue;Array.isArray(o)||(o=[o]),o.length&&(i+=c+": "+o.join("; ")+Tr.LINE_BREAK)}return"--"+this.getBoundary()+Tr.LINE_BREAK+i+Tr.LINE_BREAK};Tr.prototype._getContentDisposition=function(t,e){var r;if(typeof e.filepath=="string"?r=Mj.normalize(e.filepath).replace(/\\/g,"/"):e.filename||t&&(t.name||t.path)?r=Mj.basename(e.filename||t&&(t.name||t.path)):t&&t.readable&&zp(t,"httpVersion")&&(r=Mj.basename(t.client._httpMessage.path||"")),r)return'filename="'+r+'"'};Tr.prototype._getContentType=function(t,e){var r=e.contentType;return!r&&t&&t.name&&(r=Wj.lookup(t.name)),!r&&t&&t.path&&(r=Wj.lookup(t.path)),!r&&t&&t.readable&&zp(t,"httpVersion")&&(r=t.headers["content-type"]),!r&&(e.filepath||e.filename)&&(r=Wj.lookup(e.filepath||e.filename)),!r&&t&&typeof t=="object"&&(r=Tr.DEFAULT_CONTENT_TYPE),r};Tr.prototype._multiPartFooter=function(){return function(t){var e=Tr.LINE_BREAK,r=this._streams.length===0;r&&(e+=this._lastBoundary()),t(e)}.bind(this)};Tr.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+Tr.LINE_BREAK};Tr.prototype.getHeaders=function(t){var e,r={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(e in t)zp(t,e)&&(r[e.toLowerCase()]=t[e]);return r};Tr.prototype.setBoundary=function(t){if(typeof t!="string")throw new TypeError("FormData boundary must be a string");this._boundary=t};Tr.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};Tr.prototype.getBuffer=function(){for(var t=new Buffer.alloc(0),e=this.getBoundary(),r=0,n=this._streams.length;r<n;r++)typeof this._streams[r]!="function"&&(Buffer.isBuffer(this._streams[r])?t=Buffer.concat([t,this._streams[r]]):t=Buffer.concat([t,Buffer.from(this._streams[r])]),(typeof this._streams[r]!="string"||this._streams[r].substring(2,e.length+2)!==e)&&(t=Buffer.concat([t,Buffer.from(Tr.LINE_BREAK)])));return Buffer.concat([t,Buffer.from(this._lastBoundary())])};Tr.prototype._generateBoundary=function(){this._boundary="--------------------------"+AHt.randomBytes(12).toString("hex")};Tr.prototype.getLengthSync=function(){var t=this._overheadLength+this._valueLength;return this._streams.length&&(t+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),t};Tr.prototype.hasKnownLength=function(){var t=!0;return this._valuesToMeasure.length&&(t=!1),t};Tr.prototype.getLength=function(t){var e=this._overheadLength+this._valueLength;if(this._streams.length&&(e+=this._lastBoundary().length),!this._valuesToMeasure.length){process.nextTick(t.bind(this,null,e));return}yHt.parallel(this._valuesToMeasure,this._lengthRetriever,function(r,n){if(r){t(r);return}n.forEach(function(s){e+=s}),t(null,e)})};Tr.prototype.submit=function(t,e){var r,n,s={method:"post"};return typeof t=="string"?(t=mHt(t),n=$j({port:t.port,path:t.pathname,host:t.hostname,protocol:t.protocol},s)):(n=$j(t,s),n.port||(n.port=n.protocol==="https:"?443:80)),n.headers=this.getHeaders(t.headers),n.protocol==="https:"?r=pHt.request(n):r=fHt.request(n),this.getLength(function(i,a){if(i&&i!=="Unknown stream"){this._error(i);return}if(a&&r.setHeader("Content-Length",a),this.pipe(r),e){var o,c=function(u,l){return r.removeListener("error",c),r.removeListener("response",o),e.call(this,u,l)};o=c.bind(this,null),r.on("error",c),r.on("response",o)}}.bind(this)),r};Tr.prototype._error=function(t){this.error||(this.error=t,this.pause(),this.emit("error",t))};Tr.prototype.toString=function(){return"[object FormData]"};xHt(Tr.prototype,"FormData");lNe.exports=Tr});var TNe=E(INe=>{"use strict";var LHt=require("url").parse,BHt={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},MHt=String.prototype.endsWith||function(t){return t.length<=this.length&&this.indexOf(t,this.length-t.length)!==-1};function WHt(t){var e=typeof t=="string"?LHt(t):t||{},r=e.protocol,n=e.host,s=e.port;if(typeof n!="string"||!n||typeof r!="string"||(r=r.split(":",1)[0],n=n.replace(/:\d*$/,""),s=parseInt(s)||BHt[r]||0,!$Ht(n,s)))return"";var i=px("npm_config_"+r+"_proxy")||px(r+"_proxy")||px("npm_config_proxy")||px("all_proxy");return i&&i.indexOf("://")===-1&&(i=r+"://"+i),i}function $Ht(t,e){var r=(px("npm_config_no_proxy")||px("no_proxy")).toLowerCase();return r?r==="*"?!1:r.split(/[,\s]/).every(function(n){if(!n)return!0;var s=n.match(/^(.+):(\d+)$/),i=s?s[1]:n,a=s?parseInt(s[2]):0;return a&&a!==e?!0:/^[.*]/.test(i)?(i.charAt(0)==="*"&&(i=i.slice(1)),!MHt.call(t,i)):t!==i}):!0}function px(t){return process.env[t.toLowerCase()]||process.env[t.toUpperCase()]||""}INe.getProxyForUrl=WHt});var RNe=E((Z6r,wNe)=>{var mx=1e3,hx=mx*60,gx=hx*60,mh=gx*24,FHt=mh*7,UHt=mh*365.25;wNe.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return qHt(t);if(r==="number"&&isFinite(t))return e.long?HHt(t):jHt(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function qHt(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*UHt;case"weeks":case"week":case"w":return r*FHt;case"days":case"day":case"d":return r*mh;case"hours":case"hour":case"hrs":case"hr":case"h":return r*gx;case"minutes":case"minute":case"mins":case"min":case"m":return r*hx;case"seconds":case"second":case"secs":case"sec":case"s":return r*mx;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function jHt(t){var e=Math.abs(t);return e>=mh?Math.round(t/mh)+"d":e>=gx?Math.round(t/gx)+"h":e>=hx?Math.round(t/hx)+"m":e>=mx?Math.round(t/mx)+"s":t+"ms"}function HHt(t){var e=Math.abs(t);return e>=mh?x3(t,e,mh,"day"):e>=gx?x3(t,e,gx,"hour"):e>=hx?x3(t,e,hx,"minute"):e>=mx?x3(t,e,mx,"second"):t+" ms"}function x3(t,e,r,n){var s=e>=r*1.5;return Math.round(t/r)+" "+n+(s?"s":"")}});var Yj=E((e5r,NNe)=>{function QHt(t){r.debug=r,r.default=r,r.coerce=c,r.disable=a,r.enable=s,r.enabled=o,r.humanize=RNe(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let d=0;for(let f=0;f<l.length;f++)d=(d<<5)-d+l.charCodeAt(f),d|=0;return r.colors[Math.abs(d)%r.colors.length]}r.selectColor=e;function r(l){let d,f=null,p,m;function h(...A){if(!h.enabled)return;let g=h,b=Number(new Date),y=b-(d||b);g.diff=y,g.prev=d,g.curr=b,d=b,A[0]=r.coerce(A[0]),typeof A[0]!="string"&&A.unshift("%O");let x=0;A[0]=A[0].replace(/%([a-zA-Z%])/g,(C,R)=>{if(C==="%%")return"%";x++;let w=r.formatters[R];if(typeof w=="function"){let N=A[x];C=w.call(g,N),A.splice(x,1),x--}return C}),r.formatArgs.call(g,A),(g.log||r.log).apply(g,A)}return h.namespace=l,h.useColors=r.useColors(),h.color=r.selectColor(l),h.extend=n,h.destroy=r.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(p!==r.namespaces&&(p=r.namespaces,m=r.enabled(l)),m),set:A=>{f=A}}),typeof r.init=="function"&&r.init(h),h}function n(l,d){let f=r(this.namespace+(typeof d>"u"?":":d)+l);return f.log=this.log,f}function s(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let d=(typeof l=="string"?l:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of d)f[0]==="-"?r.skips.push(f.slice(1)):r.names.push(f)}function i(l,d){let f=0,p=0,m=-1,h=0;for(;f<l.length;)if(p<d.length&&(d[p]===l[f]||d[p]==="*"))d[p]==="*"?(m=p,h=f,p++):(f++,p++);else if(m!==-1)p=m+1,h++,f=h;else return!1;for(;p<d.length&&d[p]==="*";)p++;return p===d.length}function a(){let l=[...r.names,...r.skips.map(d=>"-"+d)].join(",");return r.enable(""),l}function o(l){for(let d of r.skips)if(i(l,d))return!1;for(let d of r.names)if(i(l,d))return!0;return!1}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}NNe.exports=QHt});var ONe=E((Ga,b3)=>{Ga.formatArgs=VHt;Ga.save=zHt;Ga.load=KHt;Ga.useColors=GHt;Ga.storage=YHt();Ga.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Ga.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function GHt(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function VHt(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+b3.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(r++,s==="%c"&&(n=r))}),t.splice(n,0,e)}Ga.log=console.debug||console.log||(()=>{});function zHt(t){try{t?Ga.storage.setItem("debug",t):Ga.storage.removeItem("debug")}catch{}}function KHt(){let t;try{t=Ga.storage.getItem("debug")||Ga.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function YHt(){try{return localStorage}catch{}}b3.exports=Yj()(Ga);var{formatters:JHt}=b3.exports;JHt.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var DNe=E((t5r,PNe)=>{"use strict";PNe.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),s=e.indexOf("--");return n!==-1&&(s===-1||n<s)}});var BNe=E((r5r,LNe)=>{"use strict";var XHt=require("os"),kNe=require("tty"),lc=DNe(),{env:zs}=process,Jp;lc("no-color")||lc("no-colors")||lc("color=false")||lc("color=never")?Jp=0:(lc("color")||lc("colors")||lc("color=true")||lc("color=always"))&&(Jp=1);"FORCE_COLOR"in zs&&(zs.FORCE_COLOR==="true"?Jp=1:zs.FORCE_COLOR==="false"?Jp=0:Jp=zs.FORCE_COLOR.length===0?1:Math.min(parseInt(zs.FORCE_COLOR,10),3));function Jj(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Xj(t,e){if(Jp===0)return 0;if(lc("color=16m")||lc("color=full")||lc("color=truecolor"))return 3;if(lc("color=256"))return 2;if(t&&!e&&Jp===void 0)return 0;let r=Jp||0;if(zs.TERM==="dumb")return r;if(process.platform==="win32"){let n=XHt.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in zs)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in zs)||zs.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in zs)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(zs.TEAMCITY_VERSION)?1:0;if(zs.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in zs){let n=parseInt((zs.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(zs.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(zs.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(zs.TERM)||"COLORTERM"in zs?1:r}function ZHt(t){let e=Xj(t,t&&t.isTTY);return Jj(e)}LNe.exports={supportsColor:ZHt,stdout:Jj(Xj(!0,kNe.isatty(1))),stderr:Jj(Xj(!0,kNe.isatty(2)))}});var WNe=E((Ks,_3)=>{var eQt=require("tty"),E3=require("util");Ks.init=oQt;Ks.log=sQt;Ks.formatArgs=rQt;Ks.save=iQt;Ks.load=aQt;Ks.useColors=tQt;Ks.destroy=E3.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ks.colors=[6,2,3,4,5,1];try{let t=BNe();t&&(t.stderr||t).level>=2&&(Ks.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ks.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(s,i)=>i.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function tQt(){return"colors"in Ks.inspectOpts?!!Ks.inspectOpts.colors:eQt.isatty(process.stderr.fd)}function rQt(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,s="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${s};1m${e} \x1B[0m`;t[0]=i+t[0].split(`
`).join(`
`+i),t.push(s+"m+"+_3.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=nQt()+e+" "+t[0]}function nQt(){return Ks.inspectOpts.hideDate?"":new Date().toISOString()+" "}function sQt(...t){return process.stderr.write(E3.formatWithOptions(Ks.inspectOpts,...t)+`
`)}function iQt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function aQt(){return process.env.DEBUG}function oQt(t){t.inspectOpts={};let e=Object.keys(Ks.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Ks.inspectOpts[e[r]]}_3.exports=Yj()(Ks);var{formatters:MNe}=_3.exports;MNe.o=function(t){return this.inspectOpts.colors=this.useColors,E3.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};MNe.O=function(t){return this.inspectOpts.colors=this.useColors,E3.inspect(t,this.inspectOpts)}});var $Ne=E((n5r,Zj)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Zj.exports=ONe():Zj.exports=WNe()});var UNe=E((s5r,FNe)=>{var US;FNe.exports=function(){if(!US){try{US=$Ne()("follow-redirects")}catch{}typeof US!="function"&&(US=function(){})}US.apply(null,arguments)}});var GNe=E((i5r,dH)=>{var jS=require("url"),qS=jS.URL,cQt=require("http"),uQt=require("https"),sH=require("stream").Writable,iH=require("assert"),qNe=UNe();(function(){var e=typeof process<"u",r=typeof window<"u"&&typeof document<"u",n=gh(Error.captureStackTrace);!e&&(r||!n)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var aH=!1;try{iH(new qS(""))}catch(t){aH=t.code==="ERR_INVALID_URL"}var lQt=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],oH=["abort","aborted","connect","error","socket","timeout"],cH=Object.create(null);oH.forEach(function(t){cH[t]=function(e,r,n){this._redirectable.emit(t,e,r,n)}});var tH=HS("ERR_INVALID_URL","Invalid URL",TypeError),rH=HS("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),dQt=HS("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",rH),fQt=HS("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),pQt=HS("ERR_STREAM_WRITE_AFTER_END","write after end"),mQt=sH.prototype.destroy||HNe;function Va(t,e){sH.call(this),this._sanitizeOptions(t),this._options=t,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var r=this;this._onNativeResponse=function(n){try{r._processResponse(n)}catch(s){r.emit("error",s instanceof rH?s:new rH({cause:s}))}},this._performRequest()}Va.prototype=Object.create(sH.prototype);Va.prototype.abort=function(){lH(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Va.prototype.destroy=function(t){return lH(this._currentRequest,t),mQt.call(this,t),this};Va.prototype.write=function(t,e,r){if(this._ending)throw new pQt;if(!hh(t)&&!AQt(t))throw new TypeError("data should be a string, Buffer or Uint8Array");if(gh(e)&&(r=e,e=null),t.length===0){r&&r();return}this._requestBodyLength+t.length<=this._options.maxBodyLength?(this._requestBodyLength+=t.length,this._requestBodyBuffers.push({data:t,encoding:e}),this._currentRequest.write(t,e,r)):(this.emit("error",new fQt),this.abort())};Va.prototype.end=function(t,e,r){if(gh(t)?(r=t,t=e=null):gh(e)&&(r=e,e=null),!t)this._ended=this._ending=!0,this._currentRequest.end(null,null,r);else{var n=this,s=this._currentRequest;this.write(t,e,function(){n._ended=!0,s.end(null,null,r)}),this._ending=!0}};Va.prototype.setHeader=function(t,e){this._options.headers[t]=e,this._currentRequest.setHeader(t,e)};Va.prototype.removeHeader=function(t){delete this._options.headers[t],this._currentRequest.removeHeader(t)};Va.prototype.setTimeout=function(t,e){var r=this;function n(a){a.setTimeout(t),a.removeListener("timeout",a.destroy),a.addListener("timeout",a.destroy)}function s(a){r._timeout&&clearTimeout(r._timeout),r._timeout=setTimeout(function(){r.emit("timeout"),i()},t),n(a)}function i(){r._timeout&&(clearTimeout(r._timeout),r._timeout=null),r.removeListener("abort",i),r.removeListener("error",i),r.removeListener("response",i),r.removeListener("close",i),e&&r.removeListener("timeout",e),r.socket||r._currentRequest.removeListener("socket",s)}return e&&this.on("timeout",e),this.socket?s(this.socket):this._currentRequest.once("socket",s),this.on("socket",n),this.on("abort",i),this.on("error",i),this.on("response",i),this.on("close",i),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(t){Va.prototype[t]=function(e,r){return this._currentRequest[t](e,r)}});["aborted","connection","socket"].forEach(function(t){Object.defineProperty(Va.prototype,t,{get:function(){return this._currentRequest[t]}})});Va.prototype._sanitizeOptions=function(t){if(t.headers||(t.headers={}),t.host&&(t.hostname||(t.hostname=t.host),delete t.host),!t.pathname&&t.path){var e=t.path.indexOf("?");e<0?t.pathname=t.path:(t.pathname=t.path.substring(0,e),t.search=t.path.substring(e))}};Va.prototype._performRequest=function(){var t=this._options.protocol,e=this._options.nativeProtocols[t];if(!e)throw new TypeError("Unsupported protocol "+t);if(this._options.agents){var r=t.slice(0,-1);this._options.agent=this._options.agents[r]}var n=this._currentRequest=e.request(this._options,this._onNativeResponse);n._redirectable=this;for(var s of oH)n.on(s,cH[s]);if(this._currentUrl=/^\//.test(this._options.path)?jS.format(this._options):this._options.path,this._isRedirect){var i=0,a=this,o=this._requestBodyBuffers;(function c(u){if(n===a._currentRequest)if(u)a.emit("error",u);else if(i<o.length){var l=o[i++];n.finished||n.write(l.data,l.encoding,c)}else a._ended&&n.end()})()}};Va.prototype._processResponse=function(t){var e=t.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:t.headers,statusCode:e});var r=t.headers.location;if(!r||this._options.followRedirects===!1||e<300||e>=400){t.responseUrl=this._currentUrl,t.redirects=this._redirects,this.emit("response",t),this._requestBodyBuffers=[];return}if(lH(this._currentRequest),t.destroy(),++this._redirectCount>this._options.maxRedirects)throw new dQt;var n,s=this._options.beforeRedirect;s&&(n=Object.assign({Host:t.req.getHeader("host")},this._options.headers));var i=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],eH(/^content-/i,this._options.headers));var a=eH(/^host$/i,this._options.headers),o=uH(this._currentUrl),c=a||o.host,u=/^\w+:/.test(r)?this._currentUrl:jS.format(Object.assign(o,{host:c})),l=hQt(r,u);if(qNe("redirecting to",l.href),this._isRedirect=!0,nH(l,this._options),(l.protocol!==o.protocol&&l.protocol!=="https:"||l.host!==c&&!gQt(l.host,c))&&eH(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),gh(s)){var d={headers:t.headers,statusCode:e},f={url:u,method:i,headers:n};s(this._options,d,f),this._sanitizeOptions(this._options)}this._performRequest()};function jNe(t){var e={maxRedirects:21,maxBodyLength:10485760},r={};return Object.keys(t).forEach(function(n){var s=n+":",i=r[s]=t[n],a=e[n]=Object.create(i);function o(u,l,d){return yQt(u)?u=nH(u):hh(u)?u=nH(uH(u)):(d=l,l=QNe(u),u={protocol:s}),gh(l)&&(d=l,l=null),l=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},u,l),l.nativeProtocols=r,!hh(l.host)&&!hh(l.hostname)&&(l.hostname="::1"),iH.equal(l.protocol,s,"protocol mismatch"),qNe("options",l),new Va(l,d)}function c(u,l,d){var f=a.request(u,l,d);return f.end(),f}Object.defineProperties(a,{request:{value:o,configurable:!0,enumerable:!0,writable:!0},get:{value:c,configurable:!0,enumerable:!0,writable:!0}})}),e}function HNe(){}function uH(t){var e;if(aH)e=new qS(t);else if(e=QNe(jS.parse(t)),!hh(e.protocol))throw new tH({input:t});return e}function hQt(t,e){return aH?new qS(t,e):uH(jS.resolve(e,t))}function QNe(t){if(/^\[/.test(t.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(t.hostname))throw new tH({input:t.href||t});if(/^\[/.test(t.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(t.host))throw new tH({input:t.href||t});return t}function nH(t,e){var r=e||{};for(var n of lQt)r[n]=t[n];return r.hostname.startsWith("[")&&(r.hostname=r.hostname.slice(1,-1)),r.port!==""&&(r.port=Number(r.port)),r.path=r.search?r.pathname+r.search:r.pathname,r}function eH(t,e){var r;for(var n in e)t.test(n)&&(r=e[n],delete e[n]);return r===null||typeof r>"u"?void 0:String(r).trim()}function HS(t,e,r){function n(s){gh(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,s||{}),this.code=t,this.message=this.cause?e+": "+this.cause.message:e}return n.prototype=new(r||Error),Object.defineProperties(n.prototype,{constructor:{value:n,enumerable:!1},name:{value:"Error ["+t+"]",enumerable:!1}}),n}function lH(t,e){for(var r of oH)t.removeListener(r,cH[r]);t.on("error",HNe),t.destroy(e)}function gQt(t,e){iH(hh(t)&&hh(e));var r=t.length-e.length-1;return r>0&&t[r]==="."&&t.endsWith(e)}function hh(t){return typeof t=="string"||t instanceof String}function gh(t){return typeof t=="function"}function AQt(t){return typeof t=="object"&&"length"in t}function yQt(t){return qS&&t instanceof qS}dH.exports=jNe({http:cQt,https:uQt});dH.exports.wrap=jNe});var z3=E(dl=>{"use strict";Object.defineProperty(dl,"__esModule",{value:!0});dl.AttributeAction=dl.IgnoreCaseMode=dl.SelectorType=void 0;var FGt;(function(t){t.Attribute="attribute",t.Pseudo="pseudo",t.PseudoElement="pseudo-element",t.Tag="tag",t.Universal="universal",t.Adjacent="adjacent",t.Child="child",t.Descendant="descendant",t.Parent="parent",t.Sibling="sibling",t.ColumnCombinator="column-combinator"})(FGt=dl.SelectorType||(dl.SelectorType={}));dl.IgnoreCaseMode={Unknown:null,QuirksMode:"quirks",IgnoreCase:!0,CaseSensitive:!1};var UGt;(function(t){t.Any="any",t.Element="element",t.End="end",t.Equals="equals",t.Exists="exists",t.Hyphen="hyphen",t.Not="not",t.Start="start"})(UGt=dl.AttributeAction||(dl.AttributeAction={}))});var yPe=E(Cx=>{"use strict";Object.defineProperty(Cx,"__esModule",{value:!0});Cx.parse=Cx.isTraversal=void 0;var Qr=z3(),mPe=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,qGt=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,jGt=new Map([[126,Qr.AttributeAction.Element],[94,Qr.AttributeAction.Start],[36,Qr.AttributeAction.End],[42,Qr.AttributeAction.Any],[33,Qr.AttributeAction.Not],[124,Qr.AttributeAction.Hyphen]]),HGt=new Set(["has","not","matches","is","where","host","host-context"]);function gPe(t){switch(t.type){case Qr.SelectorType.Adjacent:case Qr.SelectorType.Child:case Qr.SelectorType.Descendant:case Qr.SelectorType.Parent:case Qr.SelectorType.Sibling:case Qr.SelectorType.ColumnCombinator:return!0;default:return!1}}Cx.isTraversal=gPe;var QGt=new Set(["contains","icontains"]);function GGt(t,e,r){var n=parseInt(e,16)-65536;return n!==n||r?e:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,n&1023|56320)}function iv(t){return t.replace(qGt,GGt)}function jH(t){return t===39||t===34}function hPe(t){return t===32||t===9||t===10||t===12||t===13}function VGt(t){var e=[],r=APe(e,"".concat(t),0);if(r<t.length)throw new Error("Unmatched selector: ".concat(t.slice(r)));return e}Cx.parse=VGt;function APe(t,e,r){var n=[];function s(k){var B=e.slice(r+k).match(mPe);if(!B)throw new Error("Expected name, found ".concat(e.slice(r)));var Z=B[0];return r+=k+Z.length,iv(Z)}function i(k){for(r+=k;r<e.length&&hPe(e.charCodeAt(r));)r++}function a(){r+=1;for(var k=r,B=1;B>0&&r<e.length;r++)e.charCodeAt(r)===40&&!o(r)?B++:e.charCodeAt(r)===41&&!o(r)&&B--;if(B)throw new Error("Parenthesis not matched");return iv(e.slice(k,r-1))}function o(k){for(var B=0;e.charCodeAt(--k)===92;)B++;return(B&1)===1}function c(){if(n.length>0&&gPe(n[n.length-1]))throw new Error("Did not expect successive traversals.")}function u(k){if(n.length>0&&n[n.length-1].type===Qr.SelectorType.Descendant){n[n.length-1].type=k;return}c(),n.push({type:k})}function l(k,B){n.push({type:Qr.SelectorType.Attribute,name:k,action:B,value:s(1),namespace:null,ignoreCase:"quirks"})}function d(){if(n.length&&n[n.length-1].type===Qr.SelectorType.Descendant&&n.pop(),n.length===0)throw new Error("Empty sub-selector");t.push(n)}if(i(0),e.length===r)return r;e:for(;r<e.length;){var f=e.charCodeAt(r);switch(f){case 32:case 9:case 10:case 12:case 13:{(n.length===0||n[0].type!==Qr.SelectorType.Descendant)&&(c(),n.push({type:Qr.SelectorType.Descendant})),i(1);break}case 62:{u(Qr.SelectorType.Child),i(1);break}case 60:{u(Qr.SelectorType.Parent),i(1);break}case 126:{u(Qr.SelectorType.Sibling),i(1);break}case 43:{u(Qr.SelectorType.Adjacent),i(1);break}case 46:{l("class",Qr.AttributeAction.Element);break}case 35:{l("id",Qr.AttributeAction.Equals);break}case 91:{i(1);var p=void 0,m=null;e.charCodeAt(r)===124?p=s(1):e.startsWith("*|",r)?(m="*",p=s(2)):(p=s(0),e.charCodeAt(r)===124&&e.charCodeAt(r+1)!==61&&(m=p,p=s(1))),i(0);var h=Qr.AttributeAction.Exists,A=jGt.get(e.charCodeAt(r));if(A){if(h=A,e.charCodeAt(r+1)!==61)throw new Error("Expected `=`");i(2)}else e.charCodeAt(r)===61&&(h=Qr.AttributeAction.Equals,i(1));var g="",b=null;if(h!=="exists"){if(jH(e.charCodeAt(r))){for(var y=e.charCodeAt(r),x=r+1;x<e.length&&(e.charCodeAt(x)!==y||o(x));)x+=1;if(e.charCodeAt(x)!==y)throw new Error("Attribute value didn't end");g=iv(e.slice(r+1,x)),r=x+1}else{for(var v=r;r<e.length&&(!hPe(e.charCodeAt(r))&&e.charCodeAt(r)!==93||o(r));)r+=1;g=iv(e.slice(v,r))}i(0);var C=e.charCodeAt(r)|32;C===115?(b=!1,i(1)):C===105&&(b=!0,i(1))}if(e.charCodeAt(r)!==93)throw new Error("Attribute selector didn't terminate");r+=1;var R={type:Qr.SelectorType.Attribute,name:p,action:h,value:g,namespace:m,ignoreCase:b};n.push(R);break}case 58:{if(e.charCodeAt(r+1)===58){n.push({type:Qr.SelectorType.PseudoElement,name:s(2).toLowerCase(),data:e.charCodeAt(r)===40?a():null});continue}var w=s(1).toLowerCase(),N=null;if(e.charCodeAt(r)===40)if(HGt.has(w)){if(jH(e.charCodeAt(r+1)))throw new Error("Pseudo-selector ".concat(w," cannot be quoted"));if(N=[],r=APe(N,e,r+1),e.charCodeAt(r)!==41)throw new Error("Missing closing parenthesis in :".concat(w," (").concat(e,")"));r+=1}else{if(N=a(),QGt.has(w)){var P=N.charCodeAt(0);P===N.charCodeAt(N.length-1)&&jH(P)&&(N=N.slice(1,-1))}N=iv(N)}n.push({type:Qr.SelectorType.Pseudo,name:w,data:N});break}case 44:{d(),n=[],i(1);break}default:{if(e.startsWith("/*",r)){var L=e.indexOf("*/",r+2);if(L<0)throw new Error("Comment was not terminated");r=L+2,n.length===0&&i(0);break}var m=null,M=void 0;if(f===42)r+=1,M="*";else if(f===124){if(M="",e.charCodeAt(r+1)===124){u(Qr.SelectorType.ColumnCombinator),i(2);break}}else if(mPe.test(e.slice(r)))M=s(0);else break e;e.charCodeAt(r)===124&&e.charCodeAt(r+1)!==124&&(m=M,e.charCodeAt(r+1)===42?(M="*",r+=2):M=s(1)),n.push(M==="*"?{type:Qr.SelectorType.Universal,namespace:m}:{type:Qr.SelectorType.Tag,name:M,namespace:m})}}}return d(),r}});var CPe=E(Tx=>{"use strict";var K3=Tx&&Tx.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var n=0,s=e.length,i;n<s;n++)(i||!(n in e))&&(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return t.concat(i||Array.prototype.slice.call(e))};Object.defineProperty(Tx,"__esModule",{value:!0});Tx.stringify=void 0;var Yn=z3(),EPe=["\\",'"'],_Pe=K3(K3([],EPe,!0),["(",")"],!1),zGt=new Set(EPe.map(function(t){return t.charCodeAt(0)})),xPe=new Set(_Pe.map(function(t){return t.charCodeAt(0)})),Ix=new Set(K3(K3([],_Pe,!0),["~","^","$","*","+","!","|",":","[","]"," ","."],!1).map(function(t){return t.charCodeAt(0)}));function SPe(t){return t.map(function(e){return e.map(KGt).join("")}).join(", ")}Tx.stringify=SPe;function KGt(t,e,r){switch(t.type){case Yn.SelectorType.Child:return e===0?"> ":" > ";case Yn.SelectorType.Parent:return e===0?"< ":" < ";case Yn.SelectorType.Sibling:return e===0?"~ ":" ~ ";case Yn.SelectorType.Adjacent:return e===0?"+ ":" + ";case Yn.SelectorType.Descendant:return" ";case Yn.SelectorType.ColumnCombinator:return e===0?"|| ":" || ";case Yn.SelectorType.Universal:return t.namespace==="*"&&e+1<r.length&&"name"in r[e+1]?"":"".concat(vPe(t.namespace),"*");case Yn.SelectorType.Tag:return bPe(t);case Yn.SelectorType.PseudoElement:return"::".concat(qd(t.name,Ix)).concat(t.data===null?"":"(".concat(qd(t.data,xPe),")"));case Yn.SelectorType.Pseudo:return":".concat(qd(t.name,Ix)).concat(t.data===null?"":"(".concat(typeof t.data=="string"?qd(t.data,xPe):SPe(t.data),")"));case Yn.SelectorType.Attribute:{if(t.name==="id"&&t.action===Yn.AttributeAction.Equals&&t.ignoreCase==="quirks"&&!t.namespace)return"#".concat(qd(t.value,Ix));if(t.name==="class"&&t.action===Yn.AttributeAction.Element&&t.ignoreCase==="quirks"&&!t.namespace)return".".concat(qd(t.value,Ix));var n=bPe(t);return t.action===Yn.AttributeAction.Exists?"[".concat(n,"]"):"[".concat(n).concat(YGt(t.action),'="').concat(qd(t.value,zGt),'"').concat(t.ignoreCase===null?"":t.ignoreCase?" i":" s","]")}}}function YGt(t){switch(t){case Yn.AttributeAction.Equals:return"";case Yn.AttributeAction.Element:return"~";case Yn.AttributeAction.Start:return"^";case Yn.AttributeAction.End:return"$";case Yn.AttributeAction.Any:return"*";case Yn.AttributeAction.Not:return"!";case Yn.AttributeAction.Hyphen:return"|";case Yn.AttributeAction.Exists:throw new Error("Shouldn't be here")}}function bPe(t){return"".concat(vPe(t.namespace)).concat(qd(t.name,Ix))}function vPe(t){return t!==null?"".concat(t==="*"?"*":qd(t,Ix),"|"):""}function qd(t,e){for(var r=0,n="",s=0;s<t.length;s++)e.has(t.charCodeAt(s))&&(n+="".concat(t.slice(r,s),"\\").concat(t.charAt(s)),r=s+1);return n.length>0?n+t.slice(r):t}});var wx=E(So=>{"use strict";var JGt=So&&So.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),XGt=So&&So.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&JGt(e,t,r)};Object.defineProperty(So,"__esModule",{value:!0});So.stringify=So.parse=So.isTraversal=void 0;XGt(z3(),So);var IPe=yPe();Object.defineProperty(So,"isTraversal",{enumerable:!0,get:function(){return IPe.isTraversal}});Object.defineProperty(So,"parse",{enumerable:!0,get:function(){return IPe.parse}});var ZGt=CPe();Object.defineProperty(So,"stringify",{enumerable:!0,get:function(){return ZGt.stringify}})});var s0=E((H$r,TPe)=>{TPe.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}});var Cv=E((OQ,PQ)=>{(function(t,e){typeof OQ=="object"&&typeof PQ<"u"?PQ.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(OQ,function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",s="second",i="minute",a="hour",o="day",c="week",u="month",l="quarter",d="year",f="date",p="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,A={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(M){var k=["th","st","nd","rd"],B=M%100;return"["+M+(k[(B-20)%10]||k[B]||k[0])+"]"}},g=function(M,k,B){var Z=String(M);return!Z||Z.length>=k?M:""+Array(k+1-Z.length).join(B)+M},b={s:g,z:function(M){var k=-M.utcOffset(),B=Math.abs(k),Z=Math.floor(B/60),W=B%60;return(k<=0?"+":"-")+g(Z,2,"0")+":"+g(W,2,"0")},m:function M(k,B){if(k.date()<B.date())return-M(B,k);var Z=12*(B.year()-k.year())+(B.month()-k.month()),W=k.clone().add(Z,u),F=B-W<0,V=k.clone().add(Z+(F?-1:1),u);return+(-(Z+(B-W)/(F?W-V:V-W))||0)},a:function(M){return M<0?Math.ceil(M)||0:Math.floor(M)},p:function(M){return{M:u,y:d,w:c,d:o,D:f,h:a,m:i,s,ms:n,Q:l}[M]||String(M||"").toLowerCase().replace(/s$/,"")},u:function(M){return M===void 0}},y="en",x={};x[y]=A;var v="$isDayjsObject",C=function(M){return M instanceof P||!(!M||!M[v])},R=function M(k,B,Z){var W;if(!k)return y;if(typeof k=="string"){var F=k.toLowerCase();x[F]&&(W=F),B&&(x[F]=B,W=F);var V=k.split("-");if(!W&&V.length>1)return M(V[0])}else{var j=k.name;x[j]=k,W=j}return!Z&&W&&(y=W),W||!Z&&y},w=function(M,k){if(C(M))return M.clone();var B=typeof k=="object"?k:{};return B.date=M,B.args=arguments,new P(B)},N=b;N.l=R,N.i=C,N.w=function(M,k){return w(M,{locale:k.$L,utc:k.$u,x:k.$x,$offset:k.$offset})};var P=function(){function M(B){this.$L=R(B.locale,null,!0),this.parse(B),this.$x=this.$x||B.x||{},this[v]=!0}var k=M.prototype;return k.parse=function(B){this.$d=function(Z){var W=Z.date,F=Z.utc;if(W===null)return new Date(NaN);if(N.u(W))return new Date;if(W instanceof Date)return new Date(W);if(typeof W=="string"&&!/Z$/i.test(W)){var V=W.match(m);if(V){var j=V[2]-1||0,J=(V[7]||"0").substring(0,3);return F?new Date(Date.UTC(V[1],j,V[3]||1,V[4]||0,V[5]||0,V[6]||0,J)):new Date(V[1],j,V[3]||1,V[4]||0,V[5]||0,V[6]||0,J)}}return new Date(W)}(B),this.init()},k.init=function(){var B=this.$d;this.$y=B.getFullYear(),this.$M=B.getMonth(),this.$D=B.getDate(),this.$W=B.getDay(),this.$H=B.getHours(),this.$m=B.getMinutes(),this.$s=B.getSeconds(),this.$ms=B.getMilliseconds()},k.$utils=function(){return N},k.isValid=function(){return this.$d.toString()!==p},k.isSame=function(B,Z){var W=w(B);return this.startOf(Z)<=W&&W<=this.endOf(Z)},k.isAfter=function(B,Z){return w(B)<this.startOf(Z)},k.isBefore=function(B,Z){return this.endOf(Z)<w(B)},k.$g=function(B,Z,W){return N.u(B)?this[Z]:this.set(W,B)},k.unix=function(){return Math.floor(this.valueOf()/1e3)},k.valueOf=function(){return this.$d.getTime()},k.startOf=function(B,Z){var W=this,F=!!N.u(Z)||Z,V=N.p(B),j=function(Fe,_e){var U=N.w(W.$u?Date.UTC(W.$y,_e,Fe):new Date(W.$y,_e,Fe),W);return F?U:U.endOf(o)},J=function(Fe,_e){return N.w(W.toDate()[Fe].apply(W.toDate("s"),(F?[0,0,0,0]:[23,59,59,999]).slice(_e)),W)},se=this.$W,oe=this.$M,ue=this.$D,Ce="set"+(this.$u?"UTC":"");switch(V){case d:return F?j(1,0):j(31,11);case u:return F?j(1,oe):j(0,oe+1);case c:var we=this.$locale().weekStart||0,qe=(se<we?se+7:se)-we;return j(F?ue-qe:ue+(6-qe),oe);case o:case f:return J(Ce+"Hours",0);case a:return J(Ce+"Minutes",1);case i:return J(Ce+"Seconds",2);case s:return J(Ce+"Milliseconds",3);default:return this.clone()}},k.endOf=function(B){return this.startOf(B,!1)},k.$set=function(B,Z){var W,F=N.p(B),V="set"+(this.$u?"UTC":""),j=(W={},W[o]=V+"Date",W[f]=V+"Date",W[u]=V+"Month",W[d]=V+"FullYear",W[a]=V+"Hours",W[i]=V+"Minutes",W[s]=V+"Seconds",W[n]=V+"Milliseconds",W)[F],J=F===o?this.$D+(Z-this.$W):Z;if(F===u||F===d){var se=this.clone().set(f,1);se.$d[j](J),se.init(),this.$d=se.set(f,Math.min(this.$D,se.daysInMonth())).$d}else j&&this.$d[j](J);return this.init(),this},k.set=function(B,Z){return this.clone().$set(B,Z)},k.get=function(B){return this[N.p(B)]()},k.add=function(B,Z){var W,F=this;B=Number(B);var V=N.p(Z),j=function(oe){var ue=w(F);return N.w(ue.date(ue.date()+Math.round(oe*B)),F)};if(V===u)return this.set(u,this.$M+B);if(V===d)return this.set(d,this.$y+B);if(V===o)return j(1);if(V===c)return j(7);var J=(W={},W[i]=e,W[a]=r,W[s]=t,W)[V]||1,se=this.$d.getTime()+B*J;return N.w(se,this)},k.subtract=function(B,Z){return this.add(-1*B,Z)},k.format=function(B){var Z=this,W=this.$locale();if(!this.isValid())return W.invalidDate||p;var F=B||"YYYY-MM-DDTHH:mm:ssZ",V=N.z(this),j=this.$H,J=this.$m,se=this.$M,oe=W.weekdays,ue=W.months,Ce=W.meridiem,we=function(_e,U,G,z){return _e&&(_e[U]||_e(Z,F))||G[U].slice(0,z)},qe=function(_e){return N.s(j%12||12,_e,"0")},Fe=Ce||function(_e,U,G){var z=_e<12?"AM":"PM";return G?z.toLowerCase():z};return F.replace(h,function(_e,U){return U||function(G){switch(G){case"YY":return String(Z.$y).slice(-2);case"YYYY":return N.s(Z.$y,4,"0");case"M":return se+1;case"MM":return N.s(se+1,2,"0");case"MMM":return we(W.monthsShort,se,ue,3);case"MMMM":return we(ue,se);case"D":return Z.$D;case"DD":return N.s(Z.$D,2,"0");case"d":return String(Z.$W);case"dd":return we(W.weekdaysMin,Z.$W,oe,2);case"ddd":return we(W.weekdaysShort,Z.$W,oe,3);case"dddd":return oe[Z.$W];case"H":return String(j);case"HH":return N.s(j,2,"0");case"h":return qe(1);case"hh":return qe(2);case"a":return Fe(j,J,!0);case"A":return Fe(j,J,!1);case"m":return String(J);case"mm":return N.s(J,2,"0");case"s":return String(Z.$s);case"ss":return N.s(Z.$s,2,"0");case"SSS":return N.s(Z.$ms,3,"0");case"Z":return V}return null}(_e)||V.replace(":","")})},k.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},k.diff=function(B,Z,W){var F,V=this,j=N.p(Z),J=w(B),se=(J.utcOffset()-this.utcOffset())*e,oe=this-J,ue=function(){return N.m(V,J)};switch(j){case d:F=ue()/12;break;case u:F=ue();break;case l:F=ue()/3;break;case c:F=(oe-se)/6048e5;break;case o:F=(oe-se)/864e5;break;case a:F=oe/r;break;case i:F=oe/e;break;case s:F=oe/t;break;default:F=oe}return W?F:N.a(F)},k.daysInMonth=function(){return this.endOf(u).$D},k.$locale=function(){return x[this.$L]},k.locale=function(B,Z){if(!B)return this.$L;var W=this.clone(),F=R(B,Z,!0);return F&&(W.$L=F),W},k.clone=function(){return N.w(this.$d,this)},k.toDate=function(){return new Date(this.valueOf())},k.toJSON=function(){return this.isValid()?this.toISOString():null},k.toISOString=function(){return this.$d.toISOString()},k.toString=function(){return this.$d.toUTCString()},M}(),L=P.prototype;return w.prototype=L,[["$ms",n],["$s",s],["$m",i],["$H",a],["$W",o],["$M",u],["$y",d],["$D",f]].forEach(function(M){L[M[1]]=function(k){return this.$g(k,M[0],M[1])}}),w.extend=function(M,k){return M.$i||(M(k,P,w),M.$i=!0),w},w.locale=R,w.isDayjs=C,w.unix=function(M){return w(1e3*M)},w.en=x[y],w.Ls=x,w.p={},w})});var pr=E((TD,uDe)=>{(function(t,e){typeof TD=="object"?uDe.exports=TD=e():typeof define=="function"&&define.amd?define([],e):t.CryptoJS=e()})(TD,function(){var t=t||function(e,r){var n;if(typeof window<"u"&&window.crypto&&(n=window.crypto),typeof self<"u"&&self.crypto&&(n=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(n=globalThis.crypto),!n&&typeof window<"u"&&window.msCrypto&&(n=window.msCrypto),!n&&typeof global<"u"&&global.crypto&&(n=global.crypto),!n&&typeof require=="function")try{n=require("crypto")}catch{}var s=function(){if(n){if(typeof n.getRandomValues=="function")try{return n.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof n.randomBytes=="function")try{return n.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function g(){}return function(b){var y;return g.prototype=b,y=new g,g.prototype=null,y}}(),a={},o=a.lib={},c=o.Base=function(){return{extend:function(g){var b=i(this);return g&&b.mixIn(g),(!b.hasOwnProperty("init")||this.init===b.init)&&(b.init=function(){b.$super.init.apply(this,arguments)}),b.init.prototype=b,b.$super=this,b},create:function(){var g=this.extend();return g.init.apply(g,arguments),g},init:function(){},mixIn:function(g){for(var b in g)g.hasOwnProperty(b)&&(this[b]=g[b]);g.hasOwnProperty("toString")&&(this.toString=g.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),u=o.WordArray=c.extend({init:function(g,b){g=this.words=g||[],b!=r?this.sigBytes=b:this.sigBytes=g.length*4},toString:function(g){return(g||d).stringify(this)},concat:function(g){var b=this.words,y=g.words,x=this.sigBytes,v=g.sigBytes;if(this.clamp(),x%4)for(var C=0;C<v;C++){var R=y[C>>>2]>>>24-C%4*8&255;b[x+C>>>2]|=R<<24-(x+C)%4*8}else for(var w=0;w<v;w+=4)b[x+w>>>2]=y[w>>>2];return this.sigBytes+=v,this},clamp:function(){var g=this.words,b=this.sigBytes;g[b>>>2]&=4294967295<<32-b%4*8,g.length=e.ceil(b/4)},clone:function(){var g=c.clone.call(this);return g.words=this.words.slice(0),g},random:function(g){for(var b=[],y=0;y<g;y+=4)b.push(s());return new u.init(b,g)}}),l=a.enc={},d=l.Hex={stringify:function(g){for(var b=g.words,y=g.sigBytes,x=[],v=0;v<y;v++){var C=b[v>>>2]>>>24-v%4*8&255;x.push((C>>>4).toString(16)),x.push((C&15).toString(16))}return x.join("")},parse:function(g){for(var b=g.length,y=[],x=0;x<b;x+=2)y[x>>>3]|=parseInt(g.substr(x,2),16)<<24-x%8*4;return new u.init(y,b/2)}},f=l.Latin1={stringify:function(g){for(var b=g.words,y=g.sigBytes,x=[],v=0;v<y;v++){var C=b[v>>>2]>>>24-v%4*8&255;x.push(String.fromCharCode(C))}return x.join("")},parse:function(g){for(var b=g.length,y=[],x=0;x<b;x++)y[x>>>2]|=(g.charCodeAt(x)&255)<<24-x%4*8;return new u.init(y,b)}},p=l.Utf8={stringify:function(g){try{return decodeURIComponent(escape(f.stringify(g)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(g){return f.parse(unescape(encodeURIComponent(g)))}},m=o.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(g){typeof g=="string"&&(g=p.parse(g)),this._data.concat(g),this._nDataBytes+=g.sigBytes},_process:function(g){var b,y=this._data,x=y.words,v=y.sigBytes,C=this.blockSize,R=C*4,w=v/R;g?w=e.ceil(w):w=e.max((w|0)-this._minBufferSize,0);var N=w*C,P=e.min(N*4,v);if(N){for(var L=0;L<N;L+=C)this._doProcessBlock(x,L);b=x.splice(0,N),y.sigBytes-=P}return new u.init(b,P)},clone:function(){var g=c.clone.call(this);return g._data=this._data.clone(),g},_minBufferSize:0}),h=o.Hasher=m.extend({cfg:c.extend(),init:function(g){this.cfg=this.cfg.extend(g),this.reset()},reset:function(){m.reset.call(this),this._doReset()},update:function(g){return this._append(g),this._process(),this},finalize:function(g){g&&this._append(g);var b=this._doFinalize();return b},blockSize:512/32,_createHelper:function(g){return function(b,y){return new g.init(y).finalize(b)}},_createHmacHelper:function(g){return function(b,y){return new A.HMAC.init(g,y).finalize(b)}}}),A=a.algo={};return a}(Math);return t})});var Iv=E((wD,lDe)=>{(function(t,e){typeof wD=="object"?lDe.exports=wD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(wD,function(t){return function(e){var r=t,n=r.lib,s=n.Base,i=n.WordArray,a=r.x64={},o=a.Word=s.extend({init:function(u,l){this.high=u,this.low=l}}),c=a.WordArray=s.extend({init:function(u,l){u=this.words=u||[],l!=e?this.sigBytes=l:this.sigBytes=u.length*8},toX32:function(){for(var u=this.words,l=u.length,d=[],f=0;f<l;f++){var p=u[f];d.push(p.high),d.push(p.low)}return i.create(d,this.sigBytes)},clone:function(){for(var u=s.clone.call(this),l=u.words=this.words.slice(0),d=l.length,f=0;f<d;f++)l[f]=l[f].clone();return u}})}(),t})});var fDe=E((RD,dDe)=>{(function(t,e){typeof RD=="object"?dDe.exports=RD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(RD,function(t){return function(){if(typeof ArrayBuffer=="function"){var e=t,r=e.lib,n=r.WordArray,s=n.init,i=n.init=function(a){if(a instanceof ArrayBuffer&&(a=new Uint8Array(a)),(a instanceof Int8Array||typeof Uint8ClampedArray<"u"&&a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array)&&(a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength)),a instanceof Uint8Array){for(var o=a.byteLength,c=[],u=0;u<o;u++)c[u>>>2]|=a[u]<<24-u%4*8;s.call(this,c,o)}else s.apply(this,arguments)};i.prototype=n}}(),t.lib.WordArray})});var mDe=E((ND,pDe)=>{(function(t,e){typeof ND=="object"?pDe.exports=ND=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ND,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,i=s.Utf16=s.Utf16BE={stringify:function(o){for(var c=o.words,u=o.sigBytes,l=[],d=0;d<u;d+=2){var f=c[d>>>2]>>>16-d%4*8&65535;l.push(String.fromCharCode(f))}return l.join("")},parse:function(o){for(var c=o.length,u=[],l=0;l<c;l++)u[l>>>1]|=o.charCodeAt(l)<<16-l%2*16;return n.create(u,c*2)}};s.Utf16LE={stringify:function(o){for(var c=o.words,u=o.sigBytes,l=[],d=0;d<u;d+=2){var f=a(c[d>>>2]>>>16-d%4*8&65535);l.push(String.fromCharCode(f))}return l.join("")},parse:function(o){for(var c=o.length,u=[],l=0;l<c;l++)u[l>>>1]|=a(o.charCodeAt(l)<<16-l%2*16);return n.create(u,c*2)}};function a(o){return o<<8&4278255360|o>>>8&16711935}}(),t.enc.Utf16})});var f0=E((OD,hDe)=>{(function(t,e){typeof OD=="object"?hDe.exports=OD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(OD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,i=s.Base64={stringify:function(o){var c=o.words,u=o.sigBytes,l=this._map;o.clamp();for(var d=[],f=0;f<u;f+=3)for(var p=c[f>>>2]>>>24-f%4*8&255,m=c[f+1>>>2]>>>24-(f+1)%4*8&255,h=c[f+2>>>2]>>>24-(f+2)%4*8&255,A=p<<16|m<<8|h,g=0;g<4&&f+g*.75<u;g++)d.push(l.charAt(A>>>6*(3-g)&63));var b=l.charAt(64);if(b)for(;d.length%4;)d.push(b);return d.join("")},parse:function(o){var c=o.length,u=this._map,l=this._reverseMap;if(!l){l=this._reverseMap=[];for(var d=0;d<u.length;d++)l[u.charCodeAt(d)]=d}var f=u.charAt(64);if(f){var p=o.indexOf(f);p!==-1&&(c=p)}return a(o,c,l)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function a(o,c,u){for(var l=[],d=0,f=0;f<c;f++)if(f%4){var p=u[o.charCodeAt(f-1)]<<f%4*2,m=u[o.charCodeAt(f)]>>>6-f%4*2,h=p|m;l[d>>>2]|=h<<24-d%4*8,d++}return n.create(l,d)}}(),t.enc.Base64})});var ADe=E((PD,gDe)=>{(function(t,e){typeof PD=="object"?gDe.exports=PD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(PD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,i=s.Base64url={stringify:function(o,c){c===void 0&&(c=!0);var u=o.words,l=o.sigBytes,d=c?this._safe_map:this._map;o.clamp();for(var f=[],p=0;p<l;p+=3)for(var m=u[p>>>2]>>>24-p%4*8&255,h=u[p+1>>>2]>>>24-(p+1)%4*8&255,A=u[p+2>>>2]>>>24-(p+2)%4*8&255,g=m<<16|h<<8|A,b=0;b<4&&p+b*.75<l;b++)f.push(d.charAt(g>>>6*(3-b)&63));var y=d.charAt(64);if(y)for(;f.length%4;)f.push(y);return f.join("")},parse:function(o,c){c===void 0&&(c=!0);var u=o.length,l=c?this._safe_map:this._map,d=this._reverseMap;if(!d){d=this._reverseMap=[];for(var f=0;f<l.length;f++)d[l.charCodeAt(f)]=f}var p=l.charAt(64);if(p){var m=o.indexOf(p);m!==-1&&(u=m)}return a(o,u,d)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function a(o,c,u){for(var l=[],d=0,f=0;f<c;f++)if(f%4){var p=u[o.charCodeAt(f-1)]<<f%4*2,m=u[o.charCodeAt(f)]>>>6-f%4*2,h=p|m;l[d>>>2]|=h<<24-d%4*8,d++}return n.create(l,d)}}(),t.enc.Base64url})});var p0=E((DD,yDe)=>{(function(t,e){typeof DD=="object"?yDe.exports=DD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(DD,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=[];(function(){for(var p=0;p<64;p++)o[p]=e.abs(e.sin(p+1))*4294967296|0})();var c=a.MD5=i.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(p,m){for(var h=0;h<16;h++){var A=m+h,g=p[A];p[A]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360}var b=this._hash.words,y=p[m+0],x=p[m+1],v=p[m+2],C=p[m+3],R=p[m+4],w=p[m+5],N=p[m+6],P=p[m+7],L=p[m+8],M=p[m+9],k=p[m+10],B=p[m+11],Z=p[m+12],W=p[m+13],F=p[m+14],V=p[m+15],j=b[0],J=b[1],se=b[2],oe=b[3];j=u(j,J,se,oe,y,7,o[0]),oe=u(oe,j,J,se,x,12,o[1]),se=u(se,oe,j,J,v,17,o[2]),J=u(J,se,oe,j,C,22,o[3]),j=u(j,J,se,oe,R,7,o[4]),oe=u(oe,j,J,se,w,12,o[5]),se=u(se,oe,j,J,N,17,o[6]),J=u(J,se,oe,j,P,22,o[7]),j=u(j,J,se,oe,L,7,o[8]),oe=u(oe,j,J,se,M,12,o[9]),se=u(se,oe,j,J,k,17,o[10]),J=u(J,se,oe,j,B,22,o[11]),j=u(j,J,se,oe,Z,7,o[12]),oe=u(oe,j,J,se,W,12,o[13]),se=u(se,oe,j,J,F,17,o[14]),J=u(J,se,oe,j,V,22,o[15]),j=l(j,J,se,oe,x,5,o[16]),oe=l(oe,j,J,se,N,9,o[17]),se=l(se,oe,j,J,B,14,o[18]),J=l(J,se,oe,j,y,20,o[19]),j=l(j,J,se,oe,w,5,o[20]),oe=l(oe,j,J,se,k,9,o[21]),se=l(se,oe,j,J,V,14,o[22]),J=l(J,se,oe,j,R,20,o[23]),j=l(j,J,se,oe,M,5,o[24]),oe=l(oe,j,J,se,F,9,o[25]),se=l(se,oe,j,J,C,14,o[26]),J=l(J,se,oe,j,L,20,o[27]),j=l(j,J,se,oe,W,5,o[28]),oe=l(oe,j,J,se,v,9,o[29]),se=l(se,oe,j,J,P,14,o[30]),J=l(J,se,oe,j,Z,20,o[31]),j=d(j,J,se,oe,w,4,o[32]),oe=d(oe,j,J,se,L,11,o[33]),se=d(se,oe,j,J,B,16,o[34]),J=d(J,se,oe,j,F,23,o[35]),j=d(j,J,se,oe,x,4,o[36]),oe=d(oe,j,J,se,R,11,o[37]),se=d(se,oe,j,J,P,16,o[38]),J=d(J,se,oe,j,k,23,o[39]),j=d(j,J,se,oe,W,4,o[40]),oe=d(oe,j,J,se,y,11,o[41]),se=d(se,oe,j,J,C,16,o[42]),J=d(J,se,oe,j,N,23,o[43]),j=d(j,J,se,oe,M,4,o[44]),oe=d(oe,j,J,se,Z,11,o[45]),se=d(se,oe,j,J,V,16,o[46]),J=d(J,se,oe,j,v,23,o[47]),j=f(j,J,se,oe,y,6,o[48]),oe=f(oe,j,J,se,P,10,o[49]),se=f(se,oe,j,J,F,15,o[50]),J=f(J,se,oe,j,w,21,o[51]),j=f(j,J,se,oe,Z,6,o[52]),oe=f(oe,j,J,se,C,10,o[53]),se=f(se,oe,j,J,k,15,o[54]),J=f(J,se,oe,j,x,21,o[55]),j=f(j,J,se,oe,L,6,o[56]),oe=f(oe,j,J,se,V,10,o[57]),se=f(se,oe,j,J,N,15,o[58]),J=f(J,se,oe,j,W,21,o[59]),j=f(j,J,se,oe,R,6,o[60]),oe=f(oe,j,J,se,B,10,o[61]),se=f(se,oe,j,J,v,15,o[62]),J=f(J,se,oe,j,M,21,o[63]),b[0]=b[0]+j|0,b[1]=b[1]+J|0,b[2]=b[2]+se|0,b[3]=b[3]+oe|0},_doFinalize:function(){var p=this._data,m=p.words,h=this._nDataBytes*8,A=p.sigBytes*8;m[A>>>5]|=128<<24-A%32;var g=e.floor(h/4294967296),b=h;m[(A+64>>>9<<4)+15]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,m[(A+64>>>9<<4)+14]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360,p.sigBytes=(m.length+1)*4,this._process();for(var y=this._hash,x=y.words,v=0;v<4;v++){var C=x[v];x[v]=(C<<8|C>>>24)&16711935|(C<<24|C>>>8)&4278255360}return y},clone:function(){var p=i.clone.call(this);return p._hash=this._hash.clone(),p}});function u(p,m,h,A,g,b,y){var x=p+(m&h|~m&A)+g+y;return(x<<b|x>>>32-b)+m}function l(p,m,h,A,g,b,y){var x=p+(m&A|h&~A)+g+y;return(x<<b|x>>>32-b)+m}function d(p,m,h,A,g,b,y){var x=p+(m^h^A)+g+y;return(x<<b|x>>>32-b)+m}function f(p,m,h,A,g,b,y){var x=p+(h^(m|~A))+g+y;return(x<<b|x>>>32-b)+m}r.MD5=i._createHelper(c),r.HmacMD5=i._createHmacHelper(c)}(Math),t.MD5})});var DQ=E((kD,xDe)=>{(function(t,e){typeof kD=="object"?xDe.exports=kD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(kD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=r.Hasher,i=e.algo,a=[],o=i.SHA1=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(c,u){for(var l=this._hash.words,d=l[0],f=l[1],p=l[2],m=l[3],h=l[4],A=0;A<80;A++){if(A<16)a[A]=c[u+A]|0;else{var g=a[A-3]^a[A-8]^a[A-14]^a[A-16];a[A]=g<<1|g>>>31}var b=(d<<5|d>>>27)+h+a[A];A<20?b+=(f&p|~f&m)+1518500249:A<40?b+=(f^p^m)+1859775393:A<60?b+=(f&p|f&m|p&m)-1894007588:b+=(f^p^m)-899497514,h=m,m=p,p=f<<30|f>>>2,f=d,d=b}l[0]=l[0]+d|0,l[1]=l[1]+f|0,l[2]=l[2]+p|0,l[3]=l[3]+m|0,l[4]=l[4]+h|0},_doFinalize:function(){var c=this._data,u=c.words,l=this._nDataBytes*8,d=c.sigBytes*8;return u[d>>>5]|=128<<24-d%32,u[(d+64>>>9<<4)+14]=Math.floor(l/4294967296),u[(d+64>>>9<<4)+15]=l,c.sigBytes=u.length*4,this._process(),this._hash},clone:function(){var c=s.clone.call(this);return c._hash=this._hash.clone(),c}});e.SHA1=s._createHelper(o),e.HmacSHA1=s._createHmacHelper(o)}(),t.SHA1})});var BD=E((LD,bDe)=>{(function(t,e){typeof LD=="object"?bDe.exports=LD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(LD,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=[],c=[];(function(){function d(h){for(var A=e.sqrt(h),g=2;g<=A;g++)if(!(h%g))return!1;return!0}function f(h){return(h-(h|0))*4294967296|0}for(var p=2,m=0;m<64;)d(p)&&(m<8&&(o[m]=f(e.pow(p,1/2))),c[m]=f(e.pow(p,1/3)),m++),p++})();var u=[],l=a.SHA256=i.extend({_doReset:function(){this._hash=new s.init(o.slice(0))},_doProcessBlock:function(d,f){for(var p=this._hash.words,m=p[0],h=p[1],A=p[2],g=p[3],b=p[4],y=p[5],x=p[6],v=p[7],C=0;C<64;C++){if(C<16)u[C]=d[f+C]|0;else{var R=u[C-15],w=(R<<25|R>>>7)^(R<<14|R>>>18)^R>>>3,N=u[C-2],P=(N<<15|N>>>17)^(N<<13|N>>>19)^N>>>10;u[C]=w+u[C-7]+P+u[C-16]}var L=b&y^~b&x,M=m&h^m&A^h&A,k=(m<<30|m>>>2)^(m<<19|m>>>13)^(m<<10|m>>>22),B=(b<<26|b>>>6)^(b<<21|b>>>11)^(b<<7|b>>>25),Z=v+B+L+c[C]+u[C],W=k+M;v=x,x=y,y=b,b=g+Z|0,g=A,A=h,h=m,m=Z+W|0}p[0]=p[0]+m|0,p[1]=p[1]+h|0,p[2]=p[2]+A|0,p[3]=p[3]+g|0,p[4]=p[4]+b|0,p[5]=p[5]+y|0,p[6]=p[6]+x|0,p[7]=p[7]+v|0},_doFinalize:function(){var d=this._data,f=d.words,p=this._nDataBytes*8,m=d.sigBytes*8;return f[m>>>5]|=128<<24-m%32,f[(m+64>>>9<<4)+14]=e.floor(p/4294967296),f[(m+64>>>9<<4)+15]=p,d.sigBytes=f.length*4,this._process(),this._hash},clone:function(){var d=i.clone.call(this);return d._hash=this._hash.clone(),d}});r.SHA256=i._createHelper(l),r.HmacSHA256=i._createHmacHelper(l)}(Math),t.SHA256})});var _De=E((MD,EDe)=>{(function(t,e,r){typeof MD=="object"?EDe.exports=MD=e(pr(),BD()):typeof define=="function"&&define.amd?define(["./core","./sha256"],e):e(t.CryptoJS)})(MD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.algo,i=s.SHA256,a=s.SHA224=i.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var o=i._doFinalize.call(this);return o.sigBytes-=4,o}});e.SHA224=i._createHelper(a),e.HmacSHA224=i._createHmacHelper(a)}(),t.SHA224})});var kQ=E((WD,SDe)=>{(function(t,e,r){typeof WD=="object"?SDe.exports=WD=e(pr(),Iv()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(WD,function(t){return function(){var e=t,r=e.lib,n=r.Hasher,s=e.x64,i=s.Word,a=s.WordArray,o=e.algo;function c(){return i.create.apply(i,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];(function(){for(var f=0;f<80;f++)l[f]=c()})();var d=o.SHA512=n.extend({_doReset:function(){this._hash=new a.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(f,p){for(var m=this._hash.words,h=m[0],A=m[1],g=m[2],b=m[3],y=m[4],x=m[5],v=m[6],C=m[7],R=h.high,w=h.low,N=A.high,P=A.low,L=g.high,M=g.low,k=b.high,B=b.low,Z=y.high,W=y.low,F=x.high,V=x.low,j=v.high,J=v.low,se=C.high,oe=C.low,ue=R,Ce=w,we=N,qe=P,Fe=L,_e=M,U=k,G=B,z=Z,q=W,H=F,ee=V,ne=j,re=J,X=se,ie=oe,ce=0;ce<80;ce++){var fe,Ne,Pe=l[ce];if(ce<16)Ne=Pe.high=f[p+ce*2]|0,fe=Pe.low=f[p+ce*2+1]|0;else{var Ue=l[ce-15],Ke=Ue.high,Ye=Ue.low,Ze=(Ke>>>1|Ye<<31)^(Ke>>>8|Ye<<24)^Ke>>>7,nt=(Ye>>>1|Ke<<31)^(Ye>>>8|Ke<<24)^(Ye>>>7|Ke<<25),ct=l[ce-2],tt=ct.high,Dt=ct.low,lt=(tt>>>19|Dt<<13)^(tt<<3|Dt>>>29)^tt>>>6,De=(Dt>>>19|tt<<13)^(Dt<<3|tt>>>29)^(Dt>>>6|tt<<26),Je=l[ce-7],ft=Je.high,rt=Je.low,bt=l[ce-16],An=bt.high,Ct=bt.low;fe=nt+rt,Ne=Ze+ft+(fe>>>0<nt>>>0?1:0),fe=fe+De,Ne=Ne+lt+(fe>>>0<De>>>0?1:0),fe=fe+Ct,Ne=Ne+An+(fe>>>0<Ct>>>0?1:0),Pe.high=Ne,Pe.low=fe}var Sr=z&H^~z&ne,Us=q&ee^~q&re,Dr=ue&we^ue&Fe^we&Fe,qs=Ce&qe^Ce&_e^qe&_e,js=(ue>>>28|Ce<<4)^(ue<<30|Ce>>>2)^(ue<<25|Ce>>>7),ys=(Ce>>>28|ue<<4)^(Ce<<30|ue>>>2)^(Ce<<25|ue>>>7),Hs=(z>>>14|q<<18)^(z>>>18|q<<14)^(z<<23|q>>>9),Lu=(q>>>14|z<<18)^(q>>>18|z<<14)^(q<<23|z>>>9),go=u[ce],Dc=go.high,Ta=go.low,yn=ie+Lu,wa=X+Hs+(yn>>>0<ie>>>0?1:0),yn=yn+Us,wa=wa+Sr+(yn>>>0<Us>>>0?1:0),yn=yn+Ta,wa=wa+Dc+(yn>>>0<Ta>>>0?1:0),yn=yn+fe,wa=wa+Ne+(yn>>>0<fe>>>0?1:0),rd=ys+qs,Ao=js+Dr+(rd>>>0<ys>>>0?1:0);X=ne,ie=re,ne=H,re=ee,H=z,ee=q,q=G+yn|0,z=U+wa+(q>>>0<G>>>0?1:0)|0,U=Fe,G=_e,Fe=we,_e=qe,we=ue,qe=Ce,Ce=yn+rd|0,ue=wa+Ao+(Ce>>>0<yn>>>0?1:0)|0}w=h.low=w+Ce,h.high=R+ue+(w>>>0<Ce>>>0?1:0),P=A.low=P+qe,A.high=N+we+(P>>>0<qe>>>0?1:0),M=g.low=M+_e,g.high=L+Fe+(M>>>0<_e>>>0?1:0),B=b.low=B+G,b.high=k+U+(B>>>0<G>>>0?1:0),W=y.low=W+q,y.high=Z+z+(W>>>0<q>>>0?1:0),V=x.low=V+ee,x.high=F+H+(V>>>0<ee>>>0?1:0),J=v.low=J+re,v.high=j+ne+(J>>>0<re>>>0?1:0),oe=C.low=oe+ie,C.high=se+X+(oe>>>0<ie>>>0?1:0)},_doFinalize:function(){var f=this._data,p=f.words,m=this._nDataBytes*8,h=f.sigBytes*8;p[h>>>5]|=128<<24-h%32,p[(h+128>>>10<<5)+30]=Math.floor(m/4294967296),p[(h+128>>>10<<5)+31]=m,f.sigBytes=p.length*4,this._process();var A=this._hash.toX32();return A},clone:function(){var f=n.clone.call(this);return f._hash=this._hash.clone(),f},blockSize:1024/32});e.SHA512=n._createHelper(d),e.HmacSHA512=n._createHmacHelper(d)}(),t.SHA512})});var CDe=E(($D,vDe)=>{(function(t,e,r){typeof $D=="object"?vDe.exports=$D=e(pr(),Iv(),kQ()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./sha512"],e):e(t.CryptoJS)})($D,function(t){return function(){var e=t,r=e.x64,n=r.Word,s=r.WordArray,i=e.algo,a=i.SHA512,o=i.SHA384=a.extend({_doReset:function(){this._hash=new s.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var c=a._doFinalize.call(this);return c.sigBytes-=16,c}});e.SHA384=a._createHelper(o),e.HmacSHA384=a._createHmacHelper(o)}(),t.SHA384})});var TDe=E((FD,IDe)=>{(function(t,e,r){typeof FD=="object"?IDe.exports=FD=e(pr(),Iv()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(FD,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.x64,o=a.Word,c=r.algo,u=[],l=[],d=[];(function(){for(var m=1,h=0,A=0;A<24;A++){u[m+5*h]=(A+1)*(A+2)/2%64;var g=h%5,b=(2*m+3*h)%5;m=g,h=b}for(var m=0;m<5;m++)for(var h=0;h<5;h++)l[m+5*h]=h+(2*m+3*h)%5*5;for(var y=1,x=0;x<24;x++){for(var v=0,C=0,R=0;R<7;R++){if(y&1){var w=(1<<R)-1;w<32?C^=1<<w:v^=1<<w-32}y&128?y=y<<1^113:y<<=1}d[x]=o.create(v,C)}})();var f=[];(function(){for(var m=0;m<25;m++)f[m]=o.create()})();var p=c.SHA3=i.extend({cfg:i.cfg.extend({outputLength:512}),_doReset:function(){for(var m=this._state=[],h=0;h<25;h++)m[h]=new o.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(m,h){for(var A=this._state,g=this.blockSize/2,b=0;b<g;b++){var y=m[h+2*b],x=m[h+2*b+1];y=(y<<8|y>>>24)&16711935|(y<<24|y>>>8)&4278255360,x=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360;var v=A[b];v.high^=x,v.low^=y}for(var C=0;C<24;C++){for(var R=0;R<5;R++){for(var w=0,N=0,P=0;P<5;P++){var v=A[R+5*P];w^=v.high,N^=v.low}var L=f[R];L.high=w,L.low=N}for(var R=0;R<5;R++)for(var M=f[(R+4)%5],k=f[(R+1)%5],B=k.high,Z=k.low,w=M.high^(B<<1|Z>>>31),N=M.low^(Z<<1|B>>>31),P=0;P<5;P++){var v=A[R+5*P];v.high^=w,v.low^=N}for(var W=1;W<25;W++){var w,N,v=A[W],F=v.high,V=v.low,j=u[W];j<32?(w=F<<j|V>>>32-j,N=V<<j|F>>>32-j):(w=V<<j-32|F>>>64-j,N=F<<j-32|V>>>64-j);var J=f[l[W]];J.high=w,J.low=N}var se=f[0],oe=A[0];se.high=oe.high,se.low=oe.low;for(var R=0;R<5;R++)for(var P=0;P<5;P++){var W=R+5*P,v=A[W],ue=f[W],Ce=f[(R+1)%5+5*P],we=f[(R+2)%5+5*P];v.high=ue.high^~Ce.high&we.high,v.low=ue.low^~Ce.low&we.low}var v=A[0],qe=d[C];v.high^=qe.high,v.low^=qe.low}},_doFinalize:function(){var m=this._data,h=m.words,A=this._nDataBytes*8,g=m.sigBytes*8,b=this.blockSize*32;h[g>>>5]|=1<<24-g%32,h[(e.ceil((g+1)/b)*b>>>5)-1]|=128,m.sigBytes=h.length*4,this._process();for(var y=this._state,x=this.cfg.outputLength/8,v=x/8,C=[],R=0;R<v;R++){var w=y[R],N=w.high,P=w.low;N=(N<<8|N>>>24)&16711935|(N<<24|N>>>8)&4278255360,P=(P<<8|P>>>24)&16711935|(P<<24|P>>>8)&4278255360,C.push(P),C.push(N)}return new s.init(C,x)},clone:function(){for(var m=i.clone.call(this),h=m._state=this._state.slice(0),A=0;A<25;A++)h[A]=h[A].clone();return m}});r.SHA3=i._createHelper(p),r.HmacSHA3=i._createHmacHelper(p)}(Math),t.SHA3})});var RDe=E((UD,wDe)=>{(function(t,e){typeof UD=="object"?wDe.exports=UD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(UD,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),u=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),l=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),d=s.create([0,1518500249,1859775393,2400959708,2840853838]),f=s.create([1352829926,1548603684,1836072691,2053994217,0]),p=a.RIPEMD160=i.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(x,v){for(var C=0;C<16;C++){var R=v+C,w=x[R];x[R]=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360}var N=this._hash.words,P=d.words,L=f.words,M=o.words,k=c.words,B=u.words,Z=l.words,W,F,V,j,J,se,oe,ue,Ce,we;se=W=N[0],oe=F=N[1],ue=V=N[2],Ce=j=N[3],we=J=N[4];for(var qe,C=0;C<80;C+=1)qe=W+x[v+M[C]]|0,C<16?qe+=m(F,V,j)+P[0]:C<32?qe+=h(F,V,j)+P[1]:C<48?qe+=A(F,V,j)+P[2]:C<64?qe+=g(F,V,j)+P[3]:qe+=b(F,V,j)+P[4],qe=qe|0,qe=y(qe,B[C]),qe=qe+J|0,W=J,J=j,j=y(V,10),V=F,F=qe,qe=se+x[v+k[C]]|0,C<16?qe+=b(oe,ue,Ce)+L[0]:C<32?qe+=g(oe,ue,Ce)+L[1]:C<48?qe+=A(oe,ue,Ce)+L[2]:C<64?qe+=h(oe,ue,Ce)+L[3]:qe+=m(oe,ue,Ce)+L[4],qe=qe|0,qe=y(qe,Z[C]),qe=qe+we|0,se=we,we=Ce,Ce=y(ue,10),ue=oe,oe=qe;qe=N[1]+V+Ce|0,N[1]=N[2]+j+we|0,N[2]=N[3]+J+se|0,N[3]=N[4]+W+oe|0,N[4]=N[0]+F+ue|0,N[0]=qe},_doFinalize:function(){var x=this._data,v=x.words,C=this._nDataBytes*8,R=x.sigBytes*8;v[R>>>5]|=128<<24-R%32,v[(R+64>>>9<<4)+14]=(C<<8|C>>>24)&16711935|(C<<24|C>>>8)&4278255360,x.sigBytes=(v.length+1)*4,this._process();for(var w=this._hash,N=w.words,P=0;P<5;P++){var L=N[P];N[P]=(L<<8|L>>>24)&16711935|(L<<24|L>>>8)&4278255360}return w},clone:function(){var x=i.clone.call(this);return x._hash=this._hash.clone(),x}});function m(x,v,C){return x^v^C}function h(x,v,C){return x&v|~x&C}function A(x,v,C){return(x|~v)^C}function g(x,v,C){return x&C|v&~C}function b(x,v,C){return x^(v|~C)}function y(x,v){return x<<v|x>>>32-v}r.RIPEMD160=i._createHelper(p),r.HmacRIPEMD160=i._createHmacHelper(p)}(Math),t.RIPEMD160})});var jD=E((qD,NDe)=>{(function(t,e){typeof qD=="object"?NDe.exports=qD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(qD,function(t){(function(){var e=t,r=e.lib,n=r.Base,s=e.enc,i=s.Utf8,a=e.algo,o=a.HMAC=n.extend({init:function(c,u){c=this._hasher=new c.init,typeof u=="string"&&(u=i.parse(u));var l=c.blockSize,d=l*4;u.sigBytes>d&&(u=c.finalize(u)),u.clamp();for(var f=this._oKey=u.clone(),p=this._iKey=u.clone(),m=f.words,h=p.words,A=0;A<l;A++)m[A]^=1549556828,h[A]^=909522486;f.sigBytes=p.sigBytes=d,this.reset()},reset:function(){var c=this._hasher;c.reset(),c.update(this._iKey)},update:function(c){return this._hasher.update(c),this},finalize:function(c){var u=this._hasher,l=u.finalize(c);u.reset();var d=u.finalize(this._oKey.clone().concat(l));return d}})})()})});var PDe=E((HD,ODe)=>{(function(t,e,r){typeof HD=="object"?ODe.exports=HD=e(pr(),BD(),jD()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(t.CryptoJS)})(HD,function(t){return function(){var e=t,r=e.lib,n=r.Base,s=r.WordArray,i=e.algo,a=i.SHA256,o=i.HMAC,c=i.PBKDF2=n.extend({cfg:n.extend({keySize:128/32,hasher:a,iterations:25e4}),init:function(u){this.cfg=this.cfg.extend(u)},compute:function(u,l){for(var d=this.cfg,f=o.create(d.hasher,u),p=s.create(),m=s.create([1]),h=p.words,A=m.words,g=d.keySize,b=d.iterations;h.length<g;){var y=f.update(l).finalize(m);f.reset();for(var x=y.words,v=x.length,C=y,R=1;R<b;R++){C=f.finalize(C),f.reset();for(var w=C.words,N=0;N<v;N++)x[N]^=w[N]}p.concat(y),A[0]++}return p.sigBytes=g*4,p}});e.PBKDF2=function(u,l,d){return c.create(d).compute(u,l)}}(),t.PBKDF2})});var Vd=E((QD,DDe)=>{(function(t,e,r){typeof QD=="object"?DDe.exports=QD=e(pr(),DQ(),jD()):typeof define=="function"&&define.amd?define(["./core","./sha1","./hmac"],e):e(t.CryptoJS)})(QD,function(t){return function(){var e=t,r=e.lib,n=r.Base,s=r.WordArray,i=e.algo,a=i.MD5,o=i.EvpKDF=n.extend({cfg:n.extend({keySize:128/32,hasher:a,iterations:1}),init:function(c){this.cfg=this.cfg.extend(c)},compute:function(c,u){for(var l,d=this.cfg,f=d.hasher.create(),p=s.create(),m=p.words,h=d.keySize,A=d.iterations;m.length<h;){l&&f.update(l),l=f.update(c).finalize(u),f.reset();for(var g=1;g<A;g++)l=f.finalize(l),f.reset();p.concat(l)}return p.sigBytes=h*4,p}});e.EvpKDF=function(c,u,l){return o.create(l).compute(c,u)}}(),t.EvpKDF})});var Ns=E((GD,kDe)=>{(function(t,e,r){typeof GD=="object"?kDe.exports=GD=e(pr(),Vd()):typeof define=="function"&&define.amd?define(["./core","./evpkdf"],e):e(t.CryptoJS)})(GD,function(t){t.lib.Cipher||function(e){var r=t,n=r.lib,s=n.Base,i=n.WordArray,a=n.BufferedBlockAlgorithm,o=r.enc,c=o.Utf8,u=o.Base64,l=r.algo,d=l.EvpKDF,f=n.Cipher=a.extend({cfg:s.extend(),createEncryptor:function(L,M){return this.create(this._ENC_XFORM_MODE,L,M)},createDecryptor:function(L,M){return this.create(this._DEC_XFORM_MODE,L,M)},init:function(L,M,k){this.cfg=this.cfg.extend(k),this._xformMode=L,this._key=M,this.reset()},reset:function(){a.reset.call(this),this._doReset()},process:function(L){return this._append(L),this._process()},finalize:function(L){L&&this._append(L);var M=this._doFinalize();return M},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function L(M){return typeof M=="string"?P:R}return function(M){return{encrypt:function(k,B,Z){return L(B).encrypt(M,k,B,Z)},decrypt:function(k,B,Z){return L(B).decrypt(M,k,B,Z)}}}}()}),p=n.StreamCipher=f.extend({_doFinalize:function(){var L=this._process(!0);return L},blockSize:1}),m=r.mode={},h=n.BlockCipherMode=s.extend({createEncryptor:function(L,M){return this.Encryptor.create(L,M)},createDecryptor:function(L,M){return this.Decryptor.create(L,M)},init:function(L,M){this._cipher=L,this._iv=M}}),A=m.CBC=function(){var L=h.extend();L.Encryptor=L.extend({processBlock:function(k,B){var Z=this._cipher,W=Z.blockSize;M.call(this,k,B,W),Z.encryptBlock(k,B),this._prevBlock=k.slice(B,B+W)}}),L.Decryptor=L.extend({processBlock:function(k,B){var Z=this._cipher,W=Z.blockSize,F=k.slice(B,B+W);Z.decryptBlock(k,B),M.call(this,k,B,W),this._prevBlock=F}});function M(k,B,Z){var W,F=this._iv;F?(W=F,this._iv=e):W=this._prevBlock;for(var V=0;V<Z;V++)k[B+V]^=W[V]}return L}(),g=r.pad={},b=g.Pkcs7={pad:function(L,M){for(var k=M*4,B=k-L.sigBytes%k,Z=B<<24|B<<16|B<<8|B,W=[],F=0;F<B;F+=4)W.push(Z);var V=i.create(W,B);L.concat(V)},unpad:function(L){var M=L.words[L.sigBytes-1>>>2]&255;L.sigBytes-=M}},y=n.BlockCipher=f.extend({cfg:f.cfg.extend({mode:A,padding:b}),reset:function(){var L;f.reset.call(this);var M=this.cfg,k=M.iv,B=M.mode;this._xformMode==this._ENC_XFORM_MODE?L=B.createEncryptor:(L=B.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==L?this._mode.init(this,k&&k.words):(this._mode=L.call(B,this,k&&k.words),this._mode.__creator=L)},_doProcessBlock:function(L,M){this._mode.processBlock(L,M)},_doFinalize:function(){var L,M=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(M.pad(this._data,this.blockSize),L=this._process(!0)):(L=this._process(!0),M.unpad(L)),L},blockSize:128/32}),x=n.CipherParams=s.extend({init:function(L){this.mixIn(L)},toString:function(L){return(L||this.formatter).stringify(this)}}),v=r.format={},C=v.OpenSSL={stringify:function(L){var M,k=L.ciphertext,B=L.salt;return B?M=i.create([1398893684,1701076831]).concat(B).concat(k):M=k,M.toString(u)},parse:function(L){var M,k=u.parse(L),B=k.words;return B[0]==1398893684&&B[1]==1701076831&&(M=i.create(B.slice(2,4)),B.splice(0,4),k.sigBytes-=16),x.create({ciphertext:k,salt:M})}},R=n.SerializableCipher=s.extend({cfg:s.extend({format:C}),encrypt:function(L,M,k,B){B=this.cfg.extend(B);var Z=L.createEncryptor(k,B),W=Z.finalize(M),F=Z.cfg;return x.create({ciphertext:W,key:k,iv:F.iv,algorithm:L,mode:F.mode,padding:F.padding,blockSize:L.blockSize,formatter:B.format})},decrypt:function(L,M,k,B){B=this.cfg.extend(B),M=this._parse(M,B.format);var Z=L.createDecryptor(k,B).finalize(M.ciphertext);return Z},_parse:function(L,M){return typeof L=="string"?M.parse(L,this):L}}),w=r.kdf={},N=w.OpenSSL={execute:function(L,M,k,B,Z){if(B||(B=i.random(64/8)),Z)var W=d.create({keySize:M+k,hasher:Z}).compute(L,B);else var W=d.create({keySize:M+k}).compute(L,B);var F=i.create(W.words.slice(M),k*4);return W.sigBytes=M*4,x.create({key:W,iv:F,salt:B})}},P=n.PasswordBasedCipher=R.extend({cfg:R.cfg.extend({kdf:N}),encrypt:function(L,M,k,B){B=this.cfg.extend(B);var Z=B.kdf.execute(k,L.keySize,L.ivSize,B.salt,B.hasher);B.iv=Z.iv;var W=R.encrypt.call(this,L,M,Z.key,B);return W.mixIn(Z),W},decrypt:function(L,M,k,B){B=this.cfg.extend(B),M=this._parse(M,B.format);var Z=B.kdf.execute(k,L.keySize,L.ivSize,M.salt,B.hasher);B.iv=Z.iv;var W=R.decrypt.call(this,L,M,Z.key,B);return W}})}()})});var BDe=E((VD,LDe)=>{(function(t,e,r){typeof VD=="object"?LDe.exports=VD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(VD,function(t){return t.mode.CFB=function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize;r.call(this,n,s,a,i),this._prevBlock=n.slice(s,s+a)}}),e.Decryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=n.slice(s,s+a);r.call(this,n,s,a,i),this._prevBlock=o}});function r(n,s,i,a){var o,c=this._iv;c?(o=c.slice(0),this._iv=void 0):o=this._prevBlock,a.encryptBlock(o,0);for(var u=0;u<i;u++)n[s+u]^=o[u]}return e}(),t.mode.CFB})});var WDe=E((zD,MDe)=>{(function(t,e,r){typeof zD=="object"?MDe.exports=zD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(zD,function(t){return t.mode.CTR=function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=this._iv,c=this._counter;o&&(c=this._counter=o.slice(0),this._iv=void 0);var u=c.slice(0);i.encryptBlock(u,0),c[a-1]=c[a-1]+1|0;for(var l=0;l<a;l++)n[s+l]^=u[l]}});return e.Decryptor=r,e}(),t.mode.CTR})});var FDe=E((KD,$De)=>{(function(t,e,r){typeof KD=="object"?$De.exports=KD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(KD,function(t){return t.mode.CTRGladman=function(){var e=t.lib.BlockCipherMode.extend();function r(i){if((i>>24&255)===255){var a=i>>16&255,o=i>>8&255,c=i&255;a===255?(a=0,o===255?(o=0,c===255?c=0:++c):++o):++a,i=0,i+=a<<16,i+=o<<8,i+=c}else i+=1<<24;return i}function n(i){return(i[0]=r(i[0]))===0&&(i[1]=r(i[1])),i}var s=e.Encryptor=e.extend({processBlock:function(i,a){var o=this._cipher,c=o.blockSize,u=this._iv,l=this._counter;u&&(l=this._counter=u.slice(0),this._iv=void 0),n(l);var d=l.slice(0);o.encryptBlock(d,0);for(var f=0;f<c;f++)i[a+f]^=d[f]}});return e.Decryptor=s,e}(),t.mode.CTRGladman})});var qDe=E((YD,UDe)=>{(function(t,e,r){typeof YD=="object"?UDe.exports=YD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(YD,function(t){return t.mode.OFB=function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=this._iv,c=this._keystream;o&&(c=this._keystream=o.slice(0),this._iv=void 0),i.encryptBlock(c,0);for(var u=0;u<a;u++)n[s+u]^=c[u]}});return e.Decryptor=r,e}(),t.mode.OFB})});var HDe=E((JD,jDe)=>{(function(t,e,r){typeof JD=="object"?jDe.exports=JD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(JD,function(t){return t.mode.ECB=function(){var e=t.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(r,n){this._cipher.encryptBlock(r,n)}}),e.Decryptor=e.extend({processBlock:function(r,n){this._cipher.decryptBlock(r,n)}}),e}(),t.mode.ECB})});var GDe=E((XD,QDe)=>{(function(t,e,r){typeof XD=="object"?QDe.exports=XD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(XD,function(t){return t.pad.AnsiX923={pad:function(e,r){var n=e.sigBytes,s=r*4,i=s-n%s,a=n+i-1;e.clamp(),e.words[a>>>2]|=i<<24-a%4*8,e.sigBytes+=i},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Ansix923})});var zDe=E((ZD,VDe)=>{(function(t,e,r){typeof ZD=="object"?VDe.exports=ZD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(ZD,function(t){return t.pad.Iso10126={pad:function(e,r){var n=r*4,s=n-e.sigBytes%n;e.concat(t.lib.WordArray.random(s-1)).concat(t.lib.WordArray.create([s<<24],1))},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Iso10126})});var YDe=E((ek,KDe)=>{(function(t,e,r){typeof ek=="object"?KDe.exports=ek=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(ek,function(t){return t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,r)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971})});var XDe=E((tk,JDe)=>{(function(t,e,r){typeof tk=="object"?JDe.exports=tk=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(tk,function(t){return t.pad.ZeroPadding={pad:function(e,r){var n=r*4;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var r=e.words,n=e.sigBytes-1,n=e.sigBytes-1;n>=0;n--)if(r[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},t.pad.ZeroPadding})});var eke=E((rk,ZDe)=>{(function(t,e,r){typeof rk=="object"?ZDe.exports=rk=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(rk,function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding})});var rke=E((nk,tke)=>{(function(t,e,r){typeof nk=="object"?tke.exports=nk=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(nk,function(t){return function(e){var r=t,n=r.lib,s=n.CipherParams,i=r.enc,a=i.Hex,o=r.format,c=o.Hex={stringify:function(u){return u.ciphertext.toString(a)},parse:function(u){var l=a.parse(u);return s.create({ciphertext:l})}}}(),t.format.Hex})});var ske=E((sk,nke)=>{(function(t,e,r){typeof sk=="object"?nke.exports=sk=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(sk,function(t){return function(){var e=t,r=e.lib,n=r.BlockCipher,s=e.algo,i=[],a=[],o=[],c=[],u=[],l=[],d=[],f=[],p=[],m=[];(function(){for(var g=[],b=0;b<256;b++)b<128?g[b]=b<<1:g[b]=b<<1^283;for(var y=0,x=0,b=0;b<256;b++){var v=x^x<<1^x<<2^x<<3^x<<4;v=v>>>8^v&255^99,i[y]=v,a[v]=y;var C=g[y],R=g[C],w=g[R],N=g[v]*257^v*16843008;o[y]=N<<24|N>>>8,c[y]=N<<16|N>>>16,u[y]=N<<8|N>>>24,l[y]=N;var N=w*16843009^R*65537^C*257^y*16843008;d[v]=N<<24|N>>>8,f[v]=N<<16|N>>>16,p[v]=N<<8|N>>>24,m[v]=N,y?(y=C^g[g[g[w^C]]],x^=g[g[x]]):y=x=1}})();var h=[0,1,2,4,8,16,32,64,128,27,54],A=s.AES=n.extend({_doReset:function(){var g;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var b=this._keyPriorReset=this._key,y=b.words,x=b.sigBytes/4,v=this._nRounds=x+6,C=(v+1)*4,R=this._keySchedule=[],w=0;w<C;w++)w<x?R[w]=y[w]:(g=R[w-1],w%x?x>6&&w%x==4&&(g=i[g>>>24]<<24|i[g>>>16&255]<<16|i[g>>>8&255]<<8|i[g&255]):(g=g<<8|g>>>24,g=i[g>>>24]<<24|i[g>>>16&255]<<16|i[g>>>8&255]<<8|i[g&255],g^=h[w/x|0]<<24),R[w]=R[w-x]^g);for(var N=this._invKeySchedule=[],P=0;P<C;P++){var w=C-P;if(P%4)var g=R[w];else var g=R[w-4];P<4||w<=4?N[P]=g:N[P]=d[i[g>>>24]]^f[i[g>>>16&255]]^p[i[g>>>8&255]]^m[i[g&255]]}}},encryptBlock:function(g,b){this._doCryptBlock(g,b,this._keySchedule,o,c,u,l,i)},decryptBlock:function(g,b){var y=g[b+1];g[b+1]=g[b+3],g[b+3]=y,this._doCryptBlock(g,b,this._invKeySchedule,d,f,p,m,a);var y=g[b+1];g[b+1]=g[b+3],g[b+3]=y},_doCryptBlock:function(g,b,y,x,v,C,R,w){for(var N=this._nRounds,P=g[b]^y[0],L=g[b+1]^y[1],M=g[b+2]^y[2],k=g[b+3]^y[3],B=4,Z=1;Z<N;Z++){var W=x[P>>>24]^v[L>>>16&255]^C[M>>>8&255]^R[k&255]^y[B++],F=x[L>>>24]^v[M>>>16&255]^C[k>>>8&255]^R[P&255]^y[B++],V=x[M>>>24]^v[k>>>16&255]^C[P>>>8&255]^R[L&255]^y[B++],j=x[k>>>24]^v[P>>>16&255]^C[L>>>8&255]^R[M&255]^y[B++];P=W,L=F,M=V,k=j}var W=(w[P>>>24]<<24|w[L>>>16&255]<<16|w[M>>>8&255]<<8|w[k&255])^y[B++],F=(w[L>>>24]<<24|w[M>>>16&255]<<16|w[k>>>8&255]<<8|w[P&255])^y[B++],V=(w[M>>>24]<<24|w[k>>>16&255]<<16|w[P>>>8&255]<<8|w[L&255])^y[B++],j=(w[k>>>24]<<24|w[P>>>16&255]<<16|w[L>>>8&255]<<8|w[M&255])^y[B++];g[b]=W,g[b+1]=F,g[b+2]=V,g[b+3]=j},keySize:256/32});e.AES=n._createHelper(A)}(),t.AES})});var ake=E((ik,ike)=>{(function(t,e,r){typeof ik=="object"?ike.exports=ik=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(ik,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=r.BlockCipher,i=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],u=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],d=i.DES=s.extend({_doReset:function(){for(var h=this._key,A=h.words,g=[],b=0;b<56;b++){var y=a[b]-1;g[b]=A[y>>>5]>>>31-y%32&1}for(var x=this._subKeys=[],v=0;v<16;v++){for(var C=x[v]=[],R=c[v],b=0;b<24;b++)C[b/6|0]|=g[(o[b]-1+R)%28]<<31-b%6,C[4+(b/6|0)]|=g[28+(o[b+24]-1+R)%28]<<31-b%6;C[0]=C[0]<<1|C[0]>>>31;for(var b=1;b<7;b++)C[b]=C[b]>>>(b-1)*4+3;C[7]=C[7]<<5|C[7]>>>27}for(var w=this._invSubKeys=[],b=0;b<16;b++)w[b]=x[15-b]},encryptBlock:function(h,A){this._doCryptBlock(h,A,this._subKeys)},decryptBlock:function(h,A){this._doCryptBlock(h,A,this._invSubKeys)},_doCryptBlock:function(h,A,g){this._lBlock=h[A],this._rBlock=h[A+1],f.call(this,4,252645135),f.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),f.call(this,1,1431655765);for(var b=0;b<16;b++){for(var y=g[b],x=this._lBlock,v=this._rBlock,C=0,R=0;R<8;R++)C|=u[R][((v^y[R])&l[R])>>>0];this._lBlock=v,this._rBlock=x^C}var w=this._lBlock;this._lBlock=this._rBlock,this._rBlock=w,f.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),h[A]=this._lBlock,h[A+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function f(h,A){var g=(this._lBlock>>>h^this._rBlock)&A;this._rBlock^=g,this._lBlock^=g<<h}function p(h,A){var g=(this._rBlock>>>h^this._lBlock)&A;this._lBlock^=g,this._rBlock^=g<<h}e.DES=s._createHelper(d);var m=i.TripleDES=s.extend({_doReset:function(){var h=this._key,A=h.words;if(A.length!==2&&A.length!==4&&A.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var g=A.slice(0,2),b=A.length<4?A.slice(0,2):A.slice(2,4),y=A.length<6?A.slice(0,2):A.slice(4,6);this._des1=d.createEncryptor(n.create(g)),this._des2=d.createEncryptor(n.create(b)),this._des3=d.createEncryptor(n.create(y))},encryptBlock:function(h,A){this._des1.encryptBlock(h,A),this._des2.decryptBlock(h,A),this._des3.encryptBlock(h,A)},decryptBlock:function(h,A){this._des3.decryptBlock(h,A),this._des2.encryptBlock(h,A),this._des1.decryptBlock(h,A)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=s._createHelper(m)}(),t.TripleDES})});var cke=E((ak,oke)=>{(function(t,e,r){typeof ak=="object"?oke.exports=ak=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(ak,function(t){return function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,i=s.RC4=n.extend({_doReset:function(){for(var c=this._key,u=c.words,l=c.sigBytes,d=this._S=[],f=0;f<256;f++)d[f]=f;for(var f=0,p=0;f<256;f++){var m=f%l,h=u[m>>>2]>>>24-m%4*8&255;p=(p+d[f]+h)%256;var A=d[f];d[f]=d[p],d[p]=A}this._i=this._j=0},_doProcessBlock:function(c,u){c[u]^=a.call(this)},keySize:256/32,ivSize:0});function a(){for(var c=this._S,u=this._i,l=this._j,d=0,f=0;f<4;f++){u=(u+1)%256,l=(l+c[u])%256;var p=c[u];c[u]=c[l],c[l]=p,d|=c[(c[u]+c[l])%256]<<24-f*8}return this._i=u,this._j=l,d}e.RC4=n._createHelper(i);var o=s.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var c=this.cfg.drop;c>0;c--)a.call(this)}});e.RC4Drop=n._createHelper(o)}(),t.RC4})});var lke=E((ok,uke)=>{(function(t,e,r){typeof ok=="object"?uke.exports=ok=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(ok,function(t){return function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,i=[],a=[],o=[],c=s.Rabbit=n.extend({_doReset:function(){for(var l=this._key.words,d=this.cfg.iv,f=0;f<4;f++)l[f]=(l[f]<<8|l[f]>>>24)&16711935|(l[f]<<24|l[f]>>>8)&4278255360;var p=this._X=[l[0],l[3]<<16|l[2]>>>16,l[1],l[0]<<16|l[3]>>>16,l[2],l[1]<<16|l[0]>>>16,l[3],l[2]<<16|l[1]>>>16],m=this._C=[l[2]<<16|l[2]>>>16,l[0]&4294901760|l[1]&65535,l[3]<<16|l[3]>>>16,l[1]&4294901760|l[2]&65535,l[0]<<16|l[0]>>>16,l[2]&4294901760|l[3]&65535,l[1]<<16|l[1]>>>16,l[3]&4294901760|l[0]&65535];this._b=0;for(var f=0;f<4;f++)u.call(this);for(var f=0;f<8;f++)m[f]^=p[f+4&7];if(d){var h=d.words,A=h[0],g=h[1],b=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360,y=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,x=b>>>16|y&4294901760,v=y<<16|b&65535;m[0]^=b,m[1]^=x,m[2]^=y,m[3]^=v,m[4]^=b,m[5]^=x,m[6]^=y,m[7]^=v;for(var f=0;f<4;f++)u.call(this)}},_doProcessBlock:function(l,d){var f=this._X;u.call(this),i[0]=f[0]^f[5]>>>16^f[3]<<16,i[1]=f[2]^f[7]>>>16^f[5]<<16,i[2]=f[4]^f[1]>>>16^f[7]<<16,i[3]=f[6]^f[3]>>>16^f[1]<<16;for(var p=0;p<4;p++)i[p]=(i[p]<<8|i[p]>>>24)&16711935|(i[p]<<24|i[p]>>>8)&4278255360,l[d+p]^=i[p]},blockSize:128/32,ivSize:64/32});function u(){for(var l=this._X,d=this._C,f=0;f<8;f++)a[f]=d[f];d[0]=d[0]+1295307597+this._b|0,d[1]=d[1]+3545052371+(d[0]>>>0<a[0]>>>0?1:0)|0,d[2]=d[2]+886263092+(d[1]>>>0<a[1]>>>0?1:0)|0,d[3]=d[3]+1295307597+(d[2]>>>0<a[2]>>>0?1:0)|0,d[4]=d[4]+3545052371+(d[3]>>>0<a[3]>>>0?1:0)|0,d[5]=d[5]+886263092+(d[4]>>>0<a[4]>>>0?1:0)|0,d[6]=d[6]+1295307597+(d[5]>>>0<a[5]>>>0?1:0)|0,d[7]=d[7]+3545052371+(d[6]>>>0<a[6]>>>0?1:0)|0,this._b=d[7]>>>0<a[7]>>>0?1:0;for(var f=0;f<8;f++){var p=l[f]+d[f],m=p&65535,h=p>>>16,A=((m*m>>>17)+m*h>>>15)+h*h,g=((p&4294901760)*p|0)+((p&65535)*p|0);o[f]=A^g}l[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,l[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,l[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,l[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,l[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,l[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,l[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,l[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.Rabbit=n._createHelper(c)}(),t.Rabbit})});var fke=E((ck,dke)=>{(function(t,e,r){typeof ck=="object"?dke.exports=ck=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(ck,function(t){return function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,i=[],a=[],o=[],c=s.RabbitLegacy=n.extend({_doReset:function(){var l=this._key.words,d=this.cfg.iv,f=this._X=[l[0],l[3]<<16|l[2]>>>16,l[1],l[0]<<16|l[3]>>>16,l[2],l[1]<<16|l[0]>>>16,l[3],l[2]<<16|l[1]>>>16],p=this._C=[l[2]<<16|l[2]>>>16,l[0]&4294901760|l[1]&65535,l[3]<<16|l[3]>>>16,l[1]&4294901760|l[2]&65535,l[0]<<16|l[0]>>>16,l[2]&4294901760|l[3]&65535,l[1]<<16|l[1]>>>16,l[3]&4294901760|l[0]&65535];this._b=0;for(var m=0;m<4;m++)u.call(this);for(var m=0;m<8;m++)p[m]^=f[m+4&7];if(d){var h=d.words,A=h[0],g=h[1],b=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360,y=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,x=b>>>16|y&4294901760,v=y<<16|b&65535;p[0]^=b,p[1]^=x,p[2]^=y,p[3]^=v,p[4]^=b,p[5]^=x,p[6]^=y,p[7]^=v;for(var m=0;m<4;m++)u.call(this)}},_doProcessBlock:function(l,d){var f=this._X;u.call(this),i[0]=f[0]^f[5]>>>16^f[3]<<16,i[1]=f[2]^f[7]>>>16^f[5]<<16,i[2]=f[4]^f[1]>>>16^f[7]<<16,i[3]=f[6]^f[3]>>>16^f[1]<<16;for(var p=0;p<4;p++)i[p]=(i[p]<<8|i[p]>>>24)&16711935|(i[p]<<24|i[p]>>>8)&4278255360,l[d+p]^=i[p]},blockSize:128/32,ivSize:64/32});function u(){for(var l=this._X,d=this._C,f=0;f<8;f++)a[f]=d[f];d[0]=d[0]+1295307597+this._b|0,d[1]=d[1]+3545052371+(d[0]>>>0<a[0]>>>0?1:0)|0,d[2]=d[2]+886263092+(d[1]>>>0<a[1]>>>0?1:0)|0,d[3]=d[3]+1295307597+(d[2]>>>0<a[2]>>>0?1:0)|0,d[4]=d[4]+3545052371+(d[3]>>>0<a[3]>>>0?1:0)|0,d[5]=d[5]+886263092+(d[4]>>>0<a[4]>>>0?1:0)|0,d[6]=d[6]+1295307597+(d[5]>>>0<a[5]>>>0?1:0)|0,d[7]=d[7]+3545052371+(d[6]>>>0<a[6]>>>0?1:0)|0,this._b=d[7]>>>0<a[7]>>>0?1:0;for(var f=0;f<8;f++){var p=l[f]+d[f],m=p&65535,h=p>>>16,A=((m*m>>>17)+m*h>>>15)+h*h,g=((p&4294901760)*p|0)+((p&65535)*p|0);o[f]=A^g}l[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,l[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,l[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,l[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,l[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,l[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,l[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,l[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.RabbitLegacy=n._createHelper(c)}(),t.RabbitLegacy})});var mke=E((uk,pke)=>{(function(t,e,r){typeof uk=="object"?pke.exports=uk=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(uk,function(t){return function(){var e=t,r=e.lib,n=r.BlockCipher,s=e.algo;let i=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(m,h){let A=h>>24&255,g=h>>16&255,b=h>>8&255,y=h&255,x=m.sbox[0][A]+m.sbox[1][g];return x=x^m.sbox[2][b],x=x+m.sbox[3][y],x}function l(m,h,A){let g=h,b=A,y;for(let x=0;x<i;++x)g=g^m.pbox[x],b=u(m,g)^b,y=g,g=b,b=y;return y=g,g=b,b=y,b=b^m.pbox[i],g=g^m.pbox[i+1],{left:g,right:b}}function d(m,h,A){let g=h,b=A,y;for(let x=i+1;x>1;--x)g=g^m.pbox[x],b=u(m,g)^b,y=g,g=b,b=y;return y=g,g=b,b=y,b=b^m.pbox[1],g=g^m.pbox[0],{left:g,right:b}}function f(m,h,A){for(let v=0;v<4;v++){m.sbox[v]=[];for(let C=0;C<256;C++)m.sbox[v][C]=o[v][C]}let g=0;for(let v=0;v<i+2;v++)m.pbox[v]=a[v]^h[g],g++,g>=A&&(g=0);let b=0,y=0,x=0;for(let v=0;v<i+2;v+=2)x=l(m,b,y),b=x.left,y=x.right,m.pbox[v]=b,m.pbox[v+1]=y;for(let v=0;v<4;v++)for(let C=0;C<256;C+=2)x=l(m,b,y),b=x.left,y=x.right,m.sbox[v][C]=b,m.sbox[v][C+1]=y;return!0}var p=s.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var m=this._keyPriorReset=this._key,h=m.words,A=m.sigBytes/4;f(c,h,A)}},encryptBlock:function(m,h){var A=l(c,m[h],m[h+1]);m[h]=A.left,m[h+1]=A.right},decryptBlock:function(m,h){var A=d(c,m[h],m[h+1]);m[h]=A.left,m[h+1]=A.right},blockSize:64/32,keySize:128/32,ivSize:64/32});e.Blowfish=n._createHelper(p)}(),t.Blowfish})});var Jn=E((lk,hke)=>{(function(t,e,r){typeof lk=="object"?hke.exports=lk=e(pr(),Iv(),fDe(),mDe(),f0(),ADe(),p0(),DQ(),BD(),_De(),kQ(),CDe(),TDe(),RDe(),jD(),PDe(),Vd(),Ns(),BDe(),WDe(),FDe(),qDe(),HDe(),GDe(),zDe(),YDe(),XDe(),eke(),rke(),ske(),ake(),cke(),lke(),fke(),mke()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./lib-typedarrays","./enc-utf16","./enc-base64","./enc-base64url","./md5","./sha1","./sha256","./sha224","./sha512","./sha384","./sha3","./ripemd160","./hmac","./pbkdf2","./evpkdf","./cipher-core","./mode-cfb","./mode-ctr","./mode-ctr-gladman","./mode-ofb","./mode-ecb","./pad-ansix923","./pad-iso10126","./pad-iso97971","./pad-zeropadding","./pad-nopadding","./format-hex","./aes","./tripledes","./rc4","./rabbit","./rabbit-legacy","./blowfish"],e):t.CryptoJS=e(t.CryptoJS)})(lk,function(t){return t})});var Rv=E(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.getOptions=ir.setOptions=ir.hasOwnProp=ir.formatDate=ir.camelify=ir.splitByCommaWithPreservingQuotes=ir.trim=ir.splitAt=ir.tryCatch=ir.byteSequenceToHex=ir.hexToByteSequence=ir.toNumber=ir.INVALIDPLAYLIST=ir.CONDITIONALPARAMCHECK=ir.PARAMCHECK=ir.CONDITIONALASSERT=ir.ASSERT=ir.THROW=void 0;var wv={};function Nh(t){if(!wv.strictMode){wv.silent||console.error(t.message);return}throw t}ir.THROW=Nh;function fJt(t,...e){for(let[r,n]of e.entries())n||Nh(new Error(`${t} : Failed at [${r}]`))}ir.ASSERT=fJt;function pJt(...t){for(let[e,[r,n]]of t.entries())r&&(n||Nh(new Error(`Conditional Assert : Failed at [${e}]`)))}ir.CONDITIONALASSERT=pJt;function mJt(...t){for(let[e,r]of t.entries())r===void 0&&Nh(new Error(`Param Check : Failed at [${e}]`))}ir.PARAMCHECK=mJt;function hJt(...t){for(let[e,[r,n]]of t.entries())r&&n===void 0&&Nh(new Error(`Conditional Param Check : Failed at [${e}]`))}ir.CONDITIONALPARAMCHECK=hJt;function gJt(t){Nh(new Error(`Invalid Playlist : ${t}`))}ir.INVALIDPLAYLIST=gJt;function xke(t,e=10){if(typeof t=="number")return t;let r=e===10?Number.parseFloat(t):Number.parseInt(t,e);return Number.isNaN(r)?0:r}ir.toNumber=xke;function AJt(t){(t.startsWith("0x")||t.startsWith("0X"))&&(t=t.slice(2));let e=[];for(let r=0;r<t.length;r+=2)e.push(xke(t.slice(r,r+2),16));return Buffer.from(e)}ir.hexToByteSequence=AJt;function yJt(t,e=0,r=t.length){r<=e&&Nh(new Error(`end must be larger than start : start=${e}, end=${r}`));let n=[];for(let s=e;s<r;s++)n.push(`0${(t[s]&255).toString(16).toUpperCase()}`.slice(-2));return`0x${n.join("")}`}ir.byteSequenceToHex=yJt;function xJt(t,e){try{return t()}catch(r){return e(r)}}ir.tryCatch=xJt;function bJt(t,e,r=0){let n=-1;for(let s=0,i=0;s<t.length;s++)if(t[s]===e){if(i++===r)return[t.slice(0,s),t.slice(s+1)];n=s}return n!==-1?[t.slice(0,n),t.slice(n+1)]:[t]}ir.splitAt=bJt;function EJt(t,e=" "){return!t||(t=t.trim(),e===" ")||(t.startsWith(e)&&(t=t.slice(1)),t.endsWith(e)&&(t=t.slice(0,-1))),t}ir.trim=EJt;function _Jt(t){let e=[],r=!0,n=0,s=[];for(let i=0;i<t.length;i++){let a=t[i];if(r&&a===","){e.push(t.slice(n,i).trim()),n=i+1;continue}(a==='"'||a==="'")&&(r?(s.push(a),r=!1):a===s.at(-1)?(s.pop(),r=!0):s.push(a))}return e.push(t.slice(n).trim()),e}ir.splitByCommaWithPreservingQuotes=_Jt;function SJt(t){let e=[],r=!1;for(let n of t){if(n==="-"||n==="_"){r=!0;continue}if(r){e.push(n.toUpperCase()),r=!1;continue}e.push(n.toLowerCase())}return e.join("")}ir.camelify=SJt;function vJt(t){let e=t.getUTCFullYear(),r=("0"+(t.getUTCMonth()+1)).slice(-2),n=("0"+t.getUTCDate()).slice(-2),s=("0"+t.getUTCHours()).slice(-2),i=("0"+t.getUTCMinutes()).slice(-2),a=("0"+t.getUTCSeconds()).slice(-2),o=("00"+t.getUTCMilliseconds()).slice(-3);return`${e}-${r}-${n}T${s}:${i}:${a}.${o}Z`}ir.formatDate=vJt;function CJt(t,e){return Object.hasOwnProperty.call(t,e)}ir.hasOwnProp=CJt;function IJt(t={}){wv=Object.assign(wv,t)}ir.setOptions=IJt;function TJt(){return Object.assign({},wv)}ir.getOptions=TJt});var KQ=E(mr=>{"use strict";var wJt=mr&&mr.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),RJt=mr&&mr.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),NJt=mr&&mr.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&wJt(e,t,r);return RJt(e,t),e};Object.defineProperty(mr,"__esModule",{value:!0});mr.RenditionReport=mr.PrefetchSegment=mr.PartialSegment=mr.Segment=mr.MediaPlaylist=mr.MasterPlaylist=mr.Playlist=mr.SpliceInfo=mr.DateRange=mr.MediaInitializationSection=mr.Key=mr.SessionData=mr.Variant=mr.Rendition=void 0;var Es=NJt(Rv()),BQ=class{constructor({type:e,uri:r,groupId:n,language:s,assocLanguage:i,name:a,isDefault:o,autoselect:c,forced:u,instreamId:l,characteristics:d,channels:f}){Es.PARAMCHECK(e,n,a),Es.CONDITIONALASSERT([e==="SUBTITLES",r],[e==="CLOSED-CAPTIONS",l],[e==="CLOSED-CAPTIONS",!r],[u,e==="SUBTITLES"]),this.type=e,this.uri=r,this.groupId=n,this.language=s,this.assocLanguage=i,this.name=a,this.isDefault=o,this.autoselect=c,this.forced=u,this.instreamId=l,this.characteristics=d,this.channels=f}};mr.Rendition=BQ;var MQ=class{constructor({uri:e,isIFrameOnly:r=!1,bandwidth:n,averageBandwidth:s,score:i,codecs:a,resolution:o,frameRate:c,hdcpLevel:u,allowedCpc:l,videoRange:d,stableVariantId:f,programId:p,audio:m=[],video:h=[],subtitles:A=[],closedCaptions:g=[],currentRenditions:b={audio:0,video:0,subtitles:0,closedCaptions:0}}){Es.PARAMCHECK(e,n),this.uri=e,this.isIFrameOnly=r,this.bandwidth=n,this.averageBandwidth=s,this.score=i,this.codecs=a,this.resolution=o,this.frameRate=c,this.hdcpLevel=u,this.allowedCpc=l,this.videoRange=d,this.stableVariantId=f,this.programId=p,this.audio=m,this.video=h,this.subtitles=A,this.closedCaptions=g,this.currentRenditions=b}};mr.Variant=MQ;var WQ=class{constructor({id:e,value:r,uri:n,language:s}){Es.PARAMCHECK(e,r||n),Es.ASSERT("SessionData cannot have both value and uri, shoud be either.",!(r&&n)),this.id=e,this.value=r,this.uri=n,this.language=s}};mr.SessionData=WQ;var $Q=class{constructor({method:e,uri:r,iv:n,format:s,formatVersion:i}){Es.PARAMCHECK(e),Es.CONDITIONALPARAMCHECK([e!=="NONE",r]),Es.CONDITIONALASSERT([e==="NONE",!(r||n||s||i)]),this.method=e,this.uri=r,this.iv=n,this.format=s,this.formatVersion=i}};mr.Key=$Q;var FQ=class{constructor({hint:e=!1,uri:r,mimeType:n,byterange:s}){Es.PARAMCHECK(r),this.hint=e,this.uri=r,this.mimeType=n,this.byterange=s}};mr.MediaInitializationSection=FQ;var UQ=class{constructor({id:e,classId:r,start:n,end:s,duration:i,plannedDuration:a,endOnNext:o,attributes:c={}}){Es.PARAMCHECK(e),Es.CONDITIONALPARAMCHECK([o===!0,r]),Es.CONDITIONALASSERT([s,n],[s,n<=s],[i,i>=0],[a,a>=0]),this.id=e,this.classId=r,this.start=n,this.end=s,this.duration=i,this.plannedDuration=a,this.endOnNext=o,this.attributes=c}};mr.DateRange=UQ;var qQ=class{constructor({type:e,duration:r,tagName:n,value:s}){Es.PARAMCHECK(e),Es.CONDITIONALPARAMCHECK([e==="OUT",r]),Es.CONDITIONALPARAMCHECK([e==="RAW",n]),this.type=e,this.duration=r,this.tagName=n,this.value=s}};mr.SpliceInfo=qQ;var $x=class{constructor(e){Es.PARAMCHECK(e),this.type=e}},Nv=class extends $x{constructor({isMasterPlaylist:e,uri:r,version:n,independentSegments:s=!1,start:i,source:a}){super("playlist"),Es.PARAMCHECK(e),this.isMasterPlaylist=e,this.uri=r,this.version=n,this.independentSegments=s,this.start=i,this.source=a}};mr.Playlist=Nv;var jQ=class extends Nv{constructor(e={}){super({...e,isMasterPlaylist:!0});let{variants:r=[],currentVariant:n,sessionDataList:s=[],sessionKeyList:i=[]}=e;this.variants=r,this.currentVariant=n,this.sessionDataList=s,this.sessionKeyList=i}};mr.MasterPlaylist=jQ;var HQ=class extends Nv{constructor(e={}){super({...e,isMasterPlaylist:!1});let{targetDuration:r,mediaSequenceBase:n=0,discontinuitySequenceBase:s=0,endlist:i=!1,playlistType:a,isIFrame:o,segments:c=[],prefetchSegments:u=[],lowLatencyCompatibility:l,partTargetDuration:d,renditionReports:f=[],skip:p=0,hash:m}=e;this.targetDuration=r,this.mediaSequenceBase=n,this.discontinuitySequenceBase=s,this.endlist=i,this.playlistType=a,this.isIFrame=o,this.segments=c,this.prefetchSegments=u,this.lowLatencyCompatibility=l,this.partTargetDuration=d,this.renditionReports=f,this.skip=p,this.hash=m}};mr.MediaPlaylist=HQ;var QQ=class extends $x{constructor({uri:e,mimeType:r,data:n,duration:s,title:i,byterange:a,discontinuity:o,mediaSequenceNumber:c=0,discontinuitySequence:u=0,key:l,map:d,programDateTime:f,dateRange:p,markers:m=[],parts:h=[]}){super("segment"),this.uri=e,this.mimeType=r,this.data=n,this.duration=s,this.title=i,this.byterange=a,this.discontinuity=o,this.mediaSequenceNumber=c,this.discontinuitySequence=u,this.key=l,this.map=d,this.programDateTime=f,this.dateRange=p,this.markers=m,this.parts=h}};mr.Segment=QQ;var GQ=class extends $x{constructor({hint:e=!1,uri:r,duration:n,independent:s,byterange:i,gap:a}){super("part"),Es.PARAMCHECK(r),this.hint=e,this.uri=r,this.duration=n,this.independent=s,this.duration=n,this.byterange=i,this.gap=a}};mr.PartialSegment=GQ;var VQ=class extends $x{constructor({uri:e,discontinuity:r,mediaSequenceNumber:n=0,discontinuitySequence:s=0,key:i}){super("prefetch"),Es.PARAMCHECK(e),this.uri=e,this.discontinuity=r,this.mediaSequenceNumber=n,this.discontinuitySequence=s,this.key=i}};mr.PrefetchSegment=VQ;var zQ=class{constructor({uri:e,lastMSN:r,lastPart:n}){Es.PARAMCHECK(e),this.uri=e,this.lastMSN=r,this.lastPart=n}};mr.RenditionReport=zQ});var Tke=E(zd=>{"use strict";var OJt=zd&&zd.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),PJt=zd&&zd.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),DJt=zd&&zd.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&OJt(e,t,r);return PJt(e,t),e};Object.defineProperty(zd,"__esModule",{value:!0});var We=DJt(Rv()),ei=KQ();function Cke(t){return We.trim(t,'"')}function kJt(t){switch(t){case"EXTM3U":case"EXT-X-VERSION":return"Basic";case"EXTINF":case"EXT-X-BYTERANGE":case"EXT-X-DISCONTINUITY":case"EXT-X-PREFETCH-DISCONTINUITY":case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-PROGRAM-DATE-TIME":case"EXT-X-DATERANGE":case"EXT-X-CUE-OUT":case"EXT-X-CUE-IN":case"EXT-X-CUE-OUT-CONT":case"EXT-X-CUE":case"EXT-OATCLS-SCTE35":case"EXT-X-ASSET":case"EXT-X-SCTE35":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":return"Segment";case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":case"EXT-X-ENDLIST":case"EXT-X-PLAYLIST-TYPE":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PREFETCH":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return"MediaPlaylist";case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":return"MasterPlaylist";case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-START":return"MediaorMasterPlaylist";default:return"Unknown"}}function LJt(t){let e=We.splitAt(t,",");return{duration:We.toNumber(e[0]),title:decodeURIComponent(escape(e[1]))}}function Ike(t){let e=We.splitAt(t,"@");return{length:We.toNumber(e[0]),offset:e[1]?We.toNumber(e[1]):-1}}function BJt(t){let e=We.splitAt(t,"x");return{width:We.toNumber(e[0]),height:We.toNumber(e[1])}}function MJt(t){let e="ALLOWED-CPC: Each entry must consit of KEYFORMAT and Content Protection Configuration",r=t.split(",");r.length===0&&We.INVALIDPLAYLIST(e);let n=[];for(let s of r){let[i,a]=We.splitAt(s,":");if(!i||!a){We.INVALIDPLAYLIST(e);continue}n.push({format:i,cpcList:a.split("/")})}return n}function WJt(t){let e=We.hexToByteSequence(t);return e.length!==16&&We.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),e}function $Jt(t){return t.startsWith('"')?Cke(t):t.startsWith("0x")||t.startsWith("0X")?We.hexToByteSequence(t):We.toNumber(t)}function YQ(t,e){e.IV&&t.compatibleVersion<2&&(t.compatibleVersion=2),(e.KEYFORMAT||e.KEYFORMATVERSIONS)&&t.compatibleVersion<5&&(t.compatibleVersion=5)}function bke(t){let e={};for(let r of We.splitByCommaWithPreservingQuotes(t)){let[n,s]=We.splitAt(r,"="),i=Cke(s);switch(n){case"URI":e[n]=i;break;case"START-DATE":case"END-DATE":e[n]=new Date(i);break;case"IV":e[n]=WJt(i);break;case"BYTERANGE":e[n]=Ike(i);break;case"RESOLUTION":e[n]=BJt(i);break;case"ALLOWED-CPC":e[n]=MJt(i);break;case"END-ON-NEXT":case"DEFAULT":case"AUTOSELECT":case"FORCED":case"PRECISE":case"CAN-BLOCK-RELOAD":case"INDEPENDENT":case"GAP":e[n]=i==="YES";break;case"DURATION":case"PLANNED-DURATION":case"BANDWIDTH":case"AVERAGE-BANDWIDTH":case"FRAME-RATE":case"TIME-OFFSET":case"CAN-SKIP-UNTIL":case"HOLD-BACK":case"PART-HOLD-BACK":case"PART-TARGET":case"BYTERANGE-START":case"BYTERANGE-LENGTH":case"LAST-MSN":case"LAST-PART":case"SKIPPED-SEGMENTS":case"SCORE":case"PROGRAM-ID":e[n]=We.toNumber(i);break;default:n.startsWith("SCTE35-")?e[n]=We.hexToByteSequence(i):n.startsWith("X-")?e[n]=$Jt(s):(n==="VIDEO-RANGE"&&i!=="SDR"&&i!=="HLG"&&i!=="PQ"&&We.INVALIDPLAYLIST(`VIDEO-RANGE: unknown value "${i}"`),e[n]=i)}}return e}function FJt(t,e){switch(t){case"EXTM3U":case"EXT-X-DISCONTINUITY":case"EXT-X-ENDLIST":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-CUE-IN":return[null,null];case"EXT-X-VERSION":case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":return[We.toNumber(e),null];case"EXT-X-CUE-OUT":return Number.isNaN(Number(e))?[null,bke(e)]:[We.toNumber(e),null];case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-DATERANGE":case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":case"EXT-X-START":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return[null,bke(e)];case"EXTINF":return[LJt(e),null];case"EXT-X-BYTERANGE":return[Ike(e),null];case"EXT-X-PROGRAM-DATE-TIME":return[new Date(e),null];case"EXT-X-PLAYLIST-TYPE":return[e,null];default:return[e,null]}}function Eke(){We.INVALIDPLAYLIST("The file contains both media and master playlist tags.")}function UJt(t){let e=t.indexOf(":");return e===-1?[t.slice(1).trim(),null]:[t.slice(1,e).trim(),t.slice(e+1).trim()]}function qJt({attributes:t}){return new ei.Rendition({type:t.TYPE,uri:t.URI,groupId:t["GROUP-ID"],language:t.LANGUAGE,assocLanguage:t["ASSOC-LANGUAGE"],name:t.NAME,isDefault:t.DEFAULT,autoselect:t.AUTOSELECT,forced:t.FORCED,instreamId:t["INSTREAM-ID"],characteristics:t.CHARACTERISTICS,channels:t.CHANNELS})}function jJt(t,e){let r=!1;for(let n of t){if(n.name===e.name)return"All EXT-X-MEDIA tags in the same Group MUST have different NAME attributes.";n.isDefault&&(r=!0)}return r&&e.isDefault?"EXT-X-MEDIA A Group MUST NOT have more than one member with a DEFAULT attribute of YES.":""}function HJt(t,e,r){let n=qJt(e),s=t[We.camelify(r)],i=jJt(s,n);i&&We.INVALIDPLAYLIST(i),s.push(n),n.isDefault&&(t.currentRenditions[We.camelify(r)]=s.length-1)}function QJt(t,e,r){for(let n of["AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS"])n==="CLOSED-CAPTIONS"&&t[n]==="NONE"?(r.isClosedCaptionsNone=!0,e.closedCaptions=[]):t[n]&&!e[We.camelify(n)].some(s=>s.groupId===t[n])&&We.INVALIDPLAYLIST(`${n} attribute MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag whose TYPE attribute is ${n}.`)}function _ke(t,e,r,n,s){let i=new ei.Variant({uri:r,bandwidth:e.BANDWIDTH,averageBandwidth:e["AVERAGE-BANDWIDTH"],score:e.SCORE,codecs:e.CODECS,resolution:e.RESOLUTION,frameRate:e["FRAME-RATE"],hdcpLevel:e["HDCP-LEVEL"],allowedCpc:e["ALLOWED-CPC"],videoRange:e["VIDEO-RANGE"],stableVariantId:e["STABLE-VARIANT-ID"],programId:e["PROGRAM-ID"]});for(let a of t)if(a.name==="EXT-X-MEDIA"){let o=a.attributes,c=o.TYPE;if((!c||!o["GROUP-ID"])&&We.INVALIDPLAYLIST("EXT-X-MEDIA TYPE attribute is REQUIRED."),e[c]===o["GROUP-ID"]&&(HJt(i,a,c),c==="CLOSED-CAPTIONS")){for(let{instreamId:u}of i.closedCaptions)if(u&&u.startsWith("SERVICE")&&s.compatibleVersion<7){s.compatibleVersion=7;break}}}return QJt(e,i,s),i.isIFrameOnly=n,i}function GJt(t,e){if(t.method!==e.method||t.uri!==e.uri)return!1;if(t.iv){if(!e.iv||t.iv.length!==e.iv.length)return!1;for(let r=0;r<t.iv.length;r++)if(t.iv[r]!==e.iv[r])return!1}else if(e.iv)return!1;return!(t.format!==e.format||t.formatVersion!==e.formatVersion)}function VJt(t,e){let r=new ei.MasterPlaylist,n=!1;for(let[s,{name:i,value:a,attributes:o}]of t.entries())if(i==="EXT-X-VERSION")r.version=a;else if(i==="EXT-X-STREAM-INF"){let c=t[s+1];(typeof c!="string"||c.startsWith("#EXT"))&&We.INVALIDPLAYLIST("EXT-X-STREAM-INF must be followed by a URI line");let u=_ke(t,o,c,!1,e);u&&(typeof u.score=="number"&&(n=!0,u.score<0&&We.INVALIDPLAYLIST("SCORE attribute on EXT-X-STREAM-INF must be positive decimal-floating-point number.")),r.variants.push(u))}else if(i==="EXT-X-I-FRAME-STREAM-INF"){let c=_ke(t,o,o.URI,!0,e);c&&r.variants.push(c)}else if(i==="EXT-X-SESSION-DATA"){let c=new ei.SessionData({id:o["DATA-ID"],value:o.VALUE,uri:o.URI,language:o.LANGUAGE});r.sessionDataList.some(u=>u.id===c.id&&u.language===c.language)&&We.INVALIDPLAYLIST("A Playlist MUST NOT contain more than one EXT-X-SESSION-DATA tag with the same DATA-ID attribute and the same LANGUAGE attribute."),r.sessionDataList.push(c)}else if(i==="EXT-X-SESSION-KEY"){o.METHOD==="NONE"&&We.INVALIDPLAYLIST("EXT-X-SESSION-KEY: The value of the METHOD attribute MUST NOT be NONE");let c=new ei.Key({method:o.METHOD,uri:o.URI,iv:o.IV,format:o.KEYFORMAT,formatVersion:o.KEYFORMATVERSIONS});r.sessionKeyList.some(u=>GJt(u,c))&&We.INVALIDPLAYLIST("A Master Playlist MUST NOT contain more than one EXT-X-SESSION-KEY tag with the same METHOD, URI, IV, KEYFORMAT, and KEYFORMATVERSIONS attribute values."),YQ(e,o),r.sessionKeyList.push(c)}else i==="EXT-X-INDEPENDENT-SEGMENTS"?(r.independentSegments&&We.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),r.independentSegments=!0):i==="EXT-X-START"&&(r.start&&We.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),typeof o["TIME-OFFSET"]!="number"&&We.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),r.start={offset:o["TIME-OFFSET"],precise:o.PRECISE||!1});if(n)for(let s of r.variants)typeof s.score!="number"&&We.INVALIDPLAYLIST("If any Variant Stream contains the SCORE attribute, then all Variant Streams in the Master Playlist SHOULD have a SCORE attribute");if(e.isClosedCaptionsNone)for(let s of r.variants)s.closedCaptions.length>0&&We.INVALIDPLAYLIST("If there is a variant with CLOSED-CAPTIONS attribute of NONE, all EXT-X-STREAM-INF tags MUST have this attribute with a value of NONE");return r}function Ske(t,e,r,n,s,i,a){let o=new ei.Segment({uri:e,mediaSequenceNumber:s,discontinuitySequence:i}),c=!1,u=!1;for(let l=r;l<=n;l++){let{name:d,value:f,attributes:p}=t[l];if(d==="EXTINF")!Number.isInteger(f.duration)&&a.compatibleVersion<3&&(a.compatibleVersion=3),Math.round(f.duration)>a.targetDuration&&We.INVALIDPLAYLIST("EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration"),o.duration=f.duration,o.title=f.title;else if(d==="EXT-X-BYTERANGE")a.compatibleVersion<4&&(a.compatibleVersion=4),o.byterange=f;else if(d==="EXT-X-DISCONTINUITY")o.parts.length>0&&We.INVALIDPLAYLIST("EXT-X-DISCONTINUITY must appear before the first EXT-X-PART tag of the Parent Segment."),o.discontinuity=!0;else if(d==="EXT-X-KEY")o.parts.length>0&&We.INVALIDPLAYLIST("EXT-X-KEY must appear before the first EXT-X-PART tag of the Parent Segment."),YQ(a,p),o.key=new ei.Key({method:p.METHOD,uri:p.URI,iv:p.IV,format:p.KEYFORMAT,formatVersion:p.KEYFORMATVERSIONS});else if(d==="EXT-X-MAP")o.parts.length>0&&We.INVALIDPLAYLIST("EXT-X-MAP must appear before the first EXT-X-PART tag of the Parent Segment."),a.compatibleVersion<5&&(a.compatibleVersion=5),a.hasMap=!0,o.map=new ei.MediaInitializationSection({uri:p.URI,byterange:p.BYTERANGE});else if(d==="EXT-X-PROGRAM-DATE-TIME")o.programDateTime=f;else if(d==="EXT-X-DATERANGE"){let m={};for(let h of Object.keys(p))(h.startsWith("SCTE35-")||h.startsWith("X-"))&&(m[h]=p[h]);o.dateRange=new ei.DateRange({id:p.ID,classId:p.CLASS,start:p["START-DATE"],end:p["END-DATE"],duration:p.DURATION,plannedDuration:p["PLANNED-DURATION"],endOnNext:p["END-ON-NEXT"],attributes:m})}else if(d==="EXT-X-CUE-OUT")o.markers.push(new ei.SpliceInfo({type:"OUT",duration:p&&p.DURATION||f}));else if(d==="EXT-X-CUE-IN")o.markers.push(new ei.SpliceInfo({type:"IN"}));else if(d==="EXT-X-CUE-OUT-CONT"||d==="EXT-X-CUE"||d==="EXT-OATCLS-SCTE35"||d==="EXT-X-ASSET"||d==="EXT-X-SCTE35")o.markers.push(new ei.SpliceInfo({type:"RAW",tagName:d,value:f}));else if(d==="EXT-X-PRELOAD-HINT"&&!p.TYPE)We.INVALIDPLAYLIST("EXT-X-PRELOAD-HINT: TYPE attribute is mandatory");else if(d==="EXT-X-PRELOAD-HINT"&&p.TYPE==="PART"&&u)We.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist.");else if((d==="EXT-X-PART"||d==="EXT-X-PRELOAD-HINT")&&!p.URI)We.INVALIDPLAYLIST("EXT-X-PART / EXT-X-PRELOAD-HINT: URI attribute is mandatory");else if(d==="EXT-X-PRELOAD-HINT"&&p.TYPE==="MAP")c&&We.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist."),c=!0,a.hasMap=!0,o.map=new ei.MediaInitializationSection({hint:!0,uri:p.URI,byterange:{length:p["BYTERANGE-LENGTH"],offset:p["BYTERANGE-START"]||0}});else if(d==="EXT-X-PART"||d==="EXT-X-PRELOAD-HINT"&&p.TYPE==="PART"){d==="EXT-X-PART"&&!p.DURATION&&We.INVALIDPLAYLIST("EXT-X-PART: DURATION attribute is mandatory"),d==="EXT-X-PRELOAD-HINT"&&(u=!0);let m=new ei.PartialSegment({hint:d==="EXT-X-PRELOAD-HINT",uri:p.URI,byterange:d==="EXT-X-PART"?p.BYTERANGE:{length:p["BYTERANGE-LENGTH"],offset:p["BYTERANGE-START"]||0},duration:p.DURATION,independent:p.INDEPENDENT,gap:p.GAP});o.parts.push(m)}}return o}function zJt(t,e,r,n,s,i,a){let o=new ei.PrefetchSegment({uri:e,mediaSequenceNumber:s,discontinuitySequence:i});for(let c=r;c<=n;c++){let{name:u,attributes:l}=t[c];u==="EXTINF"?We.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXTINF tag."):u==="EXT-X-DISCONTINUITY"?We.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXT-X-DISCONTINUITY tag."):u==="EXT-X-PREFETCH-DISCONTINUITY"?o.discontinuity=!0:u==="EXT-X-KEY"?(YQ(a,l),o.key=new ei.Key({method:l.METHOD,uri:l.URI,iv:l.IV,format:l.KEYFORMAT,formatVersion:l.KEYFORMATVERSIONS})):u==="EXT-X-MAP"&&We.INVALIDPLAYLIST("Prefetch segments must not be advertised with an EXT-X-MAP tag.")}return o}function KJt(t,e){let r=new ei.MediaPlaylist,n=-1,s=0,i=!1,a=!1,o=0,c=null,u=null,l=!1;for(let[d,f]of t.entries()){let{name:p,value:m,attributes:h,category:A}=f;if(A==="Segment"){n===-1&&(n=d),p==="EXT-X-DISCONTINUITY"&&(i=!0);continue}if(p==="EXT-X-VERSION")r.version===void 0?r.version=m:We.INVALIDPLAYLIST("A Playlist file MUST NOT contain more than one EXT-X-VERSION tag.");else if(p==="EXT-X-TARGETDURATION")r.targetDuration=e.targetDuration=m;else if(p==="EXT-X-MEDIA-SEQUENCE")r.segments.length>0&&We.INVALIDPLAYLIST("The EXT-X-MEDIA-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),r.mediaSequenceBase=s=m;else if(p==="EXT-X-DISCONTINUITY-SEQUENCE")r.segments.length>0&&We.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),i&&We.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before any EXT-X-DISCONTINUITY tag."),r.discontinuitySequenceBase=o=m;else if(p==="EXT-X-ENDLIST")r.endlist=!0;else if(p==="EXT-X-PLAYLIST-TYPE")r.playlistType=m;else if(p==="EXT-X-I-FRAMES-ONLY")e.compatibleVersion<4&&(e.compatibleVersion=4),r.isIFrame=!0;else if(p==="EXT-X-INDEPENDENT-SEGMENTS")r.independentSegments&&We.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),r.independentSegments=!0;else if(p==="EXT-X-START")r.start&&We.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),typeof h["TIME-OFFSET"]!="number"&&We.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),r.start={offset:h["TIME-OFFSET"],precise:h.PRECISE||!1};else if(p==="EXT-X-SERVER-CONTROL")h["CAN-BLOCK-RELOAD"]||We.INVALIDPLAYLIST("EXT-X-SERVER-CONTROL: CAN-BLOCK-RELOAD=YES is mandatory for Low-Latency HLS"),r.lowLatencyCompatibility={canBlockReload:h["CAN-BLOCK-RELOAD"],canSkipUntil:h["CAN-SKIP-UNTIL"],holdBack:h["HOLD-BACK"],partHoldBack:h["PART-HOLD-BACK"]};else if(p==="EXT-X-PART-INF")h["PART-TARGET"]||We.INVALIDPLAYLIST("EXT-X-PART-INF: PART-TARGET attribute is mandatory"),r.partTargetDuration=h["PART-TARGET"];else if(p==="EXT-X-RENDITION-REPORT")h.URI||We.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI attribute is mandatory"),h.URI.search(/^[a-z]+:/)===0&&We.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI must be relative to the playlist uri"),r.renditionReports.push(new ei.RenditionReport({uri:h.URI,lastMSN:h["LAST-MSN"],lastPart:h["LAST-PART"]}));else if(p==="EXT-X-SKIP")h["SKIPPED-SEGMENTS"]||We.INVALIDPLAYLIST("EXT-X-SKIP: SKIPPED-SEGMENTS attribute is mandatory"),e.compatibleVersion<9&&(e.compatibleVersion=9),r.skip=h["SKIPPED-SEGMENTS"],s+=r.skip;else if(p==="EXT-X-PREFETCH"){let g=zJt(t,m,n===-1?d:n,d-1,s++,o,e);g&&(g.discontinuity&&(g.discontinuitySequence++,o=g.discontinuitySequence),g.key?c=g.key:g.key=c,r.prefetchSegments.push(g)),a=!0,n=-1}else if(typeof f=="string"){n===-1&&We.INVALIDPLAYLIST("A URI line is not preceded by any segment tags"),r.targetDuration||We.INVALIDPLAYLIST("The EXT-X-TARGETDURATION tag is REQUIRED"),a&&We.INVALIDPLAYLIST("These segments must appear after all complete segments.");let g=Ske(t,f,n,d-1,s++,o,e);g&&([o,c,u]=vke(r,g,o,c,u),!l&&g.parts.length>0&&(l=!0)),n=-1}}if(n!==-1){let d=Ske(t,"",n,t.length-1,s++,o,e);if(d){let{parts:f}=d;f.length>0&&!r.endlist&&!f.at(-1)?.hint&&We.INVALIDPLAYLIST("If the Playlist contains EXT-X-PART tags and does not contain an EXT-X-ENDLIST tag, the Playlist must contain an EXT-X-PRELOAD-HINT tag with a TYPE=PART attribute"),vke(r,d,c,u),!l&&d.parts.length>0&&(l=!0)}}return YJt(r.segments),r.lowLatencyCompatibility&&JJt(r,l),r}function vke(t,e,r,n,s){let{discontinuity:i,key:a,map:o,byterange:c,uri:u}=e;if(i&&(e.discontinuitySequence=r+1),a||(e.key=n),o||(e.map=s),c&&c.offset===-1){let{segments:l}=t;if(l.length>0){let d=l.at(-1);d.byterange&&d.uri===u?c.offset=d.byterange.offset+d.byterange.length:We.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST be a sub-range of the same media resource")}else We.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST appear in the Playlist file")}return t.segments.push(e),[e.discontinuitySequence,e.key,e.map]}function YJt(t){let e=new Map,r=new Map,n=!1,s=!1;for(let i=t.length-1;i>=0;i--){let{programDateTime:a,dateRange:o}=t[i];if(a&&(s=!0),o&&o.start){n=!0,o.endOnNext&&(o.end||o.duration)&&We.INVALIDPLAYLIST("An EXT-X-DATERANGE tag with an END-ON-NEXT=YES attribute MUST NOT contain DURATION or END-DATE attributes.");let c=o.start.getTime(),u=o.duration||0;o.end&&o.duration&&c+u*1e3!==o.end.getTime()&&We.INVALIDPLAYLIST("END-DATE MUST be equal to the value of the START-DATE attribute plus the value of the DURATION"),o.endOnNext&&(o.end=e.get(o.classId)),e.set(o.classId,o.start);let l=o.end?o.end.getTime():o.start.getTime()+(o.duration||0)*1e3,d=r.get(o.classId);if(d){for(let f of d)(f.start<=c&&f.end>c||f.start>=c&&f.start<l)&&We.INVALIDPLAYLIST("DATERANGE tags with the same CLASS should not overlap");d.push({start:c,end:l})}else o.classId&&r.set(o.classId,[{start:c,end:l}])}}n&&!s&&We.INVALIDPLAYLIST("If a Playlist contains an EXT-X-DATERANGE tag, it MUST also contain at least one EXT-X-PROGRAM-DATE-TIME tag.")}function JJt({lowLatencyCompatibility:t,targetDuration:e,partTargetDuration:r,segments:n,renditionReports:s},i){let{canSkipUntil:a,holdBack:o,partHoldBack:c}=t;if(a<e*6&&We.INVALIDPLAYLIST("The Skip Boundary must be at least six times the EXT-X-TARGETDURATION."),o<e*3&&We.INVALIDPLAYLIST("HOLD-BACK must be at least three times the EXT-X-TARGETDURATION."),i){r===void 0&&We.INVALIDPLAYLIST("EXT-X-PART-INF is required if a Playlist contains one or more EXT-X-PART tags"),c===void 0&&We.INVALIDPLAYLIST("EXT-X-PART: PART-HOLD-BACK attribute is mandatory"),c<r&&We.INVALIDPLAYLIST("PART-HOLD-BACK must be at least PART-TARGET");for(let[u,{parts:l}]of n.entries()){l.length>0&&u<n.length-3&&We.INVALIDPLAYLIST("Remove EXT-X-PART tags from the Playlist after they are greater than three target durations from the end of the Playlist.");for(let[d,{duration:f}]of l.entries())f!==void 0&&(f>r&&We.INVALIDPLAYLIST("PART-TARGET is the maximum duration of any Partial Segment"),d<l.length-1&&f<r*.85&&We.INVALIDPLAYLIST("All Partial Segments except the last part of a segment must have a duration of at least 85% of PART-TARGET"))}}for(let u of s){let l=n.at(-1);(u.lastMSN===null||u.lastMSN===void 0)&&(u.lastMSN=l.mediaSequenceNumber),(u.lastPart===null||u.lastPart===void 0)&&l.parts.length>0&&(u.lastPart=l.parts.length-1)}}function XJt(t,e){if(t==="Segment"||t==="MediaPlaylist"){if(e.isMasterPlaylist===void 0){e.isMasterPlaylist=!1;return}e.isMasterPlaylist&&Eke();return}if(t==="MasterPlaylist"){if(e.isMasterPlaylist===void 0){e.isMasterPlaylist=!0;return}e.isMasterPlaylist===!1&&Eke()}}function ZJt(t,e){let[r,n]=UJt(t),s=kJt(r);if(XJt(s,e),s==="Unknown")return null;s==="MediaPlaylist"&&r!=="EXT-X-RENDITION-REPORT"&&r!=="EXT-X-PREFETCH"&&(e.hash[r]&&We.INVALIDPLAYLIST("There MUST NOT be more than one Media Playlist tag of each type in any Media Playlist"),e.hash[r]=!0);let[i,a]=FJt(r,n);return{name:r,category:s,value:i,attributes:a}}function eXt(t,e){let r=[];for(let n of t.split(`
`)){let s=Buffer.from(n.trim()).toString();if(s){if(s.startsWith("#")){if(s.startsWith("#EXT")){let i=ZJt(s,e);i&&r.push(i)}continue}r.push(s)}}return(r.length===0||r[0].name!=="EXTM3U")&&We.INVALIDPLAYLIST("The EXTM3U tag MUST be the first line."),r}function tXt(t,e){let r;return e.isMasterPlaylist?r=VJt(t,e):(r=KJt(t,e),!r.isIFrame&&e.hasMap&&e.compatibleVersion<6&&(e.compatibleVersion=6)),e.compatibleVersion>1&&(!r.version||r.version<e.compatibleVersion)&&We.INVALIDPLAYLIST(`EXT-X-VERSION needs to be ${e.compatibleVersion} or higher.`),r}function rXt(t){let e={version:void 0,isMasterPlaylist:void 0,hasMap:!1,targetDuration:0,compatibleVersion:1,isClosedCaptionsNone:!1,hash:{}},r=eXt(t,e),n=tXt(r,e);return n.source=t,n}zd.default=rXt});var Rke=E(Kd=>{"use strict";var nXt=Kd&&Kd.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),sXt=Kd&&Kd.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),iXt=Kd&&Kd.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&nXt(e,t,r);return sXt(e,t),e};Object.defineProperty(Kd,"__esModule",{value:!0});var cu=iXt(Rv()),aXt=["#EXTINF","#EXT-X-BYTERANGE","#EXT-X-DISCONTINUITY","#EXT-X-STREAM-INF","#EXT-X-CUE-OUT","#EXT-X-CUE-IN","#EXT-X-KEY","#EXT-X-MAP"],oXt=["#EXT-X-MEDIA"],JQ=class extends Array{constructor(e){super(),this.baseUri=e}push(...e){for(let r of e){if(!r.startsWith("#")){super.push(r);continue}if(aXt.some(n=>r.startsWith(n))){super.push(r);continue}if(this.includes(r)){if(oXt.some(n=>r.startsWith(n)))continue;cu.INVALIDPLAYLIST(`Redundant item (${r})`)}super.push(r)}return this.length}};function XQ(t,e){let r=1e3;e&&(r=10**e);let n=Math.round(t*r)/r;return e?n.toFixed(e):n}function cXt(t){let e=t.toString(10),r=e.indexOf(".");return r===-1?0:e.length-r-1}function uXt(t,e){for(let r of e.sessionDataList)t.push(lXt(r));for(let r of e.sessionKeyList)t.push(wke(r,!0));for(let r of e.variants)dXt(t,r)}function lXt(t){let e=[`DATA-ID="${t.id}"`];return t.language&&e.push(`LANGUAGE="${t.language}"`),t.value?e.push(`VALUE="${t.value}"`):t.uri&&e.push(`URI="${t.uri}"`),`#EXT-X-SESSION-DATA:${e.join(",")}`}function wke(t,e){let r=e?"#EXT-X-SESSION-KEY":"#EXT-X-KEY",n=[`METHOD=${t.method}`];return t.uri&&n.push(`URI="${t.uri}"`),t.iv&&(t.iv.length!==16&&cu.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),n.push(`IV=${cu.byteSequenceToHex(t.iv)}`)),t.format&&n.push(`KEYFORMAT="${t.format}"`),t.formatVersion&&n.push(`KEYFORMATVERSIONS="${t.formatVersion}"`),`${r}:${n.join(",")}`}function dXt(t,e){let r=e.isIFrameOnly?"#EXT-X-I-FRAME-STREAM-INF":"#EXT-X-STREAM-INF",n=[`BANDWIDTH=${e.bandwidth}`];if(e.averageBandwidth&&n.push(`AVERAGE-BANDWIDTH=${e.averageBandwidth}`),e.isIFrameOnly&&n.push(`URI="${e.uri}"`),e.codecs&&n.push(`CODECS="${e.codecs}"`),e.resolution&&n.push(`RESOLUTION=${e.resolution.width}x${e.resolution.height}`),e.frameRate&&n.push(`FRAME-RATE=${XQ(e.frameRate,3)}`),e.hdcpLevel&&n.push(`HDCP-LEVEL=${e.hdcpLevel}`),e.audio.length>0){n.push(`AUDIO="${e.audio[0].groupId}"`);for(let s of e.audio)t.push(dk(s))}if(e.video.length>0){n.push(`VIDEO="${e.video[0].groupId}"`);for(let s of e.video)t.push(dk(s))}if(e.subtitles.length>0){n.push(`SUBTITLES="${e.subtitles[0].groupId}"`);for(let s of e.subtitles)t.push(dk(s))}if(cu.getOptions().allowClosedCaptionsNone&&e.closedCaptions.length===0)n.push("CLOSED-CAPTIONS=NONE");else if(e.closedCaptions.length>0){n.push(`CLOSED-CAPTIONS="${e.closedCaptions[0].groupId}"`);for(let s of e.closedCaptions)t.push(dk(s))}if(e.score&&n.push(`SCORE=${e.score}`),e.allowedCpc){let s=[];for(let{format:i,cpcList:a}of e.allowedCpc)s.push(`${i}:${a.join("/")}`);n.push(`ALLOWED-CPC="${s.join(",")}"`)}e.videoRange&&n.push(`VIDEO-RANGE=${e.videoRange}`),e.stableVariantId&&n.push(`STABLE-VARIANT-ID="${e.stableVariantId}"`),e.programId&&n.push(`PROGRAM-ID=${e.programId}`),t.push(`${r}:${n.join(",")}`),e.isIFrameOnly||t.push(`${e.uri}`)}function dk(t){let e=[`TYPE=${t.type}`,`GROUP-ID="${t.groupId}"`,`NAME="${t.name}"`];return t.isDefault!==void 0&&e.push(`DEFAULT=${t.isDefault?"YES":"NO"}`),t.autoselect!==void 0&&e.push(`AUTOSELECT=${t.autoselect?"YES":"NO"}`),t.forced!==void 0&&e.push(`FORCED=${t.forced?"YES":"NO"}`),t.language&&e.push(`LANGUAGE="${t.language}"`),t.assocLanguage&&e.push(`ASSOC-LANGUAGE="${t.assocLanguage}"`),t.instreamId&&e.push(`INSTREAM-ID="${t.instreamId}"`),t.characteristics&&e.push(`CHARACTERISTICS="${t.characteristics}"`),t.channels&&e.push(`CHANNELS="${t.channels}"`),t.uri&&e.push(`URI="${t.uri}"`),`#EXT-X-MEDIA:${e.join(",")}`}function fXt(t,e){let r="",n="",s=!1;if(e.targetDuration&&t.push(`#EXT-X-TARGETDURATION:${e.targetDuration}`),e.lowLatencyCompatibility){let{canBlockReload:i,canSkipUntil:a,holdBack:o,partHoldBack:c}=e.lowLatencyCompatibility,u=[];u.push(`CAN-BLOCK-RELOAD=${i?"YES":"NO"}`),a!==void 0&&u.push(`CAN-SKIP-UNTIL=${a}`),o!==void 0&&u.push(`HOLD-BACK=${o}`),c!==void 0&&u.push(`PART-HOLD-BACK=${c}`),t.push(`#EXT-X-SERVER-CONTROL:${u.join(",")}`)}e.partTargetDuration&&t.push(`#EXT-X-PART-INF:PART-TARGET=${e.partTargetDuration}`),e.mediaSequenceBase&&t.push(`#EXT-X-MEDIA-SEQUENCE:${e.mediaSequenceBase}`),e.discontinuitySequenceBase&&t.push(`#EXT-X-DISCONTINUITY-SEQUENCE:${e.discontinuitySequenceBase}`),e.playlistType&&t.push(`#EXT-X-PLAYLIST-TYPE:${e.playlistType}`),e.isIFrame&&t.push("#EXT-X-I-FRAMES-ONLY"),e.skip>0&&t.push(`#EXT-X-SKIP:SKIPPED-SEGMENTS=${e.skip}`);for(let i of e.segments){let a="";[r,n,a]=pXt(t,i,r,n,e.version),a==="OUT"?s=!0:a==="IN"&&s&&(s=!1)}e.playlistType==="VOD"&&s&&t.push("#EXT-X-CUE-IN"),e.prefetchSegments.length>2&&cu.INVALIDPLAYLIST("The server must deliver no more than two prefetch segments");for(let i of e.prefetchSegments)i.discontinuity&&t.push("#EXT-X-PREFETCH-DISCONTINUITY"),t.push(`#EXT-X-PREFETCH:${i.uri}`);e.endlist&&t.push("#EXT-X-ENDLIST");for(let i of e.renditionReports){let a=[];a.push(`URI="${i.uri}"`,`LAST-MSN=${i.lastMSN}`),i.lastPart!==void 0&&a.push(`LAST-PART=${i.lastPart}`),t.push(`#EXT-X-RENDITION-REPORT:${a.join(",")}`)}}function pXt(t,e,r,n,s=1){let i=!1,a="";if(e.discontinuity&&t.push("#EXT-X-DISCONTINUITY"),e.key){let c=wke(e.key);c!==r&&(t.push(c),r=c)}if(e.map){let c=mXt(e.map);c!==n&&(t.push(c),n=c)}if(e.programDateTime&&t.push(`#EXT-X-PROGRAM-DATE-TIME:${cu.formatDate(e.programDateTime)}`),e.dateRange&&t.push(hXt(e.dateRange)),e.markers.length>0&&(a=gXt(t,e.markers)),e.parts.length>0&&(i=AXt(t,e.parts)),i)return[r,n];let o=s<3?Math.round(e.duration):XQ(e.duration,cXt(e.duration));return t.push(`#EXTINF:${o},${unescape(encodeURIComponent(e.title||""))}`),e.byterange&&t.push(`#EXT-X-BYTERANGE:${ZQ(e.byterange)}`),Array.prototype.push.call(t,`${e.uri}`),[r,n,a]}function mXt(t){let e=[`URI="${t.uri}"`];return t.byterange&&e.push(`BYTERANGE="${ZQ(t.byterange)}"`),`#EXT-X-MAP:${e.join(",")}`}function ZQ({offset:t,length:e}){return`${e}@${t}`}function hXt(t){let e=[`ID="${t.id}"`];t.start&&e.push(`START-DATE="${cu.formatDate(t.start)}"`),t.end&&e.push(`END-DATE="${cu.formatDate(t.end)}"`),t.duration&&e.push(`DURATION=${t.duration}`),t.plannedDuration&&e.push(`PLANNED-DURATION=${t.plannedDuration}`),t.classId&&e.push(`CLASS="${t.classId}"`),t.endOnNext&&e.push("END-ON-NEXT=YES");for(let r of Object.keys(t.attributes))r.startsWith("X-")?typeof t.attributes[r]=="number"?e.push(`${r}=${t.attributes[r]}`):e.push(`${r}="${t.attributes[r]}"`):r.startsWith("SCTE35-")&&e.push(`${r}=${cu.byteSequenceToHex(t.attributes[r])}`);return`#EXT-X-DATERANGE:${e.join(",")}`}function gXt(t,e){let r="";for(let n of e)if(n.type==="OUT")r="OUT",t.push(`#EXT-X-CUE-OUT:DURATION=${n.duration}`);else if(n.type==="IN")r="IN",t.push("#EXT-X-CUE-IN");else if(n.type==="RAW"){let s=n.value?`:${n.value}`:"";t.push(`#${n.tagName}${s}`)}return r}function AXt(t,e){let r=!1;for(let n of e)if(n.hint){let s=[];if(s.push("TYPE=PART",`URI="${n.uri}"`),n.byterange){let{offset:i,length:a}=n.byterange;s.push(`BYTERANGE-START=${i}`),a&&s.push(`BYTERANGE-LENGTH=${a}`)}t.push(`#EXT-X-PRELOAD-HINT:${s.join(",")}`),r=!0}else{let s=[];s.push(`DURATION=${n.duration}`,`URI="${n.uri}"`),n.byterange&&s.push(`BYTERANGE=${ZQ(n.byterange)}`),n.independent&&s.push("INDEPENDENT=YES"),n.gap&&s.push("GAP=YES"),t.push(`#EXT-X-PART:${s.join(",")}`)}return r}function yXt(t){cu.PARAMCHECK(t),cu.ASSERT("Not a playlist",t.type==="playlist");let e=new JQ(t.uri);return e.push("#EXTM3U"),t.version&&e.push(`#EXT-X-VERSION:${t.version}`),t.independentSegments&&e.push("#EXT-X-INDEPENDENT-SEGMENTS"),t.start&&e.push(`#EXT-X-START:TIME-OFFSET=${XQ(t.start.offset)}${t.start.precise?",PRECISE=YES":""}`),t.isMasterPlaylist?uXt(e,t):fXt(e,t),e.join(`
`)}Kd.default=yXt});var Pke=E(_s=>{"use strict";var xXt=_s&&_s.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),bXt=_s&&_s.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),EXt=_s&&_s.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&xXt(e,t,r);return bXt(e,t),e},Nke=_s&&_s.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_s,"__esModule",{value:!0});_s.setOptions=_s.getOptions=_s.types=_s.stringify=_s.parse=void 0;var Oke=Rv();Object.defineProperty(_s,"getOptions",{enumerable:!0,get:function(){return Oke.getOptions}});Object.defineProperty(_s,"setOptions",{enumerable:!0,get:function(){return Oke.setOptions}});var _Xt=Nke(Tke());_s.parse=_Xt.default;var SXt=Nke(Rke());_s.stringify=SXt.default;var vXt=EXt(KQ());_s.types=vXt});var pG=E((j7r,bLe)=>{bLe.exports=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}});var A0=E(Bh=>{var mG,nZt=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];Bh.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return e*4+17};Bh.getSymbolTotalCodewords=function(e){return nZt[e]};Bh.getBCHDigit=function(t){let e=0;for(;t!==0;)e++,t>>>=1;return e};Bh.setToSJISFunction=function(e){if(typeof e!="function")throw new Error('"toSJISFunc" is not a valid function.');mG=e};Bh.isKanjiModeEnabled=function(){return typeof mG<"u"};Bh.toSJIS=function(e){return mG(e)}});var Ck=E(yc=>{yc.L={bit:1};yc.M={bit:0};yc.Q={bit:3};yc.H={bit:2};function sZt(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return yc.L;case"m":case"medium":return yc.M;case"q":case"quartile":return yc.Q;case"h":case"high":return yc.H;default:throw new Error("Unknown EC Level: "+t)}}yc.isValid=function(e){return e&&typeof e.bit<"u"&&e.bit>=0&&e.bit<4};yc.from=function(e,r){if(yc.isValid(e))return e;try{return sZt(e)}catch{return r}}});var SLe=E((G7r,_Le)=>{function ELe(){this.buffer=[],this.length=0}ELe.prototype={get:function(t){let e=Math.floor(t/8);return(this.buffer[e]>>>7-t%8&1)===1},put:function(t,e){for(let r=0;r<e;r++)this.putBit((t>>>e-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(t){let e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};_Le.exports=ELe});var CLe=E((V7r,vLe)=>{function Lv(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}Lv.prototype.set=function(t,e,r,n){let s=t*this.size+e;this.data[s]=r,n&&(this.reservedBit[s]=!0)};Lv.prototype.get=function(t,e){return this.data[t*this.size+e]};Lv.prototype.xor=function(t,e,r){this.data[t*this.size+e]^=r};Lv.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]};vLe.exports=Lv});var ILe=E(Ik=>{var iZt=A0().getSymbolSize;Ik.getRowColCoords=function(e){if(e===1)return[];let r=Math.floor(e/7)+2,n=iZt(e),s=n===145?26:Math.ceil((n-13)/(2*r-2))*2,i=[n-7];for(let a=1;a<r-1;a++)i[a]=i[a-1]-s;return i.push(6),i.reverse()};Ik.getPositions=function(e){let r=[],n=Ik.getRowColCoords(e),s=n.length;for(let i=0;i<s;i++)for(let a=0;a<s;a++)i===0&&a===0||i===0&&a===s-1||i===s-1&&a===0||r.push([n[i],n[a]]);return r}});var RLe=E(wLe=>{var aZt=A0().getSymbolSize,TLe=7;wLe.getPositions=function(e){let r=aZt(e);return[[0,0],[r-TLe,0],[0,r-TLe]]}});var NLe=E(Sn=>{Sn.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var Mh={N1:3,N2:3,N3:40,N4:10};Sn.isValid=function(e){return e!=null&&e!==""&&!isNaN(e)&&e>=0&&e<=7};Sn.from=function(e){return Sn.isValid(e)?parseInt(e,10):void 0};Sn.getPenaltyN1=function(e){let r=e.size,n=0,s=0,i=0,a=null,o=null;for(let c=0;c<r;c++){s=i=0,a=o=null;for(let u=0;u<r;u++){let l=e.get(c,u);l===a?s++:(s>=5&&(n+=Mh.N1+(s-5)),a=l,s=1),l=e.get(u,c),l===o?i++:(i>=5&&(n+=Mh.N1+(i-5)),o=l,i=1)}s>=5&&(n+=Mh.N1+(s-5)),i>=5&&(n+=Mh.N1+(i-5))}return n};Sn.getPenaltyN2=function(e){let r=e.size,n=0;for(let s=0;s<r-1;s++)for(let i=0;i<r-1;i++){let a=e.get(s,i)+e.get(s,i+1)+e.get(s+1,i)+e.get(s+1,i+1);(a===4||a===0)&&n++}return n*Mh.N2};Sn.getPenaltyN3=function(e){let r=e.size,n=0,s=0,i=0;for(let a=0;a<r;a++){s=i=0;for(let o=0;o<r;o++)s=s<<1&2047|e.get(a,o),o>=10&&(s===1488||s===93)&&n++,i=i<<1&2047|e.get(o,a),o>=10&&(i===1488||i===93)&&n++}return n*Mh.N3};Sn.getPenaltyN4=function(e){let r=0,n=e.data.length;for(let i=0;i<n;i++)r+=e.data[i];return Math.abs(Math.ceil(r*100/n/5)-10)*Mh.N4};function oZt(t,e,r){switch(t){case Sn.Patterns.PATTERN000:return(e+r)%2===0;case Sn.Patterns.PATTERN001:return e%2===0;case Sn.Patterns.PATTERN010:return r%3===0;case Sn.Patterns.PATTERN011:return(e+r)%3===0;case Sn.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(r/3))%2===0;case Sn.Patterns.PATTERN101:return e*r%2+e*r%3===0;case Sn.Patterns.PATTERN110:return(e*r%2+e*r%3)%2===0;case Sn.Patterns.PATTERN111:return(e*r%3+(e+r)%2)%2===0;default:throw new Error("bad maskPattern:"+t)}}Sn.applyMask=function(e,r){let n=r.size;for(let s=0;s<n;s++)for(let i=0;i<n;i++)r.isReserved(i,s)||r.xor(i,s,oZt(e,i,s))};Sn.getBestMask=function(e,r){let n=Object.keys(Sn.Patterns).length,s=0,i=1/0;for(let a=0;a<n;a++){r(a),Sn.applyMask(a,e);let o=Sn.getPenaltyN1(e)+Sn.getPenaltyN2(e)+Sn.getPenaltyN3(e)+Sn.getPenaltyN4(e);Sn.applyMask(a,e),o<i&&(i=o,s=a)}return s}});var gG=E(hG=>{var y0=Ck(),Tk=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],wk=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];hG.getBlocksCount=function(e,r){switch(r){case y0.L:return Tk[(e-1)*4+0];case y0.M:return Tk[(e-1)*4+1];case y0.Q:return Tk[(e-1)*4+2];case y0.H:return Tk[(e-1)*4+3];default:return}};hG.getTotalCodewordsCount=function(e,r){switch(r){case y0.L:return wk[(e-1)*4+0];case y0.M:return wk[(e-1)*4+1];case y0.Q:return wk[(e-1)*4+2];case y0.H:return wk[(e-1)*4+3];default:return}}});var OLe=E(Nk=>{var Bv=new Uint8Array(512),Rk=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)Bv[r]=e,Rk[e]=r,e<<=1,e&256&&(e^=285);for(let r=255;r<512;r++)Bv[r]=Bv[r-255]})();Nk.log=function(e){if(e<1)throw new Error("log("+e+")");return Rk[e]};Nk.exp=function(e){return Bv[e]};Nk.mul=function(e,r){return e===0||r===0?0:Bv[Rk[e]+Rk[r]]}});var PLe=E(Mv=>{var AG=OLe();Mv.mul=function(e,r){let n=new Uint8Array(e.length+r.length-1);for(let s=0;s<e.length;s++)for(let i=0;i<r.length;i++)n[s+i]^=AG.mul(e[s],r[i]);return n};Mv.mod=function(e,r){let n=new Uint8Array(e);for(;n.length-r.length>=0;){let s=n[0];for(let a=0;a<r.length;a++)n[a]^=AG.mul(r[a],s);let i=0;for(;i<n.length&&n[i]===0;)i++;n=n.slice(i)}return n};Mv.generateECPolynomial=function(e){let r=new Uint8Array([1]);for(let n=0;n<e;n++)r=Mv.mul(r,new Uint8Array([1,AG.exp(n)]));return r}});var LLe=E((e9r,kLe)=>{var DLe=PLe();function yG(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}yG.prototype.initialize=function(e){this.degree=e,this.genPoly=DLe.generateECPolynomial(this.degree)};yG.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");let r=new Uint8Array(e.length+this.degree);r.set(e);let n=DLe.mod(r,this.genPoly),s=this.degree-n.length;if(s>0){let i=new Uint8Array(this.degree);return i.set(n,s),i}return n};kLe.exports=yG});var xG=E(BLe=>{BLe.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}});var bG=E(Jd=>{var MLe="[0-9]+",cZt="[A-Z $%*+\\-./:]+",Wv="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";Wv=Wv.replace(/u/g,"\\u");var uZt="(?:(?![A-Z0-9 $%*+\\-./:]|"+Wv+`)(?:.|[\r
]))+`;Jd.KANJI=new RegExp(Wv,"g");Jd.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");Jd.BYTE=new RegExp(uZt,"g");Jd.NUMERIC=new RegExp(MLe,"g");Jd.ALPHANUMERIC=new RegExp(cZt,"g");var lZt=new RegExp("^"+Wv+"$"),dZt=new RegExp("^"+MLe+"$"),fZt=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");Jd.testKanji=function(e){return lZt.test(e)};Jd.testNumeric=function(e){return dZt.test(e)};Jd.testAlphanumeric=function(e){return fZt.test(e)}});var x0=E(vs=>{var pZt=xG(),EG=bG();vs.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]};vs.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]};vs.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]};vs.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]};vs.MIXED={bit:-1};vs.getCharCountIndicator=function(e,r){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!pZt.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?e.ccBits[0]:r<27?e.ccBits[1]:e.ccBits[2]};vs.getBestModeForData=function(e){return EG.testNumeric(e)?vs.NUMERIC:EG.testAlphanumeric(e)?vs.ALPHANUMERIC:EG.testKanji(e)?vs.KANJI:vs.BYTE};vs.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")};vs.isValid=function(e){return e&&e.bit&&e.ccBits};function mZt(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return vs.NUMERIC;case"alphanumeric":return vs.ALPHANUMERIC;case"kanji":return vs.KANJI;case"byte":return vs.BYTE;default:throw new Error("Unknown mode: "+t)}}vs.from=function(e,r){if(vs.isValid(e))return e;try{return mZt(e)}catch{return r}}});var qLe=E(Wh=>{var Ok=A0(),hZt=gG(),WLe=Ck(),b0=x0(),_G=xG(),FLe=7973,$Le=Ok.getBCHDigit(FLe);function gZt(t,e,r){for(let n=1;n<=40;n++)if(e<=Wh.getCapacity(n,r,t))return n}function ULe(t,e){return b0.getCharCountIndicator(t,e)+4}function AZt(t,e){let r=0;return t.forEach(function(n){let s=ULe(n.mode,e);r+=s+n.getBitsLength()}),r}function yZt(t,e){for(let r=1;r<=40;r++)if(AZt(t,r)<=Wh.getCapacity(r,e,b0.MIXED))return r}Wh.from=function(e,r){return _G.isValid(e)?parseInt(e,10):r};Wh.getCapacity=function(e,r,n){if(!_G.isValid(e))throw new Error("Invalid QR Code version");typeof n>"u"&&(n=b0.BYTE);let s=Ok.getSymbolTotalCodewords(e),i=hZt.getTotalCodewordsCount(e,r),a=(s-i)*8;if(n===b0.MIXED)return a;let o=a-ULe(n,e);switch(n){case b0.NUMERIC:return Math.floor(o/10*3);case b0.ALPHANUMERIC:return Math.floor(o/11*2);case b0.KANJI:return Math.floor(o/13);case b0.BYTE:default:return Math.floor(o/8)}};Wh.getBestVersionForData=function(e,r){let n,s=WLe.from(r,WLe.M);if(Array.isArray(e)){if(e.length>1)return yZt(e,s);if(e.length===0)return 1;n=e[0]}else n=e;return gZt(n.mode,n.getLength(),s)};Wh.getEncodedBits=function(e){if(!_G.isValid(e)||e<7)throw new Error("Invalid QR Code version");let r=e<<12;for(;Ok.getBCHDigit(r)-$Le>=0;)r^=FLe<<Ok.getBCHDigit(r)-$Le;return e<<12|r}});var GLe=E(QLe=>{var SG=A0(),HLe=1335,xZt=21522,jLe=SG.getBCHDigit(HLe);QLe.getEncodedBits=function(e,r){let n=e.bit<<3|r,s=n<<10;for(;SG.getBCHDigit(s)-jLe>=0;)s^=HLe<<SG.getBCHDigit(s)-jLe;return(n<<10|s)^xZt}});var zLe=E((a9r,VLe)=>{var bZt=x0();function jx(t){this.mode=bZt.NUMERIC,this.data=t.toString()}jx.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)};jx.prototype.getLength=function(){return this.data.length};jx.prototype.getBitsLength=function(){return jx.getBitsLength(this.data.length)};jx.prototype.write=function(e){let r,n,s;for(r=0;r+3<=this.data.length;r+=3)n=this.data.substr(r,3),s=parseInt(n,10),e.put(s,10);let i=this.data.length-r;i>0&&(n=this.data.substr(r),s=parseInt(n,10),e.put(s,i*3+1))};VLe.exports=jx});var YLe=E((o9r,KLe)=>{var EZt=x0(),vG=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function Hx(t){this.mode=EZt.ALPHANUMERIC,this.data=t}Hx.getBitsLength=function(e){return 11*Math.floor(e/2)+6*(e%2)};Hx.prototype.getLength=function(){return this.data.length};Hx.prototype.getBitsLength=function(){return Hx.getBitsLength(this.data.length)};Hx.prototype.write=function(e){let r;for(r=0;r+2<=this.data.length;r+=2){let n=vG.indexOf(this.data[r])*45;n+=vG.indexOf(this.data[r+1]),e.put(n,11)}this.data.length%2&&e.put(vG.indexOf(this.data[r]),6)};KLe.exports=Hx});var XLe=E((c9r,JLe)=>{var _Zt=x0();function Qx(t){this.mode=_Zt.BYTE,typeof t=="string"?this.data=new TextEncoder().encode(t):this.data=new Uint8Array(t)}Qx.getBitsLength=function(e){return e*8};Qx.prototype.getLength=function(){return this.data.length};Qx.prototype.getBitsLength=function(){return Qx.getBitsLength(this.data.length)};Qx.prototype.write=function(t){for(let e=0,r=this.data.length;e<r;e++)t.put(this.data[e],8)};JLe.exports=Qx});var eBe=E((u9r,ZLe)=>{var SZt=x0(),vZt=A0();function Gx(t){this.mode=SZt.KANJI,this.data=t}Gx.getBitsLength=function(e){return e*13};Gx.prototype.getLength=function(){return this.data.length};Gx.prototype.getBitsLength=function(){return Gx.getBitsLength(this.data.length)};Gx.prototype.write=function(t){let e;for(e=0;e<this.data.length;e++){let r=vZt.toSJIS(this.data[e]);if(r>=33088&&r<=40956)r-=33088;else if(r>=57408&&r<=60351)r-=49472;else throw new Error("Invalid SJIS character: "+this.data[e]+`
Make sure your charset is UTF-8`);r=(r>>>8&255)*192+(r&255),t.put(r,13)}};ZLe.exports=Gx});var tBe=E((l9r,CG)=>{"use strict";var $v={single_source_shortest_paths:function(t,e,r){var n={},s={};s[e]=0;var i=$v.PriorityQueue.make();i.push(e,0);for(var a,o,c,u,l,d,f,p,m;!i.empty();){a=i.pop(),o=a.value,u=a.cost,l=t[o]||{};for(c in l)l.hasOwnProperty(c)&&(d=l[c],f=u+d,p=s[c],m=typeof s[c]>"u",(m||p>f)&&(s[c]=f,i.push(c,f),n[c]=o))}if(typeof r<"u"&&typeof s[r]>"u"){var h=["Could not find a path from ",e," to ",r,"."].join("");throw new Error(h)}return n},extract_shortest_path_from_predecessor_list:function(t,e){for(var r=[],n=e,s;n;)r.push(n),s=t[n],n=t[n];return r.reverse(),r},find_path:function(t,e,r){var n=$v.single_source_shortest_paths(t,e,r);return $v.extract_shortest_path_from_predecessor_list(n,r)},PriorityQueue:{make:function(t){var e=$v.PriorityQueue,r={},n;t=t||{};for(n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return r.queue=[],r.sorter=t.sorter||e.default_sorter,r},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var r={value:t,cost:e};this.queue.push(r),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};typeof CG<"u"&&(CG.exports=$v)});var uBe=E(Vx=>{var zr=x0(),sBe=zLe(),iBe=YLe(),aBe=XLe(),oBe=eBe(),Fv=bG(),Pk=A0(),CZt=tBe();function rBe(t){return unescape(encodeURIComponent(t)).length}function Uv(t,e,r){let n=[],s;for(;(s=t.exec(r))!==null;)n.push({data:s[0],index:s.index,mode:e,length:s[0].length});return n}function cBe(t){let e=Uv(Fv.NUMERIC,zr.NUMERIC,t),r=Uv(Fv.ALPHANUMERIC,zr.ALPHANUMERIC,t),n,s;return Pk.isKanjiModeEnabled()?(n=Uv(Fv.BYTE,zr.BYTE,t),s=Uv(Fv.KANJI,zr.KANJI,t)):(n=Uv(Fv.BYTE_KANJI,zr.BYTE,t),s=[]),e.concat(r,n,s).sort(function(a,o){return a.index-o.index}).map(function(a){return{data:a.data,mode:a.mode,length:a.length}})}function IG(t,e){switch(e){case zr.NUMERIC:return sBe.getBitsLength(t);case zr.ALPHANUMERIC:return iBe.getBitsLength(t);case zr.KANJI:return oBe.getBitsLength(t);case zr.BYTE:return aBe.getBitsLength(t)}}function IZt(t){return t.reduce(function(e,r){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===r.mode?(e[e.length-1].data+=r.data,e):(e.push(r),e)},[])}function TZt(t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];switch(n.mode){case zr.NUMERIC:e.push([n,{data:n.data,mode:zr.ALPHANUMERIC,length:n.length},{data:n.data,mode:zr.BYTE,length:n.length}]);break;case zr.ALPHANUMERIC:e.push([n,{data:n.data,mode:zr.BYTE,length:n.length}]);break;case zr.KANJI:e.push([n,{data:n.data,mode:zr.BYTE,length:rBe(n.data)}]);break;case zr.BYTE:e.push([{data:n.data,mode:zr.BYTE,length:rBe(n.data)}])}}return e}function wZt(t,e){let r={},n={start:{}},s=["start"];for(let i=0;i<t.length;i++){let a=t[i],o=[];for(let c=0;c<a.length;c++){let u=a[c],l=""+i+c;o.push(l),r[l]={node:u,lastCount:0},n[l]={};for(let d=0;d<s.length;d++){let f=s[d];r[f]&&r[f].node.mode===u.mode?(n[f][l]=IG(r[f].lastCount+u.length,u.mode)-IG(r[f].lastCount,u.mode),r[f].lastCount+=u.length):(r[f]&&(r[f].lastCount=u.length),n[f][l]=IG(u.length,u.mode)+4+zr.getCharCountIndicator(u.mode,e))}}s=o}for(let i=0;i<s.length;i++)n[s[i]].end=0;return{map:n,table:r}}function nBe(t,e){let r,n=zr.getBestModeForData(t);if(r=zr.from(e,n),r!==zr.BYTE&&r.bit<n.bit)throw new Error('"'+t+'" cannot be encoded with mode '+zr.toString(r)+`.
Suggested mode is: `+zr.toString(n));switch(r===zr.KANJI&&!Pk.isKanjiModeEnabled()&&(r=zr.BYTE),r){case zr.NUMERIC:return new sBe(t);case zr.ALPHANUMERIC:return new iBe(t);case zr.KANJI:return new oBe(t);case zr.BYTE:return new aBe(t)}}Vx.fromArray=function(e){return e.reduce(function(r,n){return typeof n=="string"?r.push(nBe(n,null)):n.data&&r.push(nBe(n.data,n.mode)),r},[])};Vx.fromString=function(e,r){let n=cBe(e,Pk.isKanjiModeEnabled()),s=TZt(n),i=wZt(s,r),a=CZt.find_path(i.map,"start","end"),o=[];for(let c=1;c<a.length-1;c++)o.push(i.table[a[c]].node);return Vx.fromArray(IZt(o))};Vx.rawSplit=function(e){return Vx.fromArray(cBe(e,Pk.isKanjiModeEnabled()))}});var PG=E(lBe=>{var kk=A0(),TG=Ck(),RZt=SLe(),NZt=CLe(),OZt=ILe(),PZt=RLe(),NG=NLe(),OG=gG(),DZt=LLe(),Dk=qLe(),kZt=GLe(),LZt=x0(),wG=uBe();function BZt(t,e){let r=t.size,n=PZt.getPositions(e);for(let s=0;s<n.length;s++){let i=n[s][0],a=n[s][1];for(let o=-1;o<=7;o++)if(!(i+o<=-1||r<=i+o))for(let c=-1;c<=7;c++)a+c<=-1||r<=a+c||(o>=0&&o<=6&&(c===0||c===6)||c>=0&&c<=6&&(o===0||o===6)||o>=2&&o<=4&&c>=2&&c<=4?t.set(i+o,a+c,!0,!0):t.set(i+o,a+c,!1,!0))}}function MZt(t){let e=t.size;for(let r=8;r<e-8;r++){let n=r%2===0;t.set(r,6,n,!0),t.set(6,r,n,!0)}}function WZt(t,e){let r=OZt.getPositions(e);for(let n=0;n<r.length;n++){let s=r[n][0],i=r[n][1];for(let a=-2;a<=2;a++)for(let o=-2;o<=2;o++)a===-2||a===2||o===-2||o===2||a===0&&o===0?t.set(s+a,i+o,!0,!0):t.set(s+a,i+o,!1,!0)}}function $Zt(t,e){let r=t.size,n=Dk.getEncodedBits(e),s,i,a;for(let o=0;o<18;o++)s=Math.floor(o/3),i=o%3+r-8-3,a=(n>>o&1)===1,t.set(s,i,a,!0),t.set(i,s,a,!0)}function RG(t,e,r){let n=t.size,s=kZt.getEncodedBits(e,r),i,a;for(i=0;i<15;i++)a=(s>>i&1)===1,i<6?t.set(i,8,a,!0):i<8?t.set(i+1,8,a,!0):t.set(n-15+i,8,a,!0),i<8?t.set(8,n-i-1,a,!0):i<9?t.set(8,15-i-1+1,a,!0):t.set(8,15-i-1,a,!0);t.set(n-8,8,1,!0)}function FZt(t,e){let r=t.size,n=-1,s=r-1,i=7,a=0;for(let o=r-1;o>0;o-=2)for(o===6&&o--;;){for(let c=0;c<2;c++)if(!t.isReserved(s,o-c)){let u=!1;a<e.length&&(u=(e[a]>>>i&1)===1),t.set(s,o-c,u),i--,i===-1&&(a++,i=7)}if(s+=n,s<0||r<=s){s-=n,n=-n;break}}}function UZt(t,e,r){let n=new RZt;r.forEach(function(c){n.put(c.mode.bit,4),n.put(c.getLength(),LZt.getCharCountIndicator(c.mode,t)),c.write(n)});let s=kk.getSymbolTotalCodewords(t),i=OG.getTotalCodewordsCount(t,e),a=(s-i)*8;for(n.getLengthInBits()+4<=a&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(0);let o=(a-n.getLengthInBits())/8;for(let c=0;c<o;c++)n.put(c%2?17:236,8);return qZt(n,t,e)}function qZt(t,e,r){let n=kk.getSymbolTotalCodewords(e),s=OG.getTotalCodewordsCount(e,r),i=n-s,a=OG.getBlocksCount(e,r),o=n%a,c=a-o,u=Math.floor(n/a),l=Math.floor(i/a),d=l+1,f=u-l,p=new DZt(f),m=0,h=new Array(a),A=new Array(a),g=0,b=new Uint8Array(t.buffer);for(let R=0;R<a;R++){let w=R<c?l:d;h[R]=b.slice(m,m+w),A[R]=p.encode(h[R]),m+=w,g=Math.max(g,w)}let y=new Uint8Array(n),x=0,v,C;for(v=0;v<g;v++)for(C=0;C<a;C++)v<h[C].length&&(y[x++]=h[C][v]);for(v=0;v<f;v++)for(C=0;C<a;C++)y[x++]=A[C][v];return y}function jZt(t,e,r,n){let s;if(Array.isArray(t))s=wG.fromArray(t);else if(typeof t=="string"){let u=e;if(!u){let l=wG.rawSplit(t);u=Dk.getBestVersionForData(l,r)}s=wG.fromString(t,u||40)}else throw new Error("Invalid data");let i=Dk.getBestVersionForData(s,r);if(!i)throw new Error("The amount of data is too big to be stored in a QR Code");if(!e)e=i;else if(e<i)throw new Error(`
The chosen QR Code version cannot contain this amount of data.
Minimum version required to store current data is: `+i+`.
`);let a=UZt(e,r,s),o=kk.getSymbolSize(e),c=new NZt(o);return BZt(c,e),MZt(c),WZt(c,e),RG(c,r,0),e>=7&&$Zt(c,e),FZt(c,a),isNaN(n)&&(n=NG.getBestMask(c,RG.bind(null,c,r))),NG.applyMask(n,c),RG(c,r,n),{modules:c,version:e,errorCorrectionLevel:r,maskPattern:n,segments:s}}lBe.create=function(e,r){if(typeof e>"u"||e==="")throw new Error("No input text");let n=TG.M,s,i;return typeof r<"u"&&(n=TG.from(r.errorCorrectionLevel,TG.M),s=Dk.from(r.version),i=NG.from(r.maskPattern),r.toSJISFunc&&kk.setToSJISFunction(r.toSJISFunc)),jZt(e,s,n,i)}});var DG=E((p9r,fBe)=>{"use strict";var HZt=require("util"),dBe=require("stream"),du=fBe.exports=function(){dBe.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};HZt.inherits(du,dBe);du.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e}),process.nextTick(function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))};du.prototype.write=function(t,e){if(!this.writable)return this.emit("error",new Error("Stream not writable")),!1;let r;return Buffer.isBuffer(t)?r=t:r=Buffer.from(t,e||this._encoding),this._buffers.push(r),this._buffered+=r.length,this._process(),this._reads&&this._reads.length===0&&(this._paused=!0),this.writable&&!this._paused};du.prototype.end=function(t,e){t&&this.write(t,e),this.writable=!1,this._buffers&&(this._buffers.length===0?this._end():(this._buffers.push(null),this._process()))};du.prototype.destroySoon=du.prototype.end;du.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("Unexpected end of input")),this.destroy()};du.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))};du.prototype._processReadAllowingLess=function(t){this._reads.shift();let e=this._buffers[0];e.length>t.length?(this._buffered-=t.length,this._buffers[0]=e.slice(t.length),t.func.call(this,e.slice(0,t.length))):(this._buffered-=e.length,this._buffers.shift(),t.func.call(this,e))};du.prototype._processRead=function(t){this._reads.shift();let e=0,r=0,n=Buffer.alloc(t.length);for(;e<t.length;){let s=this._buffers[r++],i=Math.min(s.length,t.length-e);s.copy(n,e,0,i),e+=i,i!==s.length&&(this._buffers[--r]=s.slice(i))}r>0&&this._buffers.splice(0,r),this._buffered-=t.length,t.func.call(this,n)};du.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let t=this._reads[0];if(t.allowLess)this._processReadAllowingLess(t);else if(this._buffered>=t.length)this._processRead(t);else break}this._buffers&&!this.writable&&this._end()}catch(t){this.emit("error",t)}}});var LG=E(kG=>{"use strict";var E0=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];kG.getImagePasses=function(t,e){let r=[],n=t%8,s=e%8,i=(t-n)/8,a=(e-s)/8;for(let o=0;o<E0.length;o++){let c=E0[o],u=i*c.x.length,l=a*c.y.length;for(let d=0;d<c.x.length&&c.x[d]<n;d++)u++;for(let d=0;d<c.y.length&&c.y[d]<s;d++)l++;u>0&&l>0&&r.push({width:u,height:l,index:o})}return r};kG.getInterlaceIterator=function(t){return function(e,r,n){let s=e%E0[n].x.length,i=(e-s)/E0[n].x.length*8+E0[n].x[s],a=r%E0[n].y.length,o=(r-a)/E0[n].y.length*8+E0[n].y[a];return i*4+o*t*4}}});var BG=E((h9r,pBe)=>{"use strict";pBe.exports=function(e,r,n){let s=e+r-n,i=Math.abs(s-e),a=Math.abs(s-r),o=Math.abs(s-n);return i<=a&&i<=o?e:a<=o?r:n}});var MG=E((g9r,hBe)=>{"use strict";var QZt=LG(),GZt=BG();function mBe(t,e,r){let n=t*e;return r!==8&&(n=Math.ceil(n/(8/r))),n}var zx=hBe.exports=function(t,e){let r=t.width,n=t.height,s=t.interlace,i=t.bpp,a=t.depth;if(this.read=e.read,this.write=e.write,this.complete=e.complete,this._imageIndex=0,this._images=[],s){let o=QZt.getImagePasses(r,n);for(let c=0;c<o.length;c++)this._images.push({byteWidth:mBe(o[c].width,i,a),height:o[c].height,lineIndex:0})}else this._images.push({byteWidth:mBe(r,i,a),height:n,lineIndex:0});a===8?this._xComparison=i:a===16?this._xComparison=i*2:this._xComparison=1};zx.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))};zx.prototype._unFilterType1=function(t,e,r){let n=this._xComparison,s=n-1;for(let i=0;i<r;i++){let a=t[1+i],o=i>s?e[i-n]:0;e[i]=a+o}};zx.prototype._unFilterType2=function(t,e,r){let n=this._lastLine;for(let s=0;s<r;s++){let i=t[1+s],a=n?n[s]:0;e[s]=i+a}};zx.prototype._unFilterType3=function(t,e,r){let n=this._xComparison,s=n-1,i=this._lastLine;for(let a=0;a<r;a++){let o=t[1+a],c=i?i[a]:0,u=a>s?e[a-n]:0,l=Math.floor((u+c)/2);e[a]=o+l}};zx.prototype._unFilterType4=function(t,e,r){let n=this._xComparison,s=n-1,i=this._lastLine;for(let a=0;a<r;a++){let o=t[1+a],c=i?i[a]:0,u=a>s?e[a-n]:0,l=a>s&&i?i[a-n]:0,d=GZt(u,c,l);e[a]=o+d}};zx.prototype._reverseFilterLine=function(t){let e=t[0],r,n=this._images[this._imageIndex],s=n.byteWidth;if(e===0)r=t.slice(1,s+1);else switch(r=Buffer.alloc(s),e){case 1:this._unFilterType1(t,r,s);break;case 2:this._unFilterType2(t,r,s);break;case 3:this._unFilterType3(t,r,s);break;case 4:this._unFilterType4(t,r,s);break;default:throw new Error("Unrecognised filter type - "+e)}this.write(r),n.lineIndex++,n.lineIndex>=n.height?(this._lastLine=null,this._imageIndex++,n=this._images[this._imageIndex]):this._lastLine=r,n?this.read(n.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}});var yBe=E((A9r,ABe)=>{"use strict";var VZt=require("util"),gBe=DG(),zZt=MG(),KZt=ABe.exports=function(t){gBe.call(this);let e=[],r=this;this._filter=new zZt(t,{read:this.read.bind(this),write:function(n){e.push(n)},complete:function(){r.emit("complete",Buffer.concat(e))}}),this._filter.start()};VZt.inherits(KZt,gBe)});var Kx=E((y9r,xBe)=>{"use strict";xBe.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}});var FG=E((x9r,bBe)=>{"use strict";var WG=[];(function(){for(let t=0;t<256;t++){let e=t;for(let r=0;r<8;r++)e&1?e=3988292384^e>>>1:e=e>>>1;WG[t]=e}})();var $G=bBe.exports=function(){this._crc=-1};$G.prototype.write=function(t){for(let e=0;e<t.length;e++)this._crc=WG[(this._crc^t[e])&255]^this._crc>>>8;return!0};$G.prototype.crc32=function(){return this._crc^-1};$G.crc32=function(t){let e=-1;for(let r=0;r<t.length;r++)e=WG[(e^t[r])&255]^e>>>8;return e^-1}});var UG=E((b9r,EBe)=>{"use strict";var Ps=Kx(),YZt=FG(),ti=EBe.exports=function(t,e){this._options=t,t.checkCRC=t.checkCRC!==!1,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[Ps.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[Ps.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[Ps.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[Ps.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[Ps.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[Ps.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=e.read,this.error=e.error,this.metadata=e.metadata,this.gamma=e.gamma,this.transColor=e.transColor,this.palette=e.palette,this.parsed=e.parsed,this.inflateData=e.inflateData,this.finished=e.finished,this.simpleTransparency=e.simpleTransparency,this.headersFinished=e.headersFinished||function(){}};ti.prototype.start=function(){this.read(Ps.PNG_SIGNATURE.length,this._parseSignature.bind(this))};ti.prototype._parseSignature=function(t){let e=Ps.PNG_SIGNATURE;for(let r=0;r<e.length;r++)if(t[r]!==e[r]){this.error(new Error("Invalid file signature"));return}this.read(8,this._parseChunkBegin.bind(this))};ti.prototype._parseChunkBegin=function(t){let e=t.readUInt32BE(0),r=t.readUInt32BE(4),n="";for(let i=4;i<8;i++)n+=String.fromCharCode(t[i]);let s=!!(t[4]&32);if(!this._hasIHDR&&r!==Ps.TYPE_IHDR){this.error(new Error("Expected IHDR on beggining"));return}if(this._crc=new YZt,this._crc.write(Buffer.from(n)),this._chunks[r])return this._chunks[r](e);if(!s){this.error(new Error("Unsupported critical chunk type "+n));return}this.read(e+4,this._skipChunk.bind(this))};ti.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))};ti.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))};ti.prototype._parseChunkEnd=function(t){let e=t.readInt32BE(0),r=this._crc.crc32();if(this._options.checkCRC&&r!==e){this.error(new Error("Crc error - "+e+" - "+r));return}this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))};ti.prototype._handleIHDR=function(t){this.read(t,this._parseIHDR.bind(this))};ti.prototype._parseIHDR=function(t){this._crc.write(t);let e=t.readUInt32BE(0),r=t.readUInt32BE(4),n=t[8],s=t[9],i=t[10],a=t[11],o=t[12];if(n!==8&&n!==4&&n!==2&&n!==1&&n!==16){this.error(new Error("Unsupported bit depth "+n));return}if(!(s in Ps.COLORTYPE_TO_BPP_MAP)){this.error(new Error("Unsupported color type"));return}if(i!==0){this.error(new Error("Unsupported compression method"));return}if(a!==0){this.error(new Error("Unsupported filter method"));return}if(o!==0&&o!==1){this.error(new Error("Unsupported interlace method"));return}this._colorType=s;let c=Ps.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:e,height:r,depth:n,interlace:!!o,palette:!!(s&Ps.COLORTYPE_PALETTE),color:!!(s&Ps.COLORTYPE_COLOR),alpha:!!(s&Ps.COLORTYPE_ALPHA),bpp:c,colorType:s}),this._handleChunkEnd()};ti.prototype._handlePLTE=function(t){this.read(t,this._parsePLTE.bind(this))};ti.prototype._parsePLTE=function(t){this._crc.write(t);let e=Math.floor(t.length/3);for(let r=0;r<e;r++)this._palette.push([t[r*3],t[r*3+1],t[r*3+2],255]);this.palette(this._palette),this._handleChunkEnd()};ti.prototype._handleTRNS=function(t){this.simpleTransparency(),this.read(t,this._parseTRNS.bind(this))};ti.prototype._parseTRNS=function(t){if(this._crc.write(t),this._colorType===Ps.COLORTYPE_PALETTE_COLOR){if(this._palette.length===0){this.error(new Error("Transparency chunk must be after palette"));return}if(t.length>this._palette.length){this.error(new Error("More transparent colors than palette size"));return}for(let e=0;e<t.length;e++)this._palette[e][3]=t[e];this.palette(this._palette)}this._colorType===Ps.COLORTYPE_GRAYSCALE&&this.transColor([t.readUInt16BE(0)]),this._colorType===Ps.COLORTYPE_COLOR&&this.transColor([t.readUInt16BE(0),t.readUInt16BE(2),t.readUInt16BE(4)]),this._handleChunkEnd()};ti.prototype._handleGAMA=function(t){this.read(t,this._parseGAMA.bind(this))};ti.prototype._parseGAMA=function(t){this._crc.write(t),this.gamma(t.readUInt32BE(0)/Ps.GAMMA_DIVISION),this._handleChunkEnd()};ti.prototype._handleIDAT=function(t){this._emittedHeadersFinished||(this._emittedHeadersFinished=!0,this.headersFinished()),this.read(-t,this._parseIDAT.bind(this,t))};ti.prototype._parseIDAT=function(t,e){if(this._crc.write(e),this._colorType===Ps.COLORTYPE_PALETTE_COLOR&&this._palette.length===0)throw new Error("Expected palette not found");this.inflateData(e);let r=t-e.length;r>0?this._handleIDAT(r):this._handleChunkEnd()};ti.prototype._handleIEND=function(t){this.read(t,this._parseIEND.bind(this))};ti.prototype._parseIEND=function(t){this._crc.write(t),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}});var qG=E(SBe=>{"use strict";var _Be=LG(),JZt=[function(){},function(t,e,r,n){if(n===e.length)throw new Error("Ran out of data");let s=e[n];t[r]=s,t[r+1]=s,t[r+2]=s,t[r+3]=255},function(t,e,r,n){if(n+1>=e.length)throw new Error("Ran out of data");let s=e[n];t[r]=s,t[r+1]=s,t[r+2]=s,t[r+3]=e[n+1]},function(t,e,r,n){if(n+2>=e.length)throw new Error("Ran out of data");t[r]=e[n],t[r+1]=e[n+1],t[r+2]=e[n+2],t[r+3]=255},function(t,e,r,n){if(n+3>=e.length)throw new Error("Ran out of data");t[r]=e[n],t[r+1]=e[n+1],t[r+2]=e[n+2],t[r+3]=e[n+3]}],XZt=[function(){},function(t,e,r,n){let s=e[0];t[r]=s,t[r+1]=s,t[r+2]=s,t[r+3]=n},function(t,e,r){let n=e[0];t[r]=n,t[r+1]=n,t[r+2]=n,t[r+3]=e[1]},function(t,e,r,n){t[r]=e[0],t[r+1]=e[1],t[r+2]=e[2],t[r+3]=n},function(t,e,r){t[r]=e[0],t[r+1]=e[1],t[r+2]=e[2],t[r+3]=e[3]}];function ZZt(t,e){let r=[],n=0;function s(){if(n===t.length)throw new Error("Ran out of data");let i=t[n];n++;let a,o,c,u,l,d,f,p;switch(e){default:throw new Error("unrecognised depth");case 16:f=t[n],n++,r.push((i<<8)+f);break;case 4:f=i&15,p=i>>4,r.push(p,f);break;case 2:l=i&3,d=i>>2&3,f=i>>4&3,p=i>>6&3,r.push(p,f,d,l);break;case 1:a=i&1,o=i>>1&1,c=i>>2&1,u=i>>3&1,l=i>>4&1,d=i>>5&1,f=i>>6&1,p=i>>7&1,r.push(p,f,d,l,u,c,o,a);break}}return{get:function(i){for(;r.length<i;)s();let a=r.slice(0,i);return r=r.slice(i),a},resetAfterLine:function(){r.length=0},end:function(){if(n!==t.length)throw new Error("extra data found")}}}function eer(t,e,r,n,s,i){let a=t.width,o=t.height,c=t.index;for(let u=0;u<o;u++)for(let l=0;l<a;l++){let d=r(l,u,c);JZt[n](e,s,d,i),i+=n}return i}function ter(t,e,r,n,s,i){let a=t.width,o=t.height,c=t.index;for(let u=0;u<o;u++){for(let l=0;l<a;l++){let d=s.get(n),f=r(l,u,c);XZt[n](e,d,f,i)}s.resetAfterLine()}}SBe.dataToBitMap=function(t,e){let r=e.width,n=e.height,s=e.depth,i=e.bpp,a=e.interlace,o;s!==8&&(o=ZZt(t,s));let c;s<=8?c=Buffer.alloc(r*n*4):c=new Uint16Array(r*n*4);let u=Math.pow(2,s)-1,l=0,d,f;if(a)d=_Be.getImagePasses(r,n),f=_Be.getInterlaceIterator(r,n);else{let p=0;f=function(){let m=p;return p+=4,m},d=[{width:r,height:n}]}for(let p=0;p<d.length;p++)s===8?l=eer(d[p],c,f,i,t,l):ter(d[p],c,f,i,o,u);if(s===8){if(l!==t.length)throw new Error("extra data found")}else o.end();return c}});var jG=E((_9r,vBe)=>{"use strict";function rer(t,e,r,n,s){let i=0;for(let a=0;a<n;a++)for(let o=0;o<r;o++){let c=s[t[i]];if(!c)throw new Error("index "+t[i]+" not in palette");for(let u=0;u<4;u++)e[i+u]=c[u];i+=4}}function ner(t,e,r,n,s){let i=0;for(let a=0;a<n;a++)for(let o=0;o<r;o++){let c=!1;if(s.length===1?s[0]===t[i]&&(c=!0):s[0]===t[i]&&s[1]===t[i+1]&&s[2]===t[i+2]&&(c=!0),c)for(let u=0;u<4;u++)e[i+u]=0;i+=4}}function ser(t,e,r,n,s){let i=255,a=Math.pow(2,s)-1,o=0;for(let c=0;c<n;c++)for(let u=0;u<r;u++){for(let l=0;l<4;l++)e[o+l]=Math.floor(t[o+l]*i/a+.5);o+=4}}vBe.exports=function(t,e){let r=e.depth,n=e.width,s=e.height,i=e.colorType,a=e.transColor,o=e.palette,c=t;return i===3?rer(t,c,n,s,o):(a&&ner(t,c,n,s,a),r!==8&&(r===16&&(c=Buffer.alloc(n*s*4)),ser(t,c,n,s,r))),c}});var TBe=E((S9r,IBe)=>{"use strict";var ier=require("util"),HG=require("zlib"),CBe=DG(),aer=yBe(),oer=UG(),cer=qG(),uer=jG(),yl=IBe.exports=function(t){CBe.call(this),this._parser=new oer(t,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=t,this.writable=!0,this._parser.start()};ier.inherits(yl,CBe);yl.prototype._handleError=function(t){this.emit("error",t),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",function(){})),this.errord=!0};yl.prototype._inflateData=function(t){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=HG.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let r=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,n=Math.max(r,HG.Z_MIN_CHUNK);this._inflate=HG.createInflate({chunkSize:n});let s=r,i=this.emit.bind(this,"error");this._inflate.on("error",function(o){s&&i(o)}),this._filter.on("complete",this._complete.bind(this));let a=this._filter.write.bind(this._filter);this._inflate.on("data",function(o){s&&(o.length>s&&(o=o.slice(0,s)),s-=o.length,a(o))}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(t)};yl.prototype._handleMetaData=function(t){this._metaData=t,this._bitmapInfo=Object.create(t),this._filter=new aer(this._bitmapInfo)};yl.prototype._handleTransColor=function(t){this._bitmapInfo.transColor=t};yl.prototype._handlePalette=function(t){this._bitmapInfo.palette=t};yl.prototype._simpleTransparency=function(){this._metaData.alpha=!0};yl.prototype._headersFinished=function(){this.emit("metadata",this._metaData)};yl.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))};yl.prototype._complete=function(t){if(this.errord)return;let e;try{let r=cer.dataToBitMap(t,this._bitmapInfo);e=uer(r,this._bitmapInfo),r=null}catch(r){this._handleError(r);return}this.emit("parsed",e)}});var RBe=E((v9r,wBe)=>{"use strict";var xc=Kx();wBe.exports=function(t,e,r,n){let s=[xc.COLORTYPE_COLOR_ALPHA,xc.COLORTYPE_ALPHA].indexOf(n.colorType)!==-1;if(n.colorType===n.inputColorType){let m=function(){let h=new ArrayBuffer(2);return new DataView(h).setInt16(0,256,!0),new Int16Array(h)[0]!==256}();if(n.bitDepth===8||n.bitDepth===16&&m)return t}let i=n.bitDepth!==16?t:new Uint16Array(t.buffer),a=255,o=xc.COLORTYPE_TO_BPP_MAP[n.inputColorType];o===4&&!n.inputHasAlpha&&(o=3);let c=xc.COLORTYPE_TO_BPP_MAP[n.colorType];n.bitDepth===16&&(a=65535,c*=2);let u=Buffer.alloc(e*r*c),l=0,d=0,f=n.bgColor||{};f.red===void 0&&(f.red=a),f.green===void 0&&(f.green=a),f.blue===void 0&&(f.blue=a);function p(){let m,h,A,g=a;switch(n.inputColorType){case xc.COLORTYPE_COLOR_ALPHA:g=i[l+3],m=i[l],h=i[l+1],A=i[l+2];break;case xc.COLORTYPE_COLOR:m=i[l],h=i[l+1],A=i[l+2];break;case xc.COLORTYPE_ALPHA:g=i[l+1],m=i[l],h=m,A=m;break;case xc.COLORTYPE_GRAYSCALE:m=i[l],h=m,A=m;break;default:throw new Error("input color type:"+n.inputColorType+" is not supported at present")}return n.inputHasAlpha&&(s||(g/=a,m=Math.min(Math.max(Math.round((1-g)*f.red+g*m),0),a),h=Math.min(Math.max(Math.round((1-g)*f.green+g*h),0),a),A=Math.min(Math.max(Math.round((1-g)*f.blue+g*A),0),a))),{red:m,green:h,blue:A,alpha:g}}for(let m=0;m<r;m++)for(let h=0;h<e;h++){let A=p(i,l);switch(n.colorType){case xc.COLORTYPE_COLOR_ALPHA:case xc.COLORTYPE_COLOR:n.bitDepth===8?(u[d]=A.red,u[d+1]=A.green,u[d+2]=A.blue,s&&(u[d+3]=A.alpha)):(u.writeUInt16BE(A.red,d),u.writeUInt16BE(A.green,d+2),u.writeUInt16BE(A.blue,d+4),s&&u.writeUInt16BE(A.alpha,d+6));break;case xc.COLORTYPE_ALPHA:case xc.COLORTYPE_GRAYSCALE:{let g=(A.red+A.green+A.blue)/3;n.bitDepth===8?(u[d]=g,s&&(u[d+1]=A.alpha)):(u.writeUInt16BE(g,d),s&&u.writeUInt16BE(A.alpha,d+2));break}default:throw new Error("unrecognised color Type "+n.colorType)}l+=o,d+=c}return u}});var PBe=E((C9r,OBe)=>{"use strict";var NBe=BG();function ler(t,e,r,n,s){for(let i=0;i<r;i++)n[s+i]=t[e+i]}function der(t,e,r){let n=0,s=e+r;for(let i=e;i<s;i++)n+=Math.abs(t[i]);return n}function fer(t,e,r,n,s,i){for(let a=0;a<r;a++){let o=a>=i?t[e+a-i]:0,c=t[e+a]-o;n[s+a]=c}}function per(t,e,r,n){let s=0;for(let i=0;i<r;i++){let a=i>=n?t[e+i-n]:0,o=t[e+i]-a;s+=Math.abs(o)}return s}function mer(t,e,r,n,s){for(let i=0;i<r;i++){let a=e>0?t[e+i-r]:0,o=t[e+i]-a;n[s+i]=o}}function her(t,e,r){let n=0,s=e+r;for(let i=e;i<s;i++){let a=e>0?t[i-r]:0,o=t[i]-a;n+=Math.abs(o)}return n}function ger(t,e,r,n,s,i){for(let a=0;a<r;a++){let o=a>=i?t[e+a-i]:0,c=e>0?t[e+a-r]:0,u=t[e+a]-(o+c>>1);n[s+a]=u}}function Aer(t,e,r,n){let s=0;for(let i=0;i<r;i++){let a=i>=n?t[e+i-n]:0,o=e>0?t[e+i-r]:0,c=t[e+i]-(a+o>>1);s+=Math.abs(c)}return s}function yer(t,e,r,n,s,i){for(let a=0;a<r;a++){let o=a>=i?t[e+a-i]:0,c=e>0?t[e+a-r]:0,u=e>0&&a>=i?t[e+a-(r+i)]:0,l=t[e+a]-NBe(o,c,u);n[s+a]=l}}function xer(t,e,r,n){let s=0;for(let i=0;i<r;i++){let a=i>=n?t[e+i-n]:0,o=e>0?t[e+i-r]:0,c=e>0&&i>=n?t[e+i-(r+n)]:0,u=t[e+i]-NBe(a,o,c);s+=Math.abs(u)}return s}var ber={0:ler,1:fer,2:mer,3:ger,4:yer},Eer={0:der,1:per,2:her,3:Aer,4:xer};OBe.exports=function(t,e,r,n,s){let i;if(!("filterType"in n)||n.filterType===-1)i=[0,1,2,3,4];else if(typeof n.filterType=="number")i=[n.filterType];else throw new Error("unrecognised filter types");n.bitDepth===16&&(s*=2);let a=e*s,o=0,c=0,u=Buffer.alloc((a+1)*r),l=i[0];for(let d=0;d<r;d++){if(i.length>1){let f=1/0;for(let p=0;p<i.length;p++){let m=Eer[i[p]](t,c,a,s);m<f&&(l=i[p],f=m)}}u[o]=l,o++,ber[l](t,c,a,u,o,s),o+=a,c+=a}return u}});var QG=E((I9r,DBe)=>{"use strict";var Hi=Kx(),_er=FG(),Ser=RBe(),ver=PBe(),Cer=require("zlib"),_0=DBe.exports=function(t){if(this._options=t,t.deflateChunkSize=t.deflateChunkSize||32*1024,t.deflateLevel=t.deflateLevel!=null?t.deflateLevel:9,t.deflateStrategy=t.deflateStrategy!=null?t.deflateStrategy:3,t.inputHasAlpha=t.inputHasAlpha!=null?t.inputHasAlpha:!0,t.deflateFactory=t.deflateFactory||Cer.createDeflate,t.bitDepth=t.bitDepth||8,t.colorType=typeof t.colorType=="number"?t.colorType:Hi.COLORTYPE_COLOR_ALPHA,t.inputColorType=typeof t.inputColorType=="number"?t.inputColorType:Hi.COLORTYPE_COLOR_ALPHA,[Hi.COLORTYPE_GRAYSCALE,Hi.COLORTYPE_COLOR,Hi.COLORTYPE_COLOR_ALPHA,Hi.COLORTYPE_ALPHA].indexOf(t.colorType)===-1)throw new Error("option color type:"+t.colorType+" is not supported at present");if([Hi.COLORTYPE_GRAYSCALE,Hi.COLORTYPE_COLOR,Hi.COLORTYPE_COLOR_ALPHA,Hi.COLORTYPE_ALPHA].indexOf(t.inputColorType)===-1)throw new Error("option input color type:"+t.inputColorType+" is not supported at present");if(t.bitDepth!==8&&t.bitDepth!==16)throw new Error("option bit depth:"+t.bitDepth+" is not supported at present")};_0.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}};_0.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())};_0.prototype.filterData=function(t,e,r){let n=Ser(t,e,r,this._options),s=Hi.COLORTYPE_TO_BPP_MAP[this._options.colorType];return ver(n,e,r,this._options,s)};_0.prototype._packChunk=function(t,e){let r=e?e.length:0,n=Buffer.alloc(r+12);return n.writeUInt32BE(r,0),n.writeUInt32BE(t,4),e&&e.copy(n,8),n.writeInt32BE(_er.crc32(n.slice(4,n.length-4)),n.length-4),n};_0.prototype.packGAMA=function(t){let e=Buffer.alloc(4);return e.writeUInt32BE(Math.floor(t*Hi.GAMMA_DIVISION),0),this._packChunk(Hi.TYPE_gAMA,e)};_0.prototype.packIHDR=function(t,e){let r=Buffer.alloc(13);return r.writeUInt32BE(t,0),r.writeUInt32BE(e,4),r[8]=this._options.bitDepth,r[9]=this._options.colorType,r[10]=0,r[11]=0,r[12]=0,this._packChunk(Hi.TYPE_IHDR,r)};_0.prototype.packIDAT=function(t){return this._packChunk(Hi.TYPE_IDAT,t)};_0.prototype.packIEND=function(){return this._packChunk(Hi.TYPE_IEND,null)}});var MBe=E((T9r,BBe)=>{"use strict";var Ier=require("util"),kBe=require("stream"),Ter=Kx(),wer=QG(),LBe=BBe.exports=function(t){kBe.call(this);let e=t||{};this._packer=new wer(e),this._deflate=this._packer.createDeflate(),this.readable=!0};Ier.inherits(LBe,kBe);LBe.prototype.pack=function(t,e,r,n){this.emit("data",Buffer.from(Ter.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(e,r)),n&&this.emit("data",this._packer.packGAMA(n));let s=this._packer.filterData(t,e,r);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(i){this.emit("data",this._packer.packIDAT(i))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(s)}});var jBe=E((qv,qBe)=>{"use strict";var WBe=require("assert").ok,Yx=require("zlib"),Rer=require("util"),$Be=require("buffer").kMaxLength;function $h(t){if(!(this instanceof $h))return new $h(t);t&&t.chunkSize<Yx.Z_MIN_CHUNK&&(t.chunkSize=Yx.Z_MIN_CHUNK),Yx.Inflate.call(this,t),this._offset=this._offset===void 0?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,t&&t.maxLength!=null&&(this._maxLength=t.maxLength)}function Ner(t){return new $h(t)}function FBe(t,e){e&&process.nextTick(e),t._handle&&(t._handle.close(),t._handle=null)}$h.prototype._processChunk=function(t,e,r){if(typeof r=="function")return Yx.Inflate._processChunk.call(this,t,e,r);let n=this,s=t&&t.length,i=this._chunkSize-this._offset,a=this._maxLength,o=0,c=[],u=0,l;this.on("error",function(m){l=m});function d(m,h){if(n._hadError)return;let A=i-h;if(WBe(A>=0,"have should not go down"),A>0){let g=n._buffer.slice(n._offset,n._offset+A);if(n._offset+=A,g.length>a&&(g=g.slice(0,a)),c.push(g),u+=g.length,a-=g.length,a===0)return!1}return(h===0||n._offset>=n._chunkSize)&&(i=n._chunkSize,n._offset=0,n._buffer=Buffer.allocUnsafe(n._chunkSize)),h===0?(o+=s-m,s=m,!0):!1}WBe(this._handle,"zlib binding closed");let f;do f=this._handle.writeSync(e,t,o,s,this._buffer,this._offset,i),f=f||this._writeState;while(!this._hadError&&d(f[0],f[1]));if(this._hadError)throw l;if(u>=$Be)throw FBe(this),new RangeError("Cannot create final Buffer. It would be larger than 0x"+$Be.toString(16)+" bytes");let p=Buffer.concat(c,u);return FBe(this),p};Rer.inherits($h,Yx.Inflate);function Oer(t,e){if(typeof e=="string"&&(e=Buffer.from(e)),!(e instanceof Buffer))throw new TypeError("Not a string or buffer");let r=t._finishFlushFlag;return r==null&&(r=Yx.Z_FINISH),t._processChunk(e,r)}function UBe(t,e){return Oer(new $h(e),t)}qBe.exports=qv=UBe;qv.Inflate=$h;qv.createInflate=Ner;qv.inflateSync=UBe});var GG=E((w9r,QBe)=>{"use strict";var HBe=QBe.exports=function(t){this._buffer=t,this._reads=[]};HBe.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e})};HBe.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let t=this._reads[0];if(this._buffer.length&&(this._buffer.length>=t.length||t.allowLess)){this._reads.shift();let e=this._buffer;this._buffer=e.slice(t.length),t.func.call(this,e.slice(0,t.length))}else break}if(this._reads.length>0)return new Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)return new Error("unrecognised content at end of stream")}});var VBe=E(GBe=>{"use strict";var Per=GG(),Der=MG();GBe.process=function(t,e){let r=[],n=new Per(t);return new Der(e,{read:n.read.bind(n),write:function(i){r.push(i)},complete:function(){}}).start(),n.process(),Buffer.concat(r)}});var JBe=E((N9r,YBe)=>{"use strict";var zBe=!0,KBe=require("zlib"),ker=jBe();KBe.deflateSync||(zBe=!1);var Ler=GG(),Ber=VBe(),Mer=UG(),Wer=qG(),$er=jG();YBe.exports=function(t,e){if(!zBe)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let r;function n(x){r=x}let s;function i(x){s=x}function a(x){s.transColor=x}function o(x){s.palette=x}function c(){s.alpha=!0}let u;function l(x){u=x}let d=[];function f(x){d.push(x)}let p=new Ler(t);if(new Mer(e,{read:p.read.bind(p),error:n,metadata:i,gamma:l,palette:o,transColor:a,inflateData:f,simpleTransparency:c}).start(),p.process(),r)throw r;let h=Buffer.concat(d);d.length=0;let A;if(s.interlace)A=KBe.inflateSync(h);else{let v=((s.width*s.bpp*s.depth+7>>3)+1)*s.height;A=ker(h,{chunkSize:v,maxLength:v})}if(h=null,!A||!A.length)throw new Error("bad png - invalid inflate data response");let g=Ber.process(A,s);h=null;let b=Wer.dataToBitMap(g,s);g=null;let y=$er(b,s);return s.data=y,s.gamma=u||0,s}});var t4e=E((O9r,e4e)=>{"use strict";var XBe=!0,ZBe=require("zlib");ZBe.deflateSync||(XBe=!1);var Fer=Kx(),Uer=QG();e4e.exports=function(t,e){if(!XBe)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let r=e||{},n=new Uer(r),s=[];s.push(Buffer.from(Fer.PNG_SIGNATURE)),s.push(n.packIHDR(t.width,t.height)),t.gamma&&s.push(n.packGAMA(t.gamma));let i=n.filterData(t.data,t.width,t.height),a=ZBe.deflateSync(i,n.getDeflateOptions());if(i=null,!a||!a.length)throw new Error("bad png - invalid compressed data response");return s.push(n.packIDAT(a)),s.push(n.packIEND()),Buffer.concat(s)}});var r4e=E(VG=>{"use strict";var qer=JBe(),jer=t4e();VG.read=function(t,e){return qer(t,e||{})};VG.write=function(t,e){return jer(t,e)}});var i4e=E(s4e=>{"use strict";var Her=require("util"),n4e=require("stream"),Qer=TBe(),Ger=MBe(),Ver=r4e(),da=s4e.PNG=function(t){n4e.call(this),t=t||{},this.width=t.width|0,this.height=t.height|0,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,t.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new Qer(t),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(e){this.data=e,this.emit("parsed",e)}.bind(this)),this._packer=new Ger(t),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};Her.inherits(da,n4e);da.sync=Ver;da.prototype.pack=function(){return!this.data||!this.data.length?(this.emit("error","No data provided"),this):(process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this)};da.prototype.parse=function(t,e){if(e){let r,n;r=function(s){this.removeListener("error",n),this.data=s,e(null,this)}.bind(this),n=function(s){this.removeListener("parsed",r),e(s,null)}.bind(this),this.once("parsed",r),this.once("error",n)}return this.end(t),this};da.prototype.write=function(t){return this._parser.write(t),!0};da.prototype.end=function(t){this._parser.end(t)};da.prototype._metadata=function(t){this.width=t.width,this.height=t.height,this.emit("metadata",t)};da.prototype._gamma=function(t){this.gamma=t};da.prototype._handleClose=function(){!this._parser.writable&&!this._packer.readable&&this.emit("close")};da.bitblt=function(t,e,r,n,s,i,a,o){if(r|=0,n|=0,s|=0,i|=0,a|=0,o|=0,r>t.width||n>t.height||r+s>t.width||n+i>t.height)throw new Error("bitblt reading outside image");if(a>e.width||o>e.height||a+s>e.width||o+i>e.height)throw new Error("bitblt writing outside image");for(let c=0;c<i;c++)t.data.copy(e.data,(o+c)*e.width+a<<2,(n+c)*t.width+r<<2,(n+c)*t.width+r+s<<2)};da.prototype.bitblt=function(t,e,r,n,s,i,a){return da.bitblt(this,t,e,r,n,s,i,a),this};da.adjustGamma=function(t){if(t.gamma){for(let e=0;e<t.height;e++)for(let r=0;r<t.width;r++){let n=t.width*e+r<<2;for(let s=0;s<3;s++){let i=t.data[n+s]/255;i=Math.pow(i,1/2.2/t.gamma),t.data[n+s]=Math.round(i*255)}}t.gamma=0}};da.prototype.adjustGamma=function(){da.adjustGamma(this)}});var jv=E(Fh=>{function a4e(t){if(typeof t=="number"&&(t=t.toString()),typeof t!="string")throw new Error("Color should be defined as hex string");let e=t.slice().replace("#","").split("");if(e.length<3||e.length===5||e.length>8)throw new Error("Invalid hex color: "+t);(e.length===3||e.length===4)&&(e=Array.prototype.concat.apply([],e.map(function(n){return[n,n]}))),e.length===6&&e.push("F","F");let r=parseInt(e.join(""),16);return{r:r>>24&255,g:r>>16&255,b:r>>8&255,a:r&255,hex:"#"+e.slice(0,6).join("")}}Fh.getOptions=function(e){e||(e={}),e.color||(e.color={});let r=typeof e.margin>"u"||e.margin===null||e.margin<0?4:e.margin,n=e.width&&e.width>=21?e.width:void 0,s=e.scale||4;return{width:n,scale:n?4:s,margin:r,color:{dark:a4e(e.color.dark||"#000000ff"),light:a4e(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}};Fh.getScale=function(e,r){return r.width&&r.width>=e+r.margin*2?r.width/(e+r.margin*2):r.scale};Fh.getImageWidth=function(e,r){let n=Fh.getScale(e,r);return Math.floor((e+r.margin*2)*n)};Fh.qrToImageData=function(e,r,n){let s=r.modules.size,i=r.modules.data,a=Fh.getScale(s,n),o=Math.floor((s+n.margin*2)*a),c=n.margin*a,u=[n.color.light,n.color.dark];for(let l=0;l<o;l++)for(let d=0;d<o;d++){let f=(l*o+d)*4,p=n.color.light;if(l>=c&&d>=c&&l<o-c&&d<o-c){let m=Math.floor((l-c)/a),h=Math.floor((d-c)/a);p=u[i[m*s+h]?1:0]}e[f++]=p.r,e[f++]=p.g,e[f++]=p.b,e[f]=p.a}}});var o4e=E(xl=>{var zer=require("fs"),Ker=i4e().PNG,zG=jv();xl.render=function(e,r){let n=zG.getOptions(r),s=n.rendererOpts,i=zG.getImageWidth(e.modules.size,n);s.width=i,s.height=i;let a=new Ker(s);return zG.qrToImageData(a.data,e,n),a};xl.renderToDataURL=function(e,r,n){typeof n>"u"&&(n=r,r=void 0),xl.renderToBuffer(e,r,function(s,i){s&&n(s);let a="data:image/png;base64,";a+=i.toString("base64"),n(null,a)})};xl.renderToBuffer=function(e,r,n){typeof n>"u"&&(n=r,r=void 0);let s=xl.render(e,r),i=[];s.on("error",n),s.on("data",function(a){i.push(a)}),s.on("end",function(){n(null,Buffer.concat(i))}),s.pack()};xl.renderToFile=function(e,r,n,s){typeof s>"u"&&(s=n,n=void 0);let i=!1,a=(...c)=>{i||(i=!0,s.apply(null,c))},o=zer.createWriteStream(e);o.on("error",a),o.on("close",a),xl.renderToFileStream(o,r,n)};xl.renderToFileStream=function(e,r,n){xl.render(r,n).pack().pipe(e)}});var c4e=E(Lk=>{var Yer=jv(),Jer={WW:" ",WB:"\u2584",BB:"\u2588",BW:"\u2580"},Xer={BB:" ",BW:"\u2584",WW:"\u2588",WB:"\u2580"};function Zer(t,e,r){return t&&e?r.BB:t&&!e?r.BW:!t&&e?r.WB:r.WW}Lk.render=function(t,e,r){let n=Yer.getOptions(e),s=Jer;(n.color.dark.hex==="#ffffff"||n.color.light.hex==="#000000")&&(s=Xer);let i=t.modules.size,a=t.modules.data,o="",c=Array(i+n.margin*2+1).join(s.WW);c=Array(n.margin/2+1).join(c+`
`);let u=Array(n.margin+1).join(s.WW);o+=c;for(let l=0;l<i;l+=2){o+=u;for(let d=0;d<i;d++){let f=a[l*i+d],p=a[(l+1)*i+d];o+=Zer(f,p,s)}o+=u+`
`}return o+=c.slice(0,-1),typeof r=="function"&&r(null,o),o};Lk.renderToFile=function(e,r,n,s){typeof s>"u"&&(s=n,n=void 0);let i=require("fs"),a=Lk.render(r,n);i.writeFile(e,a,s)}});var l4e=E(u4e=>{u4e.render=function(t,e,r){let n=t.modules.size,s=t.modules.data,i="\x1B[40m \x1B[0m",a="\x1B[47m \x1B[0m",o="",c=Array(n+3).join(a),u=Array(2).join(a);o+=c+`
`;for(let l=0;l<n;++l){o+=a;for(let d=0;d<n;d++)o+=s[l*n+d]?i:a;o+=u+`
`}return o+=c+`
`,typeof r=="function"&&r(null,o),o}});var m4e=E(p4e=>{var etr="\x1B[47m",ttr="\x1B[40m",KG="\x1B[37m",YG="\x1B[30m",Uh="\x1B[0m",rtr=etr+YG,ntr=ttr+KG,str=function(t,e,r){return{"00":Uh+" "+t,"01":Uh+e+"\u2584"+t,"02":Uh+r+"\u2584"+t,10:Uh+e+"\u2580"+t,11:" ",12:"\u2584",20:Uh+r+"\u2580"+t,21:"\u2580",22:"\u2588"}},d4e=function(t,e,r,n){let s=e+1;if(r>=s||n>=s||n<-1||r<-1)return"0";if(r>=e||n>=e||n<0||r<0)return"1";let i=n*e+r;return t[i]?"2":"1"},f4e=function(t,e,r,n){return d4e(t,e,r,n)+d4e(t,e,r,n+1)};p4e.render=function(t,e,r){let n=t.modules.size,s=t.modules.data,i=!!(e&&e.inverse),a=e&&e.inverse?ntr:rtr,u=str(a,i?YG:KG,i?KG:YG),l=Uh+`
`+a,d=a;for(let f=-1;f<n+1;f+=2){for(let p=-1;p<n;p++)d+=u[f4e(s,n,p,f)];d+=u[f4e(s,n,n,f)]+l}return d+=Uh,typeof r=="function"&&r(null,d),d}});var g4e=E(h4e=>{var itr=l4e(),atr=m4e();h4e.render=function(t,e,r){return e&&e.small?atr.render(t,e,r):itr.render(t,e,r)}});var XG=E(y4e=>{var otr=jv();function A4e(t,e){let r=t.a/255,n=e+'="'+t.hex+'"';return r<1?n+" "+e+'-opacity="'+r.toFixed(2).slice(1)+'"':n}function JG(t,e,r){let n=t+e;return typeof r<"u"&&(n+=" "+r),n}function ctr(t,e,r){let n="",s=0,i=!1,a=0;for(let o=0;o<t.length;o++){let c=Math.floor(o%e),u=Math.floor(o/e);!c&&!i&&(i=!0),t[o]?(a++,o>0&&c>0&&t[o-1]||(n+=i?JG("M",c+r,.5+u+r):JG("m",s,0),s=0,i=!1),c+1<e&&t[o+1]||(n+=JG("h",a),a=0)):s++}return n}y4e.render=function(e,r,n){let s=otr.getOptions(r),i=e.modules.size,a=e.modules.data,o=i+s.margin*2,c=s.color.light.a?"<path "+A4e(s.color.light,"fill")+' d="M0 0h'+o+"v"+o+'H0z"/>':"",u="<path "+A4e(s.color.dark,"stroke")+' d="'+ctr(a,i,s.margin)+'"/>',l='viewBox="0 0 '+o+" "+o+'"',f='<svg xmlns="http://www.w3.org/2000/svg" '+(s.width?'width="'+s.width+'" height="'+s.width+'" ':"")+l+' shape-rendering="crispEdges">'+c+u+`</svg>
`;return typeof n=="function"&&n(null,f),f}});var x4e=E(Bk=>{var utr=XG();Bk.render=utr.render;Bk.renderToFile=function(e,r,n,s){typeof s>"u"&&(s=n,n=void 0);let i=require("fs"),o='<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'+Bk.render(r,n);i.writeFile(e,o,s)}});var b4e=E(Mk=>{var ZG=jv();function ltr(t,e,r){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=r,e.width=r,e.style.height=r+"px",e.style.width=r+"px"}function dtr(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}Mk.render=function(e,r,n){let s=n,i=r;typeof s>"u"&&(!r||!r.getContext)&&(s=r,r=void 0),r||(i=dtr()),s=ZG.getOptions(s);let a=ZG.getImageWidth(e.modules.size,s),o=i.getContext("2d"),c=o.createImageData(a,a);return ZG.qrToImageData(c.data,e,s),ltr(o,i,a),o.putImageData(c,0,0),i};Mk.renderToDataURL=function(e,r,n){let s=n;typeof s>"u"&&(!r||!r.getContext)&&(s=r,r=void 0),s||(s={});let i=Mk.render(e,r,s),a=s.type||"image/png",o=s.rendererOpts||{};return i.toDataURL(a,o.quality)}});var _4e=E(Hv=>{var ftr=pG(),eV=PG(),E4e=b4e(),ptr=XG();function tV(t,e,r,n,s){let i=[].slice.call(arguments,1),a=i.length,o=typeof i[a-1]=="function";if(!o&&!ftr())throw new Error("Callback required as last argument");if(o){if(a<2)throw new Error("Too few arguments provided");a===2?(s=r,r=e,e=n=void 0):a===3&&(e.getContext&&typeof s>"u"?(s=n,n=void 0):(s=n,n=r,r=e,e=void 0))}else{if(a<1)throw new Error("Too few arguments provided");return a===1?(r=e,e=n=void 0):a===2&&!e.getContext&&(n=r,r=e,e=void 0),new Promise(function(c,u){try{let l=eV.create(r,n);c(t(l,e,n))}catch(l){u(l)}})}try{let c=eV.create(r,n);s(null,t(c,e,n))}catch(c){s(c)}}Hv.create=eV.create;Hv.toCanvas=tV.bind(null,E4e.render);Hv.toDataURL=tV.bind(null,E4e.renderToDataURL);Hv.toString=tV.bind(null,function(t,e,r){return ptr.render(t,r)})});var I4e=E(S0=>{var S4e=pG(),rV=PG(),mtr=o4e(),v4e=c4e(),htr=g4e(),C4e=x4e();function Qv(t,e,r){if(typeof t>"u")throw new Error("String required as first argument");if(typeof r>"u"&&(r=e,e={}),typeof r!="function")if(S4e())e=r||{},r=null;else throw new Error("Callback required as last argument");return{opts:e,cb:r}}function gtr(t){return t.slice((t.lastIndexOf(".")-1>>>0)+2).toLowerCase()}function Wk(t){switch(t){case"svg":return C4e;case"txt":case"utf8":return v4e;case"png":case"image/png":default:return mtr}}function Atr(t){switch(t){case"svg":return C4e;case"terminal":return htr;case"utf8":default:return v4e}}function Gv(t,e,r){if(!r.cb)return new Promise(function(n,s){try{let i=rV.create(e,r.opts);return t(i,r.opts,function(a,o){return a?s(a):n(o)})}catch(i){s(i)}});try{let n=rV.create(e,r.opts);return t(n,r.opts,r.cb)}catch(n){r.cb(n)}}S0.create=rV.create;S0.toCanvas=_4e().toCanvas;S0.toString=function(e,r,n){let s=Qv(e,r,n),i=s.opts?s.opts.type:void 0,a=Atr(i);return Gv(a.render,e,s)};S0.toDataURL=function(e,r,n){let s=Qv(e,r,n),i=Wk(s.opts.type);return Gv(i.renderToDataURL,e,s)};S0.toBuffer=function(e,r,n){let s=Qv(e,r,n),i=Wk(s.opts.type);return Gv(i.renderToBuffer,e,s)};S0.toFile=function(e,r,n,s){if(typeof e!="string"||!(typeof r=="string"||typeof r=="object"))throw new Error("Invalid argument");if(arguments.length<3&&!S4e())throw new Error("Too few arguments provided");let i=Qv(r,n,s),a=i.opts.type||gtr(e),c=Wk(a).renderToFile.bind(null,e);return Gv(c,r,i)};S0.toFileStream=function(e,r,n){if(arguments.length<2)throw new Error("Too few arguments provided");let s=Qv(r,n,e.emit.bind(e,"error")),a=Wk("png").renderToFileStream.bind(null,e);Gv(a,r,s)}});var v0=E((Q9r,T4e)=>{T4e.exports=I4e()});var H4e=E((rqr,j4e)=>{j4e.exports=require("util").inspect});var eC=E((nqr,lMe)=>{var xV=typeof Map=="function"&&Map.prototype,lV=Object.getOwnPropertyDescriptor&&xV?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,Qk=xV&&lV&&typeof lV.get=="function"?lV.get:null,Q4e=xV&&Map.prototype.forEach,bV=typeof Set=="function"&&Set.prototype,dV=Object.getOwnPropertyDescriptor&&bV?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,Gk=bV&&dV&&typeof dV.get=="function"?dV.get:null,G4e=bV&&Set.prototype.forEach,Ttr=typeof WeakMap=="function"&&WeakMap.prototype,Jv=Ttr?WeakMap.prototype.has:null,wtr=typeof WeakSet=="function"&&WeakSet.prototype,Xv=wtr?WeakSet.prototype.has:null,Rtr=typeof WeakRef=="function"&&WeakRef.prototype,V4e=Rtr?WeakRef.prototype.deref:null,Ntr=Boolean.prototype.valueOf,Otr=Object.prototype.toString,Ptr=Function.prototype.toString,Dtr=String.prototype.match,EV=String.prototype.slice,I0=String.prototype.replace,ktr=String.prototype.toUpperCase,z4e=String.prototype.toLowerCase,nMe=RegExp.prototype.test,K4e=Array.prototype.concat,_l=Array.prototype.join,Ltr=Array.prototype.slice,Y4e=Math.floor,mV=typeof BigInt=="function"?BigInt.prototype.valueOf:null,fV=Object.getOwnPropertySymbols,hV=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Jx=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Zv=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Jx||!0)?Symbol.toStringTag:null,sMe=Object.prototype.propertyIsEnumerable,J4e=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function X4e(t,e){if(t===1/0||t===-1/0||t!==t||t&&t>-1e3&&t<1e3||nMe.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof t=="number"){var n=t<0?-Y4e(-t):Y4e(t);if(n!==t){var s=String(n),i=EV.call(e,s.length+1);return I0.call(s,r,"$&_")+"."+I0.call(I0.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return I0.call(e,r,"$&_")}var gV=H4e(),Z4e=gV.custom,eMe=oMe(Z4e)?Z4e:null,iMe={__proto__:null,double:'"',single:"'"},Btr={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};lMe.exports=function t(e,r,n,s){var i=r||{};if(tf(i,"quoteStyle")&&!tf(iMe,i.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(tf(i,"maxStringLength")&&(typeof i.maxStringLength=="number"?i.maxStringLength<0&&i.maxStringLength!==1/0:i.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var a=tf(i,"customInspect")?i.customInspect:!0;if(typeof a!="boolean"&&a!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(tf(i,"indent")&&i.indent!==null&&i.indent!==" "&&!(parseInt(i.indent,10)===i.indent&&i.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(tf(i,"numericSeparator")&&typeof i.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var o=i.numericSeparator;if(typeof e>"u")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return uMe(e,i);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var c=String(e);return o?X4e(e,c):c}if(typeof e=="bigint"){var u=String(e)+"n";return o?X4e(e,u):u}var l=typeof i.depth>"u"?5:i.depth;if(typeof n>"u"&&(n=0),n>=l&&l>0&&typeof e=="object")return AV(e)?"[Array]":"[Object]";var d=err(i,n);if(typeof s>"u")s=[];else if(cMe(s,e)>=0)return"[Circular]";function f(k,B,Z){if(B&&(s=Ltr.call(s),s.push(B)),Z){var W={depth:i.depth};return tf(i,"quoteStyle")&&(W.quoteStyle=i.quoteStyle),t(k,W,n+1,s)}return t(k,i,n+1,s)}if(typeof e=="function"&&!tMe(e)){var p=Qtr(e),m=Hk(e,f);return"[Function"+(p?": "+p:" (anonymous)")+"]"+(m.length>0?" { "+_l.call(m,", ")+" }":"")}if(oMe(e)){var h=Jx?I0.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):hV.call(e);return typeof e=="object"&&!Jx?Yv(h):h}if(Jtr(e)){for(var A="<"+z4e.call(String(e.nodeName)),g=e.attributes||[],b=0;b<g.length;b++)A+=" "+g[b].name+"="+aMe(Mtr(g[b].value),"double",i);return A+=">",e.childNodes&&e.childNodes.length&&(A+="..."),A+="</"+z4e.call(String(e.nodeName))+">",A}if(AV(e)){if(e.length===0)return"[]";var y=Hk(e,f);return d&&!Ztr(y)?"["+yV(y,d)+"]":"[ "+_l.call(y,", ")+" ]"}if($tr(e)){var x=Hk(e,f);return!("cause"in Error.prototype)&&"cause"in e&&!sMe.call(e,"cause")?"{ ["+String(e)+"] "+_l.call(K4e.call("[cause]: "+f(e.cause),x),", ")+" }":x.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+_l.call(x,", ")+" }"}if(typeof e=="object"&&a){if(eMe&&typeof e[eMe]=="function"&&gV)return gV(e,{depth:l-n});if(a!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(Gtr(e)){var v=[];return Q4e&&Q4e.call(e,function(k,B){v.push(f(B,e,!0)+" => "+f(k,e))}),rMe("Map",Qk.call(e),v,d)}if(Ktr(e)){var C=[];return G4e&&G4e.call(e,function(k){C.push(f(k,e))}),rMe("Set",Gk.call(e),C,d)}if(Vtr(e))return pV("WeakMap");if(Ytr(e))return pV("WeakSet");if(ztr(e))return pV("WeakRef");if(Utr(e))return Yv(f(Number(e)));if(jtr(e))return Yv(f(mV.call(e)));if(qtr(e))return Yv(Ntr.call(e));if(Ftr(e))return Yv(f(String(e)));if(typeof window<"u"&&e===window)return"{ [object Window] }";if(typeof globalThis<"u"&&e===globalThis||typeof global<"u"&&e===global)return"{ [object globalThis] }";if(!Wtr(e)&&!tMe(e)){var R=Hk(e,f),w=J4e?J4e(e)===Object.prototype:e instanceof Object||e.constructor===Object,N=e instanceof Object?"":"null prototype",P=!w&&Zv&&Object(e)===e&&Zv in e?EV.call(T0(e),8,-1):N?"Object":"",L=w||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",M=L+(P||N?"["+_l.call(K4e.call([],P||[],N||[]),": ")+"] ":"");return R.length===0?M+"{}":d?M+"{"+yV(R,d)+"}":M+"{ "+_l.call(R,", ")+" }"}return String(e)};function aMe(t,e,r){var n=r.quoteStyle||e,s=iMe[n];return s+t+s}function Mtr(t){return I0.call(String(t),/"/g,"&quot;")}function jh(t){return!Zv||!(typeof t=="object"&&(Zv in t||typeof t[Zv]<"u"))}function AV(t){return T0(t)==="[object Array]"&&jh(t)}function Wtr(t){return T0(t)==="[object Date]"&&jh(t)}function tMe(t){return T0(t)==="[object RegExp]"&&jh(t)}function $tr(t){return T0(t)==="[object Error]"&&jh(t)}function Ftr(t){return T0(t)==="[object String]"&&jh(t)}function Utr(t){return T0(t)==="[object Number]"&&jh(t)}function qtr(t){return T0(t)==="[object Boolean]"&&jh(t)}function oMe(t){if(Jx)return t&&typeof t=="object"&&t instanceof Symbol;if(typeof t=="symbol")return!0;if(!t||typeof t!="object"||!hV)return!1;try{return hV.call(t),!0}catch{}return!1}function jtr(t){if(!t||typeof t!="object"||!mV)return!1;try{return mV.call(t),!0}catch{}return!1}var Htr=Object.prototype.hasOwnProperty||function(t){return t in this};function tf(t,e){return Htr.call(t,e)}function T0(t){return Otr.call(t)}function Qtr(t){if(t.name)return t.name;var e=Dtr.call(Ptr.call(t),/^function\s*([\w$]+)/);return e?e[1]:null}function cMe(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}function Gtr(t){if(!Qk||!t||typeof t!="object")return!1;try{Qk.call(t);try{Gk.call(t)}catch{return!0}return t instanceof Map}catch{}return!1}function Vtr(t){if(!Jv||!t||typeof t!="object")return!1;try{Jv.call(t,Jv);try{Xv.call(t,Xv)}catch{return!0}return t instanceof WeakMap}catch{}return!1}function ztr(t){if(!V4e||!t||typeof t!="object")return!1;try{return V4e.call(t),!0}catch{}return!1}function Ktr(t){if(!Gk||!t||typeof t!="object")return!1;try{Gk.call(t);try{Qk.call(t)}catch{return!0}return t instanceof Set}catch{}return!1}function Ytr(t){if(!Xv||!t||typeof t!="object")return!1;try{Xv.call(t,Xv);try{Jv.call(t,Jv)}catch{return!0}return t instanceof WeakSet}catch{}return!1}function Jtr(t){return!t||typeof t!="object"?!1:typeof HTMLElement<"u"&&t instanceof HTMLElement?!0:typeof t.nodeName=="string"&&typeof t.getAttribute=="function"}function uMe(t,e){if(t.length>e.maxStringLength){var r=t.length-e.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return uMe(EV.call(t,0,e.maxStringLength),e)+n}var s=Btr[e.quoteStyle||"single"];s.lastIndex=0;var i=I0.call(I0.call(t,s,"\\$1"),/[\x00-\x1f]/g,Xtr);return aMe(i,"single",e)}function Xtr(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+ktr.call(e.toString(16))}function Yv(t){return"Object("+t+")"}function pV(t){return t+" { ? }"}function rMe(t,e,r,n){var s=n?yV(r,n):_l.call(r,", ");return t+" ("+e+") {"+s+"}"}function Ztr(t){for(var e=0;e<t.length;e++)if(cMe(t[e],`
`)>=0)return!1;return!0}function err(t,e){var r;if(t.indent===" ")r=" ";else if(typeof t.indent=="number"&&t.indent>0)r=_l.call(Array(t.indent+1)," ");else return null;return{base:r,prev:_l.call(Array(e+1),r)}}function yV(t,e){if(t.length===0)return"";var r=`
`+e.prev+e.base;return r+_l.call(t,","+r)+`
`+e.prev}function Hk(t,e){var r=AV(t),n=[];if(r){n.length=t.length;for(var s=0;s<t.length;s++)n[s]=tf(t,s)?e(t[s],t):""}var i=typeof fV=="function"?fV(t):[],a;if(Jx){a={};for(var o=0;o<i.length;o++)a["$"+i[o]]=i[o]}for(var c in t)tf(t,c)&&(r&&String(Number(c))===c&&c<t.length||Jx&&a["$"+c]instanceof Symbol||(nMe.call(/[^\w$]/,c)?n.push(e(c,t)+": "+e(t[c],t)):n.push(c+": "+e(t[c],t))));if(typeof fV=="function")for(var u=0;u<i.length;u++)sMe.call(t,i[u])&&n.push("["+e(i[u])+"]: "+e(t[i[u]],t));return n}});var fMe=E((sqr,dMe)=>{"use strict";var trr=eC(),rrr=Vp(),Vk=function(t,e,r){for(var n=t,s;(s=n.next)!=null;n=s)if(s.key===e)return n.next=s.next,r||(s.next=t.next,t.next=s),s},nrr=function(t,e){if(t){var r=Vk(t,e);return r&&r.value}},srr=function(t,e,r){var n=Vk(t,e);n?n.value=r:t.next={key:e,next:t.next,value:r}},irr=function(t,e){return t?!!Vk(t,e):!1},arr=function(t,e){if(t)return Vk(t,e,!0)};dMe.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new rrr("Side channel does not contain "+trr(n))},delete:function(n){var s=e&&e.next,i=arr(e,n);return i&&s&&s===i&&(e=void 0),!!i},get:function(n){return nrr(e,n)},has:function(n){return irr(e,n)},set:function(n,s){e||(e={next:void 0}),srr(e,n,s)}};return r}});var _V=E((iqr,hMe)=>{"use strict";var pMe=MS(),mMe=Dj(),orr=mMe([pMe("%String.prototype.indexOf%")]);hMe.exports=function(e,r){var n=pMe(e,!!r);return typeof n=="function"&&orr(e,".prototype.")>-1?mMe([n]):n}});var SV=E((aqr,AMe)=>{"use strict";var crr=MS(),tC=_V(),urr=eC(),lrr=Vp(),gMe=crr("%Map%",!0),drr=tC("Map.prototype.get",!0),frr=tC("Map.prototype.set",!0),prr=tC("Map.prototype.has",!0),mrr=tC("Map.prototype.delete",!0),hrr=tC("Map.prototype.size",!0);AMe.exports=!!gMe&&function(){var e,r={assert:function(n){if(!r.has(n))throw new lrr("Side channel does not contain "+urr(n))},delete:function(n){if(e){var s=mrr(e,n);return hrr(e)===0&&(e=void 0),s}return!1},get:function(n){if(e)return drr(e,n)},has:function(n){return e?prr(e,n):!1},set:function(n,s){e||(e=new gMe),frr(e,n,s)}};return r}});var xMe=E((oqr,yMe)=>{"use strict";var grr=MS(),Kk=_V(),Arr=eC(),zk=SV(),yrr=Vp(),Xx=grr("%WeakMap%",!0),xrr=Kk("WeakMap.prototype.get",!0),brr=Kk("WeakMap.prototype.set",!0),Err=Kk("WeakMap.prototype.has",!0),_rr=Kk("WeakMap.prototype.delete",!0);yMe.exports=Xx?function(){var e,r,n={assert:function(s){if(!n.has(s))throw new yrr("Side channel does not contain "+Arr(s))},delete:function(s){if(Xx&&s&&(typeof s=="object"||typeof s=="function")){if(e)return _rr(e,s)}else if(zk&&r)return r.delete(s);return!1},get:function(s){return Xx&&s&&(typeof s=="object"||typeof s=="function")&&e?xrr(e,s):r&&r.get(s)},has:function(s){return Xx&&s&&(typeof s=="object"||typeof s=="function")&&e?Err(e,s):!!r&&r.has(s)},set:function(s,i){Xx&&s&&(typeof s=="object"||typeof s=="function")?(e||(e=new Xx),brr(e,s,i)):zk&&(r||(r=zk()),r.set(s,i))}};return n}:zk});var EMe=E((cqr,bMe)=>{"use strict";var Srr=Vp(),vrr=eC(),Crr=fMe(),Irr=SV(),Trr=xMe(),wrr=Trr||Irr||Crr;bMe.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new Srr("Side channel does not contain "+vrr(n))},delete:function(n){return!!e&&e.delete(n)},get:function(n){return e&&e.get(n)},has:function(n){return!!e&&e.has(n)},set:function(n,s){e||(e=wrr()),e.set(n,s)}};return r}});var Yk=E((uqr,_Me)=>{"use strict";var Rrr=String.prototype.replace,Nrr=/%20/g,vV={RFC1738:"RFC1738",RFC3986:"RFC3986"};_Me.exports={default:vV.RFC3986,formatters:{RFC1738:function(t){return Rrr.call(t,Nrr,"+")},RFC3986:function(t){return String(t)}},RFC1738:vV.RFC1738,RFC3986:vV.RFC3986}});var TV=E((lqr,vMe)=>{"use strict";var Orr=Yk(),CV=Object.prototype.hasOwnProperty,Hh=Array.isArray,Sl=function(){for(var t=[],e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t}(),Prr=function(e){for(;e.length>1;){var r=e.pop(),n=r.obj[r.prop];if(Hh(n)){for(var s=[],i=0;i<n.length;++i)typeof n[i]<"u"&&s.push(n[i]);r.obj[r.prop]=s}}},SMe=function(e,r){for(var n=r&&r.plainObjects?{__proto__:null}:{},s=0;s<e.length;++s)typeof e[s]<"u"&&(n[s]=e[s]);return n},Drr=function t(e,r,n){if(!r)return e;if(typeof r!="object"&&typeof r!="function"){if(Hh(e))e.push(r);else if(e&&typeof e=="object")(n&&(n.plainObjects||n.allowPrototypes)||!CV.call(Object.prototype,r))&&(e[r]=!0);else return[e,r];return e}if(!e||typeof e!="object")return[e].concat(r);var s=e;return Hh(e)&&!Hh(r)&&(s=SMe(e,n)),Hh(e)&&Hh(r)?(r.forEach(function(i,a){if(CV.call(e,a)){var o=e[a];o&&typeof o=="object"&&i&&typeof i=="object"?e[a]=t(o,i,n):e.push(i)}else e[a]=i}),e):Object.keys(r).reduce(function(i,a){var o=r[a];return CV.call(i,a)?i[a]=t(i[a],o,n):i[a]=o,i},s)},krr=function(e,r){return Object.keys(r).reduce(function(n,s){return n[s]=r[s],n},e)},Lrr=function(t,e,r){var n=t.replace(/\+/g," ");if(r==="iso-8859-1")return n.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(n)}catch{return n}},IV=1024,Brr=function(e,r,n,s,i){if(e.length===0)return e;var a=e;if(typeof e=="symbol"?a=Symbol.prototype.toString.call(e):typeof e!="string"&&(a=String(e)),n==="iso-8859-1")return escape(a).replace(/%u[0-9a-f]{4}/gi,function(p){return"%26%23"+parseInt(p.slice(2),16)+"%3B"});for(var o="",c=0;c<a.length;c+=IV){for(var u=a.length>=IV?a.slice(c,c+IV):a,l=[],d=0;d<u.length;++d){var f=u.charCodeAt(d);if(f===45||f===46||f===95||f===126||f>=48&&f<=57||f>=65&&f<=90||f>=97&&f<=122||i===Orr.RFC1738&&(f===40||f===41)){l[l.length]=u.charAt(d);continue}if(f<128){l[l.length]=Sl[f];continue}if(f<2048){l[l.length]=Sl[192|f>>6]+Sl[128|f&63];continue}if(f<55296||f>=57344){l[l.length]=Sl[224|f>>12]+Sl[128|f>>6&63]+Sl[128|f&63];continue}d+=1,f=65536+((f&1023)<<10|u.charCodeAt(d)&1023),l[l.length]=Sl[240|f>>18]+Sl[128|f>>12&63]+Sl[128|f>>6&63]+Sl[128|f&63]}o+=l.join("")}return o},Mrr=function(e){for(var r=[{obj:{o:e},prop:"o"}],n=[],s=0;s<r.length;++s)for(var i=r[s],a=i.obj[i.prop],o=Object.keys(a),c=0;c<o.length;++c){var u=o[c],l=a[u];typeof l=="object"&&l!==null&&n.indexOf(l)===-1&&(r.push({obj:a,prop:u}),n.push(l))}return Prr(r),e},Wrr=function(e){return Object.prototype.toString.call(e)==="[object RegExp]"},$rr=function(e){return!e||typeof e!="object"?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},Frr=function(e,r){return[].concat(e,r)},Urr=function(e,r){if(Hh(e)){for(var n=[],s=0;s<e.length;s+=1)n.push(r(e[s]));return n}return r(e)};vMe.exports={arrayToObject:SMe,assign:krr,combine:Frr,compact:Mrr,decode:Lrr,encode:Brr,isBuffer:$rr,isRegExp:Wrr,maybeMap:Urr,merge:Drr}});var NMe=E((dqr,RMe)=>{"use strict";var IMe=EMe(),Jk=TV(),rC=Yk(),qrr=Object.prototype.hasOwnProperty,TMe={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,r){return e+"["+r+"]"},repeat:function(e){return e}},vl=Array.isArray,jrr=Array.prototype.push,wMe=function(t,e){jrr.apply(t,vl(e)?e:[e])},Hrr=Date.prototype.toISOString,CMe=rC.default,Ds={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:Jk.encode,encodeValuesOnly:!1,filter:void 0,format:CMe,formatter:rC.formatters[CMe],indices:!1,serializeDate:function(e){return Hrr.call(e)},skipNulls:!1,strictNullHandling:!1},Qrr=function(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="symbol"||typeof e=="bigint"},wV={},Grr=function t(e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b){for(var y=e,x=b,v=0,C=!1;(x=x.get(wV))!==void 0&&!C;){var R=x.get(e);if(v+=1,typeof R<"u"){if(R===v)throw new RangeError("Cyclic object value");C=!0}typeof x.get(wV)>"u"&&(v=0)}if(typeof l=="function"?y=l(r,y):y instanceof Date?y=p(y):n==="comma"&&vl(y)&&(y=Jk.maybeMap(y,function(J){return J instanceof Date?p(J):J})),y===null){if(a)return u&&!A?u(r,Ds.encoder,g,"key",m):r;y=""}if(Qrr(y)||Jk.isBuffer(y)){if(u){var w=A?r:u(r,Ds.encoder,g,"key",m);return[h(w)+"="+h(u(y,Ds.encoder,g,"value",m))]}return[h(r)+"="+h(String(y))]}var N=[];if(typeof y>"u")return N;var P;if(n==="comma"&&vl(y))A&&u&&(y=Jk.maybeMap(y,u)),P=[{value:y.length>0?y.join(",")||null:void 0}];else if(vl(l))P=l;else{var L=Object.keys(y);P=d?L.sort(d):L}var M=c?String(r).replace(/\./g,"%2E"):String(r),k=s&&vl(y)&&y.length===1?M+"[]":M;if(i&&vl(y)&&y.length===0)return k+"[]";for(var B=0;B<P.length;++B){var Z=P[B],W=typeof Z=="object"&&Z&&typeof Z.value<"u"?Z.value:y[Z];if(!(o&&W===null)){var F=f&&c?String(Z).replace(/\./g,"%2E"):String(Z),V=vl(y)?typeof n=="function"?n(k,F):k:k+(f?"."+F:"["+F+"]");b.set(e,v);var j=IMe();j.set(wV,b),wMe(N,t(W,V,n,s,i,a,o,c,n==="comma"&&A&&vl(y)?null:u,l,d,f,p,m,h,A,g,j))}}return N},Vrr=function(e){if(!e)return Ds;if(typeof e.allowEmptyArrays<"u"&&typeof e.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.encodeDotInKeys<"u"&&typeof e.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&typeof e.encoder<"u"&&typeof e.encoder!="function")throw new TypeError("Encoder has to be a function.");var r=e.charset||Ds.charset;if(typeof e.charset<"u"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var n=rC.default;if(typeof e.format<"u"){if(!qrr.call(rC.formatters,e.format))throw new TypeError("Unknown format option provided.");n=e.format}var s=rC.formatters[n],i=Ds.filter;(typeof e.filter=="function"||vl(e.filter))&&(i=e.filter);var a;if(e.arrayFormat in TMe?a=e.arrayFormat:"indices"in e?a=e.indices?"indices":"repeat":a=Ds.arrayFormat,"commaRoundTrip"in e&&typeof e.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var o=typeof e.allowDots>"u"?e.encodeDotInKeys===!0?!0:Ds.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix=="boolean"?e.addQueryPrefix:Ds.addQueryPrefix,allowDots:o,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:Ds.allowEmptyArrays,arrayFormat:a,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:Ds.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:typeof e.delimiter>"u"?Ds.delimiter:e.delimiter,encode:typeof e.encode=="boolean"?e.encode:Ds.encode,encodeDotInKeys:typeof e.encodeDotInKeys=="boolean"?e.encodeDotInKeys:Ds.encodeDotInKeys,encoder:typeof e.encoder=="function"?e.encoder:Ds.encoder,encodeValuesOnly:typeof e.encodeValuesOnly=="boolean"?e.encodeValuesOnly:Ds.encodeValuesOnly,filter:i,format:n,formatter:s,serializeDate:typeof e.serializeDate=="function"?e.serializeDate:Ds.serializeDate,skipNulls:typeof e.skipNulls=="boolean"?e.skipNulls:Ds.skipNulls,sort:typeof e.sort=="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:Ds.strictNullHandling}};RMe.exports=function(t,e){var r=t,n=Vrr(e),s,i;typeof n.filter=="function"?(i=n.filter,r=i("",r)):vl(n.filter)&&(i=n.filter,s=i);var a=[];if(typeof r!="object"||r===null)return"";var o=TMe[n.arrayFormat],c=o==="comma"&&n.commaRoundTrip;s||(s=Object.keys(r)),n.sort&&s.sort(n.sort);for(var u=IMe(),l=0;l<s.length;++l){var d=s[l],f=r[d];n.skipNulls&&f===null||wMe(a,Grr(f,d,o,c,n.allowEmptyArrays,n.strictNullHandling,n.skipNulls,n.encodeDotInKeys,n.encode?n.encoder:null,n.filter,n.sort,n.allowDots,n.serializeDate,n.format,n.formatter,n.encodeValuesOnly,n.charset,u))}var p=a.join(n.delimiter),m=n.addQueryPrefix===!0?"?":"";return n.charsetSentinel&&(n.charset==="iso-8859-1"?m+="utf8=%26%2310003%3B&":m+="utf8=%E2%9C%93&"),p.length>0?m+p:""}});var kMe=E((fqr,DMe)=>{"use strict";var Qh=TV(),RV=Object.prototype.hasOwnProperty,OMe=Array.isArray,Zn={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:Qh.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},zrr=function(t){return t.replace(/&#(\d+);/g,function(e,r){return String.fromCharCode(parseInt(r,10))})},PMe=function(t,e,r){if(t&&typeof t=="string"&&e.comma&&t.indexOf(",")>-1)return t.split(",");if(e.throwOnLimitExceeded&&r>=e.arrayLimit)throw new RangeError("Array limit exceeded. Only "+e.arrayLimit+" element"+(e.arrayLimit===1?"":"s")+" allowed in an array.");return t},Krr="utf8=%26%2310003%3B",Yrr="utf8=%E2%9C%93",Jrr=function(e,r){var n={__proto__:null},s=r.ignoreQueryPrefix?e.replace(/^\?/,""):e;s=s.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var i=r.parameterLimit===1/0?void 0:r.parameterLimit,a=s.split(r.delimiter,r.throwOnLimitExceeded?i+1:i);if(r.throwOnLimitExceeded&&a.length>i)throw new RangeError("Parameter limit exceeded. Only "+i+" parameter"+(i===1?"":"s")+" allowed.");var o=-1,c,u=r.charset;if(r.charsetSentinel)for(c=0;c<a.length;++c)a[c].indexOf("utf8=")===0&&(a[c]===Yrr?u="utf-8":a[c]===Krr&&(u="iso-8859-1"),o=c,c=a.length);for(c=0;c<a.length;++c)if(c!==o){var l=a[c],d=l.indexOf("]="),f=d===-1?l.indexOf("="):d+1,p,m;f===-1?(p=r.decoder(l,Zn.decoder,u,"key"),m=r.strictNullHandling?null:""):(p=r.decoder(l.slice(0,f),Zn.decoder,u,"key"),m=Qh.maybeMap(PMe(l.slice(f+1),r,OMe(n[p])?n[p].length:0),function(A){return r.decoder(A,Zn.decoder,u,"value")})),m&&r.interpretNumericEntities&&u==="iso-8859-1"&&(m=zrr(String(m))),l.indexOf("[]=")>-1&&(m=OMe(m)?[m]:m);var h=RV.call(n,p);h&&r.duplicates==="combine"?n[p]=Qh.combine(n[p],m):(!h||r.duplicates==="last")&&(n[p]=m)}return n},Xrr=function(t,e,r,n){var s=0;if(t.length>0&&t[t.length-1]==="[]"){var i=t.slice(0,-1).join("");s=Array.isArray(e)&&e[i]?e[i].length:0}for(var a=n?e:PMe(e,r,s),o=t.length-1;o>=0;--o){var c,u=t[o];if(u==="[]"&&r.parseArrays)c=r.allowEmptyArrays&&(a===""||r.strictNullHandling&&a===null)?[]:Qh.combine([],a);else{c=r.plainObjects?{__proto__:null}:{};var l=u.charAt(0)==="["&&u.charAt(u.length-1)==="]"?u.slice(1,-1):u,d=r.decodeDotInKeys?l.replace(/%2E/g,"."):l,f=parseInt(d,10);!r.parseArrays&&d===""?c={0:a}:!isNaN(f)&&u!==d&&String(f)===d&&f>=0&&r.parseArrays&&f<=r.arrayLimit?(c=[],c[f]=a):d!=="__proto__"&&(c[d]=a)}a=c}return a},Zrr=function(e,r,n,s){if(e){var i=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/,o=/(\[[^[\]]*])/g,c=n.depth>0&&a.exec(i),u=c?i.slice(0,c.index):i,l=[];if(u){if(!n.plainObjects&&RV.call(Object.prototype,u)&&!n.allowPrototypes)return;l.push(u)}for(var d=0;n.depth>0&&(c=o.exec(i))!==null&&d<n.depth;){if(d+=1,!n.plainObjects&&RV.call(Object.prototype,c[1].slice(1,-1))&&!n.allowPrototypes)return;l.push(c[1])}if(c){if(n.strictDepth===!0)throw new RangeError("Input depth exceeded depth option of "+n.depth+" and strictDepth is true");l.push("["+i.slice(c.index)+"]")}return Xrr(l,r,n,s)}},enr=function(e){if(!e)return Zn;if(typeof e.allowEmptyArrays<"u"&&typeof e.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.decodeDotInKeys<"u"&&typeof e.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(e.decoder!==null&&typeof e.decoder<"u"&&typeof e.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof e.charset<"u"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");if(typeof e.throwOnLimitExceeded<"u"&&typeof e.throwOnLimitExceeded!="boolean")throw new TypeError("`throwOnLimitExceeded` option must be a boolean");var r=typeof e.charset>"u"?Zn.charset:e.charset,n=typeof e.duplicates>"u"?Zn.duplicates:e.duplicates;if(n!=="combine"&&n!=="first"&&n!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var s=typeof e.allowDots>"u"?e.decodeDotInKeys===!0?!0:Zn.allowDots:!!e.allowDots;return{allowDots:s,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:Zn.allowEmptyArrays,allowPrototypes:typeof e.allowPrototypes=="boolean"?e.allowPrototypes:Zn.allowPrototypes,allowSparse:typeof e.allowSparse=="boolean"?e.allowSparse:Zn.allowSparse,arrayLimit:typeof e.arrayLimit=="number"?e.arrayLimit:Zn.arrayLimit,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:Zn.charsetSentinel,comma:typeof e.comma=="boolean"?e.comma:Zn.comma,decodeDotInKeys:typeof e.decodeDotInKeys=="boolean"?e.decodeDotInKeys:Zn.decodeDotInKeys,decoder:typeof e.decoder=="function"?e.decoder:Zn.decoder,delimiter:typeof e.delimiter=="string"||Qh.isRegExp(e.delimiter)?e.delimiter:Zn.delimiter,depth:typeof e.depth=="number"||e.depth===!1?+e.depth:Zn.depth,duplicates:n,ignoreQueryPrefix:e.ignoreQueryPrefix===!0,interpretNumericEntities:typeof e.interpretNumericEntities=="boolean"?e.interpretNumericEntities:Zn.interpretNumericEntities,parameterLimit:typeof e.parameterLimit=="number"?e.parameterLimit:Zn.parameterLimit,parseArrays:e.parseArrays!==!1,plainObjects:typeof e.plainObjects=="boolean"?e.plainObjects:Zn.plainObjects,strictDepth:typeof e.strictDepth=="boolean"?!!e.strictDepth:Zn.strictDepth,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:Zn.strictNullHandling,throwOnLimitExceeded:typeof e.throwOnLimitExceeded=="boolean"?e.throwOnLimitExceeded:!1}};DMe.exports=function(t,e){var r=enr(e);if(t===""||t===null||typeof t>"u")return r.plainObjects?{__proto__:null}:{};for(var n=typeof t=="string"?Jrr(t,r):t,s=r.plainObjects?{__proto__:null}:{},i=Object.keys(n),a=0;a<i.length;++a){var o=i[a],c=Zrr(o,n[o],r,typeof t=="string");s=Qh.merge(s,c,r)}return r.allowSparse===!0?s:Qh.compact(s)}});var nC=E((pqr,LMe)=>{"use strict";var tnr=NMe(),rnr=kMe(),nnr=Yk();LMe.exports={formats:nnr,parse:rnr,stringify:tnr}});var NV=E((BMe,Xk)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,s=Math.floor,i="[BigNumber Error] ",a=i+"Number primitive has more than 15 significant digits: ",o=1e14,c=14,u=9007199254740991,l=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],d=1e7,f=1e9;function p(v){var C,R,w,N=ue.prototype={constructor:ue,toString:null,valueOf:null},P=new ue(1),L=20,M=4,k=-7,B=21,Z=-1e7,W=1e7,F=!1,V=1,j=0,J={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},se="0123456789abcdefghijklmnopqrstuvwxyz",oe=!0;function ue(U,G){var z,q,H,ee,ne,re,X,ie,ce=this;if(!(ce instanceof ue))return new ue(U,G);if(G==null){if(U&&U._isBigNumber===!0){ce.s=U.s,!U.c||U.e>W?ce.c=ce.e=null:U.e<Z?ce.c=[ce.e=0]:(ce.e=U.e,ce.c=U.c.slice());return}if((re=typeof U=="number")&&U*0==0){if(ce.s=1/U<0?(U=-U,-1):1,U===~~U){for(ee=0,ne=U;ne>=10;ne/=10,ee++);ee>W?ce.c=ce.e=null:(ce.e=ee,ce.c=[U]);return}ie=String(U)}else{if(!r.test(ie=String(U)))return w(ce,ie,re);ce.s=ie.charCodeAt(0)==45?(ie=ie.slice(1),-1):1}(ee=ie.indexOf("."))>-1&&(ie=ie.replace(".","")),(ne=ie.search(/e/i))>0?(ee<0&&(ee=ne),ee+=+ie.slice(ne+1),ie=ie.substring(0,ne)):ee<0&&(ee=ie.length)}else{if(g(G,2,se.length,"Base"),G==10&&oe)return ce=new ue(U),Fe(ce,L+ce.e+1,M);if(ie=String(U),re=typeof U=="number"){if(U*0!=0)return w(ce,ie,re,G);if(ce.s=1/U<0?(ie=ie.slice(1),-1):1,ue.DEBUG&&ie.replace(/^0\.0*|\./,"").length>15)throw Error(a+U)}else ce.s=ie.charCodeAt(0)===45?(ie=ie.slice(1),-1):1;for(z=se.slice(0,G),ee=ne=0,X=ie.length;ne<X;ne++)if(z.indexOf(q=ie.charAt(ne))<0){if(q=="."){if(ne>ee){ee=X;continue}}else if(!H&&(ie==ie.toUpperCase()&&(ie=ie.toLowerCase())||ie==ie.toLowerCase()&&(ie=ie.toUpperCase()))){H=!0,ne=-1,ee=0;continue}return w(ce,String(U),re,G)}re=!1,ie=R(ie,G,10,ce.s),(ee=ie.indexOf("."))>-1?ie=ie.replace(".",""):ee=ie.length}for(ne=0;ie.charCodeAt(ne)===48;ne++);for(X=ie.length;ie.charCodeAt(--X)===48;);if(ie=ie.slice(ne,++X)){if(X-=ne,re&&ue.DEBUG&&X>15&&(U>u||U!==s(U)))throw Error(a+ce.s*U);if((ee=ee-ne-1)>W)ce.c=ce.e=null;else if(ee<Z)ce.c=[ce.e=0];else{if(ce.e=ee,ce.c=[],ne=(ee+1)%c,ee<0&&(ne+=c),ne<X){for(ne&&ce.c.push(+ie.slice(0,ne)),X-=c;ne<X;)ce.c.push(+ie.slice(ne,ne+=c));ne=c-(ie=ie.slice(ne)).length}else ne-=X;for(;ne--;ie+="0");ce.c.push(+ie)}}else ce.c=[ce.e=0]}ue.clone=p,ue.ROUND_UP=0,ue.ROUND_DOWN=1,ue.ROUND_CEIL=2,ue.ROUND_FLOOR=3,ue.ROUND_HALF_UP=4,ue.ROUND_HALF_DOWN=5,ue.ROUND_HALF_EVEN=6,ue.ROUND_HALF_CEIL=7,ue.ROUND_HALF_FLOOR=8,ue.EUCLID=9,ue.config=ue.set=function(U){var G,z;if(U!=null)if(typeof U=="object"){if(U.hasOwnProperty(G="DECIMAL_PLACES")&&(z=U[G],g(z,0,f,G),L=z),U.hasOwnProperty(G="ROUNDING_MODE")&&(z=U[G],g(z,0,8,G),M=z),U.hasOwnProperty(G="EXPONENTIAL_AT")&&(z=U[G],z&&z.pop?(g(z[0],-f,0,G),g(z[1],0,f,G),k=z[0],B=z[1]):(g(z,-f,f,G),k=-(B=z<0?-z:z))),U.hasOwnProperty(G="RANGE"))if(z=U[G],z&&z.pop)g(z[0],-f,-1,G),g(z[1],1,f,G),Z=z[0],W=z[1];else if(g(z,-f,f,G),z)Z=-(W=z<0?-z:z);else throw Error(i+G+" cannot be zero: "+z);if(U.hasOwnProperty(G="CRYPTO"))if(z=U[G],z===!!z)if(z)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))F=z;else throw F=!z,Error(i+"crypto unavailable");else F=z;else throw Error(i+G+" not true or false: "+z);if(U.hasOwnProperty(G="MODULO_MODE")&&(z=U[G],g(z,0,9,G),V=z),U.hasOwnProperty(G="POW_PRECISION")&&(z=U[G],g(z,0,f,G),j=z),U.hasOwnProperty(G="FORMAT"))if(z=U[G],typeof z=="object")J=z;else throw Error(i+G+" not an object: "+z);if(U.hasOwnProperty(G="ALPHABET"))if(z=U[G],typeof z=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(z))oe=z.slice(0,10)=="0123456789",se=z;else throw Error(i+G+" invalid: "+z)}else throw Error(i+"Object expected: "+U);return{DECIMAL_PLACES:L,ROUNDING_MODE:M,EXPONENTIAL_AT:[k,B],RANGE:[Z,W],CRYPTO:F,MODULO_MODE:V,POW_PRECISION:j,FORMAT:J,ALPHABET:se}},ue.isBigNumber=function(U){if(!U||U._isBigNumber!==!0)return!1;if(!ue.DEBUG)return!0;var G,z,q=U.c,H=U.e,ee=U.s;e:if({}.toString.call(q)=="[object Array]"){if((ee===1||ee===-1)&&H>=-f&&H<=f&&H===s(H)){if(q[0]===0){if(H===0&&q.length===1)return!0;break e}if(G=(H+1)%c,G<1&&(G+=c),String(q[0]).length==G){for(G=0;G<q.length;G++)if(z=q[G],z<0||z>=o||z!==s(z))break e;if(z!==0)return!0}}}else if(q===null&&H===null&&(ee===null||ee===1||ee===-1))return!0;throw Error(i+"Invalid BigNumber: "+U)},ue.maximum=ue.max=function(){return we(arguments,-1)},ue.minimum=ue.min=function(){return we(arguments,1)},ue.random=function(){var U=9007199254740992,G=Math.random()*U&2097151?function(){return s(Math.random()*U)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(z){var q,H,ee,ne,re,X=0,ie=[],ce=new ue(P);if(z==null?z=L:g(z,0,f),ne=n(z/c),F)if(crypto.getRandomValues){for(q=crypto.getRandomValues(new Uint32Array(ne*=2));X<ne;)re=q[X]*131072+(q[X+1]>>>11),re>=9e15?(H=crypto.getRandomValues(new Uint32Array(2)),q[X]=H[0],q[X+1]=H[1]):(ie.push(re%1e14),X+=2);X=ne/2}else if(crypto.randomBytes){for(q=crypto.randomBytes(ne*=7);X<ne;)re=(q[X]&31)*281474976710656+q[X+1]*1099511627776+q[X+2]*4294967296+q[X+3]*16777216+(q[X+4]<<16)+(q[X+5]<<8)+q[X+6],re>=9e15?crypto.randomBytes(7).copy(q,X):(ie.push(re%1e14),X+=7);X=ne/7}else throw F=!1,Error(i+"crypto unavailable");if(!F)for(;X<ne;)re=G(),re<9e15&&(ie[X++]=re%1e14);for(ne=ie[--X],z%=c,ne&&z&&(re=l[c-z],ie[X]=s(ne/re)*re);ie[X]===0;ie.pop(),X--);if(X<0)ie=[ee=0];else{for(ee=-1;ie[0]===0;ie.splice(0,1),ee-=c);for(X=1,re=ie[0];re>=10;re/=10,X++);X<c&&(ee-=c-X)}return ce.e=ee,ce.c=ie,ce}}(),ue.sum=function(){for(var U=1,G=arguments,z=new ue(G[0]);U<G.length;)z=z.plus(G[U++]);return z},R=function(){var U="0123456789";function G(z,q,H,ee){for(var ne,re=[0],X,ie=0,ce=z.length;ie<ce;){for(X=re.length;X--;re[X]*=q);for(re[0]+=ee.indexOf(z.charAt(ie++)),ne=0;ne<re.length;ne++)re[ne]>H-1&&(re[ne+1]==null&&(re[ne+1]=0),re[ne+1]+=re[ne]/H|0,re[ne]%=H)}return re.reverse()}return function(z,q,H,ee,ne){var re,X,ie,ce,fe,Ne,Pe,Ue,Ke=z.indexOf("."),Ye=L,Ze=M;for(Ke>=0&&(ce=j,j=0,z=z.replace(".",""),Ue=new ue(q),Ne=Ue.pow(z.length-Ke),j=ce,Ue.c=G(x(h(Ne.c),Ne.e,"0"),10,H,U),Ue.e=Ue.c.length),Pe=G(z,q,H,ne?(re=se,U):(re=U,se)),ie=ce=Pe.length;Pe[--ce]==0;Pe.pop());if(!Pe[0])return re.charAt(0);if(Ke<0?--ie:(Ne.c=Pe,Ne.e=ie,Ne.s=ee,Ne=C(Ne,Ue,Ye,Ze,H),Pe=Ne.c,fe=Ne.r,ie=Ne.e),X=ie+Ye+1,Ke=Pe[X],ce=H/2,fe=fe||X<0||Pe[X+1]!=null,fe=Ze<4?(Ke!=null||fe)&&(Ze==0||Ze==(Ne.s<0?3:2)):Ke>ce||Ke==ce&&(Ze==4||fe||Ze==6&&Pe[X-1]&1||Ze==(Ne.s<0?8:7)),X<1||!Pe[0])z=fe?x(re.charAt(1),-Ye,re.charAt(0)):re.charAt(0);else{if(Pe.length=X,fe)for(--H;++Pe[--X]>H;)Pe[X]=0,X||(++ie,Pe=[1].concat(Pe));for(ce=Pe.length;!Pe[--ce];);for(Ke=0,z="";Ke<=ce;z+=re.charAt(Pe[Ke++]));z=x(z,ie,re.charAt(0))}return z}}(),C=function(){function U(q,H,ee){var ne,re,X,ie,ce=0,fe=q.length,Ne=H%d,Pe=H/d|0;for(q=q.slice();fe--;)X=q[fe]%d,ie=q[fe]/d|0,ne=Pe*X+ie*Ne,re=Ne*X+ne%d*d+ce,ce=(re/ee|0)+(ne/d|0)+Pe*ie,q[fe]=re%ee;return ce&&(q=[ce].concat(q)),q}function G(q,H,ee,ne){var re,X;if(ee!=ne)X=ee>ne?1:-1;else for(re=X=0;re<ee;re++)if(q[re]!=H[re]){X=q[re]>H[re]?1:-1;break}return X}function z(q,H,ee,ne){for(var re=0;ee--;)q[ee]-=re,re=q[ee]<H[ee]?1:0,q[ee]=re*ne+q[ee]-H[ee];for(;!q[0]&&q.length>1;q.splice(0,1));}return function(q,H,ee,ne,re){var X,ie,ce,fe,Ne,Pe,Ue,Ke,Ye,Ze,nt,ct,tt,Dt,lt,De,Je,ft=q.s==H.s?1:-1,rt=q.c,bt=H.c;if(!rt||!rt[0]||!bt||!bt[0])return new ue(!q.s||!H.s||(rt?bt&&rt[0]==bt[0]:!bt)?NaN:rt&&rt[0]==0||!bt?ft*0:ft/0);for(Ke=new ue(ft),Ye=Ke.c=[],ie=q.e-H.e,ft=ee+ie+1,re||(re=o,ie=m(q.e/c)-m(H.e/c),ft=ft/c|0),ce=0;bt[ce]==(rt[ce]||0);ce++);if(bt[ce]>(rt[ce]||0)&&ie--,ft<0)Ye.push(1),fe=!0;else{for(Dt=rt.length,De=bt.length,ce=0,ft+=2,Ne=s(re/(bt[0]+1)),Ne>1&&(bt=U(bt,Ne,re),rt=U(rt,Ne,re),De=bt.length,Dt=rt.length),tt=De,Ze=rt.slice(0,De),nt=Ze.length;nt<De;Ze[nt++]=0);Je=bt.slice(),Je=[0].concat(Je),lt=bt[0],bt[1]>=re/2&&lt++;do{if(Ne=0,X=G(bt,Ze,De,nt),X<0){if(ct=Ze[0],De!=nt&&(ct=ct*re+(Ze[1]||0)),Ne=s(ct/lt),Ne>1)for(Ne>=re&&(Ne=re-1),Pe=U(bt,Ne,re),Ue=Pe.length,nt=Ze.length;G(Pe,Ze,Ue,nt)==1;)Ne--,z(Pe,De<Ue?Je:bt,Ue,re),Ue=Pe.length,X=1;else Ne==0&&(X=Ne=1),Pe=bt.slice(),Ue=Pe.length;if(Ue<nt&&(Pe=[0].concat(Pe)),z(Ze,Pe,nt,re),nt=Ze.length,X==-1)for(;G(bt,Ze,De,nt)<1;)Ne++,z(Ze,De<nt?Je:bt,nt,re),nt=Ze.length}else X===0&&(Ne++,Ze=[0]);Ye[ce++]=Ne,Ze[0]?Ze[nt++]=rt[tt]||0:(Ze=[rt[tt]],nt=1)}while((tt++<Dt||Ze[0]!=null)&&ft--);fe=Ze[0]!=null,Ye[0]||Ye.splice(0,1)}if(re==o){for(ce=1,ft=Ye[0];ft>=10;ft/=10,ce++);Fe(Ke,ee+(Ke.e=ce+ie*c-1)+1,ne,fe)}else Ke.e=ie,Ke.r=+fe;return Ke}}();function Ce(U,G,z,q){var H,ee,ne,re,X;if(z==null?z=M:g(z,0,8),!U.c)return U.toString();if(H=U.c[0],ne=U.e,G==null)X=h(U.c),X=q==1||q==2&&(ne<=k||ne>=B)?y(X,ne):x(X,ne,"0");else if(U=Fe(new ue(U),G,z),ee=U.e,X=h(U.c),re=X.length,q==1||q==2&&(G<=ee||ee<=k)){for(;re<G;X+="0",re++);X=y(X,ee)}else if(G-=ne+(q===2&&ee>ne),X=x(X,ee,"0"),ee+1>re){if(--G>0)for(X+=".";G--;X+="0");}else if(G+=ee-re,G>0)for(ee+1==re&&(X+=".");G--;X+="0");return U.s<0&&H?"-"+X:X}function we(U,G){for(var z,q,H=1,ee=new ue(U[0]);H<U.length;H++)q=new ue(U[H]),(!q.s||(z=A(ee,q))===G||z===0&&ee.s===G)&&(ee=q);return ee}function qe(U,G,z){for(var q=1,H=G.length;!G[--H];G.pop());for(H=G[0];H>=10;H/=10,q++);return(z=q+z*c-1)>W?U.c=U.e=null:z<Z?U.c=[U.e=0]:(U.e=z,U.c=G),U}w=function(){var U=/^(-?)0([xbo])(?=\w[\w.]*$)/i,G=/^([^.]+)\.$/,z=/^\.([^.]+)$/,q=/^-?(Infinity|NaN)$/,H=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(ee,ne,re,X){var ie,ce=re?ne:ne.replace(H,"");if(q.test(ce))ee.s=isNaN(ce)?null:ce<0?-1:1;else{if(!re&&(ce=ce.replace(U,function(fe,Ne,Pe){return ie=(Pe=Pe.toLowerCase())=="x"?16:Pe=="b"?2:8,!X||X==ie?Ne:fe}),X&&(ie=X,ce=ce.replace(G,"$1").replace(z,"0.$1")),ne!=ce))return new ue(ce,ie);if(ue.DEBUG)throw Error(i+"Not a"+(X?" base "+X:"")+" number: "+ne);ee.s=null}ee.c=ee.e=null}}();function Fe(U,G,z,q){var H,ee,ne,re,X,ie,ce,fe=U.c,Ne=l;if(fe){e:{for(H=1,re=fe[0];re>=10;re/=10,H++);if(ee=G-H,ee<0)ee+=c,ne=G,X=fe[ie=0],ce=s(X/Ne[H-ne-1]%10);else if(ie=n((ee+1)/c),ie>=fe.length)if(q){for(;fe.length<=ie;fe.push(0));X=ce=0,H=1,ee%=c,ne=ee-c+1}else break e;else{for(X=re=fe[ie],H=1;re>=10;re/=10,H++);ee%=c,ne=ee-c+H,ce=ne<0?0:s(X/Ne[H-ne-1]%10)}if(q=q||G<0||fe[ie+1]!=null||(ne<0?X:X%Ne[H-ne-1]),q=z<4?(ce||q)&&(z==0||z==(U.s<0?3:2)):ce>5||ce==5&&(z==4||q||z==6&&(ee>0?ne>0?X/Ne[H-ne]:0:fe[ie-1])%10&1||z==(U.s<0?8:7)),G<1||!fe[0])return fe.length=0,q?(G-=U.e+1,fe[0]=Ne[(c-G%c)%c],U.e=-G||0):fe[0]=U.e=0,U;if(ee==0?(fe.length=ie,re=1,ie--):(fe.length=ie+1,re=Ne[c-ee],fe[ie]=ne>0?s(X/Ne[H-ne]%Ne[ne])*re:0),q)for(;;)if(ie==0){for(ee=1,ne=fe[0];ne>=10;ne/=10,ee++);for(ne=fe[0]+=re,re=1;ne>=10;ne/=10,re++);ee!=re&&(U.e++,fe[0]==o&&(fe[0]=1));break}else{if(fe[ie]+=re,fe[ie]!=o)break;fe[ie--]=0,re=1}for(ee=fe.length;fe[--ee]===0;fe.pop());}U.e>W?U.c=U.e=null:U.e<Z&&(U.c=[U.e=0])}return U}function _e(U){var G,z=U.e;return z===null?U.toString():(G=h(U.c),G=z<=k||z>=B?y(G,z):x(G,z,"0"),U.s<0?"-"+G:G)}return N.absoluteValue=N.abs=function(){var U=new ue(this);return U.s<0&&(U.s=1),U},N.comparedTo=function(U,G){return A(this,new ue(U,G))},N.decimalPlaces=N.dp=function(U,G){var z,q,H,ee=this;if(U!=null)return g(U,0,f),G==null?G=M:g(G,0,8),Fe(new ue(ee),U+ee.e+1,G);if(!(z=ee.c))return null;if(q=((H=z.length-1)-m(this.e/c))*c,H=z[H])for(;H%10==0;H/=10,q--);return q<0&&(q=0),q},N.dividedBy=N.div=function(U,G){return C(this,new ue(U,G),L,M)},N.dividedToIntegerBy=N.idiv=function(U,G){return C(this,new ue(U,G),0,1)},N.exponentiatedBy=N.pow=function(U,G){var z,q,H,ee,ne,re,X,ie,ce,fe=this;if(U=new ue(U),U.c&&!U.isInteger())throw Error(i+"Exponent not an integer: "+_e(U));if(G!=null&&(G=new ue(G)),re=U.e>14,!fe.c||!fe.c[0]||fe.c[0]==1&&!fe.e&&fe.c.length==1||!U.c||!U.c[0])return ce=new ue(Math.pow(+_e(fe),re?U.s*(2-b(U)):+_e(U))),G?ce.mod(G):ce;if(X=U.s<0,G){if(G.c?!G.c[0]:!G.s)return new ue(NaN);q=!X&&fe.isInteger()&&G.isInteger(),q&&(fe=fe.mod(G))}else{if(U.e>9&&(fe.e>0||fe.e<-1||(fe.e==0?fe.c[0]>1||re&&fe.c[1]>=24e7:fe.c[0]<8e13||re&&fe.c[0]<=9999975e7)))return ee=fe.s<0&&b(U)?-0:0,fe.e>-1&&(ee=1/ee),new ue(X?1/ee:ee);j&&(ee=n(j/c+2))}for(re?(z=new ue(.5),X&&(U.s=1),ie=b(U)):(H=Math.abs(+_e(U)),ie=H%2),ce=new ue(P);;){if(ie){if(ce=ce.times(fe),!ce.c)break;ee?ce.c.length>ee&&(ce.c.length=ee):q&&(ce=ce.mod(G))}if(H){if(H=s(H/2),H===0)break;ie=H%2}else if(U=U.times(z),Fe(U,U.e+1,1),U.e>14)ie=b(U);else{if(H=+_e(U),H===0)break;ie=H%2}fe=fe.times(fe),ee?fe.c&&fe.c.length>ee&&(fe.c.length=ee):q&&(fe=fe.mod(G))}return q?ce:(X&&(ce=P.div(ce)),G?ce.mod(G):ee?Fe(ce,j,M,ne):ce)},N.integerValue=function(U){var G=new ue(this);return U==null?U=M:g(U,0,8),Fe(G,G.e+1,U)},N.isEqualTo=N.eq=function(U,G){return A(this,new ue(U,G))===0},N.isFinite=function(){return!!this.c},N.isGreaterThan=N.gt=function(U,G){return A(this,new ue(U,G))>0},N.isGreaterThanOrEqualTo=N.gte=function(U,G){return(G=A(this,new ue(U,G)))===1||G===0},N.isInteger=function(){return!!this.c&&m(this.e/c)>this.c.length-2},N.isLessThan=N.lt=function(U,G){return A(this,new ue(U,G))<0},N.isLessThanOrEqualTo=N.lte=function(U,G){return(G=A(this,new ue(U,G)))===-1||G===0},N.isNaN=function(){return!this.s},N.isNegative=function(){return this.s<0},N.isPositive=function(){return this.s>0},N.isZero=function(){return!!this.c&&this.c[0]==0},N.minus=function(U,G){var z,q,H,ee,ne=this,re=ne.s;if(U=new ue(U,G),G=U.s,!re||!G)return new ue(NaN);if(re!=G)return U.s=-G,ne.plus(U);var X=ne.e/c,ie=U.e/c,ce=ne.c,fe=U.c;if(!X||!ie){if(!ce||!fe)return ce?(U.s=-G,U):new ue(fe?ne:NaN);if(!ce[0]||!fe[0])return fe[0]?(U.s=-G,U):new ue(ce[0]?ne:M==3?-0:0)}if(X=m(X),ie=m(ie),ce=ce.slice(),re=X-ie){for((ee=re<0)?(re=-re,H=ce):(ie=X,H=fe),H.reverse(),G=re;G--;H.push(0));H.reverse()}else for(q=(ee=(re=ce.length)<(G=fe.length))?re:G,re=G=0;G<q;G++)if(ce[G]!=fe[G]){ee=ce[G]<fe[G];break}if(ee&&(H=ce,ce=fe,fe=H,U.s=-U.s),G=(q=fe.length)-(z=ce.length),G>0)for(;G--;ce[z++]=0);for(G=o-1;q>re;){if(ce[--q]<fe[q]){for(z=q;z&&!ce[--z];ce[z]=G);--ce[z],ce[q]+=o}ce[q]-=fe[q]}for(;ce[0]==0;ce.splice(0,1),--ie);return ce[0]?qe(U,ce,ie):(U.s=M==3?-1:1,U.c=[U.e=0],U)},N.modulo=N.mod=function(U,G){var z,q,H=this;return U=new ue(U,G),!H.c||!U.s||U.c&&!U.c[0]?new ue(NaN):!U.c||H.c&&!H.c[0]?new ue(H):(V==9?(q=U.s,U.s=1,z=C(H,U,0,3),U.s=q,z.s*=q):z=C(H,U,0,V),U=H.minus(z.times(U)),!U.c[0]&&V==1&&(U.s=H.s),U)},N.multipliedBy=N.times=function(U,G){var z,q,H,ee,ne,re,X,ie,ce,fe,Ne,Pe,Ue,Ke,Ye,Ze=this,nt=Ze.c,ct=(U=new ue(U,G)).c;if(!nt||!ct||!nt[0]||!ct[0])return!Ze.s||!U.s||nt&&!nt[0]&&!ct||ct&&!ct[0]&&!nt?U.c=U.e=U.s=null:(U.s*=Ze.s,!nt||!ct?U.c=U.e=null:(U.c=[0],U.e=0)),U;for(q=m(Ze.e/c)+m(U.e/c),U.s*=Ze.s,X=nt.length,fe=ct.length,X<fe&&(Ue=nt,nt=ct,ct=Ue,H=X,X=fe,fe=H),H=X+fe,Ue=[];H--;Ue.push(0));for(Ke=o,Ye=d,H=fe;--H>=0;){for(z=0,Ne=ct[H]%Ye,Pe=ct[H]/Ye|0,ne=X,ee=H+ne;ee>H;)ie=nt[--ne]%Ye,ce=nt[ne]/Ye|0,re=Pe*ie+ce*Ne,ie=Ne*ie+re%Ye*Ye+Ue[ee]+z,z=(ie/Ke|0)+(re/Ye|0)+Pe*ce,Ue[ee--]=ie%Ke;Ue[ee]=z}return z?++q:Ue.splice(0,1),qe(U,Ue,q)},N.negated=function(){var U=new ue(this);return U.s=-U.s||null,U},N.plus=function(U,G){var z,q=this,H=q.s;if(U=new ue(U,G),G=U.s,!H||!G)return new ue(NaN);if(H!=G)return U.s=-G,q.minus(U);var ee=q.e/c,ne=U.e/c,re=q.c,X=U.c;if(!ee||!ne){if(!re||!X)return new ue(H/0);if(!re[0]||!X[0])return X[0]?U:new ue(re[0]?q:H*0)}if(ee=m(ee),ne=m(ne),re=re.slice(),H=ee-ne){for(H>0?(ne=ee,z=X):(H=-H,z=re),z.reverse();H--;z.push(0));z.reverse()}for(H=re.length,G=X.length,H-G<0&&(z=X,X=re,re=z,G=H),H=0;G;)H=(re[--G]=re[G]+X[G]+H)/o|0,re[G]=o===re[G]?0:re[G]%o;return H&&(re=[H].concat(re),++ne),qe(U,re,ne)},N.precision=N.sd=function(U,G){var z,q,H,ee=this;if(U!=null&&U!==!!U)return g(U,1,f),G==null?G=M:g(G,0,8),Fe(new ue(ee),U,G);if(!(z=ee.c))return null;if(H=z.length-1,q=H*c+1,H=z[H]){for(;H%10==0;H/=10,q--);for(H=z[0];H>=10;H/=10,q++);}return U&&ee.e+1>q&&(q=ee.e+1),q},N.shiftedBy=function(U){return g(U,-u,u),this.times("1e"+U)},N.squareRoot=N.sqrt=function(){var U,G,z,q,H,ee=this,ne=ee.c,re=ee.s,X=ee.e,ie=L+4,ce=new ue("0.5");if(re!==1||!ne||!ne[0])return new ue(!re||re<0&&(!ne||ne[0])?NaN:ne?ee:1/0);if(re=Math.sqrt(+_e(ee)),re==0||re==1/0?(G=h(ne),(G.length+X)%2==0&&(G+="0"),re=Math.sqrt(+G),X=m((X+1)/2)-(X<0||X%2),re==1/0?G="5e"+X:(G=re.toExponential(),G=G.slice(0,G.indexOf("e")+1)+X),z=new ue(G)):z=new ue(re+""),z.c[0]){for(X=z.e,re=X+ie,re<3&&(re=0);;)if(H=z,z=ce.times(H.plus(C(ee,H,ie,1))),h(H.c).slice(0,re)===(G=h(z.c)).slice(0,re))if(z.e<X&&--re,G=G.slice(re-3,re+1),G=="9999"||!q&&G=="4999"){if(!q&&(Fe(H,H.e+L+2,0),H.times(H).eq(ee))){z=H;break}ie+=4,re+=4,q=1}else{(!+G||!+G.slice(1)&&G.charAt(0)=="5")&&(Fe(z,z.e+L+2,1),U=!z.times(z).eq(ee));break}}return Fe(z,z.e+L+1,M,U)},N.toExponential=function(U,G){return U!=null&&(g(U,0,f),U++),Ce(this,U,G,1)},N.toFixed=function(U,G){return U!=null&&(g(U,0,f),U=U+this.e+1),Ce(this,U,G)},N.toFormat=function(U,G,z){var q,H=this;if(z==null)U!=null&&G&&typeof G=="object"?(z=G,G=null):U&&typeof U=="object"?(z=U,U=G=null):z=J;else if(typeof z!="object")throw Error(i+"Argument not an object: "+z);if(q=H.toFixed(U,G),H.c){var ee,ne=q.split("."),re=+z.groupSize,X=+z.secondaryGroupSize,ie=z.groupSeparator||"",ce=ne[0],fe=ne[1],Ne=H.s<0,Pe=Ne?ce.slice(1):ce,Ue=Pe.length;if(X&&(ee=re,re=X,X=ee,Ue-=ee),re>0&&Ue>0){for(ee=Ue%re||re,ce=Pe.substr(0,ee);ee<Ue;ee+=re)ce+=ie+Pe.substr(ee,re);X>0&&(ce+=ie+Pe.slice(ee)),Ne&&(ce="-"+ce)}q=fe?ce+(z.decimalSeparator||"")+((X=+z.fractionGroupSize)?fe.replace(new RegExp("\\d{"+X+"}\\B","g"),"$&"+(z.fractionGroupSeparator||"")):fe):ce}return(z.prefix||"")+q+(z.suffix||"")},N.toFraction=function(U){var G,z,q,H,ee,ne,re,X,ie,ce,fe,Ne,Pe=this,Ue=Pe.c;if(U!=null&&(re=new ue(U),!re.isInteger()&&(re.c||re.s!==1)||re.lt(P)))throw Error(i+"Argument "+(re.isInteger()?"out of range: ":"not an integer: ")+_e(re));if(!Ue)return new ue(Pe);for(G=new ue(P),ie=z=new ue(P),q=X=new ue(P),Ne=h(Ue),ee=G.e=Ne.length-Pe.e-1,G.c[0]=l[(ne=ee%c)<0?c+ne:ne],U=!U||re.comparedTo(G)>0?ee>0?G:ie:re,ne=W,W=1/0,re=new ue(Ne),X.c[0]=0;ce=C(re,G,0,1),H=z.plus(ce.times(q)),H.comparedTo(U)!=1;)z=q,q=H,ie=X.plus(ce.times(H=ie)),X=H,G=re.minus(ce.times(H=G)),re=H;return H=C(U.minus(z),q,0,1),X=X.plus(H.times(ie)),z=z.plus(H.times(q)),X.s=ie.s=Pe.s,ee=ee*2,fe=C(ie,q,ee,M).minus(Pe).abs().comparedTo(C(X,z,ee,M).minus(Pe).abs())<1?[ie,q]:[X,z],W=ne,fe},N.toNumber=function(){return+_e(this)},N.toPrecision=function(U,G){return U!=null&&g(U,1,f),Ce(this,U,G,2)},N.toString=function(U){var G,z=this,q=z.s,H=z.e;return H===null?q?(G="Infinity",q<0&&(G="-"+G)):G="NaN":(U==null?G=H<=k||H>=B?y(h(z.c),H):x(h(z.c),H,"0"):U===10&&oe?(z=Fe(new ue(z),L+H+1,M),G=x(h(z.c),z.e,"0")):(g(U,2,se.length,"Base"),G=R(x(h(z.c),H,"0"),10,U,q,!0)),q<0&&z.c[0]&&(G="-"+G)),G},N.valueOf=N.toJSON=function(){return _e(this)},N._isBigNumber=!0,v!=null&&ue.set(v),ue}function m(v){var C=v|0;return v>0||v===C?C:C-1}function h(v){for(var C,R,w=1,N=v.length,P=v[0]+"";w<N;){for(C=v[w++]+"",R=c-C.length;R--;C="0"+C);P+=C}for(N=P.length;P.charCodeAt(--N)===48;);return P.slice(0,N+1||1)}function A(v,C){var R,w,N=v.c,P=C.c,L=v.s,M=C.s,k=v.e,B=C.e;if(!L||!M)return null;if(R=N&&!N[0],w=P&&!P[0],R||w)return R?w?0:-M:L;if(L!=M)return L;if(R=L<0,w=k==B,!N||!P)return w?0:!N^R?1:-1;if(!w)return k>B^R?1:-1;for(M=(k=N.length)<(B=P.length)?k:B,L=0;L<M;L++)if(N[L]!=P[L])return N[L]>P[L]^R?1:-1;return k==B?0:k>B^R?1:-1}function g(v,C,R,w){if(v<C||v>R||v!==s(v))throw Error(i+(w||"Argument")+(typeof v=="number"?v<C||v>R?" out of range: ":" not an integer: ":" not a primitive number: ")+String(v))}function b(v){var C=v.c.length-1;return m(v.e/c)==C&&v.c[C]%2!=0}function y(v,C){return(v.length>1?v.charAt(0)+"."+v.slice(1):v)+(C<0?"e":"e+")+C}function x(v,C,R){var w,N;if(C<0){for(N=R+".";++C;N+=R);v=N+v}else if(w=v.length,++C>w){for(N=R,C-=w;--C;N+=R);v+=N}else C<w&&(v=v.slice(0,C)+"."+v.slice(C));return v}e=p(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Xk<"u"&&Xk.exports?Xk.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(BMe)});var FMe=E((mqr,$Me)=>{var MMe=NV(),WMe=$Me.exports;(function(){"use strict";function t(u){return u<10?"0"+u:u}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,s,i={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function o(u){return r.lastIndex=0,r.test(u)?'"'+u.replace(r,function(l){var d=i[l];return typeof d=="string"?d:"\\u"+("0000"+l.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+u+'"'}function c(u,l){var d,f,p,m,h=n,A,g=l[u],b=g!=null&&(g instanceof MMe||MMe.isBigNumber(g));switch(g&&typeof g=="object"&&typeof g.toJSON=="function"&&(g=g.toJSON(u)),typeof a=="function"&&(g=a.call(l,u,g)),typeof g){case"string":return b?g:o(g);case"number":return isFinite(g)?String(g):"null";case"boolean":case"null":case"bigint":return String(g);case"object":if(!g)return"null";if(n+=s,A=[],Object.prototype.toString.apply(g)==="[object Array]"){for(m=g.length,d=0;d<m;d+=1)A[d]=c(d,g)||"null";return p=A.length===0?"[]":n?`[
`+n+A.join(`,
`+n)+`
`+h+"]":"["+A.join(",")+"]",n=h,p}if(a&&typeof a=="object")for(m=a.length,d=0;d<m;d+=1)typeof a[d]=="string"&&(f=a[d],p=c(f,g),p&&A.push(o(f)+(n?": ":":")+p));else Object.keys(g).forEach(function(y){var x=c(y,g);x&&A.push(o(y)+(n?": ":":")+x)});return p=A.length===0?"{}":n?`{
`+n+A.join(`,
`+n)+`
`+h+"}":"{"+A.join(",")+"}",n=h,p}}typeof WMe.stringify!="function"&&(WMe.stringify=function(u,l,d){var f;if(n="",s="",typeof d=="number")for(f=0;f<d;f+=1)s+=" ";else typeof d=="string"&&(s=d);if(a=l,l&&typeof l!="function"&&(typeof l!="object"||typeof l.length!="number"))throw new Error("JSON.stringify");return c("",{"":u})})})()});var qMe=E((hqr,UMe)=>{var Zk=null,snr=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,inr=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,anr=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var r,n,s={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
`,r:"\r",t:" "},i,a=function(h){throw{name:"SyntaxError",message:h,at:r,text:i}},o=function(h){return h&&h!==n&&a("Expected '"+h+"' instead of '"+n+"'"),n=i.charAt(r),r+=1,n},c=function(){var h,A="";for(n==="-"&&(A="-",o("-"));n>="0"&&n<="9";)A+=n,o();if(n===".")for(A+=".";o()&&n>="0"&&n<="9";)A+=n;if(n==="e"||n==="E")for(A+=n,o(),(n==="-"||n==="+")&&(A+=n,o());n>="0"&&n<="9";)A+=n,o();if(h=+A,!isFinite(h))a("Bad number");else return Zk==null&&(Zk=NV()),A.length>15?e.storeAsString?A:e.useNativeBigInt?BigInt(A):new Zk(A):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(h):new Zk(h):h},u=function(){var h,A,g="",b;if(n==='"')for(var y=r;o();){if(n==='"')return r-1>y&&(g+=i.substring(y,r-1)),o(),g;if(n==="\\"){if(r-1>y&&(g+=i.substring(y,r-1)),o(),n==="u"){for(b=0,A=0;A<4&&(h=parseInt(o(),16),!!isFinite(h));A+=1)b=b*16+h;g+=String.fromCharCode(b)}else if(typeof s[n]=="string")g+=s[n];else break;y=r}}a("Bad string")},l=function(){for(;n&&n<=" ";)o()},d=function(){switch(n){case"t":return o("t"),o("r"),o("u"),o("e"),!0;case"f":return o("f"),o("a"),o("l"),o("s"),o("e"),!1;case"n":return o("n"),o("u"),o("l"),o("l"),null}a("Unexpected '"+n+"'")},f,p=function(){var h=[];if(n==="["){if(o("["),l(),n==="]")return o("]"),h;for(;n;){if(h.push(f()),l(),n==="]")return o("]"),h;o(","),l()}}a("Bad array")},m=function(){var h,A=Object.create(null);if(n==="{"){if(o("{"),l(),n==="}")return o("}"),A;for(;n;){if(h=u(),l(),o(":"),e.strict===!0&&Object.hasOwnProperty.call(A,h)&&a('Duplicate key "'+h+'"'),snr.test(h)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?f():A[h]=f():inr.test(h)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?f():A[h]=f():A[h]=f(),l(),n==="}")return o("}"),A;o(","),l()}}a("Bad object")};return f=function(){switch(l(),n){case"{":return m();case"[":return p();case'"':return u();case"-":return c();default:return n>="0"&&n<="9"?c():d()}},function(h,A){var g;return i=h+"",r=0,n=" ",g=f(),l(),n&&a("Syntax error"),typeof A=="function"?function b(y,x){var v,C,R=y[x];return R&&typeof R=="object"&&Object.keys(R).forEach(function(w){C=b(R,w),C!==void 0?R[w]=C:delete R[w]}),A.call(y,x,R)}({"":g},""):g}};UMe.exports=anr});var QMe=E((gqr,eL)=>{var jMe=FMe().stringify,HMe=qMe();eL.exports=function(t){return{parse:HMe(t),stringify:jMe}};eL.exports.parse=HMe();eL.exports.stringify=jMe});function I5e(t){let e=t.match(/^S(\d+)$/i);if(e)return`S${String(parseInt(e[1])).padStart(2,"0")}`;let r=t.match(/^E(\d+)$/i);return r?`E${String(parseInt(r[1])).padStart(2,"0")}`:t}function T5e(t){return!t||typeof t!="string"?[]:t.split(",").map(e=>{let r=e.trim(),n=r.lastIndexOf(":");if(n===-1)return null;let s=r.substring(0,n),i=r.substring(n+1);if(!s||i==="")return null;let a=parseFloat(i);if(!Number.isFinite(a))return null;let o=!1,c=s.trim();c.endsWith("%")&&(o=!0,c=c.slice(0,-1).trim());let u=c.lastIndexOf("@"),l,d,f;if(u!==-1){l=c.substring(0,u);let g=c.substring(u+1).trim().toLowerCase();if(g==="all"||g==="*")d=null,f=!0;else if(d=g.split("&").map(b=>b.trim()).filter(Boolean),f=!1,d.length===0)return null}else l=c,d=null,f=!1;let p=l.trim().split("/"),m=p[0]||null;if(!m)return null;let h=p[1]?I5e(p[1]):null,A=p[2]?I5e(p[2]):null;return{anime:m,season:h,episode:A,sources:d,all:f,offset:a,usePercent:o}}).filter(Boolean)}function Ez(t,{anime:e,season:r,episode:n,source:s}){if(!Array.isArray(t)||t.length===0||!e)return null;let i=new Set;if(s)for(let o of s.split("&")){let c=o.trim().toLowerCase();c&&(i.add(c),C5e[c]&&i.add(C5e[c]))}let a=[{matchSeason:!0,matchEpisode:!0},{matchSeason:!0,matchEpisode:!1},{matchSeason:!1,matchEpisode:!1}];for(let o of a){let c=null,u=null,l=null;for(let d of t)if(d.anime===e){if(o.matchEpisode){if(!d.season||!d.episode||d.season!==r||d.episode!==n)continue}else if(o.matchSeason){if(!d.season||d.episode||d.season!==r)continue}else if(d.season||d.episode)continue;d.sources?i.size>0&&d.sources.some(f=>i.has(f))&&(c=d):d.all?u=d:l=d}if(c!==null)return c;if(u!==null)return u;if(l!==null)return l}return null}function _z(t,e,r={}){let n=Number(e);if(!n||!Array.isArray(t)||t.length===0)return t;let s=r?.usePercent===!0,i=Number(r?.videoDuration||0),a=m=>{if(!m||typeof m!="object")return null;if(typeof m.p=="string"){let h=m.p.split(","),A=parseFloat(h[0]);if(Number.isFinite(A))return A}if(m.t!==void 0&&m.t!==null){let h=Number(m.t);if(Number.isFinite(h))return h}if(m.progress!==void 0&&m.progress!==null){let h=Number(m.progress);if(Number.isFinite(h))return h/1e3}if(m.timepoint!==void 0&&m.timepoint!==null){let h=Number(m.timepoint);if(Number.isFinite(h))return h}return null},o=i>0?i:a(t[t.length-1])||0,c=s&&Number.isFinite(o)&&o>0?(o+n)/o:null;if(s&&c===null)return t;let u=n*1e3,l=m=>Math.max(0,m),d=(m,h=2)=>Number(m.toFixed(h)),f=m=>{let h=l(c!==null?m*c:m+n);return c!==null?d(h,2):h},p=m=>{let h=l(c!==null?m*c:m+u);return c!==null?Math.round(h):h};return t.map(m=>{if(!m||typeof m!="object")return m;let h={...m};if(typeof h.p=="string"){let A=h.p.split(","),g=parseFloat(A[0]);Number.isFinite(g)&&(A[0]=f(g).toFixed(2),h.p=A.join(","))}if(h.t!==void 0&&h.t!==null){let A=Number(h.t);Number.isFinite(A)&&(h.t=f(A))}if(h.progress!==void 0&&h.progress!==null){let A=Number(h.progress);Number.isFinite(A)&&(h.progress=p(A))}if(h.timepoint!==void 0&&h.timepoint!==null){let A=Number(h.timepoint);Number.isFinite(A)&&(h.timepoint=f(A))}return h})}var C5e,Sz=dr(()=>{C5e={tencent:"qq",iqiyi:"qiyi",bilibili:"bilibili1"}});var sf,w5e=dr(()=>{Sz();sf=class{static env;static originalEnvVars=new Map;static accessedEnvVars=new Map;static VOD_ALLOWED_PLATFORMS=["qiyi","bilibili1","imgo","youku","qq","migu","sohu","leshi","xigua","maiduidui","aiyifan"];static ALLOWED_PLATFORMS=["qiyi","bilibili1","imgo","youku","qq","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko","custom"];static ALLOWED_SOURCES=["360","vod","tmdb","douban","tencent","youku","iqiyi","imgo","bilibili","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko","custom"];static MERGE_ALLOWED_SOURCES=["tencent","youku","iqiyi","imgo","bilibili","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko"];static DEFAULT_AI_MATCH_PROMPT=`\u4F60\u662F\u4E00\u4E2A\u4E13\u4E1A\u7684\u5F71\u89C6\u5339\u914D\u4E13\u5BB6\uFF0C\u4F60\u7684\u7684\u4EFB\u52A1\u662F\u6839\u636E\u7528\u6237\u63D0\u4F9B\u7684 JSON \u6570\u636E\uFF0C\u4ECE\u5019\u9009\u52A8\u6F2B\u5217\u8868\u4E2D\u5339\u914D\u6700\u7B26\u5408\u6761\u4EF6\u7684\u52A8\u6F2B\u53CA\u96C6\u6570\u3002
\u8F93\u5165\u5B57\u6BB5\u8BF4\u660E\uFF1A
- title: \u67E5\u8BE2\u6807\u9898
- season: \u5B63\u6570\uFF08\u53EF\u4E3A null\uFF09
- episode: \u96C6\u6570\uFF08\u53EF\u4E3A null\uFF09
- year: \u5E74\u4EFD\uFF08\u53EF\u4E3A null\uFF09
- dynamicPlatformOrder: \u5E73\u53F0\u504F\u597D\u5217\u8868\uFF08\u53EF\u4E3A null\uFF09
- preferAnimeId: \u504F\u597D\u52A8\u6F2B ID\uFF08\u53EF\u4E3A null\uFF09
- animes: \u5019\u9009\u52A8\u6F2B\u5217\u8868
- animeId: \u52A8\u6F2Bid
animeTitle: \u52A8\u6F2B\u6807\u9898\uFF0C(\u5E74\u4EFD)\u524D\u9762\u624D\u662F\u771F\u5B9E\u7684\u6807\u9898
aliases: \u52A8\u6F2B\u6807\u9898\u7684\u522B\u540D\uFF0C\u89C6\u60C5\u51B5\u53EF\u4EE5\u4F5C\u4E3A(\u52A8\u6F2B\u6807\u9898)\u770B\u5F85
type: \u7C7B\u578B
startDate: \u53D1\u5E03\u65E5\u671F\uFF0C\u6709\u5E74\u4EFD
episodeCount: \u603B\u96C6\u6570
source: \u5F39\u5E55\u6765\u6E90
\u5339\u914D\u89C4\u5219 (\u6309\u4F18\u5148\u7EA7\u6392\u5E8F):
1. \u5982\u679CpreferAnimeId\u975E\u7A7A\uFF0C\u4E14animes\u5B58\u5728\u8BE5animeId\uFF0C\u5219\u8FD4\u56DE\u8BE5id\u5BF9\u5E94\u7684anime\u548Cepisode
2. \u6807\u9898\u76F8\u4F3C\u5EA6: \u4F18\u5148\u5339\u914D\u6807\u9898\u76F8\u4F3C\u5EA6\u6700\u9AD8\u7684\u6761\u76EE
3. \u5B63\u5EA6\u4E25\u683C\u5339\u914D: \u5982\u679C\u6307\u5B9A\u4E86\u5B63\u5EA6,\u5FC5\u987B\u4E25\u683C\u5339\u914D
4. \u7C7B\u578B\u5339\u914D: episode\u4E3A\u7A7A\u5219\u4F18\u5148\u5339\u914D\u7535\u5F71\uFF0C\u975E\u7A7A\u5219\u5339\u914D\u7535\u89C6\u5267\u7B49
5. \u5E74\u4EFD\u63A5\u8FD1: \u4F18\u5148\u9009\u62E9\u5E74\u4EFD\u63A5\u8FD1\u7684
6. \u5E73\u53F0\u5339\u914D\uFF1A\u5982\u679C\u6709\u591A\u4E2A\u9AD8\u5EA6\u76F8\u4F3C\u7684\u7ED3\u679C\u4E14dynamicPlatformOrder\u975E\u7A7A\uFF0C\u5219\u4ECE\u524D\u5F80\u540E\u9009\u62E9\u76F8\u5BF9\u5E94\u7684\u5E73\u53F0
7. \u96C6\u6570\u5B8C\u6574: \u5982\u679C\u6709\u591A\u4E2A\u9AD8\u5EA6\u76F8\u4F3C\u7684\u7ED3\u679C,\u9009\u62E9\u96C6\u6570\u6700\u5B8C\u6574\u7684
\u8BF7\u5206\u6790\u54EA\u4E2A\u52A8\u6F2B\u6700\u7B26\u5408\u67E5\u8BE2\u6761\u4EF6\uFF0C\u5982\u679C\u6307\u5B9A\u4E86\u5B63\u6570\u548C\u96C6\u6570\uFF0C\u8BF7\u4E5F\u8FD4\u56DE\u5BF9\u5E94\u7684\u96C6\u4FE1\u606F\u3002
\u8BF7\u4E25\u683C\u6309\u7167\u4EE5\u4E0B JSON \u683C\u5F0F\u8FD4\u56DE\u7ED3\u679C\uFF0C\u4E0D\u8981\u5305\u542B\u4EFB\u4F55\u5176\u4ED6\u5185\u5BB9\uFF1A
{
"animeIndex": \u5339\u914D\u7684\u52A8\u6F2B\u5728\u5217\u8868\u4E2D\u7684\u7D22\u5F15(\u4ECE0\u5F00\u59CB) \u6216 null
}
\u5982\u679C\u6CA1\u6709\u627E\u5230\u5408\u9002\u7684\u5339\u914D\uFF0C\u8FD4\u56DE\uFF1A
{
"animeIndex": null
}`;static get(e,r,n="string",s=!1){let i;typeof this.env<"u"&&this.env[e]?(i=this.env[e],this.originalEnvVars.set(e,i)):typeof process<"u"&&process.env?.[e]?(i=process.env[e],this.originalEnvVars.set(e,i)):(i=r,this.originalEnvVars.set(e,""));let a;switch(n){case"number":if(a=Number(i),isNaN(a))throw new Error(`Environment variable ${e} must be a valid number`);break;case"boolean":a=i===!0||i==="true"||i===1||i==="1";break;case"string":default:a=String(i);break}let o=s?this.encryptStr(a):a;return this.accessedEnvVars.set(e,o),a}static set(e,r){typeof process<"u"&&(process.env[e]=String(r)),this.accessedEnvVars.set(e,r)}static encryptStr(e){return"*".repeat(e.length)}static resolveVodServers(){let r=this.get("VOD_SERVERS","\u91D1\u8749@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,\u542C\u98CE@https://gctf.tfdh.top","string");return!r||r.trim()===""?[]:r.split(",").map(n=>n.trim()).filter(n=>n.length>0).map((n,s)=>{if(n.includes("@")){let[i,a]=n.split("@").map(o=>o.trim());return{name:i||`vod-${s+1}`,url:a}}return{name:`vod-${s+1}`,url:n}}).filter(n=>n.url&&n.url.length>0)}static resolveSourceOrder(){let r=this.get("SOURCE_ORDER","douban,360,renren,hanjutv","string").split(",").map(n=>n.trim()).filter(n=>this.ALLOWED_SOURCES.includes(n));return this.accessedEnvVars.set("SOURCE_ORDER",r),r.length>0?r:["douban","360","renren","hanjutv"]}static resolvePlatformOrder(){let r=this.get("PLATFORM_ORDER","","string").split(",").map(n=>n.trim()).filter(n=>n?n.includes("&")?n.split("&").map(i=>i.trim()).every(i=>this.ALLOWED_PLATFORMS.includes(i)):this.ALLOWED_PLATFORMS.includes(n):!1);return this.accessedEnvVars.set("PLATFORM_ORDER",r),r.length>0?[...r,null]:[null]}static resolveMergeSourcePairs(){let e=this.get("MERGE_SOURCE_PAIRS","","string");return e?e.split(/[,;]/).map(r=>{if(!r)return null;let n=r.split("&").map(o=>o.trim()).filter(o=>o);if(n.length<1)return null;let s=n[0],i=n.slice(1);if(!this.MERGE_ALLOWED_SOURCES.includes(s))return null;let a=i.filter(o=>o!==s&&this.MERGE_ALLOWED_SOURCES.includes(o));return{primary:s,secondaries:a}}).filter(Boolean):[]}static resolveCustomMergeRules(){let e=this.get("CUSTOM_MERGE_RULES","","string").trim();if(!e)return[];let r=[],n=e.split(";");for(let s of n)if(s.trim())try{let i=s.split("|"),a=i[0],o=i[1]||"",c,u,l="merge";if(a.includes("->"))[c,u]=a.split("->").map(A=>A.trim());else if(a.includes("\xD7"))[c,u]=a.split("\xD7").map(A=>A.trim()),l="block";else continue;if(!c||!u)continue;let d=A=>{let g=A.match(/^(.+?)(?:\/S(\d+))?@([a-zA-Z0-9_&]+)$/i);return g?{title:g[1].trim(),season:g[2]?parseInt(g[2],10):null,source:g[3].toLowerCase()}:null},f=d(c),p=d(u);if(!f||!p)continue;let m=[],h=!1;if(l==="merge"&&o.trim()){h=!0;let A=o.split(",");for(let g of A){if(!g.trim())continue;let[b,y]=g.split(">").map(R=>R.trim());if(!b||!y)continue;let x=R=>{let w=R.match(/^E(\d+)(?:~E(\d+))?$/i);return w?{start:parseInt(w[1],10),end:w[2]?parseInt(w[2],10):parseInt(w[1],10)}:null},v=x(b),C=x(y);v&&C&&m.push({sec:v,prim:C})}}r.push({action:l,secondary:f,primary:p,routes:m,hasRoutes:h})}catch(i){console.warn(`[Envs] \u89E3\u6790\u5408\u5E76\u6620\u5C04\u8868\u89C4\u5219\u5931\u8D25: ${s}`,i)}return this.accessedEnvVars.set("CUSTOM_MERGE_RULES",e),r}static resolveEpisodeTitleFilter(){let e="(\u7279\u522B|\u60CA\u559C|\u7EB3\u51C9)?\u4F01\u5212(?!(\u4E66|\u6848|\u90E8))|\u5408\u4F19\u4EBA\u624B\u8BB0|\u8D85\u524D(\u8425\u4E1A|vlog)?|\u901F\u89C8|vlog|(?<!(Chain|Chemical|Nuclear|\u8FDE\u9501|\u5316\u5B66|\u6838|\u751F\u5316|\u751F\u7406|\u5E94\u6FC0))reaction|(?<!(\u5355))\u7EAF\u4EAB|\u52A0\u66F4(\u7248|\u7BC7)?|\u62A2\u5148(\u770B|\u7248|\u96C6|\u7BC7)?|(?<!(\u88AB|\u4E89|\u8C01))\u62A2[\u5148\u9C9C](?!(\u4E00\u6B65|\u624B|\u653B|\u4E86|\u544A|\u8A00|\u673A|\u8BDD))|\u62A2\u9C9C|\u9884\u544A(?!(\u51FD|\u4FE1|\u4E66|\u72AF))|(?<!(\u6B7B\u4EA1|\u6050\u6016|\u7075\u5F02|\u602A\u8C08))\u82B1\u7D6E(\u72EC\u5BB6)?|(?<!(\u4E00|\u76F4))\u76F4\u62CD|(\u5236\u4F5C|\u62CD\u6444|\u5E55\u540E|\u82B1\u7D6E|\u672A\u64AD|\u72EC\u5BB6|\u6F14\u5458|\u5BFC\u6F14|\u4E3B\u521B|\u6740\u9752|\u63A2\u73ED|\u6536\u5B98|\u5F00\u64AD|\u5148\u5BFC|\u5F69\u86CB|NG|\u56DE\u987E|\u9AD8\u5149|\u4E2A\u4EBA|\u4E3B\u521B)\u7279\u8F91|(?<!(\u884C\u52A8|\u8BA1\u5212|\u6E38\u620F|\u4EFB\u52A1|\u5371\u673A|\u795E\u79D8|\u9EC4\u91D1))\u5F69\u86CB|(?<!(\u5ACC\u7591\u4EBA|\u8BC1\u4EBA|\u5BB6\u5C5E|\u5F8B\u5E08|\u8B66\u65B9|\u51F6\u624B|\u6B7B\u8005))\u4E13\u8BBF|(?<!(\u8BC1\u4EBA))\u91C7\u8BBF(?!(\u5438\u8840\u9B3C|\u9B3C))|(\u6B63\u5F0F|\u89D2\u8272|\u5148\u5BFC|\u6982\u5FF5|\u9996\u66DD|\u5B9A\u6863|\u5267\u60C5|\u52A8\u753B|\u5BA3\u4F20|\u4E3B\u9898\u66F2|\u5370\u8C61)[\\s\\.]*[Pp\uFF30\uFF50][Vv\uFF36\uFF56]|(?<!(\u9E26|\u96EA|\u7EB8|\u76F8|\u7167|\u56FE|\u540D|\u5927))\u7247\u82B1|(?<!(\u9000\u5C45|\u56DE\u5F52|\u8D70\u5411|\u8F6C\u6218|\u9690\u8EAB|\u85CF\u8EAB|\u7684))\u5E55\u540E(?!(\u4E3B\u8C0B|\u4E3B\u4F7F|\u9ED1\u624B|\u771F\u51F6|\u73A9\u5BB6|\u8001\u677F|\u91D1\u4E3B|\u82F1\u96C4|\u529F\u81E3|\u63A8\u624B|\u5927\u4F6C|\u64CD\u7EB5|\u4EA4\u6613|\u7B56\u5212|\u535A\u5F08|BOSS|\u771F\u76F8))(\u6545\u4E8B|\u82B1\u7D6E|\u72EC\u5BB6)?|\u884D\u751F(?!(\u54C1|\u7269|\u517D))|\u756A\u5916(?!(\u5730|\u4EBA))|\u76F4\u64AD(\u966A\u770B|\u56DE\u987E)?|\u76F4\u64AD(?!(.*(\u4E8B\u4EF6|\u6740\u4EBA|\u81EA\u6740|\u8C0B\u6740|\u72AF\u7F6A|\u73B0\u573A|\u6E38\u620F|\u6311\u6218)))|\u672A\u64AD(\u7247\u6BB5)?|\u4F1A\u5458(\u4E13\u4EAB|\u52A0\u957F|\u5C0A\u4EAB|\u4E13\u5C5E|\u7248)?|(?<!(\u63D0\u53D6|\u5438\u6536|\u751F\u547D|\u9B54\u6CD5|\u4FEE\u62A4|\u7F8E\u767D))\u7CBE\u534E|\u770B\u70B9|\u901F\u770B|\u89E3\u8BFB(?!.*(\u5BC6\u6587|\u5BC6\u7801|\u5BC6\u7535|\u7535\u62A5|\u6863\u6848|\u4E66\u4FE1|\u9057\u4E66|\u7891\u6587|\u4EE3\u7801|\u4FE1\u53F7|\u6697\u53F7|\u8BAF\u606F|\u8C1C\u9898|\u4EBA\u5FC3|\u5507\u8BED|\u771F\u76F8|\u8C1C\u56E2|\u68A6\u5883))|(?<!(\u6848\u60C5|\u4EBA\u751F|\u6B7B\u524D|\u5386\u53F2|\u4E16\u7EAA))\u56DE\u987E|\u5F71\u8BC4|\u89E3\u8BF4|\u5410\u69FD|(?<!(\u5E74\u7EC8|\u5B63\u5EA6|\u5E93\u5B58|\u8D44\u4EA7|\u7269\u8D44|\u8D22\u52A1|\u6536\u83B7|\u6218\u5229))\u76D8\u70B9|\u62CD\u6444\u82B1\u7D6E|\u5236\u4F5C\u82B1\u7D6E|\u5E55\u540E\u82B1\u7D6E|\u672A\u64AD\u82B1\u7D6E|\u72EC\u5BB6\u82B1\u7D6E|\u82B1\u7D6E\u7279\u8F91|\u5148\u5BFC\u9884\u544A|\u7EC8\u6781\u9884\u544A|\u6B63\u5F0F\u9884\u544A|\u5B98\u65B9\u9884\u544A|\u5F69\u86CB\u7247\u6BB5|\u5220\u51CF\u7247\u6BB5|\u672A\u64AD\u7247\u6BB5|\u756A\u5916\u5F69\u86CB|\u7CBE\u5F69\u7247\u6BB5|\u7CBE\u5F69\u770B\u70B9|\u7CBE\u5F69\u96C6\u9526|\u770B\u70B9\u89E3\u6790|\u770B\u70B9\u9884\u544A|NG\u955C\u5934|NG\u82B1\u7D6E|\u756A\u5916\u7BC7|\u756A\u5916\u7279\u8F91|\u5236\u4F5C\u7279\u8F91|\u62CD\u6444\u7279\u8F91|\u5E55\u540E\u7279\u8F91|\u5BFC\u6F14\u7279\u8F91|\u6F14\u5458\u7279\u8F91|\u7247\u5C3E\u66F2|(?<!(\u751F\u547D|\u751F\u6D3B|\u60C5\u611F|\u7231\u60C5|\u4E00\u6BB5|\u5C0F|\u610F\u5916))\u63D2\u66F2|\u9AD8\u5149\u56DE\u987E|\u80CC\u666F\u97F3\u4E50|OST|\u97F3\u4E50MV|\u6B4C\u66F2MV|\u524D\u5B63\u56DE\u987E|\u5267\u60C5\u56DE\u987E|\u5F80\u671F\u56DE\u987E|\u5185\u5BB9\u603B\u7ED3|\u5267\u60C5\u76D8\u70B9|\u7CBE\u9009\u5408\u96C6|\u526A\u8F91\u5408\u96C6|\u6DF7\u526A\u89C6\u9891|\u72EC\u5BB6\u4E13\u8BBF|\u6F14\u5458\u8BBF\u8C08|\u5BFC\u6F14\u8BBF\u8C08|\u4E3B\u521B\u8BBF\u8C08|\u5A92\u4F53\u91C7\u8BBF|\u53D1\u5E03\u4F1A\u91C7\u8BBF|\u966A\u770B(\u8BB0)?|\u8BD5\u770B\u7248|\u77ED\u5267|\u7CBE\u7F16|(?<!(Love|Disney|One|C|Note|S\\d+|\\+|&|\\s))Plus|\u72EC\u5BB6\u7248|(?<!(\u5BFC\u6F14|\u52A0\u957F|\u5468\u5E74))\u7279\u522B\u7248(?!(\u56FE|\u753B))|\u77ED\u7247|(?<!(\u65B0\u95FB|\u7D27\u6025|\u4E34\u65F6|\u53EC\u5F00|\u7834\u574F|\u5927\u95F9|\u6F84\u6E05|\u9053\u6B49|\u65B0\u54C1|\u4EA7\u54C1|\u4E8B\u6545))\u53D1\u5E03\u4F1A|\u89E3\u5FE7\u5C40|\u8D70\u5FC3\u5C40|\u706B\u9505\u5C40|\u5DC5\u5CF0\u65F6\u523B|\u575E\u91CC\u90FD\u77E5\u9053|\u798F\u6301\u76EE\u6807\u575E\u6C11|\u798F\u5229(?!(\u9662|\u4F1A|\u4E3B\u4E49|\u8BFE))\u7BC7|(\u798F\u5229|\u52A0\u66F4|\u756A\u5916|\u5F69\u86CB|\u884D\u751F|\u7279\u522B|\u6536\u5B98|\u6E38\u620F|\u6574\u86CA|\u65E5\u5E38)\u7BC7|\u72EC\u5BB6(?!(\u8BB0\u5FC6|\u8BD5\u7231|\u62A5\u9053|\u79D8\u65B9|\u5360\u6709|\u5BA0\u7231|\u6069\u5BA0))|.{2,}(?<!(\u5E02|\u5206|\u8B66|\u603B|\u7701|\u536B|\u836F|\u653F|\u76D1|\u7ED3|\u5927|\u5F00|\u7834|\u5E03|\u50F5|\u56F0|\u9A97|\u8D4C|\u80DC|\u8D25|\u5B9A|\u4E71|\u5371|\u8FF7|\u8C1C|\u5165|\u6405|\u8BBE|\u4E2D|\u6B8B|\u5E73|\u548C|\u7EC8|\u53D8|\u5BF9|\u5B89|\u505A|\u4E66|\u753B|\u5BDF|\u52A1|\u6848|\u901A|\u4FE1|\u80B2|\u5546|\u8C61|\u6E90|\u4E1A|\u51B0))\u5C40(?!(\u957F|\u5EA7|\u52BF|\u9762|\u90E8|\u5185|\u5916|\u4E2D|\u9650|\u4FC3|\u6C14))|(?<!(\u91CD\u75C7|\u9694\u79BB|\u5B9E\u9A8C|\u5FC3\u7406|\u5BA1\u8BAF|\u5355\u5411|\u672F\u540E))\u89C2\u5BDF\u5BA4|\u4E0A\u73ED\u90A3\u70B9\u4E8B\u513F|\u5468top|\u8D5B\u6BB5|VLOG|(?<!(\u5927\u6848|\u8981\u6848|\u5211\u4FA6|\u4FA6\u67E5|\u7834\u6848|\u6863\u6848|\u98CE\u4E91|\u5386\u53F2|\u6218\u4E89|\u63A2\u6848|\u81EA\u7136|\u4EBA\u6587|\u79D1\u5B66|\u533B\u5B66|\u5730\u7406|\u5B87\u5B99|\u8D5B\u4E8B|\u4E16\u754C\u676F|\u5965\u8FD0))\u5168\u7EAA\u5F55|\u5F00\u64AD|\u5148\u5BFC|\u603B\u5BA3|\u5C55\u6F14|\u96C6\u9526|\u65C5\u884C\u65E5\u8BB0|\u7CBE\u5F69\u5206\u4EAB|\u5267\u60C5\u63ED\u79D8(?!(\u8005|\u4EBA))|(?:^|\u3011\\s*|\\]\\s*)(?:[SC]|SP|OP|ED|PV)\\d+(?:[\\s:\uFF1A\\.\\-]|$)",n=this.get("EPISODE_TITLE_FILTER","","string",!1).trim()||e;this.accessedEnvVars.set("EPISODE_TITLE_FILTER",n);try{return new RegExp(`^(.*?)(?:${n})(.*?)$`,"i")}catch{return console.warn("Invalid EPISODE_TITLE_FILTER format, using default."),new RegExp(`^(.*?)(?:${e})(.*?)$`,"i")}}static resolveIpBlacklist(){let e=this.get("IP_BLACKLIST","","string",!1).trim();if(!e)return this.accessedEnvVars.set("IP_BLACKLIST",[]),[];let r=e.split(/[\n,;]+/).map(s=>s.trim()).filter(Boolean),n=[];for(let s of r)try{if(s.startsWith("/")&&s.lastIndexOf("/")>0){let a=s.lastIndexOf("/"),o=s.slice(1,a),c=s.slice(a+1);n.push({type:"regex",value:new RegExp(o,c)});continue}if(s.includes("/")){let[a,o]=s.split("/").map(d=>d.trim()),c=Number(o),u=this.isValidIpv4(a),l=this.isValidIpv6(a);if(Number.isInteger(c)){if(u&&c>=0&&c<=32){n.push({type:"cidr",ip:a,prefix:c});continue}if(l&&c>=0&&c<=128){n.push({type:"cidr",ip:a,prefix:c});continue}}}if(this.isValidIpv4(s)||this.isValidIpv6(s)){n.push({type:"exact",value:s});continue}let i=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");n.push({type:"regex",value:new RegExp(`^${i}$`)})}catch{console.warn(`Invalid IP_BLACKLIST entry: ${s}, skipped.`)}return this.accessedEnvVars.set("IP_BLACKLIST",r),n}static isValidIpv4(e){if(!e||typeof e!="string")return!1;let r=e.split(".");return r.length!==4?!1:r.every(n=>{if(!/^(\d{1,3})$/.test(n))return!1;let s=Number(n);return s>=0&&s<=255})}static isValidIpv6(e){if(!e||typeof e!="string")return!1;let r=e.trim();if(!r.includes(":"))return!1;let[n,s]=r.split("::");if(r.split("::").length>2)return!1;let i=n?n.split(":").filter(Boolean):[],a=s?s.split(":").filter(Boolean):[],o=d=>{if(d.length===0)return d;let f=d[d.length-1];if(!f.includes("."))return d;if(!this.isValidIpv4(f))return null;let p=f.split(".").map(A=>Number(A)),m=(p[0]<<8|p[1]).toString(16),h=(p[2]<<8|p[3]).toString(16);return[...d.slice(0,-1),m,h]},c=o(i);if(!c||(a=o(a),!a)||c.length+a.length>8)return!1;let l=d=>/^[0-9a-fA-F]{1,4}$/.test(d);return!(!c.every(l)||!a.every(l))}static resolveAnimeTitleFilter(){let e=this.get("ANIME_TITLE_FILTER","","string",!1).trim();if(!e)return this.accessedEnvVars.set("ANIME_TITLE_FILTER",""),null;this.accessedEnvVars.set("ANIME_TITLE_FILTER",e);try{return new RegExp(`^(.*?)(?:${e})(.*?)$`,"i")}catch{return console.warn("Invalid ANIME_TITLE_FILTER format, returning null."),null}}static getOriginalEnvVars(){return this.originalEnvVars}static resolveTitleMappingTable(){let e=this.get("TITLE_MAPPING_TABLE","","string").trim(),r=new Map;if(!e)return r;let n=e.split(";");for(let s of n)if(s.includes("->")){let[i,a]=s.split("->").map(o=>o.trim());i&&a&&r.set(i,a)}return r}static getAccessedEnvVars(){return this.accessedEnvVars}static load(e={}){this.env=e;let r={TOKEN:{category:"api",type:"text",description:"API\u8BBF\u95EE\u4EE4\u724C"},ADMIN_TOKEN:{category:"api",type:"text",description:"\u7CFB\u7EDF\u7BA1\u7406\u8BBF\u95EE\u4EE4\u724C"},RATE_LIMIT_MAX_REQUESTS:{category:"api",type:"number",description:"\u9650\u6D41\u914D\u7F6E\uFF1A1\u5206\u949F\u5185\u6700\u5927\u8BF7\u6C42\u6B21\u6570\uFF0C0\u8868\u793A\u4E0D\u9650\u6D41\uFF0C\u9ED8\u8BA43",min:0,max:50},SOURCE_ORDER:{category:"source",type:"multi-select",options:this.ALLOWED_SOURCES,description:"\u6E90\u6392\u5E8F\u914D\u7F6E\uFF0C\u9ED8\u8BA4douban,360,renren,hanjutv"},MERGE_SOURCE_PAIRS:{category:"source",type:"multi-select",options:this.MERGE_ALLOWED_SOURCES,description:`\u6E90\u5408\u5E76\u914D\u7F6E\uFF0C\u914D\u7F6E\u540E\u5C06\u5BF9\u5E94\u6E90\u5408\u5E76\u540C\u65F6\u4E00\u8D77\u83B7\u53D6\u5F39\u5E55\u8FD4\u56DE\uFF0C\u5141\u8BB8\u591A\u7EC4\uFF0C\u5141\u8BB8\u591A\u6E90\uFF0C\u5141\u8BB8\u586B\u5355\u6E90\u8868\u793A\u4FDD\u7559\u539F\u7ED3\u679C\uFF0C\u4E00\u7EC4\u4E2D\u7B2C\u4E00\u4E2A\u4E3A\u4E3B\u6E90\u5176\u4F59\u4E3A\u526F\u6E90\uFF0C\u526F\u6E90\u5F80\u4E3B\u6E90\u5408\u5E76\uFF0C\u4E3B\u6E90\u5982\u679C\u6CA1\u6709\u7ED3\u679C\u4F1A\u8F6E\u66FF\u4E0B\u4E00\u4E2A\u4F5C\u4E3A\u4E3B\u6E90\u3002
\u683C\u5F0F\uFF1A\u6E901&\u6E902&\u6E903 \uFF0C\u591A\u7EC4\u7528\u9017\u53F7\u5206\u9694\u3002
\u793A\u4F8B\uFF1Adandan&animeko&bahamut,bilibili&animeko,dandan`},CUSTOM_MERGE_RULES:{category:"source",type:"text",sources:this.MERGE_ALLOWED_SOURCES,description:`\u5408\u5E76\u6620\u5C04\u8868\uFF0C\u7528\u4E8E\u81EA\u5B9A\u4E49\u6E90\u5408\u5E76\u884C\u4E3A\u3002
\u683C\u5F0F1(\u5408\u5E76)\uFF1A\u526F\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90 -> \u4E3B\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90 | E\u526F\u6E90\u96C6\u6570>E\u4E3B\u6E90\u96C6\u6570
\u683C\u5F0F2(\u963B\u65AD)\uFF1A\u526F\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90 \xD7 \u4E3B\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90
\u8BF4\u660E\uFF1A[/S\u5B63\u6570] \u4E0E [|\u8DEF\u7531\u89C4\u5219] \u4E3A\u53EF\u9009\u9879\uFF0C\u7559\u7A7A\u5219\u4EA4\u7531\u7A0B\u5E8F\u5224\u65AD\u3002\u591A\u4E2A\u89C4\u5219\u7528\u5206\u53F7\u9694\u5F00\uFF0C\u591A\u6BB5\u8DEF\u7531\u7528\u9017\u53F7\u5206\u9694\u3002
\u793A\u4F8B\uFF1A
1. \u5E38\u89C4\u5408\u5E76\uFF1A\u5929\u6C14\u4E4B\u5B50@bilibili -> \u5929\u6C14\u4E4B\u5B50@dandan
2. \u591A\u96C6\u8DEF\u7531\uFF1A\u6211\u63A8\u7684\u5B69\u5B50/S01@bahamut -> \u6211\u63A8\u7684\u5B69\u5B50/S03@dandan | E25~E35>E25~E35
3. \u963B\u65AD\u5408\u5E76\uFF1A\u8F89\u591C\u5927\u5C0F\u59D0\u60F3\u8BA9\u6211\u544A\u767D\uFF1F\uFF5E\u5929\u624D\u4EEC\u7684\u604B\u7231\u5934\u8111\u6218\uFF5E(2020)@bilibili \xD7 \u8F89\u591C\u5927\u5C0F\u59D0\u60F3\u8BA9\u6211\u544A\u767D\uFF5E\u5929\u624D\u4EEC\u7684\u604B\u7231\u5934\u8111\u6218\uFF5E OVA(2021)\u3010OVA\u3011@dandan`},OTHER_SERVER:{category:"source",type:"text",description:"\u7B2C\u4E09\u65B9\u5F39\u5E55\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4https://api.danmu.icu"},CUSTOM_SOURCE_API_URL:{category:"source",type:"text",description:"\u81EA\u5B9A\u4E49\u5F39\u5E55\u6E90API\u5730\u5740\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A\uFF0C\u914D\u7F6E\u540E\u8FD8\u9700\u5728SOURCE_ORDER\u6DFB\u52A0custom\u6E90"},VOD_SERVERS:{category:"source",type:"text",description:"VOD\u7AD9\u70B9\u914D\u7F6E\uFF0C\u683C\u5F0F\uFF1A\u540D\u79F0@URL,\u540D\u79F0@URL\uFF0C\u9ED8\u8BA4\u91D1\u8749@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,\u542C\u98CE@https://gctf.tfdh.top"},VOD_RETURN_MODE:{category:"source",type:"select",options:["all","fastest"],description:"VOD\u8FD4\u56DE\u6A21\u5F0F\uFF1Aall\uFF08\u6240\u6709\u7AD9\u70B9\uFF09\u6216 fastest\uFF08\u6700\u5FEB\u7684\u7AD9\u70B9\uFF09\uFF0C\u9ED8\u8BA4fastest"},VOD_REQUEST_TIMEOUT:{category:"source",type:"number",description:"VOD\u8BF7\u6C42\u8D85\u65F6\u65F6\u95F4\uFF0C\u9ED8\u8BA410000",min:5e3,max:3e4},BILIBILI_COOKIE:{category:"source",type:"text",description:"B\u7AD9Cookie"},DOUBAN_COOKIE:{category:"source",type:"text",description:"\u8C46\u74E3Cookie"},YOUKU_CONCURRENCY:{category:"source",type:"number",description:"\u4F18\u9177\u5E76\u53D1\u914D\u7F6E\uFF0C\u9ED8\u8BA48",min:1,max:16},PLATFORM_ORDER:{category:"match",type:"multi-select",options:this.ALLOWED_PLATFORMS,description:`\u5E73\u53F0\u6392\u5E8F\u914D\u7F6E\uFF0C\u53EF\u4EE5\u914D\u7F6E\u81EA\u52A8\u5339\u914D\u65F6\u7684\u4F18\u9009\u5E73\u53F0\u3002
\u5F53\u914D\u7F6E\u5408\u5E76\u5E73\u53F0\u7684\u65F6\u5019\uFF0C\u53EF\u4EE5\u6307\u5B9A\u671F\u671B\u7684\u5408\u5E76\u6E90\uFF0C
\u793A\u4F8B\uFF1A\u4E00\u4E2A\u7ED3\u679C\u8FD4\u56DE\u4E86"dandan&bilibili1&animeko"\u548C"youku"\u65F6\uFF0C
\u5F53\u914D\u7F6E"youku"\u65F6\u8FD4\u56DE"youku"
\u5F53\u914D\u7F6E"dandan&animeko"\u65F6\u8FD4\u56DE"dandan&bilibili1&animeko"`},ANIME_TITLE_FILTER:{category:"match",type:"text",description:"\u5267\u540D\u8FC7\u6EE4\u89C4\u5219"},EPISODE_TITLE_FILTER:{category:"match",type:"text",description:"\u5267\u96C6\u6807\u9898\u8FC7\u6EE4\u89C4\u5219"},ENABLE_ANIME_EPISODE_FILTER:{category:"match",type:"boolean",description:"\u63A7\u5236\u624B\u52A8\u641C\u7D22\u7684\u65F6\u5019\u662F\u5426\u6839\u636EANIME_TITLE_FILTER\u8FDB\u884C\u5267\u540D\u8FC7\u6EE4\u4EE5\u53CA\u6839\u636EEPISODE_TITLE_FILTER\u8FDB\u884C\u96C6\u6807\u9898\u8FC7\u6EE4"},STRICT_TITLE_MATCH:{category:"match",type:"boolean",description:"\u4E25\u683C\u6807\u9898\u5339\u914D\u6A21\u5F0F"},TITLE_TO_CHINESE:{category:"match",type:"boolean",description:"\u5916\u8BED\u6807\u9898\u8F6C\u6362\u4E2D\u6587\u5F00\u5173"},ANIME_TITLE_SIMPLIFIED:{category:"match",type:"boolean",description:"\u641C\u7D22\u7684\u5267\u540D\u6807\u9898\u81EA\u52A8\u7E41\u8F6C\u7B80"},TITLE_MAPPING_TABLE:{category:"match",type:"map",description:'\u5267\u540D\u6620\u5C04\u8868\uFF0C\u7528\u4E8E\u81EA\u52A8\u5339\u914D\u65F6\u66FF\u6362\u6807\u9898\u8FDB\u884C\u641C\u7D22\uFF0C\u683C\u5F0F\uFF1A\u539F\u59CB\u6807\u9898->\u6620\u5C04\u6807\u9898;\u539F\u59CB\u6807\u9898->\u6620\u5C04\u6807\u9898;... \uFF0C\u4F8B\u5982\uFF1A"\u5510\u671D\u8BE1\u4E8B\u5F55->\u5510\u671D\u8BE1\u4E8B\u5F55\u4E4B\u897F\u884C;\u56FD\u8272\u82B3\u534E->\u9526\u7EE3\u82B3\u534E"'},AI_BASE_URL:{category:"match",type:"text",description:"AI\u670D\u52A1\u57FA\u7840URL\uFF0C\u4E0D\u586B\u9ED8\u8BA4\u4E3Ahttps://api.openai.com/v1"},AI_MODEL:{category:"match",type:"text",description:"AI\u6A21\u578B\u540D\u79F0\uFF0C\u4E0D\u586B\u9ED8\u8BA4\u4E3Agpt-4o"},AI_API_KEY:{category:"match",type:"text",description:"AI\u670D\u52A1API\u5BC6\u94A5\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A\uFF0C\u9700\u624B\u52A8\u586B\u5199"},AI_MATCH_PROMPT:{category:"match",type:"text",description:"AI\u81EA\u52A8\u5339\u914D\u63D0\u793A\u8BCD\u6A21\u677F\uFF0C\u4E0D\u586B\u63D0\u4F9B\u9ED8\u8BA4\u63D0\u793A\u8BCD\uFF0C\u9ED8\u8BA4\u63D0\u793A\u8BCD\u8BF7\u67E5\u770BREADME"},USE_BANGUMI_DATA:{category:"match",type:"boolean",description:`Bangumi Data \u52A0\u901F\u5339\u914D\u5F00\u5173\uFF0C\u5F00\u542F\u540E\u5C06\u52A8\u753B\u5143\u6570\u636E\u7F13\u5B58\u81F3\u672C\u5730\u6216\u5185\u5B58\u4E2D\u7ED9\u6E90\u8C03\u7528\uFF0C\u63D0\u5347\u52A8\u753B\u6E90\u7684\u68C0\u7D22\u4E0E\u5339\u914D\u901F\u5EA6\u5E76\u89E3\u9501\u9690\u85CF/\u533A\u57DF\u756A\u5267\u3002
\u672C\u5730\u548CDocker\u90E8\u7F72\u4F7F\u7528\u65F6\u8BF7\u5148\u6302\u8F7D.cache\u76EE\u5F55\u83B7\u5F97\u6700\u4F73\u4F53\u9A8C\uFF0C\u4E91\u90E8\u7F72\u4F7F\u7528\u65F6\u4F1A\u5C06\u6570\u636E\u7F13\u5B58\u81F3\u4E34\u65F6\u5185\u5B58\u4E2D\u5982\u679C\u4F53\u9A8C\u4E0D\u4F73\u8BF7\u5173\u95ED\u3002`},BLOCKED_WORDS:{category:"danmu",type:"text",description:"\u5C4F\u853D\u8BCD\u5217\u8868"},GROUP_MINUTE:{category:"danmu",type:"number",description:"\u5206\u949F\u5185\u5408\u5E76\u53BB\u91CD\uFF080\u8868\u793A\u4E0D\u53BB\u91CD\uFF09\uFF0C\u9ED8\u8BA41",min:0,max:30},DANMU_LIMIT:{category:"danmu",type:"number",description:"\u5F39\u5E55\u6570\u91CF\u9650\u5236\uFF0C\u5355\u4F4D\u4E3Ak\uFF0C\u5373\u5343\uFF1A\u9ED8\u8BA4 0\uFF0C\u8868\u793A\u4E0D\u9650\u5236\u5F39\u5E55\u6570",min:0,max:100},DANMU_SIMPLIFIED_TRADITIONAL:{category:"danmu",type:"select",options:["default","simplified","traditional"],description:"\u5F39\u5E55\u7B80\u7E41\u4F53\u8F6C\u6362\u8BBE\u7F6E\uFF1Adefault\uFF08\u9ED8\u8BA4\u4E0D\u8F6C\u6362\uFF09\u3001simplified\uFF08\u7E41\u8F6C\u7B80\uFF09\u3001traditional\uFF08\u7B80\u8F6C\u7E41\uFF09"},CONVERT_TOP_BOTTOM_TO_SCROLL:{category:"danmu",type:"boolean",description:"\u9876\u90E8/\u5E95\u90E8\u5F39\u5E55\u8F6C\u6362\u4E3A\u6D6E\u52A8\u5F39\u5E55"},CONVERT_COLOR:{category:"danmu",type:"select",options:["default","white","color"],description:"\u5F39\u5E55\u8F6C\u6362\u989C\u8272\u914D\u7F6E"},COLOR_POOL:{category:"danmu",type:"text",description:"\u81EA\u5B9A\u4E49\u989C\u8272\u6C60\uFF08CONVERT_COLOR\u4E3Acolor\u65F6\u751F\u6548\uFF09\uFF0C\u4E0D\u914D\u7F6E\u4F7F\u7528\u9ED8\u8BA4\u989C\u8272\u6C60\uFF0C\u683C\u5F0F\uFF1A\u5341\u8FDB\u5236\u989C\u8272\u503C\u9017\u53F7\u5206\u9694"},DANMU_OUTPUT_FORMAT:{category:"danmu",type:"select",options:["json","xml"],description:"\u5F39\u5E55\u8F93\u51FA\u683C\u5F0F\uFF0C\u9ED8\u8BA4json"},DANMU_PUSH_URL:{category:"danmu",type:"text",description:"\u5F39\u5E55\u63A8\u9001\u5730\u5740\uFF0C\u793A\u4F8B http://127.0.0.1:9978/action?do=refresh&type=danmaku&path= "},LIKE_SWITCH:{category:"danmu",type:"boolean",description:"\u5F39\u5E55\u70B9\u8D5E\u6570\u663E\u793A\u5F00\u5173\uFF0C\u9ED8\u8BA4\u5F00\u542F"},DANMU_OFFSET:{category:"danmu",type:"text",sources:this.ALLOWED_SOURCES,description:"\u5F39\u5E55\u65F6\u95F4\u504F\u79FB\u914D\u7F6E\uFF0C\u683C\u5F0F\uFF1A\u5267\u540D:\u79D2 \u6216 \u5267\u540D/\u5B63:\u79D2 \u6216 \u5267\u540D/\u5B63/\u96C6:\u79D2\uFF0C\u652F\u6301\u6307\u5B9A\u6765\u6E90\uFF1A\u5267\u540D@\u6765\u6E90:\u79D2 \u6216 \u5267\u540D/\u5B63@\u6765\u6E901&\u6765\u6E902:\u79D2\uFF0C\u591A\u6761\u7528\u9017\u53F7\u5206\u9694\uFF0C\u6B63\u6570\u8868\u793A\u5F39\u5E55\u5EF6\u540E\uFF08\u5411\u53F3\uFF09\uFF0C\u8D1F\u6570\u8868\u793A\u5F39\u5E55\u63D0\u524D\uFF08\u5411\u5DE6\uFF09\u3002\u652F\u6301\u767E\u5206\u6BD4\u6A21\u5F0F\uFF1A\u5728\u8DEF\u5F84\u6216\u6765\u6E90\u672B\u5C3E\u8FFD\u52A0 %\uFF0C\u5982 \u4E1C\u65B9/S03/E02@tencent%:11\uFF0C\u6309\u516C\u5F0F \u539F\u65F6\u95F4 * (\u89C6\u9891\u65F6\u957F + \u504F\u79FB\u79D2\u6570) / \u89C6\u9891\u65F6\u957F \u7F29\u653E\u5168\u90E8\u5F39\u5E55\u65F6\u95F4\u3002\u793A\u4F8B\uFF1Aoverlord/S01:90,re-zero/S02@bilibili:120,re-zero/S02/E03@dandan&bilibili:10,\u4E1C\u65B9/S03/E02@tencent%:11"},SEARCH_CACHE_MINUTES:{category:"cache",type:"number",description:"\u641C\u7D22\u7ED3\u679C\u7F13\u5B58\u65F6\u95F4(\u5206\u949F)\uFF0C\u9ED8\u8BA43",min:1,max:120},COMMENT_CACHE_MINUTES:{category:"cache",type:"number",description:"\u5F39\u5E55\u7F13\u5B58\u65F6\u95F4(\u5206\u949F)\uFF0C\u9ED8\u8BA43",min:1,max:120},REMEMBER_LAST_SELECT:{category:"cache",type:"boolean",description:"\u8BB0\u4F4F\u624B\u52A8\u9009\u62E9\u7ED3\u679C"},MAX_LAST_SELECT_MAP:{category:"cache",type:"number",description:"\u8BB0\u4F4F\u4E0A\u6B21\u9009\u62E9\u6620\u5C04\u7F13\u5B58\u5927\u5C0F\u9650\u5236\uFF0C\u9ED8\u8BA4100",min:10,max:1e3},MAX_ANIMES:{category:"cache",type:"number",description:"\u52A8\u6F2B\u6807\u9898\u7F13\u5B58\u6700\u5927\u6570\u91CF\uFF0C\u9ED8\u8BA4100",min:100,max:1e3},UPSTASH_REDIS_REST_URL:{category:"cache",type:"text",description:"Upstash Redis\u8BF7\u6C42\u94FE\u63A5"},UPSTASH_REDIS_REST_TOKEN:{category:"cache",type:"text",description:"Upstash Redis\u8BBF\u95EE\u4EE4\u724C"},LOCAL_REDIS_URL:{category:"cache",type:"text",description:"\u672C\u5730 Redis \u8FDE\u63A5URL\uFF0C\u793A\u4F8B\uFF1Aredis://:[email protected]:6379/0\uFF0C\u53EA\u652F\u6301\u672C\u5730\u90E8\u7F72\u548Cdocker\u90E8\u7F72"},BANGUMI_DATA_CACHE_DAYS:{category:"cache",type:"number",description:"Bangumi Data \u7F13\u5B58\u6709\u6548\u671F(\u5929)\uFF0C\u8BBE\u7F6E0\u5219\u6BCF\u6B21\u8BF7\u6C42\u65F6\u5F3A\u5236\u5F02\u6B65\u66F4\u65B0\uFF0C\u9ED8\u8BA47\u5929",min:0,max:30},PROXY_URL:{category:"system",type:"text",description:"\u4EE3\u7406/\u53CD\u4EE3\u5730\u5740"},TMDB_API_KEY:{category:"system",type:"text",description:"TMDB API\u5BC6\u94A5"},LOG_LEVEL:{category:"system",type:"select",options:["debug","info","warn","error"],description:"\u65E5\u5FD7\u7EA7\u522B\u914D\u7F6E"},DEPLOY_PLATFROM_ACCOUNT:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u8D26\u53F7ID"},DEPLOY_PLATFROM_PROJECT:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u9879\u76EE\u540D\u79F0"},DEPLOY_PLATFROM_TOKEN:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u8BBF\u95EE\u4EE4\u724C"},NODE_TLS_REJECT_UNAUTHORIZED:{category:"system",type:"number",description:"\u5728\u5EFA\u7ACB HTTPS \u8FDE\u63A5\u65F6\u662F\u5426\u9A8C\u8BC1\u670D\u52A1\u5668\u7684 SSL/TLS \u8BC1\u4E66\uFF0C0\u8868\u793A\u5FFD\u7565\uFF0C\u9ED8\u8BA4\u4E3A1",min:0,max:1},IP_BLACKLIST:{category:"system",type:"text",description:"IP \u9ED1\u540D\u5355\u5217\u8868\uFF0C\u652F\u6301\u9017\u53F7/\u5206\u53F7/\u6362\u884C\u5206\u9694\uFF0C\u652F\u6301 /regex/ \u6216 /regex/i \u6B63\u5219\uFF0C\u652F\u6301 IPv4/IPv6 CIDR\uFF08\u5982 10.0.0.0/4\u30012001:db8::/64\uFF09\u3002\u547D\u4E2D\u5219\u62D2\u7EDD\u8BF7\u6C42"}};return{vodAllowedPlatforms:this.VOD_ALLOWED_PLATFORMS,allowedPlatforms:this.ALLOWED_PLATFORMS,token:this.get("TOKEN","87654321","string",!0),adminToken:this.get("ADMIN_TOKEN","","string",!0),sourceOrderArr:this.resolveSourceOrder(),mergeSourcePairs:this.resolveMergeSourcePairs(),customMergeRules:this.resolveCustomMergeRules(),otherServer:this.get("OTHER_SERVER","https://api.danmu.icu","string"),customSourceApiUrl:this.get("CUSTOM_SOURCE_API_URL","","string",!0),vodServers:this.resolveVodServers(),vodReturnMode:this.get("VOD_RETURN_MODE","fastest","string").toLowerCase(),vodRequestTimeout:this.get("VOD_REQUEST_TIMEOUT","10000","string"),bilibliCookie:this.get("BILIBILI_COOKIE","","string",!0),doubanCookie:this.get("DOUBAN_COOKIE","","string",!0),youkuConcurrency:Math.min(this.get("YOUKU_CONCURRENCY",8,"number"),16),platformOrderArr:this.resolvePlatformOrder(),animeTitleFilter:this.resolveAnimeTitleFilter(),episodeTitleFilter:this.resolveEpisodeTitleFilter(),blockedWords:this.get("BLOCKED_WORDS","","string"),groupMinute:Math.min(this.get("GROUP_MINUTE",1,"number"),30),danmuLimit:this.get("DANMU_LIMIT",0,"number"),proxyUrl:this.get("PROXY_URL","","string",!0),danmuSimplifiedTraditional:this.get("DANMU_SIMPLIFIED_TRADITIONAL","default","string"),danmuPushUrl:this.get("DANMU_PUSH_URL","","string"),likeSwitch:this.get("LIKE_SWITCH",!0,"boolean"),danmuOffset:this.get("DANMU_OFFSET","","string"),danmuOffsetRules:T5e(this.get("DANMU_OFFSET","","string")),tmdbApiKey:this.get("TMDB_API_KEY","","string",!0),redisUrl:this.get("UPSTASH_REDIS_REST_URL","","string",!0),redisToken:this.get("UPSTASH_REDIS_REST_TOKEN","","string",!0),localRedisUrl:this.get("LOCAL_REDIS_URL","","string",!0),rateLimitMaxRequests:this.get("RATE_LIMIT_MAX_REQUESTS",3,"number"),enableAnimeEpisodeFilter:this.get("ENABLE_ANIME_EPISODE_FILTER",!1,"boolean"),logLevel:this.get("LOG_LEVEL","info","string"),searchCacheMinutes:this.get("SEARCH_CACHE_MINUTES",3,"number"),commentCacheMinutes:this.get("COMMENT_CACHE_MINUTES",3,"number"),convertTopBottomToScroll:this.get("CONVERT_TOP_BOTTOM_TO_SCROLL",!1,"boolean"),convertColor:this.get("CONVERT_COLOR","default","string"),colorPool:this.get("COLOR_POOL","16777215,16777215,16777215,16777215,16777215,16777215,16777215,16777215,16744319,16752762,16774799,9498256,8388564,8900346,14204888,16758465","string"),danmuOutputFormat:this.get("DANMU_OUTPUT_FORMAT","json","string"),strictTitleMatch:this.get("STRICT_TITLE_MATCH",!1,"boolean"),titleToChinese:this.get("TITLE_TO_CHINESE",!1,"boolean"),animeTitleSimplified:this.get("ANIME_TITLE_SIMPLIFIED",!1,"boolean"),titleMappingTable:this.resolveTitleMappingTable(),ipBlacklist:this.resolveIpBlacklist(),aiBaseUrl:this.get("AI_BASE_URL","https://api.openai.com/v1","string"),aiModel:this.get("AI_MODEL","gpt-4o","string"),aiApiKey:this.get("AI_API_KEY","","string",!0),aiMatchPrompt:this.get("AI_MATCH_PROMPT",this.DEFAULT_AI_MATCH_PROMPT,"string"),useBangumiData:this.get("USE_BANGUMI_DATA",!1,"boolean"),rememberLastSelect:this.get("REMEMBER_LAST_SELECT",!0,"boolean"),MAX_LAST_SELECT_MAP:this.get("MAX_LAST_SELECT_MAP",100,"number"),MAX_ANIMES:this.get("MAX_ANIMES",100,"number"),bangumiDataCacheDays:this.get("BANGUMI_DATA_CACHE_DAYS",7,"number"),deployPlatformAccount:this.get("DEPLOY_PLATFROM_ACCOUNT","","string",!0),deployPlatformProject:this.get("DEPLOY_PLATFROM_PROJECT","","string",!0),deployPlatformToken:this.get("DEPLOY_PLATFROM_TOKEN","","string",!0),NODE_TLS_REJECT_UNAUTHORIZED:this.get("NODE_TLS_REJECT_UNAUTHORIZED",1,"number"),envVarConfig:r}}}});var Kh,O,Pt=dr(()=>{w5e();Kh={env:{},envs:{},originalEnvVars:{},accessedEnvVars:{},VERSION:"1.19.13",MAX_LOGS:1e3,MAX_RECORDS:100,animes:[],episodeIds:[],episodeNum:10001,logBuffer:[],requestHistory:new Map,localCacheValid:!1,localCacheInitialized:!1,redisValid:!1,localRedisValid:!1,aiValid:!1,redisCacheInitialized:!1,lastSelectMap:new Map,reqRecords:[],todayReqNum:0,lastHashes:{animes:null,episodeIds:null,episodeNum:null,lastSelectMap:null,reqRecords:null,todayReqNum:null},searchCache:new Map,commentCache:new Map,deployPlatform:"",currentToken:"",init(t={}){return this.env=t,this.envs=sf.load(this.env),this.originalEnvVars=Object.fromEntries(sf.getOriginalEnvVars()),this.accessedEnvVars=Object.fromEntries(sf.getAccessedEnvVars()),this.getConfig()},reInit(){return this.envs=sf.load(this.env),this.originalEnvVars=Object.fromEntries(sf.getOriginalEnvVars()),this.accessedEnvVars=Object.fromEntries(sf.getAccessedEnvVars()),this.getConfig()},makeProxyUrl(t){let e=this.envs.proxyUrl||"";if(!e||!t)return t;let r=e.split(",").map(c=>c.trim()).filter(c=>c),n=null,s=null,i=null,a;try{a=new URL(t)}catch{return t}let o=a.hostname;for(let c of r)if(c.startsWith("bahamut@")&&o.includes("gamer.com.tw")){s=c.substring(8);break}else if(c.startsWith("tmdb@")&&o.includes("tmdb")){s=c.substring(5);break}else if(c.startsWith("bilibili@")&&o.includes("bilibili")){s=c.substring(9);break}else if(c.startsWith("animeko@")&&(o.includes("animeko")||o.includes("bgm.tv"))){s=c.substring(8);break}else c.startsWith("@")&&!i?i=c.substring(1):!c.includes("@")&&!n&&(n=c);if(s)try{let c=new URL(s);return a.protocol=c.protocol,a.host=c.host,a.port=c.port,c.pathname!=="/"&&(a.pathname=c.pathname.replace(/\/$/,"")+a.pathname),a.toString()}catch{return t}return i?`${i.replace(/\/$/,"")}/${t}`:n?`http://127.0.0.1:5321/proxy?url=${encodeURIComponent(t)}`:t},getConfig(){if(this._configProxy)return this._configProxy;let t=this;return this._configProxy=new Proxy({},{get(e,r){return r in t.envs?t.envs[r]:r==="version"?t.VERSION:r==="maxLogs"?t.MAX_LOGS:r==="maxAnimes"?t.envs.MAX_ANIMES:r==="maxRecords"?t.MAX_RECORDS:r==="maxLastSelectMap"?t.MAX_LAST_SELECT_MAP:r==="makeProxyUrl"?t.makeProxyUrl.bind(t):t[r]},set(e,r,n){return r in t.envs?t.envs[r]=n:t[r]=n,!0}}),this._configProxy}},O=new Proxy({},{get(t,e){return Kh.getConfig()[e]},set(t,e,r){return Kh.getConfig()[e]=r,!0},has(t,e){return e in Kh.getConfig()},ownKeys(t){return Reflect.ownKeys(Kh.getConfig())},getOwnPropertyDescriptor(t,e){return Object.getOwnPropertyDescriptor(Kh.getConfig(),e)}})});function _(t,...e){let r={error:0,warn:1,info:2},n=r[O.logLevel]!==void 0?r[O.logLevel]:1;if((r[t]||0)>n)return;let s=e.map(u=>{if(typeof u=="object"){let l=JSON.stringify(u);return R5e(l)}else return typeof u=="string"?R5e(u):u}),i=s.map(u=>typeof u=="object"?JSON.stringify(u):u).join(" "),a=new Date,c=new Date(a.getTime()+8*60*60*1e3).toISOString().replace("Z","+08:00");O.logBuffer.push({timestamp:c,level:t,message:i}),O.logBuffer.length>O.MAX_LOGS&&O.logBuffer.shift(),console[t](...s)}function R5e(t){let e=t;if(O.originalEnvVars&&O.accessedEnvVars)for(let[r,n]of Object.entries(O.originalEnvVars)){let s=O.accessedEnvVars[r];if(n&&typeof n=="string"&&n.length>0&&s&&typeof s=="string"&&s.match(/^\*+$/)&&s.length===n.length){let i="*".repeat(n.length),a=new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g");e=e.replace(a,i)}}return e}function N5e(t){try{let e=JSON.parse(t);return JSON.stringify(e,null,2).replace(/\n/g,`
`)}catch{return t}}var St=dr(()=>{Pt()});function eir(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let r=t.substring(5,e).split(";"),n="",s=!1,i=r[0]||"text/plain",a=i;for(let l=1;l<r.length;l++)r[l]==="base64"?s=!0:r[l]&&(a+=`;${r[l]}`,r[l].indexOf("charset=")===0&&(n=r[l].substring(8)));!r[0]&&!n.length&&(a+=";charset=US-ASCII",n="US-ASCII");let o=s?"base64":"ascii",c=unescape(t.substring(e+1)),u=Buffer.from(c,o);return u.type=i,u.typeFull=a,u.charset=n,u}var O5e,P5e=dr(()=>{O5e=eir});var k5e=E((gL,D5e)=>{(function(t,e){typeof gL=="object"&&typeof D5e<"u"?e(gL):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(gL,function(t){"use strict";function e(){}function r(S){return typeof S=="object"&&S!==null||typeof S=="function"}let n=e;function s(S,T){try{Object.defineProperty(S,"name",{value:T,configurable:!0})}catch{}}let i=Promise,a=Promise.prototype.then,o=Promise.reject.bind(i);function c(S){return new i(S)}function u(S){return c(T=>T(S))}function l(S){return o(S)}function d(S,T,D){return a.call(S,T,D)}function f(S,T,D){d(d(S,T,D),void 0,n)}function p(S,T){f(S,T)}function m(S,T){f(S,void 0,T)}function h(S,T,D){return d(S,T,D)}function A(S){d(S,void 0,n)}let g=S=>{if(typeof queueMicrotask=="function")g=queueMicrotask;else{let T=u(void 0);g=D=>d(T,D)}return g(S)};function b(S,T,D){if(typeof S!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(S,T,D)}function y(S,T,D){try{return u(b(S,T,D))}catch(K){return l(K)}}let x=16384;class v{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(T){let D=this._back,K=D;D._elements.length===x-1&&(K={_elements:[],_next:void 0}),D._elements.push(T),K!==D&&(this._back=K,D._next=K),++this._size}shift(){let T=this._front,D=T,K=this._cursor,ae=K+1,pe=T._elements,xe=pe[K];return ae===x&&(D=T._next,ae=0),--this._size,this._cursor=ae,T!==D&&(this._front=D),pe[K]=void 0,xe}forEach(T){let D=this._cursor,K=this._front,ae=K._elements;for(;(D!==ae.length||K._next!==void 0)&&!(D===ae.length&&(K=K._next,ae=K._elements,D=0,ae.length===0));)T(ae[D]),++D}peek(){let T=this._front,D=this._cursor;return T._elements[D]}}let C=Symbol("[[AbortSteps]]"),R=Symbol("[[ErrorSteps]]"),w=Symbol("[[CancelSteps]]"),N=Symbol("[[PullSteps]]"),P=Symbol("[[ReleaseSteps]]");function L(S,T){S._ownerReadableStream=T,T._reader=S,T._state==="readable"?Z(S):T._state==="closed"?F(S):W(S,T._storedError)}function M(S,T){let D=S._ownerReadableStream;return Lc(D,T)}function k(S){let T=S._ownerReadableStream;T._state==="readable"?V(S,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):j(S,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),T._readableStreamController[P](),T._reader=void 0,S._ownerReadableStream=void 0}function B(S){return new TypeError("Cannot "+S+" a stream using a released reader")}function Z(S){S._closedPromise=c((T,D)=>{S._closedPromise_resolve=T,S._closedPromise_reject=D})}function W(S,T){Z(S),V(S,T)}function F(S){Z(S),J(S)}function V(S,T){S._closedPromise_reject!==void 0&&(A(S._closedPromise),S._closedPromise_reject(T),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0)}function j(S,T){W(S,T)}function J(S){S._closedPromise_resolve!==void 0&&(S._closedPromise_resolve(void 0),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0)}let se=Number.isFinite||function(S){return typeof S=="number"&&isFinite(S)},oe=Math.trunc||function(S){return S<0?Math.ceil(S):Math.floor(S)};function ue(S){return typeof S=="object"||typeof S=="function"}function Ce(S,T){if(S!==void 0&&!ue(S))throw new TypeError(`${T} is not an object.`)}function we(S,T){if(typeof S!="function")throw new TypeError(`${T} is not a function.`)}function qe(S){return typeof S=="object"&&S!==null||typeof S=="function"}function Fe(S,T){if(!qe(S))throw new TypeError(`${T} is not an object.`)}function _e(S,T,D){if(S===void 0)throw new TypeError(`Parameter ${T} is required in '${D}'.`)}function U(S,T,D){if(S===void 0)throw new TypeError(`${T} is required in '${D}'.`)}function G(S){return Number(S)}function z(S){return S===0?0:S}function q(S){return z(oe(S))}function H(S,T){let K=Number.MAX_SAFE_INTEGER,ae=Number(S);if(ae=z(ae),!se(ae))throw new TypeError(`${T} is not a finite number`);if(ae=q(ae),ae<0||ae>K)throw new TypeError(`${T} is outside the accepted range of 0 to ${K}, inclusive`);return!se(ae)||ae===0?0:ae}function ee(S,T){if(!sp(S))throw new TypeError(`${T} is not a ReadableStream.`)}function ne(S){return new fe(S)}function re(S,T){S._reader._readRequests.push(T)}function X(S,T,D){let ae=S._reader._readRequests.shift();D?ae._closeSteps():ae._chunkSteps(T)}function ie(S){return S._reader._readRequests.length}function ce(S){let T=S._reader;return!(T===void 0||!Ne(T))}class fe{constructor(T){if(_e(T,1,"ReadableStreamDefaultReader"),ee(T,"First parameter"),ip(T))throw new TypeError("This stream has already been locked for exclusive reading by another reader");L(this,T),this._readRequests=new v}get closed(){return Ne(this)?this._closedPromise:l(Ye("closed"))}cancel(T=void 0){return Ne(this)?this._ownerReadableStream===void 0?l(B("cancel")):M(this,T):l(Ye("cancel"))}read(){if(!Ne(this))return l(Ye("read"));if(this._ownerReadableStream===void 0)return l(B("read from"));let T,D,K=c((pe,xe)=>{T=pe,D=xe});return Pe(this,{_chunkSteps:pe=>T({value:pe,done:!1}),_closeSteps:()=>T({value:void 0,done:!0}),_errorSteps:pe=>D(pe)}),K}releaseLock(){if(!Ne(this))throw Ye("releaseLock");this._ownerReadableStream!==void 0&&Ue(this)}}Object.defineProperties(fe.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),s(fe.prototype.cancel,"cancel"),s(fe.prototype.read,"read"),s(fe.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fe.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function Ne(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_readRequests")?!1:S instanceof fe}function Pe(S,T){let D=S._ownerReadableStream;D._disturbed=!0,D._state==="closed"?T._closeSteps():D._state==="errored"?T._errorSteps(D._storedError):D._readableStreamController[N](T)}function Ue(S){k(S);let T=new TypeError("Reader was released");Ke(S,T)}function Ke(S,T){let D=S._readRequests;S._readRequests=new v,D.forEach(K=>{K._errorSteps(T)})}function Ye(S){return new TypeError(`ReadableStreamDefaultReader.prototype.${S} can only be used on a ReadableStreamDefaultReader`)}let Ze=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class nt{constructor(T,D){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=T,this._preventCancel=D}next(){let T=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?h(this._ongoingPromise,T,T):T(),this._ongoingPromise}return(T){let D=()=>this._returnSteps(T);return this._ongoingPromise?h(this._ongoingPromise,D,D):D()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let T=this._reader,D,K,ae=c((xe,Qe)=>{D=xe,K=Qe});return Pe(T,{_chunkSteps:xe=>{this._ongoingPromise=void 0,g(()=>D({value:xe,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,k(T),D({value:void 0,done:!0})},_errorSteps:xe=>{this._ongoingPromise=void 0,this._isFinished=!0,k(T),K(xe)}}),ae}_returnSteps(T){if(this._isFinished)return Promise.resolve({value:T,done:!0});this._isFinished=!0;let D=this._reader;if(!this._preventCancel){let K=M(D,T);return k(D),h(K,()=>({value:T,done:!0}))}return k(D),u({value:T,done:!0})}}let ct={next(){return Dt(this)?this._asyncIteratorImpl.next():l(lt("next"))},return(S){return Dt(this)?this._asyncIteratorImpl.return(S):l(lt("return"))}};Object.setPrototypeOf(ct,Ze);function tt(S,T){let D=ne(S),K=new nt(D,T),ae=Object.create(ct);return ae._asyncIteratorImpl=K,ae}function Dt(S){if(!r(S)||!Object.prototype.hasOwnProperty.call(S,"_asyncIteratorImpl"))return!1;try{return S._asyncIteratorImpl instanceof nt}catch{return!1}}function lt(S){return new TypeError(`ReadableStreamAsyncIterator.${S} can only be used on a ReadableSteamAsyncIterator`)}let De=Number.isNaN||function(S){return S!==S};var Je,ft,rt;function bt(S){return S.slice()}function An(S,T,D,K,ae){new Uint8Array(S).set(new Uint8Array(D,K,ae),T)}let Ct=S=>(typeof S.transfer=="function"?Ct=T=>T.transfer():typeof structuredClone=="function"?Ct=T=>structuredClone(T,{transfer:[T]}):Ct=T=>T,Ct(S)),Sr=S=>(typeof S.detached=="boolean"?Sr=T=>T.detached:Sr=T=>T.byteLength===0,Sr(S));function Us(S,T,D){if(S.slice)return S.slice(T,D);let K=D-T,ae=new ArrayBuffer(K);return An(ae,0,S,T,K),ae}function Dr(S,T){let D=S[T];if(D!=null){if(typeof D!="function")throw new TypeError(`${String(T)} is not a function`);return D}}function qs(S){let T={[Symbol.iterator]:()=>S.iterator},D=async function*(){return yield*T}(),K=D.next;return{iterator:D,nextMethod:K,done:!1}}let js=(rt=(Je=Symbol.asyncIterator)!==null&&Je!==void 0?Je:(ft=Symbol.for)===null||ft===void 0?void 0:ft.call(Symbol,"Symbol.asyncIterator"))!==null&&rt!==void 0?rt:"@@asyncIterator";function ys(S,T="sync",D){if(D===void 0)if(T==="async"){if(D=Dr(S,js),D===void 0){let pe=Dr(S,Symbol.iterator),xe=ys(S,"sync",pe);return qs(xe)}}else D=Dr(S,Symbol.iterator);if(D===void 0)throw new TypeError("The object is not iterable");let K=b(D,S,[]);if(!r(K))throw new TypeError("The iterator method must return an object");let ae=K.next;return{iterator:K,nextMethod:ae,done:!1}}function Hs(S){let T=b(S.nextMethod,S.iterator,[]);if(!r(T))throw new TypeError("The iterator.next() method must return an object");return T}function Lu(S){return!!S.done}function go(S){return S.value}function Dc(S){return!(typeof S!="number"||De(S)||S<0)}function Ta(S){let T=Us(S.buffer,S.byteOffset,S.byteOffset+S.byteLength);return new Uint8Array(T)}function yn(S){let T=S._queue.shift();return S._queueTotalSize-=T.size,S._queueTotalSize<0&&(S._queueTotalSize=0),T.value}function wa(S,T,D){if(!Dc(D)||D===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");S._queue.push({value:T,size:D}),S._queueTotalSize+=D}function rd(S){return S._queue.peek().value}function Ao(S){S._queue=new v,S._queueTotalSize=0}function bA(S){return S===DataView}function l6(S){return bA(S.constructor)}function gpt(S){return bA(S)?1:S.BYTES_PER_ELEMENT}class dm{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!d6(this))throw g6("view");return this._view}respond(T){if(!d6(this))throw g6("respond");if(_e(T,1,"respond"),T=H(T,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Sr(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");w2(this._associatedReadableByteStreamController,T)}respondWithNewView(T){if(!d6(this))throw g6("respondWithNewView");if(_e(T,1,"respondWithNewView"),!ArrayBuffer.isView(T))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Sr(T.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");R2(this._associatedReadableByteStreamController,T)}}Object.defineProperties(dm.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),s(dm.prototype.respond,"respond"),s(dm.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(dm.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class nd{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!fm(this))throw VE("byobRequest");return h6(this)}get desiredSize(){if(!fm(this))throw VE("desiredSize");return jle(this)}close(){if(!fm(this))throw VE("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let T=this._controlledReadableByteStream._state;if(T!=="readable")throw new TypeError(`The stream (in ${T} state) is not in the readable state and cannot be closed`);GE(this)}enqueue(T){if(!fm(this))throw VE("enqueue");if(_e(T,1,"enqueue"),!ArrayBuffer.isView(T))throw new TypeError("chunk must be an array buffer view");if(T.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(T.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let D=this._controlledReadableByteStream._state;if(D!=="readable")throw new TypeError(`The stream (in ${D} state) is not in the readable state and cannot be enqueued to`);T2(this,T)}error(T=void 0){if(!fm(this))throw VE("error");Uo(this,T)}[w](T){kle(this),Ao(this);let D=this._cancelAlgorithm(T);return I2(this),D}[N](T){let D=this._controlledReadableByteStream;if(this._queueTotalSize>0){qle(this,T);return}let K=this._autoAllocateChunkSize;if(K!==void 0){let ae;try{ae=new ArrayBuffer(K)}catch(xe){T._errorSteps(xe);return}let pe={buffer:ae,bufferByteLength:K,byteOffset:0,byteLength:K,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(pe)}re(D,T),pm(this)}[P](){if(this._pendingPullIntos.length>0){let T=this._pendingPullIntos.peek();T.readerType="none",this._pendingPullIntos=new v,this._pendingPullIntos.push(T)}}}Object.defineProperties(nd.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),s(nd.prototype.close,"close"),s(nd.prototype.enqueue,"enqueue"),s(nd.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(nd.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function fm(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledReadableByteStream")?!1:S instanceof nd}function d6(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_associatedReadableByteStreamController")?!1:S instanceof dm}function pm(S){if(!Ept(S))return;if(S._pulling){S._pullAgain=!0;return}S._pulling=!0;let D=S._pullAlgorithm();f(D,()=>(S._pulling=!1,S._pullAgain&&(S._pullAgain=!1,pm(S)),null),K=>(Uo(S,K),null))}function kle(S){p6(S),S._pendingPullIntos=new v}function f6(S,T){let D=!1;S._state==="closed"&&(D=!0);let K=Lle(T);T.readerType==="default"?X(S,K,D):Tpt(S,K,D)}function Lle(S){let T=S.bytesFilled,D=S.elementSize;return new S.viewConstructor(S.buffer,S.byteOffset,T/D)}function C2(S,T,D,K){S._queue.push({buffer:T,byteOffset:D,byteLength:K}),S._queueTotalSize+=K}function Ble(S,T,D,K){let ae;try{ae=Us(T,D,D+K)}catch(pe){throw Uo(S,pe),pe}C2(S,ae,0,K)}function Mle(S,T){T.bytesFilled>0&&Ble(S,T.buffer,T.byteOffset,T.bytesFilled),EA(S)}function Wle(S,T){let D=Math.min(S._queueTotalSize,T.byteLength-T.bytesFilled),K=T.bytesFilled+D,ae=D,pe=!1,xe=K%T.elementSize,Qe=K-xe;Qe>=T.minimumFill&&(ae=Qe-T.bytesFilled,pe=!0);let It=S._queue;for(;ae>0;){let dt=It.peek(),Bt=Math.min(ae,dt.byteLength),Jt=T.byteOffset+T.bytesFilled;An(T.buffer,Jt,dt.buffer,dt.byteOffset,Bt),dt.byteLength===Bt?It.shift():(dt.byteOffset+=Bt,dt.byteLength-=Bt),S._queueTotalSize-=Bt,$le(S,Bt,T),ae-=Bt}return pe}function $le(S,T,D){D.bytesFilled+=T}function Fle(S){S._queueTotalSize===0&&S._closeRequested?(I2(S),ZE(S._controlledReadableByteStream)):pm(S)}function p6(S){S._byobRequest!==null&&(S._byobRequest._associatedReadableByteStreamController=void 0,S._byobRequest._view=null,S._byobRequest=null)}function m6(S){for(;S._pendingPullIntos.length>0;){if(S._queueTotalSize===0)return;let T=S._pendingPullIntos.peek();Wle(S,T)&&(EA(S),f6(S._controlledReadableByteStream,T))}}function Apt(S){let T=S._controlledReadableByteStream._reader;for(;T._readRequests.length>0;){if(S._queueTotalSize===0)return;let D=T._readRequests.shift();qle(S,D)}}function ypt(S,T,D,K){let ae=S._controlledReadableByteStream,pe=T.constructor,xe=gpt(pe),{byteOffset:Qe,byteLength:It}=T,dt=D*xe,Bt;try{Bt=Ct(T.buffer)}catch(un){K._errorSteps(un);return}let Jt={buffer:Bt,bufferByteLength:Bt.byteLength,byteOffset:Qe,byteLength:It,bytesFilled:0,minimumFill:dt,elementSize:xe,viewConstructor:pe,readerType:"byob"};if(S._pendingPullIntos.length>0){S._pendingPullIntos.push(Jt),Gle(ae,K);return}if(ae._state==="closed"){let un=new pe(Jt.buffer,Jt.byteOffset,0);K._closeSteps(un);return}if(S._queueTotalSize>0){if(Wle(S,Jt)){let un=Lle(Jt);Fle(S),K._chunkSteps(un);return}if(S._closeRequested){let un=new TypeError("Insufficient bytes to fill elements in the given buffer");Uo(S,un),K._errorSteps(un);return}}S._pendingPullIntos.push(Jt),Gle(ae,K),pm(S)}function xpt(S,T){T.readerType==="none"&&EA(S);let D=S._controlledReadableByteStream;if(A6(D))for(;Vle(D)>0;){let K=EA(S);f6(D,K)}}function bpt(S,T,D){if($le(S,T,D),D.readerType==="none"){Mle(S,D),m6(S);return}if(D.bytesFilled<D.minimumFill)return;EA(S);let K=D.bytesFilled%D.elementSize;if(K>0){let ae=D.byteOffset+D.bytesFilled;Ble(S,D.buffer,ae-K,K)}D.bytesFilled-=K,f6(S._controlledReadableByteStream,D),m6(S)}function Ule(S,T){let D=S._pendingPullIntos.peek();p6(S),S._controlledReadableByteStream._state==="closed"?xpt(S,D):bpt(S,T,D),pm(S)}function EA(S){return S._pendingPullIntos.shift()}function Ept(S){let T=S._controlledReadableByteStream;return T._state!=="readable"||S._closeRequested||!S._started?!1:!!(ce(T)&&ie(T)>0||A6(T)&&Vle(T)>0||jle(S)>0)}function I2(S){S._pullAlgorithm=void 0,S._cancelAlgorithm=void 0}function GE(S){let T=S._controlledReadableByteStream;if(!(S._closeRequested||T._state!=="readable")){if(S._queueTotalSize>0){S._closeRequested=!0;return}if(S._pendingPullIntos.length>0){let D=S._pendingPullIntos.peek();if(D.bytesFilled%D.elementSize!==0){let K=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Uo(S,K),K}}I2(S),ZE(T)}}function T2(S,T){let D=S._controlledReadableByteStream;if(S._closeRequested||D._state!=="readable")return;let{buffer:K,byteOffset:ae,byteLength:pe}=T;if(Sr(K))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let xe=Ct(K);if(S._pendingPullIntos.length>0){let Qe=S._pendingPullIntos.peek();if(Sr(Qe.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");p6(S),Qe.buffer=Ct(Qe.buffer),Qe.readerType==="none"&&Mle(S,Qe)}if(ce(D))if(Apt(S),ie(D)===0)C2(S,xe,ae,pe);else{S._pendingPullIntos.length>0&&EA(S);let Qe=new Uint8Array(xe,ae,pe);X(D,Qe,!1)}else A6(D)?(C2(S,xe,ae,pe),m6(S)):C2(S,xe,ae,pe);pm(S)}function Uo(S,T){let D=S._controlledReadableByteStream;D._state==="readable"&&(kle(S),Ao(S),I2(S),Ade(D,T))}function qle(S,T){let D=S._queue.shift();S._queueTotalSize-=D.byteLength,Fle(S);let K=new Uint8Array(D.buffer,D.byteOffset,D.byteLength);T._chunkSteps(K)}function h6(S){if(S._byobRequest===null&&S._pendingPullIntos.length>0){let T=S._pendingPullIntos.peek(),D=new Uint8Array(T.buffer,T.byteOffset+T.bytesFilled,T.byteLength-T.bytesFilled),K=Object.create(dm.prototype);Spt(K,S,D),S._byobRequest=K}return S._byobRequest}function jle(S){let T=S._controlledReadableByteStream._state;return T==="errored"?null:T==="closed"?0:S._strategyHWM-S._queueTotalSize}function w2(S,T){let D=S._pendingPullIntos.peek();if(S._controlledReadableByteStream._state==="closed"){if(T!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(T===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(D.bytesFilled+T>D.byteLength)throw new RangeError("bytesWritten out of range")}D.buffer=Ct(D.buffer),Ule(S,T)}function R2(S,T){let D=S._pendingPullIntos.peek();if(S._controlledReadableByteStream._state==="closed"){if(T.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(T.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(D.byteOffset+D.bytesFilled!==T.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(D.bufferByteLength!==T.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(D.bytesFilled+T.byteLength>D.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let ae=T.byteLength;D.buffer=Ct(T.buffer),Ule(S,ae)}function Hle(S,T,D,K,ae,pe,xe){T._controlledReadableByteStream=S,T._pullAgain=!1,T._pulling=!1,T._byobRequest=null,T._queue=T._queueTotalSize=void 0,Ao(T),T._closeRequested=!1,T._started=!1,T._strategyHWM=pe,T._pullAlgorithm=K,T._cancelAlgorithm=ae,T._autoAllocateChunkSize=xe,T._pendingPullIntos=new v,S._readableStreamController=T;let Qe=D();f(u(Qe),()=>(T._started=!0,pm(T),null),It=>(Uo(T,It),null))}function _pt(S,T,D){let K=Object.create(nd.prototype),ae,pe,xe;T.start!==void 0?ae=()=>T.start(K):ae=()=>{},T.pull!==void 0?pe=()=>T.pull(K):pe=()=>u(void 0),T.cancel!==void 0?xe=It=>T.cancel(It):xe=()=>u(void 0);let Qe=T.autoAllocateChunkSize;if(Qe===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Hle(S,K,ae,pe,xe,D,Qe)}function Spt(S,T,D){S._associatedReadableByteStreamController=T,S._view=D}function g6(S){return new TypeError(`ReadableStreamBYOBRequest.prototype.${S} can only be used on a ReadableStreamBYOBRequest`)}function VE(S){return new TypeError(`ReadableByteStreamController.prototype.${S} can only be used on a ReadableByteStreamController`)}function vpt(S,T){Ce(S,T);let D=S?.mode;return{mode:D===void 0?void 0:Cpt(D,`${T} has member 'mode' that`)}}function Cpt(S,T){if(S=`${S}`,S!=="byob")throw new TypeError(`${T} '${S}' is not a valid enumeration value for ReadableStreamReaderMode`);return S}function Ipt(S,T){var D;Ce(S,T);let K=(D=S?.min)!==null&&D!==void 0?D:1;return{min:H(K,`${T} has member 'min' that`)}}function Qle(S){return new rp(S)}function Gle(S,T){S._reader._readIntoRequests.push(T)}function Tpt(S,T,D){let ae=S._reader._readIntoRequests.shift();D?ae._closeSteps(T):ae._chunkSteps(T)}function Vle(S){return S._reader._readIntoRequests.length}function A6(S){let T=S._reader;return!(T===void 0||!mm(T))}class rp{constructor(T){if(_e(T,1,"ReadableStreamBYOBReader"),ee(T,"First parameter"),ip(T))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!fm(T._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");L(this,T),this._readIntoRequests=new v}get closed(){return mm(this)?this._closedPromise:l(N2("closed"))}cancel(T=void 0){return mm(this)?this._ownerReadableStream===void 0?l(B("cancel")):M(this,T):l(N2("cancel"))}read(T,D={}){if(!mm(this))return l(N2("read"));if(!ArrayBuffer.isView(T))return l(new TypeError("view must be an array buffer view"));if(T.byteLength===0)return l(new TypeError("view must have non-zero byteLength"));if(T.buffer.byteLength===0)return l(new TypeError("view's buffer must have non-zero byteLength"));if(Sr(T.buffer))return l(new TypeError("view's buffer has been detached"));let K;try{K=Ipt(D,"options")}catch(dt){return l(dt)}let ae=K.min;if(ae===0)return l(new TypeError("options.min must be greater than 0"));if(l6(T)){if(ae>T.byteLength)return l(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(ae>T.length)return l(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return l(B("read from"));let pe,xe,Qe=c((dt,Bt)=>{pe=dt,xe=Bt});return zle(this,T,ae,{_chunkSteps:dt=>pe({value:dt,done:!1}),_closeSteps:dt=>pe({value:dt,done:!0}),_errorSteps:dt=>xe(dt)}),Qe}releaseLock(){if(!mm(this))throw N2("releaseLock");this._ownerReadableStream!==void 0&&wpt(this)}}Object.defineProperties(rp.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),s(rp.prototype.cancel,"cancel"),s(rp.prototype.read,"read"),s(rp.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(rp.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function mm(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_readIntoRequests")?!1:S instanceof rp}function zle(S,T,D,K){let ae=S._ownerReadableStream;ae._disturbed=!0,ae._state==="errored"?K._errorSteps(ae._storedError):ypt(ae._readableStreamController,T,D,K)}function wpt(S){k(S);let T=new TypeError("Reader was released");Kle(S,T)}function Kle(S,T){let D=S._readIntoRequests;S._readIntoRequests=new v,D.forEach(K=>{K._errorSteps(T)})}function N2(S){return new TypeError(`ReadableStreamBYOBReader.prototype.${S} can only be used on a ReadableStreamBYOBReader`)}function zE(S,T){let{highWaterMark:D}=S;if(D===void 0)return T;if(De(D)||D<0)throw new RangeError("Invalid highWaterMark");return D}function O2(S){let{size:T}=S;return T||(()=>1)}function P2(S,T){Ce(S,T);let D=S?.highWaterMark,K=S?.size;return{highWaterMark:D===void 0?void 0:G(D),size:K===void 0?void 0:Rpt(K,`${T} has member 'size' that`)}}function Rpt(S,T){return we(S,T),D=>G(S(D))}function Npt(S,T){Ce(S,T);let D=S?.abort,K=S?.close,ae=S?.start,pe=S?.type,xe=S?.write;return{abort:D===void 0?void 0:Opt(D,S,`${T} has member 'abort' that`),close:K===void 0?void 0:Ppt(K,S,`${T} has member 'close' that`),start:ae===void 0?void 0:Dpt(ae,S,`${T} has member 'start' that`),write:xe===void 0?void 0:kpt(xe,S,`${T} has member 'write' that`),type:pe}}function Opt(S,T,D){return we(S,D),K=>y(S,T,[K])}function Ppt(S,T,D){return we(S,D),()=>y(S,T,[])}function Dpt(S,T,D){return we(S,D),K=>b(S,T,[K])}function kpt(S,T,D){return we(S,D),(K,ae)=>y(S,T,[K,ae])}function Yle(S,T){if(!_A(S))throw new TypeError(`${T} is not a WritableStream.`)}function Lpt(S){if(typeof S!="object"||S===null)return!1;try{return typeof S.aborted=="boolean"}catch{return!1}}let Bpt=typeof AbortController=="function";function Mpt(){if(Bpt)return new AbortController}class np{constructor(T={},D={}){T===void 0?T=null:Fe(T,"First parameter");let K=P2(D,"Second parameter"),ae=Npt(T,"First parameter");if(Xle(this),ae.type!==void 0)throw new RangeError("Invalid type is specified");let xe=O2(K),Qe=zE(K,1);Jpt(this,ae,Qe,xe)}get locked(){if(!_A(this))throw M2("locked");return SA(this)}abort(T=void 0){return _A(this)?SA(this)?l(new TypeError("Cannot abort a stream that already has a writer")):D2(this,T):l(M2("abort"))}close(){return _A(this)?SA(this)?l(new TypeError("Cannot close a stream that already has a writer")):Bu(this)?l(new TypeError("Cannot close an already-closing stream")):Zle(this):l(M2("close"))}getWriter(){if(!_A(this))throw M2("getWriter");return Jle(this)}}Object.defineProperties(np.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),s(np.prototype.abort,"abort"),s(np.prototype.close,"close"),s(np.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(np.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Jle(S){return new sd(S)}function Wpt(S,T,D,K,ae=1,pe=()=>1){let xe=Object.create(np.prototype);Xle(xe);let Qe=Object.create(vA.prototype);return ide(xe,Qe,S,T,D,K,ae,pe),xe}function Xle(S){S._state="writable",S._storedError=void 0,S._writer=void 0,S._writableStreamController=void 0,S._writeRequests=new v,S._inFlightWriteRequest=void 0,S._closeRequest=void 0,S._inFlightCloseRequest=void 0,S._pendingAbortRequest=void 0,S._backpressure=!1}function _A(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_writableStreamController")?!1:S instanceof np}function SA(S){return S._writer!==void 0}function D2(S,T){var D;if(S._state==="closed"||S._state==="errored")return u(void 0);S._writableStreamController._abortReason=T,(D=S._writableStreamController._abortController)===null||D===void 0||D.abort(T);let K=S._state;if(K==="closed"||K==="errored")return u(void 0);if(S._pendingAbortRequest!==void 0)return S._pendingAbortRequest._promise;let ae=!1;K==="erroring"&&(ae=!0,T=void 0);let pe=c((xe,Qe)=>{S._pendingAbortRequest={_promise:void 0,_resolve:xe,_reject:Qe,_reason:T,_wasAlreadyErroring:ae}});return S._pendingAbortRequest._promise=pe,ae||x6(S,T),pe}function Zle(S){let T=S._state;if(T==="closed"||T==="errored")return l(new TypeError(`The stream (in ${T} state) is not in the writable state and cannot be closed`));let D=c((ae,pe)=>{let xe={_resolve:ae,_reject:pe};S._closeRequest=xe}),K=S._writer;return K!==void 0&&S._backpressure&&T==="writable"&&T6(K),Xpt(S._writableStreamController),D}function $pt(S){return c((D,K)=>{let ae={_resolve:D,_reject:K};S._writeRequests.push(ae)})}function y6(S,T){if(S._state==="writable"){x6(S,T);return}b6(S)}function x6(S,T){let D=S._writableStreamController;S._state="erroring",S._storedError=T;let K=S._writer;K!==void 0&&tde(K,T),!Hpt(S)&&D._started&&b6(S)}function b6(S){S._state="errored",S._writableStreamController[R]();let T=S._storedError;if(S._writeRequests.forEach(ae=>{ae._reject(T)}),S._writeRequests=new v,S._pendingAbortRequest===void 0){k2(S);return}let D=S._pendingAbortRequest;if(S._pendingAbortRequest=void 0,D._wasAlreadyErroring){D._reject(T),k2(S);return}let K=S._writableStreamController[C](D._reason);f(K,()=>(D._resolve(),k2(S),null),ae=>(D._reject(ae),k2(S),null))}function Fpt(S){S._inFlightWriteRequest._resolve(void 0),S._inFlightWriteRequest=void 0}function Upt(S,T){S._inFlightWriteRequest._reject(T),S._inFlightWriteRequest=void 0,y6(S,T)}function qpt(S){S._inFlightCloseRequest._resolve(void 0),S._inFlightCloseRequest=void 0,S._state==="erroring"&&(S._storedError=void 0,S._pendingAbortRequest!==void 0&&(S._pendingAbortRequest._resolve(),S._pendingAbortRequest=void 0)),S._state="closed";let D=S._writer;D!==void 0&&ude(D)}function jpt(S,T){S._inFlightCloseRequest._reject(T),S._inFlightCloseRequest=void 0,S._pendingAbortRequest!==void 0&&(S._pendingAbortRequest._reject(T),S._pendingAbortRequest=void 0),y6(S,T)}function Bu(S){return!(S._closeRequest===void 0&&S._inFlightCloseRequest===void 0)}function Hpt(S){return!(S._inFlightWriteRequest===void 0&&S._inFlightCloseRequest===void 0)}function Qpt(S){S._inFlightCloseRequest=S._closeRequest,S._closeRequest=void 0}function Gpt(S){S._inFlightWriteRequest=S._writeRequests.shift()}function k2(S){S._closeRequest!==void 0&&(S._closeRequest._reject(S._storedError),S._closeRequest=void 0);let T=S._writer;T!==void 0&&C6(T,S._storedError)}function E6(S,T){let D=S._writer;D!==void 0&&T!==S._backpressure&&(T?i0t(D):T6(D)),S._backpressure=T}class sd{constructor(T){if(_e(T,1,"WritableStreamDefaultWriter"),Yle(T,"First parameter"),SA(T))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=T,T._writer=this;let D=T._state;if(D==="writable")!Bu(T)&&T._backpressure?$2(this):lde(this),W2(this);else if(D==="erroring")I6(this,T._storedError),W2(this);else if(D==="closed")lde(this),n0t(this);else{let K=T._storedError;I6(this,K),cde(this,K)}}get closed(){return hm(this)?this._closedPromise:l(gm("closed"))}get desiredSize(){if(!hm(this))throw gm("desiredSize");if(this._ownerWritableStream===void 0)throw YE("desiredSize");return Ypt(this)}get ready(){return hm(this)?this._readyPromise:l(gm("ready"))}abort(T=void 0){return hm(this)?this._ownerWritableStream===void 0?l(YE("abort")):Vpt(this,T):l(gm("abort"))}close(){if(!hm(this))return l(gm("close"));let T=this._ownerWritableStream;return T===void 0?l(YE("close")):Bu(T)?l(new TypeError("Cannot close an already-closing stream")):ede(this)}releaseLock(){if(!hm(this))throw gm("releaseLock");this._ownerWritableStream!==void 0&&rde(this)}write(T=void 0){return hm(this)?this._ownerWritableStream===void 0?l(YE("write to")):nde(this,T):l(gm("write"))}}Object.defineProperties(sd.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),s(sd.prototype.abort,"abort"),s(sd.prototype.close,"close"),s(sd.prototype.releaseLock,"releaseLock"),s(sd.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(sd.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function hm(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_ownerWritableStream")?!1:S instanceof sd}function Vpt(S,T){let D=S._ownerWritableStream;return D2(D,T)}function ede(S){let T=S._ownerWritableStream;return Zle(T)}function zpt(S){let T=S._ownerWritableStream,D=T._state;return Bu(T)||D==="closed"?u(void 0):D==="errored"?l(T._storedError):ede(S)}function Kpt(S,T){S._closedPromiseState==="pending"?C6(S,T):s0t(S,T)}function tde(S,T){S._readyPromiseState==="pending"?dde(S,T):a0t(S,T)}function Ypt(S){let T=S._ownerWritableStream,D=T._state;return D==="errored"||D==="erroring"?null:D==="closed"?0:ade(T._writableStreamController)}function rde(S){let T=S._ownerWritableStream,D=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");tde(S,D),Kpt(S,D),T._writer=void 0,S._ownerWritableStream=void 0}function nde(S,T){let D=S._ownerWritableStream,K=D._writableStreamController,ae=Zpt(K,T);if(D!==S._ownerWritableStream)return l(YE("write to"));let pe=D._state;if(pe==="errored")return l(D._storedError);if(Bu(D)||pe==="closed")return l(new TypeError("The stream is closing or closed and cannot be written to"));if(pe==="erroring")return l(D._storedError);let xe=$pt(D);return e0t(K,T,ae),xe}let sde={};class vA{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!_6(this))throw v6("abortReason");return this._abortReason}get signal(){if(!_6(this))throw v6("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(T=void 0){if(!_6(this))throw v6("error");this._controlledWritableStream._state==="writable"&&ode(this,T)}[C](T){let D=this._abortAlgorithm(T);return L2(this),D}[R](){Ao(this)}}Object.defineProperties(vA.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(vA.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function _6(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledWritableStream")?!1:S instanceof vA}function ide(S,T,D,K,ae,pe,xe,Qe){T._controlledWritableStream=S,S._writableStreamController=T,T._queue=void 0,T._queueTotalSize=void 0,Ao(T),T._abortReason=void 0,T._abortController=Mpt(),T._started=!1,T._strategySizeAlgorithm=Qe,T._strategyHWM=xe,T._writeAlgorithm=K,T._closeAlgorithm=ae,T._abortAlgorithm=pe;let It=S6(T);E6(S,It);let dt=D(),Bt=u(dt);f(Bt,()=>(T._started=!0,B2(T),null),Jt=>(T._started=!0,y6(S,Jt),null))}function Jpt(S,T,D,K){let ae=Object.create(vA.prototype),pe,xe,Qe,It;T.start!==void 0?pe=()=>T.start(ae):pe=()=>{},T.write!==void 0?xe=dt=>T.write(dt,ae):xe=()=>u(void 0),T.close!==void 0?Qe=()=>T.close():Qe=()=>u(void 0),T.abort!==void 0?It=dt=>T.abort(dt):It=()=>u(void 0),ide(S,ae,pe,xe,Qe,It,D,K)}function L2(S){S._writeAlgorithm=void 0,S._closeAlgorithm=void 0,S._abortAlgorithm=void 0,S._strategySizeAlgorithm=void 0}function Xpt(S){wa(S,sde,0),B2(S)}function Zpt(S,T){try{return S._strategySizeAlgorithm(T)}catch(D){return KE(S,D),1}}function ade(S){return S._strategyHWM-S._queueTotalSize}function e0t(S,T,D){try{wa(S,T,D)}catch(ae){KE(S,ae);return}let K=S._controlledWritableStream;if(!Bu(K)&&K._state==="writable"){let ae=S6(S);E6(K,ae)}B2(S)}function B2(S){let T=S._controlledWritableStream;if(!S._started||T._inFlightWriteRequest!==void 0)return;if(T._state==="erroring"){b6(T);return}if(S._queue.length===0)return;let K=rd(S);K===sde?t0t(S):r0t(S,K)}function KE(S,T){S._controlledWritableStream._state==="writable"&&ode(S,T)}function t0t(S){let T=S._controlledWritableStream;Qpt(T),yn(S);let D=S._closeAlgorithm();L2(S),f(D,()=>(qpt(T),null),K=>(jpt(T,K),null))}function r0t(S,T){let D=S._controlledWritableStream;Gpt(D);let K=S._writeAlgorithm(T);f(K,()=>{Fpt(D);let ae=D._state;if(yn(S),!Bu(D)&&ae==="writable"){let pe=S6(S);E6(D,pe)}return B2(S),null},ae=>(D._state==="writable"&&L2(S),Upt(D,ae),null))}function S6(S){return ade(S)<=0}function ode(S,T){let D=S._controlledWritableStream;L2(S),x6(D,T)}function M2(S){return new TypeError(`WritableStream.prototype.${S} can only be used on a WritableStream`)}function v6(S){return new TypeError(`WritableStreamDefaultController.prototype.${S} can only be used on a WritableStreamDefaultController`)}function gm(S){return new TypeError(`WritableStreamDefaultWriter.prototype.${S} can only be used on a WritableStreamDefaultWriter`)}function YE(S){return new TypeError("Cannot "+S+" a stream using a released writer")}function W2(S){S._closedPromise=c((T,D)=>{S._closedPromise_resolve=T,S._closedPromise_reject=D,S._closedPromiseState="pending"})}function cde(S,T){W2(S),C6(S,T)}function n0t(S){W2(S),ude(S)}function C6(S,T){S._closedPromise_reject!==void 0&&(A(S._closedPromise),S._closedPromise_reject(T),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0,S._closedPromiseState="rejected")}function s0t(S,T){cde(S,T)}function ude(S){S._closedPromise_resolve!==void 0&&(S._closedPromise_resolve(void 0),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0,S._closedPromiseState="resolved")}function $2(S){S._readyPromise=c((T,D)=>{S._readyPromise_resolve=T,S._readyPromise_reject=D}),S._readyPromiseState="pending"}function I6(S,T){$2(S),dde(S,T)}function lde(S){$2(S),T6(S)}function dde(S,T){S._readyPromise_reject!==void 0&&(A(S._readyPromise),S._readyPromise_reject(T),S._readyPromise_resolve=void 0,S._readyPromise_reject=void 0,S._readyPromiseState="rejected")}function i0t(S){$2(S)}function a0t(S,T){I6(S,T)}function T6(S){S._readyPromise_resolve!==void 0&&(S._readyPromise_resolve(void 0),S._readyPromise_resolve=void 0,S._readyPromise_reject=void 0,S._readyPromiseState="fulfilled")}function o0t(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let w6=o0t();function c0t(S){if(!(typeof S=="function"||typeof S=="object")||S.name!=="DOMException")return!1;try{return new S,!0}catch{return!1}}function u0t(){let S=w6?.DOMException;return c0t(S)?S:void 0}function l0t(){let S=function(D,K){this.message=D||"",this.name=K||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return s(S,"DOMException"),S.prototype=Object.create(Error.prototype),Object.defineProperty(S.prototype,"constructor",{value:S,writable:!0,configurable:!0}),S}let d0t=u0t()||l0t();function fde(S,T,D,K,ae,pe){let xe=ne(S),Qe=Jle(T);S._disturbed=!0;let It=!1,dt=u(void 0);return c((Bt,Jt)=>{let un;if(pe!==void 0){if(un=()=>{let ht=pe.reason!==void 0?pe.reason:new d0t("Aborted","AbortError"),lr=[];K||lr.push(()=>T._state==="writable"?D2(T,ht):u(void 0)),ae||lr.push(()=>S._state==="readable"?Lc(S,ht):u(void 0)),Ra(()=>Promise.all(lr.map(xn=>xn())),!0,ht)},pe.aborted){un();return}pe.addEventListener("abort",un)}function Bc(){return c((ht,lr)=>{function xn(yo){yo?ht():d(wA(),xn,lr)}xn(!1)})}function wA(){return It?u(!0):d(Qe._readyPromise,()=>c((ht,lr)=>{Pe(xe,{_chunkSteps:xn=>{dt=d(nde(Qe,xn),void 0,e),ht(!1)},_closeSteps:()=>ht(!0),_errorSteps:lr})}))}if(ad(S,xe._closedPromise,ht=>(K?qo(!0,ht):Ra(()=>D2(T,ht),!0,ht),null)),ad(T,Qe._closedPromise,ht=>(ae?qo(!0,ht):Ra(()=>Lc(S,ht),!0,ht),null)),Zi(S,xe._closedPromise,()=>(D?qo():Ra(()=>zpt(Qe)),null)),Bu(T)||T._state==="closed"){let ht=new TypeError("the destination writable stream closed before all data could be piped to it");ae?qo(!0,ht):Ra(()=>Lc(S,ht),!0,ht)}A(Bc());function op(){let ht=dt;return d(dt,()=>ht!==dt?op():void 0)}function ad(ht,lr,xn){ht._state==="errored"?xn(ht._storedError):m(lr,xn)}function Zi(ht,lr,xn){ht._state==="closed"?xn():p(lr,xn)}function Ra(ht,lr,xn){if(It)return;It=!0,T._state==="writable"&&!Bu(T)?p(op(),yo):yo();function yo(){return f(ht(),()=>od(lr,xn),RA=>od(!0,RA)),null}}function qo(ht,lr){It||(It=!0,T._state==="writable"&&!Bu(T)?p(op(),()=>od(ht,lr)):od(ht,lr))}function od(ht,lr){return rde(Qe),k(xe),pe!==void 0&&pe.removeEventListener("abort",un),ht?Jt(lr):Bt(void 0),null}})}class id{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!F2(this))throw q2("desiredSize");return R6(this)}close(){if(!F2(this))throw q2("close");if(!IA(this))throw new TypeError("The stream is not in a state that permits close");Am(this)}enqueue(T=void 0){if(!F2(this))throw q2("enqueue");if(!IA(this))throw new TypeError("The stream is not in a state that permits enqueue");return CA(this,T)}error(T=void 0){if(!F2(this))throw q2("error");kc(this,T)}[w](T){Ao(this);let D=this._cancelAlgorithm(T);return U2(this),D}[N](T){let D=this._controlledReadableStream;if(this._queue.length>0){let K=yn(this);this._closeRequested&&this._queue.length===0?(U2(this),ZE(D)):JE(this),T._chunkSteps(K)}else re(D,T),JE(this)}[P](){}}Object.defineProperties(id.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),s(id.prototype.close,"close"),s(id.prototype.enqueue,"enqueue"),s(id.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(id.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function F2(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledReadableStream")?!1:S instanceof id}function JE(S){if(!pde(S))return;if(S._pulling){S._pullAgain=!0;return}S._pulling=!0;let D=S._pullAlgorithm();f(D,()=>(S._pulling=!1,S._pullAgain&&(S._pullAgain=!1,JE(S)),null),K=>(kc(S,K),null))}function pde(S){let T=S._controlledReadableStream;return!IA(S)||!S._started?!1:!!(ip(T)&&ie(T)>0||R6(S)>0)}function U2(S){S._pullAlgorithm=void 0,S._cancelAlgorithm=void 0,S._strategySizeAlgorithm=void 0}function Am(S){if(!IA(S))return;let T=S._controlledReadableStream;S._closeRequested=!0,S._queue.length===0&&(U2(S),ZE(T))}function CA(S,T){if(!IA(S))return;let D=S._controlledReadableStream;if(ip(D)&&ie(D)>0)X(D,T,!1);else{let K;try{K=S._strategySizeAlgorithm(T)}catch(ae){throw kc(S,ae),ae}try{wa(S,T,K)}catch(ae){throw kc(S,ae),ae}}JE(S)}function kc(S,T){let D=S._controlledReadableStream;D._state==="readable"&&(Ao(S),U2(S),Ade(D,T))}function R6(S){let T=S._controlledReadableStream._state;return T==="errored"?null:T==="closed"?0:S._strategyHWM-S._queueTotalSize}function f0t(S){return!pde(S)}function IA(S){let T=S._controlledReadableStream._state;return!S._closeRequested&&T==="readable"}function mde(S,T,D,K,ae,pe,xe){T._controlledReadableStream=S,T._queue=void 0,T._queueTotalSize=void 0,Ao(T),T._started=!1,T._closeRequested=!1,T._pullAgain=!1,T._pulling=!1,T._strategySizeAlgorithm=xe,T._strategyHWM=pe,T._pullAlgorithm=K,T._cancelAlgorithm=ae,S._readableStreamController=T;let Qe=D();f(u(Qe),()=>(T._started=!0,JE(T),null),It=>(kc(T,It),null))}function p0t(S,T,D,K){let ae=Object.create(id.prototype),pe,xe,Qe;T.start!==void 0?pe=()=>T.start(ae):pe=()=>{},T.pull!==void 0?xe=()=>T.pull(ae):xe=()=>u(void 0),T.cancel!==void 0?Qe=It=>T.cancel(It):Qe=()=>u(void 0),mde(S,ae,pe,xe,Qe,D,K)}function q2(S){return new TypeError(`ReadableStreamDefaultController.prototype.${S} can only be used on a ReadableStreamDefaultController`)}function m0t(S,T){return fm(S._readableStreamController)?g0t(S):h0t(S)}function h0t(S,T){let D=ne(S),K=!1,ae=!1,pe=!1,xe=!1,Qe,It,dt,Bt,Jt,un=c(Zi=>{Jt=Zi});function Bc(){return K?(ae=!0,u(void 0)):(K=!0,Pe(D,{_chunkSteps:Ra=>{g(()=>{ae=!1;let qo=Ra,od=Ra;pe||CA(dt._readableStreamController,qo),xe||CA(Bt._readableStreamController,od),K=!1,ae&&Bc()})},_closeSteps:()=>{K=!1,pe||Am(dt._readableStreamController),xe||Am(Bt._readableStreamController),(!pe||!xe)&&Jt(void 0)},_errorSteps:()=>{K=!1}}),u(void 0))}function wA(Zi){if(pe=!0,Qe=Zi,xe){let Ra=bt([Qe,It]),qo=Lc(S,Ra);Jt(qo)}return un}function op(Zi){if(xe=!0,It=Zi,pe){let Ra=bt([Qe,It]),qo=Lc(S,Ra);Jt(qo)}return un}function ad(){}return dt=XE(ad,Bc,wA),Bt=XE(ad,Bc,op),m(D._closedPromise,Zi=>(kc(dt._readableStreamController,Zi),kc(Bt._readableStreamController,Zi),(!pe||!xe)&&Jt(void 0),null)),[dt,Bt]}function g0t(S){let T=ne(S),D=!1,K=!1,ae=!1,pe=!1,xe=!1,Qe,It,dt,Bt,Jt,un=c(ht=>{Jt=ht});function Bc(ht){m(ht._closedPromise,lr=>(ht!==T||(Uo(dt._readableStreamController,lr),Uo(Bt._readableStreamController,lr),(!pe||!xe)&&Jt(void 0)),null))}function wA(){mm(T)&&(k(T),T=ne(S),Bc(T)),Pe(T,{_chunkSteps:lr=>{g(()=>{K=!1,ae=!1;let xn=lr,yo=lr;if(!pe&&!xe)try{yo=Ta(lr)}catch(RA){Uo(dt._readableStreamController,RA),Uo(Bt._readableStreamController,RA),Jt(Lc(S,RA));return}pe||T2(dt._readableStreamController,xn),xe||T2(Bt._readableStreamController,yo),D=!1,K?ad():ae&&Zi()})},_closeSteps:()=>{D=!1,pe||GE(dt._readableStreamController),xe||GE(Bt._readableStreamController),dt._readableStreamController._pendingPullIntos.length>0&&w2(dt._readableStreamController,0),Bt._readableStreamController._pendingPullIntos.length>0&&w2(Bt._readableStreamController,0),(!pe||!xe)&&Jt(void 0)},_errorSteps:()=>{D=!1}})}function op(ht,lr){Ne(T)&&(k(T),T=Qle(S),Bc(T));let xn=lr?Bt:dt,yo=lr?dt:Bt;zle(T,ht,1,{_chunkSteps:NA=>{g(()=>{K=!1,ae=!1;let OA=lr?xe:pe;if(lr?pe:xe)OA||R2(xn._readableStreamController,NA);else{let Nde;try{Nde=Ta(NA)}catch(k6){Uo(xn._readableStreamController,k6),Uo(yo._readableStreamController,k6),Jt(Lc(S,k6));return}OA||R2(xn._readableStreamController,NA),T2(yo._readableStreamController,Nde)}D=!1,K?ad():ae&&Zi()})},_closeSteps:NA=>{D=!1;let OA=lr?xe:pe,Y2=lr?pe:xe;OA||GE(xn._readableStreamController),Y2||GE(yo._readableStreamController),NA!==void 0&&(OA||R2(xn._readableStreamController,NA),!Y2&&yo._readableStreamController._pendingPullIntos.length>0&&w2(yo._readableStreamController,0)),(!OA||!Y2)&&Jt(void 0)},_errorSteps:()=>{D=!1}})}function ad(){if(D)return K=!0,u(void 0);D=!0;let ht=h6(dt._readableStreamController);return ht===null?wA():op(ht._view,!1),u(void 0)}function Zi(){if(D)return ae=!0,u(void 0);D=!0;let ht=h6(Bt._readableStreamController);return ht===null?wA():op(ht._view,!0),u(void 0)}function Ra(ht){if(pe=!0,Qe=ht,xe){let lr=bt([Qe,It]),xn=Lc(S,lr);Jt(xn)}return un}function qo(ht){if(xe=!0,It=ht,pe){let lr=bt([Qe,It]),xn=Lc(S,lr);Jt(xn)}return un}function od(){}return dt=gde(od,ad,Ra),Bt=gde(od,Zi,qo),Bc(T),[dt,Bt]}function A0t(S){return r(S)&&typeof S.getReader<"u"}function y0t(S){return A0t(S)?b0t(S.getReader()):x0t(S)}function x0t(S){let T,D=ys(S,"async"),K=e;function ae(){let xe;try{xe=Hs(D)}catch(It){return l(It)}let Qe=u(xe);return h(Qe,It=>{if(!r(It))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(Lu(It))Am(T._readableStreamController);else{let Bt=go(It);CA(T._readableStreamController,Bt)}})}function pe(xe){let Qe=D.iterator,It;try{It=Dr(Qe,"return")}catch(Jt){return l(Jt)}if(It===void 0)return u(void 0);let dt;try{dt=b(It,Qe,[xe])}catch(Jt){return l(Jt)}let Bt=u(dt);return h(Bt,Jt=>{if(!r(Jt))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return T=XE(K,ae,pe,0),T}function b0t(S){let T,D=e;function K(){let pe;try{pe=S.read()}catch(xe){return l(xe)}return h(pe,xe=>{if(!r(xe))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(xe.done)Am(T._readableStreamController);else{let Qe=xe.value;CA(T._readableStreamController,Qe)}})}function ae(pe){try{return u(S.cancel(pe))}catch(xe){return l(xe)}}return T=XE(D,K,ae,0),T}function E0t(S,T){Ce(S,T);let D=S,K=D?.autoAllocateChunkSize,ae=D?.cancel,pe=D?.pull,xe=D?.start,Qe=D?.type;return{autoAllocateChunkSize:K===void 0?void 0:H(K,`${T} has member 'autoAllocateChunkSize' that`),cancel:ae===void 0?void 0:_0t(ae,D,`${T} has member 'cancel' that`),pull:pe===void 0?void 0:S0t(pe,D,`${T} has member 'pull' that`),start:xe===void 0?void 0:v0t(xe,D,`${T} has member 'start' that`),type:Qe===void 0?void 0:C0t(Qe,`${T} has member 'type' that`)}}function _0t(S,T,D){return we(S,D),K=>y(S,T,[K])}function S0t(S,T,D){return we(S,D),K=>y(S,T,[K])}function v0t(S,T,D){return we(S,D),K=>b(S,T,[K])}function C0t(S,T){if(S=`${S}`,S!=="bytes")throw new TypeError(`${T} '${S}' is not a valid enumeration value for ReadableStreamType`);return S}function I0t(S,T){return Ce(S,T),{preventCancel:!!S?.preventCancel}}function hde(S,T){Ce(S,T);let D=S?.preventAbort,K=S?.preventCancel,ae=S?.preventClose,pe=S?.signal;return pe!==void 0&&T0t(pe,`${T} has member 'signal' that`),{preventAbort:!!D,preventCancel:!!K,preventClose:!!ae,signal:pe}}function T0t(S,T){if(!Lpt(S))throw new TypeError(`${T} is not an AbortSignal.`)}function w0t(S,T){Ce(S,T);let D=S?.readable;U(D,"readable","ReadableWritablePair"),ee(D,`${T} has member 'readable' that`);let K=S?.writable;return U(K,"writable","ReadableWritablePair"),Yle(K,`${T} has member 'writable' that`),{readable:D,writable:K}}class Si{constructor(T={},D={}){T===void 0?T=null:Fe(T,"First parameter");let K=P2(D,"Second parameter"),ae=E0t(T,"First parameter");if(N6(this),ae.type==="bytes"){if(K.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let pe=zE(K,0);_pt(this,ae,pe)}else{let pe=O2(K),xe=zE(K,1);p0t(this,ae,xe,pe)}}get locked(){if(!sp(this))throw ym("locked");return ip(this)}cancel(T=void 0){return sp(this)?ip(this)?l(new TypeError("Cannot cancel a stream that already has a reader")):Lc(this,T):l(ym("cancel"))}getReader(T=void 0){if(!sp(this))throw ym("getReader");return vpt(T,"First parameter").mode===void 0?ne(this):Qle(this)}pipeThrough(T,D={}){if(!sp(this))throw ym("pipeThrough");_e(T,1,"pipeThrough");let K=w0t(T,"First parameter"),ae=hde(D,"Second parameter");if(ip(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(SA(K.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let pe=fde(this,K.writable,ae.preventClose,ae.preventAbort,ae.preventCancel,ae.signal);return A(pe),K.readable}pipeTo(T,D={}){if(!sp(this))return l(ym("pipeTo"));if(T===void 0)return l("Parameter 1 is required in 'pipeTo'.");if(!_A(T))return l(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let K;try{K=hde(D,"Second parameter")}catch(ae){return l(ae)}return ip(this)?l(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):SA(T)?l(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):fde(this,T,K.preventClose,K.preventAbort,K.preventCancel,K.signal)}tee(){if(!sp(this))throw ym("tee");let T=m0t(this);return bt(T)}values(T=void 0){if(!sp(this))throw ym("values");let D=I0t(T,"First parameter");return tt(this,D.preventCancel)}[js](T){return this.values(T)}static from(T){return y0t(T)}}Object.defineProperties(Si,{from:{enumerable:!0}}),Object.defineProperties(Si.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),s(Si.from,"from"),s(Si.prototype.cancel,"cancel"),s(Si.prototype.getReader,"getReader"),s(Si.prototype.pipeThrough,"pipeThrough"),s(Si.prototype.pipeTo,"pipeTo"),s(Si.prototype.tee,"tee"),s(Si.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Si.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Si.prototype,js,{value:Si.prototype.values,writable:!0,configurable:!0});function XE(S,T,D,K=1,ae=()=>1){let pe=Object.create(Si.prototype);N6(pe);let xe=Object.create(id.prototype);return mde(pe,xe,S,T,D,K,ae),pe}function gde(S,T,D){let K=Object.create(Si.prototype);N6(K);let ae=Object.create(nd.prototype);return Hle(K,ae,S,T,D,0,void 0),K}function N6(S){S._state="readable",S._reader=void 0,S._storedError=void 0,S._disturbed=!1}function sp(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_readableStreamController")?!1:S instanceof Si}function ip(S){return S._reader!==void 0}function Lc(S,T){if(S._disturbed=!0,S._state==="closed")return u(void 0);if(S._state==="errored")return l(S._storedError);ZE(S);let D=S._reader;if(D!==void 0&&mm(D)){let ae=D._readIntoRequests;D._readIntoRequests=new v,ae.forEach(pe=>{pe._closeSteps(void 0)})}let K=S._readableStreamController[w](T);return h(K,e)}function ZE(S){S._state="closed";let T=S._reader;if(T!==void 0&&(J(T),Ne(T))){let D=T._readRequests;T._readRequests=new v,D.forEach(K=>{K._closeSteps()})}}function Ade(S,T){S._state="errored",S._storedError=T;let D=S._reader;D!==void 0&&(V(D,T),Ne(D)?Ke(D,T):Kle(D,T))}function ym(S){return new TypeError(`ReadableStream.prototype.${S} can only be used on a ReadableStream`)}function yde(S,T){Ce(S,T);let D=S?.highWaterMark;return U(D,"highWaterMark","QueuingStrategyInit"),{highWaterMark:G(D)}}let xde=S=>S.byteLength;s(xde,"size");class j2{constructor(T){_e(T,1,"ByteLengthQueuingStrategy"),T=yde(T,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=T.highWaterMark}get highWaterMark(){if(!Ede(this))throw bde("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Ede(this))throw bde("size");return xde}}Object.defineProperties(j2.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(j2.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function bde(S){return new TypeError(`ByteLengthQueuingStrategy.prototype.${S} can only be used on a ByteLengthQueuingStrategy`)}function Ede(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_byteLengthQueuingStrategyHighWaterMark")?!1:S instanceof j2}let _de=()=>1;s(_de,"size");class H2{constructor(T){_e(T,1,"CountQueuingStrategy"),T=yde(T,"First parameter"),this._countQueuingStrategyHighWaterMark=T.highWaterMark}get highWaterMark(){if(!vde(this))throw Sde("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!vde(this))throw Sde("size");return _de}}Object.defineProperties(H2.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(H2.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Sde(S){return new TypeError(`CountQueuingStrategy.prototype.${S} can only be used on a CountQueuingStrategy`)}function vde(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_countQueuingStrategyHighWaterMark")?!1:S instanceof H2}function R0t(S,T){Ce(S,T);let D=S?.cancel,K=S?.flush,ae=S?.readableType,pe=S?.start,xe=S?.transform,Qe=S?.writableType;return{cancel:D===void 0?void 0:D0t(D,S,`${T} has member 'cancel' that`),flush:K===void 0?void 0:N0t(K,S,`${T} has member 'flush' that`),readableType:ae,start:pe===void 0?void 0:O0t(pe,S,`${T} has member 'start' that`),transform:xe===void 0?void 0:P0t(xe,S,`${T} has member 'transform' that`),writableType:Qe}}function N0t(S,T,D){return we(S,D),K=>y(S,T,[K])}function O0t(S,T,D){return we(S,D),K=>b(S,T,[K])}function P0t(S,T,D){return we(S,D),(K,ae)=>y(S,T,[K,ae])}function D0t(S,T,D){return we(S,D),K=>y(S,T,[K])}class Q2{constructor(T={},D={},K={}){T===void 0&&(T=null);let ae=P2(D,"Second parameter"),pe=P2(K,"Third parameter"),xe=R0t(T,"First parameter");if(xe.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(xe.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Qe=zE(pe,0),It=O2(pe),dt=zE(ae,1),Bt=O2(ae),Jt,un=c(Bc=>{Jt=Bc});k0t(this,un,dt,Bt,Qe,It),B0t(this,xe),xe.start!==void 0?Jt(xe.start(this._transformStreamController)):Jt(void 0)}get readable(){if(!Cde(this))throw Rde("readable");return this._readable}get writable(){if(!Cde(this))throw Rde("writable");return this._writable}}Object.defineProperties(Q2.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Q2.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function k0t(S,T,D,K,ae,pe){function xe(){return T}function Qe(un){return $0t(S,un)}function It(un){return F0t(S,un)}function dt(){return U0t(S)}S._writable=Wpt(xe,Qe,dt,It,D,K);function Bt(){return q0t(S)}function Jt(un){return j0t(S,un)}S._readable=XE(xe,Bt,Jt,ae,pe),S._backpressure=void 0,S._backpressureChangePromise=void 0,S._backpressureChangePromise_resolve=void 0,G2(S,!0),S._transformStreamController=void 0}function Cde(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_transformStreamController")?!1:S instanceof Q2}function Ide(S,T){kc(S._readable._readableStreamController,T),O6(S,T)}function O6(S,T){z2(S._transformStreamController),KE(S._writable._writableStreamController,T),P6(S)}function P6(S){S._backpressure&&G2(S,!1)}function G2(S,T){S._backpressureChangePromise!==void 0&&S._backpressureChangePromise_resolve(),S._backpressureChangePromise=c(D=>{S._backpressureChangePromise_resolve=D}),S._backpressure=T}class ap{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!V2(this))throw K2("desiredSize");let T=this._controlledTransformStream._readable._readableStreamController;return R6(T)}enqueue(T=void 0){if(!V2(this))throw K2("enqueue");Tde(this,T)}error(T=void 0){if(!V2(this))throw K2("error");M0t(this,T)}terminate(){if(!V2(this))throw K2("terminate");W0t(this)}}Object.defineProperties(ap.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),s(ap.prototype.enqueue,"enqueue"),s(ap.prototype.error,"error"),s(ap.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ap.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function V2(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledTransformStream")?!1:S instanceof ap}function L0t(S,T,D,K,ae){T._controlledTransformStream=S,S._transformStreamController=T,T._transformAlgorithm=D,T._flushAlgorithm=K,T._cancelAlgorithm=ae,T._finishPromise=void 0,T._finishPromise_resolve=void 0,T._finishPromise_reject=void 0}function B0t(S,T){let D=Object.create(ap.prototype),K,ae,pe;T.transform!==void 0?K=xe=>T.transform(xe,D):K=xe=>{try{return Tde(D,xe),u(void 0)}catch(Qe){return l(Qe)}},T.flush!==void 0?ae=()=>T.flush(D):ae=()=>u(void 0),T.cancel!==void 0?pe=xe=>T.cancel(xe):pe=()=>u(void 0),L0t(S,D,K,ae,pe)}function z2(S){S._transformAlgorithm=void 0,S._flushAlgorithm=void 0,S._cancelAlgorithm=void 0}function Tde(S,T){let D=S._controlledTransformStream,K=D._readable._readableStreamController;if(!IA(K))throw new TypeError("Readable side is not in a state that permits enqueue");try{CA(K,T)}catch(pe){throw O6(D,pe),D._readable._storedError}f0t(K)!==D._backpressure&&G2(D,!0)}function M0t(S,T){Ide(S._controlledTransformStream,T)}function wde(S,T){let D=S._transformAlgorithm(T);return h(D,void 0,K=>{throw Ide(S._controlledTransformStream,K),K})}function W0t(S){let T=S._controlledTransformStream,D=T._readable._readableStreamController;Am(D);let K=new TypeError("TransformStream terminated");O6(T,K)}function $0t(S,T){let D=S._transformStreamController;if(S._backpressure){let K=S._backpressureChangePromise;return h(K,()=>{let ae=S._writable;if(ae._state==="erroring")throw ae._storedError;return wde(D,T)})}return wde(D,T)}function F0t(S,T){let D=S._transformStreamController;if(D._finishPromise!==void 0)return D._finishPromise;let K=S._readable;D._finishPromise=c((pe,xe)=>{D._finishPromise_resolve=pe,D._finishPromise_reject=xe});let ae=D._cancelAlgorithm(T);return z2(D),f(ae,()=>(K._state==="errored"?TA(D,K._storedError):(kc(K._readableStreamController,T),D6(D)),null),pe=>(kc(K._readableStreamController,pe),TA(D,pe),null)),D._finishPromise}function U0t(S){let T=S._transformStreamController;if(T._finishPromise!==void 0)return T._finishPromise;let D=S._readable;T._finishPromise=c((ae,pe)=>{T._finishPromise_resolve=ae,T._finishPromise_reject=pe});let K=T._flushAlgorithm();return z2(T),f(K,()=>(D._state==="errored"?TA(T,D._storedError):(Am(D._readableStreamController),D6(T)),null),ae=>(kc(D._readableStreamController,ae),TA(T,ae),null)),T._finishPromise}function q0t(S){return G2(S,!1),S._backpressureChangePromise}function j0t(S,T){let D=S._transformStreamController;if(D._finishPromise!==void 0)return D._finishPromise;let K=S._writable;D._finishPromise=c((pe,xe)=>{D._finishPromise_resolve=pe,D._finishPromise_reject=xe});let ae=D._cancelAlgorithm(T);return z2(D),f(ae,()=>(K._state==="errored"?TA(D,K._storedError):(KE(K._writableStreamController,T),P6(S),D6(D)),null),pe=>(KE(K._writableStreamController,pe),P6(S),TA(D,pe),null)),D._finishPromise}function K2(S){return new TypeError(`TransformStreamDefaultController.prototype.${S} can only be used on a TransformStreamDefaultController`)}function D6(S){S._finishPromise_resolve!==void 0&&(S._finishPromise_resolve(),S._finishPromise_resolve=void 0,S._finishPromise_reject=void 0)}function TA(S,T){S._finishPromise_reject!==void 0&&(A(S._finishPromise),S._finishPromise_reject(T),S._finishPromise_resolve=void 0,S._finishPromise_reject=void 0)}function Rde(S){return new TypeError(`TransformStream.prototype.${S} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=j2,t.CountQueuingStrategy=H2,t.ReadableByteStreamController=nd,t.ReadableStream=Si,t.ReadableStreamBYOBReader=rp,t.ReadableStreamBYOBRequest=dm,t.ReadableStreamDefaultController=id,t.ReadableStreamDefaultReader=fe,t.TransformStream=Q2,t.TransformStreamDefaultController=ap,t.WritableStream=np,t.WritableStreamDefaultController=vA,t.WritableStreamDefaultWriter=sd})});var L5e=E(()=>{if(!globalThis.ReadableStream)try{let t=require("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),t.emitWarning=e}catch(r){throw t.emitWarning=e,r}}catch{Object.assign(globalThis,k5e())}try{let{Blob:t}=require("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(r){let n=0,s=this;return new ReadableStream({type:"bytes",async pull(i){let o=await s.slice(n,Math.min(s.size,n+65536)).arrayBuffer();n+=o.byteLength,i.enqueue(new Uint8Array(o)),n===s.size&&i.close()}})})}catch{}});async function*vz(t,e=!0){for(let r of t)if("stream"in r)yield*r.stream();else if(ArrayBuffer.isView(r))if(e){let n=r.byteOffset,s=r.byteOffset+r.byteLength;for(;n!==s;){let i=Math.min(s-n,B5e),a=r.buffer.slice(n,n+i);n+=a.byteLength,yield new Uint8Array(a)}}else yield r;else{let n=0,s=r;for(;n!==s.size;){let a=await s.slice(n,Math.min(s.size,n+B5e)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var ljr,B5e,M5e,tir,hu,pC=dr(()=>{ljr=Re(L5e(),1);B5e=65536;M5e=class Cz{#e=[];#t="";#r=0;#n="transparent";constructor(e=[],r={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof r!="object"&&typeof r!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");r===null&&(r={});let n=new TextEncoder;for(let i of e){let a;ArrayBuffer.isView(i)?a=new Uint8Array(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):i instanceof ArrayBuffer?a=new Uint8Array(i.slice(0)):i instanceof Cz?a=i:a=n.encode(`${i}`),this.#r+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#n=`${r.endings===void 0?"transparent":r.endings}`;let s=r.type===void 0?"":String(r.type);this.#t=/^[\x20-\x7E]*$/.test(s)?s:""}get size(){return this.#r}get type(){return this.#t}async text(){let e=new TextDecoder,r="";for await(let n of vz(this.#e,!1))r+=e.decode(n,{stream:!0});return r+=e.decode(),r}async arrayBuffer(){let e=new Uint8Array(this.size),r=0;for await(let n of vz(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=vz(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(r){let n=await e.next();n.done?r.close():r.enqueue(n.value)},async cancel(){await e.return()}})}slice(e=0,r=this.size,n=""){let{size:s}=this,i=e<0?Math.max(s+e,0):Math.min(e,s),a=r<0?Math.max(s+r,0):Math.min(r,s),o=Math.max(a-i,0),c=this.#e,u=[],l=0;for(let f of c){if(l>=o)break;let p=ArrayBuffer.isView(f)?f.byteLength:f.size;if(i&&p<=i)i-=p,a-=p;else{let m;ArrayBuffer.isView(f)?(m=f.subarray(i,Math.min(p,a)),l+=m.byteLength):(m=f.slice(i,Math.min(p,a)),l+=m.size),a-=p,u.push(m),i=0}}let d=new Cz([],{type:String(n).toLowerCase()});return d.#r=o,d.#e=u,d}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(M5e.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});tir=M5e,hu=tir});var rir,nir,k0,Iz=dr(()=>{pC();rir=class extends hu{#e=0;#t="";constructor(e,r,n={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,n),n===null&&(n={});let s=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(s)||(this.#e=s),this.#t=String(r)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof hu&&/^(File)$/.test(e[Symbol.toStringTag])}},nir=rir,k0=nir});function F5e(t,e=hu){var r=`${W5e()}${W5e()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),n=[],s=`--${r}\r
Content-Disposition: form-data; name="`;return t.forEach((i,a)=>typeof i=="string"?n.push(s+Tz(a)+`"\r
\r
${i.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
`)}\r
`):n.push(s+Tz(a)+`"; filename="${Tz(i.name,1)}"\r
Content-Type: ${i.type||"application/octet-stream"}\r
\r
`,i,`\r
`)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}var mC,sir,iir,W5e,air,$5e,Tz,Yh,L0,AL=dr(()=>{pC();Iz();({toStringTag:mC,iterator:sir,hasInstance:iir}=Symbol),W5e=Math.random,air="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),$5e=(t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[mC])?[(r=r!==void 0?r+"":e[mC]=="File"?e.name:"blob",t),e.name!==r||e[mC]=="blob"?new k0([e],r,e):e]:[t,e+""]),Tz=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),Yh=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},L0=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[mC](){return"FormData"}[sir](){return this.entries()}static[iir](e){return e&&typeof e=="object"&&e[mC]==="FormData"&&!air.some(r=>typeof e[r]!="function")}append(...e){Yh("append",arguments,2),this.#e.push($5e(...e))}delete(e){Yh("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){Yh("get",arguments,1),e+="";for(var r=this.#e,n=r.length,s=0;s<n;s++)if(r[s][0]===e)return r[s][1];return null}getAll(e,r){return Yh("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return Yh("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){Yh("forEach",arguments,1);for(var[n,s]of this)e.call(r,s,n,this)}set(...e){Yh("set",arguments,2);var r=[],n=!0;e=$5e(...e),this.#e.forEach(s=>{s[0]===e[0]?n&&(n=!r.push(e)):r.push(s)}),n&&r.push(e),this.#e=r}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var af,yL=dr(()=>{af=class extends Error{constructor(e,r){super(e),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var ha,wz=dr(()=>{yL();ha=class extends af{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var xL,Rz,hC,U5e,q5e,j5e,bL=dr(()=>{xL=Symbol.toStringTag,Rz=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[xL]==="URLSearchParams",hC=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[xL]),U5e=t=>typeof t=="object"&&(t[xL]==="AbortSignal"||t[xL]==="EventTarget"),q5e=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},j5e=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var Q5e=E((Sjr,H5e)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=require("worker_threads"),e=new t().port1,r=new ArrayBuffer;e.postMessage(r,[r,r])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}H5e.exports=globalThis.DOMException});var Jh,G5e,V5e,Nz,z5e,K5e,Y5e,J5e,X5e,Z5e,EL,Oz=dr(()=>{Jh=require("node:fs"),G5e=require("node:path"),V5e=Re(Q5e(),1);Iz();pC();({stat:Nz}=Jh.promises),z5e=(t,e)=>X5e((0,Jh.statSync)(t),t,e),K5e=(t,e)=>Nz(t).then(r=>X5e(r,t,e)),Y5e=(t,e)=>Nz(t).then(r=>Z5e(r,t,e)),J5e=(t,e)=>Z5e((0,Jh.statSync)(t),t,e),X5e=(t,e,r="")=>new hu([new EL({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),Z5e=(t,e,r="")=>new k0([new EL({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,G5e.basename)(e),{type:r,lastModified:t.mtimeMs}),EL=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,r){return new t({path:this.#e,lastModified:this.lastModified,size:r-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await Nz(this.#e);if(e>this.lastModified)throw new V5e.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*(0,Jh.createReadStream)(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var t8e={};is(t8e,{toFormData:()=>pir});function fir(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let r=e[2]||e[3]||"",n=r.slice(r.lastIndexOf("\\")+1);return n=n.replace(/%22/g,'"'),n=n.replace(/&#(\d{4});/g,(s,i)=>String.fromCharCode(i)),n}async function pir(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let r=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");let n=new Pz(r[1]||r[2]),s,i,a,o,c,u,l=[],d=new L0,f=g=>{a+=A.decode(g,{stream:!0})},p=g=>{l.push(g)},m=()=>{let g=new k0(l,u,{type:c});d.append(o,g)},h=()=>{d.append(o,a)},A=new TextDecoder("utf-8");A.decode(),n.onPartBegin=function(){n.onPartData=f,n.onPartEnd=h,s="",i="",a="",o="",c="",u=null,l.length=0},n.onHeaderField=function(g){s+=A.decode(g,{stream:!0})},n.onHeaderValue=function(g){i+=A.decode(g,{stream:!0})},n.onHeaderEnd=function(){if(i+=A.decode(),s=s.toLowerCase(),s==="content-disposition"){let g=i.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);g&&(o=g[2]||g[3]||""),u=fir(i),u&&(n.onPartData=p,n.onPartEnd=m)}else s==="content-type"&&(c=i);i="",s=""};for await(let g of t)n.write(g);return n.end(),d}var Nl,vn,e8e,B0,_L,SL,oir,gC,cir,uir,lir,dir,Xh,Pz,r8e=dr(()=>{Oz();AL();Nl=0,vn={START_BOUNDARY:Nl++,HEADER_FIELD_START:Nl++,HEADER_FIELD:Nl++,HEADER_VALUE_START:Nl++,HEADER_VALUE:Nl++,HEADER_VALUE_ALMOST_DONE:Nl++,HEADERS_ALMOST_DONE:Nl++,PART_DATA_START:Nl++,PART_DATA:Nl++,END:Nl++},e8e=1,B0={PART_BOUNDARY:e8e,LAST_BOUNDARY:e8e*=2},_L=10,SL=13,oir=32,gC=45,cir=58,uir=97,lir=122,dir=t=>t|32,Xh=()=>{},Pz=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=Xh,this.onHeaderField=Xh,this.onHeadersEnd=Xh,this.onHeaderValue=Xh,this.onPartBegin=Xh,this.onPartData=Xh,this.onPartEnd=Xh,this.boundaryChars={},e=`\r
--`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=vn.START_BOUNDARY}write(e){let r=0,n=e.length,s=this.index,{lookbehind:i,boundary:a,boundaryChars:o,index:c,state:u,flags:l}=this,d=this.boundary.length,f=d-1,p=e.length,m,h,A=x=>{this[x+"Mark"]=r},g=x=>{delete this[x+"Mark"]},b=(x,v,C,R)=>{(v===void 0||v!==C)&&this[x](R&&R.subarray(v,C))},y=(x,v)=>{let C=x+"Mark";C in this&&(v?(b(x,this[C],r,e),delete this[C]):(b(x,this[C],e.length,e),this[C]=0))};for(r=0;r<n;r++)switch(m=e[r],u){case vn.START_BOUNDARY:if(c===a.length-2){if(m===gC)l|=B0.LAST_BOUNDARY;else if(m!==SL)return;c++;break}else if(c-1===a.length-2){if(l&B0.LAST_BOUNDARY&&m===gC)u=vn.END,l=0;else if(!(l&B0.LAST_BOUNDARY)&&m===_L)c=0,b("onPartBegin"),u=vn.HEADER_FIELD_START;else return;break}m!==a[c+2]&&(c=-2),m===a[c+2]&&c++;break;case vn.HEADER_FIELD_START:u=vn.HEADER_FIELD,A("onHeaderField"),c=0;case vn.HEADER_FIELD:if(m===SL){g("onHeaderField"),u=vn.HEADERS_ALMOST_DONE;break}if(c++,m===gC)break;if(m===cir){if(c===1)return;y("onHeaderField",!0),u=vn.HEADER_VALUE_START;break}if(h=dir(m),h<uir||h>lir)return;break;case vn.HEADER_VALUE_START:if(m===oir)break;A("onHeaderValue"),u=vn.HEADER_VALUE;case vn.HEADER_VALUE:m===SL&&(y("onHeaderValue",!0),b("onHeaderEnd"),u=vn.HEADER_VALUE_ALMOST_DONE);break;case vn.HEADER_VALUE_ALMOST_DONE:if(m!==_L)return;u=vn.HEADER_FIELD_START;break;case vn.HEADERS_ALMOST_DONE:if(m!==_L)return;b("onHeadersEnd"),u=vn.PART_DATA_START;break;case vn.PART_DATA_START:u=vn.PART_DATA,A("onPartData");case vn.PART_DATA:if(s=c,c===0){for(r+=f;r<p&&!(e[r]in o);)r+=d;r-=f,m=e[r]}if(c<a.length)a[c]===m?(c===0&&y("onPartData",!0),c++):c=0;else if(c===a.length)c++,m===SL?l|=B0.PART_BOUNDARY:m===gC?l|=B0.LAST_BOUNDARY:c=0;else if(c-1===a.length)if(l&B0.PART_BOUNDARY){if(c=0,m===_L){l&=~B0.PART_BOUNDARY,b("onPartEnd"),b("onPartBegin"),u=vn.HEADER_FIELD_START;break}}else l&B0.LAST_BOUNDARY&&m===gC?(b("onPartEnd"),u=vn.END,l=0):c=0;if(c>0)i[c-1]=m;else if(s>0){let x=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);b("onPartData",0,s,x),s=0,A("onPartData"),r--}break;case vn.END:break;default:throw new Error(`Unexpected state entered: ${u}`)}y("onHeaderField"),y("onHeaderValue"),y("onPartData"),this.index=c,this.state=u,this.flags=l}end(){if(this.state===vn.HEADER_FIELD_START&&this.index===0||this.state===vn.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==vn.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});async function Dz(t){if(t[to].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[to].disturbed=!0,t[to].error)throw t[to].error;let{body:e}=t;if(e===null)return Io.Buffer.alloc(0);if(!(e instanceof vc.default))return Io.Buffer.alloc(0);let r=[],n=0;try{for await(let s of e){if(t.size>0&&n+s.length>t.size){let i=new ha(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(i),i}n+=s.length,r.push(s)}}catch(s){throw s instanceof af?s:new ha(`Invalid response body while trying to fetch ${t.url}: ${s.message}`,"system",s)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return r.every(s=>typeof s=="string")?Io.Buffer.from(r.join("")):Io.Buffer.concat(r,n)}catch(s){throw new ha(`Could not create Buffer from response body for ${t.url}: ${s.message}`,"system",s)}else throw new ha(`Premature close of server response while trying to fetch ${t.url}`)}var vc,of,Io,mir,to,Ol,ob,hir,vL,n8e,s8e,CL=dr(()=>{vc=Re(require("node:stream"),1),of=require("node:util"),Io=require("node:buffer");pC();AL();wz();yL();bL();mir=(0,of.promisify)(vc.default.pipeline),to=Symbol("Body internals"),Ol=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:Rz(e)?e=Io.Buffer.from(e.toString()):hC(e)||Io.Buffer.isBuffer(e)||(of.types.isAnyArrayBuffer(e)?e=Io.Buffer.from(e):ArrayBuffer.isView(e)?e=Io.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof vc.default||(e instanceof L0?(e=F5e(e),n=e.type.split("=")[1]):e=Io.Buffer.from(String(e))));let s=e;Io.Buffer.isBuffer(e)?s=vc.default.Readable.from(e):hC(e)&&(s=vc.default.Readable.from(e.stream())),this[to]={body:e,stream:s,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof vc.default&&e.on("error",i=>{let a=i instanceof af?i:new ha(`Invalid response body while trying to fetch ${this.url}: ${i.message}`,"system",i);this[to].error=a})}get body(){return this[to].stream}get bodyUsed(){return this[to].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await Dz(this);return e.slice(r,r+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new L0,s=new URLSearchParams(await this.text());for(let[i,a]of s)n.append(i,a);return n}let{toFormData:r}=await Promise.resolve().then(()=>(r8e(),t8e));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[to].body&&this[to].body.type||"",r=await this.arrayBuffer();return new hu([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Dz(this);return new TextDecoder().decode(e)}buffer(){return Dz(this)}};Ol.prototype.buffer=(0,of.deprecate)(Ol.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(Ol.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,of.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});ob=(t,e)=>{let r,n,{body:s}=t[to];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return s instanceof vc.default&&typeof s.getBoundary!="function"&&(r=new vc.PassThrough({highWaterMark:e}),n=new vc.PassThrough({highWaterMark:e}),s.pipe(r),s.pipe(n),t[to].stream=r,s=n),s},hir=(0,of.deprecate)(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),vL=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Rz(t)?"application/x-www-form-urlencoded;charset=UTF-8":hC(t)?t.type||null:Io.Buffer.isBuffer(t)||of.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof L0?`multipart/form-data; boundary=${e[to].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${hir(t)}`:t instanceof vc.default?null:"text/plain;charset=UTF-8",n8e=t=>{let{body:e}=t[to];return e===null?0:hC(e)?e.size:Io.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},s8e=async(t,{body:e})=>{e===null?t.end():await mir(e,t)}});function i8e(t=[]){return new ro(t.reduce((e,r,n,s)=>(n%2===0&&e.push(s.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return IL(e),Lz(e,String(r)),!0}catch{return!1}}))}var kz,AC,IL,Lz,ro,TL=dr(()=>{kz=require("node:util"),AC=Re(require("node:http"),1),IL=typeof AC.default.validateHeaderName=="function"?AC.default.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},Lz=typeof AC.default.validateHeaderValue=="function"?AC.default.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let r=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}},ro=class t extends URLSearchParams{constructor(e){let r=[];if(e instanceof t){let n=e.raw();for(let[s,i]of Object.entries(n))r.push(...i.map(a=>[s,a]))}else if(e!=null)if(typeof e=="object"&&!kz.types.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)r.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");r=[...e].map(s=>{if(typeof s!="object"||kz.types.isBoxedPrimitive(s))throw new TypeError("Each header pair must be an iterable object");return[...s]}).map(s=>{if(s.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...s]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return r=r.length>0?r.map(([n,s])=>(IL(n),Lz(n,String(s)),[String(n).toLowerCase(),String(s)])):void 0,super(r),new Proxy(this,{get(n,s,i){switch(s){case"append":case"set":return(a,o)=>(IL(a),Lz(a,String(o)),URLSearchParams.prototype[s].call(n,String(a).toLowerCase(),String(o)));case"delete":case"has":case"getAll":return a=>(IL(a),URLSearchParams.prototype[s].call(n,String(a).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,s,i)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let r=this.getAll(e);if(r.length===0)return null;let n=r.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,r=void 0){for(let n of this.keys())Reflect.apply(e,r,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,r)=>(e[r]=this.getAll(r),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,r)=>{let n=this.getAll(r);return r==="host"?e[r]=n[0]:e[r]=n.length>1?n:n[0],e},{})}};Object.defineProperties(ro.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var gir,yC,Bz=dr(()=>{gir=new Set([301,302,303,307,308]),yC=t=>gir.has(t)});var gu,To,a8e=dr(()=>{TL();CL();Bz();gu=Symbol("Response internals"),To=class t extends Ol{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,s=new ro(r.headers);if(e!==null&&!s.has("Content-Type")){let i=vL(e,this);i&&s.append("Content-Type",i)}this[gu]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:s,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[gu].type}get url(){return this[gu].url||""}get status(){return this[gu].status}get ok(){return this[gu].status>=200&&this[gu].status<300}get redirected(){return this[gu].counter>0}get statusText(){return this[gu].statusText}get headers(){return this[gu].headers}get highWaterMark(){return this[gu].highWaterMark}clone(){return new t(ob(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,r=302){if(!yC(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new t(null,{status:0,statusText:""});return e[gu].type="error",e}static json(e=void 0,r={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let s=new ro(r&&r.headers);return s.has("content-type")||s.set("content-type","application/json"),new t(n,{...r,headers:s})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(To.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var o8e,c8e=dr(()=>{o8e=t=>{if(t.search)return t.search;let e=t.href.length-1,r=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-r.length]==="?"?"?":""}});function u8e(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function p8e(t){if(!d8e.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function Air(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=(0,l8e.isIP)(e);return r===4&&/^127\./.test(e)||r===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function cb(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:Air(t)}function m8e(t,{referrerURLCallback:e,referrerOriginCallback:r}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let n=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let s=t.referrer,i=u8e(s),a=u8e(s,!0);i.toString().length>4096&&(i=a),e&&(i=e(i)),r&&(a=r(a));let o=new URL(t.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return i;case"strict-origin":return cb(i)&&!cb(o)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return i.origin===o.origin?i:cb(i)&&!cb(o)?"no-referrer":a;case"same-origin":return i.origin===o.origin?i:"no-referrer";case"origin-when-cross-origin":return i.origin===o.origin?i:a;case"no-referrer-when-downgrade":return cb(i)&&!cb(o)?"no-referrer":i;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function h8e(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&d8e.has(n)&&(r=n);return r}var l8e,d8e,f8e,Mz=dr(()=>{l8e=require("node:net");d8e=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),f8e="strict-origin-when-cross-origin"});var g8e,A8e,ri,xC,yir,M0,y8e,x8e=dr(()=>{g8e=require("node:url"),A8e=require("node:util");TL();CL();bL();c8e();Mz();ri=Symbol("Request internals"),xC=t=>typeof t=="object"&&typeof t[ri]=="object",yir=(0,A8e.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),M0=class t extends Ol{constructor(e,r={}){let n;if(xC(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let s=r.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(s)&&(s=s.toUpperCase()),!xC(r)&&"data"in r&&yir(),(r.body!=null||xC(e)&&e.body!==null)&&(s==="GET"||s==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let i=r.body?r.body:xC(e)&&e.body!==null?ob(e):null;super(i,{size:r.size||e.size||0});let a=new ro(r.headers||e.headers||{});if(i!==null&&!a.has("Content-Type")){let u=vL(i,this);u&&a.set("Content-Type",u)}let o=xC(e)?e.signal:null;if("signal"in r&&(o=r.signal),o!=null&&!U5e(o))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let c=r.referrer==null?e.referrer:r.referrer;if(c==="")c="no-referrer";else if(c){let u=new URL(c);c=/^about:(\/\/)?client$/.test(u)?"client":u}else c=void 0;this[ri]={method:s,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:o,referrer:c},this.follow=r.follow===void 0?e.follow===void 0?20:e.follow:r.follow,this.compress=r.compress===void 0?e.compress===void 0?!0:e.compress:r.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent,this.highWaterMark=r.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||e.referrerPolicy||""}get method(){return this[ri].method}get url(){return(0,g8e.format)(this[ri].parsedURL)}get headers(){return this[ri].headers}get redirect(){return this[ri].redirect}get signal(){return this[ri].signal}get referrer(){if(this[ri].referrer==="no-referrer")return"";if(this[ri].referrer==="client")return"about:client";if(this[ri].referrer)return this[ri].referrer.toString()}get referrerPolicy(){return this[ri].referrerPolicy}set referrerPolicy(e){this[ri].referrerPolicy=p8e(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(M0.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});y8e=t=>{let{parsedURL:e}=t[ri],r=new ro(t[ri].headers);r.has("Accept")||r.set("Accept","*/*");let n=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(n="0"),t.body!==null){let o=n8e(t);typeof o=="number"&&!Number.isNaN(o)&&(n=String(o))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=f8e),t.referrer&&t.referrer!=="no-referrer"?t[ri].referrer=m8e(t):t[ri].referrer="no-referrer",t[ri].referrer instanceof URL&&r.set("Referer",t.referrer),r.has("User-Agent")||r.set("User-Agent","node-fetch"),t.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip, deflate, br");let{agent:s}=t;typeof s=="function"&&(s=s(e));let i=o8e(e),a={path:e.pathname+i,method:t.method,headers:r[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:s};return{parsedURL:e,options:a}}});var bC,b8e=dr(()=>{yL();bC=class extends af{constructor(e,r="aborted"){super(e,r)}}});var wL={};is(wL,{AbortError:()=>bC,Blob:()=>hu,FetchError:()=>ha,File:()=>k0,FormData:()=>L0,Headers:()=>ro,Request:()=>M0,Response:()=>To,blobFrom:()=>K5e,blobFromSync:()=>z5e,default:()=>ub,fileFrom:()=>Y5e,fileFromSync:()=>J5e,isRedirect:()=>yC});async function ub(t,e){return new Promise((r,n)=>{let s=new M0(t,e),{parsedURL:i,options:a}=y8e(s);if(!xir.has(i.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${i.protocol.replace(/:$/,"")}" is not supported.`);if(i.protocol==="data:"){let m=O5e(s.url),h=new To(m,{headers:{"Content-Type":m.typeFull}});r(h);return}let o=(i.protocol==="https:"?_8e.default:E8e.default).request,{signal:c}=s,u=null,l=()=>{let m=new bC("The operation was aborted.");n(m),s.body&&s.body instanceof wo.default.Readable&&s.body.destroy(m),!(!u||!u.body)&&u.body.emit("error",m)};if(c&&c.aborted){l();return}let d=()=>{l(),p()},f=o(i.toString(),a);c&&c.addEventListener("abort",d);let p=()=>{f.abort(),c&&c.removeEventListener("abort",d)};f.on("error",m=>{n(new ha(`request to ${s.url} failed, reason: ${m.message}`,"system",m)),p()}),bir(f,m=>{u&&u.body&&u.body.destroy(m)}),process.version<"v14"&&f.on("socket",m=>{let h;m.prependListener("end",()=>{h=m._eventsCount}),m.prependListener("close",A=>{if(u&&h<m._eventsCount&&!A){let g=new Error("Premature close");g.code="ERR_STREAM_PREMATURE_CLOSE",u.body.emit("error",g)}})}),f.on("response",m=>{f.setTimeout(0);let h=i8e(m.rawHeaders);if(yC(m.statusCode)){let x=h.get("Location"),v=null;try{v=x===null?null:new URL(x,s.url)}catch{if(s.redirect!=="manual"){n(new ha(`uri requested responds with an invalid redirect URL: ${x}`,"invalid-redirect")),p();return}}switch(s.redirect){case"error":n(new ha(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect")),p();return;case"manual":break;case"follow":{if(v===null)break;if(s.counter>=s.follow){n(new ha(`maximum redirect reached at: ${s.url}`,"max-redirect")),p();return}let C={headers:new ro(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:ob(s),signal:s.signal,size:s.size,referrer:s.referrer,referrerPolicy:s.referrerPolicy};if(!q5e(s.url,v)||!j5e(s.url,v))for(let w of["authorization","www-authenticate","cookie","cookie2"])C.headers.delete(w);if(m.statusCode!==303&&s.body&&e.body instanceof wo.default.Readable){n(new ha("Cannot follow redirect with body being a readable stream","unsupported-redirect")),p();return}(m.statusCode===303||(m.statusCode===301||m.statusCode===302)&&s.method==="POST")&&(C.method="GET",C.body=void 0,C.headers.delete("content-length"));let R=h8e(h);R&&(C.referrerPolicy=R),r(ub(new M0(v,C))),p();return}default:return n(new TypeError(`Redirect option '${s.redirect}' is not a valid value of RequestRedirect`))}}c&&m.once("end",()=>{c.removeEventListener("abort",d)});let A=(0,wo.pipeline)(m,new wo.PassThrough,x=>{x&&n(x)});process.version<"v12.10"&&m.on("aborted",d);let g={url:s.url,status:m.statusCode,statusText:m.statusMessage,headers:h,size:s.size,counter:s.counter,highWaterMark:s.highWaterMark},b=h.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||b===null||m.statusCode===204||m.statusCode===304){u=new To(A,g),r(u);return}let y={flush:Zh.default.Z_SYNC_FLUSH,finishFlush:Zh.default.Z_SYNC_FLUSH};if(b==="gzip"||b==="x-gzip"){A=(0,wo.pipeline)(A,Zh.default.createGunzip(y),x=>{x&&n(x)}),u=new To(A,g),r(u);return}if(b==="deflate"||b==="x-deflate"){let x=(0,wo.pipeline)(m,new wo.PassThrough,v=>{v&&n(v)});x.once("data",v=>{(v[0]&15)===8?A=(0,wo.pipeline)(A,Zh.default.createInflate(),C=>{C&&n(C)}):A=(0,wo.pipeline)(A,Zh.default.createInflateRaw(),C=>{C&&n(C)}),u=new To(A,g),r(u)}),x.once("end",()=>{u||(u=new To(A,g),r(u))});return}if(b==="br"){A=(0,wo.pipeline)(A,Zh.default.createBrotliDecompress(),x=>{x&&n(x)}),u=new To(A,g),r(u);return}u=new To(A,g),r(u)}),s8e(f,s).catch(n)})}function bir(t,e){let r=EC.Buffer.from(`0\r
\r
`),n=!1,s=!1,i;t.on("response",a=>{let{headers:o}=a;n=o["transfer-encoding"]==="chunked"&&!o["content-length"]}),t.on("socket",a=>{let o=()=>{if(n&&!s){let u=new Error("Premature close");u.code="ERR_STREAM_PREMATURE_CLOSE",e(u)}},c=u=>{s=EC.Buffer.compare(u.slice(-5),r)===0,!s&&i&&(s=EC.Buffer.compare(i.slice(-3),r.slice(0,3))===0&&EC.Buffer.compare(u.slice(-2),r.slice(3))===0),i=u};a.prependListener("close",o),a.on("data",c),t.on("close",()=>{a.removeListener("close",o),a.removeListener("data",c)})})}var E8e,_8e,Zh,wo,EC,xir,_C=dr(()=>{E8e=Re(require("node:http"),1),_8e=Re(require("node:https"),1),Zh=Re(require("node:zlib"),1),wo=Re(require("node:stream"),1),EC=require("node:buffer");P5e();CL();a8e();TL();x8e();wz();b8e();Bz();AL();bL();Mz();Oz();xir=new Set(["data:","http:","https:"])});function Cn(t){return Eir[t]||t}function Wz(t,e){if(!t)return()=>{};if(t.aborted)return e.abort(),()=>{};let r=()=>{e.abort()};return t.addEventListener("abort",r,{once:!0}),()=>{t.removeEventListener("abort",r)}}async function ge(t,e={}){let r=parseInt(e.retries||"0",10)||0,n=Array.isArray(e.validStatusCodes)?e.validStatusCodes:[],s;for(let a=0;a<=r;a++){let o=be.getStore()||"system";a>0?(_("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] \u7B2C ${a} \u6B21\u91CD\u8BD5: ${t}`),s&&(s.cause?.code==="ETIMEDOUT"||s.cause?.code==="ECONNRESET"||s.name==="AbortError")?await new Promise(f=>setTimeout(f,100)):await new Promise(f=>setTimeout(f,Math.min(1e3*Math.pow(2,a-1),5e3)))):_("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] HTTP GET: ${t}`);let c=parseInt(e.timeout||O.vodRequestTimeout||"5000",10)||5e3,u=new AbortController,l=setTimeout(()=>u.abort(),c),d=Wz(e.signal,u);try{let f;if(typeof WebAssembly>"u"){_("info","[Utils] [HTTP] iOS\u73AF\u5883\u964D\u7EA7\u4F7F\u7528node-fetch");let g=(await Promise.resolve().then(()=>(_C(),wL))).default;f=await g(t,{method:"GET",headers:{...e.headers},signal:u.signal})}else f=await fetch(t,{method:"GET",headers:{...e.headers},signal:u.signal});if(clearTimeout(l),!f.ok&&!n.includes(f.status))throw new Error(`HTTP error! status: ${f.status}`);let p;if(e.base64Data){_("info","[Utils] [HTTP] base64\u6A21\u5F0F");let g=await f.arrayBuffer(),b=new Uint8Array(g),y="",x=32768;for(let v=0;v<b.length;v+=x){let C=b.subarray(v,v+x);y+=String.fromCharCode.apply(null,C)}p=btoa(y)}else if(e.zlibMode){_("info","[Utils] [HTTP] zlib\u6A21\u5F0F");let g=await f.arrayBuffer(),b;if(typeof DecompressionStream<"u"){let y=new DecompressionStream("deflate"),x=new Response(new Blob([g]).stream().pipeThrough(y));try{b=await x.text()}catch(v){throw _("error",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] \u89E3\u538B\u7F29\u5931\u8D25`,v),v}}else{_("info","[Utils] [HTTP] iOS\u73AF\u5883\u964D\u7EA7\u4F7F\u7528pako\u89E3\u538B");try{let x=(await import("pako")).inflate(new Uint8Array(g));b=new TextDecoder("utf-8").decode(x)}catch(y){throw _("error",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] pako\u89E3\u538B\u7F29\u5931\u8D25`,y),y}}p=b}else p=await f.text();let m;try{m=JSON.parse(p)}catch{m=p}let h={},A=[];for(let[g,b]of f.headers.entries())g.toLowerCase()==="set-cookie"?A.push(b):h[g]=b;return A.length>0&&(h["set-cookie"]=A.join(";")),a>0&&_("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] \u91CD\u8BD5\u6210\u529F`),{data:m,status:f.status,headers:h}}catch(f){clearTimeout(l),s=f;let p=be.getStore()||"system";if(e.signal?.aborted)throw f;if(f.name==="AbortError"?(_("error",`[${p}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u8D85\u65F6:`,f.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u8D85\u65F6\u65F6\u95F4:",`${c}ms`),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${a+1}/${r+1}`)):(_("error",`[${p}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u5931\u8D25:`,f.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u9519\u8BEF\u7C7B\u578B:",f.name),_("error","- \u6D88\u606F:",f.message),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${a+1}/${r+1}`),f.cause&&(_("error","- \u7801:",f.cause.code),_("error","- \u539F\u56E0:",f.cause.message))),a<r){_("info",`[${p}] [\u8BF7\u6C42\u6A21\u62DF] \u51C6\u5907\u91CD\u8BD5...`);continue}}finally{d()}}let i=be.getStore()||"system";throw _("error",`[${i}] [\u8BF7\u6C42\u6A21\u62DF] \u6240\u6709\u91CD\u8BD5\u5747\u5931\u8D25 (${r+1} \u6B21\u5C1D\u8BD5)`),s}async function Vr(t,e,r={}){let n=parseInt(r.retries||"0",10)||0,s=Array.isArray(r.validStatusCodes)?r.validStatusCodes:[],i;for(let o=0;o<=n;o++){let c=be.getStore()||"system";o>0?(_("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] \u7B2C ${o} \u6B21\u91CD\u8BD5: ${t}`),i&&(i.cause?.code==="ETIMEDOUT"||i.cause?.code==="ECONNRESET"||i.name==="AbortError")?await new Promise(g=>setTimeout(g,100)):await new Promise(g=>setTimeout(g,Math.min(1e3*Math.pow(2,o-1),5e3)))):_("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] HTTP POST: ${t}`);let u=parseInt(r.timeout||O.vodRequestTimeout||"5000",10)||5e3,l=new AbortController,d=setTimeout(()=>l.abort(),u),f=Wz(r.signal,l),{headers:p={},params:m,allow_redirects:h=!0}=r,A={method:"POST",headers:{...p},body:e,signal:l.signal};h||(A.redirect="manual");try{let g;if(typeof WebAssembly>"u"){_("info","[Utils] [HTTP] iOS\u73AF\u5883\u964D\u7EA7\u4F7F\u7528node-fetch");let x=(await Promise.resolve().then(()=>(_C(),wL))).default;g=await x(t,A)}else g=await fetch(t,A);clearTimeout(d);let b=await g.text();if(!g.ok&&!s.includes(g.status))throw _("error",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] response data: `,b),new Error(`HTTP error! status: ${g.status}`);let y;try{y=JSON.parse(b)}catch{y=b}return o>0&&_("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] \u91CD\u8BD5\u6210\u529F`),{data:y,status:g.status,headers:Object.fromEntries(g.headers.entries())}}catch(g){clearTimeout(d),i=g;let b=be.getStore()||"system";if(r.signal?.aborted)throw g;if(g.name==="AbortError"?(_("error",`[${b}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u8D85\u65F6:`,g.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u8D85\u65F6\u65F6\u95F4:",`${u}ms`),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${o+1}/${n+1}`)):(_("error",`[${b}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u5931\u8D25:`,g.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u9519\u8BEF\u7C7B\u578B:",g.name),_("error","- \u6D88\u606F:",g.message),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${o+1}/${n+1}`),g.cause&&(_("error","- \u7801:",g.cause.code),_("error","- \u539F\u56E0:",g.cause.message))),o<n){_("info",`[${b}] [\u8BF7\u6C42\u6A21\u62DF] \u51C6\u5907\u91CD\u8BD5...`);continue}}finally{f()}}let a=be.getStore()||"system";throw _("error",`[${a}] [\u8BF7\u6C42\u6A21\u62DF] \u6240\u6709\u91CD\u8BD5\u5747\u5931\u8D25 (${n+1} \u6B21\u5C1D\u8BD5)`),i}async function $z(t,e,r,n={}){let s=be.getStore()||"system";_("info",`[${s}] [\u8BF7\u6C42\u6A21\u62DF] HTTP ${t}: ${e}`);let{headers:i={}}=n,a=Array.isArray(n.validStatusCodes)?n.validStatusCodes:[],o={method:t,headers:{...i}};r!=null&&(o.body=r),n.body!==void 0&&n.body!==null&&(o.body=n.body),n.signal&&(o.signal=n.signal);try{let c=await fetch(e,o),u=await c.text();if(!c.ok&&!a.includes(c.status))throw _("error",`[${s}] [\u8BF7\u6C42\u6A21\u62DF] response data: `,u),new Error(`HTTP error! status: ${c.status}`);let l;try{l=JSON.parse(u)}catch{l=u}return{data:l,status:c.status,headers:Object.fromEntries(c.headers.entries())}}catch(c){let u=be.getStore()||"system";throw _("error",`[${u}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u5931\u8D25:`,c.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",e),_("error","- \u9519\u8BEF\u7C7B\u578B:",c.name),_("error","- \u6D88\u606F:",c.message),c.cause&&(_("error","- \u7801:",c.cause?.code),_("error","- \u539F\u56E0:",c.cause?.message)),c}}async function RL(t,e,r={}){return $z("PATCH",t,e,r)}async function v8e(t,e,r={}){return $z("PUT",t,e,r)}async function lb(t,e={}){return $z("DELETE",t,void 0,e)}async function C8e(t){try{let n=(await ge(t,{headers:{"User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15"}})).data.match(/<title[^>]*>(.*?)<\/title>/i);return n&&n[1]?n[1].replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").trim():t}catch(e){let r=be.getStore()||"system";return _("error",`[${r}] \u83B7\u53D6\u6807\u9898\u5931\u8D25: ${e.message}`),t}}function Be(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}function I8e(t,e=200){if(typeof t!="string"||!t.trim().startsWith("<?xml"))throw new Error("Expected data to be an XML string starting with <?xml");return new Response(t,{status:e,headers:{"Content-Type":"application/xml","Access-Control-Allow-Origin":"*"}})}function Ai(t,e=!0){let r=e?encodeURIComponent:s=>s,n="";for(let s in t)t.hasOwnProperty(s)&&(n.length>0&&(n+="&"),n+=r(s)+"="+r(t[s]));return n}function SC(t={}){let e={};for(let[s,i]of Object.entries(t))typeof i=="boolean"?e[s]=i?"true":"false":i==null?e[s]="":e[s]=String(i);let r=[];for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&r.push(s);r.sort();let n=[];for(let s of r){let i=encodeURIComponent(s),a=encodeURIComponent(e[s]);n.push(`${i}=${a}`)}return n.join("&")}function db(t,e){let r=t,n="",s=t.indexOf("#"),i="";s!==-1&&(r=t.substring(0,s),i=t.substring(s));let a=r.indexOf("?");a!==-1&&(n=r.substring(a+1),r=r.substring(0,a));let o={};if(n){let u=n.split("&");for(let l of u)if(l){let[d,f=""]=l.split("=").map(decodeURIComponent);o[d]=f}}for(let u in e)Object.prototype.hasOwnProperty.call(e,u)&&(o[u]=e[u]);let c=[];for(let u in o)Object.prototype.hasOwnProperty.call(o,u)&&c.push(`${encodeURIComponent(u)}=${encodeURIComponent(o[u])}`);return r+(c.length?"?"+c.join("&"):"")+i}function T8e(t){let e=t.indexOf("//")+2;e===1&&(e=0);let r=t.indexOf("/",e);if(r===-1)return"/";let n=t.indexOf("?",r),s=t.indexOf("#",r),i=n!==-1?n:s!==-1?s:t.length;return t.substring(r,i)||"/"}async function Fz(t,e={},r){let{headers:n={},sniffLimit:s}=e,i=parseInt(s||"32768",10)||32768,a=parseInt(e.timeout||O.vodRequestTimeout||"5000",10)||5e3,o=new AbortController,c=setTimeout(()=>o.abort(),a),u=Wz(e.signal,o);try{let l=be.getStore()||"system";_("info",`[${l}] [\u6D41\u5F0F\u8BF7\u6C42] HTTP GET: ${t}`);let d=await fetch(t,{method:"GET",headers:n,signal:o.signal});if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);let f=d.body.getReader?d.body.getReader():null;if(!f){let v=be.getStore()||"system";_("warn",`[${v}] [\u6D41\u5F0F\u8BF7\u6C42] \u73AF\u5883\u4E0D\u652F\u6301\u6D41\u5F0F\u8BFB\u53D6,\u56DE\u9000\u5230\u666E\u901A\u8BF7\u6C42`);let C=await d.text();if(clearTimeout(c),r&&!r(C.slice(0,i)))return _("info",`[${v}] [\u6D41\u5F0F\u8BF7\u6C42] \u68C0\u6D4B\u5230\u65E0\u6548\u6570\u636E(\u56DE\u9000\u6A21\u5F0F),\u4E22\u5F03\u7ED3\u679C`),null;try{return JSON.parse(C)}catch{return C}}let p=0,m=[],h=!1,A="",g=!1;for(;;){let{done:v,value:C}=await f.read();if(v)break;if(p+=C.length,!g&&r){let R=new TextDecoder("utf-8").decode(C,{stream:!0});if(A+=R,!r(A)){let w=be.getStore()||"system";_("info",`[${w}] [\u6D41\u5F0F\u8BF7\u6C42] \u55C5\u63A2\u5230\u65E0\u6548\u7279\u5F81(\u5DF2\u8BFB${p}\u5B57\u8282),\u7ACB\u5373\u7194\u65AD`),o.abort(),h=!0;break}p>i&&(g=!0,A=null)}m.push(C)}if(clearTimeout(c),h)return null;let b=new Uint8Array(p),y=0;for(let v of m)b.set(v,y),y+=v.length;let x=new TextDecoder("utf-8").decode(b);try{return JSON.parse(x)}catch{return x}}catch(l){let d=be.getStore()||"system";return clearTimeout(c),l.name==="AbortError"||_("error",`[${d}] [\u6D41\u5F0F\u8BF7\u6C42] \u5931\u8D25: ${l.message}`),null}finally{u()}}var S8e,be,Eir,ar=dr(()=>{Pt();St();S8e=require("node:async_hooks"),be=new S8e.AsyncLocalStorage,Eir={360:"360kan",imgo:"mango"}});function an(t){let e=0;for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);e=(e<<5)-e+n,e=e>>>0}return e.toString(16)}function fb(t,e){return t==="lastSelectMap"&&e instanceof Map?JSON.stringify(Object.fromEntries(e)):JSON.stringify(e)}function Ls(t){function e(y){let x="";for(let v=0;v<y.length;v++){let C=y.charCodeAt(v);C<128?x+=String.fromCharCode(C):C<2048?(x+=String.fromCharCode(192|C>>6),x+=String.fromCharCode(128|C&63)):(x+=String.fromCharCode(224|C>>12),x+=String.fromCharCode(128|C>>6&63),x+=String.fromCharCode(128|C&63))}return x}t=e(t);function r(y,x){return y<<x|y>>>32-x}function n(y,x){let v=y&1073741824,C=x&1073741824,R=y&2147483648,w=x&2147483648,N=(y&1073741823)+(x&1073741823);return v&C?N^2147483648^R^w:v|C?N&1073741824?N^3221225472^R^w:N^1073741824^R^w:N^R^w}function s(y,x,v){return y&x|~y&v}function i(y,x,v){return y&v|x&~v}function a(y,x,v){return y^x^v}function o(y,x,v){return x^(y|~v)}function c(y,x,v,C,R,w,N){return y=n(y,n(n(s(x,v,C),R),N)),n(r(y,w),x)}function u(y,x,v,C,R,w,N){return y=n(y,n(n(i(x,v,C),R),N)),n(r(y,w),x)}function l(y,x,v,C,R,w,N){return y=n(y,n(n(a(x,v,C),R),N)),n(r(y,w),x)}function d(y,x,v,C,R,w,N){return y=n(y,n(n(o(x,v,C),R),N)),n(r(y,w),x)}function f(y){let x=y.length,v=((x+8>>>6)+1)*16,C=new Array(v).fill(0);for(let R=0;R<x;R++)C[R>>2]|=y.charCodeAt(R)<<R%4*8;return C[x>>2]|=128<<x%4*8,C[v-2]=x*8,C}function p(y){let x="";for(let v=0;v<=3;v++){let R="0"+(y>>>v*8&255).toString(16);x+=R.substr(R.length-2,2)}return x}let m=f(t),h=1732584193,A=4023233417,g=2562383102,b=271733878;for(let y=0;y<m.length;y+=16){let x=h,v=A,C=g,R=b;h=c(h,A,g,b,m[y+0],7,3614090360),b=c(b,h,A,g,m[y+1],12,3905402710),g=c(g,b,h,A,m[y+2],17,606105819),A=c(A,g,b,h,m[y+3],22,3250441966),h=c(h,A,g,b,m[y+4],7,4118548399),b=c(b,h,A,g,m[y+5],12,1200080426),g=c(g,b,h,A,m[y+6],17,2821735955),A=c(A,g,b,h,m[y+7],22,4249261313),h=c(h,A,g,b,m[y+8],7,1770035416),b=c(b,h,A,g,m[y+9],12,2336552879),g=c(g,b,h,A,m[y+10],17,4294925233),A=c(A,g,b,h,m[y+11],22,2304563134),h=c(h,A,g,b,m[y+12],7,1804603682),b=c(b,h,A,g,m[y+13],12,4254626195),g=c(g,b,h,A,m[y+14],17,2792965006),A=c(A,g,b,h,m[y+15],22,1236535329),h=u(h,A,g,b,m[y+1],5,4129170786),b=u(b,h,A,g,m[y+6],9,3225465664),g=u(g,b,h,A,m[y+11],14,643717713),A=u(A,g,b,h,m[y+0],20,3921069994),h=u(h,A,g,b,m[y+5],5,3593408605),b=u(b,h,A,g,m[y+10],9,38016083),g=u(g,b,h,A,m[y+15],14,3634488961),A=u(A,g,b,h,m[y+4],20,3889429448),h=u(h,A,g,b,m[y+9],5,568446438),b=u(b,h,A,g,m[y+14],9,3275163606),g=u(g,b,h,A,m[y+3],14,4107603335),A=u(A,g,b,h,m[y+8],20,1163531501),h=u(h,A,g,b,m[y+13],5,2850285829),b=u(b,h,A,g,m[y+2],9,4243563512),g=u(g,b,h,A,m[y+7],14,1735328473),A=u(A,g,b,h,m[y+12],20,2368359562),h=l(h,A,g,b,m[y+5],4,4294588738),b=l(b,h,A,g,m[y+8],11,2272392833),g=l(g,b,h,A,m[y+11],16,1839030562),A=l(A,g,b,h,m[y+14],23,4259657740),h=l(h,A,g,b,m[y+1],4,2763975236),b=l(b,h,A,g,m[y+4],11,1272893353),g=l(g,b,h,A,m[y+7],16,4139469664),A=l(A,g,b,h,m[y+10],23,3200236656),h=l(h,A,g,b,m[y+13],4,681279174),b=l(b,h,A,g,m[y+0],11,3936430074),g=l(g,b,h,A,m[y+3],16,3572445317),A=l(A,g,b,h,m[y+6],23,76029189),h=l(h,A,g,b,m[y+9],4,3654602809),b=l(b,h,A,g,m[y+12],11,3873151461),g=l(g,b,h,A,m[y+15],16,530742520),A=l(A,g,b,h,m[y+2],23,3299628645),h=d(h,A,g,b,m[y+0],6,4096336452),b=d(b,h,A,g,m[y+7],10,1126891415),g=d(g,b,h,A,m[y+14],15,2878612391),A=d(A,g,b,h,m[y+5],21,4237533241),h=d(h,A,g,b,m[y+12],6,1700485571),b=d(b,h,A,g,m[y+3],10,2399980690),g=d(g,b,h,A,m[y+10],15,4293915773),A=d(A,g,b,h,m[y+1],21,2240044497),h=d(h,A,g,b,m[y+8],6,1873313359),b=d(b,h,A,g,m[y+15],10,4264355552),g=d(g,b,h,A,m[y+6],15,2734768916),A=d(A,g,b,h,m[y+13],21,1309151649),h=d(h,A,g,b,m[y+4],6,4149444226),b=d(b,h,A,g,m[y+11],10,3174756917),g=d(g,b,h,A,m[y+2],15,718787259),A=d(A,g,b,h,m[y+9],21,3951481745),h=n(h,x),A=n(A,v),g=n(g,C),b=n(b,R)}return(p(h)+p(A)+p(g)+p(b)).toLowerCase()}function O8e(t){let e=IC(t),r=[],n=0;for(;n<e.length&&e[n++]===10;){let[i,a]=w8e(e,n);n=a;let o=0,c={};for(;o<i.length;){let u=i[o++],l=u>>3,d=u&7;if(d===0){let[f,p]=jz(i,o);switch(o=p,l){case 1:c.id=f;break;case 2:c.progress=f;break;case 3:c.mode=f;break;case 4:c.fontsize=f;break;case 5:c.color=f;break;case 8:c.ctime=f;break;case 9:c.weight=f;break;case 11:c.pool=f;break;case 13:c.attr=f;break;case 15:c.like_num=f;break;case 17:c.dm_type_v2=f;break}}else if(d===2){let[f,p]=w8e(i,o);switch(o=p,l){case 6:c.midHash=Cc(f);break;case 7:c.content=Cc(f);break;case 10:c.action=Cc(f);break;case 12:c.idStr=Cc(f);break;case 14:c.animation=Cc(f);break;case 16:c.color_v2=Cc(f);break}}else{let[f,p]=jz(i,o);o=p}}r.push(c)}return r}function jz(t,e){let r=0n,n=0n,s=e;for(;;){let i=t[s++];if(r|=BigInt(i&127)<<n,!(i&128))break;n+=7n}return[Number(r),s]}function w8e(t,e){let[r,n]=jz(t,e),s=n,i=s+r;return[t.slice(s,i),i]}function Yr(t){let e=5381;for(let r=0;r<t.length;r++)e=e*33^t.charCodeAt(r);return e=(e>>>0)%9999999,e<1e4?e+1e4:e}function R8e(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function Sir(t){return Uint8Array.from([t[1],t[2],t[3],t[0]])}function NL(t){return Uint8Array.from(t.map(e=>P8e[e]))}function OL(t){let s=new Array(44);for(let i=0;i<4;i++)s[i]=t.slice(4*i,4*i+4);for(let i=4;i<4*11;i++){let a=s[i-1];i%4===0&&(a=R8e(NL(Sir(a)),Uint8Array.from([_ir[i/4],0,0,0]))),s[i]=R8e(s[i-4],a)}return s}function vir(t,e){let s=new Uint8Array(t);s=Uz(s,e.slice(10*4,11*4));for(let i=9;i>=1;i--)s=CC(s),s=vC(s),s=Uz(s,e.slice(i*4,(i+1)*4)),s=Cir(s);return s=CC(s),s=vC(s),s=Uz(s,e.slice(0,4)),s}function Uz(t,e){let r=new Uint8Array(16);for(let n=0;n<4;n++)for(let s=0;s<4;s++)r[s+4*n]=t[s+4*n]^e[n][s];return r}function vC(t){let e=new Array(256);for(let r=0;r<256;r++)e[P8e[r]]=r;return Uint8Array.from(t.map(r=>e[r]))}function CC(t){let e=new Uint8Array(16);for(let r=0;r<4;r++)for(let n=0;n<4;n++)e[r+4*n]=t[r+4*((n-r+4)%4)];return e}function Cir(t){function e(n,s){let i=0;for(let a=0;a<8;a++){s&1&&(i^=n);let o=n&128;n=n<<1&255,o&&(n^=27),s>>=1}return i}let r=new Uint8Array(16);for(let n=0;n<4;n++){let s=t.slice(4*n,4*n+4);r[4*n+0]=e(s[0],14)^e(s[1],11)^e(s[2],13)^e(s[3],9),r[4*n+1]=e(s[0],9)^e(s[1],14)^e(s[2],11)^e(s[3],13),r[4*n+2]=e(s[0],13)^e(s[1],9)^e(s[2],14)^e(s[3],11),r[4*n+3]=e(s[0],11)^e(s[1],13)^e(s[2],9)^e(s[3],14)}return r}function Iir(t,e){let r=OL(e),n=16,s=new Uint8Array(t.length);for(let i=0;i<t.length;i+=n){let a=t.slice(i,i+n),o=vir(a,r);s.set(o,i)}return s}function Tir(t){let e=t[t.length-1];return t.slice(0,t.length-e)}function IC(t){let e=typeof atob=="function"?atob(t):wir(t),r=e.length,n=new Uint8Array(r);for(let s=0;s<r;s++)n[s]=e.charCodeAt(s);return n}function wir(t){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",n=0,s=0;for(let i=0;i<t.length;i++){let a=t.charAt(i);if(a==="=")break;let o=e.indexOf(a);n=n<<6|o,s+=6,s>=8&&(s-=8,r+=String.fromCharCode(n>>s&255))}return r}function Cc(t){let e="",r=0;for(;r<t.length;){let n=t[r++];if(n<128)e+=String.fromCharCode(n);else if(n>=192&&n<224){let s=t[r++];e+=String.fromCharCode((n&31)<<6|s&63)}else if(n>=224&&n<240){let s=t[r++],i=t[r++];e+=String.fromCharCode((n&15)<<12|(s&63)<<6|i&63)}else if(n>=240){let s=t[r++],i=t[r++],a=t[r++],c=((n&7)<<18|(s&63)<<12|(i&63)<<6|a&63)-65536;e+=String.fromCharCode(55296+(c>>10),56320+(c&1023))}}return e}function eg(t){let e=[];for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);if(n<128)e.push(n);else if(n<2048)e.push(192|n>>6),e.push(128|n&63);else if(n<55296||n>=57344)e.push(224|n>>12),e.push(128|n>>6&63),e.push(128|n&63);else{r++;let s=t.charCodeAt(r),i=65536+((n&1023)<<10|s&1023);e.push(240|i>>18),e.push(128|i>>12&63),e.push(128|i>>6&63),e.push(128|i&63)}}return new Uint8Array(e)}function Rir(t,e){try{let r=IC(t),n=eg(e),s=Iir(r,n),i=Tir(s);return Cc(i)}catch(r){return _("error","[Utils] [Codec]",r),null}}function TC(t){let e=typeof t=="string"?t.trim():JSON.stringify(t??"");try{return JSON.parse(e)}catch{}let n=Rir(e,"3b744389882a4067");if(n!=null)try{return JSON.parse(n)}catch{return n}return e}function Nir(t){let e=[];for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);n<128?e.push(n):n<2048?(e.push(192|n>>6),e.push(128|n&63)):n<65536&&(e.push(224|n>>12),e.push(128|n>>6&63),e.push(128|n&63))}return e}function PL(t){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n;for(n=0;n+2<t.length;n+=3)r+=e[t[n]>>2],r+=e[(t[n]&3)<<4|t[n+1]>>4],r+=e[(t[n+1]&15)<<2|t[n+2]>>6],r+=e[t[n+2]&63];return n<t.length&&(r+=e[t[n]>>2],n+1<t.length?(r+=e[(t[n]&3)<<4|t[n+1]>>4],r+=e[(t[n+1]&15)<<2],r+="="):(r+=e[(t[n]&3)<<4],r+="==")),r}function qz(t){function e(u,l){return l>>>u|l<<32-u}let r=Math.pow(2,32),n=[],s=t.length*8;for(let u=0;u<t.length;u++)n[u>>2]|=t.charCodeAt(u)<<(3-u)%4*8;n[t.length>>2]|=128<<(3-t.length%4)*8,n[(t.length+8>>6)*16+15]=s;let i=new Array(64),a=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];for(let u=0;u<n.length;u+=16){let l=a[0],d=a[1],f=a[2],p=a[3],m=a[4],h=a[5],A=a[6],g=a[7];for(let b=0;b<64;b++){if(b<16)i[b]=n[u+b]|0;else{let N=e(7,i[b-15])^e(18,i[b-15])^i[b-15]>>>3,P=e(17,i[b-2])^e(19,i[b-2])^i[b-2]>>>10;i[b]=i[b-16]+N+i[b-7]+P|0}let y=e(6,m)^e(11,m)^e(25,m),x=m&h^~m&A,v=g+y+x+o[b]+i[b]|0,C=e(2,l)^e(13,l)^e(22,l),R=l&d^l&f^d&f,w=C+R|0;g=A,A=h,h=m,m=p+v|0,p=f,f=d,d=l,l=v+w|0}a[0]=a[0]+l|0,a[1]=a[1]+d|0,a[2]=a[2]+f|0,a[3]=a[3]+p|0,a[4]=a[4]+m|0,a[5]=a[5]+h|0,a[6]=a[6]+A|0,a[7]=a[7]+g|0}let c=[];for(let u of a)c.push(u>>24&255),c.push(u>>16&255),c.push(u>>8&255),c.push(u&255);return c}function D8e(t,e){let n=Nir(t);n.length>64&&(n=qz(t)),n.length<64&&(n=n.concat(Array(64-n.length).fill(0)));let s=n.map(c=>c^92),i=n.map(c=>c^54),a=qz(String.fromCharCode(...i)+e),o=qz(String.fromCharCode(...s)+String.fromCharCode(...a));return PL(o)}function wC(t,e,r,n){let s=t+"t"+e;return r&&Object.keys(r).sort().forEach(a=>{s+=a+r[a]}),s+=n,Ls(s)}function N8e(t){if(t<=65535)return String.fromCharCode(t);t-=65536;let e=(t>>10)+55296,r=(t&1023)+56320;return String.fromCharCode(e,r)}function cf(t){if(!t)return t;let e={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"};return t.replace(/&[a-zA-Z]+;/g,r=>e[r]||r).replace(/&#(\d+);/g,(r,n)=>N8e(parseInt(n,10))).replace(/&#x([0-9a-fA-F]+);/g,(r,n)=>N8e(parseInt(n,16)))}var P8e,_ir,Is=dr(()=>{St();P8e=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],_ir=[0,1,2,4,8,16,32,64,128,27,54]});var L8e={};is(L8e,{getRedisCaches:()=>Gz,getRedisKey:()=>Oir,judgeRedisValid:()=>Vz,pingRedis:()=>k8e,runPipeline:()=>Qz,setRedisKey:()=>Hz,setRedisKeyWithExpiry:()=>Pir,updateRedisCaches:()=>DL});async function k8e(){let t=`${O.redisUrl}/ping`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 PING \u8BF7\u6C42:",t);try{return await(await fetch(t,{method:"GET",headers:{Authorization:`Bearer ${O.redisToken}`}})).json()}catch(e){_("error","[Utils] [Redis] \u8BF7\u6C42\u5931\u8D25:",e.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",e.name),e.cause&&(_("error","- [Utils] [Redis] \u7801:",e.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",e.cause.message))}}async function Oir(t){let e=`${O.redisUrl}/get/${t}`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 GET \u8BF7\u6C42:",e);try{return await(await fetch(e,{method:"GET",headers:{Authorization:`Bearer ${O.redisToken}`}})).json()}catch(r){_("error","[Utils] [Redis] \u8BF7\u6C42\u5931\u8D25:",r.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",r.name),r.cause&&(_("error","- [Utils] [Redis] \u7801:",r.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",r.cause.message))}}async function Hz(t,e){let r=fb(t,e),n=an(r);if(O.lastHashes[t]===n)return _("info",`[Utils] [Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SET \u8BF7\u6C42`),{result:"OK"};let s=`${O.redisUrl}/set/${t}`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 SET \u8BF7\u6C42:",s);try{let a=await(await fetch(s,{method:"POST",headers:{Authorization:`Bearer ${O.redisToken}`,"Content-Type":"application/json"},body:r})).json();return O.lastHashes[t]=n,_("info",`[Utils] [Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F`),a}catch(i){_("error","[Utils] [Redis] SET \u8BF7\u6C42\u5931\u8D25:",i.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",i.name),i.cause&&(_("error","- [Utils] [Redis] \u7801:",i.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",i.cause.message))}}async function Pir(t,e,r){let n=fb(t,e),s=an(n);if(O.lastHashes[t]===s)return _("info",`[Utils] [Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SETEX \u8BF7\u6C42`),{result:"OK"};let i=`${O.redisUrl}/set/${t}?EX=${r}`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 SETEX \u8BF7\u6C42:",i);try{let o=await(await fetch(i,{method:"POST",headers:{Authorization:`Bearer ${O.redisToken}`,"Content-Type":"application/json"},body:n})).json();return O.lastHashes[t]=s,_("info",`[Utils] [Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F\uFF08\u5E26\u8FC7\u671F\u65F6\u95F4 ${r}s\uFF09`),o}catch(a){_("error","[Utils] [Redis] SETEX \u8BF7\u6C42\u5931\u8D25:",a.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",a.name),a.cause&&(_("error","- [Utils] [Redis] \u7801:",a.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",a.cause.message))}}async function Qz(t){let e=`${O.redisUrl}/pipeline`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 PIPELINE \u8BF7\u6C42:",e);try{return await(await fetch(e,{method:"POST",headers:{Authorization:`Bearer ${O.redisToken}`,"Content-Type":"application/json"},body:JSON.stringify(t)})).json()}catch(r){_("error","[Utils] [Redis] Pipeline \u8BF7\u6C42\u5931\u8D25:",r.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",r.name),r.cause&&(_("error","- [Utils] [Redis] \u7801:",r.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",r.cause.message))}}async function Gz(){if(!O.redisCacheInitialized)try{_("info","[Utils] [Redis] getRedisCaches start.");let e=["animes","episodeIds","episodeNum","reqRecords","lastSelectMap","todayReqNum"].map(s=>["GET",s]),r=await Qz(e);O.animes=r[0].result?JSON.parse(r[0].result):O.animes,O.episodeIds=r[1].result?JSON.parse(r[1].result):O.episodeIds,O.episodeNum=r[2].result?JSON.parse(r[2].result):O.episodeNum,O.reqRecords=r[3].result?JSON.parse(r[3].result):O.reqRecords;let n=r[4].result?JSON.parse(r[4].result):null;n&&typeof n=="object"&&(O.lastSelectMap=new Map(Object.entries(n)),_("info",`[Utils] [Redis] Restored lastSelectMap from Redis with ${O.lastSelectMap.size} entries`)),O.todayReqNum=r[5].result?parseInt(r[5].result,10):O.todayReqNum,O.lastHashes.animes=an(JSON.stringify(O.animes)),O.lastHashes.episodeIds=an(JSON.stringify(O.episodeIds)),O.lastHashes.episodeNum=an(JSON.stringify(O.episodeNum)),O.lastHashes.reqRecords=an(JSON.stringify(O.reqRecords)),O.lastHashes.lastSelectMap=an(JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.lastHashes.todayReqNum=an(JSON.stringify(O.todayReqNum)),O.redisCacheInitialized=!0,_("info","[Utils] [Redis] getRedisCaches completed successfully.")}catch(t){_("error",`[Utils] [Redis] getRedisCaches failed: ${t.message}`,t.stack),O.redisCacheInitialized=!0}}async function DL(){try{_("info","[Utils] [Redis] updateCaches start.");let t=[],e=[],r=[{key:"animes",value:O.animes},{key:"episodeIds",value:O.episodeIds},{key:"episodeNum",value:O.episodeNum},{key:"reqRecords",value:O.reqRecords},{key:"lastSelectMap",value:O.lastSelectMap},{key:"todayReqNum",value:O.todayReqNum}];for(let{key:n,value:s}of r){let i=JSON.stringify(n==="lastSelectMap"?Object.fromEntries(s):s),a=an(i);a!==O.lastHashes[n]&&(t.push(["SET",n,i]),e.push({key:n,hash:a}))}if(t.length>0){_("info",`[Utils] [Redis] Updating ${t.length} changed keys: ${e.map(a=>a.key).join(", ")}`);let n=await Qz(t),s=0,i=0;Array.isArray(n)&&n.forEach((a,o)=>{a&&a.result==="OK"?s++:(i++,_("warn",`[Utils] [Redis] Failed to update Redis key: ${e[o]?.key}, result: ${JSON.stringify(a)}`))}),i===0?(e.forEach(({key:a,hash:o})=>{O.lastHashes[a]=o}),_("info",`[Utils] [Redis] Redis update completed successfully: ${s} keys updated`)):_("warn",`[Utils] [Redis] Redis update partially failed: ${s} succeeded, ${i} failed`)}else _("info","[Utils] [Redis] No changes detected, skipping Redis update.")}catch(t){_("error",`[Utils] [Redis] updateRedisCaches failed: ${t.message}`,t.stack),_("error",`[Utils] [Redis] Error details - Name: ${t.name}, Cause: ${t.cause?t.cause.message:"N/A"}`)}}async function Vz(t){if(!O.redisValid&&O.redisUrl&&O.redisToken&&t!=="/favicon.ico"&&t!=="/robots.txt"){let e=await k8e();e&&e.result&&e.result==="PONG"&&(O.redisValid=!0)}}var kL=dr(()=>{Pt();St();Is()});function B8e(){return"\u9515\u7691\u853C\u788D\u7231\u55F3\u5AD2\u7477\u66A7\u972D\u8C19\u94F5\u9E4C\u80AE\u8884\u5965\u5AAA\u9A9C\u9CCC\u575D\u7F62\u94AF\u6446\u8D25\u5457\u9881\u529E\u7ECA\u94A3\u5E2E\u7ED1\u9551\u8C24\u5265\u9971\u5B9D\u62A5\u9C8D\u9E28\u9F85\u8F88\u8D1D\u94A1\u72C8\u5907\u60EB\u9E4E\u8D32\u951B\u7EF7\u7B14\u6BD5\u6BD9\u5E01\u95ED\u835C\u54D4\u6ED7\u94CB\u7B5A\u8DF8\u8FB9\u7F16\u8D2C\u53D8\u8FA9\u8FAB\u82C4\u7F0F\u7B3E\u6807\u9AA0\u98D1\u98D9\u9556\u9573\u9CD4\u9CD6\u522B\u762A\u6FD2\u6EE8\u5BBE\u6448\u50A7\u7F24\u69DF\u6BA1\u8191\u9554\u9ACC\u9B13\u997C\u7980\u62E8\u94B5\u94C2\u9A73\u997D\u94B9\u9E41\u8865\u94B8\u8D22\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u9A96\u9EEA\u82CD\u8231\u4ED3\u6CA7\u5395\u4FA7\u518C\u6D4B\u607B\u5C42\u8BE7\u9538\u4FAA\u9497\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u5181\u8C04\u8C36\u8487\u5FCF\u5A75\u9AA3\u89C7\u7985\u9561\u573A\u5C1D\u957F\u507F\u80A0\u5382\u7545\u4F25\u82CC\u6005\u960A\u9CB3\u949E\u8F66\u5F7B\u7817\u5C18\u9648\u886C\u4F27\u8C0C\u6987\u789C\u9F80\u6491\u79F0\u60E9\u8BDA\u9A8B\u67A8\u67FD\u94D6\u94DB\u75F4\u8FDF\u9A70\u803B\u9F7F\u70BD\u996C\u9E31\u51B2\u51B2\u866B\u5BA0\u94F3\u7574\u8E0C\u7B79\u7EF8\u4FE6\u5E31\u96E0\u6A71\u53A8\u9504\u96CF\u7840\u50A8\u89E6\u5904\u520D\u7ECC\u8E70\u4F20\u948F\u75AE\u95EF\u521B\u6006\u9524\u7F0D\u7EAF\u9E51\u7EF0\u8F8D\u9F8A\u8F9E\u8BCD\u8D50\u9E5A\u806A\u8471\u56F1\u4ECE\u4E1B\u82C1\u9AA2\u679E\u51D1\u8F8F\u8E7F\u7A9C\u64BA\u9519\u9509\u9E7E\u8FBE\u54D2\u9791\u5E26\u8D37\u9A80\u7ED0\u62C5\u5355\u90F8\u63B8\u80C6\u60EE\u8BDE\u5F39\u6B9A\u8D55\u7605\u7BAA\u5F53\u6321\u515A\u8361\u6863\u8C20\u7800\u88C6\u6363\u5C9B\u7977\u5BFC\u76D7\u7118\u706F\u9093\u956B\u654C\u6DA4\u9012\u7F14\u7C74\u8BCB\u8C1B\u7EE8\u89CC\u955D\u98A0\u70B9\u57AB\u7535\u5DC5\u94BF\u766B\u9493\u8C03\u94EB\u9CB7\u8C0D\u53E0\u9CBD\u9489\u9876\u952D\u8BA2\u94E4\u4E22\u94E5\u4E1C\u52A8\u680B\u51BB\u5CBD\u9E2B\u7AA6\u728A\u72EC\u8BFB\u8D4C\u9540\u6E0E\u691F\u724D\u7B03\u9EE9\u953B\u65AD\u7F0E\u7C16\u5151\u961F\u5BF9\u603C\u9566\u5428\u987F\u949D\u7096\u8DB8\u593A\u5815\u94CE\u9E45\u989D\u8BB9\u6076\u997F\u8C14\u57A9\u960F\u8F6D\u9507\u9537\u9E57\u989A\u989B\u9CC4\u8BF6\u513F\u5C14\u9975\u8D30\u8FE9\u94D2\u9E38\u9C95\u53D1\u7F5A\u9600\u73D0\u77FE\u9492\u70E6\u8D29\u996D\u8BBF\u7EBA\u94AB\u9C82\u98DE\u8BFD\u5E9F\u8D39\u7EEF\u9544\u9CB1\u7EB7\u575F\u594B\u6124\u7CAA\u507E\u4E30\u67AB\u950B\u98CE\u75AF\u51AF\u7F1D\u8BBD\u51E4\u6CA3\u80A4\u8F90\u629A\u8F85\u8D4B\u590D\u8D1F\u8BA3\u5987\u7F1A\u51EB\u9A78\u7EC2\u7ECB\u8D59\u9EB8\u9C8B\u9CC6\u9486\u8BE5\u9499\u76D6\u8D45\u6746\u8D76\u79C6\u8D63\u5C34\u64C0\u7EC0\u5188\u521A\u94A2\u7EB2\u5C97\u6206\u9550\u777E\u8BF0\u7F1F\u9506\u6401\u9E3D\u9601\u94EC\u4E2A\u7EA5\u9549\u988D\u7ED9\u4E98\u8D53\u7EE0\u9CA0\u9F9A\u5BAB\u5DE9\u8D21\u94A9\u6C9F\u82DF\u6784\u8D2D\u591F\u8BDF\u7F11\u89CF\u86CA\u987E\u8BC2\u6BC2\u94B4\u9522\u9E2A\u9E44\u9E58\u5250\u6302\u9E39\u63B4\u5173\u89C2\u9986\u60EF\u8D2F\u8BD6\u63BC\u9E73\u9CCF\u5E7F\u72B7\u89C4\u5F52\u9F9F\u95FA\u8F68\u8BE1\u8D35\u523D\u5326\u523F\u59AB\u6867\u9C91\u9CDC\u8F8A\u6EDA\u886E\u7EF2\u9CA7\u9505\u56FD\u8FC7\u57DA\u5459\u5E3C\u6901\u8748\u94EA\u9A87\u97E9\u6C49\u961A\u7ED7\u9889\u53F7\u704F\u98A2\u9602\u9E64\u8D3A\u8BC3\u9616\u86CE\u6A2A\u8F70\u9E3F\u7EA2\u9EC9\u8BA7\u836D\u95F3\u9C8E\u58F6\u62A4\u6CAA\u6237\u6D52\u9E55\u54D7\u534E\u753B\u5212\u8BDD\u9A85\u6866\u94E7\u6000\u574F\u6B22\u73AF\u8FD8\u7F13\u6362\u5524\u75EA\u7115\u6DA3\u5942\u7F33\u953E\u9CA9\u9EC4\u8C0E\u9CC7\u6325\u8F89\u6BC1\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8BD9\u835F\u54D5\u6D4D\u7F0B\u73F2\u6656\u8364\u6D51\u8BE8\u9984\u960D\u83B7\u8D27\u7978\u94AC\u956C\u51FB\u673A\u79EF\u9965\u8FF9\u8BA5\u9E21\u7EE9\u7F09\u6781\u8F91\u7EA7\u6324\u51E0\u84DF\u5242\u6D4E\u8BA1\u8BB0\u9645\u7EE7\u7EAA\u8BA6\u8BD8\u8360\u53FD\u54DC\u9AA5\u7391\u89CA\u9F51\u77F6\u7F81\u867F\u8DFB\u9701\u9C9A\u9CAB\u5939\u835A\u988A\u8D3E\u94BE\u4EF7\u9A7E\u90CF\u6D43\u94D7\u9553\u86F2\u6B7C\u76D1\u575A\u7B3A\u95F4\u8270\u7F04\u8327\u68C0\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u8C0F\u7F23\u620B\u622C\u7751\u9E63\u7B15\u9CA3\u97AF\u5C06\u6D46\u848B\u6868\u5956\u8BB2\u9171\u7EDB\u7F30\u80F6\u6D47\u9A84\u5A07\u6405\u94F0\u77EB\u4FA5\u811A\u997A\u7F34\u7EDE\u8F7F\u8F83\u6322\u5CE4\u9E6A\u9C9B\u9636\u8282\u6D01\u7ED3\u8BEB\u5C4A\u7596\u988C\u9C92\u7D27\u9526\u4EC5\u8C28\u8FDB\u664B\u70EC\u5C3D\u52B2\u8346\u830E\u537A\u8369\u9991\u7F19\u8D46\u89D0\u9CB8\u60CA\u7ECF\u9888\u9759\u955C\u5F84\u75C9\u7ADE\u51C0\u522D\u6CFE\u8FF3\u5F2A\u80EB\u9753\u7EA0\u53A9\u65E7\u9604\u9E20\u9E6B\u9A79\u4E3E\u636E\u952F\u60E7\u5267\u8BB5\u5C66\u6989\u98D3\u949C\u9514\u7AAD\u9F83\u9E43\u7EE2\u9529\u954C\u96BD\u89C9\u51B3\u7EDD\u8C32\u73CF\u94A7\u519B\u9A8F\u76B2\u5F00\u51EF\u5240\u57B2\u5FFE\u607A\u94E0\u9534\u9F9B\u95F6\u94AA\u94D0\u9897\u58F3\u8BFE\u9A92\u7F02\u8F72\u94B6\u951E\u9894\u57A6\u6073\u9F88\u94FF\u62A0\u5E93\u88E4\u55BE\u5757\u4FA9\u90D0\u54D9\u810D\u5BBD\u72EF\u9ACB\u77FF\u65F7\u51B5\u8BD3\u8BF3\u909D\u5739\u7EA9\u8D36\u4E8F\u5CBF\u7AA5\u9988\u6E83\u532E\u8489\u6126\u8069\u7BD1\u9603\u951F\u9CB2\u6269\u9614\u86F4\u8721\u814A\u83B1\u6765\u8D56\u5D03\u5F95\u6D9E\u6FD1\u8D49\u7750\u94FC\u765E\u7C41\u84DD\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u5C9A\u6984\u6593\u9567\u8934\u7405\u9606\u9512\u635E\u52B3\u6D9D\u5520\u5D02\u94D1\u94F9\u75E8\u4E50\u9CD3\u956D\u5792\u7C7B\u6CEA\u8BD4\u7F27\u7BF1\u72F8\u79BB\u9CA4\u793C\u4E3D\u5389\u52B1\u783E\u5386\u6CA5\u96B6\u4FEA\u90E6\u575C\u82C8\u8385\u84E0\u5456\u9026\u9A8A\u7F21\u67A5\u680E\u8F79\u783A\u9502\u9E42\u75A0\u7C9D\u8DDE\u96F3\u9CA1\u9CE2\u4FE9\u8054\u83B2\u8FDE\u9570\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u8539\u5941\u6F4B\u740F\u6B93\u88E2\u88E3\u9CA2\u7CAE\u51C9\u4E24\u8F86\u8C05\u9B49\u7597\u8FBD\u9563\u7F2D\u948C\u9E69\u730E\u4E34\u90BB\u9CDE\u51DB\u8D41\u853A\u5EEA\u6AA9\u8F9A\u8E8F\u9F84\u94C3\u7075\u5CAD\u9886\u7EEB\u68C2\u86CF\u9CAE\u998F\u5218\u6D4F\u9A9D\u7EFA\u954F\u9E68\u9F99\u804B\u5499\u7B3C\u5784\u62E2\u9647\u830F\u6CF7\u73D1\u680A\u80E7\u783B\u697C\u5A04\u6402\u7BD3\u507B\u848C\u55BD\u5D5D\u9542\u7618\u8027\u877C\u9AC5\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u8D42\u7984\u5F55\u9646\u5786\u64B8\u565C\u95FE\u6CF8\u6E0C\u680C\u6A79\u8F73\u8F82\u8F98\u6C07\u80EA\u9E2C\u9E6D\u823B\u9C88\u5CE6\u631B\u5B6A\u6EE6\u4E71\u8114\u5A08\u683E\u9E3E\u92AE\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u56F5\u841D\u7F57\u903B\u9523\u7BA9\u9AA1\u9A86\u7EDC\u8366\u7321\u6CFA\u6924\u8136\u9559\u9A74\u5415\u94DD\u4FA3\u5C61\u7F15\u8651\u6EE4\u7EFF\u6988\u891B\u950A\u5452\u5988\u739B\u7801\u8682\u9A6C\u9A82\u5417\u551B\u5B37\u6769\u4E70\u9EA6\u5356\u8FC8\u8109\u52A2\u7792\u9992\u86EE\u6EE1\u8C29\u7F26\u9558\u98A1\u9CD7\u732B\u951A\u94C6\u8D38\u4E48\u6CA1\u9541\u95E8\u95F7\u4EEC\u626A\u7116\u61D1\u9494\u9530\u68A6\u772F\u8C1C\u5F25\u89C5\u5E42\u8288\u8C27\u7315\u7962\u7EF5\u7F05\u6E11\u817C\u9EFE\u5E99\u7F08\u7F2A\u706D\u60AF\u95FD\u95F5\u7F17\u9E23\u94ED\u8C2C\u8C1F\u84E6\u998D\u6B81\u9546\u8C0B\u4EA9\u94BC\u5450\u94A0\u7EB3\u96BE\u6320\u8111\u607C\u95F9\u94D9\u8BB7\u9981\u5185\u62DF\u817B\u94CC\u9CB5\u64B5\u8F87\u9CB6\u917F\u9E1F\u8311\u8885\u8042\u556E\u954A\u954D\u9667\u8616\u55EB\u989F\u8E51\u67E0\u72DE\u5B81\u62E7\u6CDE\u82CE\u549B\u804D\u94AE\u7EBD\u8113\u6D53\u519C\u4FAC\u54DD\u9A7D\u9495\u8BFA\u50A9\u759F\u6B27\u9E25\u6BB4\u5455\u6CA4\u8BB4\u6004\u74EF\u76D8\u8E52\u5E9E\u629B\u75B1\u8D54\u8F94\u55B7\u9E4F\u7EB0\u7F74\u94CD\u9A97\u8C1D\u9A88\u98D8\u7F25\u9891\u8D2B\u5AD4\u82F9\u51ED\u8BC4\u6CFC\u9887\u948B\u6251\u94FA\u6734\u8C31\u9564\u9568\u6816\u8110\u9F50\u9A91\u5C82\u542F\u6C14\u5F03\u8BAB\u8572\u9A90\u7EEE\u6864\u789B\u9880\u9883\u9CCD\u7275\u948E\u94C5\u8FC1\u7B7E\u8C26\u94B1\u94B3\u6F5C\u6D45\u8C34\u5811\u4F65\u8368\u60AD\u9A9E\u7F31\u6920\u94A4\u67AA\u545B\u5899\u8537\u5F3A\u62A2\u5AF1\u6A2F\u6217\u709D\u9516\u9535\u956A\u7F9F\u8DC4\u9539\u6865\u4E54\u4FA8\u7FD8\u7A8D\u8BEE\u8C2F\u835E\u7F32\u7857\u8DF7\u7A83\u60EC\u9532\u7BA7\u94A6\u4EB2\u5BDD\u9513\u8F7B\u6C22\u503E\u9877\u8BF7\u5E86\u63FF\u9CAD\u743C\u7A77\u8315\u86F1\u5DEF\u8D47\u866E\u9CC5\u8D8B\u533A\u8EAF\u9A71\u9F8B\u8BCE\u5C96\u9612\u89D1\u9E32\u98A7\u6743\u529D\u8BE0\u7EFB\u8F81\u94E8\u5374\u9E4A\u786E\u9615\u9619\u60AB\u8BA9\u9976\u6270\u7ED5\u835B\u5A06\u6861\u70ED\u97E7\u8BA4\u7EAB\u996A\u8F6B\u8363\u7ED2\u5D58\u877E\u7F1B\u94F7\u98A6\u8F6F\u9510\u86AC\u95F0\u6DA6\u6D12\u8428\u98D2\u9CC3\u8D5B\u4F1E\u6BF5\u7CC1\u4E27\u9A9A\u626B\u7F2B\u6DA9\u556C\u94EF\u7A51\u6740\u5239\u7EB1\u94E9\u9CA8\u7B5B\u6652\u917E\u5220\u95EA\u9655\u8D61\u7F2E\u8BAA\u59D7\u9A9F\u9490\u9CDD\u5892\u4F24\u8D4F\u57A7\u6B87\u89DE\u70E7\u7ECD\u8D4A\u6444\u6151\u8BBE\u538D\u6EE0\u7572\u7EC5\u5BA1\u5A76\u80BE\u6E17\u8BDC\u8C02\u6E16\u58F0\u7EF3\u80DC\u5E08\u72EE\u6E7F\u8BD7\u65F6\u8680\u5B9E\u8BC6\u9A76\u52BF\u9002\u91CA\u9970\u89C6\u8BD5\u8C25\u57D8\u83B3\u5F11\u8F7C\u8D33\u94C8\u9CA5\u5BFF\u517D\u7EF6\u67A2\u8F93\u4E66\u8D4E\u5C5E\u672F\u6811\u7AD6\u6570\u6445\u7EBE\u5E05\u95E9\u53CC\u8C01\u7A0E\u987A\u8BF4\u7855\u70C1\u94C4\u4E1D\u9972\u53AE\u9A77\u7F0C\u9536\u9E36\u8038\u6002\u9882\u8BBC\u8BF5\u64DE\u85AE\u998A\u98D5\u953C\u82CF\u8BC9\u8083\u8C21\u7A23\u867D\u968F\u7EE5\u5C81\u8C07\u5B59\u635F\u7B0B\u836A\u72F2\u7F29\u7410\u9501\u5522\u7743\u736D\u631E\u95FC\u94CA\u9CCE\u53F0\u6001\u949B\u9C90\u644A\u8D2A\u762B\u6EE9\u575B\u8C2D\u8C08\u53F9\u6619\u94BD\u952C\u9878\u6C64\u70EB\u50A5\u9967\u94F4\u9557\u6D9B\u7EE6\u8BA8\u97EC\u94FD\u817E\u8A8A\u9511\u9898\u4F53\u5C49\u7F07\u9E48\u9617\u6761\u7C9C\u9F86\u9CA6\u8D34\u94C1\u5385\u542C\u70C3\u94DC\u7EDF\u6078\u5934\u94AD\u79C3\u56FE\u948D\u56E2\u629F\u9893\u8715\u9968\u8131\u9E35\u9A6E\u9A7C\u692D\u7BA8\u9F0D\u889C\u5A32\u817D\u5F2F\u6E7E\u987D\u4E07\u7EA8\u7EFE\u7F51\u8F8B\u97E6\u8FDD\u56F4\u4E3A\u6F4D\u7EF4\u82C7\u4F1F\u4F2A\u7EAC\u8C13\u536B\u8BFF\u5E0F\u95F1\u6CA9\u6DA0\u73AE\u97EA\u709C\u9C94\u6E29\u95FB\u7EB9\u7A33\u95EE\u960C\u74EE\u631D\u8717\u6DA1\u7A9D\u5367\u83B4\u9F8C\u545C\u94A8\u4E4C\u8BEC\u65E0\u829C\u5434\u575E\u96FE\u52A1\u8BEF\u90AC\u5E91\u6003\u59A9\u9A9B\u9E49\u9E5C\u9521\u727A\u88AD\u4E60\u94E3\u620F\u7EC6\u9969\u960B\u73BA\u89CB\u867E\u8F96\u5CE1\u4FA0\u72ED\u53A6\u5413\u7856\u9C9C\u7EA4\u8D24\u8854\u95F2\u663E\u9669\u73B0\u732E\u53BF\u9985\u7FA1\u5BAA\u7EBF\u82CB\u83B6\u85D3\u5C98\u7303\u5A34\u9E47\u75EB\u869D\u7C7C\u8DF9\u53A2\u9576\u4E61\u8BE6\u54CD\u9879\u8297\u9977\u9AA7\u7F03\u98E8\u8427\u56A3\u9500\u6653\u5578\u54D3\u6F47\u9A81\u7EE1\u67AD\u7BAB\u534F\u631F\u643A\u80C1\u8C10\u5199\u6CFB\u8C22\u4EB5\u64B7\u7EC1\u7F2C\u950C\u8845\u5174\u9649\u8365\u51F6\u6C79\u9508\u7EE3\u9990\u9E3A\u865A\u5618\u987B\u8BB8\u53D9\u7EEA\u7EED\u8BE9\u987C\u8F69\u60AC\u9009\u7663\u7EDA\u8C16\u94C9\u955F\u5B66\u8C11\u6CF6\u9CD5\u52CB\u8BE2\u5BFB\u9A6F\u8BAD\u8BAF\u900A\u57D9\u6D54\u9C9F\u538B\u9E26\u9E2D\u54D1\u4E9A\u8BB6\u57AD\u5A05\u6860\u6C29\u9609\u70DF\u76D0\u4E25\u5CA9\u989C\u960E\u8273\u538C\u781A\u5F66\u8C1A\u9A8C\u53A3\u8D5D\u4FE8\u5156\u8C33\u6079\u95EB\u917D\u9B47\u990D\u9F39\u9E2F\u6768\u626C\u75A1\u9633\u75D2\u517B\u6837\u7080\u7476\u6447\u5C27\u9065\u7A91\u8C23\u836F\u8F7A\u9E5E\u9CD0\u7237\u9875\u4E1A\u53F6\u9765\u8C12\u90BA\u6654\u70E8\u533B\u94F1\u9890\u9057\u4EEA\u8681\u827A\u4EBF\u5FC6\u4E49\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7ECE\u8BD2\u5453\u5CC4\u9974\u603F\u9A7F\u7F22\u8F76\u8D3B\u9487\u9552\u9571\u7617\u8223\u836B\u9634\u94F6\u996E\u9690\u94DF\u763E\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8D62\u9896\u8314\u83BA\u8426\u84E5\u6484\u5624\u6EE2\u6F46\u748E\u9E66\u763F\u988F\u7F42\u54DF\u62E5\u4F63\u75C8\u8E0A\u548F\u955B\u4F18\u5FE7\u90AE\u94C0\u72B9\u8BF1\u83B8\u94D5\u9C7F\u8206\u9C7C\u6E14\u5A31\u4E0E\u5C7F\u8BED\u72F1\u8A89\u9884\u9A6D\u4F1B\u4FE3\u8C00\u8C15\u84E3\u5D5B\u996B\u9608\u59AA\u7EA1\u89CE\u6B24\u94B0\u9E46\u9E6C\u9F89\u9E33\u6E0A\u8F95\u56ED\u5458\u5706\u7F18\u8FDC\u6A7C\u9E22\u9F0B\u7EA6\u8DC3\u94A5\u7CA4\u60A6\u9605\u94BA\u90E7\u5300\u9668\u8FD0\u8574\u915D\u6655\u97F5\u90D3\u82B8\u607D\u6120\u7EAD\u97EB\u6B92\u6C32\u6742\u707E\u8F7D\u6512\u6682\u8D5E\u74D2\u8DB1\u933E\u8D43\u810F\u9A75\u51FF\u67A3\u8D23\u62E9\u5219\u6CFD\u8D5C\u5567\u5E3B\u7BA6\u8D3C\u8C2E\u8D60\u7EFC\u7F2F\u8F67\u94E1\u95F8\u6805\u8BC8\u658B\u503A\u6BE1\u76CF\u65A9\u8F97\u5D2D\u6808\u6218\u7EFD\u8C35\u5F20\u6DA8\u5E10\u8D26\u80C0\u8D75\u8BCF\u948A\u86F0\u8F99\u9517\u8FD9\u8C2A\u8F84\u9E67\u8D1E\u9488\u4FA6\u8BCA\u9547\u9635\u6D48\u7F1C\u6862\u8F78\u8D48\u796F\u9E29\u6323\u7741\u72F0\u4E89\u5E27\u75C7\u90D1\u8BC1\u8BE4\u5CE5\u94B2\u94EE\u7B5D\u7EC7\u804C\u6267\u7EB8\u631A\u63B7\u5E1C\u8D28\u6EDE\u9A98\u6809\u6800\u8F75\u8F7E\u8D3D\u9E37\u86F3\u7D77\u8E2C\u8E2F\u89EF\u949F\u7EC8\u79CD\u80BF\u4F17\u953A\u8BCC\u8F74\u76B1\u663C\u9AA4\u7EA3\u7EC9\u732A\u8BF8\u8BDB\u70DB\u77A9\u5631\u8D2E\u94F8\u9A7B\u4F2B\u69E0\u94E2\u4E13\u7816\u8F6C\u8D5A\u556D\u9994\u989E\u6869\u5E84\u88C5\u5986\u58EE\u72B6\u9525\u8D58\u5760\u7F00\u9A93\u7F12\u8C06\u51C6\u7740\u6D4A\u8BFC\u956F\u5179\u8D44\u6E0D\u8C18\u7F01\u8F8E\u8D40\u7726\u9531\u9F87\u9CBB\u8E2A\u603B\u7EB5\u506C\u90B9\u8BF9\u9A7A\u9CB0\u8BC5\u7EC4\u955E\u94BB\u7F35\u8E9C\u9CDF\u7FF1\u5E76\u535C\u6C89\u4E11\u6DC0\u8FED\u6597\u8303\u5E72\u768B\u7845\u67DC\u540E\u4F19\u79F8\u6770\u8BC0\u5938\u91CC\u91CC\u51CC\u4E48\u9709\u637B\u51C4\u6266\u5723\u5C38\u62AC\u6D82\u6D3C\u5582\u6C61\u9528\u54B8\u874E\u5F5D\u6D8C\u6E38\u5401\u5FA1\u613F\u5CB3\u4E91\u7076\u624E\u672D\u7B51\u4E8E\u5FD7\u6CE8\u51CB\u8BA0\u8C2B\u90C4\u52D0\u51FC\u5742\u5785\u57B4\u57EF\u57DD\u82D8\u836C\u836E\u839C\u83BC\u83F0\u85C1\u63F8\u5412\u5423\u5494\u549D\u54B4\u5658\u567C\u56AF\u5E5E\u5C99\u5D74\u5F77\u5FBC\u72B8\u72CD\u9980\u9987\u9993\u9995\u6123\u61B7\u61D4\u4E2C\u6E86\u6EDF\u6EB7\u6F24\u6F74\u6FB9\u752F\u7E9F\u7ED4\u7EF1\u73C9\u67A7\u684A\u6849\u69D4\u6A65\u8F71\u8F77\u8D4D\u80B7\u80E8\u98DA\u7173\u7145\u7198\u610D\u6DFC\u781C\u78D9\u770D\u949A\u94B7\u94D8\u94DE\u9503\u950D\u950E\u950F\u9518\u951D\u952A\u952B\u953F\u9545\u954E\u9562\u9565\u9569\u9572\u7A06\u9E4B\u9E5B\u9E71\u75AC\u75B4\u75D6\u766F\u88E5\u8941\u8022\u98A5\u87A8\u9EB4\u9C85\u9C86\u9C87\u9C9E\u9CB4\u9CBA\u9CBC\u9CCA\u9CCB\u9CD8\u9CD9\u9792\u97B4\u9F44\u4E2C\u4E3A\u4EB8\u4F17\u4F2A\u4F59\u51A2\u51C0\u51CC\u51FC\u522C\u52CB\u52D0\u52DA\u5364\u53C6\u53C7\u542F\u5494\u54A4\u54B4\u54CC\u54D7\u551D\u5521\u5523\u553F\u556E\u5570\u5574\u5475\u567C\u56AF\u5785\u57A7\u57AF\u57B1\u57D9\u57DD\u5846\u5899\u58F8\u59AB\u59DC\u5A34\u5A73\u5C43\u5CBD\u5CC3\u5CE3\u5D04\u5D5A\u5D5B\u5D74\u5EBC\u5F5F\u5FA1\u610D\u616D\u61B7\u624E\u6266\u631C\u6326\u637B\u63F8\u65F8\u663D\u672D\u684A\u68BC\u68BE\u68C2\u69DA\u6A90\u6C61\u6C93\u6CA8\u6CA9\u6CB5\u6D49\u6D50\u6D55\u6D8C\u6DA2\u6E7F\u6E87\u6EEA\u6F24\u7145\u7173\u7198\u7266\u729F\u72CD\u72DD\u732C\u7399\u739A\u73B1\u73C9\u73CF\u73F0\u740E\u7487\u7572\u75B4\u7606\u7618\u766F\u772C\u7740\u7841\u7845\u7859\u785A\u7877\u78B9\u78D9\u794E\u79FE\u7B5C\u7B7E\u7B93\u7CC7\u7E9F\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EE6\u7EEC\u7EF1\u7EF9\u7F0A\u7F10\u7F1E\u7F30\u7FD9\u7FDA\u80B7\u810F\u814C\u8158\u816D\u81DC\u8273\u8279\u8359\u839C\u83BC\u841A\u85C1\u866C\u8780\u87CF\u8885\u8886\u88AF\u88C8\u88E5\u8941\u8955\u89C3\u89CD\u8A5F\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C1E\u8C25\u8C37\u8C6E\u8D20\u8D4D\u8D51\u8D52\u8D57\u8D5F\u8D6A\u8DD6\u8DF6\u8E0A\u8F6A\u8F80\u8F8C\u8F92\u90C1\u90C4\u9166\u9245\u9274\u948E\u9491\u9496\u9498\u94B5\u94BB\u94CF\u94DA\u94E6\u94FB\u9508\u950F\u951C\u9520\u9528\u9533\u953D\u9543\u9548\u9555\u955A\u9560\u9562\u956E\u9574\u95EC\u95F2\u95FF\u9607\u9613\u9618\u961B\u9655\u97B4\u97E8\u988B\u988E\u9892\u9895\u9899\u98A3\u98CF\u98D0\u98D4\u98D6\u98D7\u9964\u9965\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u998C\u998E\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9C7D\u9C7E\u9C80\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE\u9CBF\u9CC0\u9CC1\u9CC2\u9CC8\u9CC9\u9CD1\u9CD2\u9CDB\u9CE0\u9CE1\u9CE3\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E47\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6F\u9E72\u9E74\u9EE1\u9F0C\u9F17\u9F81\u9F82\u5FD7\u5236\u54A8\u53EA\u7CFB\u677E\u5C1D\u9762\u5E72\u62FC\u6076\u8D5E\u53D1\u50F5\u81F4\u5978\u83B7\u7EC3\u56DE\u7CFB\u8FF9\u53EA\u8F9F\u677F\u4F60"}function zz(){return"\u9312\u769A\u85F9\u7919\u611B\u566F\u5B21\u74A6\u66D6\u9744\u8AF3\u92A8\u9D6A\u9AAF\u8956\u5967\u5ABC\u9A41\u9C32\u58E9\u7F77\u9200\u64FA\u6557\u5504\u9812\u8FA6\u7D46\u9211\u5E6B\u7D81\u938A\u8B17\u525D\u98FD\u5BF6\u5831\u9B91\u9D07\u9F59\u8F29\u8C9D\u92C7\u72FD\u5099\u618A\u9D6F\u8CC1\u931B\u7E43\u7B46\u7562\u6583\u5E63\u9589\u84FD\u55F6\u6F77\u924D\u7BF3\u8E55\u908A\u7DE8\u8CB6\u8B8A\u8FAF\u8FAE\u8290\u7DF6\u7C69\u6A19\u9A43\u98AE\u98C6\u93E2\u9463\u9C3E\u9C49\u5225\u765F\u7015\u6FF1\u8CD3\u64EF\u5110\u7E7D\u6AB3\u6BAF\u81CF\u944C\u9AD5\u9B22\u9905\u7A1F\u64A5\u7F3D\u9251\u99C1\u9911\u9238\u9D53\u88DC\u923D\u8CA1\u53C3\u8836\u6B98\u615A\u6158\u71E6\u9A42\u9EF2\u84BC\u8259\u5009\u6EC4\u5EC1\u5074\u518A\u6E2C\u60FB\u5C64\u8A6B\u9364\u5115\u91F5\u6519\u647B\u87EC\u995E\u8B92\u7E8F\u93DF\u7522\u95E1\u986B\u56C5\u8AC2\u8B96\u8546\u61FA\u5B0B\u9A4F\u8998\u79AA\u9414\u5834\u5617\u9577\u511F\u8178\u5EE0\u66A2\u5000\u8407\u60B5\u95B6\u9BE7\u9214\u8ECA\u5FB9\u7868\u5875\u9673\u896F\u5096\u8AF6\u6AEC\u78E3\u9F54\u6490\u7A31\u61F2\u8AA0\u9A01\u68D6\u6A89\u92EE\u943A\u7661\u9072\u99B3\u6065\u9F52\u71BE\u98ED\u9D1F\u6C96\u885D\u87F2\u5BF5\u9283\u7587\u8E8A\u7C4C\u7DA2\u5114\u5E6C\u8B8E\u6AE5\u5EDA\u92E4\u96DB\u790E\u5132\u89F8\u8655\u82BB\u7D40\u8E95\u50B3\u91E7\u7621\u95D6\u5275\u6134\u9318\u7D9E\u7D14\u9D89\u7DBD\u8F1F\u9F6A\u8FAD\u8A5E\u8CDC\u9DBF\u8070\u8525\u56EA\u5F9E\u53E2\u84EF\u9A44\u6A05\u6E4A\u8F33\u8EA5\u7AC4\u651B\u932F\u92BC\u9E7A\u9054\u5660\u97C3\u5E36\u8CB8\u99D8\u7D3F\u64D4\u55AE\u9132\u64A3\u81BD\u619A\u8A95\u5F48\u6BAB\u8CE7\u7649\u7C1E\u7576\u64CB\u9EE8\u8569\u6A94\u8B9C\u78AD\u8960\u6417\u5CF6\u79B1\u5C0E\u76DC\u71FE\u71C8\u9127\u9419\u6575\u6ECC\u905E\u7DE0\u7CF4\u8A46\u8AE6\u7D88\u89BF\u93D1\u985B\u9EDE\u588A\u96FB\u5DD4\u923F\u7672\u91E3\u8ABF\u929A\u9BDB\u8ADC\u758A\u9C08\u91D8\u9802\u9320\u8A02\u92CC\u4E1F\u92A9\u6771\u52D5\u68DF\u51CD\u5D20\u9D87\u7AC7\u72A2\u7368\u8B80\u8CED\u934D\u7006\u6ADD\u7258\u7BE4\u9EF7\u935B\u65B7\u7DDE\u7C6A\u514C\u968A\u5C0D\u61DF\u9413\u5678\u9813\u920D\u71C9\u8E89\u596A\u58AE\u9438\u9D5D\u984D\u8A1B\u60E1\u9913\u8AE4\u580A\u95BC\u8EDB\u92E8\u9354\u9D9A\u984E\u9853\u9C77\u8A92\u5152\u723E\u990C\u8CB3\u9087\u927A\u9D2F\u9B9E\u767C\u7F70\u95A5\u743A\u792C\u91E9\u7169\u8CA9\u98EF\u8A2A\u7D21\u9201\u9B74\u98DB\u8AB9\u5EE2\u8CBB\u7DCB\u9428\u9BE1\u7D1B\u58B3\u596E\u61A4\u7CDE\u50E8\u8C50\u6953\u92D2\u98A8\u760B\u99AE\u7E2B\u8AF7\u9CF3\u7043\u819A\u8F3B\u64AB\u8F14\u8CE6\u5FA9\u8CA0\u8A03\u5A66\u7E1B\u9CE7\u99D9\u7D31\u7D3C\u8CFB\u9EA9\u9B92\u9C12\u91D3\u8A72\u9223\u84CB\u8CC5\u687F\u8D95\u7A08\u8D1B\u5C37\u641F\u7D3A\u5CA1\u525B\u92FC\u7DB1\u5D17\u6207\u93AC\u776A\u8AA5\u7E1E\u92EF\u64F1\u9D3F\u95A3\u927B\u500B\u7D07\u9398\u6F41\u7D66\u4E99\u8CE1\u7D86\u9BC1\u9F94\u5BAE\u978F\u8CA2\u9264\u6E9D\u830D\u69CB\u8CFC\u5920\u8A6C\u7DF1\u89AF\u8831\u9867\u8A41\u8F42\u9237\u932E\u9D23\u9D60\u9DBB\u526E\u639B\u9D30\u6451\u95DC\u89C0\u9928\u6163\u8CAB\u8A7F\u645C\u9E1B\u9C25\u5EE3\u7377\u898F\u6B78\u9F9C\u95A8\u8ECC\u8A6D\u8CB4\u528A\u532D\u528C\u5AAF\u6A9C\u9BAD\u9C56\u8F25\u6EFE\u889E\u7DC4\u9BC0\u934B\u570B\u904E\u581D\u54BC\u5E57\u69E8\u87C8\u927F\u99ED\u97D3\u6F22\u95DE\u7D4E\u9821\u865F\u705D\u9865\u95A1\u9DB4\u8CC0\u8A36\u95D4\u8823\u6A6B\u8F5F\u9D3B\u7D05\u9ECC\u8A0C\u8452\u958E\u9C5F\u58FA\u8B77\u6EEC\u6236\u6EF8\u9D98\u5629\u83EF\u756B\u5283\u8A71\u9A4A\u6A3A\u93F5\u61F7\u58DE\u6B61\u74B0\u9084\u7DE9\u63DB\u559A\u7613\u7165\u6E19\u5950\u7E6F\u9370\u9BC7\u9EC3\u8B0A\u9C09\u63EE\u8F1D\u6BC0\u8CC4\u7A62\u6703\u71F4\u532F\u8AF1\u8AA8\u7E6A\u8A7C\u8588\u5666\u6FAE\u7E62\u743F\u6689\u8477\u6E3E\u8AE2\u991B\u95BD\u7372\u8CA8\u798D\u9225\u944A\u64CA\u6A5F\u7A4D\u9951\u8DE1\u8B4F\u96DE\u7E3E\u7DDD\u6975\u8F2F\u7D1A\u64E0\u5E7E\u858A\u5291\u6FDF\u8A08\u8A18\u969B\u7E7C\u7D00\u8A10\u8A70\u85BA\u5630\u568C\u9A65\u74A3\u89AC\u9F4F\u78EF\u7F88\u8806\u8E8B\u973D\u9C6D\u9BFD\u593E\u83A2\u9830\u8CC8\u9240\u50F9\u99D5\u90DF\u6D79\u92CF\u93B5\u87EF\u6BB2\u76E3\u5805\u7B8B\u9593\u8271\u7DD8\u7E6D\u6AA2\u583F\u9E7C\u63C0\u64BF\u7C21\u5109\u6E1B\u85A6\u6ABB\u9452\u8E10\u8CE4\u898B\u9375\u8266\u528D\u991E\u6F38\u6FFA\u6F97\u8AEB\u7E11\u6214\u6229\u77BC\u9DBC\u7B67\u9C39\u97C9\u5C07\u6F3F\u8523\u69F3\u734E\u8B1B\u91AC\u7D73\u97C1\u81A0\u6F86\u9A55\u5B0C\u652A\u9278\u77EF\u50E5\u8173\u9903\u7E73\u7D5E\u8F4E\u8F03\u649F\u5DA0\u9DE6\u9BAB\u968E\u7BC0\u6F54\u7D50\u8AA1\u5C46\u7664\u981C\u9B9A\u7DCA\u9326\u50C5\u8B39\u9032\u6649\u71FC\u76E1\u52C1\u834A\u8396\u5DF9\u85CE\u9949\u7E09\u8D10\u89B2\u9BE8\u9A5A\u7D93\u9838\u975C\u93E1\u5F91\u75D9\u7AF6\u51C8\u5244\u6D87\u9015\u5F33\u811B\u975A\u7CFE\u5EC4\u820A\u9B2E\u9CE9\u9DF2\u99D2\u8209\u64DA\u92F8\u61FC\u5287\u8A4E\u5C68\u6AF8\u98B6\u9245\u92E6\u7AB6\u9F5F\u9D51\u7D79\u9308\u942B\u96CB\u89BA\u6C7A\u7D55\u8B4E\u73A8\u921E\u8ECD\u99FF\u76B8\u958B\u51F1\u5274\u584F\u613E\u6137\u93A7\u9347\u9F95\u958C\u9227\u92AC\u9846\u6BBC\u8AB2\u9A0D\u7DD9\u8EFB\u9233\u9301\u9837\u58BE\u61C7\u9F66\u93D7\u6473\u5EAB\u8932\u56B3\u584A\u5108\u9136\u5672\u81BE\u5BEC\u736A\u9AD6\u7926\u66E0\u6CC1\u8A86\u8A91\u913A\u58D9\u7E8A\u8CBA\u8667\u5DCB\u7ABA\u994B\u6F70\u5331\u8562\u6192\u8075\u7C23\u95AB\u9315\u9BE4\u64F4\u95CA\u8810\u881F\u81D8\u840A\u4F86\u8CF4\u5D0D\u5FA0\u6DF6\u7028\u8CDA\u775E\u9338\u7669\u7C5F\u85CD\u6B04\u6514\u7C43\u95CC\u862D\u703E\u8B95\u652C\u89BD\u61F6\u7E9C\u721B\u6FEB\u5D50\u6B16\u6595\u946D\u8964\u746F\u95AC\u92C3\u6488\u52DE\u6F87\u562E\u5D97\u92A0\u9412\u7646\u6A02\u9C33\u9433\u58D8\u985E\u6DDA\u8A84\u7E32\u7C6C\u8C8D\u96E2\u9BC9\u79AE\u9E97\u53B2\u52F5\u792B\u6B77\u701D\u96B8\u5137\u9148\u58E2\u85F6\u849E\u863A\u56A6\u9090\u9A6A\u7E2D\u6AEA\u6ADF\u8F62\u792A\u92F0\u9E1D\u7658\u7CF2\u8E92\u9742\u9C7A\u9C67\u5006\u806F\u84EE\u9023\u942E\u6190\u6F23\u7C3E\u6582\u81C9\u93C8\u6200\u7149\u7DF4\u861E\u5969\u7032\u7489\u6BAE\u8933\u895D\u9C31\u7CE7\u6DBC\u5169\u8F1B\u8AD2\u9B4E\u7642\u907C\u9410\u7E5A\u91D5\u9DEF\u7375\u81E8\u9130\u9C57\u51DC\u8CC3\u85FA\u5EE9\u6A81\u8F54\u8EAA\u9F61\u9234\u9748\u5DBA\u9818\u7DBE\u6B1E\u87F6\u9BEA\u993E\u5289\u700F\u9A2E\u7DB9\u93A6\u9DDA\u9F8D\u807E\u56A8\u7C60\u58DF\u650F\u96B4\u8622\u7027\u74CF\u6AF3\u6727\u7931\u6A13\u5A41\u645F\u7C0D\u50C2\u851E\u560D\u5D81\u93E4\u763A\u802C\u87BB\u9ACF\u8606\u76E7\u9871\u5EEC\u7210\u64C4\u9E75\u865C\u9B6F\u8CC2\u797F\u9304\u9678\u58DA\u64FC\u5695\u95AD\u7018\u6DE5\u6AE8\u6AD3\u8F64\u8F05\u8F46\u6C0C\u81DA\u9E15\u9DFA\u826B\u9C78\u5DD2\u6523\u5B7F\u7064\u4E82\u81E0\u5B4C\u6B12\u9E1E\u947E\u6384\u8F2A\u502B\u4F96\u6DEA\u7DB8\u8AD6\u5707\u863F\u7F85\u908F\u947C\u7C6E\u9A3E\u99F1\u7D61\u7296\u7380\u6FFC\u6B0F\u8161\u93CD\u9A62\u5442\u92C1\u4FB6\u5C62\u7E37\u616E\u6FFE\u7DA0\u6ADA\u8938\u92DD\u5638\u5ABD\u746A\u78BC\u879E\u99AC\u7F75\u55CE\u561C\u5B24\u69AA\u8CB7\u9EA5\u8CE3\u9081\u8108\u52F1\u779E\u9945\u883B\u6EFF\u8B3E\u7E35\u93DD\u9859\u9C3B\u8C93\u9328\u925A\u8CBF\u9EBC\u6C92\u9382\u9580\u60B6\u5011\u636B\u71DC\u61E3\u9346\u9333\u5922\u7787\u8B0E\u5F4C\u8993\u51AA\u7F8B\u8B10\u737C\u79B0\u7DBF\u7DEC\u6FA0\u9766\u9EFD\u5EDF\u7DF2\u7E46\u6EC5\u61AB\u95A9\u9594\u7DE1\u9CF4\u9298\u8B2C\u8B28\u9A40\u9943\u6B7F\u93CC\u8B00\u755D\u926C\u5436\u9209\u7D0D\u96E3\u6493\u8166\u60F1\u9B27\u9403\u8A25\u9912\u5167\u64EC\u81A9\u922E\u9BE2\u6506\u8F26\u9BF0\u91C0\u9CE5\u8526\u88CA\u8076\u5699\u9477\u93B3\u9689\u8617\u56C1\u9862\u8EA1\u6AB8\u7370\u5BE7\u64F0\u6FD8\u82E7\u5680\u8079\u9215\u7D10\u81BF\u6FC3\u8FB2\u5102\u5665\u99D1\u91F9\u8AFE\u513A\u7627\u6B50\u9DD7\u6BC6\u5614\u6F1A\u8B33\u616A\u750C\u76E4\u8E63\u9F90\u62CB\u76B0\u8CE0\u8F61\u5674\u9D6C\u7D15\u7F86\u9239\u9A19\u8ADE\u99E2\u98C4\u7E39\u983B\u8CA7\u5B2A\u860B\u6191\u8A55\u6F51\u9817\u91D9\u64B2\u92EA\u6A38\u8B5C\u93F7\u9420\u68F2\u81CD\u9F4A\u9A0E\u8C48\u555F\u6C23\u68C4\u8A16\u8604\u9A0F\u7DBA\u69BF\u78E7\u980E\u980F\u9C2D\u727D\u91EC\u925B\u9077\u7C3D\u8B19\u9322\u9257\u6F5B\u6DFA\u8B74\u5879\u50C9\u8541\u6173\u9A2B\u7E7E\u69E7\u9210\u69CD\u55C6\u58BB\u8594\u5F37\u6436\u5B19\u6AA3\u6227\u7197\u9306\u93D8\u93F9\u7FA5\u8E4C\u936C\u6A4B\u55AC\u50D1\u7FF9\u7AC5\u8A9A\u8B59\u854E\u7E70\u78FD\u8E7A\u7ACA\u611C\u9365\u7BCB\u6B3D\u89AA\u5BE2\u92DF\u8F15\u6C2B\u50BE\u9803\u8ACB\u6176\u64B3\u9BD6\u74CA\u7AAE\u7162\u86FA\u5DF0\u8CD5\u87E3\u9C0D\u8DA8\u5340\u8EC0\u9A45\u9F72\u8A58\u5D87\u95C3\u89B7\u9D1D\u9874\u6B0A\u52F8\u8A6E\u7DA3\u8F07\u9293\u537B\u9D72\u78BA\u95CB\u95D5\u6128\u8B93\u9952\u64FE\u7E5E\u8558\u5B08\u6A48\u71B1\u97CC\u8A8D\u7D09\u98EA\u8ED4\u69AE\u7D68\u5DB8\u8811\u7E1F\u92A3\u9870\u8EDF\u92B3\u8706\u958F\u6F64\u7051\u85A9\u98AF\u9C13\u8CFD\u5098\u6BFF\u7CDD\u55AA\u9A37\u6383\u7E45\u6F80\u55C7\u92AB\u7A61\u6BBA\u524E\u7D17\u93A9\u9BCA\u7BE9\u66EC\u91C3\u522A\u9583\u965C\u8D0D\u7E55\u8A15\u59CD\u9A38\u91E4\u9C54\u5891\u50B7\u8CDE\u5770\u6BA4\u89F4\u71D2\u7D39\u8CD2\u651D\u61FE\u8A2D\u5399\u7044\u756C\u7D33\u5BE9\u5B38\u814E\u6EF2\u8A75\u8AD7\u700B\u8072\u7E69\u52DD\u5E2B\u7345\u6FD5\u8A69\u6642\u8755\u5BE6\u8B58\u99DB\u52E2\u9069\u91CB\u98FE\u8996\u8A66\u8B1A\u5852\u8494\u5F12\u8EFE\u8CB0\u9230\u9C23\u58FD\u7378\u7DAC\u6A1E\u8F38\u66F8\u8D16\u5C6C\u8853\u6A39\u8C4E\u6578\u6504\u7D13\u5E25\u9582\u96D9\u8AB0\u7A05\u9806\u8AAA\u78A9\u720D\u9460\u7D72\u98FC\u5EDD\u99DF\u7DE6\u9376\u9DE5\u8073\u616B\u980C\u8A1F\u8AA6\u64FB\u85EA\u993F\u98BC\u93AA\u8607\u8A34\u8085\u8B16\u7A4C\u96D6\u96A8\u7D8F\u6B72\u8AB6\u5B6B\u640D\u7B4D\u84C0\u733B\u7E2E\u7463\u9396\u55E9\u8127\u737A\u64BB\u95E5\u9248\u9C28\u81FA\u614B\u9226\u9B90\u6524\u8CAA\u7671\u7058\u58C7\u8B5A\u8AC7\u5606\u66C7\u926D\u931F\u9807\u6E6F\u71D9\u513B\u9933\u940B\u93DC\u6FE4\u7D73\u8A0E\u97DC\u92F1\u9A30\u8B04\u92BB\u984C\u9AD4\u5C5C\u7DF9\u9D5C\u95D0\u689D\u7CF6\u9F60\u9C37\u8CBC\u9435\u5EF3\u807D\u70F4\u9285\u7D71\u615F\u982D\u9204\u79BF\u5716\u91F7\u5718\u6476\u9839\u86FB\u98E9\u812B\u9D15\u99B1\u99DD\u6A62\u7C5C\u9F09\u896A\u5AA7\u8183\u5F4E\u7063\u9811\u842C\u7D08\u7DB0\u7DB2\u8F1E\u97CB\u9055\u570D\u70BA\u6FF0\u7DAD\u8466\u5049\u507D\u7DEF\u8B02\u885B\u8AC9\u5E43\u95C8\u6E88\u6F7F\u744B\u97D9\u7152\u9BAA\u6EAB\u805E\u7D0B\u7A69\u554F\u95BF\u7515\u64BE\u8778\u6E26\u7AA9\u81E5\u8435\u9F77\u55DA\u93A2\u70CF\u8AA3\u7121\u856A\u5433\u5862\u9727\u52D9\u8AA4\u9114\u5EE1\u61AE\u5AF5\u9A16\u9D61\u9DA9\u932B\u72A7\u8972\u7FD2\u9291\u6232\u7D30\u993C\u9B29\u74BD\u89A1\u8766\u8F44\u5CFD\u4FE0\u72F9\u5EC8\u5687\u7864\u9BAE\u7E96\u8CE2\u929C\u9591\u986F\u96AA\u73FE\u737B\u7E23\u9921\u7FA8\u61B2\u7DDA\u83A7\u859F\u861A\u5CF4\u736B\u5AFB\u9DF4\u7647\u8814\u79C8\u8E9A\u5EC2\u9472\u9109\u8A73\u97FF\u9805\u858C\u9909\u9A64\u7DD7\u9957\u856D\u56C2\u92B7\u66C9\u562F\u5635\u701F\u9A4D\u7D83\u689F\u7C2B\u5354\u633E\u651C\u8105\u8AE7\u5BEB\u7009\u8B1D\u893B\u64F7\u7D32\u7E88\u92C5\u91C1\u8208\u9658\u6ECE\u5147\u6D36\u92B9\u7E61\u9948\u9D42\u865B\u5653\u9808\u8A31\u6558\u7DD2\u7E8C\u8A61\u980A\u8ED2\u61F8\u9078\u766C\u7D62\u8AFC\u9249\u93C7\u5B78\u8B14\u6FA9\u9C48\u52DB\u8A62\u5C0B\u99B4\u8A13\u8A0A\u905C\u5864\u6F6F\u9C58\u58D3\u9D09\u9D28\u555E\u4E9E\u8A1D\u57E1\u5A6D\u690F\u6C2C\u95B9\u7159\u9E7D\u56B4\u5DD6\u984F\u95BB\u8277\u53AD\u786F\u5F65\u8AFA\u9A57\u53B4\u8D17\u513C\u5157\u8B9E\u61E8\u9586\u91C5\u9B58\u995C\u9F34\u9D26\u694A\u63DA\u760D\u967D\u7662\u990A\u6A23\u716C\u7464\u6416\u582F\u9059\u7AAF\u8B20\u85E5\u8EFA\u9DC2\u9C29\u723A\u9801\u696D\u8449\u9768\u8B01\u9134\u66C4\u71C1\u91AB\u92A5\u9824\u907A\u5100\u87FB\u85DD\u5104\u61B6\u7FA9\u8A63\u8B70\u8ABC\u8B6F\u7570\u7E79\u8A52\u56C8\u5DA7\u98F4\u61CC\u9A5B\u7E0A\u8EFC\u8CBD\u91D4\u93B0\u943F\u761E\u8264\u852D\u9670\u9280\u98F2\u96B1\u92A6\u766E\u6AFB\u5B30\u9DF9\u61C9\u7E93\u7469\u87A2\u71DF\u7192\u8805\u8D0F\u7A4E\u584B\u9DAF\u7E08\u93A3\u6516\u56B6\u7005\u7020\u74D4\u9E1A\u766D\u9826\u7F4C\u55B2\u64C1\u50AD\u7670\u8E34\u8A60\u93DE\u512A\u6182\u90F5\u923E\u7336\u8A98\u8555\u92AA\u9B77\u8F3F\u9B5A\u6F01\u5A1B\u8207\u5DBC\u8A9E\u7344\u8B7D\u9810\u99AD\u50B4\u4FC1\u8ADB\u8AED\u8577\u5D33\u98EB\u95BE\u5AD7\u7D06\u89A6\u6B5F\u923A\u9D52\u9DF8\u9F6C\u9D1B\u6DF5\u8F45\u5712\u54E1\u5713\u7DE3\u9060\u6ADE\u9CF6\u9EFF\u7D04\u8E8D\u9470\u7CB5\u6085\u95B1\u925E\u9116\u52FB\u9695\u904B\u860A\u919E\u6688\u97FB\u9106\u8553\u60F2\u614D\u7D1C\u97DE\u6B9E\u6C33\u96DC\u707D\u8F09\u6522\u66AB\u8D0A\u74DA\u8DB2\u93E8\u8D13\u81DF\u99D4\u947F\u68D7\u8CAC\u64C7\u5247\u6FA4\u8CFE\u5616\u5E58\u7C00\u8CCA\u8B56\u8D08\u7D9C\u7E52\u8ECB\u9358\u9598\u67F5\u8A50\u9F4B\u50B5\u6C08\u76DE\u65AC\u8F3E\u5D84\u68E7\u6230\u7DBB\u8B6B\u5F35\u6F32\u5E33\u8CEC\u8139\u8D99\u8A54\u91D7\u87C4\u8F4D\u937A\u9019\u8B2B\u8F12\u9DD3\u8C9E\u91DD\u5075\u8A3A\u93AE\u9663\u6E5E\u7E1D\u6968\u8EEB\u8CD1\u798E\u9D06\u6399\u775C\u7319\u722D\u5E40\u7665\u912D\u8B49\u8ACD\u5D22\u9266\u931A\u7B8F\u7E54\u8077\u57F7\u7D19\u646F\u64F2\u5E5F\u8CEA\u6EEF\u9A2D\u6ADB\u6894\u8EF9\u8F0A\u8D04\u9DD9\u8784\u7E36\u8E93\u8E91\u89F6\u9418\u7D42\u7A2E\u816B\u773E\u937E\u8B05\u8EF8\u76BA\u665D\u9A5F\u7D02\u7E10\u8C6C\u8AF8\u8A85\u71ED\u77DA\u56D1\u8CAF\u9444\u99D0\u4F47\u6AE7\u9296\u5C08\u78DA\u8F49\u8CFA\u56C0\u994C\u9873\u6A01\u838A\u88DD\u599D\u58EF\u72C0\u9310\u8D05\u589C\u7DB4\u9A05\u7E0B\u8AC4\u6E96\u8457\u6FC1\u8AD1\u9432\u8332\u8CC7\u6F2C\u8AEE\u7DC7\u8F1C\u8CB2\u7725\u9319\u9F5C\u9BD4\u8E64\u7E3D\u7E31\u50AF\u9112\u8ACF\u9A36\u9BEB\u8A5B\u7D44\u93C3\u9246\u7E98\u8EA6\u9C52\u7FFA\u4E26\u8514\u6C88\u919C\u6FB1\u53E0\u9B25\u7BC4\u5E79\u81EF\u77FD\u6AC3\u5F8C\u5925\u7A2D\u5091\u8A23\u8A87\u88E1\u88CF\u6DE9\u9EBD\u9EF4\u649A\u6DD2\u6261\u8056\u5C4D\u64E1\u5857\u7AAA\u9935\u6C59\u9341\u9E79\u880D\u5F5C\u6E67\u904A\u7C72\u79A6\u9858\u5DBD\u96F2\u7AC8\u7D2E\u5284\u7BC9\u65BC\u8A8C\u8A3B\u96D5\u8A01\u8B7E\u90E4\u731B\u6C39\u962A\u58DF\u5816\u57B5\u588A\u6ABE\u8552\u8464\u84E7\u8493\u83C7\u69C1\u6463\u54A4\u551A\u54E2\u565D\u5645\u6485\u5288\u8B14\u8946\u5DB4\u810A\u4EFF\u50E5\u7341\u9E85\u9918\u9937\u994A\u9962\u695E\u6035\u61CD\u723F\u6F35\u7069\u6DF7\u6FEB\u7026\u6DE1\u5BE7\u7CF8\u7D5D\u7DD4\u7449\u6898\u68EC\u6848\u6A70\u6AEB\u8EF2\u8EE4\u8CEB\u8181\u8156\u98C8\u7CCA\u7146\u6E9C\u6E63\u6E3A\u78B8\u6EFE\u7798\u9208\u9255\u92E3\u92B1\u92E5\u92F6\u9426\u9427\u9369\u9340\u9343\u9307\u9384\u9387\u93BF\u941D\u9465\u9479\u9454\u7A6D\u9D93\u9DA5\u9E0C\u7667\u5C59\u7602\u81D2\u8947\u7E48\u802E\u986C\u87CE\u9EAF\u9B81\u9B83\u9B8E\u9BD7\u9BDD\u9BF4\u9C5D\u9BFF\u9C20\u9C35\u9C45\u97BD\u97DD\u9F47\u4E2C\u7232\u56B2\u8846\u50DE\u9918\u51A2\u6DE8\u51CC\u51FC\u5257\u52F3\u52D0\u52E9\u6EF7\u9749\u9746\u5553\u5494\u5412\u54B4\u54CC\u8B41\u55CA\u5562\u5523\u553F\u9F67\u56C9\u563D\u5475\u567C\u56AF\u58E0\u57A7\u58B6\u58CB\u58CE\u57DD\u58EA\u7246\u58FC\u5B00\u59DC\u5AFA\u5AFF\u5C53\u5D2C\u5DA8\u5DA2\u5DAE\u5D94\u5D5B\u5D74\u5ECE\u5F60\u5FA1\u610D\u6196\u61B7\u624E\u6266\u6397\u648F\u637B\u63F8\u6698\u66E8\u672D\u684A\u6AAE\u68F6\u6AFA\u6A9F\u6A90\u6C61\u6C93\u6E22\u6F59\u6CB5\u6EAE\u6EFB\u6FDC\u6D8C\u6EB3\u6EBC\u6F0A\u6FA6\u6F24\u7145\u7173\u7198\u729B\u729F\u72CD\u736E\u875F\u74B5\u7452\u7472\u73C9\u73CF\u74AB\u74A1\u7487\u7572\u75FE\u762E\u763B\u766F\u77D3\u7740\u785C\u7845\u78D1\u7904\u7906\u78B9\u78D9\u7995\u7A60\u7C39\u7C64\u7C59\u9931\u7CF9\u7D18\u7D1D\u7D35\u7D16\u7D70\u7D8C\u7D5B\u7DD3\u979D\u7DAF\u7E15\u7DDA\u7E17\u7E6E\u7FFD\u7FEC\u80B7\u9AD2\u9183\u8195\u9F76\u81E2\u8C54\u8279\u8598\u839C\u84F4\u8600\u85C1\u866F\u87BF\u8828\u5ACB\u8918\u894F\u890C\u8949\u8941\u8974\u898E\u89A5\u8B8B\u8A12\u8A29\u8A57\u8A56\u8B78\u8ADD\u8AE1\u8C37\u8C76\u8C9F\u9F4E\u8D14\u8CD9\u8CF5\u8D07\u8D6C\u8DD6\u8E82\u8E0A\u8ED1\u8F08\u8F2C\u8F40\u9B31\u90C4\u91B1\u9245\u9451\u91FA\u9212\u935A\u9203\u9262\u947D\u9276\u928D\u929B\u92D9\u93FD\u9417\u9321\u9329\u6774\u9348\u9360\u93A1\u939B\u9394\u93F0\u93D0\u9481\u9436\u945E\u9588\u9592\u95D3\u95CD\u95E0\u95D2\u95E4\u965D\u97B4\u97CD\u9832\u71B2\u982E\u9834\u9852\u7E87\u98BA\u98AD\u98B8\u98BB\u98C0\u98E3\u98E2\u98E5\u98FF\u9904\u990E\u990F\u9916\u9915\u991C\u9936\u9941\u993A\u99B9\u99F0\u9A6B\u9A02\u99F8\u9A0C\u9A4C\u9A24\u9A66\u9B5B\u9B62\u9B68\u9B7A\u9B8B\u9B93\u9B8A\u9B8D\u9BB3\u9BA6\u9C02\u9B9C\u9C60\u9BBA\u9BB6\u9BD2\u9BD5\u9C3A\u9C0F\u9C68\u9BF7\u9C2E\u9C03\u9C01\u9C42\u9C1F\u9C1C\u9C3C\u9C6F\u9C64\u9C63\u9CF2\u9DAC\u9D1E\u9D12\u9DFD\u9D34\u9D43\u9D50\u9DF3\u9D7E\u9D6E\u9D8A\u9D77\u9DEB\u9DA1\u9DCA\u9DB2\u9DB9\u9DBA\u9DC1\u9DD6\u9E07\u9E0F\u9E18\u9EF6\u9F02\u9780\u9F55\u9F57\u5FD7\u5236\u8AEE\u53EA\u7CFB\u9B06\u5690\u9762\u4E7E\u62FC\u5641\u8B9A\u9AEE\u6BAD\u7DFB\u59E6\u7A6B\u934A\u8FF4\u4FC2\u8E5F\u96BB\u95E2\u95C6\u59B3"}function Ro(t){let e="";for(let r=0;r<t.length;r++){let n=t.charAt(r);if(Dir.has(n)){e+=n;continue}let s=B8e().indexOf(n);s!==-1?e+=zz().charAt(s):e+=n}return e}function Gt(t){let e="";for(let r=0;r<t.length;r++)zz().indexOf(t.charAt(r))!=-1?e+=B8e().charAt(zz().indexOf(t.charAt(r))):e+=t.charAt(r);return e}function uf(t){return!/[\u4e00-\u9fff]/.test(t)}var Dir,no=dr(()=>{Dir=new Map([["\u5403","\u5403"],["\u6CE8","\u6CE8"]])});function ts(t){let e;if(typeof t=="string")e=t;else if(Array.isArray(t))e=JSON.stringify(t);else if(typeof t=="object")e=JSON.stringify(t);else{_("error","[Utils] [Common] Unsupported data type");return}_("info","[Utils] [Common]",e.slice(0,200))}function W0(t){let e=t.match(/\((\d{4})\)/);return e?parseInt(e[1]):null}function tg(t){if(/^\d+$/.test(t))return Number(t);let e={\u96F6:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u58F9:1,\u8CB3:2,\u53C3:3,\u8086:4,\u4F0D:5,\u9678:6,\u67D2:7,\u634C:8,\u7396:9},r={\u5341:10,\u767E:100,\u5343:1e3,\u62FE:10,\u4F70:100,\u4EDF:1e3},n=0,s=0,i=1;for(let a=0;a<t.length;a++){let o=t[a];if(e[o]!==void 0)s=e[o];else if(r[o]!==void 0){let c=r[o];s===0&&(s=1),c>=i?n=s*c:n+=s*c,i=c,s=0}}return s>0&&(n+=s),n}function M8e(t){if(!t||typeof t!="string")return{cleanFileName:"",preferredPlatform:""};let e=t.indexOf("@");if(e===-1)return{cleanFileName:t.trim(),preferredPlatform:""};let r=t.substring(0,e).trim(),n=t.substring(e+1).trim(),s=n.match(/^(\w+)\s+(S\d+E\d+)$/);if(s){let i=s[1],a=s[2];return{cleanFileName:`${r} ${a}`,preferredPlatform:Kz(i)}}else{let i=r.match(/^(.+?)\s+(S\d+E\d+)$/);if(i){let a=i[1],o=i[2];return{cleanFileName:`${a} ${o}`,preferredPlatform:Kz(n)}}else return{cleanFileName:r,preferredPlatform:Kz(n)}}}function Kz(t){if(!t||typeof t!="string")return"";let e=t.trim();return O.allowedPlatforms.includes(e)?e:""}function W8e(t){if(!t)return[...O.platformOrderArr];if(!O.allowedPlatforms.includes(t))return _("warn",`[Utils] [Common] Invalid platform: ${t}, using default order`),[...O.platformOrderArr];let e=[t];for(let r of O.platformOrderArr)r!==t&&r!==null&&e.push(r);return e.push(null),e}function $8e(t){return t?String(t).replace(/[\u200B-\u200F\uFEFF]/g,"").trim():""}function Fr(t){return t?String(t).replace(/[^\u4e00-\u9fa5\u3400-\u4DBF\u{20000}-\u{2EE5F}\u{30000}-\u{323AF}\u3040-\u30ff\uFF65-\uFF9F\uAC00-\uD7AFa-zA-Z0-9\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\u2160-\u217F\u0400-\u04FF\u00C0-\u024F\u0370-\u03FF]/gu,""):""}function $0(t,e){if(!t||!e)return!1;let r=Fr(t),n=Fr(e);if(r===n)return!0;let s=[" ","(","\uFF08",":","\uFF1A","-","\u2014","\xB7","\u7B2C","S","s","\u5E74\u756A","\u5408\u96C6"];for(let i of s)if(r.startsWith(n+i))return!0;return!1}function $t(t){if(!t)return null;let e=t.match(/(?:第\s*([0-9一二三四五六七八九十百千万]+)\s*[季期部])|(?:S(?:eason)?\s*(\d+))|(?:Part\s*(\d+))/i);if(e){let r=e[1]||e[2]||e[3];if(r)return tg(r)}return null}function yt(t,e,r=null){if(O.strictTitleMatch)return $0(t,e);let n=Fr(t).toLowerCase(),i=[Fr(e).toLowerCase()];try{i=[...new Set([e,Gt(e),Ro(e)])].map(o=>Fr(o).toLowerCase()).filter(Boolean)}catch{}if(i.some(o=>n.includes(o)))return!0;let a=r!==null?r:$t(e);if(a!==null){let o=$t(t);if(a>1){if((o||1)!==a)return!1}else if(a===1&&o!==null&&o!==1)return!1}return i.some(o=>{if(Math.abs(n.length-o.length)>Math.max(n.length,o.length)*.7||/^[a-zA-Z0-9]+$/.test(o))return!1;let c=0,u=0;for(let l of o){let d=n.indexOf(l,u);d!==-1&&(c++,u=d+1)}return c/o.length>.8})}function et(t,e){let r=t?.constructor?.name;if(e==="array"){if(!Array.isArray(t))throw new TypeError(`${t} \u5FC5\u987B\u662F\u4E00\u4E2A\u6570\u7EC4\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}else if(e==="boolean"){if(typeof t!="boolean"&&typeof t!="number")throw new TypeError(`${t} \u5FC5\u987B\u662F boolean \u6216 number\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}else if(typeof t!==e)throw new TypeError(`${t} \u5FC5\u987B\u662F ${e}\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}function Tt(t){if(!t)return{season:null,baseTitle:null};let e=t.match(/^(.*?)\(\d{4}\)/),r=e?e[1].trim():t.split("(")[0].trim(),n=Fr(r),s=n.match(/第\s*([0-9一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]+)\s*[季期部]/);if(s)return{season:tg(s[1]),baseTitle:n.replace(s[0],"").trim()};let i=n.match(/(?:S(?:eason)?|Season)\s*(\d+)/i);if(i)return{season:parseInt(i[1],10),baseTitle:n.replace(i[0],"").trim()};let a=n.match(/Part\s*(\d+)/i);if(a)return{season:parseInt(a[1],10),baseTitle:n.replace(a[0],"").trim()};let o=n.match(/(?:^|\s|[^\d])(\d{1,2})$/);if(o)return{season:parseInt(o[1],10),baseTitle:n.slice(0,n.lastIndexOf(o[1])).trim()};let c=n.match(/([一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]+)$/);return c?{season:tg(c[1]),baseTitle:n.replace(c[0],"").trim()}:{season:null,baseTitle:n}}function lf(t){if(!t)return null;let e=t.match(/第(\d+)集/);if(e)return parseInt(e[1],10);let r=t.match(/[Ee][Pp]?(\d+)/);if(r)return parseInt(r[1],10);let n=t.match(/(?:^|\s)(\d+)(?:\s|$)/);return n?parseInt(n[1],10):null}function Jz(t,e){let{season:r,baseTitle:n}=Tt(t),s=lf(e);return{baseTitle:n,season:r,episode:s}}var rg,Yz,hn=dr(()=>{Pt();St();no();rg=t=>{let e=t.match(/【(.*?)】/);return e?e[1]:null},Yz=t=>t.split("(")[0].trim()});var F0,LL,BL,ML,WL,Xz,Zz,$L,vt,pb,hs=dr(()=>{hn();F0=class t{constructor({animeId:e=111,bangumiId:r="",animeTitle:n="",type:s="",typeDescription:i="",imageUrl:a="",startDate:o="",episodeCount:c=1,rating:u=0,isFavorited:l=!0,source:d="",links:f=[],mergedChildren:p=[],isHiddenChild:m=!1}={}){et(e,"number"),et(r,"string"),et(n,"string"),et(s,"string","type"),et(i,"string"),et(a,"string"),et(o,"string"),et(c,"number"),et(u,"number"),et(l,"boolean"),et(d,"string"),et(f,"array"),et(p,"array"),et(m,"boolean"),this.links=f.map(h=>LL.fromJson(h)),Object.assign(this,{animeId:e,bangumiId:r,animeTitle:n,type:s,typeDescription:i,imageUrl:a,startDate:o,episodeCount:c,rating:u,isFavorited:l,source:d,mergedChildren:p,isHiddenChild:m})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=(e.links||[]).map(n=>LL.fromJson(n));return new t({...e,links:r})}toJson(){return{...this,links:this.links.map(e=>e.toJson())}}},LL=class t{constructor({name:e="",url:r="",title:n="",id:s=10001}={}){et(e,"string"),et(r,"string"),et(n,"string"),et(s,"number"),Object.assign(this,{name:e,url:r,title:n,id:s})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},BL=class t{constructor({episodeId:e=10001,animeId:r=111,animeTitle:n="",episodeTitle:s="",type:i="",typeDescription:a="",shift:o=1,imageUrl:c=""}={}){et(e,"number"),et(r,"number"),et(n,"string"),et(s,"string"),et(i,"string","type"),et(a,"string"),et(o,"number"),et(c,"string"),Object.assign(this,{episodeId:e,animeId:r,animeTitle:n,episodeTitle:s,type:i,typeDescription:a,shift:o,imageUrl:c})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},ML=class{constructor({episodeId:e="",episodeTitle:r=""}={}){this.episodeId=e,this.episodeTitle=r}};ML.prototype.toJson=function(){return{episodeId:this.episodeId,episodeTitle:this.episodeTitle}};WL=class t{constructor({animeId:e=111,animeTitle:r="",type:n="",typeDescription:s="",episodes:i=[]}={}){et(e,"number"),et(r,"string"),et(n,"string"),et(s,"string"),et(i,"array"),Object.assign(this,{animeId:e,animeTitle:r,type:n,typeDescription:s,episodes:i.map(a=>new ML(a))})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this,episodes:this.episodes.map(e=>e.toJson())}}},Xz=class t{constructor({id:e="",airDate:r="",name:n="",episodeCount:s=0}={}){et(e,"string"),et(r,"string"),et(n,"string"),et(s,"number"),Object.assign(this,{id:e,airDate:r,name:n,episodeCount:s})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},Zz=class t{constructor({seasonId:e="",episodeId:r=10001,episodeTitle:n="",episodeNumber:s="",airDate:i=""}={}){et(e,"string"),et(r,"number"),et(n,"string"),et(s,"string"),et(i,"string"),Object.assign(this,{seasonId:e,episodeId:r,episodeTitle:n,episodeNumber:s,airDate:i})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},$L=class t{constructor({animeId:e=111,bangumiId:r="",animeTitle:n="",imageUrl:s="",isOnAir:i=!0,airDay:a=1,isFavorited:o=!0,rating:c=0,type:u="",typeDescription:l="",seasons:d=[],episodes:f=[]}={}){et(e,"number"),et(r,"string"),et(n,"string"),et(s,"string"),et(i,"boolean"),et(a,"number"),et(o,"boolean"),et(c,"number"),et(u,"string"),et(l,"string"),et(d,"array"),et(f,"array");let p=d.map(m=>Xz.fromJson(m));Object.assign(this,{animeId:e,bangumiId:r,animeTitle:n,imageUrl:s,isOnAir:i,airDay:a,isFavorited:o,rating:c,type:u,typeDescription:l,seasons:p,episodes:f})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=e.episodes.map(n=>Zz.fromJson(n));return new t({...e,episodes:r})}toJson(){return{...this,seasons:this.seasons.map(e=>e.toJson()),episodes:this.episodes.map(e=>e.toJson())}}},vt=class t{constructor({type:e="",segmentList:r=[],duration:n=0}={}){et(e,"string"),et(r,"array"),et(n,"number"),this.segmentList=r.map(s=>pb.fromJson(s)),Object.assign(this,{type:e,duration:n})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=(e.segmentList||[]).map(n=>pb.fromJson(n));return new t({...e,segmentList:r})}toJson(){return{...this,segmentList:this.segmentList.map(e=>e.toJson())}}},pb=class t{constructor({type:e,segment_start:r,segment_end:n,url:s,data:i,_m_h5_tk:a,_m_h5_tk_enc:o}={}){et(e,"string","type"),et(r,"number","segment_start"),et(n,"number","segment_end"),et(s,"string","url"),i!==void 0&&et(i,"string","data"),a!==void 0&&et(a,"string","_m_h5_tk"),o!==void 0&&et(o,"string","_m_h5_tk_enc"),Object.assign(this,{type:e,segment_start:r,segment_end:n,url:s,data:i,_m_h5_tk:a,_m_h5_tk_enc:o})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}}});var V8e={};is(V8e,{addAnime:()=>Lt,addEpisode:()=>Q8e,cleanupExpiredIPs:()=>jL,findAnimeIdByCommentId:()=>qL,findAnimeTitleById:()=>nK,findIndexById:()=>UL,findTitleById:()=>rK,findUrlById:()=>BC,getCommentCache:()=>df,getDirname:()=>HL,getLastSearch:()=>tK,getLocalCaches:()=>oK,getPreferAnimeId:()=>aK,getSearchCache:()=>DC,isCommentCacheValid:()=>H8e,isSearchCacheValid:()=>j8e,judgeLocalCacheValid:()=>cK,readCacheFromFile:()=>ng,removeEarliestAnime:()=>Ft,removeEpisodeByUrl:()=>G8e,resolveAnimeById:()=>sg,resolveAnimeByIdFromDetailStore:()=>ig,resolveEpisodeContextById:()=>hb,setCommentCache:()=>LC,setLastSearch:()=>eK,setPreferByAnimeId:()=>iK,setSearchCache:()=>kC,storeAnimeIdsToMap:()=>sK,updateLocalCaches:()=>GL,writeCacheToFile:()=>QL});function eK(t,e){if(RC.set(t,{...e,timestamp:Date.now()}),RC.size>200)for(let[r,n]of RC)Date.now()-n.timestamp>3600*1e3&&RC.delete(r)}function tK(t){return RC.get(t)}function mb(t){if(!t||typeof t!="object")return"";let e=t.source?String(t.source)+":":"";return t.bangumiId!==void 0&&t.bangumiId!==null&&String(t.bangumiId)!==""?"bangumi:"+e+String(t.bangumiId):t.animeId!==void 0&&t.animeId!==null&&String(t.animeId)!==""?"anime:"+e+String(t.animeId):""}function F8e(t,e){if(!(t instanceof Map)||!e)return;let r=mb(e);r&&t.set(r,e)}function*PC(t){if(!(t instanceof Map))return;let e=new Set;for(let r of t.values()){let n=mb(r);n&&e.has(n)||(n&&e.add(n),yield r)}}function kir(t){let e=[];for(let r of PC(t))e.push(r);return e}function Lir(){let t=Date.now(),e=[];for(let[r,n]of O.searchCache.entries()){let s=(t-n.timestamp)/6e4;if(s>O.searchCacheMinutes){O.searchCache.delete(r),_("info",`[Cache] Search cache for "${r}" expired after ${s.toFixed(2)} minutes`);continue}e.push(n)}return e.sort((r,n)=>(n.timestamp||0)-(r.timestamp||0)),e}function U8e(t,e,r){let n=Date.now(),s=0;for(let[i,a]of t.entries())(n-a.timestamp)/6e4>e&&(t.delete(i),s++);s>0&&_("info",`[Cache] ${r} TTL \u626B\u63CF\u5B8C\u6BD5\uFF0C\u5DF2\u79FB\u9664 ${s} \u4E2A\u8FC7\u671F\u6761\u76EE\uFF0C\u5269\u4F59 ${t.size} \u4E2A`)}function Bir(t,e){return String(t?.animeId)===e||String(t?.bangumiId)===e}function FL(t,e,r=null){let n=null;for(let s of t)if(Bir(s,e)){if(r&&s?.source===r)return s;n||(n=s)}return n}function*q8e(){let t=new Set;for(let e of Lir())if(Array.isArray(e.details))for(let r of e.details){let n=mb(r);n&&t.has(n)||(n&&t.add(n),yield r)}}function sg(t,e=null,r=null){let n=String(t),s=FL(O.animes,n,r);return s||(s=FL(PC(e),n,r),s)?s:FL(q8e(),n,r)}function ig(t,e=null,r=null){let n=String(t);return FL(PC(e),n,r)}function hb(t,e=null){let r=Number(t);if(!Number.isFinite(r))return null;let n=i=>{if(!i?.links||!Array.isArray(i.links))return null;let a=i.links.findIndex(o=>o.id===r);return a===-1?null:{anime:i,link:i.links[a],index:a}};for(let i of O.animes){let a=n(i);if(a)return a}for(let i of PC(e)){let a=n(i);if(a)return a}let s=new Set;for(let i of O.animes){let a=mb(i);a&&s.add(a)}for(let i of PC(e)){let a=mb(i);a&&s.add(a)}for(let i of q8e()){let a=mb(i);if(a&&s.has(a))continue;a&&s.add(a);let o=n(i);if(o)return o}return null}function j8e(t){if(!O.searchCache.has(t))return!1;let e=O.searchCache.get(t),n=(Date.now()-e.timestamp)/(1e3*60);return n>O.searchCacheMinutes?(O.searchCache.delete(t),_("info",`[Cache] Search cache for "${t}" expired after ${n.toFixed(2)} minutes`),!1):!0}function DC(t,e=null){if(j8e(t)){_("info",`[Cache] Using search cache for "${t}"`);let r=O.searchCache.get(t);return e instanceof Map&&Array.isArray(r.details)&&r.details.forEach(n=>{F8e(e,n)}),r.results}return null}function kC(t,e,r=null){let n=kir(r);if(U8e(O.searchCache,O.searchCacheMinutes,"searchCache"),O.searchCache.set(t,{results:e,details:n,timestamp:Date.now()}),O.searchCache.size>500){let s=O.searchCache.keys().next().value;O.searchCache.delete(s),_("info",`[Cache] searchCache TTL\u6E05\u7406\u540E\u4ECD\u8FBE\u4E0A\u9650\uFF0C\u5DF2\u79FB\u9664\u6700\u65E9\u6761\u76EE: ${s}`)}_("info",`[Cache] Cached search results for "${t}" (${e.length} animes)`)}function H8e(t){if(!O.commentCache.has(t))return!1;let e=O.commentCache.get(t),n=(Date.now()-e.timestamp)/(1e3*60);return n>O.commentCacheMinutes?(O.commentCache.delete(t),_("info",`[Cache] Comment cache for "${t}" expired after ${n.toFixed(2)} minutes`),!1):!0}function df(t){return H8e(t)?(_("info",`[Cache] Using comment cache for "${t}"`),O.commentCache.get(t).comments):null}function LC(t,e){if(U8e(O.commentCache,O.commentCacheMinutes,"commentCache"),O.commentCache.set(t,{comments:e,timestamp:Date.now()}),O.commentCache.size>500){let r=O.commentCache.keys().next().value;O.commentCache.delete(r),_("info",`[Cache] commentCache TTL\u6E05\u7406\u540E\u4ECD\u8FBE\u4E0A\u9650\uFF0C\u5DF2\u79FB\u9664\u6700\u65E9\u6761\u76EE: ${r}`)}_("info",`[Cache] Cached comments for "${t}" (${e.length} comments)`)}function Q8e(t,e){let r=O.episodeIds.find(s=>s.url===t&&s.title===e);if(r)return _("info",`[Cache] Episode with URL ${t} and title ${e} already exists in episodeIds, returning existing episode.`),r;O.episodeNum++;let n={id:O.episodeNum,url:t,title:e};return O.episodeIds.push(n),_("info",`[Cache] Added to episodeIds: ${JSON.stringify(n)}`),n}function G8e(t){let e=O.episodeIds.length;O.episodeIds=O.episodeIds.filter(n=>n.url!==t);let r=e-O.episodeIds.length;return r>0?(_("info",`[Cache] Removed ${r} episode(s) from episodeIds with URL: ${t}`),!0):(_("error",`[Cache] No episode found in episodeIds with URL: ${t}`),!1)}function BC(t){let e=O.episodeIds.find(n=>n.id===t);if(e)return _("info",`[Cache] Found URL for ID ${t}: ${e.url}`),e.url;let r=hb(t);return r?.link?.url?(_("info",`[Cache] Found URL for ID ${t} via cached anime details: ${r.link.url}`),r.link.url):(_("error",`[Cache] No URL found for ID: ${t}`),null)}function UL(t){let e=O.episodeIds.findIndex(n=>n.id===t);if(e!==-1)return _("info",`[Cache] Found index for ID ${t}: ${e}`),e;let r=hb(t);return r?(_("info",`[Cache] Found index for ID ${t} via cached anime details: ${r.index}`),r.index):(_("error",`[Cache] No index found for ID: ${t}`),-1)}function rK(t){let e=O.episodeIds.find(n=>n.id===t);if(e)return _("info",`[Cache] Found TITLE for ID ${t}: ${e.title}`),e.title;let r=hb(t);return r?.link?.title?(_("info",`[Cache] Found TITLE for ID ${t} via cached anime details: ${r.link.title}`),r.link.title):(_("error",`[Cache] No TITLE found for ID: ${t}`),null)}function nK(t){let e=hb(t);return e?.anime?.animeTitle?(_("info",`[Cache] Found animeTitle for ID ${t}: ${e.anime.animeTitle}`),e.anime.animeTitle):(_("error",`[Cache] No animeTitle found for ID: ${t}`),null)}function Lt(t,e=null){t=F0.fromJson(t);try{if(!t.links||!Array.isArray(t.links))return _("error",`[Cache] Invalid or missing links in anime: ${JSON.stringify(t)}`),!1;let r=[];t.links.forEach(i=>{if(i.url){let a=Q8e(i.url,i.title);a&&r.push(a)}else _("error",`[Cache] Invalid link in anime, missing url: ${JSON.stringify(i)}`)});let n=F0.fromJson({...t,links:r});F8e(e,n);let s=O.animes.findIndex(i=>i.animeId===t.animeId);return s!==-1&&(O.animes.splice(s,1),_("info",`[Cache] Removed old anime at index: ${s}`)),O.animes.push(n),_("info",`[Cache] Added anime to latest position: ${t.animeId}`),O.animes.length>O.MAX_ANIMES&&(Ft()||_("error","[Cache] Failed to remove earliest anime, but continuing")),_("info",`[Cache] animes: ${JSON.stringify(O.animes.map(i=>({links:i.links,animeId:i.animeId,bangumiId:i.bangumiId,animeTitle:i.animeTitle})),(i,a)=>i==="links"?a.length:a)}`),!0}catch(r){return _("error",`[Cache] addAnime failed: ${r.message}`),!1}}function Ft(){if(O.animes.length===0)return _("error","[Cache] No animes to remove."),!1;let t=O.animes.shift();return _("info",`[Cache] Removed earliest anime: ${JSON.stringify(t)}`),t.links&&Array.isArray(t.links)&&t.links.forEach(e=>{e.url&&G8e(e.url)}),!0}function sK(t,e){let r=new Set,n=O.lastSelectMap.get(e);if(n&&Array.isArray(n.animeIds))for(let d of n.animeIds)r.add(d);for(let d of t)r.add(d.animeId);let s=n?.prefer,i=n?.source,a=n?.preferBySeason,o=n?.sourceBySeason,c=n?.offsets,u=a?{...a}:{},l=o?{...o}:{};if(s!==void 0&&(u.default=s),i!==void 0&&(l.default=i),O.lastSelectMap.has(e)&&O.lastSelectMap.delete(e),O.lastSelectMap.set(e,{animeIds:[...r],...Object.keys(u).length>0&&{preferBySeason:u},...Object.keys(l).length>0&&{sourceBySeason:l},...c!==void 0&&{offsets:c}}),O.lastSelectMap.size>O.MAX_LAST_SELECT_MAP){let d=O.lastSelectMap.keys().next().value;O.lastSelectMap.delete(d),_("info",`[Cache] Removed earliest entry from lastSelectMap: ${d}`)}}function qL(t){let e=hb(t);return e?[e.anime.animeId,e.anime.source,e.link.title,e.anime.aliases||[]]:[null,null,null,[]]}function iK(t,e,r=null,n=null){for(let[s,i]of O.lastSelectMap.entries())if(i.animeIds&&i.animeIds.includes(t)){let a=r===null?"default":String(r);return i.preferBySeason=i.preferBySeason||{},i.sourceBySeason=i.sourceBySeason||{},i.preferBySeason[a]=t,i.sourceBySeason[a]=e,r!==null&&n!==null&&(i.offsets=i.offsets||{},i.offsets[a]=n),O.lastSelectMap.set(s,i),s}return null}function aK(t,e=null){let r=O.lastSelectMap.get(t);if(!r)return[null,null,null];let n=e===null?"default":String(e),s=r.preferBySeason||{},i=r.sourceBySeason||{},a=s[n]??s.default??r.prefer??null,o=i[n]??i.default??r.source??null,c=r.offsets||null;return[a,o,c]}function jL(t){let r=0;for(let[n,s]of O.requestHistory.entries()){let i=s.filter(a=>t-a<=6e4);i.length===0?(O.requestHistory.delete(n),r++,_("info",`[Utils] [Rate Limit] Cleaned up expired IP record: ${n}`)):i.length<s.length&&O.requestHistory.set(n,i)}r>0&&_("info",`[Utils] [Rate Limit] Cleanup completed: removed ${r} expired IP records`)}function HL(){return typeof __dirname<"u"?__dirname:OC.join(process.cwd(),"danmu_api","utils")}function ng(t){let e=OC.join(HL(),"..","..",".cache",`${t}`);if(NC.existsSync(e)){let r=NC.readFileSync(e,"utf8");return JSON.parse(r)}return null}function QL(t,e){let r=OC.join(HL(),"..","..",".cache",`${t}`);NC.writeFileSync(r,JSON.stringify(e),"utf8")}async function oK(){if(!O.localCacheInitialized)try{_("info","[Cache] getLocalCaches start."),O.animes=JSON.parse(ng("animes"))||O.animes,O.episodeIds=JSON.parse(ng("episodeIds"))||O.episodeIds,O.episodeNum=JSON.parse(ng("episodeNum"))||O.episodeNum,O.reqRecords=JSON.parse(ng("reqRecords"))||O.reqRecords,O.todayReqNum=JSON.parse(ng("todayReqNum"))||O.todayReqNum;let t=ng("lastSelectMap");t&&(O.lastSelectMap=new Map(Object.entries(JSON.parse(t))),_("info",`[Cache] Restored lastSelectMap from local cache with ${O.lastSelectMap.size} entries`)),O.lastHashes.animes=an(JSON.stringify(O.animes)),O.lastHashes.episodeIds=an(JSON.stringify(O.episodeIds)),O.lastHashes.episodeNum=an(JSON.stringify(O.episodeNum)),O.lastHashes.reqRecords=an(JSON.stringify(O.reqRecords)),O.lastHashes.todayReqNum=an(JSON.stringify(O.todayReqNum)),O.lastHashes.lastSelectMap=an(JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.localCacheInitialized=!0,_("info","[Cache] getLocalCaches completed successfully.")}catch(t){_("error",`[Cache] getLocalCaches failed: ${t.message}`,t.stack),O.localCacheInitialized=!0}}async function GL(){try{_("info","[Cache] updateLocalCaches start.");let t=[],e=[{key:"animes",value:O.animes},{key:"episodeIds",value:O.episodeIds},{key:"episodeNum",value:O.episodeNum},{key:"reqRecords",value:O.reqRecords},{key:"lastSelectMap",value:O.lastSelectMap},{key:"todayReqNum",value:O.todayReqNum}];for(let{key:r,value:n}of e){let s=JSON.stringify(r==="lastSelectMap"?Object.fromEntries(n):n),i=an(s);i!==O.lastHashes[r]&&(QL(r,s),t.push({key:r,hash:i}))}t.length>0?(_("info",`[Cache] Updated local caches for keys: ${t.map(r=>r.key).join(", ")}`),t.forEach(({key:r,hash:n})=>{O.lastHashes[r]=n})):_("info","[Cache] No changes detected, skipping local cache update.")}catch(t){_("error",`[Cache] updateLocalCaches failed: ${t.message}`,t.stack),_("error",`[Cache] Error details - Name: ${t.name}, Cause: ${t.cause?t.cause.message:"N/A"}`)}}async function cK(t,e){if(e==="node")try{if(NC=await import("fs"),OC=await import("path"),!O.localCacheValid&&t!=="/favicon.ico"&&t!=="/robots.txt"){let r=OC.join(HL(),"..","..",".cache");NC.existsSync(r)?O.localCacheValid=!0:O.localCacheValid=!1}}catch(r){_("warn","[Cache] Node.js modules not available:",r.message),O.localCacheValid=!1}}var NC,OC,RC,$n=dr(()=>{Pt();St();hs();Is();RC=new Map});var pK=E(XL=>{"use strict";Object.defineProperty(XL,"__esModule",{value:!0});XL.VerbatimString=void 0;var fK=class extends String{format;constructor(e,r){super(r),this.format=e}};XL.VerbatimString=fK});var Pl=E(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.MultiErrorReply=hr.CommandTimeoutDuringMaintenanceError=hr.SocketTimeoutDuringMaintenanceError=hr.TimeoutError=hr.BlobError=hr.SimpleError=hr.ErrorReply=hr.ReconnectStrategyError=hr.RootNodesUnavailableError=hr.SocketClosedUnexpectedlyError=hr.DisconnectsClientError=hr.ClientOfflineError=hr.ClientClosedError=hr.SocketTimeoutError=hr.ConnectionTimeoutError=hr.WatchError=hr.AbortError=void 0;var mK=class extends Error{constructor(){super("The command was aborted")}};hr.AbortError=mK;var hK=class extends Error{constructor(e="One (or more) of the watched keys has been changed"){super(e)}};hr.WatchError=hK;var gK=class extends Error{constructor(){super("Connection timeout")}};hr.ConnectionTimeoutError=gK;var AK=class extends Error{constructor(e){super(`Socket timeout timeout. Expecting data, but didn't receive any in ${e}ms.`)}};hr.SocketTimeoutError=AK;var yK=class extends Error{constructor(){super("The client is closed")}};hr.ClientClosedError=yK;var xK=class extends Error{constructor(){super("The client is offline")}};hr.ClientOfflineError=xK;var bK=class extends Error{constructor(){super("Disconnects client")}};hr.DisconnectsClientError=bK;var EK=class extends Error{constructor(){super("Socket closed unexpectedly")}};hr.SocketClosedUnexpectedlyError=EK;var _K=class extends Error{constructor(){super("All the root nodes are unavailable")}};hr.RootNodesUnavailableError=_K;var SK=class extends Error{originalError;socketError;constructor(e,r){super(e.message),this.originalError=e,this.socketError=r}};hr.ReconnectStrategyError=SK;var yb=class extends Error{};hr.ErrorReply=yb;var vK=class extends yb{};hr.SimpleError=vK;var CK=class extends yb{};hr.BlobError=CK;var $C=class extends Error{};hr.TimeoutError=$C;var IK=class extends $C{constructor(e){super(`Socket timeout during maintenance. Expecting data, but didn't receive any in ${e}ms.`)}};hr.SocketTimeoutDuringMaintenanceError=IK;var TK=class extends $C{constructor(e){super(`Command timeout during maintenance. Waited to write command for more than ${e}ms.`)}};hr.CommandTimeoutDuringMaintenanceError=TK;var wK=class extends yb{replies;errorIndexes;constructor(e,r){super(`${r.length} commands failed, see .replies and .errorIndexes for more information`),this.replies=e,this.errorIndexes=r}*errors(){for(let e of this.errorIndexes)yield this.replies[e]}};hr.MultiErrorReply=wK});var tB=E(pt=>{"use strict";var RK;Object.defineProperty(pt,"__esModule",{value:!0});pt.Decoder=pt.PUSH_TYPE_MAPPING=pt.RESP_TYPES=void 0;var sWe=pK(),ZL=Pl();pt.RESP_TYPES={NULL:95,BOOLEAN:35,NUMBER:58,BIG_NUMBER:40,DOUBLE:44,SIMPLE_STRING:43,BLOB_STRING:36,VERBATIM_STRING:61,SIMPLE_ERROR:45,BLOB_ERROR:33,ARRAY:42,SET:126,MAP:37,PUSH:62};var Jr={"\r":13,t:116,"+":43,"-":45,0:48,".":46,i:105,n:110,E:69,e:101};pt.PUSH_TYPE_MAPPING={[pt.RESP_TYPES.BLOB_STRING]:Buffer};var eB=class{onReply;onErrorReply;onPush;getTypeMapping;#e=0;#t;constructor(e){this.onReply=e.onReply,this.onErrorReply=e.onErrorReply,this.onPush=e.onPush,this.getTypeMapping=e.getTypeMapping}reset(){this.#e=0,this.#t=void 0}write(e){if(this.#e>=e.length){this.#e-=e.length;return}if(this.#t&&(this.#t(e)||this.#e>=e.length)){this.#e-=e.length;return}do{let r=e[this.#e];if(++this.#e===e.length){this.#t=this.#r.bind(this,r);break}if(this.#n(r,e))break}while(this.#e<e.length);this.#e-=e.length}#r(e,r){return this.#t=void 0,this.#n(e,r)}#n(e,r){switch(e){case pt.RESP_TYPES.NULL:return this.onReply(this.#s()),!1;case pt.RESP_TYPES.BOOLEAN:return this.#a(this.onReply,this.#i(r));case pt.RESP_TYPES.NUMBER:return this.#a(this.onReply,this.#c(this.getTypeMapping()[pt.RESP_TYPES.NUMBER],r));case pt.RESP_TYPES.BIG_NUMBER:return this.#a(this.onReply,this.#d(this.getTypeMapping()[pt.RESP_TYPES.BIG_NUMBER],r));case pt.RESP_TYPES.DOUBLE:return this.#a(this.onReply,this.#g(this.getTypeMapping()[pt.RESP_TYPES.DOUBLE],r));case pt.RESP_TYPES.SIMPLE_STRING:return this.#a(this.onReply,this.#x(this.getTypeMapping()[pt.RESP_TYPES.SIMPLE_STRING],r));case pt.RESP_TYPES.BLOB_STRING:return this.#a(this.onReply,this.#T(this.getTypeMapping()[pt.RESP_TYPES.BLOB_STRING],r));case pt.RESP_TYPES.VERBATIM_STRING:return this.#a(this.onReply,this.#O(this.getTypeMapping()[pt.RESP_TYPES.VERBATIM_STRING],r));case pt.RESP_TYPES.SIMPLE_ERROR:return this.#a(this.onErrorReply,this.#Q(r));case pt.RESP_TYPES.BLOB_ERROR:return this.#a(this.onErrorReply,this.#V(r));case pt.RESP_TYPES.ARRAY:return this.#a(this.onReply,this.#q(this.getTypeMapping(),r));case pt.RESP_TYPES.SET:return this.#a(this.onReply,this.#J(this.getTypeMapping(),r));case pt.RESP_TYPES.MAP:return this.#a(this.onReply,this.#te(this.getTypeMapping(),r));case pt.RESP_TYPES.PUSH:return this.#a(this.onPush,this.#q(pt.PUSH_TYPE_MAPPING,r));default:throw new Error(`Unknown RESP type ${e} "${String.fromCharCode(e)}"`)}}#a(e,r){return typeof r=="function"?(this.#t=this.#o.bind(this,e,r),!0):(e(r),!1)}#o(e,r,n){return this.#t=void 0,this.#a(e,r(n))}#s(){return this.#e+=2,null}#i(e){let r=e[this.#e]===Jr.t;return this.#e+=3,r}#c(e,r){if(e===String)return this.#x(String,r);switch(r[this.#e]){case Jr["+"]:return this.#l(!1,r);case Jr["-"]:return this.#l(!0,r);default:return this.#h(!1,this.#p.bind(this,0),r)}}#l(e,r){let n=this.#p.bind(this,0);return++this.#e===r.length?this.#h.bind(this,e,n):this.#h(e,n,r)}#h(e,r,n){let s=r(n);return typeof s=="function"?this.#h.bind(this,e,s):e?-s:s}#p(e,r){let n=this.#e;do{let s=r[n];if(s===Jr["\r"])return this.#e=n+2,e;e=e*10+s-Jr[0]}while(++n<r.length);return this.#e=n,this.#p.bind(this,e)}#d(e,r){if(e===String)return this.#x(String,r);switch(r[this.#e]){case Jr["+"]:return this.#f(!1,r);case Jr["-"]:return this.#f(!0,r);default:return this.#m(!1,this.#y.bind(this,0n),r)}}#f(e,r){let n=this.#y.bind(this,0n);return++this.#e===r.length?this.#m.bind(this,e,n):this.#m(e,n,r)}#m(e,r,n){let s=r(n);return typeof s=="function"?this.#m.bind(this,e,s):e?-s:s}#y(e,r){let n=this.#e;do{let s=r[n];if(s===Jr["\r"])return this.#e=n+2,e;e=e*10n+BigInt(s-Jr[0])}while(++n<r.length);return this.#e=n,this.#y.bind(this,e)}#g(e,r){if(e===String)return this.#x(String,r);switch(r[this.#e]){case Jr.n:return this.#e+=5,NaN;case Jr["+"]:return this.#E(!1,r);case Jr["-"]:return this.#E(!0,r);default:return this.#S(!1,0,r)}}#E(e,r){return++this.#e===r.length?this.#S.bind(this,e,0):this.#S(e,0,r)}#S(e,r,n){return n[this.#e]===Jr.i?(this.#e+=5,e?-1/0:1/0):this.#A(e,r,n)}#A(e,r,n){let s=this.#e;do{let i=n[s];switch(i){case Jr["."]:return this.#e=s+1,this.#e<n.length?this.#_(e,0,r,n):this.#_.bind(this,e,0,r);case Jr.E:case Jr.e:this.#e=s+1;let a=e?-r:r;return this.#e<n.length?this.#v(a,n):this.#v.bind(this,a);case Jr["\r"]:return this.#e=s+2,e?-r:r;default:r=r*10+i-Jr[0]}}while(++s<n.length);return this.#e=s,this.#A.bind(this,e,r)}static#C=[.1,.01,.001,1e-4,1e-5,1e-6,1e-7,1e-8,1e-9,1e-10,1e-11,1e-12,1e-13,1e-14,1e-15,1e-16,1e-17];#_(e,r,n,s){let i=this.#e;do{let a=s[i];switch(a){case Jr.E:case Jr.e:this.#e=i+1;let o=e?-n:n;return this.#e===s.length?this.#v.bind(this,o):this.#v(o,s);case Jr["\r"]:return this.#e=i+2,e?-n:n}r<RK.#C.length&&(n+=(a-Jr[0])*RK.#C[r++])}while(++i<s.length);return this.#e=i,this.#_.bind(this,e,r,n)}#v(e,r){switch(r[this.#e]){case Jr["+"]:return++this.#e===r.length?this.#b.bind(this,!1,e,0):this.#b(!1,e,0,r);case Jr["-"]:return++this.#e===r.length?this.#b.bind(this,!0,e,0):this.#b(!0,e,0,r)}return this.#b(!1,e,0,r)}#b(e,r,n,s){let i=this.#e;do{let a=s[i];if(a===Jr["\r"])return this.#e=i+2,r*10**(e?-n:n);n=n*10+a-Jr[0]}while(++i<s.length);return this.#e=i,this.#b.bind(this,e,r,n)}#u(e,r){for(;e[r]!==Jr["\r"];)if(++r===e.length)return this.#e=e.length,-1;return this.#e=r+2,r}#x(e,r){let n=this.#e,s=this.#u(r,n);if(s===-1)return this.#P.bind(this,[r.subarray(n)],e);let i=r.subarray(n,s);return e===Buffer?i:i.toString()}#P(e,r,n){let s=this.#e,i=this.#u(n,s);if(i===-1)return e.push(n.subarray(s)),this.#P.bind(this,e,r);e.push(n.subarray(s,i));let a=Buffer.concat(e);return r===Buffer?a:a.toString()}#T(e,r){if(r[this.#e]===Jr["-"])return this.#e+=4,null;let n=this.#p(0,r);return typeof n=="function"?this.#I.bind(this,n,e):this.#e>=r.length?this.#R.bind(this,n,e):this.#R(n,e,r)}#I(e,r,n){let s=e(n);return typeof s=="function"?this.#I.bind(this,s,r):this.#e>=n.length?this.#R.bind(this,s,r):this.#R(s,r,n)}#N(e,r,n,s){let i=this.#e+e;if(i>=s.length){let o=s.subarray(this.#e);return this.#e=s.length,this.#M.bind(this,e-o.length,[o],r,n)}let a=s.subarray(this.#e,i);return this.#e=i+r,n===Buffer?a:a.toString()}#M(e,r,n,s,i){let a=this.#e+e;if(a>=i.length){let c=i.subarray(this.#e);return r.push(c),this.#e=i.length,this.#M.bind(this,e-c.length,r,n,s)}r.push(i.subarray(this.#e,a)),this.#e=a+n;let o=Buffer.concat(r);return s===Buffer?o:o.toString()}#R(e,r,n){return this.#N(e,2,r,n)}#O(e,r){return this.#D(this.#p.bind(this,0),e,r)}#D(e,r,n){let s=e(n);return typeof s=="function"?this.#D.bind(this,s,r):this.#ce(s,r,n)}#ce(e,r,n){let s=e-4;return r===sWe.VerbatimString?this.#ue(s,n):(this.#e+=4,this.#e>=n.length?this.#R.bind(this,s,r):this.#R(s,r,n))}#ue(e,r){let n=this.#N.bind(this,3,1,String);return this.#e>=r.length?this.#F.bind(this,e,n):this.#F(e,n,r)}#F(e,r,n){let s=r(n);return typeof s=="function"?this.#F.bind(this,e,s):this.#le(e,s,n)}#le(e,r,n){return this.#H(r,this.#R.bind(this,e,String),n)}#H(e,r,n){let s=r(n);return typeof s=="function"?this.#H.bind(this,e,s):new sWe.VerbatimString(e,s)}#Q(e){let r=this.#x(String,e);return typeof r=="function"?this.#G.bind(this,r):new ZL.SimpleError(r)}#G(e,r){let n=e(r);return typeof n=="function"?this.#G.bind(this,n):new ZL.SimpleError(n)}#V(e){let r=this.#T(String,e);return typeof r=="function"?this.#z.bind(this,r):new ZL.BlobError(r)}#z(e,r){let n=e(r);return typeof n=="function"?this.#z.bind(this,n):new ZL.BlobError(n)}#w(e,r){let n=r[this.#e];return++this.#e===r.length?this.#U.bind(this,n,e):this.#U(n,e,r)}#U(e,r,n){switch(e){case pt.RESP_TYPES.NULL:return this.#s();case pt.RESP_TYPES.BOOLEAN:return this.#i(n);case pt.RESP_TYPES.NUMBER:return this.#c(r[pt.RESP_TYPES.NUMBER],n);case pt.RESP_TYPES.BIG_NUMBER:return this.#d(r[pt.RESP_TYPES.BIG_NUMBER],n);case pt.RESP_TYPES.DOUBLE:return this.#g(r[pt.RESP_TYPES.DOUBLE],n);case pt.RESP_TYPES.SIMPLE_STRING:return this.#x(r[pt.RESP_TYPES.SIMPLE_STRING],n);case pt.RESP_TYPES.BLOB_STRING:return this.#T(r[pt.RESP_TYPES.BLOB_STRING],n);case pt.RESP_TYPES.VERBATIM_STRING:return this.#O(r[pt.RESP_TYPES.VERBATIM_STRING],n);case pt.RESP_TYPES.SIMPLE_ERROR:return this.#Q(n);case pt.RESP_TYPES.BLOB_ERROR:return this.#V(n);case pt.RESP_TYPES.ARRAY:return this.#q(r,n);case pt.RESP_TYPES.SET:return this.#J(r,n);case pt.RESP_TYPES.MAP:return this.#te(r,n);default:throw new Error(`Unknown RESP type ${e} "${String.fromCharCode(e)}"`)}}#q(e,r){return r[this.#e]===Jr["-"]?(this.#e+=4,null):this.#K(this.#p(0,r),e,r)}#K(e,r,n){return typeof e=="function"?this.#de.bind(this,e,r):this.#k(new Array(e),0,r,n)}#de(e,r,n){return this.#K(e(n),r,n)}#k(e,r,n,s){for(let i=r;i<e.length;i++){if(this.#e>=s.length)return this.#k.bind(this,e,i,n);let a=this.#w(n,s);if(typeof a=="function")return this.#Y.bind(this,e,i,a,n);e[i]=a}return e}#Y(e,r,n,s,i){let a=n(i);return typeof a=="function"?this.#Y.bind(this,e,r,a,s):(e[r++]=a,this.#k(e,r,s,i))}#J(e,r){let n=this.#p(0,r);return typeof n=="function"?this.#X.bind(this,n,e):this.#Z(n,e,r)}#X(e,r,n){let s=e(n);return typeof s=="function"?this.#X.bind(this,s,r):this.#Z(s,r,n)}#Z(e,r,n){return r[pt.RESP_TYPES.SET]===Set?this.#j(new Set,e,r,n):this.#k(new Array(e),0,r,n)}#j(e,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#j.bind(this,e,r,n);let i=this.#w(n,s);if(typeof i=="function")return this.#ee.bind(this,e,r,i,n);e.add(i),--r}return e}#ee(e,r,n,s,i){let a=n(i);return typeof a=="function"?this.#ee.bind(this,e,r,a,s):(e.add(a),this.#j(e,r-1,s,i))}#te(e,r){let n=this.#p(0,r);return typeof n=="function"?this.#re.bind(this,n,e):this.#ne(n,e,r)}#re(e,r,n){let s=e(n);return typeof s=="function"?this.#re.bind(this,s,r):this.#ne(s,r,n)}#ne(e,r,n){switch(r[pt.RESP_TYPES.MAP]){case Map:return this.#W(new Map,e,r,n);case Array:return this.#k(new Array(e*2),0,r,n);default:return this.#$(Object.create(null),e,r,n)}}#W(e,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#W.bind(this,e,r,n);let i=this.#se(n,s);if(typeof i=="function")return this.#ae.bind(this,e,r,i,n);if(this.#e>=s.length)return this.#L.bind(this,e,r,i,this.#w.bind(this,n),n);let a=this.#w(n,s);if(typeof a=="function")return this.#L.bind(this,e,r,i,a,n);e.set(i,a),--r}return e}#se(e,r){let n=r[this.#e];return++this.#e===r.length?this.#ie.bind(this,n,e):this.#ie(n,e,r)}#ie(e,r,n){switch(e){case pt.RESP_TYPES.SIMPLE_STRING:return this.#x(String,n);case pt.RESP_TYPES.BLOB_STRING:return this.#T(String,n);default:return this.#U(e,r,n)}}#ae(e,r,n,s,i){let a=n(i);if(typeof a=="function")return this.#ae.bind(this,e,r,a,s);if(this.#e>=i.length)return this.#L.bind(this,e,r,a,this.#w.bind(this,s),s);let o=this.#w(s,i);return typeof o=="function"?this.#L.bind(this,e,r,a,o,s):(e.set(a,o),this.#W(e,r-1,s,i))}#L(e,r,n,s,i,a){let o=s(a);return typeof o=="function"?this.#L.bind(this,e,r,n,o,i):(e.set(n,o),this.#W(e,r-1,i,a))}#$(e,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#$.bind(this,e,r,n);let i=this.#se(n,s);if(typeof i=="function")return this.#oe.bind(this,e,r,i,n);if(this.#e>=s.length)return this.#B.bind(this,e,r,i,this.#w.bind(this,n),n);let a=this.#w(n,s);if(typeof a=="function")return this.#B.bind(this,e,r,i,a,n);e[i]=a,--r}return e}#oe(e,r,n,s,i){let a=n(i);if(typeof a=="function")return this.#oe.bind(this,e,r,a,s);if(this.#e>=i.length)return this.#B.bind(this,e,r,a,this.#w.bind(this,s),s);let o=this.#w(s,i);return typeof o=="function"?this.#B.bind(this,e,r,a,o,s):(e[a]=o,this.#$(e,r-1,s,i))}#B(e,r,n,s,i,a){let o=s(a);return typeof o=="function"?this.#B.bind(this,e,r,n,o,i):(e[n]=o,this.#$(e,r-1,i,a))}};pt.Decoder=eB;RK=eB});var aWe=E(xb=>{"use strict";Object.defineProperty(xb,"__esModule",{value:!0});xb.scriptSha1=xb.defineScript=void 0;var tar=require("node:crypto");function rar(t){return{...t,SHA1:iWe(t.SCRIPT)}}xb.defineScript=rar;function iWe(t){return(0,tar.createHash)("sha1").update(t).digest("hex")}xb.scriptSha1=iWe});var oWe=E(rB=>{"use strict";Object.defineProperty(rB,"__esModule",{value:!0});rB.digest=void 0;var NK=null;async function nar(){if(!NK)try{NK=(await import("@node-rs/xxhash")).xxh3}catch{throw new Error('The "digest" function requires the "@node-rs/xxhash" package, but it was not found.')}return NK}async function sar(t){let e=await nar(),r=typeof t=="string"?t:new Uint8Array(t);return e.xxh64(r).toString(16).padStart(16,"0")}rB.digest=sar});var cWe=E(OK=>{"use strict";Object.defineProperty(OK,"__esModule",{value:!0});OK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","CAT"),e&&t.push(e)},transformReply:void 0}});var uWe=E(PK=>{"use strict";Object.defineProperty(PK,"__esModule",{value:!0});PK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","DELUSER"),t.pushVariadic(e)},transformReply:void 0}});var lWe=E(DK=>{"use strict";Object.defineProperty(DK,"__esModule",{value:!0});DK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ACL","DRYRUN",e,...r)},transformReply:void 0}});var dWe=E(kK=>{"use strict";Object.defineProperty(kK,"__esModule",{value:!0});kK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","GENPASS"),e&&t.push(e.toString())},transformReply:void 0}});var fWe=E(LK=>{"use strict";Object.defineProperty(LK,"__esModule",{value:!0});LK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","GETUSER",e)},transformReply:{2:t=>({flags:t[1],passwords:t[3],commands:t[5],keys:t[7],channels:t[9],selectors:t[11]?.map(e=>{let r=e;return{commands:r[1],keys:r[3],channels:r[5]}})}),3:void 0}}});var pWe=E(BK=>{"use strict";Object.defineProperty(BK,"__esModule",{value:!0});BK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","LIST")},transformReply:void 0}});var mWe=E(MK=>{"use strict";Object.defineProperty(MK,"__esModule",{value:!0});MK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","LOAD")},transformReply:void 0}});var Dl=E(nB=>{"use strict";Object.defineProperty(nB,"__esModule",{value:!0});nB.BasicCommandParser=void 0;var WK=class{#e=[];#t=[];preserve;get redisArgs(){return this.#e}get keys(){return this.#t}get firstKey(){return this.#t[0]}get cacheKey(){let e=new Array(this.#e.length*2);for(let r=0;r<this.#e.length;r++)e[r]=this.#e[r].length,e[r+this.#e.length]=this.#e[r];return e.join("_")}push(...e){this.#e.push(...e)}pushVariadic(e){if(Array.isArray(e))for(let r of e)this.push(r);else this.push(e)}pushVariadicWithLength(e){Array.isArray(e)?this.#e.push(e.length.toString()):this.#e.push("1"),this.pushVariadic(e)}pushVariadicNumber(e){if(Array.isArray(e))for(let r of e)this.push(r.toString());else this.push(e.toString())}pushKey(e){this.#t.push(e),this.#e.push(e)}pushKeysLength(e){Array.isArray(e)?this.#e.push(e.length.toString()):this.#e.push("1"),this.pushKeys(e)}pushKeys(e){Array.isArray(e)?(this.#t.push(...e),this.#e.push(...e)):(this.#t.push(e),this.#e.push(e))}};nB.BasicCommandParser=WK});var Ie=E(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.transformRedisJsonNullReply=Le.transformRedisJsonReply=Le.transformRedisJsonArgument=Le.transformStreamsMessagesReplyResp3=Le.transformStreamsMessagesReplyResp2=Le.transformStreamMessagesReply=Le.transformStreamMessageNullReply=Le.transformStreamMessageReply=Le.parseArgs=Le.parseZKeysArguments=Le.transformRangeReply=Le.parseSlotRangesArguments=Le.transformFunctionListItemReply=Le.RedisFunctionFlags=Le.transformCommandReply=Le.CommandCategories=Le.CommandFlags=Le.parseOptionalVariadicArgument=Le.pushVariadicArgument=Le.pushVariadicNumberArguments=Le.pushVariadicArguments=Le.pushEvalArguments=Le.evalFirstKeyIndex=Le.transformPXAT=Le.transformEXAT=Le.transformSortedSetReply=Le.transformTuplesReply=Le.createTransformTuplesReplyFunc=Le.transformTuplesToMap=Le.transformNullableDoubleReply=Le.createTransformNullableDoubleReplyResp2Func=Le.transformDoubleArrayReply=Le.createTransformDoubleReplyResp2Func=Le.transformDoubleReply=Le.transformStringDoubleArgument=Le.transformDoubleArgument=Le.transformBooleanArrayReply=Le.transformBooleanReply=Le.isArrayReply=Le.isNullReply=void 0;var iar=Dl(),$K=tB();function FK(t){return t===null}Le.isNullReply=FK;function aar(t){return Array.isArray(t)}Le.isArrayReply=aar;Le.transformBooleanReply={2:t=>t===1,3:void 0};Le.transformBooleanArrayReply={2:t=>t.map(Le.transformBooleanReply[2]),3:void 0};function sB(t){switch(t){case 1/0:return"+inf";case-1/0:return"-inf";default:return t.toString()}}Le.transformDoubleArgument=sB;function oar(t){return typeof t!="number"?t:sB(t)}Le.transformStringDoubleArgument=oar;Le.transformDoubleReply={2:(t,e,r)=>{switch(r?r[$K.RESP_TYPES.DOUBLE]:void 0){case String:return t;default:{let s;switch(t.toString()){case"inf":case"+inf":s=1/0;case"-inf":s=-1/0;case"nan":s=NaN;default:s=Number(t)}return s}}},3:void 0};function xWe(t,e){return r=>Le.transformDoubleReply[2](r,t,e)}Le.createTransformDoubleReplyResp2Func=xWe;Le.transformDoubleArrayReply={2:(t,e,r)=>t.map(xWe(e,r)),3:void 0};function car(t,e){return r=>Le.transformNullableDoubleReply[2](r,t,e)}Le.createTransformNullableDoubleReplyResp2Func=car;Le.transformNullableDoubleReply={2:(t,e,r)=>t===null?null:Le.transformDoubleReply[2](t,e,r),3:void 0};function uar(t,e){let r=Object.create(null);for(let n=0;n<t.length;n+=2)r[t[n].toString()]=e(t[n+1]);return r}Le.transformTuplesToMap=uar;function lar(t,e){return r=>UK(r,t,e)}Le.createTransformTuplesReplyFunc=lar;function UK(t,e,r){let n=r?r[$K.RESP_TYPES.MAP]:void 0,s=t;switch(n){case Array:return t;case Map:{let i=new Map;for(let a=0;a<s.length;a+=2)i.set(s[a].toString(),s[a+1]);return i}default:{let i=Object.create(null);for(let a=0;a<s.length;a+=2)i[s[a].toString()]=s[a+1];return i}}}Le.transformTuplesReply=UK;Le.transformSortedSetReply={2:(t,e,r)=>{let n=t,s=[];for(let i=0;i<n.length;i+=2)s.push({value:n[i],score:Le.transformDoubleReply[2](n[i+1],e,r)});return s},3:t=>t.map(e=>{let[r,n]=e;return{value:r,score:n}})};function dar(t){return(typeof t=="number"?t:Math.floor(t.getTime()/1e3)).toString()}Le.transformEXAT=dar;function far(t){return(typeof t=="number"?t:t.getTime()).toString()}Le.transformPXAT=far;function par(t){return t?.keys?.[0]}Le.evalFirstKeyIndex=par;function mar(t,e){return e?.keys?t.push(e.keys.length.toString(),...e.keys):t.push("0"),e?.arguments&&t.push(...e.arguments),t}Le.pushEvalArguments=mar;function har(t,e){return Array.isArray(e)?t=t.concat(e):t.push(e),t}Le.pushVariadicArguments=har;function gar(t,e){if(Array.isArray(e))for(let r of e)t.push(r.toString());else t.push(e.toString());return t}Le.pushVariadicNumberArguments=gar;function Aar(t,e){return Array.isArray(e)?t.push(e.length.toString(),...e):t.push("1",e),t}Le.pushVariadicArgument=Aar;function yar(t,e,r){r!==void 0&&(t.push(e),t.pushVariadicWithLength(r))}Le.parseOptionalVariadicArgument=yar;var hWe;(function(t){t.WRITE="write",t.READONLY="readonly",t.DENYOOM="denyoom",t.ADMIN="admin",t.PUBSUB="pubsub",t.NOSCRIPT="noscript",t.RANDOM="random",t.SORT_FOR_SCRIPT="sort_for_script",t.LOADING="loading",t.STALE="stale",t.SKIP_MONITOR="skip_monitor",t.ASKING="asking",t.FAST="fast",t.MOVABLEKEYS="movablekeys"})(hWe||(Le.CommandFlags=hWe={}));var gWe;(function(t){t.KEYSPACE="@keyspace",t.READ="@read",t.WRITE="@write",t.SET="@set",t.SORTEDSET="@sortedset",t.LIST="@list",t.HASH="@hash",t.STRING="@string",t.BITMAP="@bitmap",t.HYPERLOGLOG="@hyperloglog",t.GEO="@geo",t.STREAM="@stream",t.PUBSUB="@pubsub",t.ADMIN="@admin",t.FAST="@fast",t.SLOW="@slow",t.BLOCKING="@blocking",t.DANGEROUS="@dangerous",t.CONNECTION="@connection",t.TRANSACTION="@transaction",t.SCRIPTING="@scripting"})(gWe||(Le.CommandCategories=gWe={}));function xar([t,e,r,n,s,i,a]){return{name:t,arity:e,flags:new Set(r),firstKeyIndex:n,lastKeyIndex:s,step:i,categories:new Set(a)}}Le.transformCommandReply=xar;var AWe;(function(t){t.NO_WRITES="no-writes",t.ALLOW_OOM="allow-oom",t.ALLOW_STALE="allow-stale",t.NO_CLUSTER="no-cluster"})(AWe||(Le.RedisFunctionFlags=AWe={}));function bar(t){return{libraryName:t[1],engine:t[3],functions:t[5].map(e=>({name:e[1],description:e[3],flags:e[5]}))}}Le.transformFunctionListItemReply=bar;function yWe(t,e){t.push(e.start.toString(),e.end.toString())}function Ear(t,e){if(Array.isArray(e))for(let r of e)yWe(t,r);else yWe(t,e)}Le.parseSlotRangesArguments=Ear;function _ar([t,e]){return{start:t,end:e}}Le.transformRangeReply=_ar;function Sar(t,e){if(Array.isArray(e)){if(t.push(e.length.toString()),e.length)if(Car(e))t.pushKeys(e);else{for(let r=0;r<e.length;r++)t.pushKey(e[r].key);t.push("WEIGHTS");for(let r=0;r<e.length;r++)t.push(sB(e[r].weight))}}else t.push("1"),bWe(e)?t.pushKey(e):(t.pushKey(e.key),t.push("WEIGHTS",sB(e.weight)))}Le.parseZKeysArguments=Sar;function bWe(t){return typeof t=="string"||t instanceof Buffer}function Car(t){return bWe(t[0])}function Iar(t,...e){let r=new iar.BasicCommandParser;t.parseCommand(r,...e);let n=r.redisArgs;return r.preserve&&(n.preserve=r.preserve),n}Le.parseArgs=Iar;function qK(t,e){let[r,n,s,i]=e;return{id:r,message:UK(n,void 0,t),...s!==void 0?{millisElapsedFromDelivery:s}:{},...i!==void 0?{deliveriesCounter:i}:{}}}Le.transformStreamMessageReply=qK;function Tar(t,e){return FK(e)?e:qK(t,e)}Le.transformStreamMessageNullReply=Tar;function FC(t,e){return t.map(qK.bind(void 0,e))}Le.transformStreamMessagesReply=FC;function war(t,e,r){if(t===null)return null;switch(r?r[$K.RESP_TYPES.MAP]:void 0){default:{let n=[];for(let s=0;s<t.length;s++){let i=t[s];n.push({name:i[0],messages:FC(i[1])})}return n}}}Le.transformStreamsMessagesReplyResp2=war;function Rar(t){if(t===null)return null;if(t instanceof Map){let e=new Map;for(let[r,n]of t){let s=r;e.set(s.toString(),FC(n))}return e}else if(t instanceof Array){let e=[];for(let r=0;r<t.length;r+=2){let n=t[r],s=t[r+1];e.push(n),e.push(FC(s))}return e}else{let e=Object.create(null);for(let[r,n]of Object.entries(t))e[r]=FC(n);return e}}Le.transformStreamsMessagesReplyResp3=Rar;function Nar(t){return JSON.stringify(t)}Le.transformRedisJsonArgument=Nar;function EWe(t){return JSON.parse(t.toString())}Le.transformRedisJsonReply=EWe;function Oar(t){return FK(t)?t:EWe(t)}Le.transformRedisJsonNullReply=Oar});var HK=E(jK=>{"use strict";Object.defineProperty(jK,"__esModule",{value:!0});var Par=Ie();jK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","LOG"),e!=null&&t.push(e.toString())},transformReply:{2:(t,e,r)=>t.map(n=>{let s=n;return{count:s[1],reason:s[3],context:s[5],object:s[7],username:s[9],"age-seconds":Par.transformDoubleReply[2](s[11],e,r),"client-info":s[13],"entry-id":s[15],"timestamp-created":s[17],"timestamp-last-updated":s[19]}}),3:void 0}}});var _We=E(UC=>{"use strict";var Dar=UC&&UC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(UC,"__esModule",{value:!0});var kar=Dar(HK());UC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:kar.default.IS_READ_ONLY,parseCommand(t){t.push("ACL","LOG","RESET")},transformReply:void 0}});var SWe=E(QK=>{"use strict";Object.defineProperty(QK,"__esModule",{value:!0});QK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","SAVE")},transformReply:void 0}});var vWe=E(GK=>{"use strict";Object.defineProperty(GK,"__esModule",{value:!0});GK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ACL","SETUSER",e),t.pushVariadic(r)},transformReply:void 0}});var CWe=E(VK=>{"use strict";Object.defineProperty(VK,"__esModule",{value:!0});VK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","USERS")},transformReply:void 0}});var IWe=E(zK=>{"use strict";Object.defineProperty(zK,"__esModule",{value:!0});zK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","WHOAMI")},transformReply:void 0}});var TWe=E(KK=>{"use strict";Object.defineProperty(KK,"__esModule",{value:!0});KK.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("APPEND",e,r)},transformReply:void 0}});var YK=E(bb=>{"use strict";Object.defineProperty(bb,"__esModule",{value:!0});bb.ASKING_CMD=void 0;bb.ASKING_CMD="ASKING";bb.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push(bb.ASKING_CMD)},transformReply:void 0}});var wWe=E(JK=>{"use strict";Object.defineProperty(JK,"__esModule",{value:!0});JK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,{username:e,password:r}){t.push("AUTH"),e!==void 0&&t.push(e),t.push(r)},transformReply:void 0}});var RWe=E(XK=>{"use strict";Object.defineProperty(XK,"__esModule",{value:!0});XK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("BGREWRITEAOF")},transformReply:void 0}});var NWe=E(ZK=>{"use strict";Object.defineProperty(ZK,"__esModule",{value:!0});ZK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("BGSAVE"),e?.SCHEDULE&&t.push("SCHEDULE")},transformReply:void 0}});var OWe=E(eY=>{"use strict";Object.defineProperty(eY,"__esModule",{value:!0});eY.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BITCOUNT"),t.pushKey(e),r&&(t.push(r.start.toString()),t.push(r.end.toString()),r.mode&&t.push(r.mode))},transformReply:void 0}});var PWe=E(tY=>{"use strict";Object.defineProperty(tY,"__esModule",{value:!0});tY.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BITFIELD_RO"),t.pushKey(e);for(let n of r)t.push("GET"),t.push(n.encoding),t.push(n.offset.toString())},transformReply:void 0}});var DWe=E(rY=>{"use strict";Object.defineProperty(rY,"__esModule",{value:!0});rY.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BITFIELD"),t.pushKey(e);for(let n of r)switch(n.operation){case"GET":t.push("GET",n.encoding,n.offset.toString());break;case"SET":t.push("SET",n.encoding,n.offset.toString(),n.value.toString());break;case"INCRBY":t.push("INCRBY",n.encoding,n.offset.toString(),n.increment.toString());break;case"OVERFLOW":t.push("OVERFLOW",n.behavior);break}},transformReply:void 0}});var kWe=E(nY=>{"use strict";Object.defineProperty(nY,"__esModule",{value:!0});nY.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BITOP",e),t.pushKey(r),t.pushKeys(n)},transformReply:void 0}});var LWe=E(sY=>{"use strict";Object.defineProperty(sY,"__esModule",{value:!0});sY.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s,i){t.push("BITPOS"),t.pushKey(e),t.push(r.toString()),n!==void 0&&t.push(n.toString()),s!==void 0&&t.push(s.toString()),i&&t.push(i)},transformReply:void 0}});var BWe=E(iY=>{"use strict";Object.defineProperty(iY,"__esModule",{value:!0});iY.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("BLMOVE"),t.pushKeys([e,r]),t.push(n,s,i.toString())},transformReply:void 0}});var aY=E(qC=>{"use strict";Object.defineProperty(qC,"__esModule",{value:!0});qC.parseLMPopArguments=void 0;function MWe(t,e,r,n){t.pushKeysLength(e),t.push(r),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString())}qC.parseLMPopArguments=MWe;qC.default={IS_READ_ONLY:!1,parseCommand(t,...e){t.push("LMPOP"),MWe(t,...e)},transformReply:void 0}});var $We=E(pf=>{"use strict";var Lar=pf&&pf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Bar=pf&&pf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Mar=pf&&pf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Lar(e,t,r);return Bar(e,t),e};Object.defineProperty(pf,"__esModule",{value:!0});var WWe=Mar(aY());pf.default={IS_READ_ONLY:!1,parseCommand(t,e,...r){t.push("BLMPOP",e.toString()),(0,WWe.parseLMPopArguments)(t,...r)},transformReply:WWe.default.transformReply}});var cY=E(oY=>{"use strict";Object.defineProperty(oY,"__esModule",{value:!0});oY.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BLPOP"),t.pushKeys(e),t.push(r.toString())},transformReply(t){return t===null?null:{key:t[0],element:t[1]}}}});var FWe=E(jC=>{"use strict";var War=jC&&jC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jC,"__esModule",{value:!0});var $ar=War(cY());jC.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BRPOP"),t.pushKeys(e),t.push(r.toString())},transformReply:$ar.default.transformReply}});var UWe=E(uY=>{"use strict";Object.defineProperty(uY,"__esModule",{value:!0});uY.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BRPOPLPUSH"),t.pushKeys([e,r]),t.push(n.toString())},transformReply:void 0}});var lY=E(HC=>{"use strict";Object.defineProperty(HC,"__esModule",{value:!0});HC.parseZMPopArguments=void 0;var qWe=Ie();function jWe(t,e,r,n){t.pushKeysLength(e),t.push(r),n?.COUNT&&t.push("COUNT",n.COUNT.toString())}HC.parseZMPopArguments=jWe;HC.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZMPOP"),jWe(t,e,r,n)},transformReply:{2(t,e,r){return t===null?null:{key:t[0],members:t[1].map(n=>{let[s,i]=n;return{value:s,score:qWe.transformDoubleReply[2](i,e,r)}})}},3(t){return t===null?null:{key:t[0],members:qWe.transformSortedSetReply[3](t[1])}}}}});var QWe=E(mf=>{"use strict";var Far=mf&&mf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Uar=mf&&mf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),qar=mf&&mf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Far(e,t,r);return Uar(e,t),e};Object.defineProperty(mf,"__esModule",{value:!0});var HWe=qar(lY());mf.default={IS_READ_ONLY:!1,parseCommand(t,e,...r){t.push("BZMPOP",e.toString()),(0,HWe.parseZMPopArguments)(t,...r)},transformReply:HWe.default.transformReply}});var fY=E(dY=>{"use strict";Object.defineProperty(dY,"__esModule",{value:!0});var jar=Ie();dY.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BZPOPMAX"),t.pushKeys(e),t.push(r.toString())},transformReply:{2(t,e,r){return t===null?null:{key:t[0],value:t[1],score:jar.transformDoubleReply[2](t[2],e,r)}},3(t){return t===null?null:{key:t[0],value:t[1],score:t[2]}}}}});var VWe=E(QC=>{"use strict";var Har=QC&&QC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(QC,"__esModule",{value:!0});var GWe=Har(fY());QC.default={IS_READ_ONLY:GWe.default.IS_READ_ONLY,parseCommand(t,e,r){t.push("BZPOPMIN"),t.pushKeys(e),t.push(r.toString())},transformReply:GWe.default.transformReply}});var zWe=E(pY=>{"use strict";Object.defineProperty(pY,"__esModule",{value:!0});pY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","CACHING",e?"YES":"NO")},transformReply:void 0}});var KWe=E(mY=>{"use strict";Object.defineProperty(mY,"__esModule",{value:!0});mY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","GETNAME")},transformReply:void 0}});var YWe=E(hY=>{"use strict";Object.defineProperty(hY,"__esModule",{value:!0});hY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","GETREDIR")},transformReply:void 0}});var JWe=E(gY=>{"use strict";Object.defineProperty(gY,"__esModule",{value:!0});gY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","ID")},transformReply:void 0}});var yY=E(AY=>{"use strict";Object.defineProperty(AY,"__esModule",{value:!0});var Qar=/([^\s=]+)=([^\s]*)/g;AY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","INFO")},transformReply(t){let e={};for(let n of t.toString().matchAll(Qar))e[n[1]]=n[2];let r={id:Number(e.id),addr:e.addr,fd:Number(e.fd),name:e.name,age:Number(e.age),idle:Number(e.idle),flags:e.flags,db:Number(e.db),sub:Number(e.sub),psub:Number(e.psub),multi:Number(e.multi),qbuf:Number(e.qbuf),qbufFree:Number(e["qbuf-free"]),argvMem:Number(e["argv-mem"]),obl:Number(e.obl),oll:Number(e.oll),omem:Number(e.omem),totMem:Number(e["tot-mem"]),events:e.events,cmd:e.cmd,user:e.user,libName:e["lib-name"],libVer:e["lib-ver"]};return e.laddr!==void 0&&(r.laddr=e.laddr),e.redir!==void 0&&(r.redir=Number(e.redir)),e.ssub!==void 0&&(r.ssub=Number(e.ssub)),e["multi-mem"]!==void 0&&(r.multiMem=Number(e["multi-mem"])),e.resp!==void 0&&(r.resp=Number(e.resp)),r}}});var ZWe=E(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.CLIENT_KILL_FILTERS=void 0;Oo.CLIENT_KILL_FILTERS={ADDRESS:"ADDR",LOCAL_ADDRESS:"LADDR",ID:"ID",TYPE:"TYPE",USER:"USER",SKIP_ME:"SKIPME",MAXAGE:"MAXAGE"};Oo.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){if(t.push("CLIENT","KILL"),Array.isArray(e))for(let r of e)XWe(t,r);else XWe(t,e)},transformReply:void 0};function XWe(t,e){if(e===Oo.CLIENT_KILL_FILTERS.SKIP_ME){t.push("SKIPME");return}switch(t.push(e.filter),e.filter){case Oo.CLIENT_KILL_FILTERS.ADDRESS:t.push(e.address);break;case Oo.CLIENT_KILL_FILTERS.LOCAL_ADDRESS:t.push(e.localAddress);break;case Oo.CLIENT_KILL_FILTERS.ID:t.push(typeof e.id=="number"?e.id.toString():e.id);break;case Oo.CLIENT_KILL_FILTERS.TYPE:t.push(e.type);break;case Oo.CLIENT_KILL_FILTERS.USER:t.push(e.username);break;case Oo.CLIENT_KILL_FILTERS.SKIP_ME:t.push(e.skipMe?"yes":"no");break;case Oo.CLIENT_KILL_FILTERS.MAXAGE:t.push(e.maxAge.toString());break}}});var e$e=E(GC=>{"use strict";var Gar=GC&&GC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(GC,"__esModule",{value:!0});var Var=Gar(yY());GC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","LIST"),e&&(e.TYPE!==void 0?t.push("TYPE",e.TYPE):(t.push("ID"),t.pushVariadic(e.ID)))},transformReply(t){let e=t.toString().split(`
`),r=e.length-1,n=[];for(let s=0;s<r;s++)n.push(Var.default.transformReply(e[s]));return n}}});var t$e=E(xY=>{"use strict";Object.defineProperty(xY,"__esModule",{value:!0});xY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","NO-EVICT",e?"ON":"OFF")},transformReply:void 0}});var r$e=E(bY=>{"use strict";Object.defineProperty(bY,"__esModule",{value:!0});bY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","NO-TOUCH",e?"ON":"OFF")},transformReply:void 0}});var n$e=E(EY=>{"use strict";Object.defineProperty(EY,"__esModule",{value:!0});EY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CLIENT","PAUSE",e.toString()),r&&t.push(r)},transformReply:void 0}});var s$e=E(_Y=>{"use strict";Object.defineProperty(_Y,"__esModule",{value:!0});_Y.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","SETNAME",e)},transformReply:void 0}});var i$e=E(SY=>{"use strict";Object.defineProperty(SY,"__esModule",{value:!0});SY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){if(t.push("CLIENT","TRACKING",e?"ON":"OFF"),e){if(r?.REDIRECT&&t.push("REDIRECT",r.REDIRECT.toString()),zar(r)){if(t.push("BCAST"),r?.PREFIX)if(Array.isArray(r.PREFIX))for(let n of r.PREFIX)t.push("PREFIX",n);else t.push("PREFIX",r.PREFIX)}else Kar(r)?t.push("OPTIN"):Yar(r)&&t.push("OPTOUT");r?.NOLOOP&&t.push("NOLOOP")}},transformReply:void 0};function zar(t){return t?.BCAST===!0}function Kar(t){return t?.OPTIN===!0}function Yar(t){return t?.OPTOUT===!0}});var a$e=E(vY=>{"use strict";Object.defineProperty(vY,"__esModule",{value:!0});vY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","TRACKINGINFO")},transformReply:{2:t=>({flags:t[1],redirect:t[3],prefixes:t[5]}),3:void 0}}});var o$e=E(CY=>{"use strict";Object.defineProperty(CY,"__esModule",{value:!0});CY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","UNPAUSE")},transformReply:void 0}});var c$e=E(IY=>{"use strict";Object.defineProperty(IY,"__esModule",{value:!0});IY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","ADDSLOTS"),t.pushVariadicNumber(e)},transformReply:void 0}});var u$e=E(TY=>{"use strict";Object.defineProperty(TY,"__esModule",{value:!0});var Jar=Ie();TY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","ADDSLOTSRANGE"),(0,Jar.parseSlotRangesArguments)(t,e)},transformReply:void 0}});var l$e=E(wY=>{"use strict";Object.defineProperty(wY,"__esModule",{value:!0});wY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","BUMPEPOCH")},transformReply:void 0}});var d$e=E(RY=>{"use strict";Object.defineProperty(RY,"__esModule",{value:!0});RY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","COUNT-FAILURE-REPORTS",e)},transformReply:void 0}});var f$e=E(NY=>{"use strict";Object.defineProperty(NY,"__esModule",{value:!0});NY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","COUNTKEYSINSLOT",e.toString())},transformReply:void 0}});var p$e=E(OY=>{"use strict";Object.defineProperty(OY,"__esModule",{value:!0});OY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","DELSLOTS"),t.pushVariadicNumber(e)},transformReply:void 0}});var m$e=E(PY=>{"use strict";Object.defineProperty(PY,"__esModule",{value:!0});var Xar=Ie();PY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","DELSLOTSRANGE"),(0,Xar.parseSlotRangesArguments)(t,e)},transformReply:void 0}});var h$e=E(VC=>{"use strict";Object.defineProperty(VC,"__esModule",{value:!0});VC.FAILOVER_MODES=void 0;VC.FAILOVER_MODES={FORCE:"FORCE",TAKEOVER:"TAKEOVER"};VC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","FAILOVER"),e?.mode&&t.push(e.mode)},transformReply:void 0}});var g$e=E(DY=>{"use strict";Object.defineProperty(DY,"__esModule",{value:!0});DY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","FLUSHSLOTS")},transformReply:void 0}});var A$e=E(kY=>{"use strict";Object.defineProperty(kY,"__esModule",{value:!0});kY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","FORGET",e)},transformReply:void 0}});var y$e=E(LY=>{"use strict";Object.defineProperty(LY,"__esModule",{value:!0});LY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CLUSTER","GETKEYSINSLOT",e.toString(),r.toString())},transformReply:void 0}});var x$e=E(BY=>{"use strict";Object.defineProperty(BY,"__esModule",{value:!0});BY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","INFO")},transformReply:void 0}});var b$e=E(MY=>{"use strict";Object.defineProperty(MY,"__esModule",{value:!0});MY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","KEYSLOT",e)},transformReply:void 0}});var E$e=E(WY=>{"use strict";Object.defineProperty(WY,"__esModule",{value:!0});WY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","LINKS")},transformReply:{2:t=>t.map(e=>{let r=e;return{direction:r[1],node:r[3],"create-time":r[5],events:r[7],"send-buffer-allocated":r[9],"send-buffer-used":r[11]}}),3:void 0}}});var _$e=E($Y=>{"use strict";Object.defineProperty($Y,"__esModule",{value:!0});$Y.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CLUSTER","MEET",e,r.toString())},transformReply:void 0}});var S$e=E(FY=>{"use strict";Object.defineProperty(FY,"__esModule",{value:!0});FY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","MYID")},transformReply:void 0}});var v$e=E(UY=>{"use strict";Object.defineProperty(UY,"__esModule",{value:!0});UY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","MYSHARDID")},transformReply:void 0}});var C$e=E(qY=>{"use strict";Object.defineProperty(qY,"__esModule",{value:!0});qY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","NODES")},transformReply:void 0}});var I$e=E(jY=>{"use strict";Object.defineProperty(jY,"__esModule",{value:!0});jY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","REPLICAS",e)},transformReply:void 0}});var T$e=E(HY=>{"use strict";Object.defineProperty(HY,"__esModule",{value:!0});HY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","REPLICATE",e)},transformReply:void 0}});var w$e=E(QY=>{"use strict";Object.defineProperty(QY,"__esModule",{value:!0});QY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","RESET"),e?.mode&&t.push(e.mode)},transformReply:void 0}});var R$e=E(GY=>{"use strict";Object.defineProperty(GY,"__esModule",{value:!0});GY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","SAVECONFIG")},transformReply:void 0}});var N$e=E(VY=>{"use strict";Object.defineProperty(VY,"__esModule",{value:!0});VY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","SET-CONFIG-EPOCH",e.toString())},transformReply:void 0}});var O$e=E(zC=>{"use strict";Object.defineProperty(zC,"__esModule",{value:!0});zC.CLUSTER_SLOT_STATES=void 0;zC.CLUSTER_SLOT_STATES={IMPORTING:"IMPORTING",MIGRATING:"MIGRATING",STABLE:"STABLE",NODE:"NODE"};zC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("CLUSTER","SETSLOT",e.toString(),r),n&&t.push(n)},transformReply:void 0}});var D$e=E(zY=>{"use strict";Object.defineProperty(zY,"__esModule",{value:!0});zY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","SLOTS")},transformReply(t){return t.map(([e,r,n,...s])=>({from:e,to:r,master:P$e(n),replicas:s.map(P$e)}))}};function P$e(t){let[e,r,n]=t;return{host:e,port:r,id:n}}});var k$e=E(KY=>{"use strict";Object.defineProperty(KY,"__esModule",{value:!0});KY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("COMMAND","COUNT")},transformReply:void 0}});var L$e=E(YY=>{"use strict";Object.defineProperty(YY,"__esModule",{value:!0});YY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","GETKEYS"),t.push(...e)},transformReply:void 0}});var B$e=E(JY=>{"use strict";Object.defineProperty(JY,"__esModule",{value:!0});JY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","GETKEYSANDFLAGS"),t.push(...e)},transformReply(t){return t.map(e=>{let[r,n]=e;return{key:r,flags:n}})}}});var M$e=E(XY=>{"use strict";Object.defineProperty(XY,"__esModule",{value:!0});var Zar=Ie();XY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","INFO",...e)},transformReply(t){return t.map(e=>e?(0,Zar.transformCommandReply)(e):null)}}});var W$e=E(KC=>{"use strict";Object.defineProperty(KC,"__esModule",{value:!0});KC.COMMAND_LIST_FILTER_BY=void 0;KC.COMMAND_LIST_FILTER_BY={MODULE:"MODULE",ACLCAT:"ACLCAT",PATTERN:"PATTERN"};KC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","LIST"),e?.FILTERBY&&t.push("FILTERBY",e.FILTERBY.type,e.FILTERBY.value)},transformReply:void 0}});var $$e=E(ZY=>{"use strict";Object.defineProperty(ZY,"__esModule",{value:!0});var eor=Ie();ZY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("COMMAND")},transformReply(t){return t.map(eor.transformCommandReply)}}});var F$e=E(eJ=>{"use strict";Object.defineProperty(eJ,"__esModule",{value:!0});var tor=Ie();eJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CONFIG","GET"),t.pushVariadic(e)},transformReply:{2:tor.transformTuplesReply,3:void 0}}});var U$e=E(tJ=>{"use strict";Object.defineProperty(tJ,"__esModule",{value:!0});tJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CONFIG","RESETSTAT")},transformReply:void 0}});var q$e=E(rJ=>{"use strict";Object.defineProperty(rJ,"__esModule",{value:!0});rJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CONFIG","REWRITE")},transformReply:void 0}});var j$e=E(nJ=>{"use strict";Object.defineProperty(nJ,"__esModule",{value:!0});nJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,...[e,r]){if(t.push("CONFIG","SET"),typeof e=="string"||e instanceof Buffer)t.push(e,r);else for(let[n,s]of Object.entries(e))t.push(n,s)},transformReply:void 0}});var H$e=E(sJ=>{"use strict";Object.defineProperty(sJ,"__esModule",{value:!0});sJ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("COPY"),t.pushKeys([e,r]),n?.DB&&t.push("DB",n.DB.toString()),n?.REPLACE&&t.push("REPLACE")},transformReply:void 0}});var Q$e=E(iJ=>{"use strict";Object.defineProperty(iJ,"__esModule",{value:!0});iJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("DBSIZE")},transformReply:void 0}});var G$e=E(aJ=>{"use strict";Object.defineProperty(aJ,"__esModule",{value:!0});aJ.default={parseCommand(t,e){t.push("DECR"),t.pushKey(e)},transformReply:void 0}});var V$e=E(oJ=>{"use strict";Object.defineProperty(oJ,"__esModule",{value:!0});oJ.default={parseCommand(t,e,r){t.push("DECRBY"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var z$e=E(cJ=>{"use strict";Object.defineProperty(cJ,"__esModule",{value:!0});cJ.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("DEL"),t.pushKeys(e)},transformReply:void 0}});var K$e=E(YC=>{"use strict";Object.defineProperty(YC,"__esModule",{value:!0});YC.DelexCondition=void 0;YC.DelexCondition={IFEQ:"IFEQ",IFNE:"IFNE",IFDEQ:"IFDEQ",IFDNE:"IFDNE"};YC.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("DELEX"),t.pushKey(e),r&&(t.push(r.condition),t.push(r.matchValue))},transformReply:void 0}});var Y$e=E(uJ=>{"use strict";Object.defineProperty(uJ,"__esModule",{value:!0});uJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("DIGEST"),t.pushKey(e)},transformReply:void 0}});var J$e=E(lJ=>{"use strict";Object.defineProperty(lJ,"__esModule",{value:!0});lJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("DUMP"),t.pushKey(e)},transformReply:void 0}});var X$e=E(dJ=>{"use strict";Object.defineProperty(dJ,"__esModule",{value:!0});dJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ECHO",e)},transformReply:void 0}});var cg=E(JC=>{"use strict";Object.defineProperty(JC,"__esModule",{value:!0});JC.parseEvalArguments=void 0;function Z$e(t,e,r){t.push(e),r?.keys?t.pushKeysLength(r.keys):t.push("0"),r?.arguments&&t.push(...r.arguments)}JC.parseEvalArguments=Z$e;JC.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("EVAL"),Z$e(...t)},transformReply:void 0}});var tFe=E(hf=>{"use strict";var ror=hf&&hf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),nor=hf&&hf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),sor=hf&&hf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&ror(e,t,r);return nor(e,t),e};Object.defineProperty(hf,"__esModule",{value:!0});var eFe=sor(cg());hf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("EVAL_RO"),(0,eFe.parseEvalArguments)(...t)},transformReply:eFe.default.transformReply}});var nFe=E(gf=>{"use strict";var ior=gf&&gf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),aor=gf&&gf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),oor=gf&&gf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&ior(e,t,r);return aor(e,t),e};Object.defineProperty(gf,"__esModule",{value:!0});var rFe=oor(cg());gf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("EVALSHA_RO"),(0,rFe.parseEvalArguments)(...t)},transformReply:rFe.default.transformReply}});var iFe=E(Af=>{"use strict";var cor=Af&&Af.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),uor=Af&&Af.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),lor=Af&&Af.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&cor(e,t,r);return uor(e,t),e};Object.defineProperty(Af,"__esModule",{value:!0});var sFe=lor(cg());Af.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("EVALSHA"),(0,sFe.parseEvalArguments)(...t)},transformReply:sFe.default.transformReply}});var oFe=E(fJ=>{"use strict";Object.defineProperty(fJ,"__esModule",{value:!0});fJ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){if(t.push("GEOADD"),t.pushKey(e),n?.condition?t.push(n.condition):n?.NX?t.push("NX"):n?.XX&&t.push("XX"),n?.CH&&t.push("CH"),Array.isArray(r))for(let s of r)aFe(t,s);else aFe(t,r)},transformReply:void 0};function aFe(t,{longitude:e,latitude:r,member:n}){t.push(e.toString(),r.toString(),n)}});var cFe=E(pJ=>{"use strict";Object.defineProperty(pJ,"__esModule",{value:!0});pJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("GEODIST"),t.pushKey(e),t.push(r,n),s&&t.push(s)},transformReply(t){return t===null?null:Number(t)}}});var uFe=E(mJ=>{"use strict";Object.defineProperty(mJ,"__esModule",{value:!0});mJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GEOHASH"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var lFe=E(hJ=>{"use strict";Object.defineProperty(hJ,"__esModule",{value:!0});hJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GEOPOS"),t.pushKey(e),t.pushVariadic(r)},transformReply(t){return t.map(e=>{let r=e;return r===null?null:{longitude:r[0],latitude:r[1]}})}}});var lg=E(ug=>{"use strict";Object.defineProperty(ug,"__esModule",{value:!0});ug.parseGeoSearchOptions=ug.parseGeoSearchArguments=void 0;function dFe(t,e,r,n,s){t.pushKey(e),typeof r=="string"||r instanceof Buffer?t.push("FROMMEMBER",r):t.push("FROMLONLAT",r.longitude.toString(),r.latitude.toString()),"radius"in n?t.push("BYRADIUS",n.radius.toString(),n.unit):t.push("BYBOX",n.width.toString(),n.height.toString(),n.unit),fFe(t,s)}ug.parseGeoSearchArguments=dFe;function fFe(t,e){e?.SORT&&t.push(e.SORT),e?.COUNT&&(typeof e.COUNT=="number"?t.push("COUNT",e.COUNT.toString()):(t.push("COUNT",e.COUNT.value.toString()),e.COUNT.ANY&&t.push("ANY")))}ug.parseGeoSearchOptions=fFe;ug.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("GEOSEARCH"),dFe(t,e,r,n,s)},transformReply:void 0}});var ZC=E(XC=>{"use strict";Object.defineProperty(XC,"__esModule",{value:!0});XC.parseGeoRadiusArguments=void 0;var dor=lg();function pFe(t,e,r,n,s,i){t.pushKey(e),t.push(r.longitude.toString(),r.latitude.toString(),n.toString(),s),(0,dor.parseGeoSearchOptions)(t,i)}XC.parseGeoRadiusArguments=pFe;XC.default={IS_READ_ONLY:!1,parseCommand(...t){return t[0].push("GEORADIUS"),pFe(...t)},transformReply:void 0}});var eI=E(kl=>{"use strict";var por=kl&&kl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kl,"__esModule",{value:!0});kl.GEO_REPLY_WITH=void 0;var mFe=por(lg());kl.GEO_REPLY_WITH={DISTANCE:"WITHDIST",HASH:"WITHHASH",COORDINATES:"WITHCOORD"};kl.default={IS_READ_ONLY:mFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i){mFe.default.parseCommand(t,e,r,n,i),t.push(...s),t.preserve=s},transformReply(t,e){let r=new Set(e),n=0,s=r.has(kl.GEO_REPLY_WITH.DISTANCE)&&++n,i=r.has(kl.GEO_REPLY_WITH.HASH)&&++n,a=r.has(kl.GEO_REPLY_WITH.COORDINATES)&&++n;return t.map(o=>{let c=o,u={member:c[0]};if(s&&(u.distance=c[s]),i&&(u.hash=c[i]),a){let[l,d]=c[a];u.coordinates={longitude:l,latitude:d}}return u})}}});var iB=E(Po=>{"use strict";var mor=Po&&Po.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),hor=Po&&Po.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),gor=Po&&Po.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&mor(e,t,r);return hor(e,t),e},Aor=Po&&Po.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Po,"__esModule",{value:!0});Po.parseGeoRadiusWithArguments=void 0;var hFe=gor(ZC()),yor=Aor(eI());function gFe(t,e,r,n,s,i,a){(0,hFe.parseGeoRadiusArguments)(t,e,r,n,s,a),t.pushVariadic(i),t.preserve=i}Po.parseGeoRadiusWithArguments=gFe;Po.default={IS_READ_ONLY:hFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUS"),gFe(t,e,r,n,s,i,a)},transformReply:yor.default.transformReply}});var AFe=E(tI=>{"use strict";var xor=tI&&tI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tI,"__esModule",{value:!0});var bor=iB(),Eor=xor(iB());tI.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUS_RO"),(0,bor.parseGeoRadiusWithArguments)(...t)},transformReply:Eor.default.transformReply}});var xFe=E(yf=>{"use strict";var _or=yf&&yf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Sor=yf&&yf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),vor=yf&&yf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&_or(e,t,r);return Sor(e,t),e};Object.defineProperty(yf,"__esModule",{value:!0});var yFe=vor(ZC());yf.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUS_RO"),(0,yFe.parseGeoRadiusArguments)(...t)},transformReply:yFe.default.transformReply}});var EFe=E(xf=>{"use strict";var Cor=xf&&xf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ior=xf&&xf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Tor=xf&&xf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Cor(e,t,r);return Ior(e,t),e};Object.defineProperty(xf,"__esModule",{value:!0});var bFe=Tor(ZC());xf.default={IS_READ_ONLY:bFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUS"),(0,bFe.parseGeoRadiusArguments)(t,e,r,n,s,a),a?.STOREDIST?(t.push("STOREDIST"),t.pushKey(i)):(t.push("STORE"),t.pushKey(i))},transformReply:void 0}});var nI=E(rI=>{"use strict";Object.defineProperty(rI,"__esModule",{value:!0});rI.parseGeoRadiusByMemberArguments=void 0;var wor=lg();function _Fe(t,e,r,n,s,i){t.pushKey(e),t.push(r,n.toString(),s),(0,wor.parseGeoSearchOptions)(t,i)}rI.parseGeoRadiusByMemberArguments=_Fe;rI.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("GEORADIUSBYMEMBER"),_Fe(t,e,r,n,s,i)},transformReply:void 0}});var gJ=E(dg=>{"use strict";var SFe=dg&&dg.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dg,"__esModule",{value:!0});dg.parseGeoRadiusByMemberWithArguments=void 0;var Ror=SFe(nI()),Nor=lg(),Oor=SFe(eI());function vFe(t,e,r,n,s,i,a){t.pushKey(e),t.push(r,n.toString(),s),(0,Nor.parseGeoSearchOptions)(t,a),t.push(...i),t.preserve=i}dg.parseGeoRadiusByMemberWithArguments=vFe;dg.default={IS_READ_ONLY:Ror.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUSBYMEMBER"),vFe(t,e,r,n,s,i,a)},transformReply:Oor.default.transformReply}});var IFe=E(bf=>{"use strict";var Por=bf&&bf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Dor=bf&&bf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),kor=bf&&bf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Por(e,t,r);return Dor(e,t),e};Object.defineProperty(bf,"__esModule",{value:!0});var CFe=kor(gJ());bf.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUSBYMEMBER_RO"),(0,CFe.parseGeoRadiusByMemberWithArguments)(...t)},transformReply:CFe.default.transformReply}});var wFe=E(Ef=>{"use strict";var Lor=Ef&&Ef.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Bor=Ef&&Ef.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Mor=Ef&&Ef.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Lor(e,t,r);return Bor(e,t),e};Object.defineProperty(Ef,"__esModule",{value:!0});var TFe=Mor(nI());Ef.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUSBYMEMBER_RO"),(0,TFe.parseGeoRadiusByMemberArguments)(...t)},transformReply:TFe.default.transformReply}});var NFe=E(_f=>{"use strict";var Wor=_f&&_f.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),$or=_f&&_f.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),For=_f&&_f.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Wor(e,t,r);return $or(e,t),e};Object.defineProperty(_f,"__esModule",{value:!0});var RFe=For(nI());_f.default={IS_READ_ONLY:RFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUSBYMEMBER"),(0,RFe.parseGeoRadiusByMemberArguments)(t,e,r,n,s,a),a?.STOREDIST?(t.push("STOREDIST"),t.pushKey(i)):(t.push("STORE"),t.pushKey(i))},transformReply:void 0}});var OFe=E(AJ=>{"use strict";Object.defineProperty(AJ,"__esModule",{value:!0});var Uor=lg();AJ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("GEOSEARCHSTORE"),e!==void 0&&t.pushKey(e),(0,Uor.parseGeoSearchArguments)(t,r,n,s,i),i?.STOREDIST&&t.push("STOREDIST")},transformReply:void 0}});var PFe=E(yJ=>{"use strict";Object.defineProperty(yJ,"__esModule",{value:!0});yJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("GET"),t.pushKey(e)},transformReply:void 0}});var DFe=E(xJ=>{"use strict";Object.defineProperty(xJ,"__esModule",{value:!0});xJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GETBIT"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var kFe=E(bJ=>{"use strict";Object.defineProperty(bJ,"__esModule",{value:!0});bJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("GETDEL"),t.pushKey(e)},transformReply:void 0}});var LFe=E(_J=>{"use strict";Object.defineProperty(_J,"__esModule",{value:!0});var EJ=Ie();_J.default={IS_READ_ONLY:!0,parseCommand(t,e,r){if(t.push("GETEX"),t.pushKey(e),"type"in r)switch(r.type){case"EX":case"PX":t.push(r.type,r.value.toString());break;case"EXAT":case"PXAT":t.push(r.type,(0,EJ.transformEXAT)(r.value));break;case"PERSIST":t.push("PERSIST");break}else"EX"in r?t.push("EX",r.EX.toString()):"PX"in r?t.push("PX",r.PX.toString()):"EXAT"in r?t.push("EXAT",(0,EJ.transformEXAT)(r.EXAT)):"PXAT"in r?t.push("PXAT",(0,EJ.transformPXAT)(r.PXAT)):t.push("PERSIST")},transformReply:void 0}});var BFe=E(SJ=>{"use strict";Object.defineProperty(SJ,"__esModule",{value:!0});SJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("GETRANGE"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var MFe=E(vJ=>{"use strict";Object.defineProperty(vJ,"__esModule",{value:!0});vJ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GETSET"),t.pushKey(e),t.push(r)},transformReply:void 0}});var WFe=E(CJ=>{"use strict";Object.defineProperty(CJ,"__esModule",{value:!0});CJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("EXISTS"),t.pushKeys(e)},transformReply:void 0}});var $Fe=E(IJ=>{"use strict";Object.defineProperty(IJ,"__esModule",{value:!0});IJ.default={parseCommand(t,e,r,n){t.push("EXPIRE"),t.pushKey(e),t.push(r.toString()),n&&t.push(n)},transformReply:void 0}});var FFe=E(TJ=>{"use strict";Object.defineProperty(TJ,"__esModule",{value:!0});var qor=Ie();TJ.default={parseCommand(t,e,r,n){t.push("EXPIREAT"),t.pushKey(e),t.push((0,qor.transformEXAT)(r)),n&&t.push(n)},transformReply:void 0}});var UFe=E(wJ=>{"use strict";Object.defineProperty(wJ,"__esModule",{value:!0});wJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("EXPIRETIME"),t.pushKey(e)},transformReply:void 0}});var qFe=E(sI=>{"use strict";Object.defineProperty(sI,"__esModule",{value:!0});sI.REDIS_FLUSH_MODES=void 0;sI.REDIS_FLUSH_MODES={ASYNC:"ASYNC",SYNC:"SYNC"};sI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FLUSHALL"),e&&t.push(e)},transformReply:void 0}});var jFe=E(RJ=>{"use strict";Object.defineProperty(RJ,"__esModule",{value:!0});RJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FLUSHDB"),e&&t.push(e)},transformReply:void 0}});var QFe=E(Sf=>{"use strict";var jor=Sf&&Sf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Hor=Sf&&Sf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Qor=Sf&&Sf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&jor(e,t,r);return Hor(e,t),e};Object.defineProperty(Sf,"__esModule",{value:!0});var HFe=Qor(cg());Sf.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("FCALL"),(0,HFe.parseEvalArguments)(...t)},transformReply:HFe.default.transformReply}});var VFe=E(vf=>{"use strict";var Gor=vf&&vf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Vor=vf&&vf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),zor=vf&&vf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Gor(e,t,r);return Vor(e,t),e};Object.defineProperty(vf,"__esModule",{value:!0});var GFe=zor(cg());vf.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("FCALL_RO"),(0,GFe.parseEvalArguments)(...t)},transformReply:GFe.default.transformReply}});var zFe=E(NJ=>{"use strict";Object.defineProperty(NJ,"__esModule",{value:!0});NJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FUNCTION","DELETE",e)},transformReply:void 0}});var KFe=E(OJ=>{"use strict";Object.defineProperty(OJ,"__esModule",{value:!0});OJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FUNCTION","DUMP")},transformReply:void 0}});var YFe=E(PJ=>{"use strict";Object.defineProperty(PJ,"__esModule",{value:!0});PJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FUNCTION","FLUSH"),e&&t.push(e)},transformReply:void 0}});var JFe=E(DJ=>{"use strict";Object.defineProperty(DJ,"__esModule",{value:!0});DJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FUNCTION","KILL")},transformReply:void 0}});var LJ=E(kJ=>{"use strict";Object.defineProperty(kJ,"__esModule",{value:!0});kJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FUNCTION","LIST"),e?.LIBRARYNAME&&t.push("LIBRARYNAME",e.LIBRARYNAME)},transformReply:{2:t=>t.map(e=>{let r=e;return{library_name:r[1],engine:r[3],functions:r[5].map(n=>{let s=n;return{name:s[1],description:s[3],flags:s[5]}})}}),3:void 0}}});var XFe=E(iI=>{"use strict";var Kor=iI&&iI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iI,"__esModule",{value:!0});var BJ=Kor(LJ());iI.default={NOT_KEYED_COMMAND:BJ.default.NOT_KEYED_COMMAND,IS_READ_ONLY:BJ.default.IS_READ_ONLY,parseCommand(...t){BJ.default.parseCommand(...t),t[0].push("WITHCODE")},transformReply:{2:t=>t.map(e=>{let r=e;return{library_name:r[1],engine:r[3],functions:r[5].map(n=>{let s=n;return{name:s[1],description:s[3],flags:s[5]}}),library_code:r[7]}}),3:void 0}}});var ZFe=E(MJ=>{"use strict";Object.defineProperty(MJ,"__esModule",{value:!0});MJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("FUNCTION","LOAD"),r?.REPLACE&&t.push("REPLACE"),t.push(e)},transformReply:void 0}});var eUe=E(WJ=>{"use strict";Object.defineProperty(WJ,"__esModule",{value:!0});WJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("FUNCTION","RESTORE",e),r?.mode&&t.push(r.mode)},transformReply:void 0}});var tUe=E($J=>{"use strict";Object.defineProperty($J,"__esModule",{value:!0});var Yor=Ie();$J.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FUNCTION","STATS")},transformReply:{2:t=>({running_script:Jor(t[1]),engines:Xor(t[3])}),3:void 0}};function Jor(t){if((0,Yor.isNullReply)(t))return null;let e=t;return{name:e[1],command:e[3],duration_ms:e[5]}}function Xor(t){let e=t,r=Object.create(null);for(let n=0;n<e.length;n++){let s=e[n],i=e[++n],a=i;r[s.toString()]={libraries_count:a[1],functions_count:a[3]}}return r}});var rUe=E(FJ=>{"use strict";Object.defineProperty(FJ,"__esModule",{value:!0});FJ.default={parseCommand(t,e,r){t.push("HDEL"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var qJ=E(UJ=>{"use strict";Object.defineProperty(UJ,"__esModule",{value:!0});UJ.default={parseCommand(t,e,r){t.push("HELLO"),e&&(t.push(e.toString()),r?.AUTH&&t.push("AUTH",r.AUTH.username,r.AUTH.password),r?.SETNAME&&t.push("SETNAME",r.SETNAME))},transformReply:{2:t=>({server:t[1],version:t[3],proto:t[5],id:t[7],mode:t[9],role:t[11],modules:t[13]}),3:void 0}}});var nUe=E(jJ=>{"use strict";Object.defineProperty(jJ,"__esModule",{value:!0});jJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HEXISTS"),t.pushKey(e),t.push(r)},transformReply:void 0}});var sUe=E(aI=>{"use strict";Object.defineProperty(aI,"__esModule",{value:!0});aI.HASH_EXPIRATION=void 0;aI.HASH_EXPIRATION={FIELD_NOT_EXISTS:-2,CONDITION_NOT_MET:0,UPDATED:1,DELETED:2};aI.default={parseCommand(t,e,r,n,s){t.push("HEXPIRE"),t.pushKey(e),t.push(n.toString()),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var iUe=E(HJ=>{"use strict";Object.defineProperty(HJ,"__esModule",{value:!0});var Zor=Ie();HJ.default={parseCommand(t,e,r,n,s){t.push("HEXPIREAT"),t.pushKey(e),t.push((0,Zor.transformEXAT)(n)),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var aUe=E(oI=>{"use strict";Object.defineProperty(oI,"__esModule",{value:!0});oI.HASH_EXPIRATION_TIME=void 0;oI.HASH_EXPIRATION_TIME={FIELD_NOT_EXISTS:-2,NO_EXPIRATION:-1};oI.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HEXPIRETIME"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var oUe=E(QJ=>{"use strict";Object.defineProperty(QJ,"__esModule",{value:!0});QJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HGET"),t.pushKey(e),t.push(r)},transformReply:void 0}});var cUe=E(GJ=>{"use strict";Object.defineProperty(GJ,"__esModule",{value:!0});var ecr=Ie();GJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HGETALL"),t.pushKey(e)},TRANSFORM_LEGACY_REPLY:!0,transformReply:{2:ecr.transformTuplesReply,3:void 0}}});var uUe=E(VJ=>{"use strict";Object.defineProperty(VJ,"__esModule",{value:!0});VJ.default={parseCommand(t,e,r){t.push("HGETDEL"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var lUe=E(zJ=>{"use strict";Object.defineProperty(zJ,"__esModule",{value:!0});zJ.default={parseCommand(t,e,r,n){t.push("HGETEX"),t.pushKey(e),n?.expiration&&(typeof n.expiration=="string"?t.push(n.expiration):n.expiration.type==="PERSIST"?t.push("PERSIST"):t.push(n.expiration.type,n.expiration.value.toString())),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var dUe=E(KJ=>{"use strict";Object.defineProperty(KJ,"__esModule",{value:!0});KJ.default={parseCommand(t,e,r,n){t.push("HINCRBY"),t.pushKey(e),t.push(r,n.toString())},transformReply:void 0}});var fUe=E(YJ=>{"use strict";Object.defineProperty(YJ,"__esModule",{value:!0});YJ.default={parseCommand(t,e,r,n){t.push("HINCRBYFLOAT"),t.pushKey(e),t.push(r,n.toString())},transformReply:void 0}});var pUe=E(JJ=>{"use strict";Object.defineProperty(JJ,"__esModule",{value:!0});JJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HKEYS"),t.pushKey(e)},transformReply:void 0}});var mUe=E(XJ=>{"use strict";Object.defineProperty(XJ,"__esModule",{value:!0});XJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HLEN"),t.pushKey(e)},transformReply:void 0}});var hUe=E(ZJ=>{"use strict";Object.defineProperty(ZJ,"__esModule",{value:!0});ZJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HMGET"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var gUe=E(eX=>{"use strict";Object.defineProperty(eX,"__esModule",{value:!0});eX.default={parseCommand(t,e,r){t.push("HPERSIST"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var AUe=E(tX=>{"use strict";Object.defineProperty(tX,"__esModule",{value:!0});tX.default={parseCommand(t,e,r,n,s){t.push("HPEXPIRE"),t.pushKey(e),t.push(n.toString()),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var yUe=E(rX=>{"use strict";Object.defineProperty(rX,"__esModule",{value:!0});var tcr=Ie();rX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("HPEXPIREAT"),t.pushKey(e),t.push((0,tcr.transformPXAT)(n)),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var xUe=E(nX=>{"use strict";Object.defineProperty(nX,"__esModule",{value:!0});nX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HPEXPIRETIME"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var bUe=E(sX=>{"use strict";Object.defineProperty(sX,"__esModule",{value:!0});sX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HPTTL"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var EUe=E(iX=>{"use strict";Object.defineProperty(iX,"__esModule",{value:!0});iX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HRANDFIELD"),t.pushKey(e),t.push(r.toString(),"WITHVALUES")},transformReply:{2:t=>{let e=[],r=0;for(;r<t.length;)e.push({field:t[r++],value:t[r++]});return e},3:t=>t.map(e=>{let[r,n]=e;return{field:r,value:n}})}}});var _Ue=E(aX=>{"use strict";Object.defineProperty(aX,"__esModule",{value:!0});aX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HRANDFIELD"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var SUe=E(oX=>{"use strict";Object.defineProperty(oX,"__esModule",{value:!0});oX.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("HRANDFIELD"),t.pushKey(e)},transformReply:void 0}});var cI=E(fg=>{"use strict";Object.defineProperty(fg,"__esModule",{value:!0});fg.pushScanArguments=fg.parseScanArguments=void 0;function vUe(t,e,r){t.push(e),r?.MATCH&&t.push("MATCH",r.MATCH),r?.COUNT&&t.push("COUNT",r.COUNT.toString())}fg.parseScanArguments=vUe;function rcr(t,e,r){return t.push(e.toString()),r?.MATCH&&t.push("MATCH",r.MATCH),r?.COUNT&&t.push("COUNT",r.COUNT.toString()),t}fg.pushScanArguments=rcr;fg.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SCAN"),vUe(t,e,r),r?.TYPE&&t.push("TYPE",r.TYPE)},transformReply([t,e]){return{cursor:t,keys:e}}}});var uX=E(cX=>{"use strict";Object.defineProperty(cX,"__esModule",{value:!0});var ncr=cI();cX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("HSCAN"),t.pushKey(e),(0,ncr.parseScanArguments)(t,r,n)},transformReply([t,e]){let r=[],n=0;for(;n<e.length;)r.push({field:e[n++],value:e[n++]});return{cursor:t,entries:r}}}});var CUe=E(uI=>{"use strict";var scr=uI&&uI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uI,"__esModule",{value:!0});var icr=scr(uX());uI.default={IS_READ_ONLY:!0,parseCommand(...t){let e=t[0];icr.default.parseCommand(...t),e.push("NOVALUES")},transformReply([t,e]){return{cursor:t,fields:e}}}});var TUe=E(lX=>{"use strict";Object.defineProperty(lX,"__esModule",{value:!0});lX.default={parseCommand(t,...[e,r,n]){t.push("HSET"),t.pushKey(e),typeof r=="string"||typeof r=="number"||r instanceof Buffer?t.push(pg(r),pg(n)):r instanceof Map?acr(t,r):Array.isArray(r)?IUe(t,r):ocr(t,r)},transformReply:void 0};function acr(t,e){for(let[r,n]of e.entries())t.push(pg(r),pg(n))}function IUe(t,e){for(let r of e){if(Array.isArray(r)){IUe(t,r);continue}t.push(pg(r))}}function ocr(t,e){for(let r of Object.keys(e))t.push(pg(r),pg(e[r]))}function pg(t){return typeof t=="number"?t.toString():t}});var RUe=E(dX=>{"use strict";Object.defineProperty(dX,"__esModule",{value:!0});var ccr=Dl();dX.default={parseCommand(t,e,r,n){t.push("HSETEX"),t.pushKey(e),n?.mode&&t.push(n.mode),n?.expiration&&(typeof n.expiration=="string"?t.push(n.expiration):n.expiration.type==="KEEPTTL"?t.push("KEEPTTL"):t.push(n.expiration.type,n.expiration.value.toString())),t.push("FIELDS"),r instanceof Map?ucr(t,r):Array.isArray(r)?lcr(t,r):dcr(t,r)},transformReply:void 0};function ucr(t,e){t.push(e.size.toString());for(let[r,n]of e.entries())t.push(lI(r),lI(n))}function lcr(t,e){let r=new ccr.BasicCommandParser;if(wUe(r,e),r.redisArgs.length%2!=0)throw Error("invalid number of arguments, expected key value ....[key value] pairs, got key without value");t.push((r.redisArgs.length/2).toString()),t.push(...r.redisArgs)}function wUe(t,e){for(let r of e){if(Array.isArray(r)){wUe(t,r);continue}t.push(lI(r))}}function dcr(t,e){let r=Object.keys(e).length;if(r==0)throw Error("object without keys");t.push(r.toString());for(let n of Object.keys(e))t.push(lI(n),lI(e[n]))}function lI(t){return typeof t=="number"?t.toString():t}});var NUe=E(fX=>{"use strict";Object.defineProperty(fX,"__esModule",{value:!0});fX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("HSETNX"),t.pushKey(e),t.push(r,n)},transformReply:void 0}});var OUe=E(pX=>{"use strict";Object.defineProperty(pX,"__esModule",{value:!0});pX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HSTRLEN"),t.pushKey(e),t.push(r)},transformReply:void 0}});var PUe=E(mX=>{"use strict";Object.defineProperty(mX,"__esModule",{value:!0});mX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HTTL"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var DUe=E(hX=>{"use strict";Object.defineProperty(hX,"__esModule",{value:!0});hX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HVALS"),t.pushKey(e)},transformReply:void 0}});var LUe=E(gX=>{"use strict";Object.defineProperty(gX,"__esModule",{value:!0});function kUe(t){let e=[];for(let r=0;r<t.length;r+=2)e.push({key:t[r].toString(),value:Number(t[r+1])});return e}function fcr(t){return t.map(e=>{let r=e;return r.length===1?{start:Number(r[0]),end:Number(r[0])}:{start:Number(r[0]),end:Number(r[1])}})}function pcr(t){let e={},r=t[0];for(let n=0;n<r.length;n+=2){let s=r[n].toString(),i=r[n+1];switch(s){case"tracking-active":e.trackingActive=Number(i);break;case"sample-ratio":e.sampleRatio=Number(i);break;case"selected-slots":e.selectedSlots=fcr(i);break;case"sampled-commands-selected-slots-us":e.sampledCommandsSelectedSlotsUs=Number(i);break;case"all-commands-selected-slots-us":e.allCommandsSelectedSlotsUs=Number(i);break;case"all-commands-all-slots-us":e.allCommandsAllSlotsUs=Number(i);break;case"net-bytes-sampled-commands-selected-slots":e.netBytesSampledCommandsSelectedSlots=Number(i);break;case"net-bytes-all-commands-selected-slots":e.netBytesAllCommandsSelectedSlots=Number(i);break;case"net-bytes-all-commands-all-slots":e.netBytesAllCommandsAllSlots=Number(i);break;case"collection-start-time-unix-ms":e.collectionStartTimeUnixMs=Number(i);break;case"collection-duration-ms":e.collectionDurationMs=Number(i);break;case"total-cpu-time-sys-ms":e.totalCpuTimeSysMs=Number(i);break;case"total-cpu-time-user-ms":e.totalCpuTimeUserMs=Number(i);break;case"total-net-bytes":e.totalNetBytes=Number(i);break;case"by-cpu-time-us":e.byCpuTimeUs=kUe(i);break;case"by-net-bytes":e.byNetBytes=kUe(i);break}}return e}gX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("HOTKEYS","GET")},transformReply:{2:t=>t===null?null:pcr(t),3:void 0},unstableResp3:!0}});var BUe=E(AX=>{"use strict";Object.defineProperty(AX,"__esModule",{value:!0});AX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t){t.push("HOTKEYS","RESET")},transformReply:void 0}});var MUe=E(dI=>{"use strict";Object.defineProperty(dI,"__esModule",{value:!0});dI.HOTKEYS_METRICS=void 0;dI.HOTKEYS_METRICS={CPU:"CPU",NET:"NET"};dI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){if(t.push("HOTKEYS","START"),t.push("METRICS",e.METRICS.count.toString()),e.METRICS.CPU&&t.push("CPU"),e.METRICS.NET&&t.push("NET"),e.COUNT!==void 0&&t.push("COUNT",e.COUNT.toString()),e.DURATION!==void 0&&t.push("DURATION",e.DURATION.toString()),e.SAMPLE!==void 0&&t.push("SAMPLE",e.SAMPLE.toString()),e.SLOTS!==void 0){t.push("SLOTS",e.SLOTS.count.toString());for(let r of e.SLOTS.slots)t.push(r.toString())}},transformReply:void 0}});var WUe=E(yX=>{"use strict";Object.defineProperty(yX,"__esModule",{value:!0});yX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t){t.push("HOTKEYS","STOP")},transformReply:void 0}});var $Ue=E(xX=>{"use strict";Object.defineProperty(xX,"__esModule",{value:!0});xX.default={parseCommand(t,e){t.push("INCR"),t.pushKey(e)},transformReply:void 0}});var FUe=E(bX=>{"use strict";Object.defineProperty(bX,"__esModule",{value:!0});bX.default={parseCommand(t,e,r){t.push("INCRBY"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var UUe=E(EX=>{"use strict";Object.defineProperty(EX,"__esModule",{value:!0});EX.default={parseCommand(t,e,r){t.push("INCRBYFLOAT"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var qUe=E(_X=>{"use strict";Object.defineProperty(_X,"__esModule",{value:!0});_X.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("INFO"),e&&t.push(e)},transformReply:void 0}});var jUe=E(SX=>{"use strict";Object.defineProperty(SX,"__esModule",{value:!0});SX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("KEYS",e)},transformReply:void 0}});var HUe=E(vX=>{"use strict";Object.defineProperty(vX,"__esModule",{value:!0});vX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("LASTSAVE")},transformReply:void 0}});var QUe=E(CX=>{"use strict";Object.defineProperty(CX,"__esModule",{value:!0});CX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("LATENCY","DOCTOR")},transformReply:void 0}});var IX=E(fI=>{"use strict";Object.defineProperty(fI,"__esModule",{value:!0});fI.LATENCY_EVENTS=void 0;fI.LATENCY_EVENTS={ACTIVE_DEFRAG_CYCLE:"active-defrag-cycle",AOF_FSYNC_ALWAYS:"aof-fsync-always",AOF_STAT:"aof-stat",AOF_REWRITE_DIFF_WRITE:"aof-rewrite-diff-write",AOF_RENAME:"aof-rename",AOF_WRITE:"aof-write",AOF_WRITE_ACTIVE_CHILD:"aof-write-active-child",AOF_WRITE_ALONE:"aof-write-alone",AOF_WRITE_PENDING_FSYNC:"aof-write-pending-fsync",COMMAND:"command",EXPIRE_CYCLE:"expire-cycle",EVICTION_CYCLE:"eviction-cycle",EVICTION_DEL:"eviction-del",FAST_COMMAND:"fast-command",FORK:"fork",RDB_UNLINK_TEMP_FILE:"rdb-unlink-temp-file"};fI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("LATENCY","GRAPH",e)},transformReply:void 0}});var GUe=E(TX=>{"use strict";Object.defineProperty(TX,"__esModule",{value:!0});TX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("LATENCY","HISTORY",e)},transformReply:void 0}});var VUe=E(wX=>{"use strict";Object.defineProperty(wX,"__esModule",{value:!0});wX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("LATENCY","LATEST")},transformReply:void 0}});var zUe=E(pI=>{"use strict";Object.defineProperty(pI,"__esModule",{value:!0});pI.LATENCY_EVENTS=void 0;var mcr=IX();Object.defineProperty(pI,"LATENCY_EVENTS",{enumerable:!0,get:function(){return mcr.LATENCY_EVENTS}});pI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,...e){let r=["LATENCY","RESET"];e.length>0&&r.push(...e),t.push(...r)},transformReply:void 0}});var aB=E(RX=>{"use strict";Object.defineProperty(RX,"__esModule",{value:!0});RX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("LCS"),t.pushKeys([e,r])},transformReply:void 0}});var NX=E(mI=>{"use strict";var hcr=mI&&mI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mI,"__esModule",{value:!0});var KUe=hcr(aB());mI.default={IS_READ_ONLY:KUe.default.IS_READ_ONLY,parseCommand(t,e,r,n){KUe.default.parseCommand(t,e,r),t.push("IDX"),n?.MINMATCHLEN&&t.push("MINMATCHLEN",n.MINMATCHLEN.toString())},transformReply:{2:t=>({matches:t[1],len:t[3]}),3:void 0}}});var JUe=E(hI=>{"use strict";var gcr=hI&&hI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hI,"__esModule",{value:!0});var YUe=gcr(NX());hI.default={IS_READ_ONLY:YUe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];YUe.default.parseCommand(...t),e.push("WITHMATCHLEN")},transformReply:{2:t=>({matches:t[1],len:t[3]}),3:void 0}}});var ZUe=E(gI=>{"use strict";var Acr=gI&&gI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gI,"__esModule",{value:!0});var XUe=Acr(aB());gI.default={IS_READ_ONLY:XUe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];XUe.default.parseCommand(...t),e.push("LEN")},transformReply:void 0}});var e7e=E(OX=>{"use strict";Object.defineProperty(OX,"__esModule",{value:!0});OX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("LINDEX"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var t7e=E(PX=>{"use strict";Object.defineProperty(PX,"__esModule",{value:!0});PX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("LINSERT"),t.pushKey(e),t.push(r,n,s)},transformReply:void 0}});var r7e=E(DX=>{"use strict";Object.defineProperty(DX,"__esModule",{value:!0});DX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("LLEN"),t.pushKey(e)},transformReply:void 0}});var n7e=E(kX=>{"use strict";Object.defineProperty(kX,"__esModule",{value:!0});kX.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("LMOVE"),t.pushKeys([e,r]),t.push(n,s)},transformReply:void 0}});var s7e=E(LX=>{"use strict";Object.defineProperty(LX,"__esModule",{value:!0});LX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,...r){t.push("LOLWUT"),e&&(t.push("VERSION",e.toString()),t.pushVariadic(r.map(String)))},transformReply:void 0}});var MX=E(BX=>{"use strict";Object.defineProperty(BX,"__esModule",{value:!0});BX.default={parseCommand(t,e){t.push("LPOP"),t.pushKey(e)},transformReply:void 0}});var i7e=E(AI=>{"use strict";var ycr=AI&&AI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(AI,"__esModule",{value:!0});var xcr=ycr(MX());AI.default={IS_READ_ONLY:!1,parseCommand(t,e,r){xcr.default.parseCommand(t,e),t.push(r.toString())},transformReply:void 0}});var $X=E(WX=>{"use strict";Object.defineProperty(WX,"__esModule",{value:!0});WX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LPOS"),t.pushKey(e),t.push(r),n?.RANK!==void 0&&t.push("RANK",n.RANK.toString()),n?.MAXLEN!==void 0&&t.push("MAXLEN",n.MAXLEN.toString())},transformReply:void 0}});var a7e=E(yI=>{"use strict";var bcr=yI&&yI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yI,"__esModule",{value:!0});var FX=bcr($X());yI.default={CACHEABLE:FX.default.CACHEABLE,IS_READ_ONLY:FX.default.IS_READ_ONLY,parseCommand(t,e,r,n,s){FX.default.parseCommand(t,e,r,s),t.push("COUNT",n.toString())},transformReply:void 0}});var o7e=E(UX=>{"use strict";Object.defineProperty(UX,"__esModule",{value:!0});UX.default={parseCommand(t,e,r){t.push("LPUSH"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var c7e=E(qX=>{"use strict";Object.defineProperty(qX,"__esModule",{value:!0});qX.default={parseCommand(t,e,r){t.push("LPUSHX"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var u7e=E(jX=>{"use strict";Object.defineProperty(jX,"__esModule",{value:!0});jX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LRANGE"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var l7e=E(HX=>{"use strict";Object.defineProperty(HX,"__esModule",{value:!0});HX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LREM"),t.pushKey(e),t.push(r.toString()),t.push(n)},transformReply:void 0}});var d7e=E(QX=>{"use strict";Object.defineProperty(QX,"__esModule",{value:!0});QX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LSET"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var f7e=E(GX=>{"use strict";Object.defineProperty(GX,"__esModule",{value:!0});GX.default={parseCommand(t,e,r,n){t.push("LTRIM"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var p7e=E(VX=>{"use strict";Object.defineProperty(VX,"__esModule",{value:!0});VX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MEMORY","DOCTOR")},transformReply:void 0}});var m7e=E(zX=>{"use strict";Object.defineProperty(zX,"__esModule",{value:!0});zX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MEMORY","MALLOC-STATS")},transformReply:void 0}});var h7e=E(KX=>{"use strict";Object.defineProperty(KX,"__esModule",{value:!0});KX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t){t.push("MEMORY","PURGE")},transformReply:void 0}});var g7e=E(YX=>{"use strict";Object.defineProperty(YX,"__esModule",{value:!0});var Ecr=Ie();YX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MEMORY","STATS")},transformReply:{2:(t,e,r)=>{let n={},s=0;for(;s<t.length;)switch(t[s].toString()){case"dataset.percentage":case"peak.percentage":case"allocator-fragmentation.ratio":case"allocator-rss.ratio":case"rss-overhead.ratio":case"fragmentation":n[t[s++]]=Ecr.transformDoubleReply[2](t[s++],e,r);break;default:n[t[s++]]=t[s++]}return n},3:void 0}}});var A7e=E(JX=>{"use strict";Object.defineProperty(JX,"__esModule",{value:!0});JX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("MEMORY","USAGE"),t.pushKey(e),r?.SAMPLES&&t.push("SAMPLES",r.SAMPLES.toString())},transformReply:void 0}});var y7e=E(XX=>{"use strict";Object.defineProperty(XX,"__esModule",{value:!0});XX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("MGET"),t.pushKeys(e)},transformReply:void 0}});var x7e=E(ZX=>{"use strict";Object.defineProperty(ZX,"__esModule",{value:!0});ZX.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i,a){t.push("MIGRATE",e,r.toString());let o=Array.isArray(n);o?t.push(""):t.push(n),t.push(s.toString(),i.toString()),a?.COPY&&t.push("COPY"),a?.REPLACE&&t.push("REPLACE"),a?.AUTH&&(a.AUTH.username?t.push("AUTH2",a.AUTH.username,a.AUTH.password):t.push("AUTH",a.AUTH.password)),o&&(t.push("KEYS"),t.pushVariadic(n))},transformReply:void 0}});var b7e=E(eZ=>{"use strict";Object.defineProperty(eZ,"__esModule",{value:!0});eZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MODULE","LIST")},transformReply:{2:t=>t.map(e=>{let r=e;return{name:r[1],ver:r[3]}}),3:void 0}}});var E7e=E(tZ=>{"use strict";Object.defineProperty(tZ,"__esModule",{value:!0});tZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("MODULE","LOAD",e),r&&t.push(...r)},transformReply:void 0}});var _7e=E(rZ=>{"use strict";Object.defineProperty(rZ,"__esModule",{value:!0});rZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("MODULE","UNLOAD",e)},transformReply:void 0}});var S7e=E(nZ=>{"use strict";Object.defineProperty(nZ,"__esModule",{value:!0});nZ.default={parseCommand(t,e,r){t.push("MOVE"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var sZ=E(xI=>{"use strict";Object.defineProperty(xI,"__esModule",{value:!0});xI.parseMSetArguments=void 0;function v7e(t,e){if(Array.isArray(e)){if(e.length==0)throw new Error("empty toSet Argument");if(Array.isArray(e[0]))for(let r of e)t.pushKey(r[0]),t.push(r[1]);else{let r=e;for(let n=0;n<r.length;n+=2)t.pushKey(r[n]),t.push(r[n+1])}}else for(let r of Object.entries(e))t.pushKey(r[0]),t.push(r[1])}xI.parseMSetArguments=v7e;xI.default={IS_READ_ONLY:!0,parseCommand(t,e){return t.push("MSET"),v7e(t,e)},transformReply:void 0}});var T7e=E(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.parseMSetExArguments=yi.ExpirationMode=yi.SetMode=void 0;var C7e=Ie();yi.SetMode={XX:"XX",NX:"NX"};yi.ExpirationMode={EX:"EX",PX:"PX",EXAT:"EXAT",PXAT:"PXAT",KEEPTTL:"KEEPTTL"};function I7e(t,e){let r=[];if(Array.isArray(e)){if(e.length==0)throw new Error("empty keyValuePairs Argument");if(Array.isArray(e[0]))r=e;else{let n=e;for(let s=0;s<n.length;s+=2)r.push([n[s],n[s+1]])}}else for(let n of Object.entries(e))r.push([n[0],n[1]]);t.push(r.length.toString());for(let n of r)t.pushKey(n[0]),t.push(n[1])}yi.parseMSetExArguments=I7e;yi.default={parseCommand(t,e,r){if(t.push("MSETEX"),I7e(t,e),r?.mode&&t.push(r.mode),r?.expiration)switch(r.expiration.type){case yi.ExpirationMode.EXAT:t.push(yi.ExpirationMode.EXAT,(0,C7e.transformEXAT)(r.expiration.value));break;case yi.ExpirationMode.PXAT:t.push(yi.ExpirationMode.PXAT,(0,C7e.transformPXAT)(r.expiration.value));break;case yi.ExpirationMode.KEEPTTL:t.push(yi.ExpirationMode.KEEPTTL);break;case yi.ExpirationMode.EX:case yi.ExpirationMode.PX:t.push(r.expiration.type,r.expiration.value?.toString());break}},transformReply:void 0}});var w7e=E(iZ=>{"use strict";Object.defineProperty(iZ,"__esModule",{value:!0});var _cr=sZ();iZ.default={IS_READ_ONLY:!0,parseCommand(t,e){return t.push("MSETNX"),(0,_cr.parseMSetArguments)(t,e)},transformReply:void 0}});var R7e=E(aZ=>{"use strict";Object.defineProperty(aZ,"__esModule",{value:!0});aZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","ENCODING"),t.pushKey(e)},transformReply:void 0}});var N7e=E(oZ=>{"use strict";Object.defineProperty(oZ,"__esModule",{value:!0});oZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","FREQ"),t.pushKey(e)},transformReply:void 0}});var O7e=E(cZ=>{"use strict";Object.defineProperty(cZ,"__esModule",{value:!0});cZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","IDLETIME"),t.pushKey(e)},transformReply:void 0}});var P7e=E(uZ=>{"use strict";Object.defineProperty(uZ,"__esModule",{value:!0});uZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","REFCOUNT"),t.pushKey(e)},transformReply:void 0}});var D7e=E(lZ=>{"use strict";Object.defineProperty(lZ,"__esModule",{value:!0});lZ.default={parseCommand(t,e){t.push("PERSIST"),t.pushKey(e)},transformReply:void 0}});var k7e=E(dZ=>{"use strict";Object.defineProperty(dZ,"__esModule",{value:!0});dZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("PEXPIRE"),t.pushKey(e),t.push(r.toString()),n&&t.push(n)},transformReply:void 0}});var L7e=E(fZ=>{"use strict";Object.defineProperty(fZ,"__esModule",{value:!0});var Scr=Ie();fZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("PEXPIREAT"),t.pushKey(e),t.push((0,Scr.transformPXAT)(r)),n&&t.push(n)},transformReply:void 0}});var B7e=E(pZ=>{"use strict";Object.defineProperty(pZ,"__esModule",{value:!0});pZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PEXPIRETIME"),t.pushKey(e)},transformReply:void 0}});var M7e=E(mZ=>{"use strict";Object.defineProperty(mZ,"__esModule",{value:!0});mZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("PFADD"),t.pushKey(e),r&&t.pushVariadic(r)},transformReply:void 0}});var W7e=E(hZ=>{"use strict";Object.defineProperty(hZ,"__esModule",{value:!0});hZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PFCOUNT"),t.pushKeys(e)},transformReply:void 0}});var $7e=E(gZ=>{"use strict";Object.defineProperty(gZ,"__esModule",{value:!0});gZ.default={parseCommand(t,e,r){t.push("PFMERGE"),t.pushKey(e),r&&t.pushKeys(r)},transformReply:void 0}});var F7e=E(AZ=>{"use strict";Object.defineProperty(AZ,"__esModule",{value:!0});AZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PING"),e&&t.push(e)},transformReply:void 0}});var U7e=E(yZ=>{"use strict";Object.defineProperty(yZ,"__esModule",{value:!0});yZ.default={parseCommand(t,e,r,n){t.push("PSETEX"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var q7e=E(xZ=>{"use strict";Object.defineProperty(xZ,"__esModule",{value:!0});xZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PTTL"),t.pushKey(e)},transformReply:void 0}});var j7e=E(bZ=>{"use strict";Object.defineProperty(bZ,"__esModule",{value:!0});bZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,IS_FORWARD_COMMAND:!0,parseCommand(t,e,r){t.push("PUBLISH",e,r)},transformReply:void 0}});var H7e=E(EZ=>{"use strict";Object.defineProperty(EZ,"__esModule",{value:!0});EZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","CHANNELS"),e&&t.push(e)},transformReply:void 0}});var Q7e=E(_Z=>{"use strict";Object.defineProperty(_Z,"__esModule",{value:!0});_Z.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("PUBSUB","NUMPAT")},transformReply:void 0}});var G7e=E(SZ=>{"use strict";Object.defineProperty(SZ,"__esModule",{value:!0});SZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","NUMSUB"),e&&t.pushVariadic(e)},transformReply(t){let e=Object.create(null),r=0;for(;r<t.length;)e[t[r++].toString()]=Number(t[r++]);return e}}});var V7e=E(vZ=>{"use strict";Object.defineProperty(vZ,"__esModule",{value:!0});vZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","SHARDNUMSUB"),e&&t.pushVariadic(e)},transformReply(t){let e=Object.create(null);for(let r=0;r<t.length;r+=2)e[t[r].toString()]=t[r+1];return e}}});var z7e=E(CZ=>{"use strict";Object.defineProperty(CZ,"__esModule",{value:!0});CZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","SHARDCHANNELS"),e&&t.push(e)},transformReply:void 0}});var K7e=E(IZ=>{"use strict";Object.defineProperty(IZ,"__esModule",{value:!0});IZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("RANDOMKEY")},transformReply:void 0}});var Y7e=E(TZ=>{"use strict";Object.defineProperty(TZ,"__esModule",{value:!0});TZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("READONLY")},transformReply:void 0}});var J7e=E(wZ=>{"use strict";Object.defineProperty(wZ,"__esModule",{value:!0});wZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("RENAME"),t.pushKeys([e,r])},transformReply:void 0}});var X7e=E(RZ=>{"use strict";Object.defineProperty(RZ,"__esModule",{value:!0});RZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("RENAMENX"),t.pushKeys([e,r])},transformReply:void 0}});var Z7e=E(NZ=>{"use strict";Object.defineProperty(NZ,"__esModule",{value:!0});NZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("REPLICAOF",e,r.toString())},transformReply:void 0}});var e9e=E(OZ=>{"use strict";Object.defineProperty(OZ,"__esModule",{value:!0});OZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("RESTORE-ASKING")},transformReply:void 0}});var t9e=E(PZ=>{"use strict";Object.defineProperty(PZ,"__esModule",{value:!0});PZ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("RESTORE"),t.pushKey(e),t.push(r.toString(),n),s?.REPLACE&&t.push("REPLACE"),s?.ABSTTL&&t.push("ABSTTL"),s?.IDLETIME&&t.push("IDLETIME",s.IDLETIME.toString()),s?.FREQ&&t.push("FREQ",s.FREQ.toString())},transformReply:void 0}});var r9e=E(DZ=>{"use strict";Object.defineProperty(DZ,"__esModule",{value:!0});DZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ROLE")},transformReply(t){switch(t[0]){case"master":{let[e,r,n]=t;return{role:e,replicationOffest:r,replicas:n.map(s=>{let[i,a,o]=s;return{host:i,port:Number(a),replicationOffest:Number(o)}})}}case"slave":{let[e,r,n,s,i]=t;return{role:e,master:{host:r,port:n},state:s,dataReceived:i}}case"sentinel":{let[e,r]=t;return{role:e,masterNames:r}}}}}});var n9e=E(kZ=>{"use strict";Object.defineProperty(kZ,"__esModule",{value:!0});kZ.default={parseCommand(t,e,r){t.push("RPOP"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var s9e=E(LZ=>{"use strict";Object.defineProperty(LZ,"__esModule",{value:!0});LZ.default={parseCommand(t,e){t.push("RPOP"),t.pushKey(e)},transformReply:void 0}});var i9e=E(BZ=>{"use strict";Object.defineProperty(BZ,"__esModule",{value:!0});BZ.default={parseCommand(t,e,r){t.push("RPOPLPUSH"),t.pushKeys([e,r])},transformReply:void 0}});var a9e=E(MZ=>{"use strict";Object.defineProperty(MZ,"__esModule",{value:!0});MZ.default={parseCommand(t,e,r){t.push("RPUSH"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var o9e=E(WZ=>{"use strict";Object.defineProperty(WZ,"__esModule",{value:!0});WZ.default={parseCommand(t,e,r){t.push("RPUSHX"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var c9e=E($Z=>{"use strict";Object.defineProperty($Z,"__esModule",{value:!0});$Z.default={parseCommand(t,e,r){t.push("SADD"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var u9e=E(FZ=>{"use strict";Object.defineProperty(FZ,"__esModule",{value:!0});FZ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCARD"),t.pushKey(e)},transformReply:void 0}});var l9e=E(UZ=>{"use strict";Object.defineProperty(UZ,"__esModule",{value:!0});UZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","DEBUG",e)},transformReply:void 0}});var d9e=E(qZ=>{"use strict";Object.defineProperty(qZ,"__esModule",{value:!0});qZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","EXISTS"),t.pushVariadic(e)},transformReply:void 0}});var f9e=E(jZ=>{"use strict";Object.defineProperty(jZ,"__esModule",{value:!0});jZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","FLUSH"),e&&t.push(e)},transformReply:void 0}});var p9e=E(HZ=>{"use strict";Object.defineProperty(HZ,"__esModule",{value:!0});HZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("SCRIPT","KILL")},transformReply:void 0}});var m9e=E(QZ=>{"use strict";Object.defineProperty(QZ,"__esModule",{value:!0});QZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","LOAD",e)},transformReply:void 0}});var h9e=E(GZ=>{"use strict";Object.defineProperty(GZ,"__esModule",{value:!0});GZ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SDIFF"),t.pushKeys(e)},transformReply:void 0}});var g9e=E(VZ=>{"use strict";Object.defineProperty(VZ,"__esModule",{value:!0});VZ.default={parseCommand(t,e,r){t.push("SDIFFSTORE"),t.pushKey(e),t.pushKeys(r)},transformReply:void 0}});var A9e=E(zZ=>{"use strict";Object.defineProperty(zZ,"__esModule",{value:!0});zZ.default={parseCommand(t,e,r,n){t.push("SET"),t.pushKey(e),t.push(typeof r=="number"?r.toString():r),n?.expiration?typeof n.expiration=="string"?t.push(n.expiration):n.expiration.type==="KEEPTTL"?t.push("KEEPTTL"):t.push(n.expiration.type,n.expiration.value.toString()):n?.EX!==void 0?t.push("EX",n.EX.toString()):n?.PX!==void 0?t.push("PX",n.PX.toString()):n?.EXAT!==void 0?t.push("EXAT",n.EXAT.toString()):n?.PXAT!==void 0?t.push("PXAT",n.PXAT.toString()):n?.KEEPTTL&&t.push("KEEPTTL"),n?.condition?(t.push(n.condition),n?.matchValue!==void 0&&t.push(n.matchValue)):n?.NX?t.push("NX"):n?.XX&&t.push("XX"),n?.GET&&t.push("GET")},transformReply:void 0}});var y9e=E(KZ=>{"use strict";Object.defineProperty(KZ,"__esModule",{value:!0});KZ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("SETBIT"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var x9e=E(YZ=>{"use strict";Object.defineProperty(YZ,"__esModule",{value:!0});YZ.default={parseCommand(t,e,r,n){t.push("SETEX"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var b9e=E(JZ=>{"use strict";Object.defineProperty(JZ,"__esModule",{value:!0});JZ.default={parseCommand(t,e,r){t.push("SETNX"),t.pushKey(e),t.push(r)},transformReply:void 0}});var E9e=E(XZ=>{"use strict";Object.defineProperty(XZ,"__esModule",{value:!0});XZ.default={parseCommand(t,e,r,n){t.push("SETRANGE"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var _9e=E(ZZ=>{"use strict";Object.defineProperty(ZZ,"__esModule",{value:!0});ZZ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SINTER"),t.pushKeys(e)},transformReply:void 0}});var S9e=E(eee=>{"use strict";Object.defineProperty(eee,"__esModule",{value:!0});eee.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SINTERCARD"),t.pushKeysLength(e),typeof r=="number"?t.push("LIMIT",r.toString()):r?.LIMIT!==void 0&&t.push("LIMIT",r.LIMIT.toString())},transformReply:void 0}});var v9e=E(tee=>{"use strict";Object.defineProperty(tee,"__esModule",{value:!0});tee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SINTERSTORE"),t.pushKey(e),t.pushKeys(r)},transformReply:void 0}});var C9e=E(ree=>{"use strict";Object.defineProperty(ree,"__esModule",{value:!0});ree.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SISMEMBER"),t.pushKey(e),t.push(r)},transformReply:void 0}});var I9e=E(nee=>{"use strict";Object.defineProperty(nee,"__esModule",{value:!0});nee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SMEMBERS"),t.pushKey(e)},transformReply:{2:void 0,3:void 0}}});var T9e=E(see=>{"use strict";Object.defineProperty(see,"__esModule",{value:!0});see.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SMISMEMBER"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var w9e=E(iee=>{"use strict";Object.defineProperty(iee,"__esModule",{value:!0});iee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("SMOVE"),t.pushKeys([e,r]),t.push(n)},transformReply:void 0}});var oB=E(bI=>{"use strict";Object.defineProperty(bI,"__esModule",{value:!0});bI.parseSortArguments=void 0;function R9e(t,e,r){if(t.pushKey(e),r?.BY&&t.push("BY",r.BY),r?.LIMIT&&t.push("LIMIT",r.LIMIT.offset.toString(),r.LIMIT.count.toString()),r?.GET)if(Array.isArray(r.GET))for(let n of r.GET)t.push("GET",n);else t.push("GET",r.GET);r?.DIRECTION&&t.push(r.DIRECTION),r?.ALPHA&&t.push("ALPHA")}bI.parseSortArguments=R9e;bI.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SORT"),R9e(t,e,r)},transformReply:void 0}});var O9e=E(Cf=>{"use strict";var vcr=Cf&&Cf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ccr=Cf&&Cf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Icr=Cf&&Cf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&vcr(e,t,r);return Ccr(e,t),e};Object.defineProperty(Cf,"__esModule",{value:!0});var N9e=Icr(oB());Cf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("SORT_RO"),(0,N9e.parseSortArguments)(...t)},transformReply:N9e.default.transformReply}});var P9e=E(EI=>{"use strict";var Tcr=EI&&EI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(EI,"__esModule",{value:!0});var wcr=Tcr(oB());EI.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){wcr.default.parseCommand(t,e,n),t.push("STORE",r)},transformReply:void 0}});var D9e=E(aee=>{"use strict";Object.defineProperty(aee,"__esModule",{value:!0});aee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SPOP"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var k9e=E(oee=>{"use strict";Object.defineProperty(oee,"__esModule",{value:!0});oee.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("SPOP"),t.pushKey(e)},transformReply:void 0}});var L9e=E(cee=>{"use strict";Object.defineProperty(cee,"__esModule",{value:!0});cee.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SPUBLISH"),t.pushKey(e),t.push(r)},transformReply:void 0}});var lee=E(uee=>{"use strict";Object.defineProperty(uee,"__esModule",{value:!0});uee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("SRANDMEMBER"),t.pushKey(e)},transformReply:void 0}});var M9e=E(_I=>{"use strict";var Rcr=_I&&_I.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_I,"__esModule",{value:!0});var B9e=Rcr(lee());_I.default={IS_READ_ONLY:B9e.default.IS_READ_ONLY,parseCommand(t,e,r){B9e.default.parseCommand(t,e),t.push(r.toString())},transformReply:void 0}});var W9e=E(dee=>{"use strict";Object.defineProperty(dee,"__esModule",{value:!0});dee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SREM"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var $9e=E(fee=>{"use strict";Object.defineProperty(fee,"__esModule",{value:!0});var Ncr=cI();fee.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("SSCAN"),t.pushKey(e),(0,Ncr.parseScanArguments)(t,r,n)},transformReply([t,e]){return{cursor:t,members:e}}}});var F9e=E(pee=>{"use strict";Object.defineProperty(pee,"__esModule",{value:!0});pee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("STRLEN"),t.pushKey(e)},transformReply:void 0}});var U9e=E(mee=>{"use strict";Object.defineProperty(mee,"__esModule",{value:!0});mee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SUNION"),t.pushKeys(e)},transformReply:void 0}});var q9e=E(hee=>{"use strict";Object.defineProperty(hee,"__esModule",{value:!0});hee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SUNIONSTORE"),t.pushKey(e),t.pushKeys(r)},transformReply:void 0}});var j9e=E(gee=>{"use strict";Object.defineProperty(gee,"__esModule",{value:!0});gee.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SWAPDB",e.toString(),r.toString())},transformReply:void 0}});var H9e=E(Aee=>{"use strict";Object.defineProperty(Aee,"__esModule",{value:!0});Aee.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("TIME")},transformReply:void 0}});var Q9e=E(yee=>{"use strict";Object.defineProperty(yee,"__esModule",{value:!0});yee.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("TOUCH"),t.pushKeys(e)},transformReply:void 0}});var G9e=E(xee=>{"use strict";Object.defineProperty(xee,"__esModule",{value:!0});xee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TTL"),t.pushKey(e)},transformReply:void 0}});var V9e=E(bee=>{"use strict";Object.defineProperty(bee,"__esModule",{value:!0});bee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("TYPE"),t.pushKey(e)},transformReply:void 0}});var z9e=E(Eee=>{"use strict";Object.defineProperty(Eee,"__esModule",{value:!0});Eee.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("UNLINK"),t.pushKeys(e)},transformReply:void 0}});var K9e=E(_ee=>{"use strict";Object.defineProperty(_ee,"__esModule",{value:!0});_ee.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("WAIT",e.toString(),r.toString())},transformReply:void 0}});var Y9e=E(See=>{"use strict";Object.defineProperty(See,"__esModule",{value:!0});See.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XACK"),t.pushKey(e),t.push(r),t.pushVariadic(n)},transformReply:void 0}});var J9e=E(vee=>{"use strict";Object.defineProperty(vee,"__esModule",{value:!0});vee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XACKDEL"),t.pushKey(e),t.push(r),s&&t.push(s),t.push("IDS"),t.pushVariadicWithLength(n)},transformReply:void 0}});var Cee=E(SI=>{"use strict";Object.defineProperty(SI,"__esModule",{value:!0});SI.parseXAddArguments=void 0;function X9e(t,e,r,n,s,i){e.push("XADD"),e.pushKey(r),t&&e.push(t),i?.policy&&e.push(i.policy),i?.IDMPAUTO?e.push("IDMPAUTO",i.IDMPAUTO.pid):i?.IDMP&&e.push("IDMP",i.IDMP.pid,i.IDMP.iid),i?.TRIM&&(i.TRIM.strategy&&e.push(i.TRIM.strategy),i.TRIM.strategyModifier&&e.push(i.TRIM.strategyModifier),e.push(i.TRIM.threshold.toString()),i.TRIM.limit&&e.push("LIMIT",i.TRIM.limit.toString()),i.TRIM.policy&&e.push(i.TRIM.policy)),e.push(n);for(let[a,o]of Object.entries(s))e.push(a,o)}SI.parseXAddArguments=X9e;SI.default={IS_READ_ONLY:!1,parseCommand(...t){return X9e(void 0,...t)},transformReply:void 0}});var Z9e=E(Iee=>{"use strict";Object.defineProperty(Iee,"__esModule",{value:!0});var Ocr=Cee();Iee.default={IS_READ_ONLY:!1,parseCommand(...t){return(0,Ocr.parseXAddArguments)("NOMKSTREAM",...t)},transformReply:void 0}});var wee=E(Tee=>{"use strict";Object.defineProperty(Tee,"__esModule",{value:!0});var Pcr=Ie();Tee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i,a){t.push("XAUTOCLAIM"),t.pushKey(e),t.push(r,n,s.toString(),i),a?.COUNT&&t.push("COUNT",a.COUNT.toString())},transformReply(t,e,r){return{nextId:t[0],messages:t[1].map(Pcr.transformStreamMessageNullReply.bind(void 0,r)),deletedMessages:t[2]}}}});var tqe=E(vI=>{"use strict";var Dcr=vI&&vI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vI,"__esModule",{value:!0});var eqe=Dcr(wee());vI.default={IS_READ_ONLY:eqe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];eqe.default.parseCommand(...t),e.push("JUSTID")},transformReply(t){return{nextId:t[0],messages:t[1],deletedMessages:t[2]}}}});var Nee=E(Ree=>{"use strict";Object.defineProperty(Ree,"__esModule",{value:!0});var kcr=Ie();Ree.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i,a){t.push("XCLAIM"),t.pushKey(e),t.push(r,n,s.toString()),t.pushVariadic(i),a?.IDLE!==void 0&&t.push("IDLE",a.IDLE.toString()),a?.TIME!==void 0&&t.push("TIME",(a.TIME instanceof Date?a.TIME.getTime():a.TIME).toString()),a?.RETRYCOUNT!==void 0&&t.push("RETRYCOUNT",a.RETRYCOUNT.toString()),a?.FORCE&&t.push("FORCE"),a?.LASTID!==void 0&&t.push("LASTID",a.LASTID)},transformReply(t,e,r){return t.map(kcr.transformStreamMessageNullReply.bind(void 0,r))}}});var nqe=E(CI=>{"use strict";var Lcr=CI&&CI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CI,"__esModule",{value:!0});var rqe=Lcr(Nee());CI.default={IS_READ_ONLY:rqe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];rqe.default.parseCommand(...t),e.push("JUSTID")},transformReply:void 0}});var sqe=E(Oee=>{"use strict";Object.defineProperty(Oee,"__esModule",{value:!0});Oee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("XCFGSET"),t.pushKey(e),r?.IDMP_DURATION!==void 0&&t.push("IDMP-DURATION",r.IDMP_DURATION.toString()),r?.IDMP_MAXSIZE!==void 0&&t.push("IDMP-MAXSIZE",r.IDMP_MAXSIZE.toString())},transformReply:void 0}});var iqe=E(Pee=>{"use strict";Object.defineProperty(Pee,"__esModule",{value:!0});Pee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("XDEL"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var aqe=E(Dee=>{"use strict";Object.defineProperty(Dee,"__esModule",{value:!0});Dee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XDELEX"),t.pushKey(e),n&&t.push(n),t.push("IDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var oqe=E(kee=>{"use strict";Object.defineProperty(kee,"__esModule",{value:!0});kee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XGROUP","CREATE"),t.pushKey(e),t.push(r,n),s?.MKSTREAM&&t.push("MKSTREAM"),s?.ENTRIESREAD&&t.push("ENTRIESREAD",s.ENTRIESREAD.toString())},transformReply:void 0}});var cqe=E(Lee=>{"use strict";Object.defineProperty(Lee,"__esModule",{value:!0});Lee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XGROUP","CREATECONSUMER"),t.pushKey(e),t.push(r,n)},transformReply:void 0}});var uqe=E(Bee=>{"use strict";Object.defineProperty(Bee,"__esModule",{value:!0});Bee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XGROUP","DELCONSUMER"),t.pushKey(e),t.push(r,n)},transformReply:void 0}});var lqe=E(Mee=>{"use strict";Object.defineProperty(Mee,"__esModule",{value:!0});Mee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("XGROUP","DESTROY"),t.pushKey(e),t.push(r)},transformReply:void 0}});var dqe=E(Wee=>{"use strict";Object.defineProperty(Wee,"__esModule",{value:!0});Wee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XGROUP","SETID"),t.pushKey(e),t.push(r,n),s?.ENTRIESREAD&&t.push("ENTRIESREAD",s.ENTRIESREAD.toString())},transformReply:void 0}});var fqe=E($ee=>{"use strict";Object.defineProperty($ee,"__esModule",{value:!0});$ee.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("XINFO","CONSUMERS"),t.pushKey(e),t.push(r)},transformReply:{2:t=>t.map(e=>{let r=e;return{name:r[1],pending:r[3],idle:r[5],inactive:r[7]}}),3:void 0}}});var pqe=E(Fee=>{"use strict";Object.defineProperty(Fee,"__esModule",{value:!0});Fee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("XINFO","GROUPS"),t.pushKey(e)},transformReply:{2:t=>t.map(e=>{let r=e;return{name:r[1],consumers:r[3],pending:r[5],"last-delivered-id":r[7],"entries-read":r[9],lag:r[11]}}),3:void 0}}});var hqe=E(Uee=>{"use strict";Object.defineProperty(Uee,"__esModule",{value:!0});var mqe=Ie();Uee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("XINFO","STREAM"),t.pushKey(e)},transformReply:{2(t){let e={};for(let r=0;r<t.length;r+=2)switch(t[r]){case"first-entry":case"last-entry":e[t[r]]=Eb(t[r+1]);break;default:e[t[r]]=t[r+1];break}return e},3(t){if(t instanceof Map)t.set("first-entry",Eb(t.get("first-entry"))),t.set("last-entry",Eb(t.get("last-entry")));else if(t instanceof Array)for(let e=0;e<t.length;e+=2)(t[e]==="first-entry"||t[e]==="last-entry")&&(t[e+1]=Eb(t[e+1]));else t["first-entry"]=Eb(t["first-entry"]),t["last-entry"]=Eb(t["last-entry"]);return t}}};function Eb(t){if((0,mqe.isNullReply)(t))return t;let[e,r]=t;return{id:e,message:(0,mqe.transformTuplesReply)(r)}}});var gqe=E(qee=>{"use strict";Object.defineProperty(qee,"__esModule",{value:!0});qee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("XLEN"),t.pushKey(e)},transformReply:void 0}});var Aqe=E(jee=>{"use strict";Object.defineProperty(jee,"__esModule",{value:!0});jee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s,i,a){t.push("XPENDING"),t.pushKey(e),t.push(r),a?.IDLE!==void 0&&t.push("IDLE",a.IDLE.toString()),t.push(n,s,i.toString()),a?.consumer&&t.push(a.consumer)},transformReply(t){return t.map(e=>{let r=e;return{id:r[0],consumer:r[1],millisecondsSinceLastDelivery:r[2],deliveriesCounter:r[3]}})}}});var yqe=E(Hee=>{"use strict";Object.defineProperty(Hee,"__esModule",{value:!0});Hee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("XPENDING"),t.pushKey(e),t.push(r)},transformReply(t){let e=t[3];return{pending:t[0],firstId:t[1],lastId:t[2],consumers:e===null?null:e.map(r=>{let[n,s]=r;return{name:n,deliveriesCounter:Number(s)}})}}}});var Qee=E(II=>{"use strict";Object.defineProperty(II,"__esModule",{value:!0});II.xRangeArguments=void 0;var Bcr=Ie();function xqe(t,e,r){let n=[t,e];return r?.COUNT&&n.push("COUNT",r.COUNT.toString()),n}II.xRangeArguments=xqe;II.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,...r){t.push("XRANGE"),t.pushKey(e),t.pushVariadic(xqe(r[0],r[1],r[2]))},transformReply(t,e,r){return t.map(Bcr.transformStreamMessageReply.bind(void 0,r))}}});var Gee=E(TI=>{"use strict";Object.defineProperty(TI,"__esModule",{value:!0});TI.pushXReadStreams=void 0;var Mcr=Ie();function bqe(t,e){if(t.push("STREAMS"),Array.isArray(e)){for(let r=0;r<e.length;r++)t.pushKey(e[r].key);for(let r=0;r<e.length;r++)t.push(e[r].id)}else t.pushKey(e.key),t.push(e.id)}TI.pushXReadStreams=bqe;TI.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("XREAD"),r?.COUNT&&t.push("COUNT",r.COUNT.toString()),r?.BLOCK!==void 0&&t.push("BLOCK",r.BLOCK.toString()),bqe(t,e)},transformReply:{2:Mcr.transformStreamsMessagesReplyResp2,3:void 0},unstableResp3:!0}});var Eqe=E(Vee=>{"use strict";Object.defineProperty(Vee,"__esModule",{value:!0});var Wcr=Gee(),$cr=Ie();Vee.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("XREADGROUP","GROUP",e,r),s?.COUNT!==void 0&&t.push("COUNT",s.COUNT.toString()),s?.BLOCK!==void 0&&t.push("BLOCK",s.BLOCK.toString()),s?.NOACK&&t.push("NOACK"),s?.CLAIM!==void 0&&t.push("CLAIM",s.CLAIM.toString()),(0,Wcr.pushXReadStreams)(t,n)},transformReply:{2:$cr.transformStreamsMessagesReplyResp2,3:void 0}}});var _qe=E(If=>{"use strict";var Fcr=If&&If.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ucr=If&&If.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),qcr=If&&If.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Fcr(e,t,r);return Ucr(e,t),e};Object.defineProperty(If,"__esModule",{value:!0});var cB=qcr(Qee());If.default={CACHEABLE:cB.default.CACHEABLE,IS_READ_ONLY:cB.default.IS_READ_ONLY,parseCommand(t,e,...r){t.push("XREVRANGE"),t.pushKey(e),t.pushVariadic((0,cB.xRangeArguments)(r[0],r[1],r[2]))},transformReply:cB.default.transformReply}});var Sqe=E(zee=>{"use strict";Object.defineProperty(zee,"__esModule",{value:!0});zee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XSETID"),t.pushKey(e),t.push(r),n?.ENTRIESADDED&&t.push("ENTRIESADDED",n.ENTRIESADDED.toString()),n?.MAXDELETEDID&&t.push("MAXDELETEDID",n.MAXDELETEDID)},transformReply:void 0}});var vqe=E(Kee=>{"use strict";Object.defineProperty(Kee,"__esModule",{value:!0});Kee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XTRIM"),t.pushKey(e),t.push(r),s?.strategyModifier&&t.push(s.strategyModifier),t.push(n.toString()),s?.LIMIT&&t.push("LIMIT",s.LIMIT.toString()),s?.policy&&t.push(s.policy)},transformReply:void 0}});var Yee=E(wI=>{"use strict";Object.defineProperty(wI,"__esModule",{value:!0});wI.pushMembers=void 0;var Iqe=Ie();wI.default={parseCommand(t,e,r,n){t.push("ZADD"),t.pushKey(e),n?.condition?t.push(n.condition):n?.NX?t.push("NX"):n?.XX&&t.push("XX"),n?.comparison?t.push(n.comparison):n?.LT?t.push("LT"):n?.GT&&t.push("GT"),n?.CH&&t.push("CH"),Tqe(t,r)},transformReply:Iqe.transformDoubleReply};function Tqe(t,e){if(Array.isArray(e))for(let r of e)Cqe(t,r);else Cqe(t,e)}wI.pushMembers=Tqe;function Cqe(t,e){t.push((0,Iqe.transformDoubleArgument)(e.score),e.value)}});var wqe=E(Jee=>{"use strict";Object.defineProperty(Jee,"__esModule",{value:!0});var jcr=Yee(),Hcr=Ie();Jee.default={parseCommand(t,e,r,n){t.push("ZADD"),t.pushKey(e),n?.condition&&t.push(n.condition),n?.comparison&&t.push(n.comparison),n?.CH&&t.push("CH"),t.push("INCR"),(0,jcr.pushMembers)(t,r)},transformReply:Hcr.transformNullableDoubleReply}});var Rqe=E(Xee=>{"use strict";Object.defineProperty(Xee,"__esModule",{value:!0});Xee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ZCARD"),t.pushKey(e)},transformReply:void 0}});var Oqe=E(Zee=>{"use strict";Object.defineProperty(Zee,"__esModule",{value:!0});var Nqe=Ie();Zee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("ZCOUNT"),t.pushKey(e),t.push((0,Nqe.transformStringDoubleArgument)(r),(0,Nqe.transformStringDoubleArgument)(n))},transformReply:void 0}});var tte=E(ete=>{"use strict";Object.defineProperty(ete,"__esModule",{value:!0});ete.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("ZDIFF"),t.pushKeysLength(e)},transformReply:void 0}});var Dqe=E(RI=>{"use strict";var Qcr=RI&&RI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(RI,"__esModule",{value:!0});var Gcr=Ie(),Pqe=Qcr(tte());RI.default={IS_READ_ONLY:Pqe.default.IS_READ_ONLY,parseCommand(t,e){Pqe.default.parseCommand(t,e),t.push("WITHSCORES")},transformReply:Gcr.transformSortedSetReply}});var kqe=E(rte=>{"use strict";Object.defineProperty(rte,"__esModule",{value:!0});rte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZDIFFSTORE"),t.pushKey(e),t.pushKeysLength(r)},transformReply:void 0}});var Bqe=E(nte=>{"use strict";Object.defineProperty(nte,"__esModule",{value:!0});var Lqe=Ie();nte.default={parseCommand(t,e,r,n){t.push("ZINCRBY"),t.pushKey(e),t.push((0,Lqe.transformDoubleArgument)(r),n)},transformReply:Lqe.transformDoubleReply}});var uB=E(NI=>{"use strict";Object.defineProperty(NI,"__esModule",{value:!0});NI.parseZInterArguments=void 0;var Vcr=Ie();function Mqe(t,e,r){(0,Vcr.parseZKeysArguments)(t,e),r?.AGGREGATE&&t.push("AGGREGATE",r.AGGREGATE)}NI.parseZInterArguments=Mqe;NI.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZINTER"),Mqe(t,e,r)},transformReply:void 0}});var $qe=E(OI=>{"use strict";var zcr=OI&&OI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(OI,"__esModule",{value:!0});var Kcr=Ie(),Wqe=zcr(uB());OI.default={IS_READ_ONLY:Wqe.default.IS_READ_ONLY,parseCommand(...t){Wqe.default.parseCommand(...t),t[0].push("WITHSCORES")},transformReply:Kcr.transformSortedSetReply}});var Fqe=E(ste=>{"use strict";Object.defineProperty(ste,"__esModule",{value:!0});ste.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZINTERCARD"),t.pushKeysLength(e),typeof r=="number"?t.push("LIMIT",r.toString()):r?.LIMIT&&t.push("LIMIT",r.LIMIT.toString())},transformReply:void 0}});var Uqe=E(ite=>{"use strict";Object.defineProperty(ite,"__esModule",{value:!0});var Ycr=uB();ite.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZINTERSTORE"),t.pushKey(e),(0,Ycr.parseZInterArguments)(t,r,n)},transformReply:void 0}});var qqe=E(ate=>{"use strict";Object.defineProperty(ate,"__esModule",{value:!0});ate.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("ZLEXCOUNT"),t.pushKey(e),t.push(r),t.push(n)},transformReply:void 0}});var jqe=E(ote=>{"use strict";Object.defineProperty(ote,"__esModule",{value:!0});var Jcr=Ie();ote.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZMSCORE"),t.pushKey(e),t.pushVariadic(r)},transformReply:{2:(t,e,r)=>t.map((0,Jcr.createTransformNullableDoubleReplyResp2Func)(e,r)),3:void 0}}});var Hqe=E(cte=>{"use strict";Object.defineProperty(cte,"__esModule",{value:!0});var Xcr=Ie();cte.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("ZPOPMAX"),t.pushKey(e),t.push(r.toString())},transformReply:Xcr.transformSortedSetReply}});var lte=E(ute=>{"use strict";Object.defineProperty(ute,"__esModule",{value:!0});var Zcr=Ie();ute.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("ZPOPMAX"),t.pushKey(e)},transformReply:{2:(t,e,r)=>t.length===0?null:{value:t[0],score:Zcr.transformDoubleReply[2](t[1],e,r)},3:t=>t.length===0?null:{value:t[0],score:t[1]}}}});var Qqe=E(dte=>{"use strict";Object.defineProperty(dte,"__esModule",{value:!0});var eur=Ie();dte.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("ZPOPMIN"),t.pushKey(e),t.push(r.toString())},transformReply:eur.transformSortedSetReply}});var Gqe=E(PI=>{"use strict";var tur=PI&&PI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(PI,"__esModule",{value:!0});var rur=tur(lte());PI.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("ZPOPMIN"),t.pushKey(e)},transformReply:rur.default.transformReply}});var pte=E(fte=>{"use strict";Object.defineProperty(fte,"__esModule",{value:!0});fte.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("ZRANDMEMBER"),t.pushKey(e)},transformReply:void 0}});var mte=E(DI=>{"use strict";var nur=DI&&DI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(DI,"__esModule",{value:!0});var Vqe=nur(pte());DI.default={IS_READ_ONLY:Vqe.default.IS_READ_ONLY,parseCommand(t,e,r){Vqe.default.parseCommand(t,e),t.push(r.toString())},transformReply:void 0}});var Kqe=E(kI=>{"use strict";var sur=kI&&kI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kI,"__esModule",{value:!0});var iur=Ie(),zqe=sur(mte());kI.default={IS_READ_ONLY:zqe.default.IS_READ_ONLY,parseCommand(t,e,r){zqe.default.parseCommand(t,e,r),t.push("WITHSCORES")},transformReply:iur.transformSortedSetReply}});var hte=E(LI=>{"use strict";Object.defineProperty(LI,"__esModule",{value:!0});LI.zRangeArgument=void 0;var Yqe=Ie();function Jqe(t,e,r){let n=[(0,Yqe.transformStringDoubleArgument)(t),(0,Yqe.transformStringDoubleArgument)(e)];switch(r?.BY){case"SCORE":n.push("BYSCORE");break;case"LEX":n.push("BYLEX");break}return r?.REV&&n.push("REV"),r?.LIMIT&&n.push("LIMIT",r.LIMIT.offset.toString(),r.LIMIT.count.toString()),n}LI.zRangeArgument=Jqe;LI.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("ZRANGE"),t.pushKey(e),t.pushVariadic(Jqe(r,n,s))},transformReply:void 0}});var Xqe=E(BI=>{"use strict";var aur=BI&&BI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(BI,"__esModule",{value:!0});var our=Ie(),gte=aur(hte());BI.default={CACHEABLE:gte.default.CACHEABLE,IS_READ_ONLY:gte.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];gte.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:our.transformSortedSetReply}});var eje=E(Ate=>{"use strict";Object.defineProperty(Ate,"__esModule",{value:!0});var Zqe=Ie();Ate.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("ZRANGEBYLEX"),t.pushKey(e),t.push((0,Zqe.transformStringDoubleArgument)(r),(0,Zqe.transformStringDoubleArgument)(n)),s?.LIMIT&&t.push("LIMIT",s.LIMIT.offset.toString(),s.LIMIT.count.toString())},transformReply:void 0}});var xte=E(yte=>{"use strict";Object.defineProperty(yte,"__esModule",{value:!0});var tje=Ie();yte.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("ZRANGEBYSCORE"),t.pushKey(e),t.push((0,tje.transformStringDoubleArgument)(r),(0,tje.transformStringDoubleArgument)(n)),s?.LIMIT&&t.push("LIMIT",s.LIMIT.offset.toString(),s.LIMIT.count.toString())},transformReply:void 0}});var rje=E(MI=>{"use strict";var cur=MI&&MI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(MI,"__esModule",{value:!0});var uur=Ie(),bte=cur(xte());MI.default={CACHEABLE:bte.default.CACHEABLE,IS_READ_ONLY:bte.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];bte.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:uur.transformSortedSetReply}});var sje=E(Ete=>{"use strict";Object.defineProperty(Ete,"__esModule",{value:!0});var nje=Ie();Ete.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){switch(t.push("ZRANGESTORE"),t.pushKey(e),t.pushKey(r),t.push((0,nje.transformStringDoubleArgument)(n),(0,nje.transformStringDoubleArgument)(s)),i?.BY){case"SCORE":t.push("BYSCORE");break;case"LEX":t.push("BYLEX");break}i?.REV&&t.push("REV"),i?.LIMIT&&t.push("LIMIT",i.LIMIT.offset.toString(),i.LIMIT.count.toString())},transformReply:void 0}});var aje=E(_te=>{"use strict";Object.defineProperty(_te,"__esModule",{value:!0});var ije=Ie();_te.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZREMRANGEBYSCORE"),t.pushKey(e),t.push((0,ije.transformStringDoubleArgument)(r),(0,ije.transformStringDoubleArgument)(n))},transformReply:void 0}});var vte=E(Ste=>{"use strict";Object.defineProperty(Ste,"__esModule",{value:!0});Ste.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZRANK"),t.pushKey(e),t.push(r)},transformReply:void 0}});var oje=E(WI=>{"use strict";var lur=WI&&WI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(WI,"__esModule",{value:!0});var Cte=lur(vte());WI.default={CACHEABLE:Cte.default.CACHEABLE,IS_READ_ONLY:Cte.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];Cte.default.parseCommand(...t),e.push("WITHSCORE")},transformReply:{2:t=>t===null?null:{rank:t[0],score:Number(t[1])},3:t=>t===null?null:{rank:t[0],score:t[1]}}}});var cje=E(Ite=>{"use strict";Object.defineProperty(Ite,"__esModule",{value:!0});Ite.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("ZREM"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var lje=E(Tte=>{"use strict";Object.defineProperty(Tte,"__esModule",{value:!0});var uje=Ie();Tte.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZREMRANGEBYLEX"),t.pushKey(e),t.push((0,uje.transformStringDoubleArgument)(r),(0,uje.transformStringDoubleArgument)(n))},transformReply:void 0}});var dje=E(wte=>{"use strict";Object.defineProperty(wte,"__esModule",{value:!0});wte.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZREMRANGEBYRANK"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var fje=E(Rte=>{"use strict";Object.defineProperty(Rte,"__esModule",{value:!0});Rte.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZREVRANK"),t.pushKey(e),t.push(r)},transformReply:void 0}});var pje=E(Nte=>{"use strict";Object.defineProperty(Nte,"__esModule",{value:!0});var dur=cI(),fur=Ie();Nte.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("ZSCAN"),t.pushKey(e),(0,dur.parseScanArguments)(t,r,n)},transformReply([t,e]){return{cursor:t,members:fur.transformSortedSetReply[2](e)}}}});var mje=E(Ote=>{"use strict";Object.defineProperty(Ote,"__esModule",{value:!0});var pur=Ie();Ote.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZSCORE"),t.pushKey(e),t.push(r)},transformReply:pur.transformNullableDoubleReply}});var Dte=E(Pte=>{"use strict";Object.defineProperty(Pte,"__esModule",{value:!0});var mur=Ie();Pte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZUNION"),(0,mur.parseZKeysArguments)(t,e),r?.AGGREGATE&&t.push("AGGREGATE",r.AGGREGATE)},transformReply:void 0}});var gje=E($I=>{"use strict";var hur=$I&&$I.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($I,"__esModule",{value:!0});var gur=Ie(),hje=hur(Dte());$I.default={IS_READ_ONLY:hje.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];hje.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:gur.transformSortedSetReply}});var Aje=E(kte=>{"use strict";Object.defineProperty(kte,"__esModule",{value:!0});var Aur=Ie();kte.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZUNIONSTORE"),t.pushKey(e),(0,Aur.parseZKeysArguments)(t,r),n?.AGGREGATE&&t.push("AGGREGATE",n.AGGREGATE)},transformReply:void 0}});var xje=E(Lte=>{"use strict";Object.defineProperty(Lte,"__esModule",{value:!0});var yje=Ie();Lte.default={parseCommand(t,e,r,n,s){t.push("VADD"),t.pushKey(e),s?.REDUCE!==void 0&&t.push("REDUCE",s.REDUCE.toString()),t.push("VALUES",r.length.toString());for(let i of r)t.push((0,yje.transformDoubleArgument)(i));t.push(n),s?.CAS&&t.push("CAS"),s?.QUANT&&t.push(s.QUANT),s?.EF!==void 0&&t.push("EF",s.EF.toString()),s?.SETATTR&&t.push("SETATTR",JSON.stringify(s.SETATTR)),s?.M!==void 0&&t.push("M",s.M.toString())},transformReply:yje.transformBooleanReply}});var bje=E(Bte=>{"use strict";Object.defineProperty(Bte,"__esModule",{value:!0});Bte.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("VCARD"),t.pushKey(e)},transformReply:void 0}});var Eje=E(Mte=>{"use strict";Object.defineProperty(Mte,"__esModule",{value:!0});Mte.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("VDIM"),t.pushKey(e)},transformReply:void 0}});var $te=E(Wte=>{"use strict";Object.defineProperty(Wte,"__esModule",{value:!0});var yur=Ie();Wte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VEMB"),t.pushKey(e),t.push(r)},transformReply:yur.transformDoubleArrayReply}});var Sje=E(FI=>{"use strict";var xur=FI&&FI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(FI,"__esModule",{value:!0});var _je=Ie(),bur=xur($te()),Eur={2:t=>({quantization:t[0],raw:t[1],l2Norm:_je.transformDoubleReply[2](t[2]),...t[3]!==void 0&&{quantizationRange:_je.transformDoubleReply[2](t[3])}}),3:t=>({quantization:t[0],raw:t[1],l2Norm:t[2],quantizationRange:t[3]})};FI.default={IS_READ_ONLY:!0,parseCommand(t,e,r){bur.default.parseCommand(t,e,r),t.push("RAW")},transformReply:Eur}});var vje=E(Fte=>{"use strict";Object.defineProperty(Fte,"__esModule",{value:!0});var _ur=Ie();Fte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VGETATTR"),t.pushKey(e),t.push(r)},transformReply:_ur.transformRedisJsonNullReply}});var Cje=E(Ute=>{"use strict";Object.defineProperty(Ute,"__esModule",{value:!0});Ute.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("VINFO"),t.pushKey(e)},transformReply:{2:t=>{let e=Object.create(null);for(let r=0;r<t.length;r+=2)e[t[r].toString()]=t[r+1];return e},3:void 0}}});var jte=E(qte=>{"use strict";Object.defineProperty(qte,"__esModule",{value:!0});qte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VLINKS"),t.pushKey(e),t.push(r)},transformReply:void 0}});var Tje=E(UI=>{"use strict";var Sur=UI&&UI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(UI,"__esModule",{value:!0});var vur=Ie(),Ije=Sur(jte());function Cur(t){let e=[];for(let r of t){let n=Object.create(null);for(let s=0;s<r.length;s+=2){let i=r[s],a=vur.transformDoubleReply[2](r[s+1]);n[i.toString()]=a}e.push(n)}return e}UI.default={IS_READ_ONLY:Ije.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];Ije.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:{2:Cur,3:void 0}}});var wje=E(Hte=>{"use strict";Object.defineProperty(Hte,"__esModule",{value:!0});Hte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VRANDMEMBER"),t.pushKey(e),r!==void 0&&t.push(r.toString())},transformReply:void 0}});var Rje=E(Qte=>{"use strict";Object.defineProperty(Qte,"__esModule",{value:!0});Qte.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("VRANGE"),t.pushKey(e),t.push(r,n),s!==void 0&&t.push(s.toString())},transformReply:void 0}});var Nje=E(Gte=>{"use strict";Object.defineProperty(Gte,"__esModule",{value:!0});var Iur=Ie();Gte.default={parseCommand(t,e,r){t.push("VREM"),t.pushKey(e),t.push(r)},transformReply:Iur.transformBooleanReply}});var Oje=E(Vte=>{"use strict";Object.defineProperty(Vte,"__esModule",{value:!0});var Tur=Ie();Vte.default={parseCommand(t,e,r,n){t.push("VSETATTR"),t.pushKey(e),t.push(r),typeof n=="object"&&n!==null?t.push(JSON.stringify(n)):t.push(n)},transformReply:Tur.transformBooleanReply}});var Kte=E(zte=>{"use strict";Object.defineProperty(zte,"__esModule",{value:!0});var wur=Ie();zte.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){if(t.push("VSIM"),t.pushKey(e),Array.isArray(r)){t.push("VALUES",r.length.toString());for(let s of r)t.push((0,wur.transformDoubleArgument)(s))}else t.push("ELE",r);n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString()),n?.EPSILON!==void 0&&t.push("EPSILON",n.EPSILON.toString()),n?.EF!==void 0&&t.push("EF",n.EF.toString()),n?.FILTER&&t.push("FILTER",n.FILTER),n?.["FILTER-EF"]!==void 0&&t.push("FILTER-EF",n["FILTER-EF"].toString()),n?.TRUTH&&t.push("TRUTH"),n?.NOTHREAD&&t.push("NOTHREAD")},transformReply:void 0}});var Dje=E(qI=>{"use strict";var Rur=qI&&qI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(qI,"__esModule",{value:!0});var Nur=Ie(),Pje=Rur(Kte());qI.default={IS_READ_ONLY:Pje.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];Pje.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:{2:t=>{let e=t,r={};for(let n=0;n<e.length;n+=2)r[e[n].toString()]=Nur.transformDoubleReply[2](e[n+1]);return r},3:void 0}}});var kje=E(Yte=>{"use strict";Object.defineProperty(Yte,"__esModule",{value:!0});var Our=Ie(),Pur=t=>t;Yte.default={CACHEABLE:!1,IS_READ_ONLY:!0,parseCommand(t,...e){let r=["LATENCY","HISTOGRAM"];e.length!==0&&r.push(...e),t.push(...r)},transformReply:{2:t=>{let e={};if(t.length===0)return e;for(let r=1;r<t.length;r+=2){let n=t[r];e[t[r-1]]={calls:n[1],histogram_usec:(0,Our.transformTuplesToMap)(n[3],Pur)}}return e},3:void 0}}});var yu=E(Qn=>{"use strict";var Dur=Qn&&Qn.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),kur=Qn&&Qn.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),jI=Qn&&Qn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Dur(e,t,r);return kur(e,t),e},$=Qn&&Qn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qn,"__esModule",{value:!0});Qn.NON_STICKY_COMMANDS=Qn.REDIS_FLUSH_MODES=Qn.COMMAND_LIST_FILTER_BY=Qn.CLUSTER_SLOT_STATES=Qn.FAILOVER_MODES=Qn.CLIENT_KILL_FILTERS=void 0;var Lje=$(cWe()),Bje=$(uWe()),Mje=$(lWe()),Wje=$(dWe()),$je=$(fWe()),Fje=$(pWe()),Uje=$(mWe()),qje=$(_We()),jje=$(HK()),Hje=$(SWe()),Qje=$(vWe()),Gje=$(CWe()),Vje=$(IWe()),zje=$(TWe()),Kje=$(YK()),Yje=$(wWe()),Jje=$(RWe()),Xje=$(NWe()),Zje=$(OWe()),eHe=$(PWe()),tHe=$(DWe()),rHe=$(kWe()),nHe=$(LWe()),sHe=$(BWe()),iHe=$($We()),aHe=$(cY()),oHe=$(FWe()),cHe=$(UWe()),uHe=$(QWe()),lHe=$(fY()),dHe=$(VWe()),fHe=$(zWe()),pHe=$(KWe()),mHe=$(YWe()),hHe=$(JWe()),gHe=$(yY()),Jte=jI(ZWe());Object.defineProperty(Qn,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return Jte.CLIENT_KILL_FILTERS}});var AHe=$(e$e()),yHe=$(t$e()),xHe=$(r$e()),bHe=$(n$e()),EHe=$(s$e()),_He=$(i$e()),SHe=$(a$e()),vHe=$(o$e()),CHe=$(c$e()),IHe=$(u$e()),THe=$(l$e()),wHe=$(d$e()),RHe=$(f$e()),NHe=$(p$e()),OHe=$(m$e()),Xte=jI(h$e());Object.defineProperty(Qn,"FAILOVER_MODES",{enumerable:!0,get:function(){return Xte.FAILOVER_MODES}});var PHe=$(g$e()),DHe=$(A$e()),kHe=$(y$e()),LHe=$(x$e()),BHe=$(b$e()),MHe=$(E$e()),WHe=$(_$e()),$He=$(S$e()),FHe=$(v$e()),UHe=$(C$e()),qHe=$(I$e()),jHe=$(T$e()),HHe=$(w$e()),QHe=$(R$e()),GHe=$(N$e()),Zte=jI(O$e());Object.defineProperty(Qn,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return Zte.CLUSTER_SLOT_STATES}});var VHe=$(D$e()),zHe=$(k$e()),KHe=$(L$e()),YHe=$(B$e()),JHe=$(M$e()),ere=jI(W$e());Object.defineProperty(Qn,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return ere.COMMAND_LIST_FILTER_BY}});var XHe=$($$e()),ZHe=$(F$e()),eQe=$(U$e()),tQe=$(q$e()),rQe=$(j$e()),nQe=$(H$e()),sQe=$(Q$e()),iQe=$(G$e()),aQe=$(V$e()),oQe=$(z$e()),cQe=$(K$e()),uQe=$(Y$e()),lQe=$(J$e()),dQe=$(X$e()),fQe=$(tFe()),pQe=$(cg()),mQe=$(nFe()),hQe=$(iFe()),gQe=$(oFe()),AQe=$(cFe()),yQe=$(uFe()),xQe=$(lFe()),bQe=$(AFe()),EQe=$(xFe()),_Qe=$(EFe()),SQe=$(iB()),vQe=$(ZC()),CQe=$(IFe()),IQe=$(wFe()),TQe=$(NFe()),wQe=$(gJ()),RQe=$(nI()),NQe=$(eI()),OQe=$(lg()),PQe=$(OFe()),DQe=$(PFe()),kQe=$(DFe()),LQe=$(kFe()),BQe=$(LFe()),MQe=$(BFe()),WQe=$(MFe()),$Qe=$(WFe()),FQe=$($Fe()),UQe=$(FFe()),qQe=$(UFe()),tre=jI(qFe());Object.defineProperty(Qn,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return tre.REDIS_FLUSH_MODES}});var jQe=$(jFe()),HQe=$(QFe()),QQe=$(VFe()),GQe=$(zFe()),VQe=$(KFe()),zQe=$(YFe()),KQe=$(JFe()),YQe=$(XFe()),JQe=$(LJ()),XQe=$(ZFe()),ZQe=$(eUe()),eGe=$(tUe()),tGe=$(rUe()),rGe=$(qJ()),nGe=$(nUe()),sGe=$(sUe()),iGe=$(iUe()),aGe=$(aUe()),oGe=$(oUe()),cGe=$(cUe()),uGe=$(uUe()),lGe=$(lUe()),dGe=$(dUe()),fGe=$(fUe()),pGe=$(pUe()),mGe=$(mUe()),hGe=$(hUe()),gGe=$(gUe()),AGe=$(AUe()),yGe=$(yUe()),xGe=$(xUe()),bGe=$(bUe()),EGe=$(EUe()),_Ge=$(_Ue()),SGe=$(SUe()),vGe=$(uX()),CGe=$(CUe()),IGe=$(TUe()),TGe=$(RUe()),wGe=$(NUe()),RGe=$(OUe()),NGe=$(PUe()),OGe=$(DUe()),PGe=$(LUe()),DGe=$(BUe()),kGe=$(MUe()),LGe=$(WUe()),BGe=$($Ue()),MGe=$(FUe()),WGe=$(UUe()),$Ge=$(qUe()),FGe=$(jUe()),UGe=$(HUe()),qGe=$(QUe()),jGe=$(IX()),HGe=$(GUe()),QGe=$(VUe()),GGe=$(zUe()),VGe=$(JUe()),zGe=$(NX()),KGe=$(ZUe()),YGe=$(aB()),JGe=$(e7e()),XGe=$(t7e()),ZGe=$(r7e()),eVe=$(n7e()),tVe=$(aY()),Lur=$(s7e()),rVe=$(i7e()),nVe=$(MX()),sVe=$(a7e()),iVe=$($X()),aVe=$(o7e()),oVe=$(c7e()),cVe=$(u7e()),uVe=$(l7e()),lVe=$(d7e()),dVe=$(f7e()),fVe=$(p7e()),pVe=$(m7e()),mVe=$(h7e()),hVe=$(g7e()),gVe=$(A7e()),AVe=$(y7e()),yVe=$(x7e()),xVe=$(b7e()),bVe=$(E7e()),EVe=$(_7e()),_Ve=$(S7e()),SVe=$(sZ()),vVe=$(T7e()),CVe=$(w7e()),IVe=$(R7e()),TVe=$(N7e()),wVe=$(O7e()),RVe=$(P7e()),NVe=$(D7e()),OVe=$(k7e()),PVe=$(L7e()),DVe=$(B7e()),kVe=$(M7e()),LVe=$(W7e()),BVe=$($7e()),MVe=$(F7e()),WVe=$(U7e()),$Ve=$(q7e()),FVe=$(j7e()),UVe=$(H7e()),qVe=$(Q7e()),jVe=$(G7e()),HVe=$(V7e()),QVe=$(z7e()),GVe=$(K7e()),VVe=$(Y7e()),zVe=$(J7e()),KVe=$(X7e()),YVe=$(Z7e()),JVe=$(e9e()),XVe=$(t9e()),ZVe=$(r9e()),eze=$(n9e()),tze=$(s9e()),rze=$(i9e()),nze=$(a9e()),sze=$(o9e()),ize=$(c9e()),aze=$(cI()),oze=$(u9e()),cze=$(l9e()),uze=$(d9e()),lze=$(f9e()),dze=$(p9e()),fze=$(m9e()),pze=$(h9e()),mze=$(g9e()),hze=$(A9e()),gze=$(y9e()),Aze=$(x9e()),yze=$(b9e()),xze=$(E9e()),bze=$(_9e()),Eze=$(S9e()),_ze=$(v9e()),Sze=$(C9e()),vze=$(I9e()),Cze=$(T9e()),Ize=$(w9e()),Tze=$(O9e()),wze=$(P9e()),Rze=$(oB()),Nze=$(D9e()),Oze=$(k9e()),Pze=$(L9e()),Dze=$(M9e()),kze=$(lee()),Lze=$(W9e()),Bze=$($9e()),Mze=$(F9e()),Wze=$(U9e()),$ze=$(q9e()),Fze=$(j9e()),Uze=$(H9e()),qze=$(Q9e()),jze=$(G9e()),Hze=$(V9e()),Qze=$(z9e()),Gze=$(K9e()),Vze=$(Y9e()),zze=$(J9e()),Kze=$(Z9e()),Yze=$(Cee()),Jze=$(tqe()),Xze=$(wee()),Zze=$(nqe()),eKe=$(Nee()),tKe=$(sqe()),rKe=$(iqe()),nKe=$(aqe()),sKe=$(oqe()),iKe=$(cqe()),aKe=$(uqe()),oKe=$(lqe()),cKe=$(dqe()),uKe=$(fqe()),lKe=$(pqe()),dKe=$(hqe()),fKe=$(gqe()),pKe=$(Aqe()),mKe=$(yqe()),hKe=$(Qee()),gKe=$(Gee()),AKe=$(Eqe()),yKe=$(_qe()),xKe=$(Sqe()),bKe=$(vqe()),EKe=$(wqe()),_Ke=$(Yee()),SKe=$(Rqe()),vKe=$(Oqe()),CKe=$(Dqe()),IKe=$(tte()),TKe=$(kqe()),wKe=$(Bqe()),RKe=$($qe()),NKe=$(uB()),OKe=$(Fqe()),PKe=$(Uqe()),DKe=$(qqe()),kKe=$(lY()),LKe=$(jqe()),BKe=$(Hqe()),MKe=$(lte()),WKe=$(Qqe()),$Ke=$(Gqe()),FKe=$(Kqe()),UKe=$(mte()),qKe=$(pte()),jKe=$(Xqe()),HKe=$(hte()),QKe=$(eje()),GKe=$(rje()),VKe=$(xte()),zKe=$(sje()),KKe=$(aje()),YKe=$(oje()),JKe=$(vte()),XKe=$(cje()),ZKe=$(lje()),eYe=$(dje()),tYe=$(fje()),rYe=$(pje()),nYe=$(mje()),sYe=$(gje()),iYe=$(Dte()),aYe=$(Aje()),oYe=$(xje()),cYe=$(bje()),uYe=$(Eje()),lYe=$($te()),dYe=$(Sje()),fYe=$(vje()),pYe=$(Cje()),mYe=$(jte()),hYe=$(Tje()),gYe=$(wje()),AYe=$(Rje()),yYe=$(Nje()),xYe=$(Oje()),bYe=$(Kte()),EYe=$(Dje()),_Ye=$(kje());Qn.default={ACL_CAT:Lje.default,aclCat:Lje.default,ACL_DELUSER:Bje.default,aclDelUser:Bje.default,ACL_DRYRUN:Mje.default,aclDryRun:Mje.default,ACL_GENPASS:Wje.default,aclGenPass:Wje.default,ACL_GETUSER:$je.default,aclGetUser:$je.default,ACL_LIST:Fje.default,aclList:Fje.default,ACL_LOAD:Uje.default,aclLoad:Uje.default,ACL_LOG_RESET:qje.default,aclLogReset:qje.default,ACL_LOG:jje.default,aclLog:jje.default,ACL_SAVE:Hje.default,aclSave:Hje.default,ACL_SETUSER:Qje.default,aclSetUser:Qje.default,ACL_USERS:Gje.default,aclUsers:Gje.default,ACL_WHOAMI:Vje.default,aclWhoAmI:Vje.default,APPEND:zje.default,append:zje.default,ASKING:Kje.default,asking:Kje.default,AUTH:Yje.default,auth:Yje.default,BGREWRITEAOF:Jje.default,bgRewriteAof:Jje.default,BGSAVE:Xje.default,bgSave:Xje.default,BITCOUNT:Zje.default,bitCount:Zje.default,BITFIELD_RO:eHe.default,bitFieldRo:eHe.default,BITFIELD:tHe.default,bitField:tHe.default,BITOP:rHe.default,bitOp:rHe.default,BITPOS:nHe.default,bitPos:nHe.default,BLMOVE:sHe.default,blMove:sHe.default,BLMPOP:iHe.default,blmPop:iHe.default,BLPOP:aHe.default,blPop:aHe.default,BRPOP:oHe.default,brPop:oHe.default,BRPOPLPUSH:cHe.default,brPopLPush:cHe.default,BZMPOP:uHe.default,bzmPop:uHe.default,BZPOPMAX:lHe.default,bzPopMax:lHe.default,BZPOPMIN:dHe.default,bzPopMin:dHe.default,CLIENT_CACHING:fHe.default,clientCaching:fHe.default,CLIENT_GETNAME:pHe.default,clientGetName:pHe.default,CLIENT_GETREDIR:mHe.default,clientGetRedir:mHe.default,CLIENT_ID:hHe.default,clientId:hHe.default,CLIENT_INFO:gHe.default,clientInfo:gHe.default,CLIENT_KILL:Jte.default,clientKill:Jte.default,CLIENT_LIST:AHe.default,clientList:AHe.default,"CLIENT_NO-EVICT":yHe.default,clientNoEvict:yHe.default,"CLIENT_NO-TOUCH":xHe.default,clientNoTouch:xHe.default,CLIENT_PAUSE:bHe.default,clientPause:bHe.default,CLIENT_SETNAME:EHe.default,clientSetName:EHe.default,CLIENT_TRACKING:_He.default,clientTracking:_He.default,CLIENT_TRACKINGINFO:SHe.default,clientTrackingInfo:SHe.default,CLIENT_UNPAUSE:vHe.default,clientUnpause:vHe.default,CLUSTER_ADDSLOTS:CHe.default,clusterAddSlots:CHe.default,CLUSTER_ADDSLOTSRANGE:IHe.default,clusterAddSlotsRange:IHe.default,CLUSTER_BUMPEPOCH:THe.default,clusterBumpEpoch:THe.default,"CLUSTER_COUNT-FAILURE-REPORTS":wHe.default,clusterCountFailureReports:wHe.default,CLUSTER_COUNTKEYSINSLOT:RHe.default,clusterCountKeysInSlot:RHe.default,CLUSTER_DELSLOTS:NHe.default,clusterDelSlots:NHe.default,CLUSTER_DELSLOTSRANGE:OHe.default,clusterDelSlotsRange:OHe.default,CLUSTER_FAILOVER:Xte.default,clusterFailover:Xte.default,CLUSTER_FLUSHSLOTS:PHe.default,clusterFlushSlots:PHe.default,CLUSTER_FORGET:DHe.default,clusterForget:DHe.default,CLUSTER_GETKEYSINSLOT:kHe.default,clusterGetKeysInSlot:kHe.default,CLUSTER_INFO:LHe.default,clusterInfo:LHe.default,CLUSTER_KEYSLOT:BHe.default,clusterKeySlot:BHe.default,CLUSTER_LINKS:MHe.default,clusterLinks:MHe.default,CLUSTER_MEET:WHe.default,clusterMeet:WHe.default,CLUSTER_MYID:$He.default,clusterMyId:$He.default,CLUSTER_MYSHARDID:FHe.default,clusterMyShardId:FHe.default,CLUSTER_NODES:UHe.default,clusterNodes:UHe.default,CLUSTER_REPLICAS:qHe.default,clusterReplicas:qHe.default,CLUSTER_REPLICATE:jHe.default,clusterReplicate:jHe.default,CLUSTER_RESET:HHe.default,clusterReset:HHe.default,CLUSTER_SAVECONFIG:QHe.default,clusterSaveConfig:QHe.default,"CLUSTER_SET-CONFIG-EPOCH":GHe.default,clusterSetConfigEpoch:GHe.default,CLUSTER_SETSLOT:Zte.default,clusterSetSlot:Zte.default,CLUSTER_SLOTS:VHe.default,clusterSlots:VHe.default,COMMAND_COUNT:zHe.default,commandCount:zHe.default,COMMAND_GETKEYS:KHe.default,commandGetKeys:KHe.default,COMMAND_GETKEYSANDFLAGS:YHe.default,commandGetKeysAndFlags:YHe.default,COMMAND_INFO:JHe.default,commandInfo:JHe.default,COMMAND_LIST:ere.default,commandList:ere.default,COMMAND:XHe.default,command:XHe.default,CONFIG_GET:ZHe.default,configGet:ZHe.default,CONFIG_RESETASTAT:eQe.default,configResetStat:eQe.default,CONFIG_REWRITE:tQe.default,configRewrite:tQe.default,CONFIG_SET:rQe.default,configSet:rQe.default,COPY:nQe.default,copy:nQe.default,DBSIZE:sQe.default,dbSize:sQe.default,DECR:iQe.default,decr:iQe.default,DECRBY:aQe.default,decrBy:aQe.default,DEL:oQe.default,del:oQe.default,DELEX:cQe.default,delEx:cQe.default,DIGEST:uQe.default,digest:uQe.default,DUMP:lQe.default,dump:lQe.default,ECHO:dQe.default,echo:dQe.default,EVAL_RO:fQe.default,evalRo:fQe.default,EVAL:pQe.default,eval:pQe.default,EVALSHA_RO:mQe.default,evalShaRo:mQe.default,EVALSHA:hQe.default,evalSha:hQe.default,EXISTS:$Qe.default,exists:$Qe.default,EXPIRE:FQe.default,expire:FQe.default,EXPIREAT:UQe.default,expireAt:UQe.default,EXPIRETIME:qQe.default,expireTime:qQe.default,FLUSHALL:tre.default,flushAll:tre.default,FLUSHDB:jQe.default,flushDb:jQe.default,FCALL:HQe.default,fCall:HQe.default,FCALL_RO:QQe.default,fCallRo:QQe.default,FUNCTION_DELETE:GQe.default,functionDelete:GQe.default,FUNCTION_DUMP:VQe.default,functionDump:VQe.default,FUNCTION_FLUSH:zQe.default,functionFlush:zQe.default,FUNCTION_KILL:KQe.default,functionKill:KQe.default,FUNCTION_LIST_WITHCODE:YQe.default,functionListWithCode:YQe.default,FUNCTION_LIST:JQe.default,functionList:JQe.default,FUNCTION_LOAD:XQe.default,functionLoad:XQe.default,FUNCTION_RESTORE:ZQe.default,functionRestore:ZQe.default,FUNCTION_STATS:eGe.default,functionStats:eGe.default,GEOADD:gQe.default,geoAdd:gQe.default,GEODIST:AQe.default,geoDist:AQe.default,GEOHASH:yQe.default,geoHash:yQe.default,GEOPOS:xQe.default,geoPos:xQe.default,GEORADIUS_RO_WITH:bQe.default,geoRadiusRoWith:bQe.default,GEORADIUS_RO:EQe.default,geoRadiusRo:EQe.default,GEORADIUS_STORE:_Qe.default,geoRadiusStore:_Qe.default,GEORADIUS_WITH:SQe.default,geoRadiusWith:SQe.default,GEORADIUS:vQe.default,geoRadius:vQe.default,GEORADIUSBYMEMBER_RO_WITH:CQe.default,geoRadiusByMemberRoWith:CQe.default,GEORADIUSBYMEMBER_RO:IQe.default,geoRadiusByMemberRo:IQe.default,GEORADIUSBYMEMBER_STORE:TQe.default,geoRadiusByMemberStore:TQe.default,GEORADIUSBYMEMBER_WITH:wQe.default,geoRadiusByMemberWith:wQe.default,GEORADIUSBYMEMBER:RQe.default,geoRadiusByMember:RQe.default,GEOSEARCH_WITH:NQe.default,geoSearchWith:NQe.default,GEOSEARCH:OQe.default,geoSearch:OQe.default,GEOSEARCHSTORE:PQe.default,geoSearchStore:PQe.default,GET:DQe.default,get:DQe.default,GETBIT:kQe.default,getBit:kQe.default,GETDEL:LQe.default,getDel:LQe.default,GETEX:BQe.default,getEx:BQe.default,GETRANGE:MQe.default,getRange:MQe.default,GETSET:WQe.default,getSet:WQe.default,HDEL:tGe.default,hDel:tGe.default,HELLO:rGe.default,hello:rGe.default,HEXISTS:nGe.default,hExists:nGe.default,HEXPIRE:sGe.default,hExpire:sGe.default,HEXPIREAT:iGe.default,hExpireAt:iGe.default,HEXPIRETIME:aGe.default,hExpireTime:aGe.default,HGET:oGe.default,hGet:oGe.default,HGETALL:cGe.default,hGetAll:cGe.default,HGETDEL:uGe.default,hGetDel:uGe.default,HGETEX:lGe.default,hGetEx:lGe.default,HINCRBY:dGe.default,hIncrBy:dGe.default,HINCRBYFLOAT:fGe.default,hIncrByFloat:fGe.default,HKEYS:pGe.default,hKeys:pGe.default,HLEN:mGe.default,hLen:mGe.default,HMGET:hGe.default,hmGet:hGe.default,HPERSIST:gGe.default,hPersist:gGe.default,HPEXPIRE:AGe.default,hpExpire:AGe.default,HPEXPIREAT:yGe.default,hpExpireAt:yGe.default,HPEXPIRETIME:xGe.default,hpExpireTime:xGe.default,HPTTL:bGe.default,hpTTL:bGe.default,HRANDFIELD_COUNT_WITHVALUES:EGe.default,hRandFieldCountWithValues:EGe.default,HRANDFIELD_COUNT:_Ge.default,hRandFieldCount:_Ge.default,HRANDFIELD:SGe.default,hRandField:SGe.default,HSCAN:vGe.default,hScan:vGe.default,HSCAN_NOVALUES:CGe.default,hScanNoValues:CGe.default,HSET:IGe.default,hSet:IGe.default,HSETEX:TGe.default,hSetEx:TGe.default,HSETNX:wGe.default,hSetNX:wGe.default,HSTRLEN:RGe.default,hStrLen:RGe.default,HTTL:NGe.default,hTTL:NGe.default,HVALS:OGe.default,hVals:OGe.default,HOTKEYS_GET:PGe.default,hotkeysGet:PGe.default,HOTKEYS_RESET:DGe.default,hotkeysReset:DGe.default,HOTKEYS_START:kGe.default,hotkeysStart:kGe.default,HOTKEYS_STOP:LGe.default,hotkeysStop:LGe.default,INCR:BGe.default,incr:BGe.default,INCRBY:MGe.default,incrBy:MGe.default,INCRBYFLOAT:WGe.default,incrByFloat:WGe.default,INFO:$Ge.default,info:$Ge.default,KEYS:FGe.default,keys:FGe.default,LASTSAVE:UGe.default,lastSave:UGe.default,LATENCY_DOCTOR:qGe.default,latencyDoctor:qGe.default,LATENCY_GRAPH:jGe.default,latencyGraph:jGe.default,LATENCY_HISTORY:HGe.default,latencyHistory:HGe.default,LATENCY_HISTOGRAM:_Ye.default,latencyHistogram:_Ye.default,LATENCY_LATEST:QGe.default,latencyLatest:QGe.default,LATENCY_RESET:GGe.default,latencyReset:GGe.default,LCS_IDX_WITHMATCHLEN:VGe.default,lcsIdxWithMatchLen:VGe.default,LCS_IDX:zGe.default,lcsIdx:zGe.default,LCS_LEN:KGe.default,lcsLen:KGe.default,LCS:YGe.default,lcs:YGe.default,LINDEX:JGe.default,lIndex:JGe.default,LINSERT:XGe.default,lInsert:XGe.default,LLEN:ZGe.default,lLen:ZGe.default,LMOVE:eVe.default,lMove:eVe.default,LMPOP:tVe.default,lmPop:tVe.default,LOLWUT:Lur.default,LPOP_COUNT:rVe.default,lPopCount:rVe.default,LPOP:nVe.default,lPop:nVe.default,LPOS_COUNT:sVe.default,lPosCount:sVe.default,LPOS:iVe.default,lPos:iVe.default,LPUSH:aVe.default,lPush:aVe.default,LPUSHX:oVe.default,lPushX:oVe.default,LRANGE:cVe.default,lRange:cVe.default,LREM:uVe.default,lRem:uVe.default,LSET:lVe.default,lSet:lVe.default,LTRIM:dVe.default,lTrim:dVe.default,MEMORY_DOCTOR:fVe.default,memoryDoctor:fVe.default,"MEMORY_MALLOC-STATS":pVe.default,memoryMallocStats:pVe.default,MEMORY_PURGE:mVe.default,memoryPurge:mVe.default,MEMORY_STATS:hVe.default,memoryStats:hVe.default,MEMORY_USAGE:gVe.default,memoryUsage:gVe.default,MGET:AVe.default,mGet:AVe.default,MIGRATE:yVe.default,migrate:yVe.default,MODULE_LIST:xVe.default,moduleList:xVe.default,MODULE_LOAD:bVe.default,moduleLoad:bVe.default,MODULE_UNLOAD:EVe.default,moduleUnload:EVe.default,MOVE:_Ve.default,move:_Ve.default,MSET:SVe.default,mSet:SVe.default,MSETEX:vVe.default,mSetEx:vVe.default,MSETNX:CVe.default,mSetNX:CVe.default,OBJECT_ENCODING:IVe.default,objectEncoding:IVe.default,OBJECT_FREQ:TVe.default,objectFreq:TVe.default,OBJECT_IDLETIME:wVe.default,objectIdleTime:wVe.default,OBJECT_REFCOUNT:RVe.default,objectRefCount:RVe.default,PERSIST:NVe.default,persist:NVe.default,PEXPIRE:OVe.default,pExpire:OVe.default,PEXPIREAT:PVe.default,pExpireAt:PVe.default,PEXPIRETIME:DVe.default,pExpireTime:DVe.default,PFADD:kVe.default,pfAdd:kVe.default,PFCOUNT:LVe.default,pfCount:LVe.default,PFMERGE:BVe.default,pfMerge:BVe.default,PING:MVe.default,ping:MVe.default,PSETEX:WVe.default,pSetEx:WVe.default,PTTL:$Ve.default,pTTL:$Ve.default,PUBLISH:FVe.default,publish:FVe.default,PUBSUB_CHANNELS:UVe.default,pubSubChannels:UVe.default,PUBSUB_NUMPAT:qVe.default,pubSubNumPat:qVe.default,PUBSUB_NUMSUB:jVe.default,pubSubNumSub:jVe.default,PUBSUB_SHARDNUMSUB:HVe.default,pubSubShardNumSub:HVe.default,PUBSUB_SHARDCHANNELS:QVe.default,pubSubShardChannels:QVe.default,RANDOMKEY:GVe.default,randomKey:GVe.default,READONLY:VVe.default,readonly:VVe.default,RENAME:zVe.default,rename:zVe.default,RENAMENX:KVe.default,renameNX:KVe.default,REPLICAOF:YVe.default,replicaOf:YVe.default,"RESTORE-ASKING":JVe.default,restoreAsking:JVe.default,RESTORE:XVe.default,restore:XVe.default,RPOP_COUNT:eze.default,rPopCount:eze.default,ROLE:ZVe.default,role:ZVe.default,RPOP:tze.default,rPop:tze.default,RPOPLPUSH:rze.default,rPopLPush:rze.default,RPUSH:nze.default,rPush:nze.default,RPUSHX:sze.default,rPushX:sze.default,SADD:ize.default,sAdd:ize.default,SCAN:aze.default,scan:aze.default,SCARD:oze.default,sCard:oze.default,SCRIPT_DEBUG:cze.default,scriptDebug:cze.default,SCRIPT_EXISTS:uze.default,scriptExists:uze.default,SCRIPT_FLUSH:lze.default,scriptFlush:lze.default,SCRIPT_KILL:dze.default,scriptKill:dze.default,SCRIPT_LOAD:fze.default,scriptLoad:fze.default,SDIFF:pze.default,sDiff:pze.default,SDIFFSTORE:mze.default,sDiffStore:mze.default,SET:hze.default,set:hze.default,SETBIT:gze.default,setBit:gze.default,SETEX:Aze.default,setEx:Aze.default,SETNX:yze.default,setNX:yze.default,SETRANGE:xze.default,setRange:xze.default,SINTER:bze.default,sInter:bze.default,SINTERCARD:Eze.default,sInterCard:Eze.default,SINTERSTORE:_ze.default,sInterStore:_ze.default,SISMEMBER:Sze.default,sIsMember:Sze.default,SMEMBERS:vze.default,sMembers:vze.default,SMISMEMBER:Cze.default,smIsMember:Cze.default,SMOVE:Ize.default,sMove:Ize.default,SORT_RO:Tze.default,sortRo:Tze.default,SORT_STORE:wze.default,sortStore:wze.default,SORT:Rze.default,sort:Rze.default,SPOP_COUNT:Nze.default,sPopCount:Nze.default,SPOP:Oze.default,sPop:Oze.default,SPUBLISH:Pze.default,sPublish:Pze.default,SRANDMEMBER_COUNT:Dze.default,sRandMemberCount:Dze.default,SRANDMEMBER:kze.default,sRandMember:kze.default,SREM:Lze.default,sRem:Lze.default,SSCAN:Bze.default,sScan:Bze.default,STRLEN:Mze.default,strLen:Mze.default,SUNION:Wze.default,sUnion:Wze.default,SUNIONSTORE:$ze.default,sUnionStore:$ze.default,SWAPDB:Fze.default,swapDb:Fze.default,TIME:Uze.default,time:Uze.default,TOUCH:qze.default,touch:qze.default,TTL:jze.default,ttl:jze.default,TYPE:Hze.default,type:Hze.default,UNLINK:Qze.default,unlink:Qze.default,WAIT:Gze.default,wait:Gze.default,XACK:Vze.default,xAck:Vze.default,XACKDEL:zze.default,xAckDel:zze.default,XADD_NOMKSTREAM:Kze.default,xAddNoMkStream:Kze.default,XADD:Yze.default,xAdd:Yze.default,XAUTOCLAIM_JUSTID:Jze.default,xAutoClaimJustId:Jze.default,XAUTOCLAIM:Xze.default,xAutoClaim:Xze.default,XCLAIM_JUSTID:Zze.default,xClaimJustId:Zze.default,XCLAIM:eKe.default,xClaim:eKe.default,XCFGSET:tKe.default,xCfgSet:tKe.default,XDEL:rKe.default,xDel:rKe.default,XDELEX:nKe.default,xDelEx:nKe.default,XGROUP_CREATE:sKe.default,xGroupCreate:sKe.default,XGROUP_CREATECONSUMER:iKe.default,xGroupCreateConsumer:iKe.default,XGROUP_DELCONSUMER:aKe.default,xGroupDelConsumer:aKe.default,XGROUP_DESTROY:oKe.default,xGroupDestroy:oKe.default,XGROUP_SETID:cKe.default,xGroupSetId:cKe.default,XINFO_CONSUMERS:uKe.default,xInfoConsumers:uKe.default,XINFO_GROUPS:lKe.default,xInfoGroups:lKe.default,XINFO_STREAM:dKe.default,xInfoStream:dKe.default,XLEN:fKe.default,xLen:fKe.default,XPENDING_RANGE:pKe.default,xPendingRange:pKe.default,XPENDING:mKe.default,xPending:mKe.default,XRANGE:hKe.default,xRange:hKe.default,XREAD:gKe.default,xRead:gKe.default,XREADGROUP:AKe.default,xReadGroup:AKe.default,XREVRANGE:yKe.default,xRevRange:yKe.default,XSETID:xKe.default,xSetId:xKe.default,XTRIM:bKe.default,xTrim:bKe.default,ZADD_INCR:EKe.default,zAddIncr:EKe.default,ZADD:_Ke.default,zAdd:_Ke.default,ZCARD:SKe.default,zCard:SKe.default,ZCOUNT:vKe.default,zCount:vKe.default,ZDIFF_WITHSCORES:CKe.default,zDiffWithScores:CKe.default,ZDIFF:IKe.default,zDiff:IKe.default,ZDIFFSTORE:TKe.default,zDiffStore:TKe.default,ZINCRBY:wKe.default,zIncrBy:wKe.default,ZINTER_WITHSCORES:RKe.default,zInterWithScores:RKe.default,ZINTER:NKe.default,zInter:NKe.default,ZINTERCARD:OKe.default,zInterCard:OKe.default,ZINTERSTORE:PKe.default,zInterStore:PKe.default,ZLEXCOUNT:DKe.default,zLexCount:DKe.default,ZMPOP:kKe.default,zmPop:kKe.default,ZMSCORE:LKe.default,zmScore:LKe.default,ZPOPMAX_COUNT:BKe.default,zPopMaxCount:BKe.default,ZPOPMAX:MKe.default,zPopMax:MKe.default,ZPOPMIN_COUNT:WKe.default,zPopMinCount:WKe.default,ZPOPMIN:$Ke.default,zPopMin:$Ke.default,ZRANDMEMBER_COUNT_WITHSCORES:FKe.default,zRandMemberCountWithScores:FKe.default,ZRANDMEMBER_COUNT:UKe.default,zRandMemberCount:UKe.default,ZRANDMEMBER:qKe.default,zRandMember:qKe.default,ZRANGE_WITHSCORES:jKe.default,zRangeWithScores:jKe.default,ZRANGE:HKe.default,zRange:HKe.default,ZRANGEBYLEX:QKe.default,zRangeByLex:QKe.default,ZRANGEBYSCORE_WITHSCORES:GKe.default,zRangeByScoreWithScores:GKe.default,ZRANGEBYSCORE:VKe.default,zRangeByScore:VKe.default,ZRANGESTORE:zKe.default,zRangeStore:zKe.default,ZRANK_WITHSCORE:YKe.default,zRankWithScore:YKe.default,ZRANK:JKe.default,zRank:JKe.default,ZREM:XKe.default,zRem:XKe.default,ZREMRANGEBYLEX:ZKe.default,zRemRangeByLex:ZKe.default,ZREMRANGEBYRANK:eYe.default,zRemRangeByRank:eYe.default,ZREMRANGEBYSCORE:KKe.default,zRemRangeByScore:KKe.default,ZREVRANK:tYe.default,zRevRank:tYe.default,ZSCAN:rYe.default,zScan:rYe.default,ZSCORE:nYe.default,zScore:nYe.default,ZUNION_WITHSCORES:sYe.default,zUnionWithScores:sYe.default,ZUNION:iYe.default,zUnion:iYe.default,ZUNIONSTORE:aYe.default,zUnionStore:aYe.default,VADD:oYe.default,vAdd:oYe.default,VCARD:cYe.default,vCard:cYe.default,VDIM:uYe.default,vDim:uYe.default,VEMB:lYe.default,vEmb:lYe.default,VEMB_RAW:dYe.default,vEmbRaw:dYe.default,VGETATTR:fYe.default,vGetAttr:fYe.default,VINFO:pYe.default,vInfo:pYe.default,VLINKS:mYe.default,vLinks:mYe.default,VLINKS_WITHSCORES:hYe.default,vLinksWithScores:hYe.default,VRANDMEMBER:gYe.default,vRandMember:gYe.default,VRANGE:AYe.default,vRange:AYe.default,VREM:yYe.default,vRem:yYe.default,VSETATTR:xYe.default,vSetAttr:xYe.default,VSIM:bYe.default,vSim:bYe.default,VSIM_WITHSCORES:EYe.default,vSimWithScores:EYe.default};var Bur=$(yu()),{HOTKEYS_GET:qJr,hotkeysGet:jJr,HOTKEYS_RESET:HJr,hotkeysReset:QJr,HOTKEYS_START:GJr,hotkeysStart:VJr,HOTKEYS_STOP:zJr,hotkeysStop:KJr,...Mur}=Bur.default;Qn.NON_STICKY_COMMANDS=Mur});var HI=E(or=>{"use strict";var SYe=or&&or.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},vYe;Object.defineProperty(or,"__esModule",{value:!0});or.emitDiagnostics=or.dbgMaintenance=or.MAINTENANCE_EVENTS=or.SMIGRATED_EVENT=void 0;var CYe=require("net"),Wur=require("dns/promises"),_b=SYe(require("node:assert")),$ur=require("node:timers/promises"),Fur=SYe(require("node:diagnostics_channel"));or.SMIGRATED_EVENT="__SMIGRATED";or.MAINTENANCE_EVENTS={PAUSE_WRITING:"pause-writing",RESUME_WRITING:"resume-writing",TIMEOUTS_UPDATE:"timeouts-update"};var q0={MOVING:"MOVING",MIGRATING:"MIGRATING",MIGRATED:"MIGRATED",FAILING_OVER:"FAILING_OVER",FAILED_OVER:"FAILED_OVER",SMIGRATING:"SMIGRATING",SMIGRATED:"SMIGRATED"},Uur=(...t)=>{if(process.env.REDIS_DEBUG_MAINTENANCE)return console.log(new Date().toISOString().slice(11,23),"[MNT]",...t)};or.dbgMaintenance=Uur;var qur=t=>{if(!process.env.REDIS_EMIT_DIAGNOSTICS)return;Fur.default.channel("redis.maintenance").publish(t)};or.emitDiagnostics=qur;var lB=class{#e;#t;#r=0;#n;static setupDefaultMaintOptions(e){e.maintNotifications===void 0&&(e.maintNotifications=e?.RESP===3?"auto":"disabled"),e.maintEndpointType===void 0&&(e.maintEndpointType="auto"),e.maintRelaxedSocketTimeout===void 0&&(e.maintRelaxedSocketTimeout=1e4),e.maintRelaxedCommandTimeout===void 0&&(e.maintRelaxedCommandTimeout=1e4)}static async getHandshakeCommand(e){if(e.maintNotifications==="disabled")return;let r=e.url?new URL(e.url).hostname:e.socket?.host;if(!r)return;let n=e.socket?.tls??!1;return{cmd:["CLIENT","MAINT_NOTIFICATIONS","ON","moving-endpoint-type",await Hur(n,r,e)],errorHandler:i=>{if((0,or.dbgMaintenance)("handshake failed:",i),e.maintNotifications==="enabled")throw i}}}constructor(e,r,n){this.#e=e,this.#t=n,this.#n=r,this.#e.addPushHandler(this.#a)}#a=e=>{if((0,or.dbgMaintenance)("ONPUSH:",e.map(String)),!Array.isArray(e)||!Object.values(q0).includes(String(e[0])))return!1;let r=String(e[0]);switch((0,or.emitDiagnostics)({type:r,timestamp:Date.now(),data:{push:e.map(String)}}),r){case q0.MOVING:{let n=e[2],s=e[3]?String(e[3]):null;return(0,or.dbgMaintenance)("Received MOVING:",n,s),this.#o(n,s),!0}case q0.MIGRATING:case q0.SMIGRATING:case q0.FAILING_OVER:return(0,or.dbgMaintenance)("Received MIGRATING|SMIGRATING|FAILING_OVER"),this.#s(),!0;case q0.MIGRATED:case q0.FAILED_OVER:return(0,or.dbgMaintenance)("Received MIGRATED|FAILED_OVER"),this.#i(),!0;case q0.SMIGRATED:return(0,or.dbgMaintenance)("Received SMIGRATED"),this.#c(e),this.#i(),!0}return!1};#o=async(e,r)=>{this.#s();let n,s;if(r===null){(0,_b.default)(this.#t.maintEndpointType==="none");let{host:u,port:l}=this.#l();n=u,s=l;let d=e*1e3/2;(0,or.dbgMaintenance)(`Wait for ${d}ms`),await(0,$ur.setTimeout)(d)}else{let u=r.split(":");n=u[0],s=Number(u[1])}(0,or.dbgMaintenance)("Pausing writing of new commands to old socket"),this.#n._pause(),(0,or.dbgMaintenance)("Creating new tmp client");let i=performance.now();if(this.#t.url){let u=new URL(this.#t.url);u.hostname=n,u.port=String(s),this.#t.url=u.toString()}else this.#t.socket={...this.#t.socket,host:n,port:s};let a=this.#n.duplicate();a.on("error",u=>{(0,or.dbgMaintenance)("[ERR]",u)}),(0,or.dbgMaintenance)(`Tmp client created in ${(performance.now()-i).toFixed(2)}ms`),(0,or.dbgMaintenance)(`Set timeout for tmp client to ${this.#t.maintRelaxedSocketTimeout}`),a._maintenanceUpdate({relaxedCommandTimeout:this.#t.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#t.maintRelaxedSocketTimeout}),(0,or.dbgMaintenance)(`Connecting tmp client: ${n}:${s}`),i=performance.now(),await a.connect(),(0,or.dbgMaintenance)(`Connected to tmp client in ${(performance.now()-i).toFixed(2)}ms`),(0,or.dbgMaintenance)("Wait for all in-flight commands to complete"),await this.#e.waitForInflightCommandsToComplete(),(0,or.dbgMaintenance)("In-flight commands completed"),(0,or.dbgMaintenance)("Swap client sockets...");let o=this.#n._ejectSocket(),c=a._ejectSocket();this.#n._insertSocket(c),a._insertSocket(o),a.destroy(),(0,or.dbgMaintenance)("Swap client sockets done."),(0,or.dbgMaintenance)("Resume writing"),this.#n._unpause(),this.#i()};#s=()=>{if(this.#r++,this.#r>1){(0,or.dbgMaintenance)("Timeout relaxation already done");return}let e={relaxedCommandTimeout:this.#t.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#t.maintRelaxedSocketTimeout};this.#n._maintenanceUpdate(e)};#i=()=>{if(this.#r=Math.max(this.#r-1,0),this.#r>0){(0,or.dbgMaintenance)("Not ready to unrelax timeouts yet");return}let e={relaxedCommandTimeout:void 0,relaxedSocketTimeout:void 0};this.#n._maintenanceUpdate(e)};#c=e=>{let r=vYe.parseSMigratedPush(e);(0,or.dbgMaintenance)("emit smigratedEvent",r),this.#n._handleSmigrated(r)};static parseSMigratedPush(e){let r=new Map;for(let[s,i,a]of e[2]){let o=String(s),[c,u]=String(i).split(":"),l=String(a).split(",").map(p=>{let m=p.indexOf("-");return m===-1?Number(p):[Number(p.substring(0,m)),Number(p.substring(m+1))]}),d=r.get(o)??[],f=d.find(p=>p.addr.host===c&&p.addr.port===Number(u));f?f.slots=f.slots.concat(l):d.push({addr:{host:c,port:Number(u)},slots:l}),r.set(o,d)}let n=[];for(let[s,i]of r.entries()){let[a,o]=s.split(":");n.push({source:{host:a,port:Number(o)},destinations:i})}return{seqId:e[1],entries:n}}#l(){(0,_b.default)(this.#t.socket!==void 0),(0,_b.default)("host"in this.#t.socket),(0,_b.default)(typeof this.#t.socket.host=="string");let e=this.#t.socket.host;(0,_b.default)(typeof this.#t.socket.port=="number");let r=this.#t.socket.port;return{host:e,port:r}}};vYe=lB;or.default=lB;function jur(t){let e=(0,CYe.isIP)(t);if(e===4){let r=t.split(".").map(Number);return r[0]===10||r[0]===172&&r[1]>=16&&r[1]<=31||r[0]===192&&r[1]===168}return e===6?t.startsWith("fc")||t.startsWith("fd")||t==="::1"||t.startsWith("fe80"):!1}async function Hur(t,e,r){if((0,_b.default)(r.maintEndpointType!==void 0),r.maintEndpointType!=="auto")return(0,or.dbgMaintenance)(`Determine endpoint type: ${r.maintEndpointType}`),r.maintEndpointType;let n=(0,CYe.isIP)(e)?e:(await(0,Wur.lookup)(e,{family:0})).address,s=jur(n),i;return t?i=s?"internal-fqdn":"external-fqdn":i=s?"internal-ip":"external-ip",(0,or.dbgMaintenance)(`Determine endpoint type: ${i}`),i}});var OYe=E(QI=>{"use strict";var NYe=QI&&QI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(QI,"__esModule",{value:!0});var IYe=require("node:events"),TYe=NYe(require("node:net")),Qur=NYe(require("node:tls")),Ll=Pl(),wYe=require("node:timers/promises"),RYe=HI(),rre=class extends IYe.EventEmitter{#e;#t;#r;#n;#a;#o;#s;#i=!1;get isOpen(){return this.#i}#c=!1;get isReady(){return this.#c}#l=!1;#h=0;get socketEpoch(){return this.#h}constructor(e,r){super(),this.#e=e,this.#t=r?.connectTimeout??5e3,this.#r=this.#p(r),this.#n=this.#d(r),this.#a=r?.socketTimeout}#p(e){let r=e?.reconnectStrategy;return r===!1||typeof r=="number"?()=>r:r?(n,s)=>{try{let i=r(n,s);if(i!==!1&&!(i instanceof Error)&&typeof i!="number")throw new TypeError(`Reconnect strategy should return \`false | Error | number\`, got ${i} instead`);return i}catch(i){return this.emit("error",i),this.defaultReconnectStrategy(n,i)}}:this.defaultReconnectStrategy}#d(e){if(e?.tls===!0){let n={...e,port:e?.port??6379,noDelay:e?.noDelay??!0,keepAlive:e?.keepAlive??!0,keepAliveInitialDelay:e?.keepAliveInitialDelay??5e3,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return Qur.default.connect(n)},event:"secureConnect"}}if(e&&"path"in e){let n={...e,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return TYe.default.createConnection(n)},event:"connect"}}let r={...e,port:e?.port??6379,noDelay:e?.noDelay??!0,keepAlive:e?.keepAlive??!0,keepAliveInitialDelay:e?.keepAliveInitialDelay??5e3,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return TYe.default.createConnection(r)},event:"connect"}}#f(e,r){let n=this.#r(e,r);return n===!1?(this.#i=!1,this.emit("error",r),r):n instanceof Error?(this.#i=!1,this.emit("error",r),new Ll.ReconnectStrategyError(n,r)):n}async connect(){if(this.#i)throw new Error("Socket already opened");return this.#i=!0,this.#m()}async#m(){let e=0;do try{this.#s=await this.#y(),this.emit("connect");try{if(await this.#e(),!this.#s||this.#s.destroyed||!this.#s.readable||!this.#s.writable){let r=this.#f(e++,new Ll.SocketClosedUnexpectedlyError);if(typeof r!="number")throw r;await(0,wYe.setTimeout)(r),this.emit("reconnecting");continue}}catch(r){throw this.#s.destroy(),this.#s=void 0,r}this.#c=!0,this.#h++,this.emit("ready")}catch(r){let n=this.#f(e++,r);if(typeof n!="number")throw n;this.emit("error",r),await(0,wYe.setTimeout)(n),this.emit("reconnecting")}while(this.#i&&!this.#c)}setMaintenanceTimeout(e){if((0,RYe.dbgMaintenance)(`Set socket timeout to ${e}`),this.#o===e){(0,RYe.dbgMaintenance)(`Socket already set maintenanceCommandTimeout to ${e}, skipping`);return}this.#o=e,e!==void 0?this.#s?.setTimeout(e):this.#s?.setTimeout(this.#a??0)}async#y(){let e=this.#n.create(),r;return this.#t!==void 0&&(r=()=>e.destroy(new Ll.ConnectionTimeoutError),e.once("timeout",r),e.setTimeout(this.#t)),this.#l&&e.unref(),await(0,IYe.once)(e,this.#n.event),r&&e.removeListener("timeout",r),this.#a&&(e.once("timeout",()=>{let n=this.#o?new Ll.SocketTimeoutDuringMaintenanceError(this.#o):new Ll.SocketTimeoutError(this.#a);e.destroy(n)}),e.setTimeout(this.#a)),e.once("error",n=>this.#g(n)).once("close",n=>{n||!this.#i||this.#s!==e||this.#g(new Ll.SocketClosedUnexpectedlyError)}).on("drain",()=>this.emit("drain")).on("data",n=>this.emit("data",n)),e}#g(e){let r=this.#c;this.#c=!1,this.emit("error",e),!(!r||!this.#i||typeof this.#f(0,e)!="number")&&(this.emit("reconnecting"),this.#m().catch(()=>{}))}write(e){if(this.#s){this.#s.cork();for(let r of e){for(let n of r)this.#s.write(n);if(this.#s.writableNeedDrain)break}this.#s.uncork()}}async quit(e){if(!this.#i)throw new Ll.ClientClosedError;this.#i=!1;let r=await e();return this.destroySocket(),r}close(){if(!this.#i)throw new Ll.ClientClosedError;this.#i=!1}destroy(){if(!this.#i)throw new Ll.ClientClosedError;this.#i=!1,this.destroySocket()}destroySocket(){this.#c=!1,this.#s&&(this.#s.destroy(),this.#s=void 0),this.emit("end")}ref(){this.#l=!1,this.#s?.ref()}unref(){this.#l=!0,this.#s?.unref()}defaultReconnectStrategy(e,r){if(r instanceof Ll.SocketTimeoutError)return!1;let n=Math.floor(Math.random()*200);return Math.min(Math.pow(2,e)*50,2e3)+n}};QI.default=rre});var sre=E(dB=>{"use strict";Object.defineProperty(dB,"__esModule",{value:!0});dB.Token=void 0;var nre=class{value;expiresAtMs;receivedAtMs;constructor(e,r,n){this.value=e,this.expiresAtMs=r,this.receivedAtMs=n}getTtlMs(e){return this.expiresAtMs<e?0:this.expiresAtMs-e}};dB.Token=nre});var PYe=E(Sb=>{"use strict";Object.defineProperty(Sb,"__esModule",{value:!0});Sb.TokenManager=Sb.IDPError=void 0;var Gur=sre(),fB=class extends Error{message;isRetryable;constructor(e,r){super(e),this.message=e,this.isRetryable=r,this.name="IDPError"}};Sb.IDPError=fB;var ire=class{identityProvider;config;currentToken=null;refreshTimeout=null;listener=null;retryAttempt=0;constructor(e,r){if(this.identityProvider=e,this.config=r,this.config.expirationRefreshRatio>1)throw new Error("expirationRefreshRatio must be less than or equal to 1");if(this.config.expirationRefreshRatio<0)throw new Error("expirationRefreshRatio must be greater or equal to 0")}start(e,r=0){return this.listener&&this.stop(),this.listener=e,this.retryAttempt=0,this.scheduleNextRefresh(r),{dispose:()=>this.stop()}}calculateRetryDelay(){if(!this.config.retry)return 0;let{initialDelayMs:e,maxDelayMs:r,backoffMultiplier:n,jitterPercentage:s}=this.config.retry,i=e*Math.pow(n,this.retryAttempt-1);if(i=Math.min(i,r),s){let o=i*(s/100),c=Math.random()*o-o/2;i+=c}return Math.max(0,Math.floor(i))}shouldRetry(e){if(!this.config.retry)return!1;let{maxAttempts:r,isRetryable:n}=this.config.retry;return this.retryAttempt>=r?!1:n?n(e,this.retryAttempt):!1}isRunning(){return this.listener!==null}async refresh(){if(!this.listener)throw new Error("TokenManager is not running, but refresh was called");try{await this.identityProvider.requestToken().then(this.handleNewToken),this.retryAttempt=0}catch(e){if(this.shouldRetry(e)){this.retryAttempt++;let r=this.calculateRetryDelay();this.notifyError(`Token refresh failed (attempt ${this.retryAttempt}), retrying in ${r}ms: ${e}`,!0),this.scheduleNextRefresh(r)}else this.notifyError(e,!1),this.stop()}}handleNewToken=async({token:e,ttlMs:r})=>{if(!this.listener)throw new Error("TokenManager is not running, but a new token was received");let n=this.wrapAndSetCurrentToken(e,r);this.listener.onNext(n),this.scheduleNextRefresh(this.calculateRefreshTime(n))};wrapAndSetCurrentToken(e,r){let n=Date.now(),s=new Gur.Token(e,n+r,n);return this.currentToken=s,s}scheduleNextRefresh(e){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null),e===0?this.refresh():this.refreshTimeout=setTimeout(()=>this.refresh(),e)}calculateRefreshTime(e,r=Date.now()){let n=e.getTtlMs(r);return Math.floor(n*this.config.expirationRefreshRatio)}stop(){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null),this.listener=null,this.currentToken=null,this.retryAttempt=0}getCurrentToken(){return this.currentToken}notifyError(e,r){let n=e instanceof Error?e.message:String(e);if(!this.listener)throw new Error(`TokenManager is not running but received an error: ${n}`);this.listener.onError(new fB(n,r))}};Sb.TokenManager=ire});var DYe=E(vb=>{"use strict";Object.defineProperty(vb,"__esModule",{value:!0});vb.UnableToObtainNewCredentialsError=vb.CredentialsError=void 0;var are=class extends Error{constructor(e){super(`Re-authentication with latest credentials failed: ${e}`),this.name="CredentialsError"}};vb.CredentialsError=are;var ore=class extends Error{constructor(e){super(`Unable to obtain new credentials : ${e}`),this.name="UnableToObtainNewCredentialsError"}};vb.UnableToObtainNewCredentialsError=ore});var BYe=E(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.Token=Ic.CredentialsError=Ic.UnableToObtainNewCredentialsError=Ic.IDPError=Ic.TokenManager=void 0;var kYe=PYe();Object.defineProperty(Ic,"TokenManager",{enumerable:!0,get:function(){return kYe.TokenManager}});Object.defineProperty(Ic,"IDPError",{enumerable:!0,get:function(){return kYe.IDPError}});var LYe=DYe();Object.defineProperty(Ic,"UnableToObtainNewCredentialsError",{enumerable:!0,get:function(){return LYe.UnableToObtainNewCredentialsError}});Object.defineProperty(Ic,"CredentialsError",{enumerable:!0,get:function(){return LYe.CredentialsError}});var Vur=sre();Object.defineProperty(Ic,"Token",{enumerable:!0,get:function(){return Vur.Token}})});var mB=E(Bl=>{"use strict";var zur=Bl&&Bl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Bl,"__esModule",{value:!0});Bl.EmptyAwareSinglyLinkedList=Bl.SinglyLinkedList=Bl.DoublyLinkedList=void 0;var Kur=zur(require("events")),cre=class{#e=0;get length(){return this.#e}#t;get head(){return this.#t}#r;get tail(){return this.#r}push(e){return++this.#e,this.#r===void 0?this.#t=this.#r={previous:this.#t,next:void 0,value:e}:this.#r=this.#r.next={previous:this.#r,next:void 0,value:e}}unshift(e){return++this.#e,this.#t===void 0?this.#t=this.#r={previous:void 0,next:void 0,value:e}:this.#t=this.#t.previous={previous:void 0,next:this.#t,value:e}}add(e,r=!1){return r?this.unshift(e):this.push(e)}shift(){if(this.#t===void 0)return;--this.#e;let e=this.#t;return e.next?(e.next.previous=void 0,this.#t=e.next,e.next=void 0):this.#t=this.#r=void 0,e.value}remove(e){this.#e!==0&&(--this.#e,this.#r===e&&(this.#r=e.previous),this.#t===e?this.#t=e.next:(e.previous&&(e.previous.next=e.next),e.next&&(e.next.previous=e.previous)),e.previous=void 0,e.next=void 0)}reset(){this.#e=0,this.#t=this.#r=void 0}*[Symbol.iterator](){let e=this.#t;for(;e!==void 0;)yield e.value,e=e.next}*nodes(){let e=this.#t;for(;e;){let r=e.next;yield e,e=r}}};Bl.DoublyLinkedList=cre;var pB=class{#e=0;get length(){return this.#e}#t;get head(){return this.#t}#r;get tail(){return this.#r}push(e){++this.#e;let r={value:e,next:void 0,removed:!1};return this.#t===void 0?this.#t=this.#r=r:this.#r.next=this.#r=r}remove(e,r){if(e.removed)throw new Error("node already removed");--this.#e,this.#t===e?this.#r===e?this.#t=this.#r=void 0:this.#t=e.next:this.#r===e?(this.#r=r,r.next=void 0):r.next=e.next,e.removed=!0}shift(){if(this.#t===void 0)return;let e=this.#t;return--this.#e===0?this.#t=this.#r=void 0:this.#t=e.next,e.removed=!0,e.value}reset(){this.#e=0,this.#t=this.#r=void 0}*[Symbol.iterator](){let e=this.#t;for(;e!==void 0;)yield e.value,e=e.next}};Bl.SinglyLinkedList=pB;var ure=class extends pB{events=new Kur.default;reset(){let e=this.length;super.reset(),e!==this.length&&this.length===0&&this.events.emit("empty")}shift(){let e=this.length,r=super.shift();return e!==this.length&&this.length===0&&this.events.emit("empty"),r}remove(e,r){let n=this.length;super.remove(e,r),n!==this.length&&this.length===0&&this.events.emit("empty")}};Bl.EmptyAwareSinglyLinkedList=ure});var MYe=E(lre=>{"use strict";Object.defineProperty(lre,"__esModule",{value:!0});var GI=`\r
`;function Yur(t){let e=[],r="*"+t.length+GI;for(let n=0;n<t.length;n++){let s=t[n];if(typeof s=="string")r+="$"+Buffer.byteLength(s)+GI+s+GI;else if(s instanceof Buffer)e.push(r+"$"+s.length.toString()+GI,s),r=GI;else throw new TypeError(`"arguments[${n}]" must be of type "string | Buffer", got ${typeof s} instead.`)}return e.push(r),e}lre.default=Yur});var fre=E((iXr,dre)=>{var WYe=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920],Jur=function(e){for(var r,n=0,s=0,i=[],a=e.length;n<a;n++)r=e.charCodeAt(n),r<128?i[s++]=r:r<2048?(i[s++]=r>>6|192,i[s++]=r&63|128):(r&64512)===55296&&n+1<e.length&&(e.charCodeAt(n+1)&64512)===56320?(r=65536+((r&1023)<<10)+(e.charCodeAt(++n)&1023),i[s++]=r>>18|240,i[s++]=r>>12&63|128,i[s++]=r>>6&63|128,i[s++]=r&63|128):(i[s++]=r>>12|224,i[s++]=r>>6&63|128,i[s++]=r&63|128);return i},$Ye=dre.exports=function(e){for(var r,n=0,s=-1,i=0,a=0,o=typeof e=="string"?Jur(e):e,c=o.length;n<c;){if(r=o[n++],s===-1)r===123&&(s=n);else if(r!==125)a=WYe[(r^a>>8)&255]^a<<8;else if(n-1!==s)return a&16383;i=WYe[(r^i>>8)&255]^i<<8}return i&16383};dre.exports.generateMulti=function(e){for(var r=1,n=e.length,s=$Ye(e[0]);r<n;)if($Ye(e[r++])!==s)return-1;return s}});var VI=E(kt=>{"use strict";var Xur=kt&&kt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kt,"__esModule",{value:!0});kt.PubSub=kt.PUBSUB_TYPE=void 0;var Zur=Xur(fre());kt.PUBSUB_TYPE={CHANNELS:"CHANNELS",PATTERNS:"PATTERNS",SHARDED:"SHARDED"};var xi={[kt.PUBSUB_TYPE.CHANNELS]:{subscribe:Buffer.from("subscribe"),unsubscribe:Buffer.from("unsubscribe"),message:Buffer.from("message")},[kt.PUBSUB_TYPE.PATTERNS]:{subscribe:Buffer.from("psubscribe"),unsubscribe:Buffer.from("punsubscribe"),message:Buffer.from("pmessage")},[kt.PUBSUB_TYPE.SHARDED]:{subscribe:Buffer.from("ssubscribe"),unsubscribe:Buffer.from("sunsubscribe"),message:Buffer.from("smessage")}},pre=class t{static isStatusReply(e){let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];return xi[kt.PUBSUB_TYPE.CHANNELS].subscribe.equals(r)||xi[kt.PUBSUB_TYPE.CHANNELS].unsubscribe.equals(r)||xi[kt.PUBSUB_TYPE.PATTERNS].subscribe.equals(r)||xi[kt.PUBSUB_TYPE.PATTERNS].unsubscribe.equals(r)||xi[kt.PUBSUB_TYPE.SHARDED].subscribe.equals(r)}static isShardedUnsubscribe(e){let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];return xi[kt.PUBSUB_TYPE.SHARDED].unsubscribe.equals(r)}static#e(e){return Array.isArray(e)?e:[e]}static#t(e,r){return r?e.buffers:e.strings}#r=0;#n=!1;get isActive(){return this.#n}listeners={[kt.PUBSUB_TYPE.CHANNELS]:new Map,[kt.PUBSUB_TYPE.PATTERNS]:new Map,[kt.PUBSUB_TYPE.SHARDED]:new Map};subscribe(e,r,n,s){let i=[xi[e].subscribe],a=t.#e(r);for(let o of a){let c=this.listeners[e].get(o);(!c||c.unsubscribing)&&i.push(o)}if(i.length===1){for(let o of a)t.#t(this.listeners[e].get(o),s).add(n);return}return this.#n=!0,this.#r++,{args:i,channelsCounter:i.length-1,resolve:()=>{this.#r--;for(let o of a){let c=this.listeners[e].get(o);c||(c={unsubscribing:!1,buffers:new Set,strings:new Set},this.listeners[e].set(o,c)),t.#t(c,s).add(n)}},reject:()=>{this.#r--,this.#s()}}}extendChannelListeners(e,r,n){if(this.#a(e,r,n))return this.#n=!0,this.#r++,{args:[xi[e].subscribe,r],channelsCounter:1,resolve:()=>this.#r--,reject:()=>{this.#r--,this.#s()}}}#a(e,r,n){let s=this.listeners[e].get(r);if(!s)return this.listeners[e].set(r,n),!0;for(let i of n.buffers)s.buffers.add(i);for(let i of n.strings)s.strings.add(i);return!1}extendTypeListeners(e,r){let n=[xi[e].subscribe];for(let[s,i]of r)this.#a(e,s,i)&&n.push(s);if(n.length!==1)return this.#n=!0,this.#r++,{args:n,channelsCounter:n.length-1,resolve:()=>this.#r--,reject:()=>{this.#r--,this.#s()}}}unsubscribe(e,r,n,s){let i=this.listeners[e];if(!r)return this.#o([xi[e].unsubscribe],NaN,()=>i.clear());let a=t.#e(r);if(!n)return this.#o([xi[e].unsubscribe,...a],a.length,()=>{for(let c of a)i.delete(c)});let o=[xi[e].unsubscribe];for(let c of a){let u=i.get(c);if(u){let l,d;if(s?(l=u.buffers,d=u.strings):(l=u.strings,d=u.buffers),(l.has(n)?l.size-1:l.size)!==0||d.size!==0)continue;u.unsubscribing=!0}o.push(c)}if(o.length===1){for(let c of a)t.#t(i.get(c),s).delete(n);return}return this.#o(o,o.length-1,()=>{for(let c of a){let u=i.get(c);u&&((s?u.buffers:u.strings).delete(n),u.buffers.size===0&&u.strings.size===0&&i.delete(c))}})}#o(e,r,n){return{args:e,channelsCounter:r,resolve:()=>{n(),this.#s()},reject:void 0}}#s(){this.#n=this.listeners[kt.PUBSUB_TYPE.CHANNELS].size!==0||this.listeners[kt.PUBSUB_TYPE.PATTERNS].size!==0||this.listeners[kt.PUBSUB_TYPE.SHARDED].size!==0||this.#r!==0}reset(){this.#n=!1,this.#r=0}resubscribe(){let e=[];for(let[r,n]of Object.entries(this.listeners))n.size&&(this.#n=!0,r===kt.PUBSUB_TYPE.SHARDED?this.#c(e,n):this.#i(e,r,n));return e}#i(e,r,n){this.#r++;let s=()=>this.#r--;e.push({args:[xi[r].subscribe,...n.keys()],channelsCounter:n.size,resolve:s,reject:s})}#c(e,r){let n=()=>this.#r--;for(let s of r.keys())this.#r++,e.push({args:[xi[kt.PUBSUB_TYPE.SHARDED].subscribe,s],channelsCounter:1,resolve:n,reject:n})}handleMessageReply(e){let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];return xi[kt.PUBSUB_TYPE.CHANNELS].message.equals(r)?(this.#l(kt.PUBSUB_TYPE.CHANNELS,e[2],e[1]),!0):xi[kt.PUBSUB_TYPE.PATTERNS].message.equals(r)?(this.#l(kt.PUBSUB_TYPE.PATTERNS,e[3],e[2],e[1]),!0):xi[kt.PUBSUB_TYPE.SHARDED].message.equals(r)?(this.#l(kt.PUBSUB_TYPE.SHARDED,e[2],e[1]),!0):!1}removeShardedListeners(e){let r=this.listeners[kt.PUBSUB_TYPE.SHARDED].get(e);return this.listeners[kt.PUBSUB_TYPE.SHARDED].delete(e),this.#s(),r}removeAllListeners(){let e={[kt.PUBSUB_TYPE.CHANNELS]:this.listeners[kt.PUBSUB_TYPE.CHANNELS],[kt.PUBSUB_TYPE.PATTERNS]:this.listeners[kt.PUBSUB_TYPE.PATTERNS],[kt.PUBSUB_TYPE.SHARDED]:this.listeners[kt.PUBSUB_TYPE.SHARDED]};return this.#s(),this.listeners[kt.PUBSUB_TYPE.CHANNELS]=new Map,this.listeners[kt.PUBSUB_TYPE.PATTERNS]=new Map,this.listeners[kt.PUBSUB_TYPE.SHARDED]=new Map,e}removeShardedPubSubListenersForSlots(e){let r=new Map;for(let[n,s]of this.listeners[kt.PUBSUB_TYPE.SHARDED])e.has((0,Zur.default)(n))&&(r.set(n,s),this.listeners[kt.PUBSUB_TYPE.SHARDED].delete(n));return this.#s(),{[kt.PUBSUB_TYPE.SHARDED]:r}}#l(e,r,n,s){let i=(s??n).toString(),a=this.listeners[e].get(i);if(!a)return;for(let u of a.buffers)u(r,n);if(!a.strings.size)return;let o=s?n.toString():i,c=o==="__redis__:invalidate"?r===null?null:r.map(u=>u.toString()):r.toString();for(let u of a.strings)u(c,o)}};kt.PubSub=pre});var UYe=E(KI=>{"use strict";var elr=KI&&KI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(KI,"__esModule",{value:!0});var FYe=mB(),tlr=elr(MYe()),zI=tB(),mre=VI(),Cb=Pl(),Ib=HI(),rlr=Buffer.from("pong"),nlr=Buffer.from("RESET"),slr={...zI.PUSH_TYPE_MAPPING,[zI.RESP_TYPES.SIMPLE_STRING]:Buffer},hre=class t{#e;#t;#r=new FYe.DoublyLinkedList;#n=new FYe.EmptyAwareSinglyLinkedList;#a;#o;decoder;#s=new mre.PubSub;#i=[this.#p.bind(this)];#c;setMaintenanceCommandTimeout(e){if(this.#c===e){(0,Ib.dbgMaintenance)(`Queue already set maintenanceCommandTimeout to ${e}, skipping`);return}if((0,Ib.dbgMaintenance)(`Setting maintenance command timeout to ${e}`),this.#c=e,this.#c===void 0){(0,Ib.dbgMaintenance)("Queue will keep maintenanceCommandTimeout for exisitng commands, just to be on the safe side. New commands will receive normal timeouts");return}let r=0,n=this.#r.length;for(let s of this.#r.nodes()){let i=s.value;t.#C(i),r++;let a=this.#c,o=AbortSignal.timeout(a);i.timeout={signal:o,listener:()=>{this.#r.remove(s),i.reject(new Cb.CommandTimeoutDuringMaintenanceError(a))},originalTimeout:i.timeout?.originalTimeout},o.addEventListener("abort",i.timeout.listener,{once:!0})}(0,Ib.dbgMaintenance)(`Total of ${r} of ${n} timeouts reset to ${e}`)}get isPubSubActive(){return this.#s.isActive}constructor(e,r,n){this.#e=e,this.#t=r,this.#a=n,this.decoder=this.#f()}#l(e){this.#n.shift().resolve(e)}#h(e){this.#n.shift().reject(e)}#p(e){if(this.#s.handleMessageReply(e))return!0;let r=mre.PubSub.isShardedUnsubscribe(e);if(r&&!this.#n.length){let n=e[1].toString();return this.#a(n,this.#s.removeShardedListeners(n)),!0}else if(r||mre.PubSub.isStatusReply(e)){let n=this.#n.head.value;return(Number.isNaN(n.channelsCounter)&&e[2]===0||--n.channelsCounter===0)&&this.#n.shift().resolve(),!0}return!1}#d(){return this.#n.head.value.typeMapping??{}}#f(){return new zI.Decoder({onReply:e=>this.#l(e),onErrorReply:e=>this.#h(e),onPush:e=>{for(let r of this.#i)if(r(e))return},getTypeMapping:()=>this.#d()})}addPushHandler(e){this.#i.push(e)}async waitForInflightCommandsToComplete(e){if(this.#n.length!==0)return new Promise(r=>{let n=()=>{s&&clearTimeout(s),r()},s,i=e?.timeoutMs;i!==void 0&&i>0&&(s=setTimeout(()=>{this.#n.events.off("empty",n);let a=this.#n.length;(0,Ib.dbgMaintenance)(`waitForInflightCommandsToComplete timed out after ${i}ms with ${a} commands still waiting`),e?.flushOnTimeout&&a>0&&((0,Ib.dbgMaintenance)(`Flushing ${a} commands that timed out waiting for reply`),this.#S(new Cb.TimeoutError)),r()},i)),this.#n.events.once("empty",n)})}addCommand(e,r){return this.#t&&this.#r.length+this.#n.length>=this.#t?Promise.reject(new Error("The queue is full")):r?.abortSignal?.aborted?Promise.reject(new Cb.AbortError):new Promise((n,s)=>{let i,a={args:e,chainId:r?.chainId,abort:void 0,timeout:void 0,resolve:n,reject:s,channelsCounter:void 0,typeMapping:r?.typeMapping};a.slotNumber=r?.slotNumber;let o=this.#c??r?.timeout,c=this.#c!==void 0;if(o){let l=AbortSignal.timeout(o);a.timeout={signal:l,listener:()=>{this.#r.remove(i),a.reject(c?new Cb.CommandTimeoutDuringMaintenanceError(o):new Cb.TimeoutError)},originalTimeout:r?.timeout},l.addEventListener("abort",a.timeout.listener,{once:!0})}let u=r?.abortSignal;u&&(a.abort={signal:u,listener:()=>{this.#r.remove(i),a.reject(new Cb.AbortError)}},u.addEventListener("abort",a.abort.listener,{once:!0})),i=this.#r.add(a,r?.asap)})}#m(e,r=!1,n){return new Promise((s,i)=>{this.#r.add({args:e.args,chainId:n,abort:void 0,timeout:void 0,resolve(){e.resolve(),s()},reject(a){e.reject?.(),i(a)},channelsCounter:e.channelsCounter,typeMapping:zI.PUSH_TYPE_MAPPING},r)})}#y(){this.#e===2&&(this.decoder.onReply=e=>{if(Array.isArray(e)){if(this.#p(e))return;let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];if(rlr.equals(r)){let{resolve:n,typeMapping:s}=this.#n.shift(),i=e[1].length===0?e[0]:e[1];n(s?.[zI.RESP_TYPES.SIMPLE_STRING]===Buffer?i:i.toString());return}}return this.#l(e)},this.decoder.getTypeMapping=()=>slr)}subscribe(e,r,n,s){let i=this.#s.subscribe(e,r,n,s);if(i)return this.#y(),this.#m(i)}#g(){this.decoder.onReply=e=>this.#l(e),this.decoder.getTypeMapping=()=>this.#d()}unsubscribe(e,r,n,s){let i=this.#s.unsubscribe(e,r,n,s);if(i){if(i&&this.#e===2){let{resolve:a}=i;i.resolve=()=>{this.#s.isActive||this.#g(),a()}}return this.#m(i)}}removeAllPubSubListeners(){return this.#s.removeAllListeners()}removeShardedPubSubListenersForSlots(e){return this.#s.removeShardedPubSubListenersForSlots(e)}resubscribe(e){let r=this.#s.resubscribe();if(r.length)return this.#y(),Promise.all(r.map(n=>this.#m(n,!0,e)))}extendPubSubChannelListeners(e,r,n){let s=this.#s.extendChannelListeners(e,r,n);if(s)return this.#y(),this.#m(s)}extendPubSubListeners(e,r){let n=this.#s.extendTypeListeners(e,r);if(n)return this.#y(),this.#m(n)}getPubSubListeners(e){return this.#s.listeners[e]}monitor(e,r){return new Promise((n,s)=>{let i=r?.typeMapping??{};this.#r.add({args:["MONITOR"],chainId:r?.chainId,abort:void 0,timeout:void 0,resolve:()=>{this.#E?this.#E=e:this.decoder.onReply=e,this.decoder.getTypeMapping=()=>i,n()},reject:s,channelsCounter:void 0,typeMapping:i},r?.asap)})}resetDecoder(){this.#g(),this.decoder.reset()}#E;async reset(e,r){return new Promise((n,s)=>{this.#E=this.decoder.onReply,this.decoder.onReply=i=>{if(typeof i=="string"&&i==="RESET"||i instanceof Buffer&&nlr.equals(i)){this.#g(),this.#E=void 0,this.#s.reset(),this.#n.shift().resolve(i);return}this.#E(i)},this.#r.push({args:["RESET"],chainId:e,abort:void 0,timeout:void 0,resolve:n,reject:s,channelsCounter:void 0,typeMapping:r})})}isWaitingToWrite(){return this.#r.length>0}*commandsToWrite(){let e=this.#r.shift();for(;e;){let r;try{r=(0,tlr.default)(e.args)}catch(n){e.reject(n),e=this.#r.shift();continue}e.args=void 0,e.abort&&(t.#A(e),e.abort=void 0),e.timeout&&(t.#C(e),e.timeout=void 0),this.#o=e.chainId,e.chainId=void 0,this.#n.push(e),yield r,e=this.#r.shift()}}#S(e){for(let r of this.#n)r.reject(e);this.#n.reset()}static#A(e){e.abort.signal.removeEventListener("abort",e.abort.listener)}static#C(e){e.timeout?.signal.removeEventListener("abort",e.timeout.listener)}static#_(e,r){e.abort&&t.#A(e),e.timeout&&t.#C(e),e.reject(r)}flushWaitingForReply(e){if(this.resetDecoder(),this.#s.reset(),this.#S(e),!!this.#o){for(;this.#r.head?.value.chainId===this.#o;)t.#_(this.#r.shift(),e);this.#o=void 0}}flushAll(e){this.resetDecoder(),this.#s.reset(),this.#S(e);for(let r of this.#r)t.#_(r,e);this.#r.reset()}isEmpty(){return this.#r.length===0&&this.#n.length===0}extractCommandsForSlots(e){let r=[],n=this.#r.head;for(;n!==void 0;)if(n.value.slotNumber!==void 0&&e.has(n.value.slotNumber)){r.push(n.value);let s=n;n=n.next,this.#r.remove(s)}else n=n.next;return r}extractAllCommands(){let e=[],r=this.#r.head;for(;r;)e.push(r.value),this.#r.remove(r),r=r.next;return e}prependCommandsToWrite(e){if(e.length)for(let r=e.length-1;r>=0;r--)this.#r.unshift(e[r])}};KI.default=hre});var Wl=E(Ml=>{"use strict";Object.defineProperty(Ml,"__esModule",{value:!0});Ml.scriptArgumentsPrefix=Ml.functionArgumentsPrefix=Ml.getTransformReply=Ml.attachConfig=void 0;function qYe(){throw new Error("Some RESP3 results for Redis Query Engine responses may change. Refer to the readme for guidance")}function ilr({BaseClass:t,commands:e,createCommand:r,createModuleCommand:n,createFunctionCommand:s,createScriptCommand:i,config:a}){let o=a?.RESP??2,c=class extends t{};for(let[u,l]of Object.entries(e))a?.RESP==3&&l.unstableResp3&&!a.unstableResp3?c.prototype[u]=qYe:c.prototype[u]=r(l,o);if(a?.modules)for(let[u,l]of Object.entries(a.modules)){let d=Object.create(null);for(let[f,p]of Object.entries(l))a.RESP==3&&p.unstableResp3&&!a.unstableResp3?d[f]=qYe:d[f]=n(p,o);jYe(c.prototype,u,d)}if(a?.functions)for(let[u,l]of Object.entries(a.functions)){let d=Object.create(null);for(let[f,p]of Object.entries(l))d[f]=s(f,p,o);jYe(c.prototype,u,d)}if(a?.scripts)for(let[u,l]of Object.entries(a.scripts))c.prototype[u]=i(l,o);return c}Ml.attachConfig=ilr;function jYe(t,e,r){Object.defineProperty(t,e,{get(){let n=Object.create(r);return n._self=this,Object.defineProperty(this,e,{value:n}),n}})}function alr(t,e){switch(typeof t.transformReply){case"function":return t.transformReply;case"object":return t.transformReply[e]}}Ml.getTransformReply=alr;function olr(t,e){let r=[e.IS_READ_ONLY?"FCALL_RO":"FCALL",t];return e.NUMBER_OF_KEYS!==void 0&&r.push(e.NUMBER_OF_KEYS.toString()),r}Ml.functionArgumentsPrefix=olr;function clr(t){let e=[t.IS_READ_ONLY?"EVALSHA_RO":"EVALSHA",t.SHA1];return t.NUMBER_OF_KEYS!==void 0&&e.push(t.NUMBER_OF_KEYS.toString()),e}Ml.scriptArgumentsPrefix=clr});var YI=E(Are=>{"use strict";Object.defineProperty(Are,"__esModule",{value:!0});var HYe=Pl(),gre=class{typeMapping;constructor(e){this.typeMapping=e}queue=[];scriptsInUse=new Set;addCommand(e,r){this.queue.push({args:e,transformReply:r})}addScript(e,r,n){let s=[];s.preserve=r.preserve,this.scriptsInUse.has(e.SHA1)?s.push("EVALSHA",e.SHA1):(this.scriptsInUse.add(e.SHA1),s.push("EVAL",e.SCRIPT)),e.NUMBER_OF_KEYS!==void 0&&s.push(e.NUMBER_OF_KEYS.toString()),s.push(...r),this.addCommand(s,n)}transformReplies(e){let r=[],n=e.map((s,i)=>{if(s instanceof HYe.ErrorReply)return r.push(i),s;let{transformReply:a,args:o}=this.queue[i];return a?a(s,o.preserve,this.typeMapping):s});if(r.length)throw new HYe.MultiErrorReply(n,r);return n}};Are.default=gre});var xre=E(JI=>{"use strict";var QYe=JI&&JI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(JI,"__esModule",{value:!0});var ulr=QYe(yu()),llr=QYe(YI()),Tb=Wl(),hB=Dl(),yre=class t{static#e(e,r){let n=(0,Tb.getTransformReply)(e,r);return function(...s){let i=new hB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.addCommand(a,n)}}static#t(e,r){let n=(0,Tb.getTransformReply)(e,r);return function(...s){let i=new hB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this._self.addCommand(a,n)}}static#r(e,r,n){let s=(0,Tb.functionArgumentsPrefix)(e,r),i=(0,Tb.getTransformReply)(r,n);return function(...a){let o=new hB.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;return c.preserve=o.preserve,this._self.addCommand(c,i)}}static#n(e,r){let n=(0,Tb.getTransformReply)(e,r);return function(...s){let i=new hB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.#c(e,a,n)}}static extend(e){return(0,Tb.attachConfig)({BaseClass:t,commands:ulr.default,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e})}#a;#o;#s;#i;constructor(e,r,n){this.#a=new llr.default(n),this.#o=e,this.#s=r}SELECT(e,r){return this.#i=e,this.#a.addCommand(["SELECT",e.toString()],r),this}select=this.SELECT;addCommand(e,r){return this.#a.addCommand(e,r),this}#c(e,r,n){return this.#a.addScript(e,r,n),this}async exec(e=!1){return e?this.execAsPipeline():this.#a.transformReplies(await this.#o(this.#a.queue,this.#i))}EXEC=this.exec;execTyped(e=!1){return this.exec(e)}async execAsPipeline(){return this.#a.queue.length===0?[]:this.#a.transformReplies(await this.#s(this.#a.queue,this.#i))}execAsPipelineTyped(){return this.execAsPipeline()}};JI.default=yre});var zYe=E(Rb=>{"use strict";var GYe=Rb&&Rb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Rb,"__esModule",{value:!0});Rb.RedisLegacyClient=void 0;var dlr=Wl(),VYe=GYe(yu()),flr=GYe(YI()),wb=class t{static#e(e,r){let n;return typeof r[r.length-1]=="function"&&(n=r.pop()),t.pushArguments(e,r),n}static pushArguments(e,r){for(let n=0;n<r.length;++n){let s=r[n];Array.isArray(s)?t.pushArguments(e,s):e.push(typeof s=="number"||s instanceof Date?s.toString():s)}}static getTransformReply(e,r){return e.TRANSFORM_LEGACY_REPLY?(0,dlr.getTransformReply)(e,r):void 0}static#t(e,r,n){let s=t.getTransformReply(r,n);return function(...i){let a=[e],o=t.#e(a,i),c=this.#r.sendCommand(a);if(!o){c.catch(u=>this.#r.emit("error",u));return}c.then(u=>o(null,s?s(u):u)).catch(u=>o(u))}}#r;#n;constructor(e){this.#r=e;let r=e.options?.RESP??2;for(let[n,s]of Object.entries(VYe.default))this[n]=t.#t(n,s,r);this.#n=bre.factory(r)}sendCommand(...e){let r=[],n=t.#e(r,e),s=this.#r.sendCommand(r);if(!n){s.catch(i=>this.#r.emit("error",i));return}s.then(i=>n(null,i)).catch(i=>n(i))}multi(){return this.#n(this.#r)}};Rb.RedisLegacyClient=wb;var bre=class t{static#e(e,r,n){let s=wb.getTransformReply(r,n);return function(...i){let a=[e];return wb.pushArguments(a,i),this.#t.addCommand(a,s),this}}static factory(e){let r=class extends t{};for(let[n,s]of Object.entries(VYe.default))r.prototype[n]=t.#e(n,s,e);return n=>new r(n)}#t=new flr.default;#r;constructor(e){this.#r=e}sendCommand(...e){let r=[];return wb.pushArguments(r,e),this.#t.addCommand(r),this}exec(e){let r=this.#r._executeMulti(this.#t.queue);if(!e){r.catch(n=>this.#r.emit("error",n));return}r.then(n=>e(null,this.#t.transformReplies(n))).catch(n=>e?.(n))}}});var Nb=E(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.PooledNoRedirectClientSideCache=so.BasicPooledClientSideCache=so.PooledClientSideCacheProvider=so.BasicClientSideCache=so.ClientSideCacheProvider=so.CacheStats=void 0;var plr=require("stream"),XI=class t{hitCount;missCount;loadSuccessCount;loadFailureCount;totalLoadTime;evictionCount;constructor(e,r,n,s,i,a){if(this.hitCount=e,this.missCount=r,this.loadSuccessCount=n,this.loadFailureCount=s,this.totalLoadTime=i,this.evictionCount=a,e<0||r<0||n<0||s<0||i<0||a<0)throw new Error("All statistics values must be non-negative")}static of(e=0,r=0,n=0,s=0,i=0,a=0){return new t(e,r,n,s,i,a)}static empty(){return t.EMPTY_STATS}static EMPTY_STATS=new t(0,0,0,0,0,0);requestCount(){return this.hitCount+this.missCount}hitRate(){let e=this.requestCount();return e===0?1:this.hitCount/e}missRate(){let e=this.requestCount();return e===0?0:this.missCount/e}loadCount(){return this.loadSuccessCount+this.loadFailureCount}loadFailureRate(){let e=this.loadCount();return e===0?0:this.loadFailureCount/e}averageLoadPenalty(){let e=this.loadCount();return e===0?0:this.totalLoadTime/e}minus(e){return t.of(Math.max(0,this.hitCount-e.hitCount),Math.max(0,this.missCount-e.missCount),Math.max(0,this.loadSuccessCount-e.loadSuccessCount),Math.max(0,this.loadFailureCount-e.loadFailureCount),Math.max(0,this.totalLoadTime-e.totalLoadTime),Math.max(0,this.evictionCount-e.evictionCount))}plus(e){return t.of(this.hitCount+e.hitCount,this.missCount+e.missCount,this.loadSuccessCount+e.loadSuccessCount,this.loadFailureCount+e.loadFailureCount,this.totalLoadTime+e.totalLoadTime,this.evictionCount+e.evictionCount)}};so.CacheStats=XI;var gB=class t{static INSTANCE=new t;constructor(){}recordHits(e){}recordMisses(e){}recordLoadSuccess(e){}recordLoadFailure(e){}recordEvictions(e){}snapshot(){return XI.empty()}};function mlr(){return gB.INSTANCE}var AB=class t{#e=0;#t=0;#r=0;#n=0;#a=0;#o=0;recordHits(e){this.#e+=e}recordMisses(e){this.#t+=e}recordLoadSuccess(e){this.#r++,this.#a+=e}recordLoadFailure(e){this.#n++,this.#a+=e}recordEvictions(e){this.#o+=e}snapshot(){return XI.of(this.#e,this.#t,this.#r,this.#n,this.#a,this.#o)}static create(){return new t}};function hlr(t){let e=new Array(t.length*2);for(let r=0;r<t.length;r++)e[r]=t[r].length,e[r+t.length]=t[r];return e.join("_")}var yB=class{#e=!1;#t;constructor(e){e==0?this.#t=0:this.#t=Date.now()+e}invalidate(){this.#e=!0}validate(){return!this.#e&&(this.#t==0||Date.now()<this.#t)}},ZI=class extends yB{#e;get value(){return this.#e}constructor(e,r){super(e),this.#e=r}},eT=class extends yB{#e;get promise(){return this.#e}constructor(e,r){super(e),this.#e=r}},xB=class extends plr.EventEmitter{};so.ClientSideCacheProvider=xB;var bB=class extends xB{#e;#t;ttl;maxEntries;lru;#r;recordEvictions(e){this.#r.recordEvictions(e)}recordHits(e){this.#r.recordHits(e)}recordMisses(e){this.#r.recordMisses(e)}constructor(e){super(),this.#e=new Map,this.#t=new Map,this.ttl=e?.ttl??0,this.maxEntries=e?.maxEntries??0,this.lru=e?.evictPolicy!=="FIFO";let r=e?.recordStats!==!1;this.#r=r?AB.create():mlr()}async handleCache(e,r,n,s,i){let a,o=hlr(r.redisArgs),c=this.get(o);if(c){if(c instanceof ZI)return this.#r.recordHits(1),structuredClone(c.value);if(c instanceof eT)this.#r.recordMisses(1),a=await c.promise;else throw new Error("unknown cache entry type")}else{this.#r.recordMisses(1);let l=performance.now(),d=n();c=this.createPromiseEntry(e,d),this.set(o,c,r.keys);try{a=await d;let f=performance.now()-l;this.#r.recordLoadSuccess(f)}catch(f){let p=performance.now()-l;throw this.#r.recordLoadFailure(p),c.validate()&&this.delete(o),f}}let u;return s?u=s(a,r.preserve,i):u=a,c.validate()&&(c=this.createValueEntry(e,u),this.set(o,c,r.keys),this.emit("cached-key",o)),structuredClone(u)}trackingOn(){return["CLIENT","TRACKING","ON"]}invalidate(e){if(e===null){this.clear(!1),this.emit("invalidate",e);return}let r=this.#t.get(e.toString());if(r){for(let n of r){let s=this.#e.get(n);s&&s.invalidate(),this.#e.delete(n)}this.#t.delete(e.toString())}this.emit("invalidate",e)}clear(e=!0){let r=this.#e.size;this.#e.clear(),this.#t.clear(),e?this.#r instanceof gB||(this.#r=AB.create()):r>0&&this.#r.recordEvictions(r)}get(e){let r=this.#e.get(e);if(r&&!r.validate()){this.delete(e),this.#r.recordEvictions(1),this.emit("cache-evict",e);return}return r!==void 0&&this.lru&&(this.#e.delete(e),this.#e.set(e,r)),r}delete(e){let r=this.#e.get(e);r&&(r.invalidate(),this.#e.delete(e))}has(e){return this.#e.has(e)}set(e,r,n){let s=this.#e.size,i=this.#e.get(e);i&&(s--,i.invalidate()),this.maxEntries>0&&s>=this.maxEntries&&(this.deleteOldest(),this.#r.recordEvictions(1)),this.#e.set(e,r);for(let a of n)this.#t.has(a.toString())||this.#t.set(a.toString(),new Set),this.#t.get(a.toString()).add(e)}size(){return this.#e.size}createValueEntry(e,r){return new ZI(this.ttl,r)}createPromiseEntry(e,r){return new eT(this.ttl,r)}stats(){return this.#r.snapshot()}onError(){this.clear()}onClose(){this.clear()}deleteOldest(){let r=this.#e[Symbol.iterator]().next();if(!r.done){let n=r.value[0],s=this.#e.get(n);s&&s.invalidate(),this.#e.delete(n)}}entryEntries(){return this.#e.entries()}keySetEntries(){return this.#t.entries()}};so.BasicClientSideCache=bB;var EB=class extends bB{#e=!1;disable(){this.#e=!0}enable(){this.#e=!1}get(e){if(!this.#e)return super.get(e)}has(e){return this.#e?!1:super.has(e)}onPoolClose(){this.clear()}};so.PooledClientSideCacheProvider=EB;var _B=class extends EB{onError(){this.clear(!1)}onClose(){this.clear(!1)}};so.BasicPooledClientSideCache=_B;var Ere=class extends ZI{#e;constructor(e,r,n){super(e,n),this.#e=r}validate(){let e=super.validate();return this.#e&&(e=e&&this.#e.client.isReady&&this.#e.client.socketEpoch==this.#e.epoch),e}},_re=class extends eT{#e;constructor(e,r,n){super(e,n),this.#e=r}validate(){return super.validate()&&this.#e.client.isReady&&this.#e.client.socketEpoch==this.#e.epoch}},Sre=class extends _B{createValueEntry(e,r){let n={epoch:e.socketEpoch,client:e};return new Ere(this.ttl,n,r)}createPromiseEntry(e,r){let n={epoch:e.socketEpoch,client:e};return new _re(this.ttl,n,r)}onError(){}onClose(){}};so.PooledNoRedirectClientSideCache=Sre});var SB=E(Cre=>{"use strict";Object.defineProperty(Cre,"__esModule",{value:!0});var vre=class{#e;#t;get(e){return JSON.stringify(e,KYe())===this.#t?this.#e:void 0}set(e,r){this.#e=r,this.#t=JSON.stringify(e,KYe())}};Cre.default=vre;function KYe(){let t=new WeakSet;return function(r,n){return n&&typeof n=="object"?t.has(n)?"circular":(t.add(n),n):n}}});var Rre=E(Ob=>{"use strict";var wre=Ob&&Ob.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ob,"__esModule",{value:!0});Ob.RedisClientPool=void 0;var glr=yu(),Alr=wre(Pb()),ylr=require("node:events"),Ire=mB(),xlr=Pl(),mg=Wl(),blr=wre(xre()),YYe=Nb(),vB=Dl(),Elr=wre(SB()),Tre=class t extends ylr.EventEmitter{static#e(e,r){let n=(0,mg.getTransformReply)(e,r);return async function(...s){let i=new vB.BasicCommandParser;return e.parseCommand(i,...s),this.execute(a=>a._executeCommand(e,i,this._commandOptions,n))}}static#t(e,r){let n=(0,mg.getTransformReply)(e,r);return async function(...s){let i=new vB.BasicCommandParser;return e.parseCommand(i,...s),this._self.execute(a=>a._executeCommand(e,i,this._self._commandOptions,n))}}static#r(e,r,n){let s=(0,mg.functionArgumentsPrefix)(e,r),i=(0,mg.getTransformReply)(r,n);return async function(...a){let o=new vB.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self.execute(c=>c._executeCommand(r,o,this._self._commandOptions,i))}}static#n(e,r){let n=(0,mg.scriptArgumentsPrefix)(e),s=(0,mg.getTransformReply)(e,r);return async function(...i){let a=new vB.BasicCommandParser;return a.pushVariadic(n),e.parseCommand(a,...i),this.execute(o=>o._executeScript(e,a,this._commandOptions,s))}}static#a=new Elr.default;static create(e,r){let n=t.#a.get(e);return n||(n=(0,mg.attachConfig)({BaseClass:t,commands:glr.NON_STICKY_COMMANDS,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e}),n.prototype.Multi=blr.default.extend(e),t.#a.set(e,n)),Object.create(new n(e,r))}static#o={minimum:1,maximum:100,acquireTimeout:3e3,cleanupDelay:3e3};#s;#i;#c=new Ire.SinglyLinkedList;get idleClients(){return this._self.#c.length}#l=new Ire.DoublyLinkedList;get clientsInUse(){return this._self.#l.length}get totalClients(){return this._self.#c.length+this._self.#l.length}#h=new Ire.SinglyLinkedList;get tasksQueueLength(){return this._self.#h.length}#p=!1;get isOpen(){return this._self.#p}#d=!1;get isClosing(){return this._self.#d}#f;get clientSideCache(){return this._self.#f}constructor(e,r){if(super(),this.#i={...t.#o,...r},r?.clientSideCache)if(e===void 0&&(e={}),r.clientSideCache instanceof YYe.PooledClientSideCacheProvider)this.#f=e.clientSideCache=r.clientSideCache;else{let n=r.clientSideCache;this.#f=e.clientSideCache=new YYe.BasicPooledClientSideCache(n)}this.#s=Alr.default.factory(e).bind(void 0,e)}_self=this;_commandOptions;withCommandOptions(e){let r=Object.create(this._self);return r._commandOptions=e,r}#m(e,r){let n=Object.create(this._self);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._self.#m("typeMapping",e)}withAbortSignal(e){return this._self.#m("abortSignal",e)}asap(){return this._self.#m("asap",!0)}async connect(){if(this._self.#p)return;this._self.#p=!0;let e=[];for(;e.length<this._self.#i.minimum;)e.push(this._self.#y());try{await Promise.all(e)}catch(r){throw this.destroy(),r}return this}async#y(){let e=this._self.#l.push(this._self.#s().on("error",r=>this.emit("error",r)));try{await e.value.connect()}catch(r){throw this._self.#l.remove(e),r}this._self.#E(e)}execute(e){return new Promise((r,n)=>{let s=this._self.#c.shift(),{tail:i}=this._self.#h;if(!s){let o;this._self.#i.acquireTimeout>0&&(o=setTimeout(()=>{this._self.#h.remove(c,i),n(new xlr.TimeoutError("Timeout waiting for a client"))},this._self.#i.acquireTimeout));let c=this._self.#h.push({timeout:o,resolve:r,reject:n,fn:e});this.totalClients<this._self.#i.maximum&&this._self.#y();return}let a=this._self.#l.push(s);this._self.#g(a,r,n,e)})}#g(e,r,n,s){let i=s(e.value);i instanceof Promise?i.then(r,n).finally(()=>this.#E(e)):(r(i),this.#E(e))}#E(e){let r=this.#h.shift();if(r){clearTimeout(r.timeout),this.#g(e,r.resolve,r.reject,r.fn);return}this.#l.remove(e),this.#c.push(e.value),this.#S()}cleanupTimeout;#S(){this.totalClients<=this.#i.minimum||(clearTimeout(this.cleanupTimeout),this.cleanupTimeout=setTimeout(()=>this.#A(),this.#i.cleanupDelay))}#A(){let e=Math.min(this.#c.length,this.totalClients-this.#i.minimum);for(let r=0;r<e;r++)this.#c.shift().destroy()}sendCommand(e,r){return this.execute(n=>n.sendCommand(e,r))}MULTI(){return new this.Multi((e,r)=>this.execute(n=>n._executeMulti(e,r)),e=>this.execute(r=>r._executePipeline(e)),this._commandOptions?.typeMapping)}multi=this.MULTI;async close(){if(!this._self.#d&&this._self.#p){this._self.#d=!0;try{let e=[];for(let r of this._self.#c)e.push(r.close());for(let r of this._self.#l)e.push(r.close());await Promise.all(e),this._self.#f?.onPoolClose(),this._self.#c.reset(),this._self.#l.reset()}catch{}finally{this._self.#d=!1}}}destroy(){for(let e of this._self.#c)e.destroy();this._self.#c.reset();for(let e of this._self.#l)e.destroy();this._self.#f?.onPoolClose(),this._self.#l.reset(),this._self.#p=!1}};Ob.RedisClientPool=Tre});var JYe=E((AXr,_lr)=>{_lr.exports={name:"@redis/client",version:"5.11.0",license:"MIT",main:"./dist/index.js",types:"./dist/index.d.ts",files:["dist/","!dist/tsconfig.tsbuildinfo"],scripts:{test:"nyc -r text-summary -r lcov mocha -r tsx --reporter mocha-multi-reporters --reporter-options configFile=mocha-multi-reporter-config.json --exit './lib/**/*.spec.ts'",release:"release-it"},dependencies:{"cluster-key-slot":"1.1.2"},devDependencies:{"@node-rs/xxhash":"1.7.6","@redis/test-utils":"*","@types/sinon":"^17.0.3",sinon:"^17.0.1"},peerDependencies:{"@node-rs/xxhash":"^1.1.0"},peerDependenciesMeta:{"@node-rs/xxhash":{optional:!0}},engines:{node:">= 18"},repository:{type:"git",url:"git://github.com/redis/node-redis.git"},bugs:{url:"https://github.com/redis/node-redis/issues"},homepage:"https://github.com/redis/node-redis/tree/master/packages/client",keywords:["redis"]}});var Pb=E(bu=>{"use strict";var Slr=bu&&bu.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),vlr=bu&&bu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Clr=bu&&bu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Slr(e,t,r);return vlr(e,t),e},Lb=bu&&bu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},xu;Object.defineProperty(bu,"__esModule",{value:!0});var Db=Lb(yu()),Ilr=Lb(OYe()),XYe=BYe(),Tlr=Lb(UYe()),wlr=require("node:events"),hg=Wl(),j0=Pl(),Rlr=require("node:url"),kb=VI(),Nlr=Lb(xre()),Olr=Lb(qJ()),Plr=zYe(),Dlr=Rre(),gg=Ie(),ZYe=Nb(),CB=Dl(),klr=Lb(SB()),Llr=JYe(),IB=Clr(HI()),TB=class extends wlr.EventEmitter{static#e(e,r){let n=(0,hg.getTransformReply)(e,r);return async function(...s){let i=new CB.BasicCommandParser;return e.parseCommand(i,...s),this._self._executeCommand(e,i,this._commandOptions,n)}}static#t(e,r){let n=(0,hg.getTransformReply)(e,r);return async function(...s){let i=new CB.BasicCommandParser;return e.parseCommand(i,...s),this._self._executeCommand(e,i,this._self._commandOptions,n)}}static#r(e,r,n){let s=(0,hg.functionArgumentsPrefix)(e,r),i=(0,hg.getTransformReply)(r,n);return async function(...a){let o=new CB.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self._executeCommand(r,o,this._self._commandOptions,i)}}static#n(e,r){let n=(0,hg.scriptArgumentsPrefix)(e),s=(0,hg.getTransformReply)(e,r);return async function(...i){let a=new CB.BasicCommandParser;return a.push(...n),e.parseCommand(a,...i),this._executeScript(e,a,this._commandOptions,s)}}static#a=new klr.default;static factory(e){let r=xu.#a.get(e);return r||(r=(0,hg.attachConfig)({BaseClass:xu,commands:Db.default,createCommand:xu.#e,createModuleCommand:xu.#t,createFunctionCommand:xu.#r,createScriptCommand:xu.#n,config:e}),r.prototype.Multi=Nlr.default.extend(e),xu.#a.set(e,r)),n=>Object.create(new r(n))}static create(e){return xu.factory(e)(e)}static parseOptions(e){if(e?.url){let r=xu.parseURL(e.url);if(e.socket){if(e.socket.tls!==void 0&&e.socket.tls!==r.socket.tls)throw new TypeError(`tls socket option is set to ${e.socket.tls} which is mismatch with protocol or the URL ${e.url} passed`);r.socket=Object.assign(e.socket,r.socket)}Object.assign(e,r)}return e}static parseURL(e){let{hostname:r,port:n,protocol:s,username:i,password:a,pathname:o}=new Rlr.URL(e),c={socket:{host:r.replace(/^\[([0-9a-f:]+)\]$/,"$1"),tls:!1}};if(s!=="redis:"&&s!=="rediss:")throw new TypeError("Invalid protocol");if(c.socket.tls=s==="rediss:",n&&(c.socket.port=Number(n)),i&&(c.username=decodeURIComponent(i)),a&&(c.password=decodeURIComponent(a)),(i||a)&&(c.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:i?decodeURIComponent(i):void 0,password:a?decodeURIComponent(a):void 0})}),o.length>1){let u=Number(o.substring(1));if(isNaN(u))throw new TypeError("Invalid pathname");c.database=u}return c}#o;#s;#i;#c=0;#l;_self=this;_commandOptions;#h;#p;#d;#f=null;#m=!1;get clientSideCache(){return this._self.#d}get options(){return this._self.#o}get isOpen(){return this._self.#s.isOpen}get isReady(){return this._self.#s.isReady}get isPubSubActive(){return this._self.#i.isPubSubActive}get socketEpoch(){return this._self.#s.socketEpoch}get isWatching(){return this._self.#p!==void 0}get isDirtyWatch(){return this._self.#h!==void 0}setDirtyWatch(e){this._self.#h=e}constructor(e){if(super(),this.#y(e),this.#o=this.#g(e),this.#i=this.#E(),this.#s=this.#v(),this.#o.maintNotifications!=="disabled"&&new IB.default(this.#i,this,this.#o),this.#o.clientSideCache){if(this.#o.clientSideCache instanceof ZYe.ClientSideCacheProvider)this.#d=this.#o.clientSideCache;else{let r=this.#o.clientSideCache;this.#d=new ZYe.BasicClientSideCache(r)}this.#i.addPushHandler(r=>{if(r[0].toString()!=="invalidate")return!1;if(r[1]!==null)for(let n of r[1])this.#d?.invalidate(n);else this.#d?.invalidate(null);return!0})}else e?.emitInvalidate&&this.#i.addPushHandler(r=>{if(r[0].toString()!=="invalidate")return!1;if(r[1]!==null)for(let n of r[1])this.emit("invalidate",n);else this.emit("invalidate",null);return!0})}#y(e){if(e?.clientSideCache&&e?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3");if(e?.emitInvalidate&&e?.RESP!==3)throw new Error("emitInvalidate is only supported with RESP3");if(e?.clientSideCache&&e?.emitInvalidate)throw new Error("emitInvalidate is not supported (or necessary) when clientSideCache is enabled");if(e?.maintNotifications&&e?.maintNotifications!=="disabled"&&e?.RESP!==3)throw new Error("Graceful Maintenance is only supported with RESP3")}#g(e={}){if(!e.credentialsProvider&&(e.username||e.password)&&(e.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:e.username,password:e.password})}),e.database&&(this._self.#c=e.database),e.commandOptions&&(this._commandOptions=e.commandOptions),e.maintNotifications!=="disabled"&&IB.default.setupDefaultMaintOptions(e),e.url){let r=xu.parseOptions(e);return r?.database&&(this._self.#c=r.database),r}return e}#E(){return new Tlr.default(this.#o.RESP??2,this.#o.commandsQueueMaxLength,(e,r)=>this.emit("sharded-channel-moved",e,r))}reAuthenticate=async e=>{this.isPubSubActive&&!this.#o.RESP||await this.sendCommand((0,gg.parseArgs)(Db.default.AUTH,{username:e.username,password:e.password??""}))};#S(e){return e.subscribe({onNext:r=>{this.reAuthenticate(r).catch(n=>{let s=n instanceof Error?n.message:String(n);e.onReAuthenticationError(new XYe.CredentialsError(s))})},onError:r=>{let n=`Error from streaming credentials provider: ${r.message}`;e.onReAuthenticationError(new XYe.UnableToObtainNewCredentialsError(n))}})}async#A(e,r){let n=[],s=await this.#C();r&&s.reverse();for(let{cmd:i,errorHandler:a}of s)n.push(this.#i.addCommand(i,{chainId:e,asap:r}).catch(a));return n}async#C(){let e=[],r=this.#o.credentialsProvider;if(this.#o.RESP){let s={};if(r&&r.type==="async-credentials-provider"){let i=await r.credentials();i.password&&(s.AUTH={username:i.username??"default",password:i.password})}if(r&&r.type==="streaming-credentials-provider"){let[i,a]=await this.#S(r);this.#f=a,i.password&&(s.AUTH={username:i.username??"default",password:i.password})}this.#o.name&&(s.SETNAME=this.#o.name),e.push({cmd:(0,gg.parseArgs)(Olr.default,this.#o.RESP,s)})}else{if(r&&r.type==="async-credentials-provider"){let s=await r.credentials();(s.username||s.password)&&e.push({cmd:(0,gg.parseArgs)(Db.default.AUTH,{username:s.username,password:s.password??""})})}if(r&&r.type==="streaming-credentials-provider"){let[s,i]=await this.#S(r);this.#f=i,(s.username||s.password)&&e.push({cmd:(0,gg.parseArgs)(Db.default.AUTH,{username:s.username,password:s.password??""})})}this.#o.name&&e.push({cmd:(0,gg.parseArgs)(Db.default.CLIENT_SETNAME,this.#o.name)})}this.#c!==0&&e.push({cmd:["SELECT",this.#c.toString()]}),this.#o.readonly&&e.push({cmd:(0,gg.parseArgs)(Db.default.READONLY)}),this.#o.disableClientInfo||(e.push({cmd:["CLIENT","SETINFO","LIB-VER",Llr.version],errorHandler:()=>{}}),e.push({cmd:["CLIENT","SETINFO","LIB-NAME",this.#o.clientInfoTag?`node-redis(${this.#o.clientInfoTag})`:"node-redis"],errorHandler:()=>{}})),this.#d&&e.push({cmd:this.#d.trackingOn()}),this.#o?.emitInvalidate&&e.push({cmd:["CLIENT","TRACKING","ON"]});let n=await IB.default.getHandshakeCommand(this.#o);return n&&e.push(n),e}#_(e){e.on("data",r=>{try{this.#i.decoder.write(r)}catch(n){this.#i.resetDecoder(),this.emit("error",n)}}).on("error",r=>{this.emit("error",r),this.#d?.onError(),this.#s.isOpen&&!this.#o.disableOfflineQueue?this.#i.flushWaitingForReply(r):this.#i.flushAll(r)}).on("connect",()=>this.emit("connect")).on("ready",()=>{this.emit("ready"),this.#u(),this.#N()}).on("reconnecting",()=>this.emit("reconnecting")).on("drain",()=>this.#N()).on("end",()=>this.emit("end"))}#v(){let e=async()=>{let n=[],s=Symbol("Socket Initiator"),i=this.#i.resubscribe(s);if(i?.catch(a=>{a.message&&a.message.startsWith("MOVED")&&this.emit("__MOVED",this._self.#i.removeAllPubSubListeners())}),i&&n.push(i),this.#l&&n.push(this.#i.monitor(this.#l,{typeMapping:this._commandOptions?.typeMapping,chainId:s,asap:!0})),n.push(...await this.#A(s,!0)),n.length)return this.#P(),Promise.all(n)},r=new Ilr.default(e,this.#o.socket);return this.#_(r),r}#b;#u(){!this.#o.pingInterval||!this.#s.isReady||(clearTimeout(this.#b),this.#b=setTimeout(()=>{this.#s.isReady&&this.sendCommand(["PING"]).then(e=>this.emit("ping-interval",e)).catch(e=>this.emit("error",e)).finally(()=>this.#u())},this.#o.pingInterval))}withCommandOptions(e){let r=Object.create(this._self);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this._self);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}withAbortSignal(e){return this._commandOptionsProxy("abortSignal",e)}asap(){return this._commandOptionsProxy("asap",!0)}legacy(){return new Plr.RedisLegacyClient(this)}createPool(e){return Dlr.RedisClientPool.create(this._self.#o,e)}duplicate(e){return new(Object.getPrototypeOf(this)).constructor({...this._self.#o,commandOptions:this._commandOptions,...e})}async connect(){return await this._self.#s.connect(),this}_ejectSocket(){let e=this._self.#s;return this._self.#s=null,e.removeAllListeners(),e}_insertSocket(e){this._self.#s&&this._self._ejectSocket().destroy(),this._self.#s=e,this._self.#_(this._self.#s)}_maintenanceUpdate(e){this._self.#s.setMaintenanceTimeout(e.relaxedSocketTimeout),this._self.#i.setMaintenanceCommandTimeout(e.relaxedCommandTimeout)}_pause(){this._self.#m=!0}_unpause(){this._self.#m=!1,this._self.#N()}_handleSmigrated(e){this._self.emit(IB.SMIGRATED_EVENT,e)}_getQueue(){return this._self.#i}async _executeCommand(e,r,n,s){let i=this._self.#d,a=this._self.#o.commandOptions===n||this._self.#o.commandOptions?.typeMapping===n?.typeMapping,o=()=>this.sendCommand(r.redisArgs,n);if(i&&e.CACHEABLE&&a)return await i.handleCache(this._self,r,o,s,n?.typeMapping);{let c=await o();return s?s(c,r.preserve,n?.typeMapping):c}}async _executeScript(e,r,n,s){let i=r.redisArgs,a;try{a=await this.sendCommand(i,n)}catch(o){if(!o?.message?.startsWith?.("NOSCRIPT"))throw o;i[0]="EVAL",i[1]=e.SCRIPT,a=await this.sendCommand(i,n)}return s?s(a,r.preserve,n?.typeMapping):a}sendCommand(e,r){if(this._self.#s.isOpen){if(!this._self.#s.isReady&&this._self.#o.disableOfflineQueue)return Promise.reject(new j0.ClientOfflineError)}else return Promise.reject(new j0.ClientClosedError);let n={...this._self._commandOptions,...r},s=this._self.#i.addCommand(e,n);return this._self.#I(),s}async SELECT(e){await this.sendCommand(["SELECT",e.toString()]),this._self.#c=e}select=this.SELECT;#x(e){return e===void 0?Promise.resolve():(this.#I(),e)}SUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.subscribe(kb.PUBSUB_TYPE.CHANNELS,e,r,n))}subscribe=this.SUBSCRIBE;UNSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.unsubscribe(kb.PUBSUB_TYPE.CHANNELS,e,r,n))}unsubscribe=this.UNSUBSCRIBE;PSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.subscribe(kb.PUBSUB_TYPE.PATTERNS,e,r,n))}pSubscribe=this.PSUBSCRIBE;PUNSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.unsubscribe(kb.PUBSUB_TYPE.PATTERNS,e,r,n))}pUnsubscribe=this.PUNSUBSCRIBE;SSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.subscribe(kb.PUBSUB_TYPE.SHARDED,e,r,n))}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.unsubscribe(kb.PUBSUB_TYPE.SHARDED,e,r,n))}sUnsubscribe=this.SUNSUBSCRIBE;async WATCH(e){let r=await this._self.sendCommand((0,gg.pushVariadicArguments)(["WATCH"],e));return this._self.#p??=this._self.socketEpoch,r}watch=this.WATCH;async UNWATCH(){let e=await this._self.sendCommand(["UNWATCH"]);return this._self.#p=void 0,e}unwatch=this.UNWATCH;getPubSubListeners(e){return this._self.#i.getPubSubListeners(e)}extendPubSubChannelListeners(e,r,n){return this._self.#x(this._self.#i.extendPubSubChannelListeners(e,r,n))}extendPubSubListeners(e,r){return this._self.#x(this._self.#i.extendPubSubListeners(e,r))}#P(){this.#m||this.#s.write(this.#i.commandsToWrite())}#T;#I(){!this.#s.isReady||this.#T||(this.#T=setImmediate(()=>{this.#P(),this.#T=void 0}))}#N(){this.#i.isWaitingToWrite()&&this.#I()}async _executePipeline(e,r){if(!this._self.#s.isOpen)return Promise.reject(new j0.ClientClosedError);let n=Symbol("Pipeline Chain"),s=Promise.all(e.map(({args:a})=>this._self.#i.addCommand(a,{chainId:n,typeMapping:this._commandOptions?.typeMapping})));this._self.#I();let i=await s;return r!==void 0&&(this._self.#c=r),i}async _executeMulti(e,r){let n=this._self.#h;this._self.#h=void 0;let s=this._self.#p;if(this._self.#p=void 0,!this._self.#s.isOpen)throw new j0.ClientClosedError;if(n)throw new j0.WatchError(n);if(s&&s!==this._self.socketEpoch)throw new j0.WatchError("Client reconnected after WATCH");let i=this._commandOptions?.typeMapping,a=Symbol("MULTI Chain"),o=[this._self.#i.addCommand(["MULTI"],{chainId:a})];for(let{args:l}of e)o.push(this._self.#i.addCommand(l,{chainId:a,typeMapping:i}));o.push(this._self.#i.addCommand(["EXEC"],{chainId:a})),this._self.#I();let c=await Promise.all(o),u=c[c.length-1];if(u===null)throw new j0.WatchError;return r!==void 0&&(this._self.#c=r),u}MULTI(){return new this.Multi(this._executeMulti.bind(this),this._executePipeline.bind(this),this._commandOptions?.typeMapping)}multi=this.MULTI;async*scanIterator(e){let r=e?.cursor??"0";do{let n=await this.scan(r,e);r=n.cursor,yield n.keys}while(r!=="0")}async*hScanIterator(e,r){let n=r?.cursor??"0";do{let s=await this.hScan(e,n,r);n=s.cursor,yield s.entries}while(n!=="0")}async*hScanValuesIterator(e,r){let n=r?.cursor??"0";do{let s=await this.hScanNoValues(e,n,r);n=s.cursor,yield s.fields}while(n!=="0")}async*hScanNoValuesIterator(e,r){let n=r?.cursor??"0";do{let s=await this.hScanNoValues(e,n,r);n=s.cursor,yield s.fields}while(n!=="0")}async*sScanIterator(e,r){let n=r?.cursor??"0";do{let s=await this.sScan(e,n,r);n=s.cursor,yield s.members}while(n!=="0")}async*zScanIterator(e,r){let n=r?.cursor??"0";do{let s=await this.zScan(e,n,r);n=s.cursor,yield s.members}while(n!=="0")}async MONITOR(e){let r=this._self.#i.monitor(e,{typeMapping:this._commandOptions?.typeMapping});this._self.#I(),await r,this._self.#l=e}monitor=this.MONITOR;async reset(){let e=Symbol("Reset Chain"),r=[this._self.#i.reset(e)],n=this._self.#o?.database??0;this._self.#f?.dispose(),this._self.#f=null,r.push(...await this._self.#A(e,!1)),this._self.#I(),await Promise.all(r),this._self.#c=n,this._self.#l=void 0,this._self.#h=void 0,this._self.#p=void 0}resetIfDirty(){let e=!1;if(this._self.#c!==(this._self.#o?.database??0)&&(console.warn("Returning a client with a different selected DB"),e=!0),this._self.#l&&(console.warn("Returning a client with active MONITOR"),e=!0),this._self.#i.isPubSubActive&&(console.warn("Returning a client with active PubSub"),e=!0),(this._self.#h||this._self.#p)&&(console.warn("Returning a client with active WATCH"),e=!0),e)return this.reset()}QUIT(){return this._self.#f?.dispose(),this._self.#f=null,this._self.#s.quit(async()=>{clearTimeout(this._self.#b);let e=this._self.#i.addCommand(["QUIT"]);return this._self.#I(),e})}quit=this.QUIT;disconnect(){return Promise.resolve(this.destroy())}close(){return new Promise(e=>{if(clearTimeout(this._self.#b),this._self.#s.close(),this._self.#d?.onClose(),this._self.#i.isEmpty())return this._self.#s.destroySocket(),e();let r=()=>{this._self.#i.isEmpty()&&(this._self.#s.off("data",r),this._self.#s.destroySocket(),e())};this._self.#s.on("data",r),this._self.#f?.dispose(),this._self.#f=null})}destroy(){clearTimeout(this._self.#b),this._self.#i.flushAll(new j0.DisconnectsClientError),this._self.#s.destroy(),this._self.#d?.onClose(),this._self.#f?.dispose(),this._self.#f=null}ref(){this._self.#s.ref()}unref(){this._self.#s.unref()}};xu=TB;bu.default=TB});var rJe=E($l=>{"use strict";var tJe=$l&&$l.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Ore;Object.defineProperty($l,"__esModule",{value:!0});$l.RESUBSCRIBE_LISTENERS_EVENT=void 0;var Blr=Pl(),Mlr=tJe(Pb()),Do=VI(),Nre=tJe(fre()),eJe=Nb(),io=HI();$l.RESUBSCRIBE_LISTENERS_EVENT="__resubscribeListeners";var wB=class{static#e=16384;#t;#r;#n;slots=new Array(Ore.#e);masters=new Array;replicas=new Array;nodeByAddress=new Map;pubSubNode;clientSideCache;smigratedSeqIdsSeen=new Set;#a=!1;get isOpen(){return this.#a}#o(e){if(e?.clientSideCache&&e?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3")}constructor(e,r){this.#o(e),this.#t=e,e?.clientSideCache&&(e.clientSideCache instanceof eJe.PooledClientSideCacheProvider?this.clientSideCache=e.clientSideCache:this.clientSideCache=new eJe.BasicPooledClientSideCache(e.clientSideCache)),this.#r=Mlr.default.factory(this.#t),this.#n=r}async connect(){if(this.#a)throw new Error("Cluster already open");this.#a=!0;try{await this.#s(),this.#n("connect")}catch(e){throw this.#a=!1,e}}async#s(){let e=Math.floor(Math.random()*this.#t.rootNodes.length);for(let r=e;r<this.#t.rootNodes.length;r++){if(!this.#a)throw new Error("Cluster closed");if(await this.#c(this.#t.rootNodes[r]))return}for(let r=0;r<e;r++){if(!this.#a)throw new Error("Cluster closed");if(await this.#c(this.#t.rootNodes[r]))return}throw new Blr.RootNodesUnavailableError}#i(){this.slots=new Array(Ore.#e),this.masters=[],this.replicas=[],this._randomNodeIterator=void 0}async#c(e){this.clientSideCache?.clear(),this.clientSideCache?.disable();try{let r=new Set,n=[],s=this.#t.minimizeConnections!==!0,i=await this.#h(e);this.#i();for(let{from:a,to:o,master:c,replicas:u}of i){let l={master:this.#f(c,!1,s,r,n)};this.#t.useReplicas&&(l.replicas=u.map(d=>this.#f(d,!0,s,r,n)));for(let d=a;d<=o;d++)this.slots[d]=l}if(this.pubSubNode&&!r.has(this.pubSubNode.address)){let a=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.CHANNELS),o=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.PATTERNS);this.pubSubNode.client.destroy(),(a.size||o.size)&&n.push(this.#v({[Do.PUBSUB_TYPE.CHANNELS]:a,[Do.PUBSUB_TYPE.PATTERNS]:o}))}for(let[a,o]of this.nodeByAddress.entries()){if(r.has(a))continue;o.client&&o.client.destroy();let{pubSub:c}=o;c&&c.client.destroy(),this.nodeByAddress.delete(a)}return await Promise.all(n),this.clientSideCache?.enable(),!0}catch(r){return this.#n("error",r),!1}}#l=async e=>{if((0,io.dbgMaintenance)("[CSlots]: handle smigrated",JSON.stringify(e,null,2)),this.smigratedSeqIdsSeen.has(e.seqId)){(0,io.dbgMaintenance)(`[CSlots]: sequence id ${e.seqId} already seen, abort`);return}this.smigratedSeqIdsSeen.add(e.seqId);for(let r of e.entries){let n=`${r.source.host}:${r.source.port}`,s=this.nodeByAddress.get(n);if((0,io.dbgMaintenance)(`[CSlots]: Looking for sourceAddress=${n}. Available addresses in nodeByAddress: ${Array.from(this.nodeByAddress.keys()).join(", ")}`),!s){(0,io.dbgMaintenance)(`[CSlots]: address ${n} not in 'nodeByAddress', skipping this entry`);continue}if(s.client===void 0){(0,io.dbgMaintenance)(`[CSlots]: Node for ${n} does not have a client, skipping this entry`);continue}let i=new Set;try{s.client?._pause(),"pubSub"in s&&s.pubSub?.client._pause();let a;for(let{addr:{host:d,port:f},slots:p}of r.destinations){let m=`${d}:${f}`,h=this.nodeByAddress.get(m);(0,io.dbgMaintenance)(`[CSlots]: Looking for destAddress=${m}. Found in nodeByAddress: ${h?"YES":"NO"}`);let A;if(h){let y=[...new Set(this.slots)].map(v=>`${v.master.host}:${v.master.port}`);(0,io.dbgMaintenance)(`[CSlots]: Searching for shard with host=${d}, port=${f}. Available masters in slots: ${y.join(", ")}`);let x=this.slots.find(v=>v.master.host===d&&v.master.port===f);if(!x)throw(0,io.dbgMaintenance)("Could not find shard"),new Error("Could not find shard");A=x,h.client?._pause(),h.pubSub?.client._pause()}else{let y=[];h=this.#f({host:d,port:f,id:`smigrated-${d}:${f}`},!1,!0,new Set,y),await Promise.all([...y,this.#b(h)]),h.client?._pause(),h.pubSub?.client._pause(),A={master:h}}a=h;let g=new Set;for(let y of p)if(typeof y=="number")this.slots[y]=A,g.add(y),i.add(y);else for(let x=y[0];x<=y[1];x++)this.slots[x]=A,g.add(x),i.add(x);(0,io.dbgMaintenance)(`[CSlots]: Updated slots to point to destination ${h.address}. Sample slots: ${Array.from(p).slice(0,5).join(", ")}${p.length>5?"...":""}`);let b=s.client._getQueue().extractCommandsForSlots(g);h.client?._getQueue().prependCommandsToWrite(b),(0,io.dbgMaintenance)(`[CSlots]: Extracted ${b.length} commands for ${g.size} slots, prepended to ${h.address}`),h.client?._unpause(),h.pubSub?.client._unpause()}(0,io.dbgMaintenance)(`[CSlots]: Total ${i.size} slots moved from ${n}. Sample: ${Array.from(i).slice(0,10).join(", ")}${i.size>10?"...":""}`);let o=5e3,c=[],u={timeoutMs:o,flushOnTimeout:!0};if(c.push(s.client._getQueue().waitForInflightCommandsToComplete(u)),"pubSub"in s&&s.pubSub!==void 0&&c.push(s.pubSub.client._getQueue().waitForInflightCommandsToComplete(u)),this.pubSubNode?.address===n&&c.push(this.pubSubNode.client._getQueue().waitForInflightCommandsToComplete(u)),await Promise.all(c),this.slots.find(d=>d.master.address===n)!==void 0){if("pubSub"in s){let d=s.pubSub?.client._getQueue().removeShardedPubSubListenersForSlots(i);this.#n($l.RESUBSCRIBE_LISTENERS_EVENT,d)}s.client?._unpause(),"pubSub"in s&&s.pubSub?.client._unpause()}else{let d=s.client._getQueue().extractAllCommands();if(d.length>0&&a&&(a.client?._getQueue().prependCommandsToWrite(d),a.client?._unpause(),(0,io.dbgMaintenance)(`[CSlots]: Moved ${d.length} remaining slotless commands to ${a.address}`)),"pubSub"in s){let f=s.pubSub?.client._getQueue().removeAllPubSubListeners();this.#n($l.RESUBSCRIBE_LISTENERS_EVENT,f)}if(this.masters=this.masters.filter(f=>f.address!==n),this.replicas=this.replicas.filter(f=>f.address!==n),this.nodeByAddress.delete(n),this.pubSubNode?.address===n){let f=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.CHANNELS),p=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.PATTERNS),m=this.pubSubNode.client;f.size||p.size?await this.#v({[Do.PUBSUB_TYPE.CHANNELS]:f,[Do.PUBSUB_TYPE.PATTERNS]:p}):this.pubSubNode=void 0,m.destroy()}s.client?.destroy(),"pubSub"in s&&s.pubSub?.client.destroy()}}catch(a){(0,io.dbgMaintenance)(`[CSlots]: Error during SMIGRATED handling for source ${n}: ${a}`),s.client?._unpause(),"pubSub"in s&&s.pubSub?.client._unpause(),this.#n("error",a)}}};async#h(e){let r=this.#d(e);r.socket??={},r.socket.reconnectStrategy=!1,r.RESP=this.#t.RESP,r.commandOptions=void 0,r.maintNotifications="disabled";let n=await this.#r(r).on("error",s=>this.#n("error",s)).connect();try{return await n.clusterSlots()}finally{n.destroy()}}#p(e){switch(typeof this.#t.nodeAddressMap){case"object":return this.#t.nodeAddressMap[e];case"function":return this.#t.nodeAddressMap(e)}}#d(e){if(!this.#t.defaults)return e;let r;return this.#t.defaults.socket?r={...this.#t.defaults.socket,...e?.socket}:r=e?.socket,{...this.#t.defaults,...e,socket:r}}#f(e,r,n,s,i){let a=`${e.host}:${e.port}`,o=this.nodeByAddress.get(a);return o||(o={...e,address:a,readonly:r,client:void 0,connectPromise:void 0},n&&i.push(this.#y(o)),this.nodeByAddress.set(a,o)),s.has(a)||(s.add(a),(r?this.replicas:this.masters).push(o)),o}#m(e,r=e.readonly){let n=this.#p(e.address)??{host:e.host,port:e.port},s=Object.freeze({host:n.host,port:n.port}),i=this.#n,a=this.#r(this.#d({clientSideCache:this.clientSideCache,RESP:this.#t.RESP,socket:n,readonly:r})).on("error",o=>i("node-error",o,s)).on("reconnecting",()=>i("node-reconnecting",s)).once("ready",()=>i("node-ready",s)).once("connect",()=>i("node-connect",s)).once("end",()=>i("node-disconnect",s)).on(io.SMIGRATED_EVENT,this.#l).on("__MOVED",async o=>{await this.rediscover(a),this.#n($l.RESUBSCRIBE_LISTENERS_EVENT,o)});return a}#y(e,r){let n=e.client=this.#m(e,r);return e.connectPromise=n.connect().finally(()=>e.connectPromise=void 0)}nodeClient(e){return e.connectPromise?e.connectPromise:e.client?Promise.resolve(e.client):this.#y(e)}#g;async rediscover(e){return this.#g??=this.#E(e).finally(()=>{this.#g=void 0}),this.#g}async#E(e){if(!await this.#c(e.options))return this.#s()}quit(){return this.#A(e=>e.quit())}disconnect(){return this.#A(e=>e.disconnect())}close(){return this.#A(e=>e.close())}destroy(){this.#a=!1;for(let e of this.#S())e.destroy();this.pubSubNode&&(this.pubSubNode.client.destroy(),this.pubSubNode=void 0),this.#i(),this.nodeByAddress.clear(),this.#n("disconnect")}*#S(){for(let e of this.masters)e.client&&(yield e.client),e.pubSub&&(yield e.pubSub.client);for(let e of this.replicas)e.client&&(yield e.client)}async#A(e){this.#a=!1;let r=[];for(let n of this.#S())r.push(e(n));this.pubSubNode&&(r.push(e(this.pubSubNode.client)),this.pubSubNode=void 0),this.#i(),this.nodeByAddress.clear(),await Promise.allSettled(r),this.#n("disconnect")}async getClientAndSlotNumber(e,r){if(!e)return{client:await this.nodeClient(this.getRandomNode())};let n=(0,Nre.default)(e);return r?{client:await this.nodeClient(this.getSlotRandomNode(n)),slotNumber:n}:{client:await this.nodeClient(this.slots[n].master),slotNumber:n}}*#C(){if(this.masters.length+this.replicas.length===0)return;let e=Math.floor(Math.random()*(this.masters.length+this.replicas.length));if(e<this.masters.length){do yield this.masters[e];while(++e<this.masters.length);for(let r of this.replicas)yield r}else{e-=this.masters.length;do yield this.replicas[e];while(++e<this.replicas.length)}for(;;){for(let r of this.masters)yield r;for(let r of this.replicas)yield r}}_randomNodeIterator;getRandomNode(){return this._randomNodeIterator??=this.#C(),this._randomNodeIterator.next().value}*#_(e){let r=Math.floor(Math.random()*(1+e.replicas.length));if(r<e.replicas.length)do yield e.replicas[r];while(++r<e.replicas.length);for(;;){yield e.master;for(let n of e.replicas)yield n}}getSlotRandomNode(e){let r=this.slots[e];return r.replicas?.length?(r.nodesIterator??=this.#_(r),r.nodesIterator.next().value):r.master}getMasterByAddress(e){let r=this.nodeByAddress.get(e);if(r)return this.nodeClient(r)}getPubSubClient(){return this.pubSubNode?this.pubSubNode.connectPromise??Promise.resolve(this.pubSubNode.client):this.#v()}async#v(e){let r=Math.floor(Math.random()*(this.masters.length+this.replicas.length)),n=r<this.masters.length?this.masters[r]:this.replicas[r-this.masters.length],s=this.#m(n,!1);return this.pubSubNode={address:n.address,client:s,connectPromise:s.connect().then(async i=>(e&&await Promise.all([i.extendPubSubListeners(Do.PUBSUB_TYPE.CHANNELS,e[Do.PUBSUB_TYPE.CHANNELS]),i.extendPubSubListeners(Do.PUBSUB_TYPE.PATTERNS,e[Do.PUBSUB_TYPE.PATTERNS])]),this.pubSubNode.connectPromise=void 0,i)).catch(i=>{throw this.pubSubNode=void 0,i})},this.pubSubNode.connectPromise}async executeUnsubscribeCommand(e){let r=await this.getPubSubClient();await e(r),r.isPubSubActive||(r.destroy(),this.pubSubNode=void 0)}getShardedPubSubClient(e){let{master:r}=this.slots[(0,Nre.default)(e)];return r.pubSub?r.pubSub.connectPromise??Promise.resolve(r.pubSub.client):this.#b(r)}async#b(e){let r=this.#m(e,!1).on("server-sunsubscribe",async(n,s)=>{try{await this.rediscover(r),await(await this.getShardedPubSubClient(n)).extendPubSubChannelListeners(Do.PUBSUB_TYPE.SHARDED,n,s)}catch(i){this.#n("sharded-shannel-moved-error",i,n,s)}});return e.pubSub={client:r,connectPromise:r.connect().then(n=>(e.pubSub.connectPromise=void 0,n)).catch(n=>{throw e.pubSub=void 0,n})},e.pubSub.connectPromise}async executeShardedUnsubscribeCommand(e,r){let{master:n}=this.slots[(0,Nre.default)(e)];if(!n.pubSub)return;let s=n.pubSub.connectPromise?await n.pubSub.connectPromise:n.pubSub.client;await r(s),s.isPubSubActive||(s.destroy(),n.pubSub=void 0)}};Ore=wB;$l.default=wB});var nJe=E(tT=>{"use strict";var Wlr=tT&&tT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tT,"__esModule",{value:!0});var $lr=yu(),Flr=Wlr(YI()),Bb=Wl(),RB=Dl(),Pre=class t{static#e(e,r){let n=(0,Bb.getTransformReply)(e,r);return function(...s){let i=new RB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this.addCommand(o,e.IS_READ_ONLY,a,n)}}static#t(e,r){let n=(0,Bb.getTransformReply)(e,r);return function(...s){let i=new RB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this._self.addCommand(o,e.IS_READ_ONLY,a,n)}}static#r(e,r,n){let s=(0,Bb.functionArgumentsPrefix)(e,r),i=(0,Bb.getTransformReply)(r,n);return function(...a){let o=new RB.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;c.preserve=o.preserve;let u=o.firstKey;return this._self.addCommand(u,r.IS_READ_ONLY,c,i)}}static#n(e,r){let n=(0,Bb.getTransformReply)(e,r);return function(...s){let i=new RB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this.#h(o,e.IS_READ_ONLY,e,a,n)}}static extend(e){return(0,Bb.attachConfig)({BaseClass:t,commands:$lr.NON_STICKY_COMMANDS,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e})}#a;#o;#s;#i;#c=!0;constructor(e,r,n,s){this.#a=new Flr.default(s),this.#o=e,this.#s=r,this.#i=n}#l(e,r){this.#i??=e,this.#c&&=r}addCommand(e,r,n,s){return this.#l(e,r),this.#a.addCommand(n,s),this}#h(e,r,n,s,i){return this.#l(e,r),this.#a.addScript(n,s,i),this}async exec(e=!1){return e?this.execAsPipeline():this.#a.transformReplies(await this.#o(this.#i,this.#c,this.#a.queue))}EXEC=this.exec;execTyped(e=!1){return this.exec(e)}async execAsPipeline(){return this.#a.queue.length===0?[]:this.#a.transformReplies(await this.#s(this.#i,this.#c,this.#a.queue))}execAsPipelineTyped(){return this.execAsPipeline()}};tT.default=Pre});var aJe=E(Eu=>{"use strict";var Ulr=Eu&&Eu.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),qlr=Eu&&Eu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),jlr=Eu&&Eu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Ulr(e,t,r);return qlr(e,t),e},iJe=Eu&&Eu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Eu,"__esModule",{value:!0});var Hlr=yu(),Qlr=require("node:events"),Ag=Wl(),sJe=jlr(rJe()),Glr=iJe(nJe()),Vlr=Pl(),NB=Dl(),zlr=YK(),Klr=iJe(SB()),Dre=class t extends Qlr.EventEmitter{static#e(e,r){let n=(0,Ag.getTransformReply)(e,r);return async function(...s){let i=new NB.BasicCommandParser;return e.parseCommand(i,...s),this._self._execute(i.firstKey,e.IS_READ_ONLY,this._commandOptions,(a,o)=>a._executeCommand(e,i,o,n))}}static#t(e,r){let n=(0,Ag.getTransformReply)(e,r);return async function(...s){let i=new NB.BasicCommandParser;return e.parseCommand(i,...s),this._self._execute(i.firstKey,e.IS_READ_ONLY,this._self._commandOptions,(a,o)=>a._executeCommand(e,i,o,n))}}static#r(e,r,n){let s=(0,Ag.functionArgumentsPrefix)(e,r),i=(0,Ag.getTransformReply)(r,n);return async function(...a){let o=new NB.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self._execute(o.firstKey,r.IS_READ_ONLY,this._self._commandOptions,(c,u)=>c._executeCommand(r,o,u,i))}}static#n(e,r){let n=(0,Ag.scriptArgumentsPrefix)(e),s=(0,Ag.getTransformReply)(e,r);return async function(...i){let a=new NB.BasicCommandParser;return a.push(...n),e.parseCommand(a,...i),this._self._execute(a.firstKey,e.IS_READ_ONLY,this._commandOptions,(o,c)=>o._executeScript(e,a,c,s))}}static#a=new Klr.default;static factory(e){let r=t.#a.get(e);return r||(r=(0,Ag.attachConfig)({BaseClass:t,commands:Hlr.NON_STICKY_COMMANDS,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e}),r.prototype.Multi=Glr.default.extend(e),t.#a.set(e,r)),n=>Object.create(new r(n))}static create(e){return t.factory(e)(e)}_options;_slots;_self=this;_commandOptions;get slots(){return this._self._slots.slots}get clientSideCache(){return this._self._slots.clientSideCache}get masters(){return this._self._slots.masters}get replicas(){return this._self._slots.replicas}get nodeByAddress(){return this._self._slots.nodeByAddress}get pubSubNode(){return this._self._slots.pubSubNode}get isOpen(){return this._self._slots.isOpen}constructor(e){super(),this._options=e,this._slots=new sJe.default(e,this.emit.bind(this)),this.on(sJe.RESUBSCRIBE_LISTENERS_EVENT,this.resubscribeAllPubSubListeners.bind(this)),e?.commandOptions&&(this._commandOptions=e.commandOptions)}duplicate(e){return new(Object.getPrototypeOf(this)).constructor({...this._self._options,commandOptions:this._commandOptions,...e})}async connect(){return await this._self._slots.connect(),this}withCommandOptions(e){let r=Object.create(this);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}_handleAsk(e){return async(r,n)=>{let s=Symbol("asking chain"),i=n?{...n}:{};return i.chainId=s,(await Promise.all([r.sendCommand([zlr.ASKING_CMD],{chainId:s}),e(r,i)]))[1]}}async _execute(e,r,n,s){let i=this._options.maxCommandRedirections??16,{client:a,slotNumber:o}=await this._slots.getClientAndSlotNumber(e,r),c=0,u=s;for(;;)try{let l=n??{};return l.slotNumber=o,await u(a,l)}catch(l){if(u=s,++c>i||!(l instanceof Error))throw l;if(l.message.startsWith("ASK")){let d=l.message.substring(l.message.lastIndexOf(" ")+1),f=await this._slots.getMasterByAddress(d);if(f||(await this._slots.rediscover(a),f=await this._slots.getMasterByAddress(d)),!f)throw new Error(`Cannot find node ${d}`);a=f,u=this._handleAsk(s);continue}if(l.message.startsWith("MOVED")){await this._slots.rediscover(a);let d=await this._slots.getClientAndSlotNumber(e,r);a=d.client,o=d.slotNumber;continue}throw l}}async sendCommand(e,r,n,s){let i={...this._self._commandOptions,...s};return this._self._execute(e,r,i,(a,o)=>a.sendCommand(n,o))}MULTI(e){return new this.Multi(async(r,n,s)=>{let{client:i}=await this._self._slots.getClientAndSlotNumber(r,n);return i._executeMulti(s)},async(r,n,s)=>{let{client:i}=await this._self._slots.getClientAndSlotNumber(r,n);return i._executePipeline(s)},e,this._commandOptions?.typeMapping)}multi=this.MULTI;async SUBSCRIBE(e,r,n){return(await this._self._slots.getPubSubClient()).SUBSCRIBE(e,r,n)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(e,r,n){return this._self._slots.executeUnsubscribeCommand(s=>s.UNSUBSCRIBE(e,r,n))}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(e,r,n){return(await this._self._slots.getPubSubClient()).PSUBSCRIBE(e,r,n)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(e,r,n){return this._self._slots.executeUnsubscribeCommand(s=>s.PUNSUBSCRIBE(e,r,n))}pUnsubscribe=this.PUNSUBSCRIBE;async SSUBSCRIBE(e,r,n){let s=this._self._options.maxCommandRedirections??16,i=Array.isArray(e)?e[0]:e,a=await this._self._slots.getShardedPubSubClient(i);for(let o=0;;o++)try{return await a.SSUBSCRIBE(e,r,n)}catch(c){if(++o>s||!(c instanceof Vlr.ErrorReply))throw c;if(c.message.startsWith("MOVED")){await this._self._slots.rediscover(a),a=await this._self._slots.getShardedPubSubClient(i);continue}throw c}}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(e,r,n){return this._self._slots.executeShardedUnsubscribeCommand(Array.isArray(e)?e[0]:e,s=>s.SUNSUBSCRIBE(e,r,n))}resubscribeAllPubSubListeners(e){if(e.CHANNELS)for(let[r,n]of e.CHANNELS)n.buffers.forEach(s=>{this.subscribe(r,s,!0)}),n.strings.forEach(s=>{this.subscribe(r,s)});if(e.PATTERNS)for(let[r,n]of e.PATTERNS)n.buffers.forEach(s=>{this.pSubscribe(r,s,!0)}),n.strings.forEach(s=>{this.pSubscribe(r,s)});if(e.SHARDED)for(let[r,n]of e.SHARDED)n.buffers.forEach(s=>{this.sSubscribe(r,s,!0)}),n.strings.forEach(s=>{this.sSubscribe(r,s)})}sUnsubscribe=this.SUNSUBSCRIBE;quit(){return this._self._slots.quit()}disconnect(){return this._self._slots.disconnect()}close(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.close()}destroy(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.destroy()}nodeClient(e){return this._self._slots.nodeClient(e)}getRandomNode(){return this._self._slots.getRandomNode()}getSlotRandomNode(e){return this._self._slots.getSlotRandomNode(e)}getMasters(){return this.masters}getSlotMaster(e){return this.slots[e].master}};Eu.default=Dre});var cJe=E(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.getMappedNode=ni.createScriptCommand=ni.createModuleCommand=ni.createFunctionCommand=ni.createCommand=ni.clientSocketToNode=ni.createNodeList=ni.parseNode=void 0;var OB=Dl(),Mb=Wl();function oJe(t){if(!(t.flags.includes("s_down")||t.flags.includes("disconnected")||t.flags.includes("failover_in_progress")))return{host:t.ip,port:Number(t.port)}}ni.parseNode=oJe;function Ylr(t){var e=[];for(let r of t){let n=oJe(r);n!==void 0&&e.push(n)}return e}ni.createNodeList=Ylr;function Jlr(t){let e=t;return{host:e.host,port:e.port}}ni.clientSocketToNode=Jlr;function Xlr(t,e){let r=(0,Mb.getTransformReply)(t,e);return async function(...n){let s=new OB.BasicCommandParser;return t.parseCommand(s,...n),this._self._execute(t.IS_READ_ONLY,i=>i._executeCommand(t,s,this.commandOptions,r))}}ni.createCommand=Xlr;function Zlr(t,e,r){let n=(0,Mb.functionArgumentsPrefix)(t,e),s=(0,Mb.getTransformReply)(e,r);return async function(...i){let a=new OB.BasicCommandParser;return a.push(...n),e.parseCommand(a,...i),this._self._execute(e.IS_READ_ONLY,o=>o._executeCommand(e,a,this._self.commandOptions,s))}}ni.createFunctionCommand=Zlr;function edr(t,e){let r=(0,Mb.getTransformReply)(t,e);return async function(...n){let s=new OB.BasicCommandParser;return t.parseCommand(s,...n),this._self._execute(t.IS_READ_ONLY,i=>i._executeCommand(t,s,this._self.commandOptions,r))}}ni.createModuleCommand=edr;function tdr(t,e){let r=(0,Mb.scriptArgumentsPrefix)(t),n=(0,Mb.getTransformReply)(t,e);return async function(...s){let i=new OB.BasicCommandParser;return i.push(...r),t.parseCommand(i,...s),this._self._execute(t.IS_READ_ONLY,a=>a._executeScript(t,i,this.commandOptions,n))}}ni.createScriptCommand=tdr;function rdr(t,e,r){if(r===void 0)return{host:t,port:e};let n=`${t}:${e}`;switch(typeof r){case"object":return r[n]??{host:t,port:e};case"function":return r(n)??{host:t,port:e}}}ni.getMappedNode=rdr});var lJe=E(rT=>{"use strict";var ndr=rT&&rT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(rT,"__esModule",{value:!0});var sdr=yu(),uJe=ndr(YI()),Wb=Wl(),PB=Dl(),kre=class t{static _createCommand(e,r){let n=(0,Wb.getTransformReply)(e,r);return function(...s){let i=new PB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.addCommand(e.IS_READ_ONLY,a,n)}}static _createModuleCommand(e,r){let n=(0,Wb.getTransformReply)(e,r);return function(...s){let i=new PB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this._self.addCommand(e.IS_READ_ONLY,a,n)}}static _createFunctionCommand(e,r,n){let s=(0,Wb.functionArgumentsPrefix)(e,r),i=(0,Wb.getTransformReply)(r,n);return function(...a){let o=new PB.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;return c.preserve=o.preserve,this._self.addCommand(r.IS_READ_ONLY,c,i)}}static _createScriptCommand(e,r){let n=(0,Wb.getTransformReply)(e,r);return function(...s){let i=new PB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.#a(e.IS_READ_ONLY,e,a,n)}}static extend(e){return(0,Wb.attachConfig)({BaseClass:t,commands:sdr.NON_STICKY_COMMANDS,createCommand:t._createCommand,createModuleCommand:t._createModuleCommand,createFunctionCommand:t._createFunctionCommand,createScriptCommand:t._createScriptCommand,config:e})}#e=new uJe.default;#t;#r=!0;constructor(e,r){this.#e=new uJe.default(r),this.#t=e}#n(e){this.#r&&=e}addCommand(e,r,n){return this.#n(e),this.#e.addCommand(r,n),this}#a(e,r,n,s){return this.#n(e),this.#e.addScript(r,n,s),this}async exec(e=!1){return e?this.execAsPipeline():this.#e.transformReplies(await this.#t._executeMulti(this.#r,this.#e.queue))}EXEC=this.exec;execTyped(e=!1){return this.exec(e)}async execAsPipeline(){return this.#e.queue.length===0?[]:this.#e.transformReplies(await this.#t._executePipeline(this.#r,this.#e.queue))}execAsPipelineTyped(){return this.execAsPipeline()}};rT.default=kre});var pJe=E($b=>{"use strict";var fJe=$b&&$b.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($b,"__esModule",{value:!0});$b.PubSubProxy=void 0;var idr=fJe(require("node:events")),H0=VI(),dJe=fJe(Pb()),Lre=class extends idr.default{#e;#t;#r;#n;#a;constructor(e,r){super(),this.#e=e,this.#t=r}#o(){if(this.#r===void 0)throw new Error("pubSubProxy: didn't define node to do pubsub against");return new dJe.default({...this.#e,socket:{...this.#e.socket,host:this.#r.host,port:this.#r.port}})}async#s(e=!1){let r=this.#o().on("error",this.#t),n=r.connect().then(async s=>this.#n?.client!==s?(s.destroy(),this.#n?.connectPromise):(e&&this.#a&&await Promise.all([s.extendPubSubListeners(H0.PUBSUB_TYPE.CHANNELS,this.#a[H0.PUBSUB_TYPE.CHANNELS]),s.extendPubSubListeners(H0.PUBSUB_TYPE.PATTERNS,this.#a[H0.PUBSUB_TYPE.PATTERNS])]),this.#n.client!==s?(s.destroy(),this.#n?.connectPromise):(this.#n.connectPromise=void 0,s))).catch(s=>{throw this.#n=void 0,s});return this.#n={client:r,connectPromise:n},n}#i(){return this.#n?this.#n.connectPromise??this.#n.client:this.#s()}async changeNode(e){this.#r=e,this.#n&&(this.#n.connectPromise===void 0&&(this.#a={[H0.PUBSUB_TYPE.CHANNELS]:this.#n.client.getPubSubListeners(H0.PUBSUB_TYPE.CHANNELS),[H0.PUBSUB_TYPE.PATTERNS]:this.#n.client.getPubSubListeners(H0.PUBSUB_TYPE.PATTERNS)},this.#n.client.destroy()),await this.#s(!0))}#c(e){let r=this.#i();return r instanceof dJe.default?e(r):r.then(n=>{if(n!==void 0)return e(n)}).catch(n=>{throw this.#n?.client.isPubSubActive&&(this.#n.client.destroy(),this.#n=void 0),n})}subscribe(e,r,n){return this.#c(s=>s.SUBSCRIBE(e,r,n))}#l(e){return this.#c(async r=>{let n=await e(r);return r.isPubSubActive||(r.destroy(),this.#n=void 0),n})}async unsubscribe(e,r,n){return this.#l(s=>s.UNSUBSCRIBE(e,r,n))}async pSubscribe(e,r,n){return this.#c(s=>s.PSUBSCRIBE(e,r,n))}async pUnsubscribe(e,r,n){return this.#l(s=>s.PUNSUBSCRIBE(e,r,n))}destroy(){this.#a=void 0,this.#n!==void 0&&(this.#n.connectPromise||this.#n.client.destroy(),this.#n=void 0)}};$b.PubSubProxy=Lre});var mJe=E(Bre=>{"use strict";Object.defineProperty(Bre,"__esModule",{value:!0});var adr=Ie();Bre.default={parseCommand(t,e){t.push("SENTINEL","MASTER",e)},transformReply:{2:adr.transformTuplesReply,3:void 0}}});var hJe=E(Mre=>{"use strict";Object.defineProperty(Mre,"__esModule",{value:!0});Mre.default={parseCommand(t,e,r,n,s){t.push("SENTINEL","MONITOR",e,r,n,s)},transformReply:void 0}});var gJe=E(Wre=>{"use strict";Object.defineProperty(Wre,"__esModule",{value:!0});var odr=Ie();Wre.default={parseCommand(t,e){t.push("SENTINEL","REPLICAS",e)},transformReply:{2:(t,e,r)=>{let n=t,s=[];return n.reduce((i,a)=>(i.push((0,odr.transformTuplesReply)(a,void 0,r)),i),s)},3:void 0}}});var AJe=E($re=>{"use strict";Object.defineProperty($re,"__esModule",{value:!0});var cdr=Ie();$re.default={parseCommand(t,e){t.push("SENTINEL","SENTINELS",e)},transformReply:{2:(t,e,r)=>{let n=t,s=[];return n.reduce((i,a)=>(i.push((0,cdr.transformTuplesReply)(a,void 0,r)),i),s)},3:void 0}}});var yJe=E(Fre=>{"use strict";Object.defineProperty(Fre,"__esModule",{value:!0});Fre.default={parseCommand(t,e,r){t.push("SENTINEL","SET",e);for(let n of r)t.push(n.option,n.value)},transformReply:void 0}});var vJe=E(nT=>{"use strict";var sT=nT&&nT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(nT,"__esModule",{value:!0});var xJe=sT(mJe()),bJe=sT(hJe()),EJe=sT(gJe()),_Je=sT(AJe()),SJe=sT(yJe());nT.default={SENTINEL_SENTINELS:_Je.default,sentinelSentinels:_Je.default,SENTINEL_MASTER:xJe.default,sentinelMaster:xJe.default,SENTINEL_REPLICAS:EJe.default,sentinelReplicas:EJe.default,SENTINEL_MONITOR:bJe.default,sentinelMonitor:bJe.default,SENTINEL_SET:SJe.default,sentinelSet:SJe.default}});var CJe=E(iT=>{"use strict";var udr=iT&&iT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iT,"__esModule",{value:!0});var ldr=udr(vJe());iT.default={sentinel:ldr.default}});var TJe=E(DB=>{"use strict";Object.defineProperty(DB,"__esModule",{value:!0});DB.WaitQueue=void 0;var IJe=mB(),Ure=class{#e=new IJe.SinglyLinkedList;#t=new IJe.SinglyLinkedList;push(e){let r=this.#t.shift();if(r!==void 0){r(e);return}this.#e.push(e)}shift(){return this.#e.shift()}wait(){return new Promise(e=>this.#t.push(e))}};DB.WaitQueue=Ure});var PJe=E(Tf=>{"use strict";var Qre=Tf&&Tf.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Tf,"__esModule",{value:!0});Tf.RedisSentinelFactory=Tf.RedisSentinelClient=void 0;var Gre=require("node:events"),Fb=Qre(Pb()),RJe=Wl(),NJe=yu(),Fn=cJe(),OJe=Qre(lJe()),ddr=pJe(),fdr=require("node:timers/promises"),kB=Qre(CJe()),pdr=TJe(),wJe=Nb(),aT=class t{#e;#t;_self;get isOpen(){return this._self.#t.isOpen}get isReady(){return this._self.#t.isReady}get commandOptions(){return this._self.#r}#r;constructor(e,r,n){this._self=this,this.#t=e,this.#e=r,this.#r=n}static factory(e){let r=(0,RJe.attachConfig)({BaseClass:t,commands:NJe.NON_STICKY_COMMANDS,createCommand:Fn.createCommand,createModuleCommand:Fn.createModuleCommand,createFunctionCommand:Fn.createFunctionCommand,createScriptCommand:Fn.createScriptCommand,config:e});return r.prototype.Multi=OJe.default.extend(e),(n,s,i)=>Object.create(new r(n,s,i))}static create(e,r,n,s){return t.factory(e)(r,n,s)}withCommandOptions(e){let r=Object.create(this);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this);return n._commandOptions=Object.create(this._self.#r??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}async _execute(e,r){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return await this._self.#t.execute(r,this._self.#e)}async sendCommand(e,r,n){return this._execute(e,s=>s.sendCommand(r,n))}async _executePipeline(e,r){return this._execute(e,n=>n._executePipeline(r))}async _executeMulti(e,r){return this._execute(e,n=>n._executeMulti(r))}MULTI(){return new this.Multi(this)}multi=this.MULTI;WATCH(e){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,r=>r.watch(e))}watch=this.WATCH;UNWATCH(){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,e=>e.unwatch())}unwatch=this.UNWATCH;release(){if(this._self.#e===void 0)throw new Error("RedisSentinelClient lease already released");let e=this._self.#t.releaseClientLease(this._self.#e);return this._self.#e=void 0,e}};Tf.RedisSentinelClient=aT;var qre=class t extends Gre.EventEmitter{_self;#e;#t;get isOpen(){return this._self.#e.isOpen}get isReady(){return this._self.#e.isReady}get commandOptions(){return this._self.#r}#r;#n=()=>{};#a;#o=0;#s;get clientSideCache(){return this._self.#e.clientSideCache}constructor(e){super(),this._self=this,this.#t=e,e.commandOptions&&(this.#r=e.commandOptions),this.#e=new jre(e),this.#e.on("error",r=>this.emit("error",r)),this.#e.on("topology-change",r=>{this.emit("topology-change",r)||this._self.#n(`RedisSentinel: re-emit for topology-change for ${r.type} event returned false`)})}static factory(e){let r=(0,RJe.attachConfig)({BaseClass:t,commands:NJe.NON_STICKY_COMMANDS,createCommand:Fn.createCommand,createModuleCommand:Fn.createModuleCommand,createFunctionCommand:Fn.createFunctionCommand,createScriptCommand:Fn.createScriptCommand,config:e});return r.prototype.Multi=OJe.default.extend(e),n=>Object.create(new r(n))}static create(e){return t.factory(e)(e)}withCommandOptions(e){let r=Object.create(this);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this);return n._self.#r={...this._self.#r||{},[e]:r},n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}async connect(){return await this._self.#e.connect(),this._self.#t.reserveClient&&(this._self.#a=await this._self.#e.getClientLease()),this}async _execute(e,r){let n;(!e||!this._self.#e.useReplicas)&&(this._self.#a?n=this._self.#a:(this._self.#s??=await this._self.#e.getClientLease(),n=this._self.#s,this._self.#o++));try{return await this._self.#e.execute(r,n)}finally{if(n!==void 0&&n===this._self.#s&&--this._self.#o===0){let s=this._self.#e.releaseClientLease(n);this._self.#s=void 0,s&&await s}}}async use(e){let r=await this._self.#e.getClientLease();try{return await e(aT.create(this._self.#t,this._self.#e,r,this._self.#r))}finally{let n=this._self.#e.releaseClientLease(r);n&&await n}}async sendCommand(e,r,n){return this._execute(e,s=>s.sendCommand(r,n))}async _executePipeline(e,r){return this._execute(e,n=>n._executePipeline(r))}async _executeMulti(e,r){return this._execute(e,n=>n._executeMulti(r))}MULTI(){return new this.Multi(this)}multi=this.MULTI;async close(){return this._self.#e.close()}destroy(){return this._self.#e.destroy()}async SUBSCRIBE(e,r,n){return this._self.#e.subscribe(e,r,n)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(e,r,n){return this._self.#e.unsubscribe(e,r,n)}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(e,r,n){return this._self.#e.pSubscribe(e,r,n)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(e,r,n){return this._self.#e.pUnsubscribe(e,r,n)}pUnsubscribe=this.PUNSUBSCRIBE;async acquire(){let e=await this._self.#e.getClientLease();return aT.create(this._self.#t,this._self.#e,e,this._self.#r)}getSentinelNode(){return this._self.#e.getSentinelNode()}getMasterNode(){return this._self.#e.getMasterNode()}getReplicaNodes(){return this._self.#e.getReplicaNodes()}setTracer(e){e?this._self.#n=r=>{e.push(r)}:this._self.#n=()=>{},this._self.#e.setTracer(e)}};Tf.default=qre;var jre=class extends Gre.EventEmitter{#e=!1;get isOpen(){return this.#e}#t=!1;get isReady(){return this.#t}#r;#n;#a;#o;#s;#i;#c;#l=!1;#h=0;#p;#d;#f=[];#m;#y;#g=[];#E=0;#S;get useReplicas(){return this.#S>0}#A;#C;#_;#v;#b=!1;#u=()=>{};#x;get clientSideCache(){return this.#x}#P(e){if(e?.clientSideCache&&e?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3")}constructor(e){if(super(),this.#P(e),this.#r=e.name,this.#c=e.RESP,this.#p=Array.from(e.sentinelRootNodes),this.#C=e.maxCommandRediscovers??16,this.#y=e.masterPoolSize??1,this.#S=e.replicaPoolSize??0,this.#o=e.nodeAddressMap,this.#s=e.scanInterval??0,this.#i=e.passthroughClientErrorEvents??!1,this.#n=e.nodeClientOptions?{...e.nodeClientOptions}:{},this.#n.url!==void 0)throw new Error("invalid nodeClientOptions for Sentinel");if(e.clientSideCache)if(e.clientSideCache instanceof wJe.PooledClientSideCacheProvider)this.#x=this.#n.clientSideCache=e.clientSideCache;else{let r=e.clientSideCache;this.#x=this.#n.clientSideCache=new wJe.BasicPooledClientSideCache(r)}if(this.#a=e.sentinelClientOptions?Object.assign({},e.sentinelClientOptions):{},this.#a.modules=kB.default,this.#a.url!==void 0)throw new Error("invalid sentinelClientOptions for Sentinel");this.#m=new pdr.WaitQueue;for(let r=0;r<this.#y;r++)this.#m.push(r);this.#_=new ddr.PubSubProxy(this.#n,r=>this.emit("error",r))}#T(e,r,n){let s=(0,Fn.getMappedNode)(e.host,e.port,this.#o);return Fb.default.create({RESP:this.#c,...r,socket:{...r.socket,host:s.host,port:s.port,...n!==void 0&&{reconnectStrategy:n}}})}getClientLease(){let e=this.#m.shift();return e!==void 0?Promise.resolve({id:e}):this.#m.wait().then(r=>({id:r}))}releaseClientLease(e){let r=this.#f[e.id];if(r!==void 0){let n=r.resetIfDirty();if(n)return n.then(()=>this.#m.push(e.id))}this.#m.push(e.id)}async connect(){if(this.#e)throw new Error("already attempting to open");try{this.#e=!0,this.#A=this.#I(),await this.#A,this.#t=!0}finally{this.#A=void 0,this.#s>0&&(this.#v=setInterval(this.#O.bind(this),this.#s))}}async#I(){let e=0;for(;;){if(this.#u("starting connect loop"),e+=1,this.#b){this.#u("in #connect and want to destroy");return}try{if(this.#l=!1,await this.transform(this.analyze(await this.observe())),this.#l){this.#u("#connect: anotherReset is true, so continuing");continue}this.#u("#connect: returning");return}catch(r){if(this.#u(`#connect: exception ${r.message}`),!this.#t&&e>this.#C)throw r;r.message!=="no valid master node"&&console.log(r),await(0,fdr.setTimeout)(1e3)}finally{this.#u("finished connect")}}}async execute(e,r){let n=0;for(;;){this.#A!==void 0&&await this.#A;let s=this.#R(r);if(!s.isReady){await this.#O();continue}let i=s.options?.socket;this.#u("attemping to send command to "+i?.host+":"+i?.port);try{return await e(s)}catch(a){if(++n>this.#C||!(a instanceof Error))throw a;if(r!==void 0&&(a.message.startsWith("READONLY")||!s.isReady)){await this.#O();continue}throw a}}}async#N(e){return await e.pSubscribe(["switch-master","[-+]sdown","+slave","+sentinel","[-+]odown","+slave-reconf-done"],(r,n)=>{this.#M(n,r)},!0),e}async#M(e,r){this.#u("pubsub control channel message on "+e),this.#O()}#R(e){if(e!==void 0)return this.#f[e.id];if(this.#E>=this.#g.length&&(this.#E=0),this.#g.length==0)throw new Error("no replicas available for read");return this.#g[this.#E++]}async#O(){if(!(this.#t==!1||this.#b==!0)){if(this.#A!==void 0)return this.#l=!0,await this.#A;try{return this.#A=this.#I(),await this.#A}finally{this.#u("finished reconfgure"),this.#A=void 0}}}#D(e){let r=this.#p.findIndex(n=>n.host===e.host&&n.port===e.port);r!==-1&&this.#p.splice(r,1),this.#O()}async close(){this.#b=!0,this.#A!=null&&await this.#A,this.#t=!1,this.#x?.onPoolClose(),this.#v&&(clearInterval(this.#v),this.#v=void 0);let e=[];this.#d!==void 0&&(this.#d.isOpen&&e.push(this.#d.close()),this.#d=void 0);for(let r of this.#f)r.isOpen&&e.push(r.close());this.#f=[];for(let r of this.#g)r.isOpen&&e.push(r.close());this.#g=[],await Promise.all(e),this.#_.destroy(),this.#e=!1}async destroy(){this.#b=!0,this.#A!=null&&await this.#A,this.#t=!1,this.#x?.onPoolClose(),this.#v&&(clearInterval(this.#v),this.#v=void 0),this.#d!==void 0&&(this.#d.isOpen&&this.#d.destroy(),this.#d=void 0);for(let e of this.#f)e.isOpen&&e.destroy();this.#f=[];for(let e of this.#g)e.isOpen&&e.destroy();this.#g=[],this.#_.destroy(),this.#e=!1,this.#b=!1}async subscribe(e,r,n){return this.#_.subscribe(e,r,n)}async unsubscribe(e,r,n){return this.#_.unsubscribe(e,r,n)}async pSubscribe(e,r,n){return this.#_.pSubscribe(e,r,n)}async pUnsubscribe(e,r,n){return this.#_.pUnsubscribe(e,r,n)}async observe(){for(let e of this.#p){let r;try{this.#u(`observe: trying to connect to sentinel: ${e.host}:${e.port}`),r=this.#T(e,this.#a,!1),r.on("error",o=>this.emit("error",`obseve client error: ${o}`)),await r.connect(),this.#u("observe: connected to sentinel");let[n,s,i]=await Promise.all([r.sentinel.sentinelSentinels(this.#r),r.sentinel.sentinelMaster(this.#r),r.sentinel.sentinelReplicas(this.#r)]);return this.#u("observe: got all sentinel data"),{sentinelConnected:e,sentinelData:n,masterData:s,replicaData:i,currentMaster:this.getMasterNode(),currentReplicas:this.getReplicaNodes(),currentSentinel:this.getSentinelNode(),replicaPoolSize:this.#S,useReplicas:this.useReplicas}}catch(n){this.#u(`observe: error ${n}`),this.emit("error",n)}finally{r!==void 0&&r.isOpen&&(this.#u("observe: destroying sentinel client"),r.destroy())}}throw this.#u("observe: none of the sentinels are available"),new Error("None of the sentinels are available")}analyze(e){let r=(0,Fn.parseNode)(e.masterData);if(r===void 0)throw this.#u(`analyze: no valid master node because ${e.masterData.flags}`),new Error("no valid master node");r.host===e.currentMaster?.host&&r.port===e.currentMaster?.port?(this.#u(`analyze: master node hasn't changed from ${e.currentMaster?.host}:${e.currentMaster?.port}`),r=void 0):this.#u(`analyze: master node has changed to ${r.host}:${r.port} from ${e.currentMaster?.host}:${e.currentMaster?.port}`);let n=e.sentinelConnected;n.host===e.currentSentinel?.host&&n.port===e.currentSentinel.port?(this.#u("analyze: sentinel node hasn't changed"),n=void 0):this.#u(`analyze: sentinel node has changed to ${n.host}:${n.port}`);let s=[],i=new Map,a=new Set,o=new Set;if(e.useReplicas){let u=(0,Fn.createNodeList)(e.replicaData);for(let l of u)a.add(JSON.stringify(l));for(let[l,d]of e.currentReplicas)a.has(JSON.stringify(l))?(o.add(JSON.stringify(l)),d!=e.replicaPoolSize&&(i.set(l,e.replicaPoolSize-d),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToOpen`))):(s.push(l),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToClose`));for(let l of u)o.has(JSON.stringify(l))||(i.set(l,e.replicaPoolSize),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToOpen`))}return{sentinelList:[e.sentinelConnected].concat((0,Fn.createNodeList)(e.sentinelData)),epoch:Number(e.masterData["config-epoch"]),sentinelToOpen:n,masterToOpen:r,replicasToClose:s,replicasToOpen:i}}async transform(e){this.#u("transform: enter");let r=[];if(e.sentinelToOpen){this.#u("transform: opening a new sentinel"),this.#d!==void 0&&this.#d.isOpen?(this.#u("transform: destroying old sentinel as open"),this.#d.destroy(),this.#d=void 0):this.#u("transform: not destroying old sentinel as not open"),this.#u(`transform: creating new sentinel to ${e.sentinelToOpen.host}:${e.sentinelToOpen.port}`);let a=e.sentinelToOpen,o=this.#T(e.sentinelToOpen,this.#a,!1);o.on("error",l=>{this.#i&&this.emit("error",new Error(`Sentinel Client (${a.host}:${a.port}): ${l.message}`,{cause:l}));let d={type:"SENTINEL",node:(0,Fn.clientSocketToNode)(o.options.socket),error:l};this.emit("client-error",d),this.#D(a)}).on("end",()=>this.#D(a)),this.#d=o,this.#u("transform: adding sentinel client connect() to promise list");let c=this.#d.connect().then(l=>this.#N(l));r.push(c),this.#u(`created sentinel client to ${e.sentinelToOpen.host}:${e.sentinelToOpen.port}`);let u={type:"SENTINEL_CHANGE",node:e.sentinelToOpen};this.#u("transform: emiting topology-change event for sentinel_change"),this.emit("topology-change",u)||this.#u("transform: emit for topology-change for sentinel_change returned false")}if(e.masterToOpen){this.#u("transform: opening a new master");let a=[],o=[];this.#u("transform: destroying old masters if open");for(let u of this.#f)o.push(u.isWatching||u.isDirtyWatch),u.isOpen&&u.destroy();this.#f=[],this.#u("transform: creating all master clients and adding connect promises");for(let u=0;u<this.#y;u++){let l=e.masterToOpen,d=this.#T(e.masterToOpen,this.#n);d.on("error",f=>{this.#i&&this.emit("error",new Error(`Master Client (${l.host}:${l.port}): ${f.message}`,{cause:f}));let p={type:"MASTER",node:(0,Fn.clientSocketToNode)(d.options.socket),error:f};this.emit("client-error",p)}),o[u]&&d.setDirtyWatch("sentinel config changed in middle of a WATCH Transaction"),this.#f.push(d),a.push(d.connect()),this.#u(`created master client to ${e.masterToOpen.host}:${e.masterToOpen.port}`)}this.#u("transform: adding promise to change #pubSubProxy node"),a.push(this.#_.changeNode(e.masterToOpen)),r.push(...a);let c={type:"MASTER_CHANGE",node:e.masterToOpen};this.#u("transform: emiting topology-change event for master_change"),this.emit("topology-change",c)||this.#u("transform: emit for topology-change for master_change returned false"),this.#h++}let n=new Set;for(let a of e.replicasToClose){let o=JSON.stringify(a);n.add(o)}let s=[],i=new Set;for(let a of this.#g){let o=(0,Fn.clientSocketToNode)(a.options.socket),c=JSON.stringify(o);if(n.has(c)||!a.isOpen){if(a.isOpen){let u=a.options?.socket;this.#u(`destroying replica client to ${u?.host}:${u?.port}`),a.destroy()}if(!i.has(c)){let u={type:"REPLICA_REMOVE",node:o};this.emit("topology-change",u),i.add(c)}}else s.push(a)}if(this.#g=s,e.replicasToOpen.size!=0)for(let[a,o]of e.replicasToOpen){for(let u=0;u<o;u++){let l=this.#T(a,this.#n);l.on("error",d=>{this.#i&&this.emit("error",new Error(`Replica Client (${a.host}:${a.port}): ${d.message}`,{cause:d}));let f={type:"REPLICA",node:(0,Fn.clientSocketToNode)(l.options.socket),error:d};this.emit("client-error",f)}),this.#g.push(l),r.push(l.connect()),this.#u(`created replica client to ${a.host}:${a.port}`)}let c={type:"REPLICA_ADD",node:a};this.emit("topology-change",c)}if(e.sentinelList.length!=this.#p.length){this.#p=e.sentinelList;let a={type:"SENTINE_LIST_CHANGE",size:e.sentinelList.length};this.emit("topology-change",a)}await Promise.all(r),this.#u("transform: exit")}getMasterNode(){if(this.#f.length!=0){for(let e of this.#f)if(e.isReady)return(0,Fn.clientSocketToNode)(e.options.socket)}}getSentinelNode(){if(this.#d!==void 0)return(0,Fn.clientSocketToNode)(this.#d.options.socket)}getReplicaNodes(){let e=new Map,r=new Map;for(let n of this.#g){let s=(0,Fn.clientSocketToNode)(n.options.socket),i=JSON.stringify(s);n.isReady?r.set(i,(r.get(i)??0)+1):r.has(i)||r.set(i,0)}for(let[n,s]of r)e.set(JSON.parse(n),s);return e}setTracer(e){e?this.#u=r=>{e.push(r)}:this.#u=()=>{}}},Hre=class extends Gre.EventEmitter{options;#e;#t=-1;constructor(e){super(),this.options=e,this.#e=e.sentinelRootNodes}async updateSentinelRootNodes(){for(let e of this.#e){let r=Fb.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:e.host,port:e.port,reconnectStrategy:!1},modules:kB.default}).on("error",n=>this.emit(`updateSentinelRootNodes: ${n}`));try{await r.connect()}catch{r.isOpen&&r.destroy();continue}try{let n=await r.sentinel.sentinelSentinels(this.options.name);this.#e=[e].concat((0,Fn.createNodeList)(n));return}finally{r.destroy()}}throw new Error("Couldn't connect to any sentinel node")}async getMasterNode(){let e=!1;for(let r of this.#e){let n=Fb.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:r.host,port:r.port,reconnectStrategy:!1},modules:kB.default}).on("error",s=>this.emit(`getMasterNode: ${s}`));try{await n.connect()}catch{n.isOpen&&n.destroy();continue}e=!0;try{let s=await n.sentinel.sentinelMaster(this.options.name),i=(0,Fn.parseNode)(s);if(i===void 0)continue;return i}finally{n.destroy()}}throw e?new Error("Master Node Not Enumerated"):new Error("couldn't connect to any sentinels")}async getMasterClient(){let e=await this.getMasterNode(),r=(0,Fn.getMappedNode)(e.host,e.port,this.options.nodeAddressMap);return Fb.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:r.host,port:r.port}})}async getReplicaNodes(){let e=!1;for(let r of this.#e){let n=Fb.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:r.host,port:r.port,reconnectStrategy:!1},modules:kB.default}).on("error",s=>this.emit(`getReplicaNodes: ${s}`));try{await n.connect()}catch{n.isOpen&&n.destroy();continue}e=!0;try{let s=await n.sentinel.sentinelReplicas(this.options.name),i=(0,Fn.createNodeList)(s);if(i.length==0)continue;return i}finally{n.destroy()}}throw e?new Error("No Replicas Nodes Enumerated"):new Error("couldn't connect to any sentinels")}async getReplicaClient(){let e=await this.getReplicaNodes();if(e.length==0)throw new Error("no available replicas");this.#t++,this.#t>=e.length&&(this.#t=0);let r=e[this.#t],n=(0,Fn.getMappedNode)(r.host,r.port,this.options.nodeAddressMap);return Fb.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:n.host,port:n.port}})}};Tf.RedisSentinelFactory=Hre});var cT=E(Vt=>{"use strict";var mdr=Vt&&Vt.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),hdr=Vt&&Vt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&mdr(e,t,r)},Vre=Vt&&Vt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Vt,"__esModule",{value:!0});Vt.BasicPooledClientSideCache=Vt.BasicClientSideCache=Vt.REDIS_FLUSH_MODES=Vt.COMMAND_LIST_FILTER_BY=Vt.CLUSTER_SLOT_STATES=Vt.FAILOVER_MODES=Vt.CLIENT_KILL_FILTERS=Vt.GEO_REPLY_WITH=Vt.createSentinel=Vt.createCluster=Vt.createClientPool=Vt.createClient=Vt.digest=Vt.defineScript=Vt.VerbatimString=Vt.RESP_TYPES=void 0;var gdr=tB();Object.defineProperty(Vt,"RESP_TYPES",{enumerable:!0,get:function(){return gdr.RESP_TYPES}});var Adr=pK();Object.defineProperty(Vt,"VerbatimString",{enumerable:!0,get:function(){return Adr.VerbatimString}});var ydr=aWe();Object.defineProperty(Vt,"defineScript",{enumerable:!0,get:function(){return ydr.defineScript}});var xdr=oWe();Object.defineProperty(Vt,"digest",{enumerable:!0,get:function(){return xdr.digest}});hdr(Pl(),Vt);var bdr=Vre(Pb());Vt.createClient=bdr.default.create;var Edr=Rre();Vt.createClientPool=Edr.RedisClientPool.create;var _dr=Vre(aJe());Vt.createCluster=_dr.default.create;var Sdr=Vre(PJe());Vt.createSentinel=Sdr.default.create;var vdr=eI();Object.defineProperty(Vt,"GEO_REPLY_WITH",{enumerable:!0,get:function(){return vdr.GEO_REPLY_WITH}});var oT=yu();Object.defineProperty(Vt,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return oT.CLIENT_KILL_FILTERS}});Object.defineProperty(Vt,"FAILOVER_MODES",{enumerable:!0,get:function(){return oT.FAILOVER_MODES}});Object.defineProperty(Vt,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return oT.CLUSTER_SLOT_STATES}});Object.defineProperty(Vt,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return oT.COMMAND_LIST_FILTER_BY}});Object.defineProperty(Vt,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return oT.REDIS_FLUSH_MODES}});var DJe=Nb();Object.defineProperty(Vt,"BasicClientSideCache",{enumerable:!0,get:function(){return DJe.BasicClientSideCache}});Object.defineProperty(Vt,"BasicPooledClientSideCache",{enumerable:!0,get:function(){return DJe.BasicPooledClientSideCache}})});var kJe=E(zre=>{"use strict";Object.defineProperty(zre,"__esModule",{value:!0});var Cdr=Ie();zre.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BF.ADD"),t.pushKey(e),t.push(r)},transformReply:Cdr.transformBooleanReply}});var LJe=E(Kre=>{"use strict";Object.defineProperty(Kre,"__esModule",{value:!0});Kre.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("BF.CARD"),t.pushKey(e)},transformReply:void 0}});var BJe=E(Yre=>{"use strict";Object.defineProperty(Yre,"__esModule",{value:!0});var Idr=Ie();Yre.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BF.EXISTS"),t.pushKey(e),t.push(r)},transformReply:Idr.transformBooleanReply}});var Jre=E(LB=>{"use strict";Object.defineProperty(LB,"__esModule",{value:!0});LB.transformInfoV2Reply=void 0;var Tdr=cT();function wdr(t,e){switch(e?e[Tdr.RESP_TYPES.MAP]:void 0){case Array:return t;case Map:{let n=new Map;for(let s=0;s<t.length;s+=2)n.set(t[s].toString(),t[s+1]);return n}default:{let n=Object.create(null);for(let s=0;s<t.length;s+=2)n[t[s].toString()]=t[s+1];return n}}}LB.transformInfoV2Reply=wdr});var MJe=E(Xre=>{"use strict";Object.defineProperty(Xre,"__esModule",{value:!0});var Rdr=Jre();Xre.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("BF.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,Rdr.transformInfoV2Reply)(t,r),3:void 0}}});var WJe=E(Zre=>{"use strict";Object.defineProperty(Zre,"__esModule",{value:!0});var Ndr=Ie();Zre.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BF.INSERT"),t.pushKey(e),n?.CAPACITY!==void 0&&t.push("CAPACITY",n.CAPACITY.toString()),n?.ERROR!==void 0&&t.push("ERROR",n.ERROR.toString()),n?.EXPANSION!==void 0&&t.push("EXPANSION",n.EXPANSION.toString()),n?.NOCREATE&&t.push("NOCREATE"),n?.NONSCALING&&t.push("NONSCALING"),t.push("ITEMS"),t.pushVariadic(r)},transformReply:Ndr.transformBooleanArrayReply}});var $Je=E(ene=>{"use strict";Object.defineProperty(ene,"__esModule",{value:!0});ene.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BF.LOADCHUNK"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var FJe=E(tne=>{"use strict";Object.defineProperty(tne,"__esModule",{value:!0});var Odr=Ie();tne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BF.MADD"),t.pushKey(e),t.pushVariadic(r)},transformReply:Odr.transformBooleanArrayReply}});var UJe=E(rne=>{"use strict";Object.defineProperty(rne,"__esModule",{value:!0});var Pdr=Ie();rne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BF.MEXISTS"),t.pushKey(e),t.pushVariadic(r)},transformReply:Pdr.transformBooleanArrayReply}});var qJe=E(nne=>{"use strict";Object.defineProperty(nne,"__esModule",{value:!0});nne.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("BF.RESERVE"),t.pushKey(e),t.push(r.toString(),n.toString()),s?.EXPANSION&&t.push("EXPANSION",s.EXPANSION.toString()),s?.NONSCALING&&t.push("NONSCALING")},transformReply:void 0}});var jJe=E(sne=>{"use strict";Object.defineProperty(sne,"__esModule",{value:!0});sne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BF.SCANDUMP"),t.pushKey(e),t.push(r.toString())},transformReply(t){return{iterator:t[0],chunk:t[1]}}}});var Ub=E(Fl=>{"use strict";var Ddr=Fl&&Fl.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),kdr=Fl&&Fl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ddr(e,t,r)},Ul=Fl&&Fl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Fl,"__esModule",{value:!0});var HJe=Ul(kJe()),QJe=Ul(LJe()),GJe=Ul(BJe()),VJe=Ul(MJe()),zJe=Ul(WJe()),KJe=Ul($Je()),YJe=Ul(FJe()),JJe=Ul(UJe()),XJe=Ul(qJe()),ZJe=Ul(jJe());kdr(Jre(),Fl);Fl.default={ADD:HJe.default,add:HJe.default,CARD:QJe.default,card:QJe.default,EXISTS:GJe.default,exists:GJe.default,INFO:VJe.default,info:VJe.default,INSERT:zJe.default,insert:zJe.default,LOADCHUNK:KJe.default,loadChunk:KJe.default,MADD:YJe.default,mAdd:YJe.default,MEXISTS:JJe.default,mExists:JJe.default,RESERVE:XJe.default,reserve:XJe.default,SCANDUMP:ZJe.default,scanDump:ZJe.default}});var tXe=E(ine=>{"use strict";Object.defineProperty(ine,"__esModule",{value:!0});ine.default={IS_READ_ONLY:!1,parseCommand(t,e,r){if(t.push("CMS.INCRBY"),t.pushKey(e),Array.isArray(r))for(let n of r)eXe(t,n);else eXe(t,r)},transformReply:void 0};function eXe(t,{item:e,incrementBy:r}){t.push(e,r.toString())}});var rXe=E(ane=>{"use strict";Object.defineProperty(ane,"__esModule",{value:!0});var Ldr=Ub();ane.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("CMS.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,Ldr.transformInfoV2Reply)(t,r),3:void 0}}});var nXe=E(one=>{"use strict";Object.defineProperty(one,"__esModule",{value:!0});one.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CMS.INITBYDIM"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var sXe=E(cne=>{"use strict";Object.defineProperty(cne,"__esModule",{value:!0});cne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CMS.INITBYPROB"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var iXe=E(une=>{"use strict";Object.defineProperty(une,"__esModule",{value:!0});une.default={IS_READ_ONLY:!1,parseCommand(t,e,r){if(t.push("CMS.MERGE"),t.pushKey(e),t.push(r.length.toString()),Bdr(r))t.pushVariadic(r);else{for(let n=0;n<r.length;n++)t.push(r[n].name);t.push("WEIGHTS");for(let n=0;n<r.length;n++)t.push(r[n].weight.toString())}},transformReply:void 0};function Bdr(t){return typeof t[0]=="string"||t[0]instanceof Buffer}});var aXe=E(lne=>{"use strict";Object.defineProperty(lne,"__esModule",{value:!0});lne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CMS.QUERY"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var pXe=E(uT=>{"use strict";var qb=uT&&uT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uT,"__esModule",{value:!0});var oXe=qb(tXe()),cXe=qb(rXe()),uXe=qb(nXe()),lXe=qb(sXe()),dXe=qb(iXe()),fXe=qb(aXe());uT.default={INCRBY:oXe.default,incrBy:oXe.default,INFO:cXe.default,info:cXe.default,INITBYDIM:uXe.default,initByDim:uXe.default,INITBYPROB:lXe.default,initByProb:lXe.default,MERGE:dXe.default,merge:dXe.default,QUERY:fXe.default,query:fXe.default}});var mXe=E(dne=>{"use strict";Object.defineProperty(dne,"__esModule",{value:!0});var Mdr=Ie();dne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.ADD"),t.pushKey(e),t.push(r)},transformReply:Mdr.transformBooleanReply}});var hXe=E(fne=>{"use strict";Object.defineProperty(fne,"__esModule",{value:!0});var Wdr=Ie();fne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.ADDNX"),t.pushKey(e),t.push(r)},transformReply:Wdr.transformBooleanReply}});var gXe=E(pne=>{"use strict";Object.defineProperty(pne,"__esModule",{value:!0});pne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CF.COUNT"),t.pushKey(e),t.push(r)},transformReply:void 0}});var AXe=E(mne=>{"use strict";Object.defineProperty(mne,"__esModule",{value:!0});var $dr=Ie();mne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.DEL"),t.pushKey(e),t.push(r)},transformReply:$dr.transformBooleanReply}});var yXe=E(hne=>{"use strict";Object.defineProperty(hne,"__esModule",{value:!0});var Fdr=Ie();hne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.EXISTS"),t.pushKey(e),t.push(r)},transformReply:Fdr.transformBooleanReply}});var xXe=E(gne=>{"use strict";Object.defineProperty(gne,"__esModule",{value:!0});var Udr=Ub();gne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("CF.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,Udr.transformInfoV2Reply)(t,r),3:void 0}}});var Ane=E(lT=>{"use strict";Object.defineProperty(lT,"__esModule",{value:!0});lT.parseCfInsertArguments=void 0;var qdr=Ie();function bXe(t,e,r,n){t.pushKey(e),n?.CAPACITY!==void 0&&t.push("CAPACITY",n.CAPACITY.toString()),n?.NOCREATE&&t.push("NOCREATE"),t.push("ITEMS"),t.pushVariadic(r)}lT.parseCfInsertArguments=bXe;lT.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("CF.INSERT"),bXe(...t)},transformReply:qdr.transformBooleanArrayReply}});var EXe=E(wf=>{"use strict";var jdr=wf&&wf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Hdr=wf&&wf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Qdr=wf&&wf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&jdr(e,t,r);return Hdr(e,t),e};Object.defineProperty(wf,"__esModule",{value:!0});var yne=Qdr(Ane());wf.default={IS_READ_ONLY:yne.default.IS_READ_ONLY,parseCommand(...t){t[0].push("CF.INSERTNX"),(0,yne.parseCfInsertArguments)(...t)},transformReply:yne.default.transformReply}});var _Xe=E(xne=>{"use strict";Object.defineProperty(xne,"__esModule",{value:!0});xne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CF.LOADCHUNK"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var SXe=E(bne=>{"use strict";Object.defineProperty(bne,"__esModule",{value:!0});bne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CF.RESERVE"),t.pushKey(e),t.push(r.toString()),n?.BUCKETSIZE!==void 0&&t.push("BUCKETSIZE",n.BUCKETSIZE.toString()),n?.MAXITERATIONS!==void 0&&t.push("MAXITERATIONS",n.MAXITERATIONS.toString()),n?.EXPANSION!==void 0&&t.push("EXPANSION",n.EXPANSION.toString())},transformReply:void 0}});var vXe=E(Ene=>{"use strict";Object.defineProperty(Ene,"__esModule",{value:!0});Ene.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CF.SCANDUMP"),t.pushKey(e),t.push(r.toString())},transformReply(t){return{iterator:t[0],chunk:t[1]}}}});var BXe=E(dT=>{"use strict";var _u=dT&&dT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dT,"__esModule",{value:!0});var CXe=_u(mXe()),IXe=_u(hXe()),TXe=_u(gXe()),wXe=_u(AXe()),RXe=_u(yXe()),NXe=_u(xXe()),OXe=_u(Ane()),PXe=_u(EXe()),DXe=_u(_Xe()),kXe=_u(SXe()),LXe=_u(vXe());dT.default={ADD:CXe.default,add:CXe.default,ADDNX:IXe.default,addNX:IXe.default,COUNT:TXe.default,count:TXe.default,DEL:wXe.default,del:wXe.default,EXISTS:RXe.default,exists:RXe.default,INFO:NXe.default,info:NXe.default,INSERT:OXe.default,insert:OXe.default,INSERTNX:PXe.default,insertNX:PXe.default,LOADCHUNK:DXe.default,loadChunk:DXe.default,RESERVE:kXe.default,reserve:kXe.default,SCANDUMP:LXe.default,scanDump:LXe.default}});var MXe=E(_ne=>{"use strict";Object.defineProperty(_ne,"__esModule",{value:!0});_ne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TDIGEST.ADD"),t.pushKey(e);for(let n of r)t.push(n.toString())},transformReply:void 0}});var Sne=E(fT=>{"use strict";Object.defineProperty(fT,"__esModule",{value:!0});fT.transformByRankArguments=void 0;var Gdr=Ie();function WXe(t,e,r){t.pushKey(e);for(let n of r)t.push(n.toString())}fT.transformByRankArguments=WXe;fT.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("TDIGEST.BYRANK"),WXe(...t)},transformReply:Gdr.transformDoubleArrayReply}});var $Xe=E(Rf=>{"use strict";var Vdr=Rf&&Rf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),zdr=Rf&&Rf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Kdr=Rf&&Rf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Vdr(e,t,r);return zdr(e,t),e};Object.defineProperty(Rf,"__esModule",{value:!0});var vne=Kdr(Sne());Rf.default={IS_READ_ONLY:vne.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TDIGEST.BYREVRANK"),(0,vne.transformByRankArguments)(...t)},transformReply:vne.default.transformReply}});var FXe=E(Cne=>{"use strict";Object.defineProperty(Cne,"__esModule",{value:!0});var Ydr=Ie();Cne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TDIGEST.CDF"),t.pushKey(e);for(let n of r)t.push(n.toString())},transformReply:Ydr.transformDoubleArrayReply}});var UXe=E(Ine=>{"use strict";Object.defineProperty(Ine,"__esModule",{value:!0});Ine.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TDIGEST.CREATE"),t.pushKey(e),r?.COMPRESSION!==void 0&&t.push("COMPRESSION",r.COMPRESSION.toString())},transformReply:void 0}});var qXe=E(Tne=>{"use strict";Object.defineProperty(Tne,"__esModule",{value:!0});var Jdr=Ub();Tne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TDIGEST.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,Jdr.transformInfoV2Reply)(t,r),3:void 0}}});var jXe=E(wne=>{"use strict";Object.defineProperty(wne,"__esModule",{value:!0});var Xdr=Ie();wne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TDIGEST.MAX"),t.pushKey(e)},transformReply:Xdr.transformDoubleReply}});var HXe=E(Rne=>{"use strict";Object.defineProperty(Rne,"__esModule",{value:!0});Rne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("TDIGEST.MERGE"),t.pushKey(e),t.pushKeysLength(r),n?.COMPRESSION!==void 0&&t.push("COMPRESSION",n.COMPRESSION.toString()),n?.OVERRIDE&&t.push("OVERRIDE")},transformReply:void 0}});var QXe=E(Nne=>{"use strict";Object.defineProperty(Nne,"__esModule",{value:!0});var Zdr=Ie();Nne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TDIGEST.MIN"),t.pushKey(e)},transformReply:Zdr.transformDoubleReply}});var GXe=E(One=>{"use strict";Object.defineProperty(One,"__esModule",{value:!0});var efr=Ie();One.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TDIGEST.QUANTILE"),t.pushKey(e);for(let n of r)t.push(n.toString())},transformReply:efr.transformDoubleArrayReply}});var Pne=E(pT=>{"use strict";Object.defineProperty(pT,"__esModule",{value:!0});pT.transformRankArguments=void 0;function VXe(t,e,r){t.pushKey(e);for(let n of r)t.push(n.toString())}pT.transformRankArguments=VXe;pT.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("TDIGEST.RANK"),VXe(...t)},transformReply:void 0}});var zXe=E(Dne=>{"use strict";Object.defineProperty(Dne,"__esModule",{value:!0});Dne.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("TDIGEST.RESET"),t.pushKey(e)},transformReply:void 0}});var KXe=E(Nf=>{"use strict";var tfr=Nf&&Nf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),rfr=Nf&&Nf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),nfr=Nf&&Nf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&tfr(e,t,r);return rfr(e,t),e};Object.defineProperty(Nf,"__esModule",{value:!0});var kne=nfr(Pne());Nf.default={IS_READ_ONLY:kne.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TDIGEST.REVRANK"),(0,kne.transformRankArguments)(...t)},transformReply:kne.default.transformReply}});var YXe=E(Lne=>{"use strict";Object.defineProperty(Lne,"__esModule",{value:!0});var sfr=Ie();Lne.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("TDIGEST.TRIMMED_MEAN"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:sfr.transformDoubleReply}});var dZe=E(mT=>{"use strict";var ao=mT&&mT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mT,"__esModule",{value:!0});var JXe=ao(MXe()),XXe=ao(Sne()),ZXe=ao($Xe()),eZe=ao(FXe()),tZe=ao(UXe()),rZe=ao(qXe()),nZe=ao(jXe()),sZe=ao(HXe()),iZe=ao(QXe()),aZe=ao(GXe()),oZe=ao(Pne()),cZe=ao(zXe()),uZe=ao(KXe()),lZe=ao(YXe());mT.default={ADD:JXe.default,add:JXe.default,BYRANK:XXe.default,byRank:XXe.default,BYREVRANK:ZXe.default,byRevRank:ZXe.default,CDF:eZe.default,cdf:eZe.default,CREATE:tZe.default,create:tZe.default,INFO:rZe.default,info:rZe.default,MAX:nZe.default,max:nZe.default,MERGE:sZe.default,merge:sZe.default,MIN:iZe.default,min:iZe.default,QUANTILE:aZe.default,quantile:aZe.default,RANK:oZe.default,rank:oZe.default,RESET:cZe.default,reset:cZe.default,REVRANK:uZe.default,revRank:uZe.default,TRIMMED_MEAN:lZe.default,trimmedMean:lZe.default}});var fZe=E(Bne=>{"use strict";Object.defineProperty(Bne,"__esModule",{value:!0});Bne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TOPK.ADD"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var pZe=E(Mne=>{"use strict";Object.defineProperty(Mne,"__esModule",{value:!0});Mne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TOPK.COUNT"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var hZe=E(Wne=>{"use strict";Object.defineProperty(Wne,"__esModule",{value:!0});function mZe(t,{item:e,incrementBy:r}){t.push(e,r.toString())}Wne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){if(t.push("TOPK.INCRBY"),t.pushKey(e),Array.isArray(r))for(let n of r)mZe(t,n);else mZe(t,r)},transformReply:void 0}});var gZe=E($ne=>{"use strict";Object.defineProperty($ne,"__esModule",{value:!0});var ifr=Ie(),afr=Ub();$ne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TOPK.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(t[7]=ifr.transformDoubleReply[2](t[7],e,r),(0,afr.transformInfoV2Reply)(t,r)),3:void 0}}});var AZe=E(Fne=>{"use strict";Object.defineProperty(Fne,"__esModule",{value:!0});Fne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TOPK.LIST"),t.pushKey(e),t.push("WITHCOUNT")},transformReply(t){let e=[];for(let r=0;r<t.length;r++)e.push({item:t[r],count:t[++r]});return e}}});var yZe=E(Une=>{"use strict";Object.defineProperty(Une,"__esModule",{value:!0});Une.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TOPK.LIST"),t.pushKey(e)},transformReply:void 0}});var xZe=E(qne=>{"use strict";Object.defineProperty(qne,"__esModule",{value:!0});var ofr=Ie();qne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TOPK.QUERY"),t.pushKey(e),t.pushVariadic(r)},transformReply:ofr.transformBooleanArrayReply}});var bZe=E(jne=>{"use strict";Object.defineProperty(jne,"__esModule",{value:!0});jne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("TOPK.RESERVE"),t.pushKey(e),t.push(r.toString()),n&&t.push(n.width.toString(),n.depth.toString(),n.decay.toString())},transformReply:void 0}});var RZe=E(hT=>{"use strict";var Q0=hT&&hT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hT,"__esModule",{value:!0});var EZe=Q0(fZe()),_Ze=Q0(pZe()),SZe=Q0(hZe()),vZe=Q0(gZe()),CZe=Q0(AZe()),IZe=Q0(yZe()),TZe=Q0(xZe()),wZe=Q0(bZe());hT.default={ADD:EZe.default,add:EZe.default,COUNT:_Ze.default,count:_Ze.default,INCRBY:SZe.default,incrBy:SZe.default,INFO:vZe.default,info:vZe.default,LIST_WITHCOUNT:CZe.default,listWithCount:CZe.default,LIST:IZe.default,list:IZe.default,QUERY:TZe.default,query:TZe.default,RESERVE:wZe.default,reserve:wZe.default}});var NZe=E(gT=>{"use strict";var AT=gT&&gT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gT,"__esModule",{value:!0});var cfr=AT(Ub()),ufr=AT(pXe()),lfr=AT(BXe()),dfr=AT(dZe()),ffr=AT(RZe());gT.default={bf:cfr.default,cms:ufr.default,cf:lfr.default,tDigest:dfr.default,topK:ffr.default}});var Hne=E(jb=>{"use strict";var pfr=jb&&jb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jb,"__esModule",{value:!0});jb.default=void 0;var mfr=NZe();Object.defineProperty(jb,"default",{enumerable:!0,get:function(){return pfr(mfr).default}})});var PZe=E(Qne=>{"use strict";Object.defineProperty(Qne,"__esModule",{value:!0});var OZe=Ie();Qne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,...s){t.push("JSON.ARRAPPEND"),t.pushKey(e),t.push(r,(0,OZe.transformRedisJsonArgument)(n));for(let i=0;i<s.length;i++)t.push((0,OZe.transformRedisJsonArgument)(s[i]))},transformReply:void 0}});var DZe=E(Gne=>{"use strict";Object.defineProperty(Gne,"__esModule",{value:!0});var hfr=Ie();Gne.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("JSON.ARRINDEX"),t.pushKey(e),t.push(r,(0,hfr.transformRedisJsonArgument)(n)),s?.range&&(t.push(s.range.start.toString()),s.range.stop!==void 0&&t.push(s.range.stop.toString()))},transformReply:void 0}});var LZe=E(Vne=>{"use strict";Object.defineProperty(Vne,"__esModule",{value:!0});var kZe=Ie();Vne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,...i){t.push("JSON.ARRINSERT"),t.pushKey(e),t.push(r,n.toString(),(0,kZe.transformRedisJsonArgument)(s));for(let a=0;a<i.length;a++)t.push((0,kZe.transformRedisJsonArgument)(i[a]))},transformReply:void 0}});var BZe=E(zne=>{"use strict";Object.defineProperty(zne,"__esModule",{value:!0});zne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.ARRLEN"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var MZe=E(Yne=>{"use strict";Object.defineProperty(Yne,"__esModule",{value:!0});var Kne=Ie();Yne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.ARRPOP"),t.pushKey(e),r&&(t.push(r.path),r.index!==void 0&&t.push(r.index.toString()))},transformReply(t){return(0,Kne.isArrayReply)(t)?t.map(e=>(0,Kne.transformRedisJsonNullReply)(e)):(0,Kne.transformRedisJsonNullReply)(t)}}});var WZe=E(Jne=>{"use strict";Object.defineProperty(Jne,"__esModule",{value:!0});Jne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("JSON.ARRTRIM"),t.pushKey(e),t.push(r,n.toString(),s.toString())},transformReply:void 0}});var $Ze=E(Xne=>{"use strict";Object.defineProperty(Xne,"__esModule",{value:!0});Xne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.CLEAR"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var FZe=E(Zne=>{"use strict";Object.defineProperty(Zne,"__esModule",{value:!0});Zne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.DEBUG","MEMORY"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var UZe=E(ese=>{"use strict";Object.defineProperty(ese,"__esModule",{value:!0});ese.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.DEL"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var qZe=E(tse=>{"use strict";Object.defineProperty(tse,"__esModule",{value:!0});tse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.FORGET"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var jZe=E(rse=>{"use strict";Object.defineProperty(rse,"__esModule",{value:!0});var gfr=Ie();rse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.GET"),t.pushKey(e),r?.path!==void 0&&t.pushVariadic(r.path)},transformReply:gfr.transformRedisJsonNullReply}});var HZe=E(nse=>{"use strict";Object.defineProperty(nse,"__esModule",{value:!0});var Afr=Ie();nse.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.MERGE"),t.pushKey(e),t.push(r,(0,Afr.transformRedisJsonArgument)(n))},transformReply:void 0}});var QZe=E(sse=>{"use strict";Object.defineProperty(sse,"__esModule",{value:!0});var yfr=Ie();sse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.MGET"),t.pushKeys(e),t.push(r)},transformReply(t){return t.map(e=>(0,yfr.transformRedisJsonNullReply)(e))}}});var GZe=E(ise=>{"use strict";Object.defineProperty(ise,"__esModule",{value:!0});var xfr=Ie();ise.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("JSON.MSET");for(let r=0;r<e.length;r++)t.pushKey(e[r].key),t.push(e[r].path,(0,xfr.transformRedisJsonArgument)(e[r].value))},transformReply:void 0}});var ose=E(ase=>{"use strict";Object.defineProperty(ase,"__esModule",{value:!0});ase.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.NUMINCRBY"),t.pushKey(e),t.push(r,n.toString())},transformReply:{2:t=>JSON.parse(t.toString()),3:void 0}}});var VZe=E(yT=>{"use strict";var bfr=yT&&yT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yT,"__esModule",{value:!0});var Efr=bfr(ose());yT.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.NUMMULTBY"),t.pushKey(e),t.push(r,n.toString())},transformReply:Efr.default.transformReply}});var zZe=E(cse=>{"use strict";Object.defineProperty(cse,"__esModule",{value:!0});cse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.OBJKEYS"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var KZe=E(use=>{"use strict";Object.defineProperty(use,"__esModule",{value:!0});use.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.OBJLEN"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var YZe=E(lse=>{"use strict";Object.defineProperty(lse,"__esModule",{value:!0});var _fr=Ie();lse.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("JSON.SET"),t.pushKey(e),t.push(r,(0,_fr.transformRedisJsonArgument)(n)),s?.condition?t.push(s?.condition):s?.NX?t.push("NX"):s?.XX&&t.push("XX")},transformReply:void 0}});var JZe=E(dse=>{"use strict";Object.defineProperty(dse,"__esModule",{value:!0});var Sfr=Ie();dse.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.STRAPPEND"),t.pushKey(e),n?.path!==void 0&&t.push(n.path),t.push((0,Sfr.transformRedisJsonArgument)(r))},transformReply:void 0}});var XZe=E(fse=>{"use strict";Object.defineProperty(fse,"__esModule",{value:!0});fse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.STRLEN"),t.pushKey(e),r?.path&&t.push(r.path)},transformReply:void 0}});var ZZe=E(pse=>{"use strict";Object.defineProperty(pse,"__esModule",{value:!0});pse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.TOGGLE"),t.pushKey(e),t.push(r)},transformReply:void 0}});var eet=E(mse=>{"use strict";Object.defineProperty(mse,"__esModule",{value:!0});mse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.TYPE"),t.pushKey(e),r?.path&&t.push(r.path)},transformReply:{2:void 0,3:t=>t[0]}}});var Iet=E(Su=>{"use strict";var Gn=Su&&Su.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Su,"__esModule",{value:!0});Su.transformRedisJsonNullReply=Su.transformRedisJsonReply=Su.transformRedisJsonArgument=void 0;var tet=Gn(PZe()),ret=Gn(DZe()),net=Gn(LZe()),set=Gn(BZe()),iet=Gn(MZe()),aet=Gn(WZe()),oet=Gn($Ze()),cet=Gn(FZe()),uet=Gn(UZe()),det=Gn(qZe()),fet=Gn(jZe()),pet=Gn(HZe()),met=Gn(QZe()),het=Gn(GZe()),get=Gn(ose()),Aet=Gn(VZe()),yet=Gn(zZe()),xet=Gn(KZe()),bet=Gn(YZe()),Eet=Gn(JZe()),_et=Gn(XZe()),vet=Gn(ZZe()),Cet=Gn(eet()),hse=Ie();Object.defineProperty(Su,"transformRedisJsonArgument",{enumerable:!0,get:function(){return hse.transformRedisJsonArgument}});Object.defineProperty(Su,"transformRedisJsonReply",{enumerable:!0,get:function(){return hse.transformRedisJsonReply}});Object.defineProperty(Su,"transformRedisJsonNullReply",{enumerable:!0,get:function(){return hse.transformRedisJsonNullReply}});Su.default={ARRAPPEND:tet.default,arrAppend:tet.default,ARRINDEX:ret.default,arrIndex:ret.default,ARRINSERT:net.default,arrInsert:net.default,ARRLEN:set.default,arrLen:set.default,ARRPOP:iet.default,arrPop:iet.default,ARRTRIM:aet.default,arrTrim:aet.default,CLEAR:oet.default,clear:oet.default,DEBUG_MEMORY:cet.default,debugMemory:cet.default,DEL:uet.default,del:uet.default,FORGET:det.default,forget:det.default,GET:fet.default,get:fet.default,MERGE:pet.default,merge:pet.default,MGET:met.default,mGet:met.default,MSET:het.default,mSet:het.default,NUMINCRBY:get.default,numIncrBy:get.default,NUMMULTBY:Aet.default,numMultBy:Aet.default,OBJKEYS:yet.default,objKeys:yet.default,OBJLEN:xet.default,objLen:xet.default,SET:bet.default,set:bet.default,STRAPPEND:Eet.default,strAppend:Eet.default,STRLEN:_et.default,strLen:_et.default,TOGGLE:vet.default,toggle:vet.default,TYPE:Cet.default,type:Cet.default}});var gse=E(Hb=>{"use strict";var vfr=Hb&&Hb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Hb,"__esModule",{value:!0});Hb.default=void 0;var Cfr=Iet();Object.defineProperty(Hb,"default",{enumerable:!0,get:function(){return vfr(Cfr).default}})});var Tet=E(Ase=>{"use strict";Object.defineProperty(Ase,"__esModule",{value:!0});Ase.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FT._LIST")},transformReply:{2:void 0,3:void 0}}});var BB=E(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.REDISEARCH_LANGUAGE=In.parseSchema=In.SCHEMA_GEO_SHAPE_COORD_SYSTEM=In.VAMANA_COMPRESSION_ALGORITHM=In.SCHEMA_VECTOR_FIELD_ALGORITHM=In.SCHEMA_TEXT_FIELD_PHONETIC=In.SCHEMA_FIELD_TYPE=void 0;var wet=Ie();In.SCHEMA_FIELD_TYPE={TEXT:"TEXT",NUMERIC:"NUMERIC",GEO:"GEO",TAG:"TAG",VECTOR:"VECTOR",GEOSHAPE:"GEOSHAPE"};In.SCHEMA_TEXT_FIELD_PHONETIC={DM_EN:"dm:en",DM_FR:"dm:fr",DM_PT:"dm:pt",DM_ES:"dm:es"};In.SCHEMA_VECTOR_FIELD_ALGORITHM={FLAT:"FLAT",HNSW:"HNSW",VAMANA:"SVS-VAMANA"};In.VAMANA_COMPRESSION_ALGORITHM={LVQ4:"LVQ4",LVQ8:"LVQ8",LVQ4x4:"LVQ4x4",LVQ4x8:"LVQ4x8",LeanVec4x8:"LeanVec4x8",LeanVec8x8:"LeanVec8x8"};In.SCHEMA_GEO_SHAPE_COORD_SYSTEM={SPHERICAL:"SPHERICAL",FLAT:"FLAT"};function yse(t,e){e.SORTABLE&&(t.push("SORTABLE"),e.SORTABLE==="UNF"&&t.push("UNF")),e.NOINDEX&&t.push("NOINDEX")}function Ret(t,e){for(let[r,n]of Object.entries(e)){let s=Array.isArray(n)?n:[n];for(let i of s){if(t.push(r),typeof i=="string"){t.push(i);continue}switch(i.AS&&t.push("AS",i.AS),t.push(i.type),i.INDEXMISSING&&t.push("INDEXMISSING"),i.type){case In.SCHEMA_FIELD_TYPE.TEXT:i.NOSTEM&&t.push("NOSTEM"),i.WEIGHT!==void 0&&t.push("WEIGHT",i.WEIGHT.toString()),i.PHONETIC&&t.push("PHONETIC",i.PHONETIC),i.WITHSUFFIXTRIE&&t.push("WITHSUFFIXTRIE"),i.INDEXEMPTY&&t.push("INDEXEMPTY"),yse(t,i);break;case In.SCHEMA_FIELD_TYPE.NUMERIC:case In.SCHEMA_FIELD_TYPE.GEO:yse(t,i);break;case In.SCHEMA_FIELD_TYPE.TAG:i.SEPARATOR&&t.push("SEPARATOR",i.SEPARATOR),i.CASESENSITIVE&&t.push("CASESENSITIVE"),i.WITHSUFFIXTRIE&&t.push("WITHSUFFIXTRIE"),i.INDEXEMPTY&&t.push("INDEXEMPTY"),yse(t,i);break;case In.SCHEMA_FIELD_TYPE.VECTOR:t.push(i.ALGORITHM);let a=[];switch(a.push("TYPE",i.TYPE,"DIM",i.DIM.toString(),"DISTANCE_METRIC",i.DISTANCE_METRIC),i.INITIAL_CAP!==void 0&&a.push("INITIAL_CAP",i.INITIAL_CAP.toString()),i.ALGORITHM){case In.SCHEMA_VECTOR_FIELD_ALGORITHM.FLAT:i.BLOCK_SIZE!==void 0&&a.push("BLOCK_SIZE",i.BLOCK_SIZE.toString());break;case In.SCHEMA_VECTOR_FIELD_ALGORITHM.HNSW:i.M!==void 0&&a.push("M",i.M.toString()),i.EF_CONSTRUCTION!==void 0&&a.push("EF_CONSTRUCTION",i.EF_CONSTRUCTION.toString()),i.EF_RUNTIME!==void 0&&a.push("EF_RUNTIME",i.EF_RUNTIME.toString());break;case In.SCHEMA_VECTOR_FIELD_ALGORITHM.VAMANA:i.COMPRESSION&&a.push("COMPRESSION",i.COMPRESSION),i.CONSTRUCTION_WINDOW_SIZE!==void 0&&a.push("CONSTRUCTION_WINDOW_SIZE",i.CONSTRUCTION_WINDOW_SIZE.toString()),i.GRAPH_MAX_DEGREE!==void 0&&a.push("GRAPH_MAX_DEGREE",i.GRAPH_MAX_DEGREE.toString()),i.SEARCH_WINDOW_SIZE!==void 0&&a.push("SEARCH_WINDOW_SIZE",i.SEARCH_WINDOW_SIZE.toString()),i.EPSILON!==void 0&&a.push("EPSILON",i.EPSILON.toString()),i.TRAINING_THRESHOLD!==void 0&&a.push("TRAINING_THRESHOLD",i.TRAINING_THRESHOLD.toString()),i.REDUCE!==void 0&&a.push("REDUCE",i.REDUCE.toString());break}t.pushVariadicWithLength(a);break;case In.SCHEMA_FIELD_TYPE.GEOSHAPE:i.COORD_SYSTEM!==void 0&&t.push("COORD_SYSTEM",i.COORD_SYSTEM);break}}}}In.parseSchema=Ret;In.REDISEARCH_LANGUAGE={ARABIC:"Arabic",BASQUE:"Basque",CATALANA:"Catalan",DANISH:"Danish",DUTCH:"Dutch",ENGLISH:"English",FINNISH:"Finnish",FRENCH:"French",GERMAN:"German",GREEK:"Greek",HUNGARIAN:"Hungarian",INDONESAIN:"Indonesian",IRISH:"Irish",ITALIAN:"Italian",LITHUANIAN:"Lithuanian",NEPALI:"Nepali",NORWEIGAN:"Norwegian",PORTUGUESE:"Portuguese",ROMANIAN:"Romanian",RUSSIAN:"Russian",SPANISH:"Spanish",SWEDISH:"Swedish",TAMIL:"Tamil",TURKISH:"Turkish",CHINESE:"Chinese"};In.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.CREATE",e),n?.ON&&t.push("ON",n.ON),(0,wet.parseOptionalVariadicArgument)(t,"PREFIX",n?.PREFIX),n?.FILTER&&t.push("FILTER",n.FILTER),n?.LANGUAGE&&t.push("LANGUAGE",n.LANGUAGE),n?.LANGUAGE_FIELD&&t.push("LANGUAGE_FIELD",n.LANGUAGE_FIELD),n?.SCORE&&t.push("SCORE",n.SCORE.toString()),n?.SCORE_FIELD&&t.push("SCORE_FIELD",n.SCORE_FIELD),n?.MAXTEXTFIELDS&&t.push("MAXTEXTFIELDS"),n?.TEMPORARY&&t.push("TEMPORARY",n.TEMPORARY.toString()),n?.NOOFFSETS&&t.push("NOOFFSETS"),n?.NOHL&&t.push("NOHL"),n?.NOFIELDS&&t.push("NOFIELDS"),n?.NOFREQS&&t.push("NOFREQS"),n?.SKIPINITIALSCAN&&t.push("SKIPINITIALSCAN"),(0,wet.parseOptionalVariadicArgument)(t,"STOPWORDS",n?.STOPWORDS),t.push("SCHEMA"),Ret(t,r)},transformReply:void 0}});var Net=E(xse=>{"use strict";Object.defineProperty(xse,"__esModule",{value:!0});var Ifr=BB();xse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.ALTER",e,"SCHEMA","ADD"),(0,Ifr.parseSchema)(t,r)},transformReply:void 0}});var Qb=E(MB=>{"use strict";Object.defineProperty(MB,"__esModule",{value:!0});MB.DEFAULT_DIALECT=void 0;MB.DEFAULT_DIALECT="2"});var xg=E(yg=>{"use strict";Object.defineProperty(yg,"__esModule",{value:!0});yg.parseSearchOptions=yg.parseParamsArgument=void 0;var xT=Ie(),Tfr=Qb();function Oet(t,e){if(e){t.push("PARAMS");let r=[];for(let n in e){if(!Object.hasOwn(e,n))continue;let s=e[n];r.push(n,typeof s=="number"?s.toString():s)}t.pushVariadicWithLength(r)}}yg.parseParamsArgument=Oet;function Pet(t,e){e?.VERBATIM&&t.push("VERBATIM"),e?.NOSTOPWORDS&&t.push("NOSTOPWORDS"),(0,xT.parseOptionalVariadicArgument)(t,"INKEYS",e?.INKEYS),(0,xT.parseOptionalVariadicArgument)(t,"INFIELDS",e?.INFIELDS),(0,xT.parseOptionalVariadicArgument)(t,"RETURN",e?.RETURN),e?.SUMMARIZE&&(t.push("SUMMARIZE"),typeof e.SUMMARIZE=="object"&&((0,xT.parseOptionalVariadicArgument)(t,"FIELDS",e.SUMMARIZE.FIELDS),e.SUMMARIZE.FRAGS!==void 0&&t.push("FRAGS",e.SUMMARIZE.FRAGS.toString()),e.SUMMARIZE.LEN!==void 0&&t.push("LEN",e.SUMMARIZE.LEN.toString()),e.SUMMARIZE.SEPARATOR!==void 0&&t.push("SEPARATOR",e.SUMMARIZE.SEPARATOR))),e?.HIGHLIGHT&&(t.push("HIGHLIGHT"),typeof e.HIGHLIGHT=="object"&&((0,xT.parseOptionalVariadicArgument)(t,"FIELDS",e.HIGHLIGHT.FIELDS),e.HIGHLIGHT.TAGS&&t.push("TAGS",e.HIGHLIGHT.TAGS.open,e.HIGHLIGHT.TAGS.close))),e?.SLOP!==void 0&&t.push("SLOP",e.SLOP.toString()),e?.TIMEOUT!==void 0&&t.push("TIMEOUT",e.TIMEOUT.toString()),e?.INORDER&&t.push("INORDER"),e?.LANGUAGE&&t.push("LANGUAGE",e.LANGUAGE),e?.EXPANDER&&t.push("EXPANDER",e.EXPANDER),e?.SCORER&&t.push("SCORER",e.SCORER),e?.SORTBY&&(t.push("SORTBY"),typeof e.SORTBY=="string"||e.SORTBY instanceof Buffer?t.push(e.SORTBY):(t.push(e.SORTBY.BY),e.SORTBY.DIRECTION&&t.push(e.SORTBY.DIRECTION))),e?.LIMIT&&t.push("LIMIT",e.LIMIT.from.toString(),e.LIMIT.size.toString()),Oet(t,e?.PARAMS),e?.DIALECT?t.push("DIALECT",e.DIALECT.toString()):t.push("DIALECT",Tfr.DEFAULT_DIALECT)}yg.parseSearchOptions=Pet;yg.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.SEARCH",e,r),Pet(t,n)},transformReply:{2:t=>{let e=t.length>2&&!Array.isArray(t[2]),r=[],n=1;for(;n<t.length;)r.push({id:t[n++],value:e?Object.create(null):wfr(t[n++])});return{total:t[0],documents:r}},3:void 0},unstableResp3:!0};function wfr(t){let e=Object.create(null);if(!t)return e;let r=0;for(;r<t.length;){let n=t[r++],s=t[r++];if(n==="$")try{Object.assign(e,JSON.parse(s));continue}catch{}e[n]=s}return e}});var Gb=E(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.parseGroupByReducer=on.parseAggregateOptions=on.FT_AGGREGATE_GROUP_BY_REDUCERS=on.FT_AGGREGATE_STEPS=void 0;var Rfr=xg(),Nfr=Ie(),Ofr=Qb();on.FT_AGGREGATE_STEPS={GROUPBY:"GROUPBY",SORTBY:"SORTBY",APPLY:"APPLY",LIMIT:"LIMIT",FILTER:"FILTER"};on.FT_AGGREGATE_GROUP_BY_REDUCERS={COUNT:"COUNT",COUNT_DISTINCT:"COUNT_DISTINCT",COUNT_DISTINCTISH:"COUNT_DISTINCTISH",SUM:"SUM",MIN:"MIN",MAX:"MAX",AVG:"AVG",STDDEV:"STDDEV",QUANTILE:"QUANTILE",TOLIST:"TOLIST",FIRST_VALUE:"FIRST_VALUE",RANDOM_SAMPLE:"RANDOM_SAMPLE"};on.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r,n){return t.push("FT.AGGREGATE",e,r),Let(t,n)},transformReply:{2:(t,e,r)=>{let n=[];for(let s=1;s<t.length;s++)n.push((0,Nfr.transformTuplesReply)(t[s],e,r));return{total:Number(t[0]),results:n}},3:void 0},unstableResp3:!0};function Let(t,e){if(e?.VERBATIM&&t.push("VERBATIM"),e?.ADDSCORES&&t.push("ADDSCORES"),e?.LOAD){let r=[];if(Array.isArray(e.LOAD))for(let n of e.LOAD)Det(r,n);else Det(r,e.LOAD);t.push("LOAD"),t.pushVariadicWithLength(r)}if(e?.TIMEOUT!==void 0&&t.push("TIMEOUT",e.TIMEOUT.toString()),e?.STEPS)for(let r of e.STEPS)switch(t.push(r.type),r.type){case on.FT_AGGREGATE_STEPS.GROUPBY:if(r.properties?t.pushVariadicWithLength(r.properties):t.push("0"),Array.isArray(r.REDUCE))for(let s of r.REDUCE)bse(t,s);else bse(t,r.REDUCE);break;case on.FT_AGGREGATE_STEPS.SORTBY:let n=[];if(Array.isArray(r.BY))for(let s of r.BY)ket(n,s);else ket(n,r.BY);r.MAX&&n.push("MAX",r.MAX.toString()),t.pushVariadicWithLength(n);break;case on.FT_AGGREGATE_STEPS.APPLY:t.push(r.expression,"AS",r.AS);break;case on.FT_AGGREGATE_STEPS.LIMIT:t.push(r.from.toString(),r.size.toString());break;case on.FT_AGGREGATE_STEPS.FILTER:t.push(r.expression);break}(0,Rfr.parseParamsArgument)(t,e?.PARAMS),e?.DIALECT?t.push("DIALECT",e.DIALECT.toString()):t.push("DIALECT",Ofr.DEFAULT_DIALECT)}on.parseAggregateOptions=Let;function Det(t,e){typeof e=="string"||e instanceof Buffer?t.push(e):(t.push(e.identifier),e.AS&&t.push("AS",e.AS))}function bse(t,e){switch(t.push("REDUCE",e.type),e.type){case on.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT:t.push("0");break;case on.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCT:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCTISH:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.SUM:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.MIN:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.MAX:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.AVG:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.STDDEV:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.TOLIST:t.push("1",e.property);break;case on.FT_AGGREGATE_GROUP_BY_REDUCERS.QUANTILE:t.push("2",e.property,e.quantile.toString());break;case on.FT_AGGREGATE_GROUP_BY_REDUCERS.FIRST_VALUE:{let r=[e.property];e.BY&&(r.push("BY"),typeof e.BY=="string"||e.BY instanceof Buffer?r.push(e.BY):(r.push(e.BY.property),e.BY.direction&&r.push(e.BY.direction))),t.pushVariadicWithLength(r);break}case on.FT_AGGREGATE_GROUP_BY_REDUCERS.RANDOM_SAMPLE:t.push("2",e.property,e.sampleSize.toString());break}e.AS&&t.push("AS",e.AS)}on.parseGroupByReducer=bse;function ket(t,e){typeof e=="string"||e instanceof Buffer?t.push(e):(t.push(e.BY),e.DIRECTION&&t.push(e.DIRECTION))}});var _se=E(bT=>{"use strict";var Pfr=bT&&bT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(bT,"__esModule",{value:!0});var Ese=Pfr(Gb());bT.default={IS_READ_ONLY:Ese.default.IS_READ_ONLY,parseCommand(t,e,r,n){Ese.default.parseCommand(t,e,r,n),t.push("WITHCURSOR"),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString()),n?.MAXIDLE!==void 0&&t.push("MAXIDLE",n.MAXIDLE.toString())},transformReply:{2:t=>({...Ese.default.transformReply[2](t[0]),cursor:t[1]}),3:void 0},unstableResp3:!0}});var Bet=E(Sse=>{"use strict";Object.defineProperty(Sse,"__esModule",{value:!0});Sse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.ALIASADD",e,r)},transformReply:void 0}});var Met=E(vse=>{"use strict";Object.defineProperty(vse,"__esModule",{value:!0});vse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.ALIASDEL",e)},transformReply:void 0}});var Wet=E(Cse=>{"use strict";Object.defineProperty(Cse,"__esModule",{value:!0});Cse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.ALIASUPDATE",e,r)},transformReply:void 0}});var $et=E(Ise=>{"use strict";Object.defineProperty(Ise,"__esModule",{value:!0});Ise.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.CONFIG","GET",e)},transformReply(t){let e=Object.create(null);for(let r of t){let[n,s]=r;e[n.toString()]=s}return e}}});var Fet=E(Tse=>{"use strict";Object.defineProperty(Tse,"__esModule",{value:!0});Tse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.CONFIG","SET",e,r)},transformReply:void 0}});var Uet=E(wse=>{"use strict";Object.defineProperty(wse,"__esModule",{value:!0});wse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.CURSOR","DEL",e,r.toString())},transformReply:void 0}});var qet=E(ET=>{"use strict";var Dfr=ET&&ET.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ET,"__esModule",{value:!0});var kfr=Dfr(_se());ET.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.CURSOR","READ",e,r.toString()),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString())},transformReply:kfr.default.transformReply,unstableResp3:!0}});var jet=E(Rse=>{"use strict";Object.defineProperty(Rse,"__esModule",{value:!0});Rse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.DICTADD",e),t.pushVariadic(r)},transformReply:void 0}});var Het=E(Nse=>{"use strict";Object.defineProperty(Nse,"__esModule",{value:!0});Nse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.DICTDEL",e),t.pushVariadic(r)},transformReply:void 0}});var Qet=E(Ose=>{"use strict";Object.defineProperty(Ose,"__esModule",{value:!0});Ose.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.DICTDUMP",e)},transformReply:{2:void 0,3:void 0}}});var Get=E(Pse=>{"use strict";Object.defineProperty(Pse,"__esModule",{value:!0});Pse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.DROPINDEX",e),r?.DD&&t.push("DD")},transformReply:{2:void 0,3:void 0}}});var Vet=E(Dse=>{"use strict";Object.defineProperty(Dse,"__esModule",{value:!0});var Lfr=xg(),Bfr=Qb();Dse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.EXPLAIN",e,r),(0,Lfr.parseParamsArgument)(t,n?.PARAMS),n?.DIALECT?t.push("DIALECT",n.DIALECT.toString()):t.push("DIALECT",Bfr.DEFAULT_DIALECT)},transformReply:void 0}});var zet=E(kse=>{"use strict";Object.defineProperty(kse,"__esModule",{value:!0});var Mfr=Qb();kse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.EXPLAINCLI",e,r),n?.DIALECT?t.push("DIALECT",n.DIALECT.toString()):t.push("DIALECT",Mfr.DEFAULT_DIALECT)},transformReply:void 0}});var Jet=E(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.FT_HYBRID_COMBINE_METHOD=vu.FT_HYBRID_VECTOR_METHOD=void 0;var Ket=Ie(),Wfr=xg(),$fr=Gb();vu.FT_HYBRID_VECTOR_METHOD={KNN:"KNN",RANGE:"RANGE"};vu.FT_HYBRID_COMBINE_METHOD={RRF:"RRF",LINEAR:"LINEAR"};function Ffr(t,e){t.push("SEARCH",e.query),e.SCORER&&t.push("SCORER",e.SCORER),e.YIELD_SCORE_AS&&t.push("YIELD_SCORE_AS",e.YIELD_SCORE_AS)}function Ufr(t,e){if(t.push("VSIM",e.field,e.vector),e.method){if(e.method.type===vu.FT_HYBRID_VECTOR_METHOD.KNN){let r=2;e.method.EF_RUNTIME!==void 0&&(r+=2),t.push("KNN",r.toString(),"K",e.method.K.toString()),e.method.EF_RUNTIME!==void 0&&t.push("EF_RUNTIME",e.method.EF_RUNTIME.toString())}if(e.method.type===vu.FT_HYBRID_VECTOR_METHOD.RANGE){let r=2;e.method.EPSILON!==void 0&&(r+=2),t.push("RANGE",r.toString(),"RADIUS",e.method.RADIUS.toString()),e.method.EPSILON!==void 0&&t.push("EPSILON",e.method.EPSILON.toString())}}e.FILTER&&t.push("FILTER",e.FILTER),e.YIELD_SCORE_AS&&t.push("YIELD_SCORE_AS",e.YIELD_SCORE_AS)}function qfr(t,e){if(e){if(t.push("COMBINE"),e.method.type===vu.FT_HYBRID_COMBINE_METHOD.RRF){let r=0;e.method.WINDOW!==void 0&&(r+=2),e.method.CONSTANT!==void 0&&(r+=2),e.YIELD_SCORE_AS&&(r+=2),t.push("RRF",r.toString()),e.method.WINDOW!==void 0&&t.push("WINDOW",e.method.WINDOW.toString()),e.method.CONSTANT!==void 0&&t.push("CONSTANT",e.method.CONSTANT.toString())}if(e.method.type===vu.FT_HYBRID_COMBINE_METHOD.LINEAR){let r=0;e.method.ALPHA!==void 0&&(r+=2),e.method.BETA!==void 0&&(r+=2),e.method.WINDOW!==void 0&&(r+=2),e.YIELD_SCORE_AS&&(r+=2),t.push("LINEAR",r.toString()),e.method.ALPHA!==void 0&&t.push("ALPHA",e.method.ALPHA.toString()),e.method.BETA!==void 0&&t.push("BETA",e.method.BETA.toString()),e.method.WINDOW!==void 0&&t.push("WINDOW",e.method.WINDOW.toString())}e.YIELD_SCORE_AS&&t.push("YIELD_SCORE_AS",e.YIELD_SCORE_AS)}}function jfr(t,e){t.push("APPLY",e.expression),e.AS&&t.push("AS",e.AS)}function Hfr(t,e){if(Ffr(t,e.SEARCH),Ufr(t,e.VSIM),e.COMBINE&&qfr(t,e.COMBINE),e.LOAD&&(e.LOAD==="*"?t.push("LOAD","*"):(0,Ket.parseOptionalVariadicArgument)(t,"LOAD",e.LOAD)),e.GROUPBY&&((0,Ket.parseOptionalVariadicArgument)(t,"GROUPBY",e.GROUPBY.fields),e.GROUPBY.REDUCE)){let n=Array.isArray(e.GROUPBY.REDUCE)?e.GROUPBY.REDUCE:[e.GROUPBY.REDUCE];for(let s of n)(0,$fr.parseGroupByReducer)(t,s)}if(e.APPLY){let n=Array.isArray(e.APPLY)?e.APPLY:[e.APPLY];for(let s of n)jfr(t,s)}if(e.SORTBY){let n=e.SORTBY.fields.reduce((s,i)=>i.direction?s+2:s+1,0);t.push("SORTBY",n.toString());for(let s of e.SORTBY.fields)t.push(s.field),s.direction&&t.push(s.direction)}e.NOSORT&&t.push("NOSORT"),e.FILTER&&t.push("FILTER",e.FILTER),e.LIMIT&&t.push("LIMIT",e.LIMIT.offset.toString(),e.LIMIT.count.toString());let r=e.PARAMS&&Object.keys(e.PARAMS).length>0;(0,Wfr.parseParamsArgument)(t,r?e.PARAMS:void 0),e.TIMEOUT!==void 0&&t.push("TIMEOUT",e.TIMEOUT.toString())}vu.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.HYBRID",e),Hfr(t,r)},transformReply:{2:t=>Qfr(t),3:void 0},unstableResp3:!0};function Qfr(t){let e=Yet(t),r=e.total_results??0,n=e.results??[],s=e.warnings??[],i=e.execution_time?Number.parseFloat(e.execution_time):0,a=[];for(let o of n){let c=Yet(o),u=Object.create(null);for(let[l,d]of Object.entries(c))if(l==="$")try{Object.assign(u,JSON.parse(d))}catch{u[l]=d}else u[l]=d;a.push(u)}return{totalResults:r,executionTime:i,warnings:s,results:a}}function Yet(t){let e={};if(!Array.isArray(t))return e;for(let r=0;r<t.length;r+=2){let n=t[r],s=t[r+1];typeof n=="string"&&(e[n]=s)}return e}});var Xet=E(Bse=>{"use strict";Object.defineProperty(Bse,"__esModule",{value:!0});var Lse=Ie();Bse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.INFO",e)},transformReply:{2:Gfr,3:void 0},unstableResp3:!0};function Gfr(t,e,r){let n=(0,Lse.createTransformTuplesReplyFunc)(e,r),s={};for(let i=0;i<t.length;i+=2){let a=t[i].toString();switch(a){case"index_name":case"index_options":case"num_docs":case"max_doc_id":case"num_terms":case"num_records":case"total_inverted_index_blocks":case"hash_indexing_failures":case"indexing":case"number_of_uses":case"cleaning":case"stopwords_list":s[a]=t[i+1];break;case"inverted_sz_mb":case"vector_index_sz_mb":case"offset_vectors_sz_mb":case"doc_table_size_mb":case"sortable_values_size_mb":case"key_table_size_mb":case"text_overhead_sz_mb":case"tag_overhead_sz_mb":case"total_index_memory_sz_mb":case"geoshapes_sz_mb":case"records_per_doc_avg":case"bytes_per_record_avg":case"offsets_per_term_avg":case"offset_bits_per_record_avg":case"total_indexing_time":case"percent_indexed":s[a]=Lse.transformDoubleReply[2](t[i+1],void 0,r);break;case"index_definition":s[a]=n(t[i+1]);break;case"attributes":s[a]=t[i+1].map(o=>n(o));break;case"gc_stats":{let o={},c=t[i+1];for(let u=0;u<c.length;u+=2){let l=c[u].toString();switch(l){case"bytes_collected":case"total_ms_run":case"total_cycles":case"average_cycle_time_ms":case"last_run_time_ms":case"gc_numeric_trees_missed":case"gc_blocks_denied":o[l]=Lse.transformDoubleReply[2](c[u+1],void 0,r);break}}s[a]=o;break}case"cursor_stats":{let o={},c=t[i+1];for(let u=0;u<c.length;u+=2){let l=c[u].toString();switch(l){case"global_idle":case"global_total":case"index_capacity":case"index_total":o[l]=c[u+1];break}}s[a]=o;break}}}return s}});var ett=E(Of=>{"use strict";var Vfr=Of&&Of.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),zfr=Of&&Of.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Kfr=Of&&Of.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Vfr(e,t,r);return zfr(e,t),e};Object.defineProperty(Of,"__esModule",{value:!0});var Zet=Kfr(xg());Of.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.PROFILE",e,"SEARCH"),n?.LIMITED&&t.push("LIMITED"),t.push("QUERY",r),(0,Zet.parseSearchOptions)(t,n)},transformReply:{2:t=>({results:Zet.default.transformReply[2](t[0]),profile:t[1]}),3:t=>t},unstableResp3:!0}});var rtt=E(Pf=>{"use strict";var Yfr=Pf&&Pf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Jfr=Pf&&Pf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Xfr=Pf&&Pf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Yfr(e,t,r);return Jfr(e,t),e};Object.defineProperty(Pf,"__esModule",{value:!0});var ttt=Xfr(Gb());Pf.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.PROFILE",e,"AGGREGATE"),n?.LIMITED&&t.push("LIMITED"),t.push("QUERY",r),(0,ttt.parseAggregateOptions)(t,n)},transformReply:{2:t=>({results:ttt.default.transformReply[2](t[0]),profile:t[1]}),3:t=>t},unstableResp3:!0}});var ntt=E(_T=>{"use strict";var Zfr=_T&&_T.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_T,"__esModule",{value:!0});var Mse=Zfr(xg());_T.default={NOT_KEYED_COMMAND:Mse.default.NOT_KEYED_COMMAND,IS_READ_ONLY:Mse.default.IS_READ_ONLY,parseCommand(...t){Mse.default.parseCommand(...t),t[0].push("NOCONTENT")},transformReply:{2:t=>({total:t[0],documents:t.slice(1)}),3:void 0},unstableResp3:!0}});var itt=E(Wse=>{"use strict";Object.defineProperty(Wse,"__esModule",{value:!0});var epr=Qb();Wse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){if(t.push("FT.SPELLCHECK",e,r),n?.DISTANCE&&t.push("DISTANCE",n.DISTANCE.toString()),n?.TERMS)if(Array.isArray(n.TERMS))for(let s of n.TERMS)stt(t,s);else stt(t,n.TERMS);n?.DIALECT?t.push("DIALECT",n.DIALECT.toString()):t.push("DIALECT",epr.DEFAULT_DIALECT)},transformReply:{2:t=>t.map(([,e,r])=>({term:e,suggestions:r.map(([n,s])=>({score:Number(n),suggestion:s}))})),3:void 0},unstableResp3:!0};function stt(t,{mode:e,dictionary:r}){t.push("TERMS",e,r)}});var att=E($se=>{"use strict";Object.defineProperty($se,"__esModule",{value:!0});$se.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("FT.SUGADD"),t.pushKey(e),t.push(r,n.toString()),s?.INCR&&t.push("INCR"),s?.PAYLOAD&&t.push("PAYLOAD",s.PAYLOAD)},transformReply:void 0}});var ott=E(Fse=>{"use strict";Object.defineProperty(Fse,"__esModule",{value:!0});Fse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.SUGDEL"),t.pushKey(e),t.push(r)},transformReply:void 0}});var ST=E(Use=>{"use strict";Object.defineProperty(Use,"__esModule",{value:!0});Use.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.SUGGET"),t.pushKey(e),t.push(r),n?.FUZZY&&t.push("FUZZY"),n?.MAX!==void 0&&t.push("MAX",n.MAX.toString())},transformReply:void 0}});var utt=E(vT=>{"use strict";var tpr=vT&&vT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vT,"__esModule",{value:!0});var rpr=Ie(),ctt=tpr(ST());vT.default={IS_READ_ONLY:ctt.default.IS_READ_ONLY,parseCommand(...t){ctt.default.parseCommand(...t),t[0].push("WITHPAYLOADS")},transformReply(t){if((0,rpr.isNullReply)(t))return null;let e=new Array(t.length/2),r=0,n=0;for(;r<t.length;)e[n++]={suggestion:t[r++],payload:t[r++]};return e}}});var dtt=E(CT=>{"use strict";var npr=CT&&CT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CT,"__esModule",{value:!0});var qse=Ie(),ltt=npr(ST());CT.default={IS_READ_ONLY:ltt.default.IS_READ_ONLY,parseCommand(...t){ltt.default.parseCommand(...t),t[0].push("WITHSCORES","WITHPAYLOADS")},transformReply:{2:(t,e,r)=>{if((0,qse.isNullReply)(t))return null;let n=new Array(t.length/3),s=0,i=0;for(;s<t.length;)n[i++]={suggestion:t[s++],score:qse.transformDoubleReply[2](t[s++],e,r),payload:t[s++]};return n},3:t=>{if((0,qse.isNullReply)(t))return null;let e=new Array(t.length/3),r=0,n=0;for(;r<t.length;)e[n++]={suggestion:t[r++],score:t[r++],payload:t[r++]};return e}}}});var ptt=E(IT=>{"use strict";var spr=IT&&IT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(IT,"__esModule",{value:!0});var jse=Ie(),ftt=spr(ST());IT.default={IS_READ_ONLY:ftt.default.IS_READ_ONLY,parseCommand(...t){ftt.default.parseCommand(...t),t[0].push("WITHSCORES")},transformReply:{2:(t,e,r)=>{if((0,jse.isNullReply)(t))return null;let n=new Array(t.length/2),s=0,i=0;for(;s<t.length;)n[i++]={suggestion:t[s++],score:jse.transformDoubleReply[2](t[s++],e,r)};return n},3:t=>{if((0,jse.isNullReply)(t))return null;let e=new Array(t.length/2),r=0,n=0;for(;r<t.length;)e[n++]={suggestion:t[r++],score:t[r++]};return e}}}});var mtt=E(Hse=>{"use strict";Object.defineProperty(Hse,"__esModule",{value:!0});Hse.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.SUGLEN",e)},transformReply:void 0}});var htt=E(Qse=>{"use strict";Object.defineProperty(Qse,"__esModule",{value:!0});Qse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.SYNDUMP",e)},transformReply:{2:t=>{let e={},r=0;for(;r<t.length;){let n=t[r++].toString(),s=t[r++];e[n]=s}return e},3:void 0}}});var gtt=E(Gse=>{"use strict";Object.defineProperty(Gse,"__esModule",{value:!0});Gse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("FT.SYNUPDATE",e,r),s?.SKIPINITIALSCAN&&t.push("SKIPINITIALSCAN"),t.pushVariadic(n)},transformReply:void 0}});var Att=E(Vse=>{"use strict";Object.defineProperty(Vse,"__esModule",{value:!0});Vse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.TAGVALS",e,r)},transformReply:{2:void 0,3:void 0}}});var Ztt=E(TT=>{"use strict";var _r=TT&&TT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(TT,"__esModule",{value:!0});var ytt=_r(Tet()),xtt=_r(Net()),btt=_r(_se()),Ett=_r(Gb()),_tt=_r(Bet()),Stt=_r(Met()),vtt=_r(Wet()),Ctt=_r($et()),Itt=_r(Fet()),Ttt=_r(BB()),wtt=_r(Uet()),Rtt=_r(qet()),Ntt=_r(jet()),Ott=_r(Het()),Ptt=_r(Qet()),Dtt=_r(Get()),ktt=_r(Vet()),Ltt=_r(zet()),Btt=_r(Jet()),Mtt=_r(Xet()),Wtt=_r(ett()),$tt=_r(rtt()),Ftt=_r(ntt()),Utt=_r(xg()),qtt=_r(itt()),jtt=_r(att()),Htt=_r(ott()),Qtt=_r(utt()),Gtt=_r(dtt()),Vtt=_r(ptt()),ztt=_r(ST()),Ktt=_r(mtt()),Ytt=_r(htt()),Jtt=_r(gtt()),Xtt=_r(Att());TT.default={_LIST:ytt.default,_list:ytt.default,ALTER:xtt.default,alter:xtt.default,AGGREGATE_WITHCURSOR:btt.default,aggregateWithCursor:btt.default,AGGREGATE:Ett.default,aggregate:Ett.default,ALIASADD:_tt.default,aliasAdd:_tt.default,ALIASDEL:Stt.default,aliasDel:Stt.default,ALIASUPDATE:vtt.default,aliasUpdate:vtt.default,CONFIG_GET:Ctt.default,configGet:Ctt.default,CONFIG_SET:Itt.default,configSet:Itt.default,CREATE:Ttt.default,create:Ttt.default,CURSOR_DEL:wtt.default,cursorDel:wtt.default,CURSOR_READ:Rtt.default,cursorRead:Rtt.default,DICTADD:Ntt.default,dictAdd:Ntt.default,DICTDEL:Ott.default,dictDel:Ott.default,DICTDUMP:Ptt.default,dictDump:Ptt.default,DROPINDEX:Dtt.default,dropIndex:Dtt.default,EXPLAIN:ktt.default,explain:ktt.default,EXPLAINCLI:Ltt.default,explainCli:Ltt.default,HYBRID:Btt.default,hybrid:Btt.default,INFO:Mtt.default,info:Mtt.default,PROFILESEARCH:Wtt.default,profileSearch:Wtt.default,PROFILEAGGREGATE:$tt.default,profileAggregate:$tt.default,SEARCH_NOCONTENT:Ftt.default,searchNoContent:Ftt.default,SEARCH:Utt.default,search:Utt.default,SPELLCHECK:qtt.default,spellCheck:qtt.default,SUGADD:jtt.default,sugAdd:jtt.default,SUGDEL:Htt.default,sugDel:Htt.default,SUGGET_WITHPAYLOADS:Qtt.default,sugGetWithPayloads:Qtt.default,SUGGET_WITHSCORES_WITHPAYLOADS:Gtt.default,sugGetWithScoresWithPayloads:Gtt.default,SUGGET_WITHSCORES:Vtt.default,sugGetWithScores:Vtt.default,SUGGET:ztt.default,sugGet:ztt.default,SUGLEN:Ktt.default,sugLen:Ktt.default,SYNDUMP:Ytt.default,synDump:Ytt.default,SYNUPDATE:Jtt.default,synUpdate:Jtt.default,TAGVALS:Xtt.default,tagVals:Xtt.default}});var zse=E(si=>{"use strict";var ipr=si&&si.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(si,"__esModule",{value:!0});si.FT_AGGREGATE_STEPS=si.FT_AGGREGATE_GROUP_BY_REDUCERS=si.SCHEMA_VECTOR_FIELD_ALGORITHM=si.SCHEMA_TEXT_FIELD_PHONETIC=si.SCHEMA_FIELD_TYPE=si.REDISEARCH_LANGUAGE=si.default=void 0;var apr=Ztt();Object.defineProperty(si,"default",{enumerable:!0,get:function(){return ipr(apr).default}});var WB=BB();Object.defineProperty(si,"REDISEARCH_LANGUAGE",{enumerable:!0,get:function(){return WB.REDISEARCH_LANGUAGE}});Object.defineProperty(si,"SCHEMA_FIELD_TYPE",{enumerable:!0,get:function(){return WB.SCHEMA_FIELD_TYPE}});Object.defineProperty(si,"SCHEMA_TEXT_FIELD_PHONETIC",{enumerable:!0,get:function(){return WB.SCHEMA_TEXT_FIELD_PHONETIC}});Object.defineProperty(si,"SCHEMA_VECTOR_FIELD_ALGORITHM",{enumerable:!0,get:function(){return WB.SCHEMA_VECTOR_FIELD_ALGORITHM}});var ert=Gb();Object.defineProperty(si,"FT_AGGREGATE_GROUP_BY_REDUCERS",{enumerable:!0,get:function(){return ert.FT_AGGREGATE_GROUP_BY_REDUCERS}});Object.defineProperty(si,"FT_AGGREGATE_STEPS",{enumerable:!0,get:function(){return ert.FT_AGGREGATE_STEPS}})});var ii=E(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.transformRESP2LabelsWithSources=gr.transformRESP2Labels=gr.parseSelectedLabelsArguments=gr.resp3MapToValue=gr.resp2MapToValue=gr.transformSamplesReply=gr.transformSampleReply=gr.parseLabelsArgument=gr.transformTimestampArgument=gr.parseDuplicatePolicy=gr.TIME_SERIES_DUPLICATE_POLICIES=gr.parseChunkSizeArgument=gr.parseEncodingArgument=gr.TIME_SERIES_ENCODING=gr.parseRetentionArgument=gr.parseIgnoreArgument=void 0;var Kse=cT();function opr(t,e){e!==void 0&&t.push("IGNORE",e.maxTimeDiff.toString(),e.maxValDiff.toString())}gr.parseIgnoreArgument=opr;function cpr(t,e){e!==void 0&&t.push("RETENTION",e.toString())}gr.parseRetentionArgument=cpr;gr.TIME_SERIES_ENCODING={COMPRESSED:"COMPRESSED",UNCOMPRESSED:"UNCOMPRESSED"};function upr(t,e){e!==void 0&&t.push("ENCODING",e)}gr.parseEncodingArgument=upr;function lpr(t,e){e!==void 0&&t.push("CHUNK_SIZE",e.toString())}gr.parseChunkSizeArgument=lpr;gr.TIME_SERIES_DUPLICATE_POLICIES={BLOCK:"BLOCK",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM"};function dpr(t,e){e!==void 0&&t.push("DUPLICATE_POLICY",e)}gr.parseDuplicatePolicy=dpr;function fpr(t){return typeof t=="string"?t:(typeof t=="number"?t:t.getTime()).toString()}gr.transformTimestampArgument=fpr;function ppr(t,e){if(e){t.push("LABELS");for(let[r,n]of Object.entries(e))t.push(r,n)}}gr.parseLabelsArgument=ppr;gr.transformSampleReply={2(t){let[e,r]=t;return{timestamp:e,value:Number(r)}},3(t){let[e,r]=t;return{timestamp:e,value:r}}};gr.transformSamplesReply={2(t){return t.map(e=>gr.transformSampleReply[2](e))},3(t){return t.map(e=>gr.transformSampleReply[3](e))}};function mpr(t,e,r){let n=t;switch(r?.[Kse.RESP_TYPES.MAP]){case Map:{let s=new Map;for(let i of n){let a=i,o=a[0];s.set(o.toString(),e(a))}return s}case Array:{for(let s of n){let i=s;i[1]=e(i)}return n}default:{let s=Object.create(null);for(let i of n){let a=i,o=a[0];s[o.toString()]=e(a)}return s}}}gr.resp2MapToValue=mpr;function hpr(t,e){let r=t;if(r instanceof Array)for(let n=1;n<r.length;n+=2)r[n]=e(r[n]);else if(r instanceof Map)for(let[n,s]of r.entries())r.set(n,e(s));else for(let[n,s]of Object.entries(r))r[n]=e(s);return r}gr.resp3MapToValue=hpr;function gpr(t,e){t.push("SELECTED_LABELS"),t.pushVariadic(e)}gr.parseSelectedLabelsArguments=gpr;function Apr(t,e){let r=t;switch(e?.[Kse.RESP_TYPES.MAP]){case Map:let n=new Map;for(let i of r){let[a,o]=i,c=a;n.set(c.toString(),o)}return n;case Array:return r.flat();case Object:default:let s=Object.create(null);for(let i of r){let[a,o]=i,c=a;s[c.toString()]=o}return s}}gr.transformRESP2Labels=Apr;function ypr(t,e){let r=t,n=r.length-2,s;switch(e?.[Kse.RESP_TYPES.MAP]){case Map:let c=new Map;for(let l=0;l<n;l++){let[d,f]=r[l],p=d;c.set(p.toString(),f)}s=c;break;case Array:s=r.slice(0,n).flat();break;case Object:default:let u=Object.create(null);for(let l=0;l<n;l++){let[d,f]=r[l],p=d;u[p.toString()]=f}s=u;break}let a=r[r.length-1],o=xpr(a[1]);return{labels:s,sources:o}}gr.transformRESP2LabelsWithSources=ypr;function xpr(t){let e=t;if(typeof e=="string")return e.split(",");let r=e.indexOf(",");if(r===-1)return[e];let n=[e.subarray(0,r)],s=r+1;for(;;){let i=e.indexOf(",",s);if(i===-1){n.push(e.subarray(s));break}let a=e.subarray(s,i);n.push(a),s=i+1}return n}});var trt=E(Yse=>{"use strict";Object.defineProperty(Yse,"__esModule",{value:!0});var Vb=ii();Yse.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("TS.ADD"),t.pushKey(e),t.push((0,Vb.transformTimestampArgument)(r),n.toString()),(0,Vb.parseRetentionArgument)(t,s?.RETENTION),(0,Vb.parseEncodingArgument)(t,s?.ENCODING),(0,Vb.parseChunkSizeArgument)(t,s?.CHUNK_SIZE),s?.ON_DUPLICATE&&t.push("ON_DUPLICATE",s.ON_DUPLICATE),(0,Vb.parseLabelsArgument)(t,s?.LABELS),(0,Vb.parseIgnoreArgument)(t,s?.IGNORE)},transformReply:void 0}});var rrt=E(Jse=>{"use strict";Object.defineProperty(Jse,"__esModule",{value:!0});var wT=ii();Jse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TS.ALTER"),t.pushKey(e),(0,wT.parseRetentionArgument)(t,r?.RETENTION),(0,wT.parseChunkSizeArgument)(t,r?.CHUNK_SIZE),(0,wT.parseDuplicatePolicy)(t,r?.DUPLICATE_POLICY),(0,wT.parseLabelsArgument)(t,r?.LABELS),(0,wT.parseIgnoreArgument)(t,r?.IGNORE)},transformReply:void 0}});var nrt=E(Xse=>{"use strict";Object.defineProperty(Xse,"__esModule",{value:!0});var zb=ii();Xse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TS.CREATE"),t.pushKey(e),(0,zb.parseRetentionArgument)(t,r?.RETENTION),(0,zb.parseEncodingArgument)(t,r?.ENCODING),(0,zb.parseChunkSizeArgument)(t,r?.CHUNK_SIZE),(0,zb.parseDuplicatePolicy)(t,r?.DUPLICATE_POLICY),(0,zb.parseLabelsArgument)(t,r?.LABELS),(0,zb.parseIgnoreArgument)(t,r?.IGNORE)},transformReply:void 0}});var Zse=E(RT=>{"use strict";Object.defineProperty(RT,"__esModule",{value:!0});RT.TIME_SERIES_AGGREGATION_TYPE=void 0;RT.TIME_SERIES_AGGREGATION_TYPE={AVG:"AVG",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM",RANGE:"RANGE",COUNT:"COUNT",COUNT_NAN:"COUNTNAN",COUNT_ALL:"COUNTALL",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S",TWA:"TWA"};RT.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("TS.CREATERULE"),t.pushKeys([e,r]),t.push("AGGREGATION",n,s.toString()),i!==void 0&&t.push(i.toString())},transformReply:void 0}});var eie=E(OT=>{"use strict";Object.defineProperty(OT,"__esModule",{value:!0});OT.parseIncrByArguments=void 0;var NT=ii();function srt(t,e,r,n){t.pushKey(e),t.push(r.toString()),n?.TIMESTAMP!==void 0&&n?.TIMESTAMP!==null&&t.push("TIMESTAMP",(0,NT.transformTimestampArgument)(n.TIMESTAMP)),(0,NT.parseRetentionArgument)(t,n?.RETENTION),n?.UNCOMPRESSED&&t.push("UNCOMPRESSED"),(0,NT.parseChunkSizeArgument)(t,n?.CHUNK_SIZE),(0,NT.parseLabelsArgument)(t,n?.LABELS),(0,NT.parseIgnoreArgument)(t,n?.IGNORE)}OT.parseIncrByArguments=srt;OT.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("TS.INCRBY"),srt(...t)},transformReply:void 0}});var irt=E(Df=>{"use strict";var bpr=Df&&Df.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Epr=Df&&Df.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),_pr=Df&&Df.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&bpr(e,t,r);return Epr(e,t),e};Object.defineProperty(Df,"__esModule",{value:!0});var tie=_pr(eie());Df.default={IS_READ_ONLY:tie.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TS.DECRBY"),(0,tie.parseIncrByArguments)(...t)},transformReply:tie.default.transformReply}});var ort=E(rie=>{"use strict";Object.defineProperty(rie,"__esModule",{value:!0});var art=ii();rie.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("TS.DEL"),t.pushKey(e),t.push((0,art.transformTimestampArgument)(r),(0,art.transformTimestampArgument)(n))},transformReply:void 0}});var crt=E(nie=>{"use strict";Object.defineProperty(nie,"__esModule",{value:!0});nie.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TS.DELETERULE"),t.pushKeys([e,r])},transformReply:void 0}});var urt=E(sie=>{"use strict";Object.defineProperty(sie,"__esModule",{value:!0});sie.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TS.GET"),t.pushKey(e),r?.LATEST&&t.push("LATEST")},transformReply:{2(t){return t.length===0?null:{timestamp:t[0],value:Number(t[1])}},3(t){return t.length===0?null:{timestamp:t[0],value:t[1]}}}}});var aie=E(iie=>{"use strict";Object.defineProperty(iie,"__esModule",{value:!0});var Spr=Ie();iie.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TS.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>{let n={};for(let s=0;s<t.length;s+=2){let i=t[s].toString();switch(i){case"totalSamples":case"memoryUsage":case"firstTimestamp":case"lastTimestamp":case"retentionTime":case"chunkCount":case"chunkSize":case"chunkType":case"duplicatePolicy":case"sourceKey":case"ignoreMaxTimeDiff":n[i]=t[s+1];break;case"labels":n[i]=t[s+1].map(([a,o])=>({name:a,value:o}));break;case"rules":n[i]=t[s+1].map(([a,o,c])=>({key:a,timeBucket:o,aggregationType:c}));break;case"ignoreMaxValDiff":n[i]=Spr.transformDoubleReply[2](t[27],void 0,r);break}}return n},3:void 0},unstableResp3:!0}});var lrt=E(PT=>{"use strict";var vpr=PT&&PT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(PT,"__esModule",{value:!0});var oie=vpr(aie());PT.default={IS_READ_ONLY:oie.default.IS_READ_ONLY,parseCommand(t,e){oie.default.parseCommand(t,e),t.push("DEBUG")},transformReply:{2:(t,e,r)=>{let n=oie.default.transformReply[2](t,e,r);for(let s=0;s<t.length;s+=2){let i=t[s].toString();switch(i){case"keySelfName":{n[i]=t[s+1];break}case"Chunks":{n.chunks=t[s+1].map(a=>({startTimestamp:a[1],endTimestamp:a[3],samples:a[5],size:a[7],bytesPerSample:a[9]}));break}}}return n},3:void 0},unstableResp3:!0}});var drt=E(cie=>{"use strict";Object.defineProperty(cie,"__esModule",{value:!0});var Cpr=ii();cie.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("TS.MADD");for(let{key:r,timestamp:n,value:s}of e)t.pushKey(r),t.push((0,Cpr.transformTimestampArgument)(n),s.toString())},transformReply:void 0}});var ql=E(bg=>{"use strict";Object.defineProperty(bg,"__esModule",{value:!0});bg.parseFilterArgument=bg.parseLatestArgument=void 0;var $B=ii();function frt(t,e){e&&t.push("LATEST")}bg.parseLatestArgument=frt;function prt(t,e){t.push("FILTER"),t.pushVariadic(e)}bg.parseFilterArgument=prt;bg.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TS.MGET"),frt(t,r?.LATEST),prt(t,e)},transformReply:{2(t,e,r){return(0,$B.resp2MapToValue)(t,([,,n])=>({sample:$B.transformSampleReply[2](n)}),r)},3(t){return(0,$B.resp3MapToValue)(t,([,e])=>({sample:$B.transformSampleReply[3](e)}))}}}});var uie=E(kT=>{"use strict";Object.defineProperty(kT,"__esModule",{value:!0});kT.createTransformMGetLabelsReply=void 0;var mrt=ql(),DT=ii();function hrt(){return{2(t,e,r){return(0,DT.resp2MapToValue)(t,([,n,s])=>({labels:(0,DT.transformRESP2Labels)(n),sample:DT.transformSampleReply[2](s)}),r)},3(t){return(0,DT.resp3MapToValue)(t,([e,r])=>({labels:e,sample:DT.transformSampleReply[3](r)}))}}}kT.createTransformMGetLabelsReply=hrt;kT.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TS.MGET"),(0,mrt.parseLatestArgument)(t,r?.LATEST),t.push("WITHLABELS"),(0,mrt.parseFilterArgument)(t,e)},transformReply:hrt()}});var Art=E(lie=>{"use strict";Object.defineProperty(lie,"__esModule",{value:!0});var grt=ql(),Ipr=ii(),Tpr=uie();lie.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("TS.MGET"),(0,grt.parseLatestArgument)(t,n?.LATEST),(0,Ipr.parseSelectedLabelsArguments)(t,r),(0,grt.parseFilterArgument)(t,e)},transformReply:(0,Tpr.createTransformMGetLabelsReply)()}});var jl=E(kf=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});kf.transformRangeArguments=kf.parseRangeArguments=kf.TIME_SERIES_BUCKET_TIMESTAMP=void 0;var Eg=ii();kf.TIME_SERIES_BUCKET_TIMESTAMP={LOW:"-",MIDDLE:"~",END:"+"};function yrt(t,e,r,n){if(t.push((0,Eg.transformTimestampArgument)(e),(0,Eg.transformTimestampArgument)(r)),n?.LATEST&&t.push("LATEST"),n?.FILTER_BY_TS){t.push("FILTER_BY_TS");for(let s of n.FILTER_BY_TS)t.push((0,Eg.transformTimestampArgument)(s))}n?.FILTER_BY_VALUE&&t.push("FILTER_BY_VALUE",n.FILTER_BY_VALUE.min.toString(),n.FILTER_BY_VALUE.max.toString()),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString()),n?.AGGREGATION&&(n?.ALIGN!==void 0&&t.push("ALIGN",(0,Eg.transformTimestampArgument)(n.ALIGN)),t.push("AGGREGATION",n.AGGREGATION.type,(0,Eg.transformTimestampArgument)(n.AGGREGATION.timeBucket)),n.AGGREGATION.BUCKETTIMESTAMP&&t.push("BUCKETTIMESTAMP",n.AGGREGATION.BUCKETTIMESTAMP),n.AGGREGATION.EMPTY&&t.push("EMPTY"))}kf.parseRangeArguments=yrt;function xrt(t,e,r,n,s){t.pushKey(e),yrt(t,r,n,s)}kf.transformRangeArguments=xrt;kf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("TS.RANGE"),xrt(...t)},transformReply:{2(t){return Eg.transformSamplesReply[2](t)},3(t){return Eg.transformSamplesReply[3](t)}}}});var Kb=E(Cu=>{"use strict";Object.defineProperty(Cu,"__esModule",{value:!0});Cu.extractResp3MRangeSources=Cu.createTransformMRangeGroupByArguments=Cu.parseGroupByArguments=Cu.TIME_SERIES_REDUCERS=void 0;var FB=ii(),wpr=jl(),Rpr=ql();Cu.TIME_SERIES_REDUCERS={AVG:"AVG",SUM:"SUM",MIN:"MIN",MAX:"MAX",RANGE:"RANGE",COUNT:"COUNT",COUNTNAN:"COUNTNAN",COUNTALL:"COUNTALL",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S"};function brt(t,e){t.push("GROUPBY",e.label,"REDUCE",e.REDUCE)}Cu.parseGroupByArguments=brt;function Ert(t){return(e,r,n,s,i,a)=>{e.push(t),(0,wpr.parseRangeArguments)(e,r,n,a),(0,Rpr.parseFilterArgument)(e,s),brt(e,i)}}Cu.createTransformMRangeGroupByArguments=Ert;function _rt(t){let e=t;return e instanceof Map?e.get("sources"):e instanceof Array?e[1]:e.sources}Cu.extractResp3MRangeSources=_rt;Cu.default={IS_READ_ONLY:!0,parseCommand:Ert("TS.MRANGE"),transformReply:{2(t,e,r){return(0,FB.resp2MapToValue)(t,([n,s,i])=>({samples:FB.transformSamplesReply[2](i)}),r)},3(t){return(0,FB.resp3MapToValue)(t,([e,r,n,s])=>({sources:_rt(n),samples:FB.transformSamplesReply[3](s)}))}}}});var UB=E(LT=>{"use strict";Object.defineProperty(LT,"__esModule",{value:!0});LT.createTransformMRangeSelectedLabelsArguments=void 0;var Yb=ii(),Npr=jl(),Opr=ql();function Srt(t){return(e,r,n,s,i,a)=>{e.push(t),(0,Npr.parseRangeArguments)(e,r,n,a),(0,Yb.parseSelectedLabelsArguments)(e,s),(0,Opr.parseFilterArgument)(e,i)}}LT.createTransformMRangeSelectedLabelsArguments=Srt;LT.default={IS_READ_ONLY:!0,parseCommand:Srt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,Yb.resp2MapToValue)(t,([n,s,i])=>({labels:(0,Yb.transformRESP2Labels)(s,r),samples:Yb.transformSamplesReply[2](i)}),r)},3(t){return(0,Yb.resp3MapToValue)(t,([e,r,n])=>({labels:r,samples:Yb.transformSamplesReply[3](n)}))}}}});var fie=E(_g=>{"use strict";var Ppr=_g&&_g.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_g,"__esModule",{value:!0});_g.createMRangeSelectedLabelsGroupByTransformArguments=void 0;var die=ii(),Dpr=jl(),vrt=Kb(),kpr=ql(),Lpr=Ppr(UB());function Crt(t){return(e,r,n,s,i,a,o)=>{e.push(t),(0,Dpr.parseRangeArguments)(e,r,n,o),(0,die.parseSelectedLabelsArguments)(e,s),(0,kpr.parseFilterArgument)(e,i),(0,vrt.parseGroupByArguments)(e,a)}}_g.createMRangeSelectedLabelsGroupByTransformArguments=Crt;_g.default={IS_READ_ONLY:!0,parseCommand:Crt("TS.MRANGE"),transformReply:{2:Lpr.default.transformReply[2],3(t){return(0,die.resp3MapToValue)(t,([e,r,n,s])=>({labels:e,sources:(0,vrt.extractResp3MRangeSources)(n),samples:die.transformSamplesReply[3](s)}))}}}});var pie=E(MT=>{"use strict";Object.defineProperty(MT,"__esModule",{value:!0});MT.createMRangeWithLabelsGroupByTransformArguments=void 0;var BT=ii(),Bpr=jl(),Irt=Kb(),Mpr=ql();function Trt(t){return(e,r,n,s,i,a)=>{e.push(t),(0,Bpr.parseRangeArguments)(e,r,n,a),e.push("WITHLABELS"),(0,Mpr.parseFilterArgument)(e,s),(0,Irt.parseGroupByArguments)(e,i)}}MT.createMRangeWithLabelsGroupByTransformArguments=Trt;MT.default={IS_READ_ONLY:!0,parseCommand:Trt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,BT.resp2MapToValue)(t,([n,s,i])=>{let a=(0,BT.transformRESP2LabelsWithSources)(s);return{labels:a.labels,sources:a.sources,samples:BT.transformSamplesReply[2](i)}},r)},3(t){return(0,BT.resp3MapToValue)(t,([e,r,n,s])=>({labels:e,sources:(0,Irt.extractResp3MRangeSources)(n),samples:BT.transformSamplesReply[3](s)}))}}}});var mie=E(WT=>{"use strict";Object.defineProperty(WT,"__esModule",{value:!0});WT.createTransformMRangeWithLabelsArguments=void 0;var qB=ii(),Wpr=jl(),$pr=ql();function wrt(t){return(e,r,n,s,i)=>{e.push(t),(0,Wpr.parseRangeArguments)(e,r,n,i),e.push("WITHLABELS"),(0,$pr.parseFilterArgument)(e,s)}}WT.createTransformMRangeWithLabelsArguments=wrt;WT.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:wrt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,qB.resp2MapToValue)(t,([n,s,i])=>{let a=s,o=Object.create(null);for(let c of a){let[u,l]=c,d=u;o[d.toString()]=l}return{labels:o,samples:qB.transformSamplesReply[2](i)}},r)},3(t){return(0,qB.resp3MapToValue)(t,([e,r,n])=>({labels:e,samples:qB.transformSamplesReply[3](n)}))}}}});var hie=E($T=>{"use strict";Object.defineProperty($T,"__esModule",{value:!0});$T.createTransformMRangeArguments=void 0;var jB=ii(),Fpr=jl(),Upr=ql();function Rrt(t){return(e,r,n,s,i)=>{e.push(t),(0,Fpr.parseRangeArguments)(e,r,n,i),(0,Upr.parseFilterArgument)(e,s)}}$T.createTransformMRangeArguments=Rrt;$T.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:Rrt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,jB.resp2MapToValue)(t,([n,s,i])=>jB.transformSamplesReply[2](i),r)},3(t){return(0,jB.resp3MapToValue)(t,([e,r,n])=>jB.transformSamplesReply[3](n))}}}});var Nrt=E(Lf=>{"use strict";var qpr=Lf&&Lf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),jpr=Lf&&Lf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Hpr=Lf&&Lf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&qpr(e,t,r);return jpr(e,t),e};Object.defineProperty(Lf,"__esModule",{value:!0});var gie=Hpr(Kb());Lf.default={IS_READ_ONLY:gie.default.IS_READ_ONLY,parseCommand:(0,gie.createTransformMRangeGroupByArguments)("TS.MREVRANGE"),transformReply:gie.default.transformReply}});var Ort=E(Bf=>{"use strict";var Qpr=Bf&&Bf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Gpr=Bf&&Bf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Vpr=Bf&&Bf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Qpr(e,t,r);return Gpr(e,t),e};Object.defineProperty(Bf,"__esModule",{value:!0});var Aie=Vpr(fie());Bf.default={IS_READ_ONLY:Aie.default.IS_READ_ONLY,parseCommand:(0,Aie.createMRangeSelectedLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:Aie.default.transformReply}});var Prt=E(Mf=>{"use strict";var zpr=Mf&&Mf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Kpr=Mf&&Mf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Ypr=Mf&&Mf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&zpr(e,t,r);return Kpr(e,t),e};Object.defineProperty(Mf,"__esModule",{value:!0});var yie=Ypr(UB());Mf.default={IS_READ_ONLY:yie.default.IS_READ_ONLY,parseCommand:(0,yie.createTransformMRangeSelectedLabelsArguments)("TS.MREVRANGE"),transformReply:yie.default.transformReply}});var Drt=E(Wf=>{"use strict";var Jpr=Wf&&Wf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Xpr=Wf&&Wf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Zpr=Wf&&Wf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Jpr(e,t,r);return Xpr(e,t),e};Object.defineProperty(Wf,"__esModule",{value:!0});var xie=Zpr(pie());Wf.default={IS_READ_ONLY:xie.default.IS_READ_ONLY,parseCommand:(0,xie.createMRangeWithLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:xie.default.transformReply}});var krt=E($f=>{"use strict";var e0r=$f&&$f.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),t0r=$f&&$f.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r0r=$f&&$f.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&e0r(e,t,r);return t0r(e,t),e};Object.defineProperty($f,"__esModule",{value:!0});var HB=r0r(mie());$f.default={NOT_KEYED_COMMAND:HB.default.NOT_KEYED_COMMAND,IS_READ_ONLY:HB.default.IS_READ_ONLY,parseCommand:(0,HB.createTransformMRangeWithLabelsArguments)("TS.MREVRANGE"),transformReply:HB.default.transformReply}});var Lrt=E(Ff=>{"use strict";var n0r=Ff&&Ff.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),s0r=Ff&&Ff.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i0r=Ff&&Ff.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&n0r(e,t,r);return s0r(e,t),e};Object.defineProperty(Ff,"__esModule",{value:!0});var QB=i0r(hie());Ff.default={NOT_KEYED_COMMAND:QB.default.NOT_KEYED_COMMAND,IS_READ_ONLY:QB.default.IS_READ_ONLY,parseCommand:(0,QB.createTransformMRangeArguments)("TS.MREVRANGE"),transformReply:QB.default.transformReply}});var Brt=E(bie=>{"use strict";Object.defineProperty(bie,"__esModule",{value:!0});bie.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("TS.QUERYINDEX"),t.pushVariadic(e)},transformReply:{2:void 0,3:void 0}}});var Mrt=E(Uf=>{"use strict";var a0r=Uf&&Uf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),o0r=Uf&&Uf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),c0r=Uf&&Uf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&a0r(e,t,r);return o0r(e,t),e};Object.defineProperty(Uf,"__esModule",{value:!0});var Eie=c0r(jl());Uf.default={IS_READ_ONLY:Eie.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TS.REVRANGE"),(0,Eie.transformRangeArguments)(...t)},transformReply:Eie.default.transformReply}});var mnt=E(Hl=>{"use strict";var u0r=Hl&&Hl.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),l0r=Hl&&Hl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&u0r(e,t,r)},Kr=Hl&&Hl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Hl,"__esModule",{value:!0});var Wrt=Kr(trt()),$rt=Kr(rrt()),Frt=Kr(nrt()),Urt=Kr(Zse()),qrt=Kr(irt()),jrt=Kr(ort()),Hrt=Kr(crt()),Qrt=Kr(urt()),Grt=Kr(eie()),Vrt=Kr(lrt()),zrt=Kr(aie()),Krt=Kr(drt()),Yrt=Kr(Art()),Jrt=Kr(uie()),Xrt=Kr(ql()),Zrt=Kr(Kb()),ent=Kr(fie()),tnt=Kr(UB()),rnt=Kr(pie()),nnt=Kr(mie()),snt=Kr(hie()),int=Kr(Nrt()),ant=Kr(Ort()),ont=Kr(Prt()),cnt=Kr(Drt()),unt=Kr(krt()),lnt=Kr(Lrt()),dnt=Kr(Brt()),fnt=Kr(jl()),pnt=Kr(Mrt());l0r(ii(),Hl);Hl.default={ADD:Wrt.default,add:Wrt.default,ALTER:$rt.default,alter:$rt.default,CREATE:Frt.default,create:Frt.default,CREATERULE:Urt.default,createRule:Urt.default,DECRBY:qrt.default,decrBy:qrt.default,DEL:jrt.default,del:jrt.default,DELETERULE:Hrt.default,deleteRule:Hrt.default,GET:Qrt.default,get:Qrt.default,INCRBY:Grt.default,incrBy:Grt.default,INFO_DEBUG:Vrt.default,infoDebug:Vrt.default,INFO:zrt.default,info:zrt.default,MADD:Krt.default,mAdd:Krt.default,MGET_SELECTED_LABELS:Yrt.default,mGetSelectedLabels:Yrt.default,MGET_WITHLABELS:Jrt.default,mGetWithLabels:Jrt.default,MGET:Xrt.default,mGet:Xrt.default,MRANGE_GROUPBY:Zrt.default,mRangeGroupBy:Zrt.default,MRANGE_SELECTED_LABELS_GROUPBY:ent.default,mRangeSelectedLabelsGroupBy:ent.default,MRANGE_SELECTED_LABELS:tnt.default,mRangeSelectedLabels:tnt.default,MRANGE_WITHLABELS_GROUPBY:rnt.default,mRangeWithLabelsGroupBy:rnt.default,MRANGE_WITHLABELS:nnt.default,mRangeWithLabels:nnt.default,MRANGE:snt.default,mRange:snt.default,MREVRANGE_GROUPBY:int.default,mRevRangeGroupBy:int.default,MREVRANGE_SELECTED_LABELS_GROUPBY:ant.default,mRevRangeSelectedLabelsGroupBy:ant.default,MREVRANGE_SELECTED_LABELS:ont.default,mRevRangeSelectedLabels:ont.default,MREVRANGE_WITHLABELS_GROUPBY:cnt.default,mRevRangeWithLabelsGroupBy:cnt.default,MREVRANGE_WITHLABELS:unt.default,mRevRangeWithLabels:unt.default,MREVRANGE:lnt.default,mRevRange:lnt.default,QUERYINDEX:dnt.default,queryIndex:dnt.default,RANGE:fnt.default,range:fnt.default,REVRANGE:pnt.default,revRange:pnt.default}});var Sie=E(Vi=>{"use strict";var d0r=Vi&&Vi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Vi,"__esModule",{value:!0});Vi.TIME_SERIES_REDUCERS=Vi.TIME_SERIES_BUCKET_TIMESTAMP=Vi.TIME_SERIES_AGGREGATION_TYPE=Vi.TIME_SERIES_DUPLICATE_POLICIES=Vi.TIME_SERIES_ENCODING=Vi.default=void 0;var _ie=mnt();Object.defineProperty(Vi,"default",{enumerable:!0,get:function(){return d0r(_ie).default}});Object.defineProperty(Vi,"TIME_SERIES_ENCODING",{enumerable:!0,get:function(){return _ie.TIME_SERIES_ENCODING}});Object.defineProperty(Vi,"TIME_SERIES_DUPLICATE_POLICIES",{enumerable:!0,get:function(){return _ie.TIME_SERIES_DUPLICATE_POLICIES}});var f0r=Zse();Object.defineProperty(Vi,"TIME_SERIES_AGGREGATION_TYPE",{enumerable:!0,get:function(){return f0r.TIME_SERIES_AGGREGATION_TYPE}});var p0r=jl();Object.defineProperty(Vi,"TIME_SERIES_BUCKET_TIMESTAMP",{enumerable:!0,get:function(){return p0r.TIME_SERIES_BUCKET_TIMESTAMP}});var m0r=Kb();Object.defineProperty(Vi,"TIME_SERIES_REDUCERS",{enumerable:!0,get:function(){return m0r.TIME_SERIES_REDUCERS}})});var hnt=E(gs=>{"use strict";var h0r=gs&&gs.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),FT=gs&&gs.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&h0r(e,t,r)},GB=gs&&gs.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gs,"__esModule",{value:!0});gs.createSentinel=gs.createCluster=gs.createClientPool=gs.createClient=void 0;var VB=cT(),g0r=GB(Hne()),A0r=GB(gse()),y0r=GB(zse()),x0r=GB(Sie());FT(cT(),gs);FT(Hne(),gs);FT(gse(),gs);FT(zse(),gs);FT(Sie(),gs);var zB={...g0r.default,json:A0r.default,ft:y0r.default,ts:x0r.default};function b0r(t){return(0,VB.createClient)({...t,modules:{...zB,...t?.modules}})}gs.createClient=b0r;function E0r(t,e){return(0,VB.createClientPool)({...t,modules:{...zB,...t?.modules}},e)}gs.createClientPool=E0r;function _0r(t){return(0,VB.createCluster)({...t,modules:{...zB,...t?.modules}})}gs.createCluster=_0r;function S0r(t){return(0,VB.createSentinel)({...t,modules:{...zB,...t?.modules}})}gs.createSentinel=S0r});var JB={};is(JB,{closeLocalRedisConnection:()=>T0r,getLocalRedisCaches:()=>C0r,getLocalRedisKey:()=>gnt,judgeLocalRedisValid:()=>I0r,setLocalRedisKey:()=>KB,setLocalRedisKeyWithExpiry:()=>v0r,updateLocalRedisCaches:()=>YB});async function Jb(){if(rs)return rs;let t=O.localRedisUrl;try{_("info","[Utils] [Local-Redis] \u6B63\u5728\u8FDE\u63A5\u672C\u5730 Redis");let{createClient:e}=await Promise.resolve().then(()=>Re(hnt(),1));return rs=e({url:t,socket:{reconnectStrategy:r=>r>=0?new Error("\u5DF2\u8FBE\u5230\u6700\u5927\u91CD\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u91CD\u8FDE"):1e3}}),rs.on("error",r=>{_("error","[Utils] [Local-Redis] \u8FDE\u63A5\u9519\u8BEF"),O.localRedisValid=!1}),rs.on("connect",()=>{_("info","[Utils] [Local-Redis] \u8FDE\u63A5\u6210\u529F")}),await rs.connect(),O.localRedisValid=!0,_("info","[Utils] [Local-Redis] Redis \u5BA2\u6237\u7AEF\u521D\u59CB\u5316\u5B8C\u6210"),rs}catch(e){return _("error","[Utils] [Local-Redis] \u521D\u59CB\u5316\u5931\u8D25:",e.message),O.localRedisValid=!1,null}}async function Xb(){if(!rs)return!1;try{return await rs.ping()==="PONG"}catch(t){return _("error","[Utils] [Local-Redis] \u8FDE\u63A5\u68C0\u67E5\u5931\u8D25:",t.message),O.localRedisValid=!1,!1}}async function gnt(t){try{if(await Xb()||await Jb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");return await rs.get(t)}catch(e){return _("error","[Utils] [Local-Redis] GET \u8BF7\u6C42\u5931\u8D25:",e.message),null}}async function KB(t,e){let r=fb(t,e),n=an(r);if(O.lastHashes[t]===n)return _("info",`[Utils] [Local-Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SET \u8BF7\u6C42`),{result:"OK"};try{if(await Xb()||await Jb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let s=await rs.set(t,r);return O.lastHashes[t]=n,_("info",`[Utils] [Local-Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F`),{result:s}}catch(s){return _("error","[Utils] [Local-Redis] SET \u8BF7\u6C42\u5931\u8D25:",s.message),{result:"ERROR"}}}async function v0r(t,e,r){let n=fb(t,e),s=an(n);if(O.lastHashes[t]===s)return _("info",`[Utils] [Local-Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SETEX \u8BF7\u6C42`),{result:"OK"};try{if(await Xb()||await Jb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let i=await rs.setEx(t,r,n);return O.lastHashes[t]=s,_("info",`[Utils] [Local-Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F\uFF08\u5E26\u8FC7\u671F\u65F6\u95F4 ${r}s\uFF09`),{result:i}}catch(i){return _("error","[Utils] [Local-Redis] SETEX \u8BF7\u6C42\u5931\u8D25:",i.message),{result:"ERROR"}}}async function C0r(){if(!O.localCacheInitialized)try{if(_("info","[Utils] [Local-Redis] getLocalRedisCaches start."),await Xb()||await Jb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let t=["animes","episodeIds","episodeNum","reqRecords","lastSelectMap","todayReqNum"],e=await Promise.all(t.map(n=>gnt(n)));O.animes=e[0]?JSON.parse(e[0]):O.animes,O.episodeIds=e[1]?JSON.parse(e[1]):O.episodeIds,O.episodeNum=e[2]?JSON.parse(e[2]):O.episodeNum,O.reqRecords=e[3]?JSON.parse(e[3]):O.reqRecords;let r=e[4]?JSON.parse(e[4]):null;r&&typeof r=="object"&&(O.lastSelectMap=new Map(Object.entries(r)),_("info",`[Utils] [Local-Redis] Restored lastSelectMap from Local Redis with ${O.lastSelectMap.size} entries`)),O.todayReqNum=e[5]?parseInt(e[5],10):O.todayReqNum,O.lastHashes.animes=an(JSON.stringify(O.animes)),O.lastHashes.episodeIds=an(JSON.stringify(O.episodeIds)),O.lastHashes.episodeNum=an(JSON.stringify(O.episodeNum)),O.lastHashes.reqRecords=an(JSON.stringify(O.reqRecords)),O.lastHashes.lastSelectMap=an(JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.lastHashes.todayReqNum=an(JSON.stringify(O.todayReqNum)),O.localCacheInitialized=!0,_("info","[Utils] [Local-Redis] getLocalRedisCaches completed successfully.")}catch(t){_("error",`[Utils] [Local-Redis] getLocalRedisCaches failed: ${t.message}`,t.stack),O.localCacheInitialized=!0}}async function YB(){try{if(_("info","[Utils] [Local-Redis] updateLocalRedisCaches start."),await Xb()||await Jb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let t=[],e=[{key:"animes",value:O.animes},{key:"episodeIds",value:O.episodeIds},{key:"episodeNum",value:O.episodeNum},{key:"reqRecords",value:O.reqRecords},{key:"lastSelectMap",value:O.lastSelectMap},{key:"todayReqNum",value:O.todayReqNum}];for(let{key:r,value:n}of e){let s=JSON.stringify(r==="lastSelectMap"?Object.fromEntries(n):n),i=an(s);i!==O.lastHashes[r]&&t.push({key:r,value:n,hash:i})}if(t.length>0){_("info",`[Utils] [Local-Redis] Updating ${t.length} changed keys: ${t.map(a=>a.key).join(", ")}`);let r=t.map(async({key:a,value:o})=>KB(a,o)),n=await Promise.all(r),s=0,i=0;n.forEach((a,o)=>{a&&a.result==="OK"?s++:(i++,_("warn",`[Utils] [Local-Redis] Failed to update Local Redis key: ${t[o]?.key}, result: ${JSON.stringify(a)}`))}),i===0?(t.forEach(({key:a,hash:o})=>{O.lastHashes[a]=o}),_("info",`[Utils] [Local-Redis] Local Redis update completed successfully: ${s} keys updated`)):_("warn",`[Utils] [Local-Redis] Local Redis update partially failed: ${s} succeeded, ${i} failed`)}else _("info","[Utils] [Local-Redis] No changes detected, skipping Local Redis update.")}catch(t){_("error",`[Utils] [Local-Redis] updateLocalRedisCaches failed: ${t.message}`,t.stack),_("error",`[Utils] [Local-Redis] Error details - Name: ${t.name}, Cause: ${t.cause?t.cause.message:"N/A"}`)}}async function I0r(t){if(!O.localRedisValid&&O.localRedisUrl&&t!=="/favicon.ico"&&t!=="/robots.txt")try{await Xb()||await Jb(),rs&&await rs.ping()==="PONG"&&(O.localRedisValid=!0)}catch(e){_("error","[Utils] [Local-Redis] \u8FDE\u63A5\u68C0\u67E5\u5931\u8D25:",e.message),O.localRedisValid=!1}}async function T0r(){if(rs)try{await rs.quit(),rs=null,O.localRedisValid=!1,_("info","[Utils] [Local-Redis] \u8FDE\u63A5\u5DF2\u5173\u95ED")}catch(t){_("error","[Utils] [Local-Redis] \u5173\u95ED\u8FDE\u63A5\u5931\u8D25:",t.message)}}var rs,UT=dr(()=>{Pt();St();Is();rs=null});var Lo,iE=dr(()=>{Pt();St();Lo=class{constructor(){}updateLocalEnv(e,r){return typeof O.env<"u"?O.env[e]=r:typeof process<"u"&&(process.env[e]=r),O.reInit(),_("info",`[system] [Server] \u2713 Environment variable updated successfully: ${e}`),!0}delLocalEnv(e){return typeof O.env<"u"&&O.env[e]?delete O.env[e]:typeof process<"u"&&process.env?.[e]&&delete process.env[e],O.reInit(),_("info",`[system] [Server] \u2713 Environment variable deleted successfully: ${e}`),!0}getAllEnv(){let e=O.originalEnvVars,r=O.envVarConfig,n={};for(let[s,i]of Object.entries(e)){let a=r[s]||{category:"system",type:"text",description:"\u672A\u5206\u7C7B\u914D\u7F6E\u9879"};n[s]={value:i,category:a.category,type:a.type,description:a.description,options:a.options}}return n}getEnv(e){return this.getAllEnv()[e]}async setEnv(e,r){throw new Error("Method 'setEnv' must be implemented")}async addEnv(e,r){throw new Error("Method 'addEnv' must be implemented")}async delEnv(e){throw new Error("Method 'delEnv' must be implemented")}async checkParams(e,r,n){throw new Error("Method 'checkParams' must be implemented")}async deploy(e,r,n){throw new Error("Method 'deploy' must be implemented")}}});var Kst={};is(Kst,{CloudflareHandler:()=>Hie});var Hie,Yst=dr(()=>{iE();Pt();St();ar();Hie=class extends Lo{API_URL="https://api.cloudflare.com";async _getAllEnvs(e,r,n){let s=`${this.API_URL}/client/v4/accounts/${e}/workers/scripts/${r}/settings`,i={headers:{Authorization:`Bearer ${n}`}},a=await ge(s,i);return a&&a?.data&&a?.data?.result&&a?.data?.result?.bindings?a?.data?.result?.bindings:null}_setEnv(e,r,n){let s=e.findIndex(i=>i.name===r);return n==null?s!==-1&&e.splice(s,1):s!==-1?e[s].text=n:e.push({name:r,text:n,type:"plain_text"}),e}async setEnv(e,r){try{let n=await this._getAllEnvs(O.deployPlatformAccount,O.deployPlatformProject,O.deployPlatformToken);if(n===null){_("error","[system] [Server] \u2717 Failed to set environment variable: envs is null");return}let s=`${this.API_URL}/client/v4/accounts/${O.deployPlatformAccount}/workers/scripts/${O.deployPlatformProject}/settings`,i={headers:{Authorization:`Bearer ${O.deployPlatformToken}`}},a=new FormData,o={bindings:this._setEnv(n,e,r==null?null:r.toString())};return a.append("settings",new Blob([JSON.stringify(o)],{type:"application/json"}),"settings.json"),await RL(s,a,i),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){return await this.setEnv(e,r)}async delEnv(e){return await this.setEnv(e,null),this.delLocalEnv(e)}async checkParams(e,r,n){try{return await this._getAllEnvs(e,r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){return _("info","[system] [Server] After modifying the environment variables on the cloudflare platform, it will be automatically deployed."),!0}}});var Jst={};is(Jst,{VercelHandler:()=>Qie});var Qie,Xst=dr(()=>{iE();Pt();St();ar();Qie=class extends Lo{API_URL="https://api.vercel.com";async _getAllEnvs(e,r){let n=`${this.API_URL}/v10/projects/${e}/env`,s={headers:{Authorization:`Bearer ${r}`}};return(await ge(n,s)).data.envs}async _getEevId(e){try{let n=(await this._getAllEnvs(O.deployPlatformProject,O.deployPlatformToken)).find(s=>s.key===e);return n||null}catch(r){_("error","[system] [Server] \u2717 Failed to _getEevId:",r.message)}}async setEnv(e,r){let n=await this._getEevId(e);if(!n){_("error","[system] [Server] Error setEnv: \u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u73AF\u5883\u53D8\u91CF\uFF01");return}try{let s=`${this.API_URL}/v9/projects/${O.deployPlatformProject}/env/${n.id}`,i={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},a={key:e,value:r.toString(),target:n.target,type:n.type};return await RL(s,JSON.stringify(a),i),this.updateLocalEnv(e,r)}catch(s){_("error","[system] [Server] \u2717 Failed to set environment variable:",s.message)}}async addEnv(e,r){try{let n=`${this.API_URL}/v10/projects/${O.deployPlatformProject}/env`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},i={key:e,value:r.toString(),target:["production","preview","development"],type:"encrypted"};return await Vr(n,JSON.stringify(i),s),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async delEnv(e){let r=await this._getEevId(e);if(!r){_("error","[system] [Server] Error setEnv: \u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u73AF\u5883\u53D8\u91CF\uFF01");return}try{let n=`${this.API_URL}/v9/projects/${O.deployPlatformProject}/env/${r.id}`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}};return await lb(n,s),this.delLocalEnv(e)}catch(n){_("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! projectId or token is not valid:",s.message),!1}}async deploy(){try{let e=`${this.API_URL}/v6/deployments?projectId=${O.deployPlatformProject}&limit=1`,r={headers:{Authorization:`Bearer ${O.deployPlatformToken}`}},n=await ge(e,r),s;if(n?.data&&n?.data?.deployments&&n?.data?.deployments.length>0)s=n.data.deployments[0].uid;else return _("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(n?.data)),!1;let i=`${this.API_URL}/v13/deployments`,a={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},o={name:O.deployPlatformProject,deploymentId:s,target:"production"},c=await Vr(i,JSON.stringify(o),a);return c?.data?.id?!0:(_("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(c?.data)),!1)}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var Zst={};is(Zst,{NetlifyHandler:()=>Gie});var Gie,eit=dr(()=>{iE();Pt();St();ar();Gie=class extends Lo{API_URL="https://api.netlify.com";async _getAllEnvs(e,r,n){let s=`${this.API_URL}/api/v1/accounts/${e}/env?site_id=${r}`,i={headers:{Authorization:`Bearer ${n}`}};return await ge(s,i)}async setEnv(e,r){try{let n=`${this.API_URL}/api/v1/accounts/${O.deployPlatformAccount}/env/${e}?site_id=${O.deployPlatformProject}`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},i={key:e,values:[{context:"all",value:r.toString()}]};return await v8e(n,JSON.stringify(i),s),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){try{let n=`${this.API_URL}/api/v1/accounts/${O.deployPlatformAccount}/env?site_id=${O.deployPlatformProject}`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}};return await Vr(n,JSON.stringify([{key:e,values:[{context:"all",value:r}]}]),s),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async delEnv(e){try{let r=`${this.API_URL}/api/v1/accounts/${O.deployPlatformAccount}/env/${e}?site_id=${O.deployPlatformProject}`,n={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}};return await lb(r,n),this.delLocalEnv(e)}catch(r){_("error","[system] [Server] \u2717 Failed to add environment variable:",r.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(e,r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let e=`${this.API_URL}/api/v1/sites/${O.deployPlatformProject}/builds`,r={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},s=await Vr(e,JSON.stringify({}),r);return s?.data?.id?!0:(_("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(s?.data)),!1)}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var tit={};is(tit,{EdgeoneHandler:()=>Vie});var Vie,rit=dr(()=>{iE();Pt();St();ar();Vie=class extends Lo{API_URL="https://pages-api.cloud.tencent.com/v1";async _httpPost(e,r){let n=`${this.API_URL}`,s={headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}};return await Vr(n,JSON.stringify(r),s)}async _getAllEnvs(e,r){let n={Action:"ModifyPagesProjectEnvs",ProjectId:e},s=await this._httpPost(r,n);if(s?.data?.Code!==0)return null;let i=s?.data.Data?.Response?.EnvVars??[];return Object.fromEntries(i.map(({Key:a,Value:o})=>[a,o]))}async setEnv(e,r){try{let n={Action:"ModifyPagesProjectEnvs",ProjectId:O.deployPlatformProject,EnvVars:[{Key:e,Value:r.toString()}]};return await this._httpPost(O.deployPlatformToken,n),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){return await this.setEnv(e,r)}async delEnv(e){try{let r={Action:"DeletePagesProjectEnvs",ProjectId:O.deployPlatformProject,EnvVars:[e]};return await this._httpPost(O.deployPlatformToken,r),this.delLocalEnv(e)}catch(r){_("error","[system] [Server] \u2717 Failed to del environment variable:",r.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let e={Action:"CreatePagesDeployment",ProjectId:O.deployPlatformProject,RepoBranch:"main",ViaMeta:"Github",Provider:"Github"},r=await this._httpPost(O.deployPlatformToken,e);return r?.data?.Code!==0?(_("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(r?.data)),!1):!0}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var nit={};is(nit,{HuggingfaceHandler:()=>zie});var zie,sit=dr(()=>{iE();Pt();St();ar();zie=class extends Lo{API_URL="https://huggingface.co";get repoId(){return`${O.deployPlatformAccount}/${O.deployPlatformProject}`}_getOptions(e=O.deployPlatformToken){return{headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}}}_getVariablesUrl(e){return`${this.API_URL}/api/spaces/${e}/variables`}async _getAllEnvs(e,r,n){let s=`${e}/${r}`,i=this._getVariablesUrl(s);return(await ge(i,this._getOptions(n)))?.data}async setEnv(e,r){try{let n=this._getVariablesUrl(this.repoId),s={key:e,value:r.toString()};return await Vr(n,JSON.stringify(s),this._getOptions()),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){return await this.setEnv(e,r)}async delEnv(e){try{let r=this._getVariablesUrl(this.repoId);return await lb(r,{...this._getOptions(),body:JSON.stringify({key:e})}),this.delLocalEnv(e)}catch(r){_("error","[system] [Server] \u2717 Failed to del environment variable:",r.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(e,r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let e=`${this.API_URL}/api/spaces/${this.repoId}/restart`;return await Vr(e,void 0,this._getOptions()),!0}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var zlt=E(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:!0});cA.removeTrailingChar=cA.merge=void 0;var GTr=(...t)=>{let e={};return t.forEach(function(r){var n;for(n in r)n in e&&e[n]===null?e[n]=r[n]:n in e&&Array.isArray(e[n])?e[n]=e[n].concat(r[n]):n in e&&typeof e[n]=="object"?e[n]=(0,cA.merge)(e[n],r[n]):e[n]=r[n]}),e};cA.merge=GTr;var VTr=(t,e)=>t.length>1&&t.endsWith(e)?t.substring(0,t.length-1):t;cA.removeTrailingChar=VTr});var DE=E(cm=>{"use strict";Object.defineProperty(cm,"__esModule",{value:!0});cm.DataError=cm.DatabaseError=cm.NestedError=void 0;var i2=class extends Error{inner;id;constructor(e,r,n){super(e),this.inner=n,this.id=r,this.name=this.constructor.name}toString(){let e=this.name+": "+this.message;return this.inner?e+`:
`+this.inner:e}};cm.NestedError=i2;var oue=class extends i2{};cm.DatabaseError=oue;var cue=class extends i2{};cm.DataError=cue});var pue=E(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.getArrayIndicies=Sa.validateArrayIndex=Sa.validateArrayIndicies=Sa.isInt=Sa.ArrayInfo=Sa.arrayRegex=void 0;var kM=DE(),zTr=()=>/^([\.0-9a-zA-Z_$\-][0-9a-zA-Z_\-$\.]*)\[((?!(\]|\[)).*|)\]$/gm;Sa.arrayRegex=zTr;var uue={},lue=class t{property;index=0;append=!1;indicies=[];constructor(e,r){this.property=e;let n=r[0]??0;if(this.append=n===""||r[r.length-1]==="",this.indicies=r,due(n))this.index=parseInt(n);else if(!this.append)throw new kM.DataError("Only numerical values accepted for array index",200)}static processArray(e){if(typeof e>"u")return null;if(uue[e])return uue[e];let n=(0,Sa.arrayRegex)().exec(e.trim());if(n!=null){let s=n[1],i="["+n[2].toString()+"]",a=fue(i);return Klt(a),uue[e]=new t(s,a)}return null}getIndex(e,r){if(this.append)return-1;let n=this.index;if(n==-1){let s=r?e:e[this.property];return s.length===0?0:s.length-1}return n}getData(e){if(this.append)throw new kM.DataError("Can't get data when appending",100);let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(e);return n[r]}setData(e,r){if(this.append){let n=e[this.property];this.indicies.forEach(s=>{s!==""&&(s=+s,s===-1&&(s=n.length-1),n=n[+s])}),n.push(r)}else{let{index:n,dataForProperty:s}=this.getArrayDataAndIndexFromProperty(e);n===-1?s.push(r):s[n]=r}}delete(e){if(this.append)throw new kM.DataError("Can't delete an appended data",10);let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(e);n.splice(r,1)}isValid(e){let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(e);return n.hasOwnProperty(r)}getArrayDataAndIndexFromProperty(e){let r=0,n=e instanceof Array?e:e[this.property]??e;if(this.indicies.length>0){r=+this.indicies[this.indicies.length-1];for(let s=0;s<this.indicies.length-1;s++){let i=+this.indicies[s];i===-1&&(i=n.length-1),n=n[i]}r===-1&&(r=n.length-1)}return{index:r,dataForProperty:n}}isMultiDimensional(){return this.indicies.length>1}};Sa.ArrayInfo=lue;function due(t){return!isNaN(t)&&Number(t)==t&&!isNaN(parseInt(t,10))}Sa.isInt=due;function Klt(t){let e=t.filter(r=>r==="");if(e.length>1)throw Error("Only one append index is supported for nested arrays");if(e.length===1&&t[t.length-1]!=="")throw Error("Append index must be at the end of the nested array")}Sa.validateArrayIndicies=Klt;function Ylt(t){if(t.length!==0&&!due(t))throw new kM.DataError("Only numerical values accepted for array index",200)}Sa.validateArrayIndex=Ylt;function fue(t){if(t.length===0)return[];if(t.charAt(0)!=="[")throw new Error("Invalid array syntax detected");let e=t.substring(1,t.indexOf("]"));Ylt(e);let r=e.length+2;return[e,...fue(t.substring(r))]}Sa.getArrayIndicies=fue});var Zlt=E(LM=>{"use strict";Object.defineProperty(LM,"__esModule",{value:!0});LM.DBParentData=void 0;var Jlt=pue(),Xlt=DE(),mue=class{parent;data;db;dataPath;constructor(e,r,n,s){this.parent=s,this.data=e,this.db=r,this.dataPath=n}checkArray(e=!1){let r=Jlt.ArrayInfo.processArray(this.parent);if(r&&(!r.append||e)&&!r.isValid(this.data))throw new Xlt.DataError("DataPath: /"+this.dataPath+". Can't find index "+r.index+" in array "+r.property,10);return r}getData(){if(this.parent===void 0)return this.data;let e=this.checkArray();return e?e.getData(this.data):this.data[this.parent]}setData(e){if(this.parent===void 0){this.db.resetData(e);return}let r=Jlt.ArrayInfo.processArray(this.parent);if(r){if(!this.data.hasOwnProperty(r.property))this.data[r.property]=[];else if(!Array.isArray(this.data[r.property]))throw new Xlt.DataError("DataPath: /"+this.dataPath+". "+r.property+" is not an array.",11);r.setData(this.data,e)}else this.data[this.parent]=e}delete(){if(this.parent===void 0){this.db.resetData({});return}let e=this.checkArray(!0);e?e.delete(this.data):delete this.data[this.parent]}};LM.DBParentData=mue});var tdt=E((f0n,edt)=>{edt.exports=function(){"use strict";function t(){this.readers=0,this.queue=[]}function e(i,a,o){var c;typeof i!="function"?(s.hasOwnProperty(i)||(s[i]=new t),c=s[i]):(o=a,a=i,c=n),o||(o={});var u=null;o.hasOwnProperty("scope")&&(u=o.scope);var l=function(){var p=!1;return function(){p||(p=!0,c.readers--,c.queue.length&&c.queue[0]())}}();if(c.readers<0||c.queue.length){var d=!1;if(c.queue.push(function(){!d&&c.readers>=0&&(d=!0,c.queue.shift(),c.readers++,a.call(u,l),c.queue.length&&c.queue[0]())}),o.hasOwnProperty("timeout")){var f=null;o.hasOwnProperty("timeoutCallback")&&(f=o.timeoutCallback),setTimeout(function(){d||(d=!0,c.queue.shift(),f&&f.call(o.scope))},o.timeout)}}else c.readers++,a.call(o.scope,l)}function r(i,a,o){var c;typeof i!="function"?(s.hasOwnProperty(i)||(s[i]=new t),c=s[i]):(o=a,a=i,c=n),o||(o={});var u=null;o.hasOwnProperty("scope")&&(u=o.scope);var l=function(){var p=!1;return function(){p||(p=!0,c.readers=0,c.queue.length&&c.queue[0]())}}();if(c.readers||c.queue.length){var d=!1;if(c.queue.push(function(){d||c.readers||(d=!0,c.queue.shift(),c.readers=-1,a.call(o.scope,l))}),o.hasOwnProperty("timeout")){var f=null;o.hasOwnProperty("timeoutCallback")&&(f=o.timeoutCallback),setTimeout(function(){d||(d=!0,c.queue.shift(),f&&f.call(u))},o.timeout)}}else c.readers=-1,a.call(o.scope,l)}var n=new t,s={};this.readLock=e,this.writeLock=r,this.async={readLock:function(i,a,o){typeof i!="function"?e(i,function(c){a.call(this,null,c)},o):(a=i,o=a,e(function(c){a.call(this,null,c)},o))},writeLock:function(i,a,o){typeof i!="function"?r(i,function(c){a.call(this,null,c)},o):(a=i,o=a,r(function(c){a.call(this,null,c)},o))}}}});var rdt=E(BM=>{"use strict";Object.defineProperty(BM,"__esModule",{value:!0});BM.TimeoutError=void 0;var KTr=DE(),hue=class extends KTr.NestedError{};BM.TimeoutError=hue});var idt=E(kE=>{"use strict";Object.defineProperty(kE,"__esModule",{value:!0});kE.writeLockAsync=kE.readLockAsync=void 0;var YTr=tdt(),ndt=rdt(),sdt=new YTr,JTr=(t,e=null)=>{let r={};return e!=null&&(r={timeout:e}),new Promise((n,s)=>{sdt.readLock(async i=>{try{let a=await t();n(a)}catch(a){s(a)}finally{i()}},{...r,timeoutCallback(){s(new ndt.TimeoutError("Timeout",100))}})})};kE.readLockAsync=JTr;var XTr=(t,e=null)=>{let r={};return e!=null&&(r={timeout:e}),new Promise((n,s)=>{sdt.writeLock(async i=>{try{let a=await t();n(a)}catch(a){s(a)}finally{i()}},{...r,timeoutCallback(){s(new ndt.TimeoutError("Timeout",100))}})})};kE.writeLockAsync=XTr});var Aue=E(MM=>{"use strict";Object.defineProperty(MM,"__esModule",{value:!0});MM.JsonAdapter=void 0;var gue=class{adapter;humanReadable;dateRegex=new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}","m");constructor(e,r=!1){this.adapter=e,this.humanReadable=r}replacer(e,r){return r}reviver(e,r){return typeof r=="string"&&this.dateRegex.exec(r)!=null?new Date(r):r}async readAsync(){let e=await this.adapter.readAsync();return e==null?(await this.writeAsync({}),{}):JSON.parse(e,this.reviver.bind(this))}writeAsync(e){let r="";return this.humanReadable?r=JSON.stringify(e,this.replacer.bind(this),4):r=JSON.stringify(e,this.replacer.bind(this)),this.adapter.writeAsync(r)}};MM.JsonAdapter=gue});var xue=E($M=>{"use strict";Object.defineProperty($M,"__esModule",{value:!0});$M.FileAdapter=void 0;var WM=require("fs/promises"),ZTr=require("path"),yue=class{filename;fsync;constructor(e,r){this.filename=e,this.fsync=r}async readAsync(){try{return await(0,WM.readFile)(this.filename,{encoding:"utf-8"})}catch(e){if(e.code==="ENOENT")return null;throw e}}async writeAsync(e){let r=null;try{r=await(0,WM.open)(this.filename,"w")}catch(n){if(n.code!=="ENOENT")throw n;let s=ZTr.dirname(this.filename);await(0,WM.mkdir)(s,{recursive:!0}),r=await(0,WM.open)(this.filename,"w")}try{await r.writeFile(e,{encoding:"utf-8"}),this.fsync&&await r.sync()}finally{await r.close()}}};$M.FileAdapter=yue});var adt=E(LE=>{"use strict";Object.defineProperty(LE,"__esModule",{value:!0});LE.ConfigWithAdapter=LE.Config=void 0;var ewr=require("path"),twr=Aue(),rwr=xue(),bue=class{adapter;filename;saveOnPush;separator;constructor(e,r=!0,n=!1,s="/",i=!1){this.filename=e,ewr.extname(e)===""&&(this.filename+=".json"),this.saveOnPush=r,this.separator=s,this.adapter=new twr.JsonAdapter(new rwr.FileAdapter(this.filename,i),n)}};LE.Config=bue;var Eue=class{adapter;saveOnPush;separator;constructor(e,r=!0,n="/"){this.adapter=e,this.saveOnPush=r,this.separator=n}};LE.ConfigWithAdapter=Eue});var ldt=E(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.JsonDB=Ji.FileAdapter=Ji.JsonAdapter=Ji.DataError=Ji.DatabaseError=Ji.ConfigWithAdapter=Ji.Config=void 0;var odt=zlt(),Yi=DE(),nwr=Zlt(),swr=pue(),_ue=idt(),cdt=adt();Object.defineProperty(Ji,"Config",{enumerable:!0,get:function(){return cdt.Config}});Object.defineProperty(Ji,"ConfigWithAdapter",{enumerable:!0,get:function(){return cdt.ConfigWithAdapter}});var udt=DE();Object.defineProperty(Ji,"DatabaseError",{enumerable:!0,get:function(){return udt.DatabaseError}});Object.defineProperty(Ji,"DataError",{enumerable:!0,get:function(){return udt.DataError}});var iwr=Aue();Object.defineProperty(Ji,"JsonAdapter",{enumerable:!0,get:function(){return iwr.JsonAdapter}});var awr=xue();Object.defineProperty(Ji,"FileAdapter",{enumerable:!0,get:function(){return awr.FileAdapter}});var Sue=class{loaded=!1;data={};config;constructor(e){this.config=e}processDataPath(e){if(e===void 0||!e.trim())throw new Yi.DataError("The Data Path can't be empty",6);if(e==this.config.separator)return[];e=(0,odt.removeTrailingChar)(e,this.config.separator);let r=e.split(this.config.separator);return r.shift(),r}async retrieveData(e,r=!1){await this.load();let n=this,s=(i,a)=>{let o=e[a];function c(l=!1){if(i.hasOwnProperty(o))i=i[o];else if(r)l?i[o]=[]:i[o]={},i=i[o];else throw new Yi.DataError(`Can't find dataPath: ${n.config.separator}${e.join(n.config.separator)}. Stopped at ${o}`,5)}let u=swr.ArrayInfo.processArray(o);if(u){if(o=u.property,c(!0),!Array.isArray(i))throw new Yi.DataError(`DataPath: ${n.config.separator}${e.join(n.config.separator)}. ${o} is not an array.`,11);let l=u.getIndex(i,!0);if(!u.append&&i.hasOwnProperty(l))i=u.getData(i);else if(r)u.append?(i.push({}),i=i[i.length-1]):(i[l]={},i=i[l]);else throw new Yi.DataError(`DataPath: ${n.config.separator}${e.join(n.config.separator)}. . Can't find index ${u.index} in array ${o}`,10)}else c();return e.length==++a?i:s(i,a)};return e.length===0?this.data:s(this.data,0)}async getParentData(e,r){let n=this.processDataPath(e),s=n.pop();return new nwr.DBParentData(await this.retrieveData(n,r),this,e,s)}getData(e){return(0,_ue.readLockAsync)(async()=>{let r=this.processDataPath(e);return this.retrieveData(r,!1)})}getObject(e){return this.getData(e)}async getObjectDefault(e,r){try{return await this.getData(e)}catch(n){if(!(n instanceof Yi.DataError)||n.id!=5)throw n;return r}}async exists(e){try{return await this.getData(e),!0}catch(r){if(r instanceof Yi.DataError)return!1;throw r}}async count(e){let r=await this.getData(e);if(!Array.isArray(r))throw new Yi.DataError(`DataPath: ${e} is not an array.`,11);let n=this.processDataPath(e);return(await this.retrieveData(n,!1)).length}async getIndex(e,r,n="id"){return(await this.getArrayData(e)).map(function(i){return i[n]}).indexOf(r)}async getIndexValue(e,r){return(await this.getArrayData(e)).indexOf(r)}async getArrayData(e){let r=await this.getData(e);if(!Array.isArray(r))throw new Yi.DataError(`DataPath: ${e} is not an array.`,11);let n=this.processDataPath(e);return this.retrieveData(n,!1)}async filter(e,r){let n=await this.getData(e);if(Array.isArray(n))return n.filter(r);if(n instanceof Object){let i=Object.entries(n).filter(a=>r(a[1],a[0]));return!i||i.length<1?void 0:i.map(a=>a[1])}throw new Yi.DataError("The entry at the path ("+e+") needs to be either an Object or an Array",12)}async find(e,r){let n=await this.getData(e);if(Array.isArray(n))return n.find(r);if(n instanceof Object){let i=Object.entries(n).find(a=>r(a[1],a[0]));return!i||i.length<2?void 0:i[1]}throw new Yi.DataError("The entry at the path ("+e+") needs to be either an Object or an Array",12)}async push(e,r,n=!0){return(0,_ue.writeLockAsync)(async()=>{let s=await this.getParentData(e,!0),i=r;if(!n){if(Array.isArray(r)){let a=s.getData();if(a===void 0)a=[];else if(!Array.isArray(a))throw new Yi.DataError("Can't merge another type of data with an Array",3);i=a.concat(r)}else if(r===Object(r)){if(Array.isArray(s.getData()))throw new Yi.DataError("Can't merge an Array with an Object",4);i=(0,odt.merge)(s.getData(),r)}}s.setData(i),this.config.saveOnPush&&await this.save()})}async delete(e){await(0,_ue.writeLockAsync)(async()=>{(await this.getParentData(e,!0)).delete(),this.config.saveOnPush&&await this.save()})}resetData(e){this.data=e}async reload(){this.loaded=!1,await this.load()}async load(){if(!this.loaded)try{this.data=await this.config.adapter.readAsync(),this.loaded=!0}catch(e){throw new Yi.DatabaseError("Can't Load Database",1,e)}}async save(e){if(e=e||!1,!e&&!this.loaded)throw new Yi.DatabaseError("DataBase not loaded. Can't write",7);try{await this.config.adapter.writeAsync(this.data)}catch(r){throw new Yi.DatabaseError("Can't save the database",2,r)}}async fromPath(e,r="id"){let[,...n]=e.split("/"),s=n.reduce((a,o,c)=>{if(c%2===0)a[`${o}`]="";else{let l=Object.keys(a);a[`${l[l.length-1]}`]=`${o}`}return a},{}),i=[];for await(let a of Object.keys(s)){i.push(`/${a}`);let o=s[a];try{let c=await this.getIndex(i.join(""),o,r);i.push(`[${c}]`)}catch(c){throw new Yi.DataError(`DataPath: ${i.join("")}/${o} not found.`,13,c)}}return i.join("")}};Ji.JsonDB=Sue});var fOr={};is(fOr,{start:()=>lOr,stop:()=>dOr});module.exports=K0t(fOr);var fpt=Re(Zwe(),1);var OE=Re(require("node:fs/promises"),1),Ms=Re(require("node:path"),1),PM=require("node:crypto"),Llt=require("node:module"),nue=require("node:url");function NS(t,e){return function(){return t.apply(e,arguments)}}var{toString:rqt}=Object.prototype,{getPrototypeOf:bj}=Object,s3=(t=>e=>{let r=rqt.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),ul=t=>(t=t.toLowerCase(),e=>s3(e)===t),i3=t=>e=>typeof e===t,{isArray:sx}=Array,OS=i3("undefined");function nqt(t){return t!==null&&!OS(t)&&t.constructor!==null&&!OS(t.constructor)&&uc(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var r2e=ul("ArrayBuffer");function sqt(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&r2e(t.buffer),e}var iqt=i3("string"),uc=i3("function"),n2e=i3("number"),a3=t=>t!==null&&typeof t=="object",aqt=t=>t===!0||t===!1,n3=t=>{if(s3(t)!=="object")return!1;let e=bj(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},oqt=ul("Date"),cqt=ul("File"),uqt=ul("Blob"),lqt=ul("FileList"),dqt=t=>a3(t)&&uc(t.pipe),fqt=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||uc(t.append)&&((e=s3(t))==="formdata"||e==="object"&&uc(t.toString)&&t.toString()==="[object FormData]"))},pqt=ul("URLSearchParams"),mqt=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function PS(t,e,{allOwnKeys:r=!1}={}){if(t===null||typeof t>"u")return;let n,s;if(typeof t!="object"&&(t=[t]),sx(t))for(n=0,s=t.length;n<s;n++)e.call(null,t[n],n,t);else{let i=r?Object.getOwnPropertyNames(t):Object.keys(t),a=i.length,o;for(n=0;n<a;n++)o=i[n],e.call(null,t[o],o,t)}}function s2e(t,e){e=e.toLowerCase();let r=Object.keys(t),n=r.length,s;for(;n-- >0;)if(s=r[n],e===s.toLowerCase())return s;return null}var i2e=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,a2e=t=>!OS(t)&&t!==i2e;function xj(){let{caseless:t}=a2e(this)&&this||{},e={},r=(n,s)=>{let i=t&&s2e(e,s)||s;n3(e[i])&&n3(n)?e[i]=xj(e[i],n):n3(n)?e[i]=xj({},n):sx(n)?e[i]=n.slice():e[i]=n};for(let n=0,s=arguments.length;n<s;n++)arguments[n]&&PS(arguments[n],r);return e}var hqt=(t,e,r,{allOwnKeys:n}={})=>(PS(e,(s,i)=>{r&&uc(s)?t[i]=NS(s,r):t[i]=s},{allOwnKeys:n}),t),gqt=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Aqt=(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},yqt=(t,e,r,n)=>{let s,i,a,o={};if(e=e||{},t==null)return e;do{for(s=Object.getOwnPropertyNames(t),i=s.length;i-- >0;)a=s[i],(!n||n(a,t,e))&&!o[a]&&(e[a]=t[a],o[a]=!0);t=r!==!1&&bj(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},xqt=(t,e,r)=>{t=String(t),(r===void 0||r>t.length)&&(r=t.length),r-=e.length;let n=t.indexOf(e,r);return n!==-1&&n===r},bqt=t=>{if(!t)return null;if(sx(t))return t;let e=t.length;if(!n2e(e))return null;let r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},Eqt=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&bj(Uint8Array)),_qt=(t,e)=>{let n=(t&&t[Symbol.iterator]).call(t),s;for(;(s=n.next())&&!s.done;){let i=s.value;e.call(t,i[0],i[1])}},Sqt=(t,e)=>{let r,n=[];for(;(r=t.exec(e))!==null;)n.push(r);return n},vqt=ul("HTMLFormElement"),Cqt=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,s){return n.toUpperCase()+s}),e2e=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),Iqt=ul("RegExp"),o2e=(t,e)=>{let r=Object.getOwnPropertyDescriptors(t),n={};PS(r,(s,i)=>{let a;(a=e(s,i,t))!==!1&&(n[i]=a||s)}),Object.defineProperties(t,n)},Tqt=t=>{o2e(t,(e,r)=>{if(uc(t)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=t[r];if(uc(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},wqt=(t,e)=>{let r={},n=s=>{s.forEach(i=>{r[i]=!0})};return sx(t)?n(t):n(String(t).split(e)),r},Rqt=()=>{},Nqt=(t,e)=>(t=+t,Number.isFinite(t)?t:e),yj="abcdefghijklmnopqrstuvwxyz",t2e="0123456789",c2e={DIGIT:t2e,ALPHA:yj,ALPHA_DIGIT:yj+yj.toUpperCase()+t2e},Oqt=(t=16,e=c2e.ALPHA_DIGIT)=>{let r="",{length:n}=e;for(;t--;)r+=e[Math.random()*n|0];return r};function Pqt(t){return!!(t&&uc(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}var Dqt=t=>{let e=new Array(10),r=(n,s)=>{if(a3(n)){if(e.indexOf(n)>=0)return;if(!("toJSON"in n)){e[s]=n;let i=sx(n)?[]:{};return PS(n,(a,o)=>{let c=r(a,s+1);!OS(c)&&(i[o]=c)}),e[s]=void 0,i}}return n};return r(t,0)},kqt=ul("AsyncFunction"),Lqt=t=>t&&(a3(t)||uc(t))&&uc(t.then)&&uc(t.catch),le={isArray:sx,isArrayBuffer:r2e,isBuffer:nqt,isFormData:fqt,isArrayBufferView:sqt,isString:iqt,isNumber:n2e,isBoolean:aqt,isObject:a3,isPlainObject:n3,isUndefined:OS,isDate:oqt,isFile:cqt,isBlob:uqt,isRegExp:Iqt,isFunction:uc,isStream:dqt,isURLSearchParams:pqt,isTypedArray:Eqt,isFileList:lqt,forEach:PS,merge:xj,extend:hqt,trim:mqt,stripBOM:gqt,inherits:Aqt,toFlatObject:yqt,kindOf:s3,kindOfTest:ul,endsWith:xqt,toArray:bqt,forEachEntry:_qt,matchAll:Sqt,isHTMLForm:vqt,hasOwnProperty:e2e,hasOwnProp:e2e,reduceDescriptors:o2e,freezeMethods:Tqt,toObjectSet:wqt,toCamelCase:Cqt,noop:Rqt,toFiniteNumber:Nqt,findKey:s2e,global:i2e,isContextDefined:a2e,ALPHABET:c2e,generateString:Oqt,isSpecCompliantForm:Pqt,toJSONObject:Dqt,isAsyncFn:kqt,isThenable:Lqt};function ix(t,e,r,n,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),s&&(this.response=s)}le.inherits(ix,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:le.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var u2e=ix.prototype,l2e={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{l2e[t]={value:t}});Object.defineProperties(ix,l2e);Object.defineProperty(u2e,"isAxiosError",{value:!0});ix.from=(t,e,r,n,s,i)=>{let a=Object.create(u2e);return le.toFlatObject(t,a,function(c){return c!==Error.prototype},o=>o!=="isAxiosError"),ix.call(a,t.message,e,r,n,s),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};var Xe=ix;var fNe=Re(dNe(),1),g3=fNe.default;function Uj(t){return le.isPlainObject(t)||le.isArray(t)}function mNe(t){return le.endsWith(t,"[]")?t.slice(0,-2):t}function pNe(t,e,r){return t?t.concat(e).map(function(s,i){return s=mNe(s),!r&&i?"["+s+"]":s}).join(r?".":""):e}function bHt(t){return le.isArray(t)&&!t.some(Uj)}var EHt=le.toFlatObject(le,{},null,function(e){return/^is[A-Z]/.test(e)});function _Ht(t,e,r){if(!le.isObject(t))throw new TypeError("target must be an object");e=e||new(g3||FormData),r=le.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,A){return!le.isUndefined(A[h])});let n=r.metaTokens,s=r.visitor||l,i=r.dots,a=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&le.isSpecCompliantForm(e);if(!le.isFunction(s))throw new TypeError("visitor must be a function");function u(m){if(m===null)return"";if(le.isDate(m))return m.toISOString();if(!c&&le.isBlob(m))throw new Xe("Blob is not supported. Use a Buffer instead.");return le.isArrayBuffer(m)||le.isTypedArray(m)?c&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function l(m,h,A){let g=m;if(m&&!A&&typeof m=="object"){if(le.endsWith(h,"{}"))h=n?h:h.slice(0,-2),m=JSON.stringify(m);else if(le.isArray(m)&&bHt(m)||(le.isFileList(m)||le.endsWith(h,"[]"))&&(g=le.toArray(m)))return h=mNe(h),g.forEach(function(y,x){!(le.isUndefined(y)||y===null)&&e.append(a===!0?pNe([h],x,i):a===null?h:h+"[]",u(y))}),!1}return Uj(m)?!0:(e.append(pNe(A,h,i),u(m)),!1)}let d=[],f=Object.assign(EHt,{defaultVisitor:l,convertValue:u,isVisitable:Uj});function p(m,h){if(!le.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(m),le.forEach(m,function(g,b){(!(le.isUndefined(g)||g===null)&&s.call(e,g,le.isString(b)?b.trim():b,h,f))===!0&&p(g,h?h.concat(b):[b])}),d.pop()}}if(!le.isObject(t))throw new TypeError("data must be an object");return p(t),e}var Kp=_Ht;function hNe(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function gNe(t,e){this._pairs=[],t&&Kp(t,this,e)}var ANe=gNe.prototype;ANe.append=function(e,r){this._pairs.push([e,r])};ANe.toString=function(e){let r=e?function(n){return e.call(this,n,hNe)}:hNe;return this._pairs.map(function(s){return r(s[0])+"="+r(s[1])},"").join("&")};var yNe=gNe;function SHt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function fh(t,e,r){if(!e)return t;let n=r&&r.encode||SHt,s=r&&r.serialize,i;if(s?i=s(e,r):i=le.isURLSearchParams(e)?e.toString():new yNe(e,r).toString(n),i){let a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t}var qj=class{constructor(){this.handlers=[]}use(e,r,n){return this.handlers.push({fulfilled:e,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){le.forEach(this.handlers,function(n){n!==null&&e(n)})}},jj=qj;var lx={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var xNe=Re(require("url"),1),bNe=xNe.default.URLSearchParams;var ENe={isNode:!0,classes:{URLSearchParams:bNe,FormData:g3,Blob:typeof Blob<"u"&&Blob||null},protocols:["http","https","file","data"]};var Hj={};is(Hj,{hasBrowserEnv:()=>_Ne,hasStandardBrowserEnv:()=>vHt,hasStandardBrowserWebWorkerEnv:()=>CHt});var _Ne=typeof window<"u"&&typeof document<"u",vHt=(t=>_Ne&&["ReactNative","NativeScript","NS"].indexOf(t)<0)(typeof navigator<"u"&&navigator.product),CHt=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function";var ws={...Hj,...ENe};function Qj(t,e){return Kp(t,new ws.classes.URLSearchParams,Object.assign({visitor:function(r,n,s,i){return ws.isNode&&le.isBuffer(r)?(this.append(n,r.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},e))}function IHt(t){return le.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function THt(t){let e={},r=Object.keys(t),n,s=r.length,i;for(n=0;n<s;n++)i=r[n],e[i]=t[i];return e}function wHt(t){function e(r,n,s,i){let a=r[i++];if(a==="__proto__")return!0;let o=Number.isFinite(+a),c=i>=r.length;return a=!a&&le.isArray(s)?s.length:a,c?(le.hasOwnProp(s,a)?s[a]=[s[a],n]:s[a]=n,!o):((!s[a]||!le.isObject(s[a]))&&(s[a]=[]),e(r,n,s[a],i)&&le.isArray(s[a])&&(s[a]=THt(s[a])),!o)}if(le.isFormData(t)&&le.isFunction(t.entries)){let r={};return le.forEachEntry(t,(n,s)=>{e(IHt(n),s,r,0)}),r}return null}var A3=wHt;function RHt(t,e,r){if(le.isString(t))try{return(e||JSON.parse)(t),le.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(t)}var Gj={transitional:lx,adapter:["xhr","http"],transformRequest:[function(e,r){let n=r.getContentType()||"",s=n.indexOf("application/json")>-1,i=le.isObject(e);if(i&&le.isHTMLForm(e)&&(e=new FormData(e)),le.isFormData(e))return s?JSON.stringify(A3(e)):e;if(le.isArrayBuffer(e)||le.isBuffer(e)||le.isStream(e)||le.isFile(e)||le.isBlob(e))return e;if(le.isArrayBufferView(e))return e.buffer;if(le.isURLSearchParams(e))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Qj(e,this.formSerializer).toString();if((o=le.isFileList(e))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return Kp(o?{"files[]":e}:e,c&&new c,this.formSerializer)}}return i||s?(r.setContentType("application/json",!1),RHt(e)):e}],transformResponse:[function(e){let r=this.transitional||Gj.transitional,n=r&&r.forcedJSONParsing,s=this.responseType==="json";if(e&&le.isString(e)&&(n&&!this.responseType||s)){let a=!(r&&r.silentJSONParsing)&&s;try{return JSON.parse(e)}catch(o){if(a)throw o.name==="SyntaxError"?Xe.from(o,Xe.ERR_BAD_RESPONSE,this,null,this.response):o}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ws.classes.FormData,Blob:ws.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};le.forEach(["delete","get","head","post","put","patch"],t=>{Gj.headers[t]={}});var dx=Gj;var NHt=le.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),SNe=t=>{let e={},r,n,s;return t&&t.split(`
`).forEach(function(a){s=a.indexOf(":"),r=a.substring(0,s).trim().toLowerCase(),n=a.substring(s+1).trim(),!(!r||e[r]&&NHt[r])&&(r==="set-cookie"?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)}),e};var vNe=Symbol("internals");function WS(t){return t&&String(t).trim().toLowerCase()}function y3(t){return t===!1||t==null?t:le.isArray(t)?t.map(y3):String(t)}function OHt(t){let e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}var PHt=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Vj(t,e,r,n,s){if(le.isFunction(n))return n.call(this,e,r);if(s&&(e=r),!!le.isString(e)){if(le.isString(n))return e.indexOf(n)!==-1;if(le.isRegExp(n))return n.test(e)}}function DHt(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,r,n)=>r.toUpperCase()+n)}function kHt(t,e){let r=le.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+r,{value:function(s,i,a){return this[n].call(this,e,s,i,a)},configurable:!0})})}var fx=class{constructor(e){e&&this.set(e)}set(e,r,n){let s=this;function i(o,c,u){let l=WS(c);if(!l)throw new Error("header name must be a non-empty string");let d=le.findKey(s,l);(!d||s[d]===void 0||u===!0||u===void 0&&s[d]!==!1)&&(s[d||c]=y3(o))}let a=(o,c)=>le.forEach(o,(u,l)=>i(u,l,c));return le.isPlainObject(e)||e instanceof this.constructor?a(e,r):le.isString(e)&&(e=e.trim())&&!PHt(e)?a(SNe(e),r):e!=null&&i(r,e,n),this}get(e,r){if(e=WS(e),e){let n=le.findKey(this,e);if(n){let s=this[n];if(!r)return s;if(r===!0)return OHt(s);if(le.isFunction(r))return r.call(this,s,n);if(le.isRegExp(r))return r.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,r){if(e=WS(e),e){let n=le.findKey(this,e);return!!(n&&this[n]!==void 0&&(!r||Vj(this,this[n],n,r)))}return!1}delete(e,r){let n=this,s=!1;function i(a){if(a=WS(a),a){let o=le.findKey(n,a);o&&(!r||Vj(n,n[o],o,r))&&(delete n[o],s=!0)}}return le.isArray(e)?e.forEach(i):i(e),s}clear(e){let r=Object.keys(this),n=r.length,s=!1;for(;n--;){let i=r[n];(!e||Vj(this,this[i],i,e,!0))&&(delete this[i],s=!0)}return s}normalize(e){let r=this,n={};return le.forEach(this,(s,i)=>{let a=le.findKey(n,i);if(a){r[a]=y3(s),delete r[i];return}let o=e?DHt(i):String(i).trim();o!==i&&delete r[i],r[o]=y3(s),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let r=Object.create(null);return le.forEach(this,(n,s)=>{n!=null&&n!==!1&&(r[s]=e&&le.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,r])=>e+": "+r).join(`
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...r){let n=new this(e);return r.forEach(s=>n.set(s)),n}static accessor(e){let n=(this[vNe]=this[vNe]={accessors:{}}).accessors,s=this.prototype;function i(a){let o=WS(a);n[o]||(kHt(s,a),n[o]=!0)}return le.isArray(e)?e.forEach(i):i(e),this}};fx.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);le.reduceDescriptors(fx.prototype,({value:t},e)=>{let r=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(n){this[r]=n}}});le.freezeMethods(fx);var Rs=fx;function $S(t,e){let r=this||dx,n=e||r,s=Rs.from(n.headers),i=n.data;return le.forEach(t,function(o){i=o.call(r,i,s.normalize(),e?e.status:void 0)}),s.normalize(),i}function FS(t){return!!(t&&t.__CANCEL__)}function CNe(t,e,r){Xe.call(this,t??"canceled",Xe.ERR_CANCELED,e,r),this.name="CanceledError"}le.inherits(CNe,Xe,{__CANCEL__:!0});var ru=CNe;function Yp(t,e,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?t(r):e(new Xe("Request failed with status code "+r.status,[Xe.ERR_BAD_REQUEST,Xe.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function zj(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Kj(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function ph(t,e){return t&&!zj(e)?Kj(t,e):e}var aOe=Re(TNe(),1),oOe=Re(require("http"),1),cOe=Re(require("https"),1),uOe=Re(require("util"),1),lOe=Re(GNe(),1),Bd=Re(require("zlib"),1);var Ah="1.6.7";function QS(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}var xQt=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function fH(t,e,r){let n=r&&r.Blob||ws.classes.Blob,s=QS(t);if(e===void 0&&n&&(e=!0),s==="data"){t=s.length?t.slice(s.length+1):t;let i=xQt.exec(t);if(!i)throw new Xe("Invalid URL",Xe.ERR_INVALID_URL);let a=i[1],o=i[2],c=i[3],u=Buffer.from(decodeURIComponent(c),o?"base64":"utf8");if(e){if(!n)throw new Xe("Blob is not supported",Xe.ERR_NOT_SUPPORT);return new n([u],{type:a})}return u}throw new Xe("Unsupported protocol "+s,Xe.ERR_NOT_SUPPORT)}var yh=Re(require("stream"),1);var zNe=Re(require("stream"),1);function bQt(t,e){let r=0,n=1e3/e,s=null;return function(a,o){let c=Date.now();if(a||c-r>n)return s&&(clearTimeout(s),s=null),r=c,t.apply(null,o);s||(s=setTimeout(()=>(s=null,r=Date.now(),t.apply(null,o)),n-(c-r)))}}var VNe=bQt;function EQt(t,e){t=t||10;let r=new Array(t),n=new Array(t),s=0,i=0,a;return e=e!==void 0?e:1e3,function(c){let u=Date.now(),l=n[i];a||(a=u),r[s]=c,n[s]=u;let d=i,f=0;for(;d!==s;)f+=r[d++],d=d%t;if(s=(s+1)%t,s===i&&(i=(i+1)%t),u-a<e)return;let p=l&&u-l;return p?Math.round(f*1e3/p):void 0}}var S3=EQt;var v3=Symbol("internals"),pH=class extends zNe.default.Transform{constructor(e){e=le.toFlatObject(e,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(o,c)=>!le.isUndefined(c[o])),super({readableHighWaterMark:e.chunkSize});let r=this,n=this[v3]={length:e.length,timeWindow:e.timeWindow,ticksRate:e.ticksRate,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null},s=S3(n.ticksRate*e.samplesCount,n.timeWindow);this.on("newListener",o=>{o==="progress"&&(n.isCaptured||(n.isCaptured=!0))});let i=0;n.updateProgress=VNe(function(){let c=n.length,u=n.bytesSeen,l=u-i;if(!l||r.destroyed)return;let d=s(l);i=u,process.nextTick(()=>{r.emit("progress",{loaded:u,total:c,progress:c?u/c:void 0,bytes:l,rate:d||void 0,estimated:d&&c&&u<=c?(c-u)/d:void 0})})},n.ticksRate);let a=()=>{n.updateProgress(!0)};this.once("end",a),this.once("error",a)}_read(e){let r=this[v3];return r.onReadCallback&&r.onReadCallback(),super._read(e)}_transform(e,r,n){let s=this,i=this[v3],a=i.maxRate,o=this.readableHighWaterMark,c=i.timeWindow,u=1e3/c,l=a/u,d=i.minChunkSize!==!1?Math.max(i.minChunkSize,l*.01):0;function f(m,h){let A=Buffer.byteLength(m);i.bytesSeen+=A,i.bytes+=A,i.isCaptured&&i.updateProgress(),s.push(m)?process.nextTick(h):i.onReadCallback=()=>{i.onReadCallback=null,process.nextTick(h)}}let p=(m,h)=>{let A=Buffer.byteLength(m),g=null,b=o,y,x=0;if(a){let v=Date.now();(!i.ts||(x=v-i.ts)>=c)&&(i.ts=v,y=l-i.bytes,i.bytes=y<0?-y:0,x=0),y=l-i.bytes}if(a){if(y<=0)return setTimeout(()=>{h(null,m)},c-x);y<b&&(b=y)}b&&A>b&&A-b>d&&(g=m.subarray(b),m=m.subarray(0,b)),f(m,g?()=>{process.nextTick(h,null,g)}:h)};p(e,function m(h,A){if(h)return n(h);A?p(A,m):n(null)})}setLength(e){return this[v3].length=+e,this}},mH=pH;var dOe=Re(require("events"),1);var YNe=require("util"),JNe=require("stream");var{asyncIterator:KNe}=Symbol,_Qt=async function*(t){t.stream?yield*t.stream():t.arrayBuffer?yield await t.arrayBuffer():t[KNe]?yield*t[KNe]():yield t},C3=_Qt;var SQt=le.ALPHABET.ALPHA_DIGIT+"-_",GS=new YNe.TextEncoder,Xp=`\r
`,vQt=GS.encode(Xp),CQt=2,hH=class{constructor(e,r){let{escapeName:n}=this.constructor,s=le.isString(r),i=`Content-Disposition: form-data; name="${n(e)}"${!s&&r.name?`; filename="${n(r.name)}"`:""}${Xp}`;s?r=GS.encode(String(r).replace(/\r?\n|\r\n?/g,Xp)):i+=`Content-Type: ${r.type||"application/octet-stream"}${Xp}`,this.headers=GS.encode(i+Xp),this.contentLength=s?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+CQt,this.name=e,this.value=r}async*encode(){yield this.headers;let{value:e}=this;le.isTypedArray(e)?yield e:yield*C3(e),yield vQt}static escapeName(e){return String(e).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},IQt=(t,e,r)=>{let{tag:n="form-data-boundary",size:s=25,boundary:i=n+"-"+le.generateString(s,SQt)}=r||{};if(!le.isFormData(t))throw TypeError("FormData instance required");if(i.length<1||i.length>70)throw Error("boundary must be 10-70 characters long");let a=GS.encode("--"+i+Xp),o=GS.encode("--"+i+"--"+Xp+Xp),c=o.byteLength,u=Array.from(t.entries()).map(([d,f])=>{let p=new hH(d,f);return c+=p.size,p});c+=a.byteLength*u.length,c=le.toFiniteNumber(c);let l={"Content-Type":`multipart/form-data; boundary=${i}`};return Number.isFinite(c)&&(l["Content-Length"]=c),e&&e(l),JNe.Readable.from(async function*(){for(let d of u)yield a,yield*d.encode();yield o}())},XNe=IQt;var ZNe=Re(require("stream"),1),gH=class extends ZNe.default.Transform{__transform(e,r,n){this.push(e),n()}_transform(e,r,n){if(e.length!==0&&(this._transform=this.__transform,e[0]!==120)){let s=Buffer.alloc(2);s[0]=120,s[1]=156,this.push(s,r)}this.__transform(e,r,n)}},eOe=gH;var TQt=(t,e)=>le.isAsyncFn(t)?function(...r){let n=r.pop();t.apply(this,r).then(s=>{try{e?n(null,...e(s)):n(null,s)}catch(i){n(i)}},n)}:t,tOe=TQt;var rOe={flush:Bd.default.constants.Z_SYNC_FLUSH,finishFlush:Bd.default.constants.Z_SYNC_FLUSH},wQt={flush:Bd.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:Bd.default.constants.BROTLI_OPERATION_FLUSH},nOe=le.isFunction(Bd.default.createBrotliDecompress),{http:RQt,https:NQt}=lOe.default,OQt=/https:?/,sOe=ws.protocols.map(t=>t+":");function PQt(t,e){t.beforeRedirects.proxy&&t.beforeRedirects.proxy(t),t.beforeRedirects.config&&t.beforeRedirects.config(t,e)}function fOe(t,e,r){let n=e;if(!n&&n!==!1){let s=(0,aOe.getProxyForUrl)(r);s&&(n=new URL(s))}if(n){if(n.username&&(n.auth=(n.username||"")+":"+(n.password||"")),n.auth){(n.auth.username||n.auth.password)&&(n.auth=(n.auth.username||"")+":"+(n.auth.password||""));let i=Buffer.from(n.auth,"utf8").toString("base64");t.headers["Proxy-Authorization"]="Basic "+i}t.headers.host=t.hostname+(t.port?":"+t.port:"");let s=n.hostname||n.host;t.hostname=s,t.host=s,t.port=n.port,t.path=r,n.protocol&&(t.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}t.beforeRedirects.proxy=function(i){fOe(i,e,i.href)}}var DQt=typeof process<"u"&&le.kindOf(process)==="process",kQt=t=>new Promise((e,r)=>{let n,s,i=(c,u)=>{s||(s=!0,n&&n(c,u))},a=c=>{i(c),e(c)},o=c=>{i(c,!0),r(c)};t(a,o,c=>n=c).catch(o)}),LQt=({address:t,family:e})=>{if(!le.isString(t))throw TypeError("address must be a string");return{address:t,family:e||(t.indexOf(".")<0?6:4)}},iOe=(t,e)=>LQt(le.isObject(t)?t:{address:t,family:e}),pOe=DQt&&function(e){return kQt(async function(n,s,i){let{data:a,lookup:o,family:c}=e,{responseType:u,responseEncoding:l}=e,d=e.method.toUpperCase(),f,p=!1,m;if(o){let F=tOe(o,V=>le.isArray(V)?V:[V]);o=(V,j,J)=>{F(V,j,(se,oe,ue)=>{if(se)return J(se);let Ce=le.isArray(oe)?oe.map(we=>iOe(we)):[iOe(oe,ue)];j.all?J(se,Ce):J(se,Ce[0].address,Ce[0].family)})}}let h=new dOe.default,A=()=>{e.cancelToken&&e.cancelToken.unsubscribe(g),e.signal&&e.signal.removeEventListener("abort",g),h.removeAllListeners()};i((F,V)=>{f=!0,V&&(p=!0,A())});function g(F){h.emit("abort",!F||F.type?new ru(null,e,m):F)}h.once("abort",s),(e.cancelToken||e.signal)&&(e.cancelToken&&e.cancelToken.subscribe(g),e.signal&&(e.signal.aborted?g():e.signal.addEventListener("abort",g)));let b=ph(e.baseURL,e.url),y=new URL(b,"http://localhost"),x=y.protocol||sOe[0];if(x==="data:"){let F;if(d!=="GET")return Yp(n,s,{status:405,statusText:"method not allowed",headers:{},config:e});try{F=fH(e.url,u==="blob",{Blob:e.env&&e.env.Blob})}catch(V){throw Xe.from(V,Xe.ERR_BAD_REQUEST,e)}return u==="text"?(F=F.toString(l),(!l||l==="utf8")&&(F=le.stripBOM(F))):u==="stream"&&(F=yh.default.Readable.from(F)),Yp(n,s,{data:F,status:200,statusText:"OK",headers:new Rs,config:e})}if(sOe.indexOf(x)===-1)return s(new Xe("Unsupported protocol "+x,Xe.ERR_BAD_REQUEST,e));let v=Rs.from(e.headers).normalize();v.set("User-Agent","axios/"+Ah,!1);let C=e.onDownloadProgress,R=e.onUploadProgress,w=e.maxRate,N,P;if(le.isSpecCompliantForm(a)){let F=v.getContentType(/boundary=([-_\w\d]{10,70})/i);a=XNe(a,V=>{v.set(V)},{tag:`axios-${Ah}-boundary`,boundary:F&&F[1]||void 0})}else if(le.isFormData(a)&&le.isFunction(a.getHeaders)){if(v.set(a.getHeaders()),!v.hasContentLength())try{let F=await uOe.default.promisify(a.getLength).call(a);Number.isFinite(F)&&F>=0&&v.setContentLength(F)}catch{}}else if(le.isBlob(a))a.size&&v.setContentType(a.type||"application/octet-stream"),v.setContentLength(a.size||0),a=yh.default.Readable.from(C3(a));else if(a&&!le.isStream(a)){if(!Buffer.isBuffer(a))if(le.isArrayBuffer(a))a=Buffer.from(new Uint8Array(a));else if(le.isString(a))a=Buffer.from(a,"utf-8");else return s(new Xe("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",Xe.ERR_BAD_REQUEST,e));if(v.setContentLength(a.length,!1),e.maxBodyLength>-1&&a.length>e.maxBodyLength)return s(new Xe("Request body larger than maxBodyLength limit",Xe.ERR_BAD_REQUEST,e))}let L=le.toFiniteNumber(v.getContentLength());le.isArray(w)?(N=w[0],P=w[1]):N=P=w,a&&(R||N)&&(le.isStream(a)||(a=yh.default.Readable.from(a,{objectMode:!1})),a=yh.default.pipeline([a,new mH({length:L,maxRate:le.toFiniteNumber(N)})],le.noop),R&&a.on("progress",F=>{R(Object.assign(F,{upload:!0}))}));let M;if(e.auth){let F=e.auth.username||"",V=e.auth.password||"";M=F+":"+V}if(!M&&y.username){let F=y.username,V=y.password;M=F+":"+V}M&&v.delete("authorization");let k;try{k=fh(y.pathname+y.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(F){let V=new Error(F.message);return V.config=e,V.url=e.url,V.exists=!0,s(V)}v.set("Accept-Encoding","gzip, compress, deflate"+(nOe?", br":""),!1);let B={path:k,method:d,headers:v.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:M,protocol:x,family:c,beforeRedirect:PQt,beforeRedirects:{}};!le.isUndefined(o)&&(B.lookup=o),e.socketPath?B.socketPath=e.socketPath:(B.hostname=y.hostname,B.port=y.port,fOe(B,e.proxy,x+"//"+y.hostname+(y.port?":"+y.port:"")+B.path));let Z,W=OQt.test(B.protocol);if(B.agent=W?e.httpsAgent:e.httpAgent,e.transport?Z=e.transport:e.maxRedirects===0?Z=W?cOe.default:oOe.default:(e.maxRedirects&&(B.maxRedirects=e.maxRedirects),e.beforeRedirect&&(B.beforeRedirects.config=e.beforeRedirect),Z=W?NQt:RQt),e.maxBodyLength>-1?B.maxBodyLength=e.maxBodyLength:B.maxBodyLength=1/0,e.insecureHTTPParser&&(B.insecureHTTPParser=e.insecureHTTPParser),m=Z.request(B,function(V){if(m.destroyed)return;let j=[V],J=+V.headers["content-length"];if(C){let we=new mH({length:le.toFiniteNumber(J),maxRate:le.toFiniteNumber(P)});C&&we.on("progress",qe=>{C(Object.assign(qe,{download:!0}))}),j.push(we)}let se=V,oe=V.req||m;if(e.decompress!==!1&&V.headers["content-encoding"])switch((d==="HEAD"||V.statusCode===204)&&delete V.headers["content-encoding"],(V.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":j.push(Bd.default.createUnzip(rOe)),delete V.headers["content-encoding"];break;case"deflate":j.push(new eOe),j.push(Bd.default.createUnzip(rOe)),delete V.headers["content-encoding"];break;case"br":nOe&&(j.push(Bd.default.createBrotliDecompress(wQt)),delete V.headers["content-encoding"])}se=j.length>1?yh.default.pipeline(j,le.noop):j[0];let ue=yh.default.finished(se,()=>{ue(),A()}),Ce={status:V.statusCode,statusText:V.statusMessage,headers:new Rs(V.headers),config:e,request:oe};if(u==="stream")Ce.data=se,Yp(n,s,Ce);else{let we=[],qe=0;se.on("data",function(_e){we.push(_e),qe+=_e.length,e.maxContentLength>-1&&qe>e.maxContentLength&&(p=!0,se.destroy(),s(new Xe("maxContentLength size of "+e.maxContentLength+" exceeded",Xe.ERR_BAD_RESPONSE,e,oe)))}),se.on("aborted",function(){if(p)return;let _e=new Xe("maxContentLength size of "+e.maxContentLength+" exceeded",Xe.ERR_BAD_RESPONSE,e,oe);se.destroy(_e),s(_e)}),se.on("error",function(_e){m.destroyed||s(Xe.from(_e,null,e,oe))}),se.on("end",function(){try{let _e=we.length===1?we[0]:Buffer.concat(we);u!=="arraybuffer"&&(_e=_e.toString(l),(!l||l==="utf8")&&(_e=le.stripBOM(_e))),Ce.data=_e}catch(_e){return s(Xe.from(_e,null,e,Ce.request,Ce))}Yp(n,s,Ce)})}h.once("abort",we=>{se.destroyed||(se.emit("error",we),se.destroy())})}),h.once("abort",F=>{s(F),m.destroy(F)}),m.on("error",function(V){s(Xe.from(V,null,e,m))}),m.on("socket",function(V){V.setKeepAlive(!0,1e3*60)}),e.timeout){let F=parseInt(e.timeout,10);if(Number.isNaN(F)){s(new Xe("error trying to parse `config.timeout` to int",Xe.ERR_BAD_OPTION_VALUE,e,m));return}m.setTimeout(F,function(){if(f)return;let j=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",J=e.transitional||lx;e.timeoutErrorMessage&&(j=e.timeoutErrorMessage),s(new Xe(j,J.clarifyTimeoutError?Xe.ETIMEDOUT:Xe.ECONNABORTED,e,m)),g()})}if(le.isStream(a)){let F=!1,V=!1;a.on("end",()=>{F=!0}),a.once("error",j=>{V=!0,m.destroy(j)}),a.on("close",()=>{!F&&!V&&g(new ru("Request stream has been aborted",e,m))}),a.pipe(m)}else m.end(a)})};var mOe=ws.hasStandardBrowserEnv?{write(t,e,r,n,s,i){let a=[t+"="+encodeURIComponent(e)];le.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),le.isString(n)&&a.push("path="+n),le.isString(s)&&a.push("domain="+s),i===!0&&a.push("secure"),document.cookie=a.join("; ")},read(t){let e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var hOe=ws.hasStandardBrowserEnv?function(){let e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function s(i){let a=i;return e&&(r.setAttribute("href",a),a=r.href),r.setAttribute("href",a),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=s(window.location.href),function(a){let o=le.isString(a)?s(a):a;return o.protocol===n.protocol&&o.host===n.host}}():function(){return function(){return!0}}();function gOe(t,e){let r=0,n=S3(50,250);return s=>{let i=s.loaded,a=s.lengthComputable?s.total:void 0,o=i-r,c=n(o),u=i<=a;r=i;let l={loaded:i,total:a,progress:a?i/a:void 0,bytes:o,rate:c||void 0,estimated:c&&a&&u?(a-i)/c:void 0,event:s};l[e?"download":"upload"]=!0,t(l)}}var BQt=typeof XMLHttpRequest<"u",AOe=BQt&&function(t){return new Promise(function(r,n){let s=t.data,i=Rs.from(t.headers).normalize(),{responseType:a,withXSRFToken:o}=t,c;function u(){t.cancelToken&&t.cancelToken.unsubscribe(c),t.signal&&t.signal.removeEventListener("abort",c)}let l;if(le.isFormData(s)){if(ws.hasStandardBrowserEnv||ws.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if((l=i.getContentType())!==!1){let[h,...A]=l?l.split(";").map(g=>g.trim()).filter(Boolean):[];i.setContentType([h||"multipart/form-data",...A].join("; "))}}let d=new XMLHttpRequest;if(t.auth){let h=t.auth.username||"",A=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";i.set("Authorization","Basic "+btoa(h+":"+A))}let f=ph(t.baseURL,t.url);d.open(t.method.toUpperCase(),fh(f,t.params,t.paramsSerializer),!0),d.timeout=t.timeout;function p(){if(!d)return;let h=Rs.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),g={data:!a||a==="text"||a==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:h,config:t,request:d};Yp(function(y){r(y),u()},function(y){n(y),u()},g),d=null}if("onloadend"in d?d.onloadend=p:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(p)},d.onabort=function(){d&&(n(new Xe("Request aborted",Xe.ECONNABORTED,t,d)),d=null)},d.onerror=function(){n(new Xe("Network Error",Xe.ERR_NETWORK,t,d)),d=null},d.ontimeout=function(){let A=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",g=t.transitional||lx;t.timeoutErrorMessage&&(A=t.timeoutErrorMessage),n(new Xe(A,g.clarifyTimeoutError?Xe.ETIMEDOUT:Xe.ECONNABORTED,t,d)),d=null},ws.hasStandardBrowserEnv&&(o&&le.isFunction(o)&&(o=o(t)),o||o!==!1&&hOe(f))){let h=t.xsrfHeaderName&&t.xsrfCookieName&&mOe.read(t.xsrfCookieName);h&&i.set(t.xsrfHeaderName,h)}s===void 0&&i.setContentType(null),"setRequestHeader"in d&&le.forEach(i.toJSON(),function(A,g){d.setRequestHeader(g,A)}),le.isUndefined(t.withCredentials)||(d.withCredentials=!!t.withCredentials),a&&a!=="json"&&(d.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&d.addEventListener("progress",gOe(t.onDownloadProgress,!0)),typeof t.onUploadProgress=="function"&&d.upload&&d.upload.addEventListener("progress",gOe(t.onUploadProgress)),(t.cancelToken||t.signal)&&(c=h=>{d&&(n(!h||h.type?new ru(null,t,d):h),d.abort(),d=null)},t.cancelToken&&t.cancelToken.subscribe(c),t.signal&&(t.signal.aborted?c():t.signal.addEventListener("abort",c)));let m=QS(f);if(m&&ws.protocols.indexOf(m)===-1){n(new Xe("Unsupported protocol "+m+":",Xe.ERR_BAD_REQUEST,t));return}d.send(s||null)})};var AH={http:pOe,xhr:AOe};le.forEach(AH,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});var yOe=t=>`- ${t}`,MQt=t=>le.isFunction(t)||t===null||t===!1,I3={getAdapter:t=>{t=le.isArray(t)?t:[t];let{length:e}=t,r,n,s={};for(let i=0;i<e;i++){r=t[i];let a;if(n=r,!MQt(r)&&(n=AH[(a=String(r)).toLowerCase()],n===void 0))throw new Xe(`Unknown adapter '${a}'`);if(n)break;s[a||"#"+i]=n}if(!n){let i=Object.entries(s).map(([o,c])=>`adapter ${o} `+(c===!1?"is not supported by the environment":"is not available in the build")),a=e?i.length>1?`since :
`+i.map(yOe).join(`
`):" "+yOe(i[0]):"as no adapter specified";throw new Xe("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n},adapters:AH};function yH(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new ru(null,t)}function T3(t){return yH(t),t.headers=Rs.from(t.headers),t.data=$S.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),I3.getAdapter(t.adapter||dx.adapter)(t).then(function(n){return yH(t),n.data=$S.call(t,t.transformResponse,n),n.headers=Rs.from(n.headers),n},function(n){return FS(n)||(yH(t),n&&n.response&&(n.response.data=$S.call(t,t.transformResponse,n.response),n.response.headers=Rs.from(n.response.headers))),Promise.reject(n)})}var xOe=t=>t instanceof Rs?t.toJSON():t;function Md(t,e){e=e||{};let r={};function n(u,l,d){return le.isPlainObject(u)&&le.isPlainObject(l)?le.merge.call({caseless:d},u,l):le.isPlainObject(l)?le.merge({},l):le.isArray(l)?l.slice():l}function s(u,l,d){if(le.isUndefined(l)){if(!le.isUndefined(u))return n(void 0,u,d)}else return n(u,l,d)}function i(u,l){if(!le.isUndefined(l))return n(void 0,l)}function a(u,l){if(le.isUndefined(l)){if(!le.isUndefined(u))return n(void 0,u)}else return n(void 0,l)}function o(u,l,d){if(d in e)return n(u,l);if(d in t)return n(void 0,u)}let c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:o,headers:(u,l)=>s(xOe(u),xOe(l),!0)};return le.forEach(Object.keys(Object.assign({},t,e)),function(l){let d=c[l]||s,f=d(t[l],e[l],l);le.isUndefined(f)&&d!==o||(r[l]=f)}),r}var xH={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{xH[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});var bOe={};xH.transitional=function(e,r,n){function s(i,a){return"[Axios v"+Ah+"] Transitional option '"+i+"'"+a+(n?". "+n:"")}return(i,a,o)=>{if(e===!1)throw new Xe(s(a," has been removed"+(r?" in "+r:"")),Xe.ERR_DEPRECATED);return r&&!bOe[a]&&(bOe[a]=!0,console.warn(s(a," has been deprecated since v"+r+" and will be removed in the near future"))),e?e(i,a,o):!0}};function WQt(t,e,r){if(typeof t!="object")throw new Xe("options must be an object",Xe.ERR_BAD_OPTION_VALUE);let n=Object.keys(t),s=n.length;for(;s-- >0;){let i=n[s],a=e[i];if(a){let o=t[i],c=o===void 0||a(o,i,t);if(c!==!0)throw new Xe("option "+i+" must be "+c,Xe.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new Xe("Unknown option "+i,Xe.ERR_BAD_OPTION)}}var w3={assertOptions:WQt,validators:xH};var Zp=w3.validators,Ax=class{constructor(e){this.defaults=e,this.interceptors={request:new jj,response:new jj}}async request(e,r){try{return await this._request(e,r)}catch(n){if(n instanceof Error){let s;Error.captureStackTrace?Error.captureStackTrace(s={}):s=new Error;let i=s.stack?s.stack.replace(/^.+\n/,""):"";n.stack?i&&!String(n.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(n.stack+=`
`+i):n.stack=i}throw n}}_request(e,r){typeof e=="string"?(r=r||{},r.url=e):r=e||{},r=Md(this.defaults,r);let{transitional:n,paramsSerializer:s,headers:i}=r;n!==void 0&&w3.assertOptions(n,{silentJSONParsing:Zp.transitional(Zp.boolean),forcedJSONParsing:Zp.transitional(Zp.boolean),clarifyTimeoutError:Zp.transitional(Zp.boolean)},!1),s!=null&&(le.isFunction(s)?r.paramsSerializer={serialize:s}:w3.assertOptions(s,{encode:Zp.function,serialize:Zp.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let a=i&&le.merge(i.common,i[r.method]);i&&le.forEach(["delete","get","head","post","put","patch","common"],m=>{delete i[m]}),r.headers=Rs.concat(a,i);let o=[],c=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(r)===!1||(c=c&&h.synchronous,o.unshift(h.fulfilled,h.rejected))});let u=[];this.interceptors.response.forEach(function(h){u.push(h.fulfilled,h.rejected)});let l,d=0,f;if(!c){let m=[T3.bind(this),void 0];for(m.unshift.apply(m,o),m.push.apply(m,u),f=m.length,l=Promise.resolve(r);d<f;)l=l.then(m[d++],m[d++]);return l}f=o.length;let p=r;for(d=0;d<f;){let m=o[d++],h=o[d++];try{p=m(p)}catch(A){h.call(this,A);break}}try{l=T3.call(this,p)}catch(m){return Promise.reject(m)}for(d=0,f=u.length;d<f;)l=l.then(u[d++],u[d++]);return l}getUri(e){e=Md(this.defaults,e);let r=ph(e.baseURL,e.url);return fh(r,e.params,e.paramsSerializer)}};le.forEach(["delete","get","head","options"],function(e){Ax.prototype[e]=function(r,n){return this.request(Md(n||{},{method:e,url:r,data:(n||{}).data}))}});le.forEach(["post","put","patch"],function(e){function r(n){return function(i,a,o){return this.request(Md(o||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}Ax.prototype[e]=r(),Ax.prototype[e+"Form"]=r(!0)});var VS=Ax;var bH=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(i){r=i});let n=this;this.promise.then(s=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](s);n._listeners=null}),this.promise.then=s=>{let i,a=new Promise(o=>{n.subscribe(o),i=o}).then(s);return a.cancel=function(){n.unsubscribe(i)},a},e(function(i,a,o){n.reason||(n.reason=new ru(i,a,o),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let r=this._listeners.indexOf(e);r!==-1&&this._listeners.splice(r,1)}static source(){let e;return{token:new t(function(s){e=s}),cancel:e}}},EOe=bH;function EH(t){return function(r){return t.apply(null,r)}}function _H(t){return le.isObject(t)&&t.isAxiosError===!0}var SH={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(SH).forEach(([t,e])=>{SH[e]=t});var _Oe=SH;function SOe(t){let e=new VS(t),r=NS(VS.prototype.request,e);return le.extend(r,VS.prototype,e,{allOwnKeys:!0}),le.extend(r,e,null,{allOwnKeys:!0}),r.create=function(s){return SOe(Md(t,s))},r}var bs=SOe(dx);bs.Axios=VS;bs.CanceledError=ru;bs.CancelToken=EOe;bs.isCancel=FS;bs.VERSION=Ah;bs.toFormData=Kp;bs.AxiosError=Xe;bs.Cancel=bs.CanceledError;bs.all=function(e){return Promise.all(e)};bs.spread=EH;bs.isAxiosError=_H;bs.mergeConfig=Md;bs.AxiosHeaders=Rs;bs.formToJSON=t=>A3(le.isHTMLForm(t)?new FormData(t):t);bs.getAdapter=I3.getAdapter;bs.HttpStatusCode=_Oe;bs.default=bs;var Ae=bs;var{Axios:aWr,AxiosError:oWr,CanceledError:cWr,isCancel:uWr,CancelToken:lWr,VERSION:dWr,all:fWr,Cancel:pWr,isAxiosError:mWr,spread:hWr,toFormData:gWr,AxiosHeaders:AWr,HttpStatusCode:yWr,formToJSON:xWr,getAdapter:bWr,mergeConfig:EWr}=Ae;var vOe=Re(require("https"),1),COe=Re(require("http"),1),$Qt=Number.parseInt(process.env.CATPAW_REQ_TIMEOUT_MS||"20000",10)||2e4,FQt=Ae.create({timeout:$Qt,httpsAgent:new vOe.default.Agent({keepAlive:!1,rejectUnauthorized:!1,maxCachedSessions:0}),httpAgent:new COe.default.Agent({keepAlive:!1}),proxy:!1}),he=FQt;var Sv={};is(Sv,{contains:()=>sJt,default:()=>nJt,html:()=>BH,load:()=>Me,merge:()=>iJt,parseHTML:()=>aJt,root:()=>oJt,text:()=>Ud,xml:()=>MH});var UQt={xml:!1,decodeEntities:!0},zS=UQt,IOe={_useHtmlParser2:!0,xmlMode:!0};function KS(t){return t?.xml?typeof t.xml=="boolean"?IOe:{...IOe,...t.xml}:t??void 0}var n0={};is(n0,{contains:()=>WH,html:()=>BH,merge:()=>PGt,parseHTML:()=>NGt,root:()=>OGt,text:()=>Ud,xml:()=>MH});var r0={};is(r0,{DocumentPosition:()=>fc,append:()=>fGt,appendChild:()=>dGt,compareDocumentPosition:()=>ePe,existsOne:()=>XOe,filter:()=>_x,find:()=>U3,findAll:()=>gGt,findOne:()=>q3,findOneChild:()=>hGt,getAttributeValue:()=>oGt,getChildren:()=>Ex,getElementById:()=>bGt,getElements:()=>xGt,getElementsByClassName:()=>EGt,getElementsByTagName:()=>Sh,getElementsByTagType:()=>_Gt,getFeed:()=>LH,getInnerHTML:()=>aGt,getName:()=>uGt,getOuterHTML:()=>YOe,getParent:()=>JOe,getSiblings:()=>DH,getText:()=>W3,hasAttrib:()=>cGt,hasChildren:()=>rn,innerText:()=>rv,isCDATA:()=>yx,isComment:()=>_h,isDocument:()=>nu,isTag:()=>st,isText:()=>za,nextElementSibling:()=>$3,prepend:()=>mGt,prependChild:()=>pGt,prevElementSibling:()=>F3,removeElement:()=>Fd,removeSubsets:()=>SGt,replaceElement:()=>lGt,testElement:()=>yGt,textContent:()=>$d,uniqueSort:()=>e0});var wr;(function(t){t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"})(wr||(wr={}));function TOe(t){return t.type===wr.Tag||t.type===wr.Script||t.type===wr.Style}var wOe=wr.Root,ROe=wr.Text,NOe=wr.Directive,OOe=wr.Comment,POe=wr.Script,DOe=wr.Style,kOe=wr.Tag,LOe=wr.CDATA,BOe=wr.Doctype;var R3=class{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(e){this.parent=e}get previousSibling(){return this.prev}set previousSibling(e){this.prev=e}get nextSibling(){return this.next}set nextSibling(e){this.next=e}cloneNode(e=!1){return ZS(this,e)}},YS=class extends R3{constructor(e){super(),this.data=e}get nodeValue(){return this.data}set nodeValue(e){this.data=e}},ll=class extends YS{constructor(){super(...arguments),this.type=wr.Text}get nodeType(){return 3}},xh=class extends YS{constructor(){super(...arguments),this.type=wr.Comment}get nodeType(){return 8}},bh=class extends YS{constructor(e,r){super(r),this.name=e,this.type=wr.Directive}get nodeType(){return 1}},JS=class extends R3{constructor(e){super(),this.children=e}get firstChild(){var e;return(e=this.children[0])!==null&&e!==void 0?e:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}},XS=class extends JS{constructor(){super(...arguments),this.type=wr.CDATA}get nodeType(){return 4}},Eo=class extends JS{constructor(){super(...arguments),this.type=wr.Root}get nodeType(){return 9}},Eh=class extends JS{constructor(e,r,n=[],s=e==="script"?wr.Script:e==="style"?wr.Style:wr.Tag){super(n),this.name=e,this.attribs=r,this.type=s}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map(e=>{var r,n;return{name:e,value:this.attribs[e],namespace:(r=this["x-attribsNamespace"])===null||r===void 0?void 0:r[e],prefix:(n=this["x-attribsPrefix"])===null||n===void 0?void 0:n[e]}})}};function st(t){return TOe(t)}function yx(t){return t.type===wr.CDATA}function za(t){return t.type===wr.Text}function _h(t){return t.type===wr.Comment}function N3(t){return t.type===wr.Directive}function nu(t){return t.type===wr.Root}function rn(t){return Object.prototype.hasOwnProperty.call(t,"children")}function ZS(t,e=!1){let r;if(za(t))r=new ll(t.data);else if(_h(t))r=new xh(t.data);else if(st(t)){let n=e?vH(t.children):[],s=new Eh(t.name,{...t.attribs},n);n.forEach(i=>i.parent=s),t.namespace!=null&&(s.namespace=t.namespace),t["x-attribsNamespace"]&&(s["x-attribsNamespace"]={...t["x-attribsNamespace"]}),t["x-attribsPrefix"]&&(s["x-attribsPrefix"]={...t["x-attribsPrefix"]}),r=s}else if(yx(t)){let n=e?vH(t.children):[],s=new XS(n);n.forEach(i=>i.parent=s),r=s}else if(nu(t)){let n=e?vH(t.children):[],s=new Eo(n);n.forEach(i=>i.parent=s),t["x-mode"]&&(s["x-mode"]=t["x-mode"]),r=s}else if(N3(t)){let n=new bh(t.name,t.data);t["x-name"]!=null&&(n["x-name"]=t["x-name"],n["x-publicId"]=t["x-publicId"],n["x-systemId"]=t["x-systemId"]),r=n}else throw new Error(`Not implemented yet: ${t.type}`);return r.startIndex=t.startIndex,r.endIndex=t.endIndex,t.sourceCodeLocation!=null&&(r.sourceCodeLocation=t.sourceCodeLocation),r}function vH(t){let e=t.map(r=>ZS(r,!0));for(let r=1;r<e.length;r++)e[r].prev=e[r-1],e[r-1].next=e[r];return e}var WOe={withStartIndices:!1,withEndIndices:!1,xmlMode:!1},xx=class{constructor(e,r,n){this.dom=[],this.root=new Eo(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,typeof r=="function"&&(n=r,r=WOe),typeof e=="object"&&(r=e,e=void 0),this.callback=e??null,this.options=r??WOe,this.elementCB=n??null}onparserinit(e){this.parser=e}onreset(){this.dom=[],this.root=new Eo(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null}onend(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))}onerror(e){this.handleCallback(e)}onclosetag(){this.lastNode=null;let e=this.tagStack.pop();this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(e)}onopentag(e,r){let n=this.options.xmlMode?wr.Tag:void 0,s=new Eh(e,r,void 0,n);this.addNode(s),this.tagStack.push(s)}ontext(e){let{lastNode:r}=this;if(r&&r.type===wr.Text)r.data+=e,this.options.withEndIndices&&(r.endIndex=this.parser.endIndex);else{let n=new ll(e);this.addNode(n),this.lastNode=n}}oncomment(e){if(this.lastNode&&this.lastNode.type===wr.Comment){this.lastNode.data+=e;return}let r=new xh(e);this.addNode(r),this.lastNode=r}oncommentend(){this.lastNode=null}oncdatastart(){let e=new ll(""),r=new XS([e]);this.addNode(r),e.parent=r,this.lastNode=e}oncdataend(){this.lastNode=null}onprocessinginstruction(e,r){let n=new bh(e,r);this.addNode(n)}handleCallback(e){if(typeof this.callback=="function")this.callback(e,this.dom);else if(e)throw e}addNode(e){let r=this.tagStack[this.tagStack.length-1],n=r.children[r.children.length-1];this.options.withStartIndices&&(e.startIndex=this.parser.startIndex),this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),r.children.push(e),n&&(e.prev=n,n.next=e),e.parent=r,this.lastNode=null}};var O3=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(t=>t.charCodeAt(0)));var P3=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(t=>t.charCodeAt(0)));var CH,qQt=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]]),bx=(CH=String.fromCodePoint)!==null&&CH!==void 0?CH:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|t&1023),e+=String.fromCharCode(t),e};function ev(t){var e;return t>=55296&&t<=57343||t>1114111?65533:(e=qQt.get(t))!==null&&e!==void 0?e:t}var Js;(function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",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.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"})(Js||(Js={}));var jQt=32,dc;(function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"})(dc||(dc={}));function IH(t){return t>=Js.ZERO&&t<=Js.NINE}function HQt(t){return t>=Js.UPPER_A&&t<=Js.UPPER_F||t>=Js.LOWER_A&&t<=Js.LOWER_F}function QQt(t){return t>=Js.UPPER_A&&t<=Js.UPPER_Z||t>=Js.LOWER_A&&t<=Js.LOWER_Z||IH(t)}function GQt(t){return t===Js.EQUALS||QQt(t)}var Ys;(function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"})(Ys||(Ys={}));var Wd;(function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"})(Wd||(Wd={}));var D3=class{constructor(e,r,n){this.decodeTree=e,this.emitCodePoint=r,this.errors=n,this.state=Ys.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Wd.Strict}startEntity(e){this.decodeMode=e,this.state=Ys.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,r){switch(this.state){case Ys.EntityStart:return e.charCodeAt(r)===Js.NUM?(this.state=Ys.NumericStart,this.consumed+=1,this.stateNumericStart(e,r+1)):(this.state=Ys.NamedEntity,this.stateNamedEntity(e,r));case Ys.NumericStart:return this.stateNumericStart(e,r);case Ys.NumericDecimal:return this.stateNumericDecimal(e,r);case Ys.NumericHex:return this.stateNumericHex(e,r);case Ys.NamedEntity:return this.stateNamedEntity(e,r)}}stateNumericStart(e,r){return r>=e.length?-1:(e.charCodeAt(r)|jQt)===Js.LOWER_X?(this.state=Ys.NumericHex,this.consumed+=1,this.stateNumericHex(e,r+1)):(this.state=Ys.NumericDecimal,this.stateNumericDecimal(e,r))}addToNumericResult(e,r,n,s){if(r!==n){let i=n-r;this.result=this.result*Math.pow(s,i)+parseInt(e.substr(r,i),s),this.consumed+=i}}stateNumericHex(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(IH(s)||HQt(s))r+=1;else return this.addToNumericResult(e,n,r,16),this.emitNumericEntity(s,3)}return this.addToNumericResult(e,n,r,16),-1}stateNumericDecimal(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(IH(s))r+=1;else return this.addToNumericResult(e,n,r,10),this.emitNumericEntity(s,2)}return this.addToNumericResult(e,n,r,10),-1}emitNumericEntity(e,r){var n;if(this.consumed<=r)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===Js.SEMI)this.consumed+=1;else if(this.decodeMode===Wd.Strict)return 0;return this.emitCodePoint(ev(this.result),this.consumed),this.errors&&(e!==Js.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,r){let{decodeTree:n}=this,s=n[this.treeIndex],i=(s&dc.VALUE_LENGTH)>>14;for(;r<e.length;r++,this.excess++){let a=e.charCodeAt(r);if(this.treeIndex=TH(n,s,this.treeIndex+Math.max(1,i),a),this.treeIndex<0)return this.result===0||this.decodeMode===Wd.Attribute&&(i===0||GQt(a))?0:this.emitNotTerminatedNamedEntity();if(s=n[this.treeIndex],i=(s&dc.VALUE_LENGTH)>>14,i!==0){if(a===Js.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==Wd.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:r,decodeTree:n}=this,s=(n[r]&dc.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,s,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,r,n){let{decodeTree:s}=this;return this.emitCodePoint(r===1?s[e]&~dc.VALUE_LENGTH:s[e+1],n),r===3&&this.emitCodePoint(s[e+2],n),n}end(){var e;switch(this.state){case Ys.NamedEntity:return this.result!==0&&(this.decodeMode!==Wd.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Ys.NumericDecimal:return this.emitNumericEntity(0,2);case Ys.NumericHex:return this.emitNumericEntity(0,3);case Ys.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Ys.EntityStart:return 0}}};function $Oe(t){let e="",r=new D3(t,n=>e+=bx(n));return function(s,i){let a=0,o=0;for(;(o=s.indexOf("&",o))>=0;){e+=s.slice(a,o),r.startEntity(i);let u=r.write(s,o+1);if(u<0){a=o+r.end();break}a=o+u,o=u===0?a+1:a}let c=e+s.slice(a);return e="",c}}function TH(t,e,r,n){let s=(e&dc.BRANCH_LENGTH)>>7,i=e&dc.JUMP_TABLE;if(s===0)return i!==0&&n===i?r:-1;if(i){let c=n-i;return c<0||c>=s?-1:t[r+c]-1}let a=r,o=a+s-1;for(;a<=o;){let c=a+o>>>1,u=t[c];if(u<n)a=c+1;else if(u>n)o=c-1;else return t[c+s]}return-1}var $Wr=$Oe(O3),FWr=$Oe(P3);function k3(t){for(let e=1;e<t.length;e++)t[e][0]+=t[e-1][0]+1;return t}var VQt=new Map(k3([[9,"&Tab;"],[0,"&NewLine;"],[22,"&excl;"],[0,"&quot;"],[0,"&num;"],[0,"&dollar;"],[0,"&percnt;"],[0,"&amp;"],[0,"&apos;"],[0,"&lpar;"],[0,"&rpar;"],[0,"&ast;"],[0,"&plus;"],[0,"&comma;"],[1,"&period;"],[0,"&sol;"],[10,"&colon;"],[0,"&semi;"],[0,{v:"&lt;",n:8402,o:"&nvlt;"}],[0,{v:"&equals;",n:8421,o:"&bne;"}],[0,{v:"&gt;",n:8402,o:"&nvgt;"}],[0,"&quest;"],[0,"&commat;"],[26,"&lbrack;"],[0,"&bsol;"],[0,"&rbrack;"],[0,"&Hat;"],[0,"&lowbar;"],[0,"&DiacriticalGrave;"],[5,{n:106,o:"&fjlig;"}],[20,"&lbrace;"],[0,"&verbar;"],[0,"&rbrace;"],[34,"&nbsp;"],[0,"&iexcl;"],[0,"&cent;"],[0,"&pound;"],[0,"&curren;"],[0,"&yen;"],[0,"&brvbar;"],[0,"&sect;"],[0,"&die;"],[0,"&copy;"],[0,"&ordf;"],[0,"&laquo;"],[0,"&not;"],[0,"&shy;"],[0,"&circledR;"],[0,"&macr;"],[0,"&deg;"],[0,"&PlusMinus;"],[0,"&sup2;"],[0,"&sup3;"],[0,"&acute;"],[0,"&micro;"],[0,"&para;"],[0,"&centerdot;"],[0,"&cedil;"],[0,"&sup1;"],[0,"&ordm;"],[0,"&raquo;"],[0,"&frac14;"],[0,"&frac12;"],[0,"&frac34;"],[0,"&iquest;"],[0,"&Agrave;"],[0,"&Aacute;"],[0,"&Acirc;"],[0,"&Atilde;"],[0,"&Auml;"],[0,"&angst;"],[0,"&AElig;"],[0,"&Ccedil;"],[0,"&Egrave;"],[0,"&Eacute;"],[0,"&Ecirc;"],[0,"&Euml;"],[0,"&Igrave;"],[0,"&Iacute;"],[0,"&Icirc;"],[0,"&Iuml;"],[0,"&ETH;"],[0,"&Ntilde;"],[0,"&Ograve;"],[0,"&Oacute;"],[0,"&Ocirc;"],[0,"&Otilde;"],[0,"&Ouml;"],[0,"&times;"],[0,"&Oslash;"],[0,"&Ugrave;"],[0,"&Uacute;"],[0,"&Ucirc;"],[0,"&Uuml;"],[0,"&Yacute;"],[0,"&THORN;"],[0,"&szlig;"],[0,"&agrave;"],[0,"&aacute;"],[0,"&acirc;"],[0,"&atilde;"],[0,"&auml;"],[0,"&aring;"],[0,"&aelig;"],[0,"&ccedil;"],[0,"&egrave;"],[0,"&eacute;"],[0,"&ecirc;"],[0,"&euml;"],[0,"&igrave;"],[0,"&iacute;"],[0,"&icirc;"],[0,"&iuml;"],[0,"&eth;"],[0,"&ntilde;"],[0,"&ograve;"],[0,"&oacute;"],[0,"&ocirc;"],[0,"&otilde;"],[0,"&ouml;"],[0,"&div;"],[0,"&oslash;"],[0,"&ugrave;"],[0,"&uacute;"],[0,"&ucirc;"],[0,"&uuml;"],[0,"&yacute;"],[0,"&thorn;"],[0,"&yuml;"],[0,"&Amacr;"],[0,"&amacr;"],[0,"&Abreve;"],[0,"&abreve;"],[0,"&Aogon;"],[0,"&aogon;"],[0,"&Cacute;"],[0,"&cacute;"],[0,"&Ccirc;"],[0,"&ccirc;"],[0,"&Cdot;"],[0,"&cdot;"],[0,"&Ccaron;"],[0,"&ccaron;"],[0,"&Dcaron;"],[0,"&dcaron;"],[0,"&Dstrok;"],[0,"&dstrok;"],[0,"&Emacr;"],[0,"&emacr;"],[2,"&Edot;"],[0,"&edot;"],[0,"&Eogon;"],[0,"&eogon;"],[0,"&Ecaron;"],[0,"&ecaron;"],[0,"&Gcirc;"],[0,"&gcirc;"],[0,"&Gbreve;"],[0,"&gbreve;"],[0,"&Gdot;"],[0,"&gdot;"],[0,"&Gcedil;"],[1,"&Hcirc;"],[0,"&hcirc;"],[0,"&Hstrok;"],[0,"&hstrok;"],[0,"&Itilde;"],[0,"&itilde;"],[0,"&Imacr;"],[0,"&imacr;"],[2,"&Iogon;"],[0,"&iogon;"],[0,"&Idot;"],[0,"&imath;"],[0,"&IJlig;"],[0,"&ijlig;"],[0,"&Jcirc;"],[0,"&jcirc;"],[0,"&Kcedil;"],[0,"&kcedil;"],[0,"&kgreen;"],[0,"&Lacute;"],[0,"&lacute;"],[0,"&Lcedil;"],[0,"&lcedil;"],[0,"&Lcaron;"],[0,"&lcaron;"],[0,"&Lmidot;"],[0,"&lmidot;"],[0,"&Lstrok;"],[0,"&lstrok;"],[0,"&Nacute;"],[0,"&nacute;"],[0,"&Ncedil;"],[0,"&ncedil;"],[0,"&Ncaron;"],[0,"&ncaron;"],[0,"&napos;"],[0,"&ENG;"],[0,"&eng;"],[0,"&Omacr;"],[0,"&omacr;"],[2,"&Odblac;"],[0,"&odblac;"],[0,"&OElig;"],[0,"&oelig;"],[0,"&Racute;"],[0,"&racute;"],[0,"&Rcedil;"],[0,"&rcedil;"],[0,"&Rcaron;"],[0,"&rcaron;"],[0,"&Sacute;"],[0,"&sacute;"],[0,"&Scirc;"],[0,"&scirc;"],[0,"&Scedil;"],[0,"&scedil;"],[0,"&Scaron;"],[0,"&scaron;"],[0,"&Tcedil;"],[0,"&tcedil;"],[0,"&Tcaron;"],[0,"&tcaron;"],[0,"&Tstrok;"],[0,"&tstrok;"],[0,"&Utilde;"],[0,"&utilde;"],[0,"&Umacr;"],[0,"&umacr;"],[0,"&Ubreve;"],[0,"&ubreve;"],[0,"&Uring;"],[0,"&uring;"],[0,"&Udblac;"],[0,"&udblac;"],[0,"&Uogon;"],[0,"&uogon;"],[0,"&Wcirc;"],[0,"&wcirc;"],[0,"&Ycirc;"],[0,"&ycirc;"],[0,"&Yuml;"],[0,"&Zacute;"],[0,"&zacute;"],[0,"&Zdot;"],[0,"&zdot;"],[0,"&Zcaron;"],[0,"&zcaron;"],[19,"&fnof;"],[34,"&imped;"],[63,"&gacute;"],[65,"&jmath;"],[142,"&circ;"],[0,"&caron;"],[16,"&breve;"],[0,"&DiacriticalDot;"],[0,"&ring;"],[0,"&ogon;"],[0,"&DiacriticalTilde;"],[0,"&dblac;"],[51,"&DownBreve;"],[127,"&Alpha;"],[0,"&Beta;"],[0,"&Gamma;"],[0,"&Delta;"],[0,"&Epsilon;"],[0,"&Zeta;"],[0,"&Eta;"],[0,"&Theta;"],[0,"&Iota;"],[0,"&Kappa;"],[0,"&Lambda;"],[0,"&Mu;"],[0,"&Nu;"],[0,"&Xi;"],[0,"&Omicron;"],[0,"&Pi;"],[0,"&Rho;"],[1,"&Sigma;"],[0,"&Tau;"],[0,"&Upsilon;"],[0,"&Phi;"],[0,"&Chi;"],[0,"&Psi;"],[0,"&ohm;"],[7,"&alpha;"],[0,"&beta;"],[0,"&gamma;"],[0,"&delta;"],[0,"&epsi;"],[0,"&zeta;"],[0,"&eta;"],[0,"&theta;"],[0,"&iota;"],[0,"&kappa;"],[0,"&lambda;"],[0,"&mu;"],[0,"&nu;"],[0,"&xi;"],[0,"&omicron;"],[0,"&pi;"],[0,"&rho;"],[0,"&sigmaf;"],[0,"&sigma;"],[0,"&tau;"],[0,"&upsi;"],[0,"&phi;"],[0,"&chi;"],[0,"&psi;"],[0,"&omega;"],[7,"&thetasym;"],[0,"&Upsi;"],[2,"&phiv;"],[0,"&piv;"],[5,"&Gammad;"],[0,"&digamma;"],[18,"&kappav;"],[0,"&rhov;"],[3,"&epsiv;"],[0,"&backepsilon;"],[10,"&IOcy;"],[0,"&DJcy;"],[0,"&GJcy;"],[0,"&Jukcy;"],[0,"&DScy;"],[0,"&Iukcy;"],[0,"&YIcy;"],[0,"&Jsercy;"],[0,"&LJcy;"],[0,"&NJcy;"],[0,"&TSHcy;"],[0,"&KJcy;"],[1,"&Ubrcy;"],[0,"&DZcy;"],[0,"&Acy;"],[0,"&Bcy;"],[0,"&Vcy;"],[0,"&Gcy;"],[0,"&Dcy;"],[0,"&IEcy;"],[0,"&ZHcy;"],[0,"&Zcy;"],[0,"&Icy;"],[0,"&Jcy;"],[0,"&Kcy;"],[0,"&Lcy;"],[0,"&Mcy;"],[0,"&Ncy;"],[0,"&Ocy;"],[0,"&Pcy;"],[0,"&Rcy;"],[0,"&Scy;"],[0,"&Tcy;"],[0,"&Ucy;"],[0,"&Fcy;"],[0,"&KHcy;"],[0,"&TScy;"],[0,"&CHcy;"],[0,"&SHcy;"],[0,"&SHCHcy;"],[0,"&HARDcy;"],[0,"&Ycy;"],[0,"&SOFTcy;"],[0,"&Ecy;"],[0,"&YUcy;"],[0,"&YAcy;"],[0,"&acy;"],[0,"&bcy;"],[0,"&vcy;"],[0,"&gcy;"],[0,"&dcy;"],[0,"&iecy;"],[0,"&zhcy;"],[0,"&zcy;"],[0,"&icy;"],[0,"&jcy;"],[0,"&kcy;"],[0,"&lcy;"],[0,"&mcy;"],[0,"&ncy;"],[0,"&ocy;"],[0,"&pcy;"],[0,"&rcy;"],[0,"&scy;"],[0,"&tcy;"],[0,"&ucy;"],[0,"&fcy;"],[0,"&khcy;"],[0,"&tscy;"],[0,"&chcy;"],[0,"&shcy;"],[0,"&shchcy;"],[0,"&hardcy;"],[0,"&ycy;"],[0,"&softcy;"],[0,"&ecy;"],[0,"&yucy;"],[0,"&yacy;"],[1,"&iocy;"],[0,"&djcy;"],[0,"&gjcy;"],[0,"&jukcy;"],[0,"&dscy;"],[0,"&iukcy;"],[0,"&yicy;"],[0,"&jsercy;"],[0,"&ljcy;"],[0,"&njcy;"],[0,"&tshcy;"],[0,"&kjcy;"],[1,"&ubrcy;"],[0,"&dzcy;"],[7074,"&ensp;"],[0,"&emsp;"],[0,"&emsp13;"],[0,"&emsp14;"],[1,"&numsp;"],[0,"&puncsp;"],[0,"&ThinSpace;"],[0,"&hairsp;"],[0,"&NegativeMediumSpace;"],[0,"&zwnj;"],[0,"&zwj;"],[0,"&lrm;"],[0,"&rlm;"],[0,"&dash;"],[2,"&ndash;"],[0,"&mdash;"],[0,"&horbar;"],[0,"&Verbar;"],[1,"&lsquo;"],[0,"&CloseCurlyQuote;"],[0,"&lsquor;"],[1,"&ldquo;"],[0,"&CloseCurlyDoubleQuote;"],[0,"&bdquo;"],[1,"&dagger;"],[0,"&Dagger;"],[0,"&bull;"],[2,"&nldr;"],[0,"&hellip;"],[9,"&permil;"],[0,"&pertenk;"],[0,"&prime;"],[0,"&Prime;"],[0,"&tprime;"],[0,"&backprime;"],[3,"&lsaquo;"],[0,"&rsaquo;"],[3,"&oline;"],[2,"&caret;"],[1,"&hybull;"],[0,"&frasl;"],[10,"&bsemi;"],[7,"&qprime;"],[7,{v:"&MediumSpace;",n:8202,o:"&ThickSpace;"}],[0,"&NoBreak;"],[0,"&af;"],[0,"&InvisibleTimes;"],[0,"&ic;"],[72,"&euro;"],[46,"&tdot;"],[0,"&DotDot;"],[37,"&complexes;"],[2,"&incare;"],[4,"&gscr;"],[0,"&hamilt;"],[0,"&Hfr;"],[0,"&Hopf;"],[0,"&planckh;"],[0,"&hbar;"],[0,"&imagline;"],[0,"&Ifr;"],[0,"&lagran;"],[0,"&ell;"],[1,"&naturals;"],[0,"&numero;"],[0,"&copysr;"],[0,"&weierp;"],[0,"&Popf;"],[0,"&Qopf;"],[0,"&realine;"],[0,"&real;"],[0,"&reals;"],[0,"&rx;"],[3,"&trade;"],[1,"&integers;"],[2,"&mho;"],[0,"&zeetrf;"],[0,"&iiota;"],[2,"&bernou;"],[0,"&Cayleys;"],[1,"&escr;"],[0,"&Escr;"],[0,"&Fouriertrf;"],[1,"&Mellintrf;"],[0,"&order;"],[0,"&alefsym;"],[0,"&beth;"],[0,"&gimel;"],[0,"&daleth;"],[12,"&CapitalDifferentialD;"],[0,"&dd;"],[0,"&ee;"],[0,"&ii;"],[10,"&frac13;"],[0,"&frac23;"],[0,"&frac15;"],[0,"&frac25;"],[0,"&frac35;"],[0,"&frac45;"],[0,"&frac16;"],[0,"&frac56;"],[0,"&frac18;"],[0,"&frac38;"],[0,"&frac58;"],[0,"&frac78;"],[49,"&larr;"],[0,"&ShortUpArrow;"],[0,"&rarr;"],[0,"&darr;"],[0,"&harr;"],[0,"&updownarrow;"],[0,"&nwarr;"],[0,"&nearr;"],[0,"&LowerRightArrow;"],[0,"&LowerLeftArrow;"],[0,"&nlarr;"],[0,"&nrarr;"],[1,{v:"&rarrw;",n:824,o:"&nrarrw;"}],[0,"&Larr;"],[0,"&Uarr;"],[0,"&Rarr;"],[0,"&Darr;"],[0,"&larrtl;"],[0,"&rarrtl;"],[0,"&LeftTeeArrow;"],[0,"&mapstoup;"],[0,"&map;"],[0,"&DownTeeArrow;"],[1,"&hookleftarrow;"],[0,"&hookrightarrow;"],[0,"&larrlp;"],[0,"&looparrowright;"],[0,"&harrw;"],[0,"&nharr;"],[1,"&lsh;"],[0,"&rsh;"],[0,"&ldsh;"],[0,"&rdsh;"],[1,"&crarr;"],[0,"&cularr;"],[0,"&curarr;"],[2,"&circlearrowleft;"],[0,"&circlearrowright;"],[0,"&leftharpoonup;"],[0,"&DownLeftVector;"],[0,"&RightUpVector;"],[0,"&LeftUpVector;"],[0,"&rharu;"],[0,"&DownRightVector;"],[0,"&dharr;"],[0,"&dharl;"],[0,"&RightArrowLeftArrow;"],[0,"&udarr;"],[0,"&LeftArrowRightArrow;"],[0,"&leftleftarrows;"],[0,"&upuparrows;"],[0,"&rightrightarrows;"],[0,"&ddarr;"],[0,"&leftrightharpoons;"],[0,"&Equilibrium;"],[0,"&nlArr;"],[0,"&nhArr;"],[0,"&nrArr;"],[0,"&DoubleLeftArrow;"],[0,"&DoubleUpArrow;"],[0,"&DoubleRightArrow;"],[0,"&dArr;"],[0,"&DoubleLeftRightArrow;"],[0,"&DoubleUpDownArrow;"],[0,"&nwArr;"],[0,"&neArr;"],[0,"&seArr;"],[0,"&swArr;"],[0,"&lAarr;"],[0,"&rAarr;"],[1,"&zigrarr;"],[6,"&larrb;"],[0,"&rarrb;"],[15,"&DownArrowUpArrow;"],[7,"&loarr;"],[0,"&roarr;"],[0,"&hoarr;"],[0,"&forall;"],[0,"&comp;"],[0,{v:"&part;",n:824,o:"&npart;"}],[0,"&exist;"],[0,"&nexist;"],[0,"&empty;"],[1,"&Del;"],[0,"&Element;"],[0,"&NotElement;"],[1,"&ni;"],[0,"&notni;"],[2,"&prod;"],[0,"&coprod;"],[0,"&sum;"],[0,"&minus;"],[0,"&MinusPlus;"],[0,"&dotplus;"],[1,"&Backslash;"],[0,"&lowast;"],[0,"&compfn;"],[1,"&radic;"],[2,"&prop;"],[0,"&infin;"],[0,"&angrt;"],[0,{v:"&ang;",n:8402,o:"&nang;"}],[0,"&angmsd;"],[0,"&angsph;"],[0,"&mid;"],[0,"&nmid;"],[0,"&DoubleVerticalBar;"],[0,"&NotDoubleVerticalBar;"],[0,"&and;"],[0,"&or;"],[0,{v:"&cap;",n:65024,o:"&caps;"}],[0,{v:"&cup;",n:65024,o:"&cups;"}],[0,"&int;"],[0,"&Int;"],[0,"&iiint;"],[0,"&conint;"],[0,"&Conint;"],[0,"&Cconint;"],[0,"&cwint;"],[0,"&ClockwiseContourIntegral;"],[0,"&awconint;"],[0,"&there4;"],[0,"&becaus;"],[0,"&ratio;"],[0,"&Colon;"],[0,"&dotminus;"],[1,"&mDDot;"],[0,"&homtht;"],[0,{v:"&sim;",n:8402,o:"&nvsim;"}],[0,{v:"&backsim;",n:817,o:"&race;"}],[0,{v:"&ac;",n:819,o:"&acE;"}],[0,"&acd;"],[0,"&VerticalTilde;"],[0,"&NotTilde;"],[0,{v:"&eqsim;",n:824,o:"&nesim;"}],[0,"&sime;"],[0,"&NotTildeEqual;"],[0,"&cong;"],[0,"&simne;"],[0,"&ncong;"],[0,"&ap;"],[0,"&nap;"],[0,"&ape;"],[0,{v:"&apid;",n:824,o:"&napid;"}],[0,"&backcong;"],[0,{v:"&asympeq;",n:8402,o:"&nvap;"}],[0,{v:"&bump;",n:824,o:"&nbump;"}],[0,{v:"&bumpe;",n:824,o:"&nbumpe;"}],[0,{v:"&doteq;",n:824,o:"&nedot;"}],[0,"&doteqdot;"],[0,"&efDot;"],[0,"&erDot;"],[0,"&Assign;"],[0,"&ecolon;"],[0,"&ecir;"],[0,"&circeq;"],[1,"&wedgeq;"],[0,"&veeeq;"],[1,"&triangleq;"],[2,"&equest;"],[0,"&ne;"],[0,{v:"&Congruent;",n:8421,o:"&bnequiv;"}],[0,"&nequiv;"],[1,{v:"&le;",n:8402,o:"&nvle;"}],[0,{v:"&ge;",n:8402,o:"&nvge;"}],[0,{v:"&lE;",n:824,o:"&nlE;"}],[0,{v:"&gE;",n:824,o:"&ngE;"}],[0,{v:"&lnE;",n:65024,o:"&lvertneqq;"}],[0,{v:"&gnE;",n:65024,o:"&gvertneqq;"}],[0,{v:"&ll;",n:new Map(k3([[824,"&nLtv;"],[7577,"&nLt;"]]))}],[0,{v:"&gg;",n:new Map(k3([[824,"&nGtv;"],[7577,"&nGt;"]]))}],[0,"&between;"],[0,"&NotCupCap;"],[0,"&nless;"],[0,"&ngt;"],[0,"&nle;"],[0,"&nge;"],[0,"&lesssim;"],[0,"&GreaterTilde;"],[0,"&nlsim;"],[0,"&ngsim;"],[0,"&LessGreater;"],[0,"&gl;"],[0,"&NotLessGreater;"],[0,"&NotGreaterLess;"],[0,"&pr;"],[0,"&sc;"],[0,"&prcue;"],[0,"&sccue;"],[0,"&PrecedesTilde;"],[0,{v:"&scsim;",n:824,o:"&NotSucceedsTilde;"}],[0,"&NotPrecedes;"],[0,"&NotSucceeds;"],[0,{v:"&sub;",n:8402,o:"&NotSubset;"}],[0,{v:"&sup;",n:8402,o:"&NotSuperset;"}],[0,"&nsub;"],[0,"&nsup;"],[0,"&sube;"],[0,"&supe;"],[0,"&NotSubsetEqual;"],[0,"&NotSupersetEqual;"],[0,{v:"&subne;",n:65024,o:"&varsubsetneq;"}],[0,{v:"&supne;",n:65024,o:"&varsupsetneq;"}],[1,"&cupdot;"],[0,"&UnionPlus;"],[0,{v:"&sqsub;",n:824,o:"&NotSquareSubset;"}],[0,{v:"&sqsup;",n:824,o:"&NotSquareSuperset;"}],[0,"&sqsube;"],[0,"&sqsupe;"],[0,{v:"&sqcap;",n:65024,o:"&sqcaps;"}],[0,{v:"&sqcup;",n:65024,o:"&sqcups;"}],[0,"&CirclePlus;"],[0,"&CircleMinus;"],[0,"&CircleTimes;"],[0,"&osol;"],[0,"&CircleDot;"],[0,"&circledcirc;"],[0,"&circledast;"],[1,"&circleddash;"],[0,"&boxplus;"],[0,"&boxminus;"],[0,"&boxtimes;"],[0,"&dotsquare;"],[0,"&RightTee;"],[0,"&dashv;"],[0,"&DownTee;"],[0,"&bot;"],[1,"&models;"],[0,"&DoubleRightTee;"],[0,"&Vdash;"],[0,"&Vvdash;"],[0,"&VDash;"],[0,"&nvdash;"],[0,"&nvDash;"],[0,"&nVdash;"],[0,"&nVDash;"],[0,"&prurel;"],[1,"&LeftTriangle;"],[0,"&RightTriangle;"],[0,{v:"&LeftTriangleEqual;",n:8402,o:"&nvltrie;"}],[0,{v:"&RightTriangleEqual;",n:8402,o:"&nvrtrie;"}],[0,"&origof;"],[0,"&imof;"],[0,"&multimap;"],[0,"&hercon;"],[0,"&intcal;"],[0,"&veebar;"],[1,"&barvee;"],[0,"&angrtvb;"],[0,"&lrtri;"],[0,"&bigwedge;"],[0,"&bigvee;"],[0,"&bigcap;"],[0,"&bigcup;"],[0,"&diam;"],[0,"&sdot;"],[0,"&sstarf;"],[0,"&divideontimes;"],[0,"&bowtie;"],[0,"&ltimes;"],[0,"&rtimes;"],[0,"&leftthreetimes;"],[0,"&rightthreetimes;"],[0,"&backsimeq;"],[0,"&curlyvee;"],[0,"&curlywedge;"],[0,"&Sub;"],[0,"&Sup;"],[0,"&Cap;"],[0,"&Cup;"],[0,"&fork;"],[0,"&epar;"],[0,"&lessdot;"],[0,"&gtdot;"],[0,{v:"&Ll;",n:824,o:"&nLl;"}],[0,{v:"&Gg;",n:824,o:"&nGg;"}],[0,{v:"&leg;",n:65024,o:"&lesg;"}],[0,{v:"&gel;",n:65024,o:"&gesl;"}],[2,"&cuepr;"],[0,"&cuesc;"],[0,"&NotPrecedesSlantEqual;"],[0,"&NotSucceedsSlantEqual;"],[0,"&NotSquareSubsetEqual;"],[0,"&NotSquareSupersetEqual;"],[2,"&lnsim;"],[0,"&gnsim;"],[0,"&precnsim;"],[0,"&scnsim;"],[0,"&nltri;"],[0,"&NotRightTriangle;"],[0,"&nltrie;"],[0,"&NotRightTriangleEqual;"],[0,"&vellip;"],[0,"&ctdot;"],[0,"&utdot;"],[0,"&dtdot;"],[0,"&disin;"],[0,"&isinsv;"],[0,"&isins;"],[0,{v:"&isindot;",n:824,o:"&notindot;"}],[0,"&notinvc;"],[0,"&notinvb;"],[1,{v:"&isinE;",n:824,o:"&notinE;"}],[0,"&nisd;"],[0,"&xnis;"],[0,"&nis;"],[0,"&notnivc;"],[0,"&notnivb;"],[6,"&barwed;"],[0,"&Barwed;"],[1,"&lceil;"],[0,"&rceil;"],[0,"&LeftFloor;"],[0,"&rfloor;"],[0,"&drcrop;"],[0,"&dlcrop;"],[0,"&urcrop;"],[0,"&ulcrop;"],[0,"&bnot;"],[1,"&profline;"],[0,"&profsurf;"],[1,"&telrec;"],[0,"&target;"],[5,"&ulcorn;"],[0,"&urcorn;"],[0,"&dlcorn;"],[0,"&drcorn;"],[2,"&frown;"],[0,"&smile;"],[9,"&cylcty;"],[0,"&profalar;"],[7,"&topbot;"],[6,"&ovbar;"],[1,"&solbar;"],[60,"&angzarr;"],[51,"&lmoustache;"],[0,"&rmoustache;"],[2,"&OverBracket;"],[0,"&bbrk;"],[0,"&bbrktbrk;"],[37,"&OverParenthesis;"],[0,"&UnderParenthesis;"],[0,"&OverBrace;"],[0,"&UnderBrace;"],[2,"&trpezium;"],[4,"&elinters;"],[59,"&blank;"],[164,"&circledS;"],[55,"&boxh;"],[1,"&boxv;"],[9,"&boxdr;"],[3,"&boxdl;"],[3,"&boxur;"],[3,"&boxul;"],[3,"&boxvr;"],[7,"&boxvl;"],[7,"&boxhd;"],[7,"&boxhu;"],[7,"&boxvh;"],[19,"&boxH;"],[0,"&boxV;"],[0,"&boxdR;"],[0,"&boxDr;"],[0,"&boxDR;"],[0,"&boxdL;"],[0,"&boxDl;"],[0,"&boxDL;"],[0,"&boxuR;"],[0,"&boxUr;"],[0,"&boxUR;"],[0,"&boxuL;"],[0,"&boxUl;"],[0,"&boxUL;"],[0,"&boxvR;"],[0,"&boxVr;"],[0,"&boxVR;"],[0,"&boxvL;"],[0,"&boxVl;"],[0,"&boxVL;"],[0,"&boxHd;"],[0,"&boxhD;"],[0,"&boxHD;"],[0,"&boxHu;"],[0,"&boxhU;"],[0,"&boxHU;"],[0,"&boxvH;"],[0,"&boxVh;"],[0,"&boxVH;"],[19,"&uhblk;"],[3,"&lhblk;"],[3,"&block;"],[8,"&blk14;"],[0,"&blk12;"],[0,"&blk34;"],[13,"&square;"],[8,"&blacksquare;"],[0,"&EmptyVerySmallSquare;"],[1,"&rect;"],[0,"&marker;"],[2,"&fltns;"],[1,"&bigtriangleup;"],[0,"&blacktriangle;"],[0,"&triangle;"],[2,"&blacktriangleright;"],[0,"&rtri;"],[3,"&bigtriangledown;"],[0,"&blacktriangledown;"],[0,"&dtri;"],[2,"&blacktriangleleft;"],[0,"&ltri;"],[6,"&loz;"],[0,"&cir;"],[32,"&tridot;"],[2,"&bigcirc;"],[8,"&ultri;"],[0,"&urtri;"],[0,"&lltri;"],[0,"&EmptySmallSquare;"],[0,"&FilledSmallSquare;"],[8,"&bigstar;"],[0,"&star;"],[7,"&phone;"],[49,"&female;"],[1,"&male;"],[29,"&spades;"],[2,"&clubs;"],[1,"&hearts;"],[0,"&diamondsuit;"],[3,"&sung;"],[2,"&flat;"],[0,"&natural;"],[0,"&sharp;"],[163,"&check;"],[3,"&cross;"],[8,"&malt;"],[21,"&sext;"],[33,"&VerticalSeparator;"],[25,"&lbbrk;"],[0,"&rbbrk;"],[84,"&bsolhsub;"],[0,"&suphsol;"],[28,"&LeftDoubleBracket;"],[0,"&RightDoubleBracket;"],[0,"&lang;"],[0,"&rang;"],[0,"&Lang;"],[0,"&Rang;"],[0,"&loang;"],[0,"&roang;"],[7,"&longleftarrow;"],[0,"&longrightarrow;"],[0,"&longleftrightarrow;"],[0,"&DoubleLongLeftArrow;"],[0,"&DoubleLongRightArrow;"],[0,"&DoubleLongLeftRightArrow;"],[1,"&longmapsto;"],[2,"&dzigrarr;"],[258,"&nvlArr;"],[0,"&nvrArr;"],[0,"&nvHarr;"],[0,"&Map;"],[6,"&lbarr;"],[0,"&bkarow;"],[0,"&lBarr;"],[0,"&dbkarow;"],[0,"&drbkarow;"],[0,"&DDotrahd;"],[0,"&UpArrowBar;"],[0,"&DownArrowBar;"],[2,"&Rarrtl;"],[2,"&latail;"],[0,"&ratail;"],[0,"&lAtail;"],[0,"&rAtail;"],[0,"&larrfs;"],[0,"&rarrfs;"],[0,"&larrbfs;"],[0,"&rarrbfs;"],[2,"&nwarhk;"],[0,"&nearhk;"],[0,"&hksearow;"],[0,"&hkswarow;"],[0,"&nwnear;"],[0,"&nesear;"],[0,"&seswar;"],[0,"&swnwar;"],[8,{v:"&rarrc;",n:824,o:"&nrarrc;"}],[1,"&cudarrr;"],[0,"&ldca;"],[0,"&rdca;"],[0,"&cudarrl;"],[0,"&larrpl;"],[2,"&curarrm;"],[0,"&cularrp;"],[7,"&rarrpl;"],[2,"&harrcir;"],[0,"&Uarrocir;"],[0,"&lurdshar;"],[0,"&ldrushar;"],[2,"&LeftRightVector;"],[0,"&RightUpDownVector;"],[0,"&DownLeftRightVector;"],[0,"&LeftUpDownVector;"],[0,"&LeftVectorBar;"],[0,"&RightVectorBar;"],[0,"&RightUpVectorBar;"],[0,"&RightDownVectorBar;"],[0,"&DownLeftVectorBar;"],[0,"&DownRightVectorBar;"],[0,"&LeftUpVectorBar;"],[0,"&LeftDownVectorBar;"],[0,"&LeftTeeVector;"],[0,"&RightTeeVector;"],[0,"&RightUpTeeVector;"],[0,"&RightDownTeeVector;"],[0,"&DownLeftTeeVector;"],[0,"&DownRightTeeVector;"],[0,"&LeftUpTeeVector;"],[0,"&LeftDownTeeVector;"],[0,"&lHar;"],[0,"&uHar;"],[0,"&rHar;"],[0,"&dHar;"],[0,"&luruhar;"],[0,"&ldrdhar;"],[0,"&ruluhar;"],[0,"&rdldhar;"],[0,"&lharul;"],[0,"&llhard;"],[0,"&rharul;"],[0,"&lrhard;"],[0,"&udhar;"],[0,"&duhar;"],[0,"&RoundImplies;"],[0,"&erarr;"],[0,"&simrarr;"],[0,"&larrsim;"],[0,"&rarrsim;"],[0,"&rarrap;"],[0,"&ltlarr;"],[1,"&gtrarr;"],[0,"&subrarr;"],[1,"&suplarr;"],[0,"&lfisht;"],[0,"&rfisht;"],[0,"&ufisht;"],[0,"&dfisht;"],[5,"&lopar;"],[0,"&ropar;"],[4,"&lbrke;"],[0,"&rbrke;"],[0,"&lbrkslu;"],[0,"&rbrksld;"],[0,"&lbrksld;"],[0,"&rbrkslu;"],[0,"&langd;"],[0,"&rangd;"],[0,"&lparlt;"],[0,"&rpargt;"],[0,"&gtlPar;"],[0,"&ltrPar;"],[3,"&vzigzag;"],[1,"&vangrt;"],[0,"&angrtvbd;"],[6,"&ange;"],[0,"&range;"],[0,"&dwangle;"],[0,"&uwangle;"],[0,"&angmsdaa;"],[0,"&angmsdab;"],[0,"&angmsdac;"],[0,"&angmsdad;"],[0,"&angmsdae;"],[0,"&angmsdaf;"],[0,"&angmsdag;"],[0,"&angmsdah;"],[0,"&bemptyv;"],[0,"&demptyv;"],[0,"&cemptyv;"],[0,"&raemptyv;"],[0,"&laemptyv;"],[0,"&ohbar;"],[0,"&omid;"],[0,"&opar;"],[1,"&operp;"],[1,"&olcross;"],[0,"&odsold;"],[1,"&olcir;"],[0,"&ofcir;"],[0,"&olt;"],[0,"&ogt;"],[0,"&cirscir;"],[0,"&cirE;"],[0,"&solb;"],[0,"&bsolb;"],[3,"&boxbox;"],[3,"&trisb;"],[0,"&rtriltri;"],[0,{v:"&LeftTriangleBar;",n:824,o:"&NotLeftTriangleBar;"}],[0,{v:"&RightTriangleBar;",n:824,o:"&NotRightTriangleBar;"}],[11,"&iinfin;"],[0,"&infintie;"],[0,"&nvinfin;"],[4,"&eparsl;"],[0,"&smeparsl;"],[0,"&eqvparsl;"],[5,"&blacklozenge;"],[8,"&RuleDelayed;"],[1,"&dsol;"],[9,"&bigodot;"],[0,"&bigoplus;"],[0,"&bigotimes;"],[1,"&biguplus;"],[1,"&bigsqcup;"],[5,"&iiiint;"],[0,"&fpartint;"],[2,"&cirfnint;"],[0,"&awint;"],[0,"&rppolint;"],[0,"&scpolint;"],[0,"&npolint;"],[0,"&pointint;"],[0,"&quatint;"],[0,"&intlarhk;"],[10,"&pluscir;"],[0,"&plusacir;"],[0,"&simplus;"],[0,"&plusdu;"],[0,"&plussim;"],[0,"&plustwo;"],[1,"&mcomma;"],[0,"&minusdu;"],[2,"&loplus;"],[0,"&roplus;"],[0,"&Cross;"],[0,"&timesd;"],[0,"&timesbar;"],[1,"&smashp;"],[0,"&lotimes;"],[0,"&rotimes;"],[0,"&otimesas;"],[0,"&Otimes;"],[0,"&odiv;"],[0,"&triplus;"],[0,"&triminus;"],[0,"&tritime;"],[0,"&intprod;"],[2,"&amalg;"],[0,"&capdot;"],[1,"&ncup;"],[0,"&ncap;"],[0,"&capand;"],[0,"&cupor;"],[0,"&cupcap;"],[0,"&capcup;"],[0,"&cupbrcap;"],[0,"&capbrcup;"],[0,"&cupcup;"],[0,"&capcap;"],[0,"&ccups;"],[0,"&ccaps;"],[2,"&ccupssm;"],[2,"&And;"],[0,"&Or;"],[0,"&andand;"],[0,"&oror;"],[0,"&orslope;"],[0,"&andslope;"],[1,"&andv;"],[0,"&orv;"],[0,"&andd;"],[0,"&ord;"],[1,"&wedbar;"],[6,"&sdote;"],[3,"&simdot;"],[2,{v:"&congdot;",n:824,o:"&ncongdot;"}],[0,"&easter;"],[0,"&apacir;"],[0,{v:"&apE;",n:824,o:"&napE;"}],[0,"&eplus;"],[0,"&pluse;"],[0,"&Esim;"],[0,"&Colone;"],[0,"&Equal;"],[1,"&ddotseq;"],[0,"&equivDD;"],[0,"&ltcir;"],[0,"&gtcir;"],[0,"&ltquest;"],[0,"&gtquest;"],[0,{v:"&leqslant;",n:824,o:"&nleqslant;"}],[0,{v:"&geqslant;",n:824,o:"&ngeqslant;"}],[0,"&lesdot;"],[0,"&gesdot;"],[0,"&lesdoto;"],[0,"&gesdoto;"],[0,"&lesdotor;"],[0,"&gesdotol;"],[0,"&lap;"],[0,"&gap;"],[0,"&lne;"],[0,"&gne;"],[0,"&lnap;"],[0,"&gnap;"],[0,"&lEg;"],[0,"&gEl;"],[0,"&lsime;"],[0,"&gsime;"],[0,"&lsimg;"],[0,"&gsiml;"],[0,"&lgE;"],[0,"&glE;"],[0,"&lesges;"],[0,"&gesles;"],[0,"&els;"],[0,"&egs;"],[0,"&elsdot;"],[0,"&egsdot;"],[0,"&el;"],[0,"&eg;"],[2,"&siml;"],[0,"&simg;"],[0,"&simlE;"],[0,"&simgE;"],[0,{v:"&LessLess;",n:824,o:"&NotNestedLessLess;"}],[0,{v:"&GreaterGreater;",n:824,o:"&NotNestedGreaterGreater;"}],[1,"&glj;"],[0,"&gla;"],[0,"&ltcc;"],[0,"&gtcc;"],[0,"&lescc;"],[0,"&gescc;"],[0,"&smt;"],[0,"&lat;"],[0,{v:"&smte;",n:65024,o:"&smtes;"}],[0,{v:"&late;",n:65024,o:"&lates;"}],[0,"&bumpE;"],[0,{v:"&PrecedesEqual;",n:824,o:"&NotPrecedesEqual;"}],[0,{v:"&sce;",n:824,o:"&NotSucceedsEqual;"}],[2,"&prE;"],[0,"&scE;"],[0,"&precneqq;"],[0,"&scnE;"],[0,"&prap;"],[0,"&scap;"],[0,"&precnapprox;"],[0,"&scnap;"],[0,"&Pr;"],[0,"&Sc;"],[0,"&subdot;"],[0,"&supdot;"],[0,"&subplus;"],[0,"&supplus;"],[0,"&submult;"],[0,"&supmult;"],[0,"&subedot;"],[0,"&supedot;"],[0,{v:"&subE;",n:824,o:"&nsubE;"}],[0,{v:"&supE;",n:824,o:"&nsupE;"}],[0,"&subsim;"],[0,"&supsim;"],[2,{v:"&subnE;",n:65024,o:"&varsubsetneqq;"}],[0,{v:"&supnE;",n:65024,o:"&varsupsetneqq;"}],[2,"&csub;"],[0,"&csup;"],[0,"&csube;"],[0,"&csupe;"],[0,"&subsup;"],[0,"&supsub;"],[0,"&subsub;"],[0,"&supsup;"],[0,"&suphsub;"],[0,"&supdsub;"],[0,"&forkv;"],[0,"&topfork;"],[0,"&mlcp;"],[8,"&Dashv;"],[1,"&Vdashl;"],[0,"&Barv;"],[0,"&vBar;"],[0,"&vBarv;"],[1,"&Vbar;"],[0,"&Not;"],[0,"&bNot;"],[0,"&rnmid;"],[0,"&cirmid;"],[0,"&midcir;"],[0,"&topcir;"],[0,"&nhpar;"],[0,"&parsim;"],[9,{v:"&parsl;",n:8421,o:"&nparsl;"}],[44343,{n:new Map(k3([[56476,"&Ascr;"],[1,"&Cscr;"],[0,"&Dscr;"],[2,"&Gscr;"],[2,"&Jscr;"],[0,"&Kscr;"],[2,"&Nscr;"],[0,"&Oscr;"],[0,"&Pscr;"],[0,"&Qscr;"],[1,"&Sscr;"],[0,"&Tscr;"],[0,"&Uscr;"],[0,"&Vscr;"],[0,"&Wscr;"],[0,"&Xscr;"],[0,"&Yscr;"],[0,"&Zscr;"],[0,"&ascr;"],[0,"&bscr;"],[0,"&cscr;"],[0,"&dscr;"],[1,"&fscr;"],[1,"&hscr;"],[0,"&iscr;"],[0,"&jscr;"],[0,"&kscr;"],[0,"&lscr;"],[0,"&mscr;"],[0,"&nscr;"],[1,"&pscr;"],[0,"&qscr;"],[0,"&rscr;"],[0,"&sscr;"],[0,"&tscr;"],[0,"&uscr;"],[0,"&vscr;"],[0,"&wscr;"],[0,"&xscr;"],[0,"&yscr;"],[0,"&zscr;"],[52,"&Afr;"],[0,"&Bfr;"],[1,"&Dfr;"],[0,"&Efr;"],[0,"&Ffr;"],[0,"&Gfr;"],[2,"&Jfr;"],[0,"&Kfr;"],[0,"&Lfr;"],[0,"&Mfr;"],[0,"&Nfr;"],[0,"&Ofr;"],[0,"&Pfr;"],[0,"&Qfr;"],[1,"&Sfr;"],[0,"&Tfr;"],[0,"&Ufr;"],[0,"&Vfr;"],[0,"&Wfr;"],[0,"&Xfr;"],[0,"&Yfr;"],[1,"&afr;"],[0,"&bfr;"],[0,"&cfr;"],[0,"&dfr;"],[0,"&efr;"],[0,"&ffr;"],[0,"&gfr;"],[0,"&hfr;"],[0,"&ifr;"],[0,"&jfr;"],[0,"&kfr;"],[0,"&lfr;"],[0,"&mfr;"],[0,"&nfr;"],[0,"&ofr;"],[0,"&pfr;"],[0,"&qfr;"],[0,"&rfr;"],[0,"&sfr;"],[0,"&tfr;"],[0,"&ufr;"],[0,"&vfr;"],[0,"&wfr;"],[0,"&xfr;"],[0,"&yfr;"],[0,"&zfr;"],[0,"&Aopf;"],[0,"&Bopf;"],[1,"&Dopf;"],[0,"&Eopf;"],[0,"&Fopf;"],[0,"&Gopf;"],[1,"&Iopf;"],[0,"&Jopf;"],[0,"&Kopf;"],[0,"&Lopf;"],[0,"&Mopf;"],[1,"&Oopf;"],[3,"&Sopf;"],[0,"&Topf;"],[0,"&Uopf;"],[0,"&Vopf;"],[0,"&Wopf;"],[0,"&Xopf;"],[0,"&Yopf;"],[1,"&aopf;"],[0,"&bopf;"],[0,"&copf;"],[0,"&dopf;"],[0,"&eopf;"],[0,"&fopf;"],[0,"&gopf;"],[0,"&hopf;"],[0,"&iopf;"],[0,"&jopf;"],[0,"&kopf;"],[0,"&lopf;"],[0,"&mopf;"],[0,"&nopf;"],[0,"&oopf;"],[0,"&popf;"],[0,"&qopf;"],[0,"&ropf;"],[0,"&sopf;"],[0,"&topf;"],[0,"&uopf;"],[0,"&vopf;"],[0,"&wopf;"],[0,"&xopf;"],[0,"&yopf;"],[0,"&zopf;"]]))}],[8906,"&fflig;"],[0,"&filig;"],[0,"&fllig;"],[0,"&ffilig;"],[0,"&ffllig;"]]));var wH=/["&'<>$\x80-\uFFFF]/g,FOe=new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]),UOe=String.prototype.codePointAt!=null?(t,e)=>t.codePointAt(e):(t,e)=>(t.charCodeAt(e)&64512)===55296?(t.charCodeAt(e)-55296)*1024+t.charCodeAt(e+1)-56320+65536:t.charCodeAt(e);function tv(t){let e="",r=0,n;for(;(n=wH.exec(t))!==null;){let s=n.index,i=t.charCodeAt(s),a=FOe.get(i);a!==void 0?(e+=t.substring(r,s)+a,r=s+1):(e+=`${t.substring(r,s)}&#x${UOe(t,s).toString(16)};`,r=wH.lastIndex+=+((i&64512)===55296))}return e+t.substr(r)}function RH(t,e){return function(n){let s,i=0,a="";for(;s=t.exec(n);)i!==s.index&&(a+=n.substring(i,s.index)),a+=e.get(s[0].charCodeAt(0)),i=s.index+1;return a+n.substring(i)}}var qOe=RH(/[&<>'"]/g,FOe),L3=RH(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]])),B3=RH(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]));var jOe;(function(t){t[t.XML=0]="XML",t[t.HTML=1]="HTML"})(jOe||(jOe={}));var HOe;(function(t){t[t.UTF8=0]="UTF8",t[t.ASCII=1]="ASCII",t[t.Extensive=2]="Extensive",t[t.Attribute=3]="Attribute",t[t.Text=4]="Text"})(HOe||(HOe={}));var VOe=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","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])),zOe=new Map(["definitionURL","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]));var KQt=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function YQt(t){return t.replace(/"/g,"&quot;")}function JQt(t,e){var r;if(!t)return;let n=((r=e.encodeEntities)!==null&&r!==void 0?r:e.decodeEntities)===!1?YQt:e.xmlMode||e.encodeEntities!=="utf8"?tv:L3;return Object.keys(t).map(s=>{var i,a;let o=(i=t[s])!==null&&i!==void 0?i:"";return e.xmlMode==="foreign"&&(s=(a=zOe.get(s))!==null&&a!==void 0?a:s),!e.emptyAttrs&&!e.xmlMode&&o===""?s:`${s}="${n(o)}"`}).join(" ")}var KOe=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function PH(t,e={}){let r="length"in t?t:[t],n="";for(let s=0;s<r.length;s++)n+=XQt(r[s],e);return n}var M3=PH;function XQt(t,e){switch(t.type){case wOe:return PH(t.children,e);case BOe:case NOe:return rGt(t);case OOe:return iGt(t);case LOe:return sGt(t);case POe:case DOe:case kOe:return tGt(t,e);case ROe:return nGt(t,e)}}var ZQt=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),eGt=new Set(["svg","math"]);function tGt(t,e){var r;e.xmlMode==="foreign"&&(t.name=(r=VOe.get(t.name))!==null&&r!==void 0?r:t.name,t.parent&&ZQt.has(t.parent.name)&&(e={...e,xmlMode:!1})),!e.xmlMode&&eGt.has(t.name)&&(e={...e,xmlMode:"foreign"});let n=`<${t.name}`,s=JQt(t.attribs,e);return s&&(n+=` ${s}`),t.children.length===0&&(e.xmlMode?e.selfClosingTags!==!1:e.selfClosingTags&&KOe.has(t.name))?(e.xmlMode||(n+=" "),n+="/>"):(n+=">",t.children.length>0&&(n+=PH(t.children,e)),(e.xmlMode||!KOe.has(t.name))&&(n+=`</${t.name}>`)),n}function rGt(t){return`<${t.data}>`}function nGt(t,e){var r;let n=t.data||"";return((r=e.encodeEntities)!==null&&r!==void 0?r:e.decodeEntities)!==!1&&!(!e.xmlMode&&t.parent&&KQt.has(t.parent.name))&&(n=e.xmlMode||e.encodeEntities!=="utf8"?tv(n):B3(n)),n}function sGt(t){return`<![CDATA[${t.children[0].data}]]>`}function iGt(t){return`<!--${t.data}-->`}function YOe(t,e){return M3(t,e)}function aGt(t,e){return rn(t)?t.children.map(r=>YOe(r,e)).join(""):""}function W3(t){return Array.isArray(t)?t.map(W3).join(""):st(t)?t.name==="br"?`
`:W3(t.children):yx(t)?W3(t.children):za(t)?t.data:""}function $d(t){return Array.isArray(t)?t.map($d).join(""):rn(t)&&!_h(t)?$d(t.children):za(t)?t.data:""}function rv(t){return Array.isArray(t)?t.map(rv).join(""):rn(t)&&(t.type===wr.Tag||yx(t))?rv(t.children):za(t)?t.data:""}function Ex(t){return rn(t)?t.children:[]}function JOe(t){return t.parent||null}function DH(t){let e=JOe(t);if(e!=null)return Ex(e);let r=[t],{prev:n,next:s}=t;for(;n!=null;)r.unshift(n),{prev:n}=n;for(;s!=null;)r.push(s),{next:s}=s;return r}function oGt(t,e){var r;return(r=t.attribs)===null||r===void 0?void 0:r[e]}function cGt(t,e){return t.attribs!=null&&Object.prototype.hasOwnProperty.call(t.attribs,e)&&t.attribs[e]!=null}function uGt(t){return t.name}function $3(t){let{next:e}=t;for(;e!==null&&!st(e);)({next:e}=e);return e}function F3(t){let{prev:e}=t;for(;e!==null&&!st(e);)({prev:e}=e);return e}function Fd(t){if(t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t.parent){let e=t.parent.children,r=e.lastIndexOf(t);r>=0&&e.splice(r,1)}t.next=null,t.prev=null,t.parent=null}function lGt(t,e){let r=e.prev=t.prev;r&&(r.next=e);let n=e.next=t.next;n&&(n.prev=e);let s=e.parent=t.parent;if(s){let i=s.children;i[i.lastIndexOf(t)]=e,t.parent=null}}function dGt(t,e){if(Fd(e),e.next=null,e.parent=t,t.children.push(e)>1){let r=t.children[t.children.length-2];r.next=e,e.prev=r}else e.prev=null}function fGt(t,e){Fd(e);let{parent:r}=t,n=t.next;if(e.next=n,e.prev=t,t.next=e,e.parent=r,n){if(n.prev=e,r){let s=r.children;s.splice(s.lastIndexOf(n),0,e)}}else r&&r.children.push(e)}function pGt(t,e){if(Fd(e),e.parent=t,e.prev=null,t.children.unshift(e)!==1){let r=t.children[1];r.prev=e,e.next=r}else e.next=null}function mGt(t,e){Fd(e);let{parent:r}=t;if(r){let n=r.children;n.splice(n.indexOf(t),0,e)}t.prev&&(t.prev.next=e),e.parent=r,e.prev=t.prev,e.next=t,t.prev=e}function _x(t,e,r=!0,n=1/0){return U3(t,Array.isArray(e)?e:[e],r,n)}function U3(t,e,r,n){let s=[],i=[Array.isArray(e)?e:[e]],a=[0];for(;;){if(a[0]>=i[0].length){if(a.length===1)return s;i.shift(),a.shift();continue}let o=i[0][a[0]++];if(t(o)&&(s.push(o),--n<=0))return s;r&&rn(o)&&o.children.length>0&&(a.unshift(0),i.unshift(o.children))}}function hGt(t,e){return e.find(t)}function q3(t,e,r=!0){let n=Array.isArray(e)?e:[e];for(let s=0;s<n.length;s++){let i=n[s];if(st(i)&&t(i))return i;if(r&&rn(i)&&i.children.length>0){let a=q3(t,i.children,!0);if(a)return a}}return null}function XOe(t,e){return(Array.isArray(e)?e:[e]).some(r=>st(r)&&t(r)||rn(r)&&XOe(t,r.children))}function gGt(t,e){let r=[],n=[Array.isArray(e)?e:[e]],s=[0];for(;;){if(s[0]>=n[0].length){if(n.length===1)return r;n.shift(),s.shift();continue}let i=n[0][s[0]++];st(i)&&t(i)&&r.push(i),rn(i)&&i.children.length>0&&(s.unshift(0),n.unshift(i.children))}}var j3={tag_name(t){return typeof t=="function"?e=>st(e)&&t(e.name):t==="*"?st:e=>st(e)&&e.name===t},tag_type(t){return typeof t=="function"?e=>t(e.type):e=>e.type===t},tag_contains(t){return typeof t=="function"?e=>za(e)&&t(e.data):e=>za(e)&&e.data===t}};function kH(t,e){return typeof e=="function"?r=>st(r)&&e(r.attribs[t]):r=>st(r)&&r.attribs[t]===e}function AGt(t,e){return r=>t(r)||e(r)}function ZOe(t){let e=Object.keys(t).map(r=>{let n=t[r];return Object.prototype.hasOwnProperty.call(j3,r)?j3[r](n):kH(r,n)});return e.length===0?null:e.reduce(AGt)}function yGt(t,e){let r=ZOe(t);return r?r(e):!0}function xGt(t,e,r,n=1/0){let s=ZOe(t);return s?_x(s,e,r,n):[]}function bGt(t,e,r=!0){return Array.isArray(e)||(e=[e]),q3(kH("id",t),e,r)}function Sh(t,e,r=!0,n=1/0){return _x(j3.tag_name(t),e,r,n)}function EGt(t,e,r=!0,n=1/0){return _x(kH("class",t),e,r,n)}function _Gt(t,e,r=!0,n=1/0){return _x(j3.tag_type(t),e,r,n)}function SGt(t){let e=t.length;for(;--e>=0;){let r=t[e];if(e>0&&t.lastIndexOf(r,e-1)>=0){t.splice(e,1);continue}for(let n=r.parent;n;n=n.parent)if(t.includes(n)){t.splice(e,1);break}}return t}var fc;(function(t){t[t.DISCONNECTED=1]="DISCONNECTED",t[t.PRECEDING=2]="PRECEDING",t[t.FOLLOWING=4]="FOLLOWING",t[t.CONTAINS=8]="CONTAINS",t[t.CONTAINED_BY=16]="CONTAINED_BY"})(fc||(fc={}));function ePe(t,e){let r=[],n=[];if(t===e)return 0;let s=rn(t)?t:t.parent;for(;s;)r.unshift(s),s=s.parent;for(s=rn(e)?e:e.parent;s;)n.unshift(s),s=s.parent;let i=Math.min(r.length,n.length),a=0;for(;a<i&&r[a]===n[a];)a++;if(a===0)return fc.DISCONNECTED;let o=r[a-1],c=o.children,u=r[a],l=n[a];return c.indexOf(u)>c.indexOf(l)?o===e?fc.FOLLOWING|fc.CONTAINED_BY:fc.FOLLOWING:o===t?fc.PRECEDING|fc.CONTAINS:fc.PRECEDING}function e0(t){return t=t.filter((e,r,n)=>!n.includes(e,r+1)),t.sort((e,r)=>{let n=ePe(e,r);return n&fc.PRECEDING?-1:n&fc.FOLLOWING?1:0}),t}function LH(t){let e=H3(wGt,t);return e?e.name==="feed"?vGt(e):CGt(e):null}function vGt(t){var e;let r=t.children,n={type:"atom",items:Sh("entry",r).map(a=>{var o;let{children:c}=a,u={media:tPe(c)};Ka(u,"id","id",c),Ka(u,"title","title",c);let l=(o=H3("link",c))===null||o===void 0?void 0:o.attribs.href;l&&(u.link=l);let d=t0("summary",c)||t0("content",c);d&&(u.description=d);let f=t0("updated",c);return f&&(u.pubDate=new Date(f)),u})};Ka(n,"id","id",r),Ka(n,"title","title",r);let s=(e=H3("link",r))===null||e===void 0?void 0:e.attribs.href;s&&(n.link=s),Ka(n,"description","subtitle",r);let i=t0("updated",r);return i&&(n.updated=new Date(i)),Ka(n,"author","email",r,!0),n}function CGt(t){var e,r;let n=(r=(e=H3("channel",t.children))===null||e===void 0?void 0:e.children)!==null&&r!==void 0?r:[],s={type:t.name.substr(0,3),id:"",items:Sh("item",t.children).map(a=>{let{children:o}=a,c={media:tPe(o)};Ka(c,"id","guid",o),Ka(c,"title","title",o),Ka(c,"link","link",o),Ka(c,"description","description",o);let u=t0("pubDate",o)||t0("dc:date",o);return u&&(c.pubDate=new Date(u)),c})};Ka(s,"title","title",n),Ka(s,"link","link",n),Ka(s,"description","description",n);let i=t0("lastBuildDate",n);return i&&(s.updated=new Date(i)),Ka(s,"author","managingEditor",n,!0),s}var IGt=["url","type","lang"],TGt=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function tPe(t){return Sh("media:content",t).map(e=>{let{attribs:r}=e,n={medium:r.medium,isDefault:!!r.isDefault};for(let s of IGt)r[s]&&(n[s]=r[s]);for(let s of TGt)r[s]&&(n[s]=parseInt(r[s],10));return r.expression&&(n.expression=r.expression),n})}function H3(t,e){return Sh(t,e,!0,1)[0]}function t0(t,e,r=!1){return $d(Sh(t,e,r,1)).trim()}function Ka(t,e,r,n,s=!1){let i=t0(r,n,s);i&&(t[e]=i)}function wGt(t){return t==="rss"||t==="feed"||t==="rdf:RDF"}function nPe(t,e,r){return t?t(e??t._root.children,null,void 0,r).toString():""}function RGt(t,e){return!e&&typeof t=="object"&&t!=null&&!("length"in t)&&!("type"in t)}function BH(t,e){let r=RGt(t)?(e=t,void 0):t,n={...zS,...this===null||this===void 0?void 0:this._options,...KS(e??{})};return nPe(this,r,n)}function MH(t){let e={...this._options,xmlMode:!0};return nPe(this,t,e)}function Ud(t){let e=t||(this?this.root():[]),r="";for(let n=0;n<e.length;n++)r+=$d(e[n]);return r}function NGt(t,e,r=typeof e=="boolean"?e:!1){if(!t||typeof t!="string")return null;typeof e=="boolean"&&(r=e);let n=this.load(t,zS,!1);return r||n("script").remove(),n.root()[0].children.slice()}function OGt(){return this(this._root)}function WH(t,e){if(e===t)return!1;let r=e;for(;r&&r!==r.parent;)if(r=r.parent,r===t)return!0;return!1}function PGt(t,e){if(!rPe(t)||!rPe(e))return;let r=t.length,n=+e.length;for(let s=0;s<n;s++)t[r++]=e[s];return t.length=r,t}function rPe(t){if(Array.isArray(t))return!0;if(typeof t!="object"||!Object.prototype.hasOwnProperty.call(t,"length")||typeof t.length!="number"||t.length<0)return!1;for(let e=0;e<t.length;e++)if(!(e in t))return!1;return!0}var qH={};is(qH,{addClass:()=>dPe,attr:()=>kGt,data:()=>BGt,hasClass:()=>$Gt,prop:()=>LGt,removeAttr:()=>WGt,removeClass:()=>fPe,toggleClass:()=>pPe,val:()=>MGt});function _o(t){return t.cheerio!=null}function sPe(t){return t.replace(/[_.-](\w|$)/g,(e,r)=>r.toUpperCase())}function iPe(t){return t.replace(/[A-Z]/g,"-$&").toLowerCase()}function mn(t,e){let r=t.length;for(let n=0;n<r;n++)e(t[n],n);return t}function Q3(t){let e="length"in t?Array.prototype.map.call(t,n=>ZS(n,!0)):[ZS(t,!0)],r=new Eo(e);return e.forEach(n=>{n.parent=r}),e}var vh;(function(t){t[t.LowerA=97]="LowerA",t[t.LowerZ=122]="LowerZ",t[t.UpperA=65]="UpperA",t[t.UpperZ=90]="UpperZ",t[t.Exclamation=33]="Exclamation"})(vh||(vh={}));function nv(t){let e=t.indexOf("<");if(e<0||e>t.length-3)return!1;let r=t.charCodeAt(e+1);return(r>=vh.LowerA&&r<=vh.LowerZ||r>=vh.UpperA&&r<=vh.UpperZ||r===vh.Exclamation)&&t.includes(">",e+2)}var Sx=Object.prototype.hasOwnProperty,sv=/\s+/,$H="data-",aPe={null:null,true:!0,false:!1},UH=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,DGt=/^{[^]*}$|^\[[^]*]$/;function G3(t,e,r){var n;if(!(!t||!st(t))){if((n=t.attribs)!==null&&n!==void 0||(t.attribs={}),!e)return t.attribs;if(Sx.call(t.attribs,e))return!r&&UH.test(e)?e:t.attribs[e];if(t.name==="option"&&e==="value")return Ud(t.children);if(t.name==="input"&&(t.attribs.type==="radio"||t.attribs.type==="checkbox")&&e==="value")return"on"}}function vx(t,e,r){r===null?lPe(t,e):t.attribs[e]=`${r}`}function kGt(t,e){if(typeof t=="object"||e!==void 0){if(typeof e=="function"){if(typeof t!="string")throw new Error("Bad combination of arguments.");return mn(this,(r,n)=>{st(r)&&vx(r,t,e.call(r,n,r.attribs[t]))})}return mn(this,r=>{st(r)&&(typeof t=="object"?Object.keys(t).forEach(n=>{let s=t[n];vx(r,n,s)}):vx(r,t,e))})}return arguments.length>1?this:G3(this[0],t,this.options.xmlMode)}function oPe(t,e,r){return e in t?t[e]:!r&&UH.test(e)?G3(t,e,!1)!==void 0:G3(t,e,r)}function FH(t,e,r,n){e in t?t[e]=r:vx(t,e,!n&&UH.test(e)?r?"":null:`${r}`)}function LGt(t,e){var r;if(typeof t=="string"&&e===void 0){let n=this[0];if(!n||!st(n))return;switch(t){case"style":{let s=this.css(),i=Object.keys(s);return i.forEach((a,o)=>{s[o]=a}),s.length=i.length,s}case"tagName":case"nodeName":return n.name.toUpperCase();case"href":case"src":{let s=(r=n.attribs)===null||r===void 0?void 0:r[t];return typeof URL<"u"&&(t==="href"&&(n.tagName==="a"||n.name==="link")||t==="src"&&(n.tagName==="img"||n.tagName==="iframe"||n.tagName==="audio"||n.tagName==="video"||n.tagName==="source"))&&s!==void 0&&this.options.baseURI?new URL(s,this.options.baseURI).href:s}case"innerText":return rv(n);case"textContent":return $d(n);case"outerHTML":return this.clone().wrap("<container />").parent().html();case"innerHTML":return this.html();default:return oPe(n,t,this.options.xmlMode)}}if(typeof t=="object"||e!==void 0){if(typeof e=="function"){if(typeof t=="object")throw new Error("Bad combination of arguments.");return mn(this,(n,s)=>{st(n)&&FH(n,t,e.call(n,s,oPe(n,t,this.options.xmlMode)),this.options.xmlMode)})}return mn(this,n=>{st(n)&&(typeof t=="object"?Object.keys(t).forEach(s=>{let i=t[s];FH(n,s,i,this.options.xmlMode)}):FH(n,t,e,this.options.xmlMode))})}}function cPe(t,e,r){var n;let s=t;(n=s.data)!==null&&n!==void 0||(s.data={}),typeof e=="object"?Object.assign(s.data,e):typeof e=="string"&&r!==void 0&&(s.data[e]=r)}function uPe(t,e){let r,n,s;e==null?(r=Object.keys(t.attribs).filter(i=>i.startsWith($H)),n=r.map(i=>sPe(i.slice($H.length)))):(r=[$H+iPe(e)],n=[e]);for(let i=0;i<r.length;++i){let a=r[i],o=n[i];if(Sx.call(t.attribs,a)&&!Sx.call(t.data,o)){if(s=t.attribs[a],Sx.call(aPe,s))s=aPe[s];else if(s===String(Number(s)))s=Number(s);else if(DGt.test(s))try{s=JSON.parse(s)}catch{}t.data[o]=s}}return e==null?t.data:s}function BGt(t,e){var r;let n=this[0];if(!n||!st(n))return;let s=n;return(r=s.data)!==null&&r!==void 0||(s.data={}),t?typeof t=="object"||e!==void 0?(mn(this,i=>{st(i)&&(typeof t=="object"?cPe(i,t):cPe(i,t,e))}),this):Sx.call(s.data,t)?s.data[t]:uPe(s,t):uPe(s)}function MGt(t){let e=arguments.length===0,r=this[0];if(!r||!st(r))return e?void 0:this;switch(r.name){case"textarea":return this.text(t);case"select":{let n=this.find("option:selected");if(!e){if(this.attr("multiple")==null&&typeof t=="object")return this;this.find("option").removeAttr("selected");let s=typeof t!="object"?[t]:t;for(let i=0;i<s.length;i++)this.find(`option[value="${s[i]}"]`).attr("selected","");return this}return this.attr("multiple")?n.toArray().map(s=>Ud(s.children)):n.attr("value")}case"input":case"option":return e?this.attr("value"):this.attr("value",t)}}function lPe(t,e){!t.attribs||!Sx.call(t.attribs,e)||delete t.attribs[e]}function V3(t){return t?t.trim().split(sv):[]}function WGt(t){let e=V3(t);for(let r=0;r<e.length;r++)mn(this,n=>{st(n)&&lPe(n,e[r])});return this}function $Gt(t){return this.toArray().some(e=>{let r=st(e)&&e.attribs.class,n=-1;if(r&&t.length)for(;(n=r.indexOf(t,n+1))>-1;){let s=n+t.length;if((n===0||sv.test(r[n-1]))&&(s===r.length||sv.test(r[s])))return!0}return!1})}function dPe(t){if(typeof t=="function")return mn(this,(n,s)=>{if(st(n)){let i=n.attribs.class||"";dPe.call([n],t.call(n,s,i))}});if(!t||typeof t!="string")return this;let e=t.split(sv),r=this.length;for(let n=0;n<r;n++){let s=this[n];if(!st(s))continue;let i=G3(s,"class",!1);if(!i)vx(s,"class",e.join(" ").trim());else{let a=` ${i} `;for(let o=0;o<e.length;o++){let c=`${e[o]} `;a.includes(` ${c}`)||(a+=c)}vx(s,"class",a.trim())}}return this}function fPe(t){if(typeof t=="function")return mn(this,(s,i)=>{st(s)&&fPe.call([s],t.call(s,i,s.attribs.class||""))});let e=V3(t),r=e.length,n=arguments.length===0;return mn(this,s=>{if(st(s))if(n)s.attribs.class="";else{let i=V3(s.attribs.class),a=!1;for(let o=0;o<r;o++){let c=i.indexOf(e[o]);c>=0&&(i.splice(c,1),a=!0,o--)}a&&(s.attribs.class=i.join(" "))}})}function pPe(t,e){if(typeof t=="function")return mn(this,(a,o)=>{st(a)&&pPe.call([a],t.call(a,o,a.attribs.class||"",e),e)});if(!t||typeof t!="string")return this;let r=t.split(sv),n=r.length,s=typeof e=="boolean"?e?1:-1:0,i=this.length;for(let a=0;a<i;a++){let o=this[a];if(!st(o))continue;let c=V3(o.attribs.class);for(let u=0;u<n;u++){let l=c.indexOf(r[u]);s>=0&&l<0?c.push(r[u]):s<=0&&l>=0&&c.splice(l,1)}o.attribs.class=c.join(" ")}return this}var dQ={};is(dQ,{add:()=>VVt,addBack:()=>zVt,children:()=>OVt,closest:()=>SVt,contents:()=>PVt,each:()=>DVt,end:()=>GVt,eq:()=>UVt,filter:()=>LVt,filterArray:()=>lQ,find:()=>xVt,first:()=>$Vt,get:()=>qVt,has:()=>WVt,index:()=>HVt,is:()=>BVt,last:()=>FVt,map:()=>kVt,next:()=>vVt,nextAll:()=>CVt,nextUntil:()=>IVt,not:()=>MVt,parent:()=>bVt,parents:()=>EVt,parentsUntil:()=>_Vt,prev:()=>TVt,prevAll:()=>wVt,prevUntil:()=>RVt,siblings:()=>NVt,slice:()=>QVt,toArray:()=>jVt});var Ja=Re(wx(),1);var eQ=Re(s0(),1);var su=Re(wx(),1),jd=Re(s0(),1);var ua=Re(wx(),1),wPe=new Map([[ua.SelectorType.Universal,50],[ua.SelectorType.Tag,30],[ua.SelectorType.Attribute,1],[ua.SelectorType.Pseudo,0]]);function av(t){return!wPe.has(t.type)}var eVt=new Map([[ua.AttributeAction.Exists,10],[ua.AttributeAction.Equals,8],[ua.AttributeAction.Not,7],[ua.AttributeAction.Start,6],[ua.AttributeAction.End,6],[ua.AttributeAction.Any,5]]);function HH(t){let e=t.map(RPe);for(let r=1;r<t.length;r++){let n=e[r];if(!(n<0))for(let s=r-1;s>=0&&n<e[s];s--){let i=t[s+1];t[s+1]=t[s],t[s]=i,e[s+1]=e[s],e[s]=n}}}function RPe(t){var e,r;let n=(e=wPe.get(t.type))!==null&&e!==void 0?e:-1;return t.type===ua.SelectorType.Attribute?(n=(r=eVt.get(t.action))!==null&&r!==void 0?r:4,t.action===ua.AttributeAction.Equals&&t.name==="id"&&(n=9),t.ignoreCase&&(n>>=1)):t.type===ua.SelectorType.Pseudo&&(t.data?t.name==="has"||t.name==="contains"?n=0:Array.isArray(t.data)?(n=Math.min(...t.data.map(s=>Math.min(...s.map(RPe)))),n<0&&(n=0)):n=2:n=3),n}var ov=Re(s0(),1),tVt=/[-[\]{}()*+?.,\\^$|#\s]/g;function NPe(t){return t.replace(tVt,"\\$&")}var rVt=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function Ch(t,e){return typeof t.ignoreCase=="boolean"?t.ignoreCase:t.ignoreCase==="quirks"?!!e.quirksMode:!e.xmlMode&&rVt.has(t.name)}var OPe={equals(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e;return Ch(e,r)?(i=i.toLowerCase(),a=>{let o=n.getAttributeValue(a,s);return o!=null&&o.length===i.length&&o.toLowerCase()===i&&t(a)}):a=>n.getAttributeValue(a,s)===i&&t(a)},hyphen(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e,a=i.length;return Ch(e,r)?(i=i.toLowerCase(),function(c){let u=n.getAttributeValue(c,s);return u!=null&&(u.length===a||u.charAt(a)==="-")&&u.substr(0,a).toLowerCase()===i&&t(c)}):function(c){let u=n.getAttributeValue(c,s);return u!=null&&(u.length===a||u.charAt(a)==="-")&&u.substr(0,a)===i&&t(c)}},element(t,e,r){let{adapter:n}=r,{name:s,value:i}=e;if(/\s/.test(i))return ov.default.falseFunc;let a=new RegExp(`(?:^|\\s)${NPe(i)}(?:$|\\s)`,Ch(e,r)?"i":"");return function(c){let u=n.getAttributeValue(c,s);return u!=null&&u.length>=i.length&&a.test(u)&&t(c)}},exists(t,{name:e},{adapter:r}){return n=>r.hasAttrib(n,e)&&t(n)},start(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e,a=i.length;return a===0?ov.default.falseFunc:Ch(e,r)?(i=i.toLowerCase(),o=>{let c=n.getAttributeValue(o,s);return c!=null&&c.length>=a&&c.substr(0,a).toLowerCase()===i&&t(o)}):o=>{var c;return!!(!((c=n.getAttributeValue(o,s))===null||c===void 0)&&c.startsWith(i))&&t(o)}},end(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e,a=-i.length;return a===0?ov.default.falseFunc:Ch(e,r)?(i=i.toLowerCase(),o=>{var c;return((c=n.getAttributeValue(o,s))===null||c===void 0?void 0:c.substr(a).toLowerCase())===i&&t(o)}):o=>{var c;return!!(!((c=n.getAttributeValue(o,s))===null||c===void 0)&&c.endsWith(i))&&t(o)}},any(t,e,r){let{adapter:n}=r,{name:s,value:i}=e;if(i==="")return ov.default.falseFunc;if(Ch(e,r)){let a=new RegExp(NPe(i),"i");return function(c){let u=n.getAttributeValue(c,s);return u!=null&&u.length>=i.length&&a.test(u)&&t(c)}}return a=>{var o;return!!(!((o=n.getAttributeValue(a,s))===null||o===void 0)&&o.includes(i))&&t(a)}},not(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e;return i===""?a=>!!n.getAttributeValue(a,s)&&t(a):Ch(e,r)?(i=i.toLowerCase(),a=>{let o=n.getAttributeValue(a,s);return(o==null||o.length!==i.length||o.toLowerCase()!==i)&&t(a)}):a=>n.getAttributeValue(a,s)!==i&&t(a)}};var LPe=Re(wx(),1);var nVt=new Set([9,10,12,13,32]),PPe=48,sVt=57;function DPe(t){if(t=t.trim().toLowerCase(),t==="even")return[2,0];if(t==="odd")return[2,1];let e=0,r=0,n=i(),s=a();if(e<t.length&&t.charAt(e)==="n"&&(e++,r=n*(s??1),o(),e<t.length?(n=i(),o(),s=a()):n=s=0),s===null||e<t.length)throw new Error(`n-th rule couldn't be parsed ('${t}')`);return[r,n*s];function i(){return t.charAt(e)==="-"?(e++,-1):(t.charAt(e)==="+"&&e++,1)}function a(){let c=e,u=0;for(;e<t.length&&t.charCodeAt(e)>=PPe&&t.charCodeAt(e)<=sVt;)u=u*10+(t.charCodeAt(e)-PPe),e++;return e===c?null:u}function o(){for(;e<t.length&&nVt.has(t.charCodeAt(e));)e++}}var QH=Re(s0(),1);function kPe(t){let e=t[0],r=t[1]-1;if(r<0&&e<=0)return QH.default.falseFunc;if(e===-1)return i=>i<=r;if(e===0)return i=>i===r;if(e===1)return r<0?QH.default.trueFunc:i=>i>=r;let n=Math.abs(e),s=(r%n+n)%n;return e>1?i=>i>=r&&i%n===s:i=>i<=r&&i%n===s}function Rx(t){return kPe(DPe(t))}var Ya=Re(s0(),1);function Y3(t,e){return r=>{let n=e.getParent(r);return n!=null&&e.isTag(n)&&t(r)}}var Nx={contains(t,e,{adapter:r}){return function(s){return t(s)&&r.getText(s).includes(e)}},icontains(t,e,{adapter:r}){let n=e.toLowerCase();return function(i){return t(i)&&r.getText(i).toLowerCase().includes(n)}},"nth-child"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Y3(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=0;u<o.length&&!n(a,o[u]);u++)r.isTag(o[u])&&c++;return s(c)&&t(a)}},"nth-last-child"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Y3(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=o.length-1;u>=0&&!n(a,o[u]);u--)r.isTag(o[u])&&c++;return s(c)&&t(a)}},"nth-of-type"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Y3(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=0;u<o.length;u++){let l=o[u];if(n(a,l))break;r.isTag(l)&&r.getName(l)===r.getName(a)&&c++}return s(c)&&t(a)}},"nth-last-of-type"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Y3(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=o.length-1;u>=0;u--){let l=o[u];if(n(a,l))break;r.isTag(l)&&r.getName(l)===r.getName(a)&&c++}return s(c)&&t(a)}},root(t,e,{adapter:r}){return n=>{let s=r.getParent(n);return(s==null||!r.isTag(s))&&t(n)}},scope(t,e,r,n){let{equals:s}=r;return!n||n.length===0?Nx.root(t,e,r):n.length===1?i=>s(n[0],i)&&t(i):i=>n.includes(i)&&t(i)},hover:GH("isHovered"),visited:GH("isVisited"),active:GH("isActive")};function GH(t){return function(r,n,{adapter:s}){let i=s[t];return typeof i!="function"?Ya.default.falseFunc:function(o){return i(o)&&r(o)}}}var cv={empty(t,{adapter:e}){return!e.getChildren(t).some(r=>e.isTag(r)||e.getText(r)!=="")},"first-child"(t,{adapter:e,equals:r}){if(e.prevElementSibling)return e.prevElementSibling(t)==null;let n=e.getSiblings(t).find(s=>e.isTag(s));return n!=null&&r(t,n)},"last-child"(t,{adapter:e,equals:r}){let n=e.getSiblings(t);for(let s=n.length-1;s>=0;s--){if(r(t,n[s]))return!0;if(e.isTag(n[s]))break}return!1},"first-of-type"(t,{adapter:e,equals:r}){let n=e.getSiblings(t),s=e.getName(t);for(let i=0;i<n.length;i++){let a=n[i];if(r(t,a))return!0;if(e.isTag(a)&&e.getName(a)===s)break}return!1},"last-of-type"(t,{adapter:e,equals:r}){let n=e.getSiblings(t),s=e.getName(t);for(let i=n.length-1;i>=0;i--){let a=n[i];if(r(t,a))return!0;if(e.isTag(a)&&e.getName(a)===s)break}return!1},"only-of-type"(t,{adapter:e,equals:r}){let n=e.getName(t);return e.getSiblings(t).every(s=>r(t,s)||!e.isTag(s)||e.getName(s)!==n)},"only-child"(t,{adapter:e,equals:r}){return e.getSiblings(t).every(n=>r(t,n)||!e.isTag(n))}};function VH(t,e,r,n){if(r===null){if(t.length>n)throw new Error(`Pseudo-class :${e} requires an argument`)}else if(t.length===n)throw new Error(`Pseudo-class :${e} doesn't have any arguments`)}var J3={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:`:is(
:is(button, input, select, textarea, optgroup, option)[disabled],
optgroup[disabled] > option,
fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)
)`,enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"};var pc=Re(s0(),1);var YH={};function JH(t,e){return t===pc.default.falseFunc?pc.default.falseFunc:r=>e.isTag(r)&&t(r)}function XH(t,e){let r=e.getSiblings(t);if(r.length<=1)return[];let n=r.indexOf(t);return n<0||n===r.length-1?[]:r.slice(n+1).filter(e.isTag)}function KH(t){return{xmlMode:!!t.xmlMode,lowerCaseAttributeNames:!!t.lowerCaseAttributeNames,lowerCaseTags:!!t.lowerCaseTags,quirksMode:!!t.quirksMode,cacheResults:!!t.cacheResults,pseudos:t.pseudos,adapter:t.adapter,equals:t.equals}}var zH=(t,e,r,n,s)=>{let i=s(e,KH(r),n);return i===pc.default.trueFunc?t:i===pc.default.falseFunc?pc.default.falseFunc:a=>i(a)&&t(a)},X3={is:zH,matches:zH,where:zH,not(t,e,r,n,s){let i=s(e,KH(r),n);return i===pc.default.falseFunc?t:i===pc.default.trueFunc?pc.default.falseFunc:a=>!i(a)&&t(a)},has(t,e,r,n,s){let{adapter:i}=r,a=KH(r);a.relativeSelector=!0;let o=e.some(l=>l.some(av))?[YH]:void 0,c=s(e,a,o);if(c===pc.default.falseFunc)return pc.default.falseFunc;let u=JH(c,i);if(o&&c!==pc.default.trueFunc){let{shouldTestNextSiblings:l=!1}=c;return d=>{if(!t(d))return!1;o[0]=d;let f=i.getChildren(d),p=l?[...f,...XH(d,i)]:f;return i.existsOne(u,p)}}return l=>t(l)&&i.existsOne(u,i.getChildren(l))}};function BPe(t,e,r,n,s){var i;let{name:a,data:o}=e;if(Array.isArray(o)){if(!(a in X3))throw new Error(`Unknown pseudo-class :${a}(${o})`);return X3[a](t,o,r,n,s)}let c=(i=r.pseudos)===null||i===void 0?void 0:i[a],u=typeof c=="string"?c:J3[a];if(typeof u=="string"){if(o!=null)throw new Error(`Pseudo ${a} doesn't have any arguments`);let l=(0,LPe.parse)(u);return X3.is(t,l,r,n,s)}if(typeof c=="function")return VH(c,a,o,1),l=>c(l,o)&&t(l);if(a in Nx)return Nx[a](t,o,r,n);if(a in cv){let l=cv[a];return VH(l,a,o,2),d=>l(d,r,o)&&t(d)}throw new Error(`Unknown pseudo-class :${a}`)}var mc=Re(wx(),1);function ZH(t,e){let r=e.getParent(t);return r&&e.isTag(r)?r:null}function MPe(t,e,r,n,s){let{adapter:i,equals:a}=r;switch(e.type){case mc.SelectorType.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case mc.SelectorType.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case mc.SelectorType.Attribute:{if(e.namespace!=null)throw new Error("Namespaced attributes are not yet supported by css-select");return(!r.xmlMode||r.lowerCaseAttributeNames)&&(e.name=e.name.toLowerCase()),OPe[e.action](t,e,r)}case mc.SelectorType.Pseudo:return BPe(t,e,r,n,s);case mc.SelectorType.Tag:{if(e.namespace!=null)throw new Error("Namespaced tag names are not yet supported by css-select");let{name:o}=e;return(!r.xmlMode||r.lowerCaseTags)&&(o=o.toLowerCase()),function(u){return i.getName(u)===o&&t(u)}}case mc.SelectorType.Descendant:{if(r.cacheResults===!1||typeof WeakSet>"u")return function(u){let l=u;for(;l=ZH(l,i);)if(t(l))return!0;return!1};let o=new WeakSet;return function(u){let l=u;for(;l=ZH(l,i);)if(!o.has(l)){if(i.isTag(l)&&t(l))return!0;o.add(l)}return!1}}case"_flexibleDescendant":return function(c){let u=c;do if(t(u))return!0;while(u=ZH(u,i));return!1};case mc.SelectorType.Parent:return function(c){return i.getChildren(c).some(u=>i.isTag(u)&&t(u))};case mc.SelectorType.Child:return function(c){let u=i.getParent(c);return u!=null&&i.isTag(u)&&t(u)};case mc.SelectorType.Sibling:return function(c){let u=i.getSiblings(c);for(let l=0;l<u.length;l++){let d=u[l];if(a(c,d))break;if(i.isTag(d)&&t(d))return!0}return!1};case mc.SelectorType.Adjacent:return i.prevElementSibling?function(c){let u=i.prevElementSibling(c);return u!=null&&t(u)}:function(c){let u=i.getSiblings(c),l;for(let d=0;d<u.length;d++){let f=u[d];if(a(c,f))break;i.isTag(f)&&(l=f)}return!!l&&t(l)};case mc.SelectorType.Universal:{if(e.namespace!=null&&e.namespace!=="*")throw new Error("Namespaced universal selectors are not yet supported by css-select");return t}}}function WPe(t,e,r){let n=Z3(t,e,r);return JH(n,e.adapter)}function Z3(t,e,r){let n=typeof t=="string"?(0,su.parse)(t):t;return eD(n,e,r)}function $Pe(t){return t.type===su.SelectorType.Pseudo&&(t.name==="scope"||Array.isArray(t.data)&&t.data.some(e=>e.some($Pe)))}var iVt={type:su.SelectorType.Descendant},aVt={type:"_flexibleDescendant"},oVt={type:su.SelectorType.Pseudo,name:"scope",data:null};function cVt(t,{adapter:e},r){let n=!!r?.every(s=>{let i=e.isTag(s)&&e.getParent(s);return s===YH||i&&e.isTag(i)});for(let s of t){if(!(s.length>0&&av(s[0])&&s[0].type!==su.SelectorType.Descendant))if(n&&!s.some($Pe))s.unshift(iVt);else continue;s.unshift(oVt)}}function eD(t,e,r){var n;t.forEach(HH),r=(n=e.context)!==null&&n!==void 0?n:r;let s=Array.isArray(r),i=r&&(Array.isArray(r)?r:[r]);if(e.relativeSelector!==!1)cVt(t,e,i);else if(t.some(c=>c.length>0&&av(c[0])))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");let a=!1,o=t.map(c=>{if(c.length>=2){let[u,l]=c;u.type!==su.SelectorType.Pseudo||u.name!=="scope"||(s&&l.type===su.SelectorType.Descendant?c[1]=aVt:(l.type===su.SelectorType.Adjacent||l.type===su.SelectorType.Sibling)&&(a=!0))}return uVt(c,e,i)}).reduce(lVt,jd.default.falseFunc);return o.shouldTestNextSiblings=a,o}function uVt(t,e,r){var n;return t.reduce((s,i)=>s===jd.default.falseFunc?jd.default.falseFunc:MPe(s,i,e,r,eD),(n=e.rootFunc)!==null&&n!==void 0?n:jd.default.trueFunc)}function lVt(t,e){return e===jd.default.falseFunc||t===jd.default.trueFunc?t:t===jd.default.falseFunc||e===jd.default.trueFunc?e:function(n){return t(n)||e(n)}}var FPe=(t,e)=>t===e,dVt={adapter:r0,equals:FPe};function UPe(t){var e,r,n,s;let i=t??dVt;return(e=i.adapter)!==null&&e!==void 0||(i.adapter=r0),(r=i.equals)!==null&&r!==void 0||(i.equals=(s=(n=i.adapter)===null||n===void 0?void 0:n.equals)!==null&&s!==void 0?s:FPe),i}function tQ(t){return function(r,n,s){let i=UPe(n);return t(r,i,s)}}var xFr=tQ(WPe),bFr=tQ(Z3),tD=tQ(eD);function qPe(t){return function(r,n,s){let i=UPe(s);typeof r!="function"&&(r=Z3(r,i,n));let a=rD(n,i.adapter,r.shouldTestNextSiblings);return t(r,a,i)}}function rD(t,e,r=!1){return r&&(t=fVt(t,e)),Array.isArray(t)?e.removeSubsets(t):e.getChildren(t)}function fVt(t,e){let r=Array.isArray(t)?t.slice(0):[t],n=r.length;for(let s=0;s<n;s++){let i=XH(r[s],e);r.push(...i)}return r}var EFr=qPe((t,e,r)=>t===eQ.default.falseFunc||!e||e.length===0?[]:r.adapter.findAll(t,e)),_Fr=qPe((t,e,r)=>t===eQ.default.falseFunc||!e||e.length===0?null:r.adapter.findOne(t,e));var sD=Re(s0(),1);var pVt=new Set(["first","last","eq","gt","nth","lt","even","odd"]);function Ox(t){return t.type!=="pseudo"?!1:pVt.has(t.name)?!0:t.name==="not"&&Array.isArray(t.data)?t.data.some(e=>e.some(Ox)):!1}function jPe(t,e,r){let n=e!=null?parseInt(e,10):NaN;switch(t){case"first":return 1;case"nth":case"eq":return isFinite(n)?n>=0?n+1:1/0:0;case"lt":return isFinite(n)?n>=0?Math.min(n,r):1/0:0;case"gt":return isFinite(n)?1/0:0;case"odd":return 2*r;case"even":return 2*r-1;case"last":case"not":return 1/0}}function HPe(t){for(;t.parent;)t=t.parent;return t}function nD(t){let e=[],r=[];for(let n of t)n.some(Ox)?e.push(n):r.push(n);return[r,e]}var mVt={type:Ja.SelectorType.Universal,namespace:null},hVt={type:Ja.SelectorType.Pseudo,name:"scope",data:null};function sQ(t,e,r={}){return iQ([t],e,r)}function iQ(t,e,r={}){if(typeof e=="function")return t.some(e);let[n,s]=nD((0,Ja.parse)(e));return n.length>0&&t.some(tD(n,r))||s.some(i=>GPe(i,t,r).length>0)}function gVt(t,e,r,n){let s=typeof r=="string"?parseInt(r,10):NaN;switch(t){case"first":case"lt":return e;case"last":return e.length>0?[e[e.length-1]]:e;case"nth":case"eq":return isFinite(s)&&Math.abs(s)<e.length?[s<0?e[e.length+s]:e[s]]:[];case"gt":return isFinite(s)?e.slice(s+1):[];case"even":return e.filter((i,a)=>a%2===0);case"odd":return e.filter((i,a)=>a%2===1);case"not":{let i=new Set(QPe(r,e,n));return e.filter(a=>!i.has(a))}}}function aQ(t,e,r={}){return QPe((0,Ja.parse)(t),e,r)}function QPe(t,e,r){if(e.length===0)return[];let[n,s]=nD(t),i;if(n.length){let a=nQ(e,n,r);if(s.length===0)return a;a.length&&(i=new Set(a))}for(let a=0;a<s.length&&i?.size!==e.length;a++){let o=s[a];if((i?e.filter(l=>st(l)&&!i.has(l)):e).length===0)break;let u=GPe(o,e,r);if(u.length)if(i)u.forEach(l=>i.add(l));else{if(a===s.length-1)return u;i=new Set(u)}}return typeof i<"u"?i.size===e.length?e:e.filter(a=>i.has(a)):[]}function GPe(t,e,r){var n;if(t.some(Ja.isTraversal)){let s=(n=r.root)!==null&&n!==void 0?n:HPe(e[0]),i={...r,context:e,relativeSelector:!1};return t.push(hVt),iD(s,t,i,!0,e.length)}return iD(e,t,r,!1,e.length)}function VPe(t,e,r={},n=1/0){if(typeof t=="function")return zPe(e,t);let[s,i]=nD((0,Ja.parse)(t)),a=i.map(o=>iD(e,o,r,!0,n));return s.length&&a.push(rQ(e,s,r,n)),a.length===0?[]:a.length===1?a[0]:e0(a.reduce((o,c)=>[...o,...c]))}function iD(t,e,r,n,s){let i=e.findIndex(Ox),a=e.slice(0,i),o=e[i],c=e.length-1===i?s:1/0,u=jPe(o.name,o.data,c);if(u===0)return[];let d=(a.length===0&&!Array.isArray(t)?Ex(t).filter(st):a.length===0?(Array.isArray(t)?t:[t]).filter(st):n||a.some(Ja.isTraversal)?rQ(t,[a],r,u):nQ(t,[a],r)).slice(0,u),f=gVt(o.name,d,o.data,r);if(f.length===0||e.length===i+1)return f;let p=e.slice(i+1),m=p.some(Ja.isTraversal);if(m){if((0,Ja.isTraversal)(p[0])){let{type:h}=p[0];(h===Ja.SelectorType.Sibling||h===Ja.SelectorType.Adjacent)&&(f=rD(f,r0,!0)),p.unshift(mVt)}r={...r,relativeSelector:!1,rootFunc:h=>f.includes(h)}}else r.rootFunc&&r.rootFunc!==sD.trueFunc&&(r={...r,rootFunc:sD.trueFunc});return p.some(Ox)?iD(f,p,r,!1,s):m?rQ(f,[p],r,s):nQ(f,[p],r)}function rQ(t,e,r,n){let s=tD(e,r,t);return zPe(t,s,n)}function zPe(t,e,r=1/0){let n=rD(t,r0,e.shouldTestNextSiblings);return U3(s=>st(s)&&e(s),n,!0,r)}function nQ(t,e,r){let n=(Array.isArray(t)?t:[t]).filter(st);if(n.length===0)return n;let s=tD(e,r);return s===sD.trueFunc?n:n.filter(s)}var yVt=/^\s*[~+]/;function xVt(t){var e;if(!t)return this._make([]);let r=this.toArray();if(typeof t!="string"){let i=_o(t)?t.toArray():[t];return this._make(i.filter(a=>r.some(o=>WH(o,a))))}let n=yVt.test(t)?r:this.children().toArray(),s={context:r,root:(e=this._root)===null||e===void 0?void 0:e[0],xmlMode:this.options.xmlMode,lowerCaseTags:this.options.lowerCaseTags,lowerCaseAttributeNames:this.options.lowerCaseAttributeNames,pseudos:this.options.pseudos,quirksMode:this.options.quirksMode};return this._make(VPe(t,n,s))}function oQ(t){return function(e,...r){return function(n){var s;let i=t(e,this);return n&&(i=lQ(i,n,this.options.xmlMode,(s=this._root)===null||s===void 0?void 0:s[0])),this._make(this.length>1&&i.length>1?r.reduce((a,o)=>o(a),i):i)}}}var uv=oQ((t,e)=>{let r=[];for(let n=0;n<e.length;n++){let s=t(e[n]);r.push(s)}return new Array().concat(...r)}),cQ=oQ((t,e)=>{let r=[];for(let n=0;n<e.length;n++){let s=t(e[n]);s!==null&&r.push(s)}return r});function uQ(t,...e){let r=null,n=oQ((s,i)=>{let a=[];return mn(i,o=>{for(let c;(c=s(o))&&!r?.(c,a.length);o=c)a.push(c)}),a})(t,...e);return function(s,i){r=typeof s=="string"?o=>sQ(o,s,this.options):s?lv(s):null;let a=n.call(this,i);return r=null,a}}function Px(t){return Array.from(new Set(t))}var bVt=cQ(({parent:t})=>t&&!nu(t)?t:null,Px),EVt=uv(t=>{let e=[];for(;t.parent&&!nu(t.parent);)e.push(t.parent),t=t.parent;return e},e0,t=>t.reverse()),_Vt=uQ(({parent:t})=>t&&!nu(t)?t:null,e0,t=>t.reverse());function SVt(t){var e;let r=[];if(!t)return this._make(r);let n={xmlMode:this.options.xmlMode,root:(e=this._root)===null||e===void 0?void 0:e[0]},s=typeof t=="string"?i=>sQ(i,t,n):lv(t);return mn(this,i=>{for(;i&&st(i);){if(s(i,0)){r.includes(i)||r.push(i);break}i=i.parent}}),this._make(r)}var vVt=cQ(t=>$3(t)),CVt=uv(t=>{let e=[];for(;t.next;)t=t.next,st(t)&&e.push(t);return e},Px),IVt=uQ(t=>$3(t),Px),TVt=cQ(t=>F3(t)),wVt=uv(t=>{let e=[];for(;t.prev;)t=t.prev,st(t)&&e.push(t);return e},Px),RVt=uQ(t=>F3(t),Px),NVt=uv(t=>DH(t).filter(e=>st(e)&&e!==t),e0),OVt=uv(t=>Ex(t).filter(st),Px);function PVt(){let t=this.toArray().reduce((e,r)=>rn(r)?e.concat(r.children):e,[]);return this._make(t)}function DVt(t){let e=0,r=this.length;for(;e<r&&t.call(this[e],e,this[e])!==!1;)++e;return this}function kVt(t){let e=[];for(let r=0;r<this.length;r++){let n=this[r],s=t.call(n,r,n);s!=null&&(e=e.concat(s))}return this._make(e)}function lv(t){return typeof t=="function"?(e,r)=>t.call(e,r,e):_o(t)?e=>Array.prototype.includes.call(t,e):function(e){return t===e}}function LVt(t){var e;return this._make(lQ(this.toArray(),t,this.options.xmlMode,(e=this._root)===null||e===void 0?void 0:e[0]))}function lQ(t,e,r,n){return typeof e=="string"?aQ(e,t,{xmlMode:r,root:n}):t.filter(lv(e))}function BVt(t){let e=this.toArray();return typeof t=="string"?iQ(e.filter(st),t,this.options):t?e.some(lv(t)):!1}function MVt(t){let e=this.toArray();if(typeof t=="string"){let r=new Set(aQ(t,e,this.options));e=e.filter(n=>!r.has(n))}else{let r=lv(t);e=e.filter((n,s)=>!r(n,s))}return this._make(e)}function WVt(t){return this.filter(typeof t=="string"?`:has(${t})`:(e,r)=>this._make(r).find(t).length>0)}function $Vt(){return this.length>1?this._make(this[0]):this}function FVt(){return this.length>0?this._make(this[this.length-1]):this}function UVt(t){var e;return t=+t,t===0&&this.length<=1?this:(t<0&&(t=this.length+t),this._make((e=this[t])!==null&&e!==void 0?e:[]))}function qVt(t){return t==null?this.toArray():this[t<0?this.length+t:t]}function jVt(){return Array.prototype.slice.call(this)}function HVt(t){let e,r;return t==null?(e=this.parent().children(),r=this[0]):typeof t=="string"?(e=this._make(t),r=this[0]):(e=this,r=_o(t)?t[0]:t),Array.prototype.indexOf.call(e,r)}function QVt(t,e){return this._make(Array.prototype.slice.call(this,t,e))}function GVt(){var t;return(t=this.prevObject)!==null&&t!==void 0?t:this._make([])}function VVt(t,e){let r=this._make(t,e),n=e0([...this.get(),...r.get()]);return this._make(n)}function zVt(t){return this.prevObject?this.add(t?this.prevObject.filter(t):this.prevObject):this}var fQ={};is(fQ,{_makeDomArray:()=>KVt,after:()=>szt,append:()=>XVt,appendTo:()=>YVt,before:()=>azt,clone:()=>mzt,empty:()=>lzt,html:()=>dzt,insertAfter:()=>izt,insertBefore:()=>ozt,prepend:()=>ZVt,prependTo:()=>JVt,remove:()=>czt,replaceWith:()=>uzt,text:()=>pzt,toString:()=>fzt,unwrap:()=>rzt,wrap:()=>ezt,wrapAll:()=>nzt,wrapInner:()=>tzt});function KPe(t){return function(r,n,s,i){if(typeof Buffer<"u"&&Buffer.isBuffer(r)&&(r=r.toString()),typeof r=="string")return t(r,n,s,i);let a=r;if(!Array.isArray(a)&&nu(a))return a;let o=new Eo([]);return i0(a,o),o}}function i0(t,e){let r=Array.isArray(t)?t:[t];e?e.children=r:e=null;for(let n=0;n<r.length;n++){let s=r[n];s.parent&&s.parent.children!==r&&Fd(s),e?(s.prev=r[n-1]||null,s.next=r[n+1]||null):s.prev=s.next=null,s.parent=e}return e}function KVt(t,e){return t==null?[]:_o(t)?e?Q3(t.get()):t.get():Array.isArray(t)?t.reduce((r,n)=>r.concat(this._makeDomArray(n,e)),[]):typeof t=="string"?this._parse(t,this.options,!1,null).children:e?Q3([t]):[t]}function YPe(t){return function(...e){let r=this.length-1;return mn(this,(n,s)=>{if(!rn(n))return;let i=typeof e[0]=="function"?e[0].call(n,s,this._render(n.children)):e,a=this._makeDomArray(i,s<r);t(a,n.children,n)})}}function a0(t,e,r,n,s){var i,a;let o=[e,r,...n],c=e===0?null:t[e-1],u=e+r>=t.length?null:t[e+r];for(let l=0;l<n.length;++l){let d=n[l],f=d.parent;if(f){let m=f.children.indexOf(d);m>-1&&(f.children.splice(m,1),s===f&&e>m&&o[0]--)}d.parent=s,d.prev&&(d.prev.next=(i=d.next)!==null&&i!==void 0?i:null),d.next&&(d.next.prev=(a=d.prev)!==null&&a!==void 0?a:null),d.prev=l===0?c:n[l-1],d.next=l===n.length-1?u:n[l+1]}return c&&(c.next=n[0]),u&&(u.prev=n[n.length-1]),t.splice(...o)}function YVt(t){return(_o(t)?t:this._make(t)).append(this),this}function JVt(t){return(_o(t)?t:this._make(t)).prepend(this),this}var XVt=YPe((t,e,r)=>{a0(e,e.length,0,t,r)}),ZVt=YPe((t,e,r)=>{a0(e,0,0,t,r)});function JPe(t){return function(e){let r=this.length-1,n=this.parents().last();for(let s=0;s<this.length;s++){let i=this[s],a=typeof e=="function"?e.call(i,s,i):typeof e=="string"&&!nv(e)?n.find(e).clone():e,[o]=this._makeDomArray(a,s<r);if(!o||!rn(o))continue;let c=o,u=0;for(;u<c.children.length;){let l=c.children[u];st(l)?(c=l,u=0):u++}t(i,c,[o])}return this}}var ezt=JPe((t,e,r)=>{let{parent:n}=t;if(!n)return;let s=n.children,i=s.indexOf(t);i0([t],e),a0(s,i,0,r,n)}),tzt=JPe((t,e,r)=>{rn(t)&&(i0(t.children,e),i0(r,t))});function rzt(t){return this.parent(t).not("body").each((e,r)=>{this._make(r).replaceWith(r.children)}),this}function nzt(t){let e=this[0];if(e){let r=this._make(typeof t=="function"?t.call(e,0,e):t).insertBefore(e),n;for(let i=0;i<r.length;i++)r[i].type==="tag"&&(n=r[i]);let s=0;for(;n&&s<n.children.length;){let i=n.children[s];i.type==="tag"?(n=i,s=0):s++}n&&this._make(n).append(this)}return this}function szt(...t){let e=this.length-1;return mn(this,(r,n)=>{let{parent:s}=r;if(!rn(r)||!s)return;let i=s.children,a=i.indexOf(r);if(a<0)return;let o=typeof t[0]=="function"?t[0].call(r,n,this._render(r.children)):t,c=this._makeDomArray(o,n<e);a0(i,a+1,0,c,s)})}function izt(t){typeof t=="string"&&(t=this._make(t)),this.remove();let e=[];return this._makeDomArray(t).forEach(r=>{let n=this.clone().toArray(),{parent:s}=r;if(!s)return;let i=s.children,a=i.indexOf(r);a<0||(a0(i,a+1,0,n,s),e.push(...n))}),this._make(e)}function azt(...t){let e=this.length-1;return mn(this,(r,n)=>{let{parent:s}=r;if(!rn(r)||!s)return;let i=s.children,a=i.indexOf(r);if(a<0)return;let o=typeof t[0]=="function"?t[0].call(r,n,this._render(r.children)):t,c=this._makeDomArray(o,n<e);a0(i,a,0,c,s)})}function ozt(t){let e=this._make(t);this.remove();let r=[];return mn(e,n=>{let s=this.clone().toArray(),{parent:i}=n;if(!i)return;let a=i.children,o=a.indexOf(n);o<0||(a0(a,o,0,s,i),r.push(...s))}),this._make(r)}function czt(t){let e=t?this.filter(t):this;return mn(e,r=>{Fd(r),r.prev=r.next=r.parent=null}),this}function uzt(t){return mn(this,(e,r)=>{let{parent:n}=e;if(!n)return;let s=n.children,i=typeof t=="function"?t.call(e,r,e):t,a=this._makeDomArray(i);i0(a,null);let o=s.indexOf(e);a0(s,o,1,a,n),a.includes(e)||(e.parent=e.prev=e.next=null)})}function lzt(){return mn(this,t=>{rn(t)&&(t.children.forEach(e=>{e.next=e.prev=e.parent=null}),t.children.length=0)})}function dzt(t){if(t===void 0){let e=this[0];return!e||!rn(e)?null:this._render(e.children)}return mn(this,e=>{if(!rn(e))return;e.children.forEach(n=>{n.next=n.prev=n.parent=null});let r=_o(t)?t.toArray():this._parse(`${t}`,this.options,!1,e).children;i0(r,e)})}function fzt(){return this._render(this)}function pzt(t){return t===void 0?Ud(this):typeof t=="function"?mn(this,(e,r)=>this._make(e).text(t.call(e,r,Ud([e])))):mn(this,e=>{if(!rn(e))return;e.children.forEach(n=>{n.next=n.prev=n.parent=null});let r=new ll(`${t}`);i0(r,e)})}function mzt(){return this._make(Q3(this.get()))}var pQ={};is(pQ,{css:()=>hzt});function hzt(t,e){if(t!=null&&e!=null||typeof t=="object"&&!Array.isArray(t))return mn(this,(r,n)=>{st(r)&&XPe(r,t,e,n)});if(this.length!==0)return ZPe(this[0],t)}function XPe(t,e,r,n){if(typeof e=="string"){let s=ZPe(t),i=typeof r=="function"?r.call(t,n,s[e]):r;i===""?delete s[e]:i!=null&&(s[e]=i),t.attribs.style=gzt(s)}else typeof e=="object"&&Object.keys(e).forEach((s,i)=>{XPe(t,s,e[s],i)})}function ZPe(t,e){if(!t||!st(t))return;let r=Azt(t.attribs.style);if(typeof e=="string")return r[e];if(Array.isArray(e)){let n={};return e.forEach(s=>{r[s]!=null&&(n[s]=r[s])}),n}return r}function gzt(t){return Object.keys(t).reduce((e,r)=>`${e}${e?" ":""}${r}: ${t[r]};`,"")}function Azt(t){if(t=(t||"").trim(),!t)return{};let e={},r;for(let n of t.split(";")){let s=n.indexOf(":");if(s<1||s===n.length-1){let i=n.trimEnd();i.length>0&&r!==void 0&&(e[r]+=`;${i}`)}else r=n.slice(0,s).trim(),e[r]=n.slice(s+1).trim()}return e}var mQ={};is(mQ,{serialize:()=>xzt,serializeArray:()=>bzt});var e3e="input,select,textarea,keygen",yzt=/%20/g,t3e=/\r?\n/g;function xzt(){return this.serializeArray().map(r=>`${encodeURIComponent(r.name)}=${encodeURIComponent(r.value)}`).join("&").replace(yzt,"+")}function bzt(){return this.map((t,e)=>{let r=this._make(e);return st(e)&&e.name==="form"?r.find(e3e).toArray():r.filter(e3e).toArray()}).filter('[name!=""]:enabled:not(:submit, :button, :image, :reset, :file):matches([checked], :not(:checkbox, :radio))').map((t,e)=>{var r;let n=this._make(e),s=n.attr("name"),i=(r=n.val())!==null&&r!==void 0?r:"";return Array.isArray(i)?i.map(a=>({name:s,value:a.replace(t3e,`\r
`)})):{name:s,value:i.replace(t3e,`\r
`)}}).toArray()}var o0=class{constructor(e,r,n){if(this.length=0,this.options=n,this._root=r,e){for(let s=0;s<e.length;s++)this[s]=e[s];this.length=e.length}}};o0.prototype.cheerio="[cheerio object]";o0.prototype.splice=Array.prototype.splice;o0.prototype[Symbol.iterator]=Array.prototype[Symbol.iterator];Object.assign(o0.prototype,qH,dQ,fQ,pQ,mQ);function r3e(t,e){return function r(n,s,i=!0){if(n==null)throw new Error("cheerio.load() expects a string");let a={...zS,...KS(s)},o=t(n,a,i,null);class c extends o0{_make(d,f){let p=u(d,f);return p.prevObject=this,p}_parse(d,f,p,m){return t(d,f,p,m)}_render(d){return e(d,this.options)}}function u(l,d,f=o,p){if(l&&_o(l))return l;let m={...a,...KS(p)},h=typeof f=="string"?[t(f,m,!1,null)]:"length"in f?f:[f],A=_o(h)?h:new c(h,null,m);if(A._root=A,!l)return new c(void 0,A,m);let g=typeof l=="string"&&nv(l)?t(l,m,!1,null).children:Ezt(l)?[l]:Array.isArray(l)?l:void 0,b=new c(g,A,m);if(g)return b;if(typeof l!="string")throw new Error("Unexpected type of selector");let y=l,x=d?typeof d=="string"?nv(d)?new c([t(d,m,!1,null)],A,m):(y=`${d} ${y}`,A):_o(d)?d:new c(Array.isArray(d)?d:[d],A,m):A;return x?x.find(y):b}return Object.assign(u,n0,{load:r,_root:o,_options:a,fn:c.prototype,prototype:c.prototype}),u}}function Ezt(t){return!!t.name||t.type==="root"||t.type==="text"||t.type==="comment"}var _zt=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]),_n="\uFFFD",Q;(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.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_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_Z=122]="LATIN_SMALL_Z"})(Q||(Q={}));var la={DASH_DASH:"--",CDATA_START:"[CDATA[",DOCTYPE:"doctype",SCRIPT:"script",PUBLIC:"public",SYSTEM:"system"};function aD(t){return t>=55296&&t<=57343}function n3e(t){return t>=56320&&t<=57343}function s3e(t,e){return(t-55296)*1024+9216+e}function oD(t){return t!==32&&t!==10&&t!==13&&t!==9&&t!==12&&t>=1&&t<=31||t>=127&&t<=159}function cD(t){return t>=64976&&t<=65007||_zt.has(t)}var me;(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"})(me||(me={}));var vzt=65536,uD=class{constructor(e){this.handler=e,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=vzt,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(e,r){let{line:n,col:s,offset:i}=this,a=s+r,o=i+r;return{code:e,startLine:n,endLine:n,startCol:a,endCol:a,startOffset:o,endOffset:o}}_err(e){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(e,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.html.length-1){let r=this.html.charCodeAt(this.pos+1);if(n3e(r))return this.pos++,this._addGap(),s3e(e,r)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,Q.EOF;return this._err(me.surrogateInInputStream),e}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(e,r){this.html.length>0?this.html+=e:this.html=e,this.endOfChunkHit=!1,this.lastChunkWritten=r}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(e,r){if(this.pos+e.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(r)return this.html.startsWith(e,this.pos);for(let n=0;n<e.length;n++)if((this.html.charCodeAt(this.pos+n)|32)!==e.charCodeAt(n))return!1;return!0}peek(e){let r=this.pos+e;if(r>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Q.EOF;let n=this.html.charCodeAt(r);return n===Q.CARRIAGE_RETURN?Q.LINE_FEED:n}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,Q.EOF;let e=this.html.charCodeAt(this.pos);return e===Q.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,Q.LINE_FEED):e===Q.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,aD(e)&&(e=this._processSurrogate(e)),this.handler.onParseError===null||e>31&&e<127||e===Q.LINE_FEED||e===Q.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}_checkForProblematicCharacters(e){oD(e)?this._err(me.controlCharacterInInputStream):cD(e)&&this._err(me.noncharacterInInputStream)}retreat(e){for(this.pos-=e;this.pos<this.lastGapPos;)this.lastGapPos=this.gapStack.pop(),this.pos--;this.isEol=!1}};var br;(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"})(br||(br={}));function lD(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}var dD=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(t=>t.charCodeAt(0)));var hQ,Izt=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]]),i3e=(hQ=String.fromCodePoint)!==null&&hQ!==void 0?hQ:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|t&1023),e+=String.fromCharCode(t),e};function gQ(t){var e;return t>=55296&&t<=57343||t>1114111?65533:(e=Izt.get(t))!==null&&e!==void 0?e:t}var Zs;(function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",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.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"})(Zs||(Zs={}));var wzt=32,c0;(function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"})(c0||(c0={}));function AQ(t){return t>=Zs.ZERO&&t<=Zs.NINE}function Rzt(t){return t>=Zs.UPPER_A&&t<=Zs.UPPER_F||t>=Zs.LOWER_A&&t<=Zs.LOWER_F}function Nzt(t){return t>=Zs.UPPER_A&&t<=Zs.UPPER_Z||t>=Zs.LOWER_A&&t<=Zs.LOWER_Z||AQ(t)}function Ozt(t){return t===Zs.EQUALS||Nzt(t)}var Xs;(function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"})(Xs||(Xs={}));var fl;(function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"})(fl||(fl={}));var fD=class{constructor(e,r,n){this.decodeTree=e,this.emitCodePoint=r,this.errors=n,this.state=Xs.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=fl.Strict}startEntity(e){this.decodeMode=e,this.state=Xs.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,r){switch(this.state){case Xs.EntityStart:return e.charCodeAt(r)===Zs.NUM?(this.state=Xs.NumericStart,this.consumed+=1,this.stateNumericStart(e,r+1)):(this.state=Xs.NamedEntity,this.stateNamedEntity(e,r));case Xs.NumericStart:return this.stateNumericStart(e,r);case Xs.NumericDecimal:return this.stateNumericDecimal(e,r);case Xs.NumericHex:return this.stateNumericHex(e,r);case Xs.NamedEntity:return this.stateNamedEntity(e,r)}}stateNumericStart(e,r){return r>=e.length?-1:(e.charCodeAt(r)|wzt)===Zs.LOWER_X?(this.state=Xs.NumericHex,this.consumed+=1,this.stateNumericHex(e,r+1)):(this.state=Xs.NumericDecimal,this.stateNumericDecimal(e,r))}addToNumericResult(e,r,n,s){if(r!==n){let i=n-r;this.result=this.result*Math.pow(s,i)+Number.parseInt(e.substr(r,i),s),this.consumed+=i}}stateNumericHex(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(AQ(s)||Rzt(s))r+=1;else return this.addToNumericResult(e,n,r,16),this.emitNumericEntity(s,3)}return this.addToNumericResult(e,n,r,16),-1}stateNumericDecimal(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(AQ(s))r+=1;else return this.addToNumericResult(e,n,r,10),this.emitNumericEntity(s,2)}return this.addToNumericResult(e,n,r,10),-1}emitNumericEntity(e,r){var n;if(this.consumed<=r)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===Zs.SEMI)this.consumed+=1;else if(this.decodeMode===fl.Strict)return 0;return this.emitCodePoint(gQ(this.result),this.consumed),this.errors&&(e!==Zs.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,r){let{decodeTree:n}=this,s=n[this.treeIndex],i=(s&c0.VALUE_LENGTH)>>14;for(;r<e.length;r++,this.excess++){let a=e.charCodeAt(r);if(this.treeIndex=Pzt(n,s,this.treeIndex+Math.max(1,i),a),this.treeIndex<0)return this.result===0||this.decodeMode===fl.Attribute&&(i===0||Ozt(a))?0:this.emitNotTerminatedNamedEntity();if(s=n[this.treeIndex],i=(s&c0.VALUE_LENGTH)>>14,i!==0){if(a===Zs.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==fl.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:r,decodeTree:n}=this,s=(n[r]&c0.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,s,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,r,n){let{decodeTree:s}=this;return this.emitCodePoint(r===1?s[e]&~c0.VALUE_LENGTH:s[e+1],n),r===3&&this.emitCodePoint(s[e+2],n),n}end(){var e;switch(this.state){case Xs.NamedEntity:return this.result!==0&&(this.decodeMode!==fl.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Xs.NumericDecimal:return this.emitNumericEntity(0,2);case Xs.NumericHex:return this.emitNumericEntity(0,3);case Xs.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Xs.EntityStart:return 0}}};function Pzt(t,e,r,n){let s=(e&c0.BRANCH_LENGTH)>>7,i=e&c0.JUMP_TABLE;if(s===0)return i!==0&&n===i?r:-1;if(i){let c=n-i;return c<0||c>=s?-1:t[r+c]-1}let a=r,o=a+s-1;for(;a<=o;){let c=a+o>>>1,u=t[c];if(u<n)a=c+1;else if(u>n)o=c-1;else return t[c+s]}return-1}var pD={};is(pD,{ATTRS:()=>pl,DOCUMENT_MODE:()=>Fi,NS:()=>Ee,NUMBERED_HEADERS:()=>Dx,SPECIAL_ELEMENTS:()=>yQ,TAG_ID:()=>I,TAG_NAMES:()=>de,getTagID:()=>u0,hasUnescapedText:()=>xQ});var Ee;(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/"})(Ee||(Ee={}));var pl;(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"})(pl||(pl={}));var Fi;(function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"})(Fi||(Fi={}));var de;(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.SEARCH="search",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"})(de||(de={}));var I;(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.SEARCH=94]="SEARCH",t[t.SECTION=95]="SECTION",t[t.SELECT=96]="SELECT",t[t.SOURCE=97]="SOURCE",t[t.SMALL=98]="SMALL",t[t.SPAN=99]="SPAN",t[t.STRIKE=100]="STRIKE",t[t.STRONG=101]="STRONG",t[t.STYLE=102]="STYLE",t[t.SUB=103]="SUB",t[t.SUMMARY=104]="SUMMARY",t[t.SUP=105]="SUP",t[t.TABLE=106]="TABLE",t[t.TBODY=107]="TBODY",t[t.TEMPLATE=108]="TEMPLATE",t[t.TEXTAREA=109]="TEXTAREA",t[t.TFOOT=110]="TFOOT",t[t.TD=111]="TD",t[t.TH=112]="TH",t[t.THEAD=113]="THEAD",t[t.TITLE=114]="TITLE",t[t.TR=115]="TR",t[t.TRACK=116]="TRACK",t[t.TT=117]="TT",t[t.U=118]="U",t[t.UL=119]="UL",t[t.SVG=120]="SVG",t[t.VAR=121]="VAR",t[t.WBR=122]="WBR",t[t.XMP=123]="XMP"})(I||(I={}));var Dzt=new Map([[de.A,I.A],[de.ADDRESS,I.ADDRESS],[de.ANNOTATION_XML,I.ANNOTATION_XML],[de.APPLET,I.APPLET],[de.AREA,I.AREA],[de.ARTICLE,I.ARTICLE],[de.ASIDE,I.ASIDE],[de.B,I.B],[de.BASE,I.BASE],[de.BASEFONT,I.BASEFONT],[de.BGSOUND,I.BGSOUND],[de.BIG,I.BIG],[de.BLOCKQUOTE,I.BLOCKQUOTE],[de.BODY,I.BODY],[de.BR,I.BR],[de.BUTTON,I.BUTTON],[de.CAPTION,I.CAPTION],[de.CENTER,I.CENTER],[de.CODE,I.CODE],[de.COL,I.COL],[de.COLGROUP,I.COLGROUP],[de.DD,I.DD],[de.DESC,I.DESC],[de.DETAILS,I.DETAILS],[de.DIALOG,I.DIALOG],[de.DIR,I.DIR],[de.DIV,I.DIV],[de.DL,I.DL],[de.DT,I.DT],[de.EM,I.EM],[de.EMBED,I.EMBED],[de.FIELDSET,I.FIELDSET],[de.FIGCAPTION,I.FIGCAPTION],[de.FIGURE,I.FIGURE],[de.FONT,I.FONT],[de.FOOTER,I.FOOTER],[de.FOREIGN_OBJECT,I.FOREIGN_OBJECT],[de.FORM,I.FORM],[de.FRAME,I.FRAME],[de.FRAMESET,I.FRAMESET],[de.H1,I.H1],[de.H2,I.H2],[de.H3,I.H3],[de.H4,I.H4],[de.H5,I.H5],[de.H6,I.H6],[de.HEAD,I.HEAD],[de.HEADER,I.HEADER],[de.HGROUP,I.HGROUP],[de.HR,I.HR],[de.HTML,I.HTML],[de.I,I.I],[de.IMG,I.IMG],[de.IMAGE,I.IMAGE],[de.INPUT,I.INPUT],[de.IFRAME,I.IFRAME],[de.KEYGEN,I.KEYGEN],[de.LABEL,I.LABEL],[de.LI,I.LI],[de.LINK,I.LINK],[de.LISTING,I.LISTING],[de.MAIN,I.MAIN],[de.MALIGNMARK,I.MALIGNMARK],[de.MARQUEE,I.MARQUEE],[de.MATH,I.MATH],[de.MENU,I.MENU],[de.META,I.META],[de.MGLYPH,I.MGLYPH],[de.MI,I.MI],[de.MO,I.MO],[de.MN,I.MN],[de.MS,I.MS],[de.MTEXT,I.MTEXT],[de.NAV,I.NAV],[de.NOBR,I.NOBR],[de.NOFRAMES,I.NOFRAMES],[de.NOEMBED,I.NOEMBED],[de.NOSCRIPT,I.NOSCRIPT],[de.OBJECT,I.OBJECT],[de.OL,I.OL],[de.OPTGROUP,I.OPTGROUP],[de.OPTION,I.OPTION],[de.P,I.P],[de.PARAM,I.PARAM],[de.PLAINTEXT,I.PLAINTEXT],[de.PRE,I.PRE],[de.RB,I.RB],[de.RP,I.RP],[de.RT,I.RT],[de.RTC,I.RTC],[de.RUBY,I.RUBY],[de.S,I.S],[de.SCRIPT,I.SCRIPT],[de.SEARCH,I.SEARCH],[de.SECTION,I.SECTION],[de.SELECT,I.SELECT],[de.SOURCE,I.SOURCE],[de.SMALL,I.SMALL],[de.SPAN,I.SPAN],[de.STRIKE,I.STRIKE],[de.STRONG,I.STRONG],[de.STYLE,I.STYLE],[de.SUB,I.SUB],[de.SUMMARY,I.SUMMARY],[de.SUP,I.SUP],[de.TABLE,I.TABLE],[de.TBODY,I.TBODY],[de.TEMPLATE,I.TEMPLATE],[de.TEXTAREA,I.TEXTAREA],[de.TFOOT,I.TFOOT],[de.TD,I.TD],[de.TH,I.TH],[de.THEAD,I.THEAD],[de.TITLE,I.TITLE],[de.TR,I.TR],[de.TRACK,I.TRACK],[de.TT,I.TT],[de.U,I.U],[de.UL,I.UL],[de.SVG,I.SVG],[de.VAR,I.VAR],[de.WBR,I.WBR],[de.XMP,I.XMP]]);function u0(t){var e;return(e=Dzt.get(t))!==null&&e!==void 0?e:I.UNKNOWN}var Oe=I,yQ={[Ee.HTML]:new Set([Oe.ADDRESS,Oe.APPLET,Oe.AREA,Oe.ARTICLE,Oe.ASIDE,Oe.BASE,Oe.BASEFONT,Oe.BGSOUND,Oe.BLOCKQUOTE,Oe.BODY,Oe.BR,Oe.BUTTON,Oe.CAPTION,Oe.CENTER,Oe.COL,Oe.COLGROUP,Oe.DD,Oe.DETAILS,Oe.DIR,Oe.DIV,Oe.DL,Oe.DT,Oe.EMBED,Oe.FIELDSET,Oe.FIGCAPTION,Oe.FIGURE,Oe.FOOTER,Oe.FORM,Oe.FRAME,Oe.FRAMESET,Oe.H1,Oe.H2,Oe.H3,Oe.H4,Oe.H5,Oe.H6,Oe.HEAD,Oe.HEADER,Oe.HGROUP,Oe.HR,Oe.HTML,Oe.IFRAME,Oe.IMG,Oe.INPUT,Oe.LI,Oe.LINK,Oe.LISTING,Oe.MAIN,Oe.MARQUEE,Oe.MENU,Oe.META,Oe.NAV,Oe.NOEMBED,Oe.NOFRAMES,Oe.NOSCRIPT,Oe.OBJECT,Oe.OL,Oe.P,Oe.PARAM,Oe.PLAINTEXT,Oe.PRE,Oe.SCRIPT,Oe.SECTION,Oe.SELECT,Oe.SOURCE,Oe.STYLE,Oe.SUMMARY,Oe.TABLE,Oe.TBODY,Oe.TD,Oe.TEMPLATE,Oe.TEXTAREA,Oe.TFOOT,Oe.TH,Oe.THEAD,Oe.TITLE,Oe.TR,Oe.TRACK,Oe.UL,Oe.WBR,Oe.XMP]),[Ee.MATHML]:new Set([Oe.MI,Oe.MO,Oe.MN,Oe.MS,Oe.MTEXT,Oe.ANNOTATION_XML]),[Ee.SVG]:new Set([Oe.TITLE,Oe.FOREIGN_OBJECT,Oe.DESC]),[Ee.XLINK]:new Set,[Ee.XML]:new Set,[Ee.XMLNS]:new Set},Dx=new Set([Oe.H1,Oe.H2,Oe.H3,Oe.H4,Oe.H5,Oe.H6]),kzt=new Set([de.STYLE,de.SCRIPT,de.XMP,de.IFRAME,de.NOEMBED,de.NOFRAMES,de.PLAINTEXT]);function xQ(t,e){return kzt.has(t)||e&&t===de.NOSCRIPT}var Y;(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.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"})(Y||(Y={}));var Ui={DATA:Y.DATA,RCDATA:Y.RCDATA,RAWTEXT:Y.RAWTEXT,SCRIPT_DATA:Y.SCRIPT_DATA,PLAINTEXT:Y.PLAINTEXT,CDATA_SECTION:Y.CDATA_SECTION};function Lzt(t){return t>=Q.DIGIT_0&&t<=Q.DIGIT_9}function dv(t){return t>=Q.LATIN_CAPITAL_A&&t<=Q.LATIN_CAPITAL_Z}function Bzt(t){return t>=Q.LATIN_SMALL_A&&t<=Q.LATIN_SMALL_Z}function l0(t){return Bzt(t)||dv(t)}function a3e(t){return l0(t)||Lzt(t)}function mD(t){return t+32}function c3e(t){return t===Q.SPACE||t===Q.LINE_FEED||t===Q.TABULATION||t===Q.FORM_FEED}function o3e(t){return c3e(t)||t===Q.SOLIDUS||t===Q.GREATER_THAN_SIGN}function Mzt(t){return t===Q.NULL?me.nullCharacterReference:t>1114111?me.characterReferenceOutsideUnicodeRange:aD(t)?me.surrogateCharacterReference:cD(t)?me.noncharacterCharacterReference:oD(t)||t===Q.CARRIAGE_RETURN?me.controlCharacterReference:null}var fv=class{constructor(e,r){this.options=e,this.handler=r,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=Y.DATA,this.returnState=Y.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new uD(r),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new fD(dD,(n,s)=>{this.preprocessor.pos=this.entityStartPos+s-1,this._flushCodePointConsumedAsCharacterReference(n)},r.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(me.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:n=>{this._err(me.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+n)},validateNumericCharacterReference:n=>{let s=Mzt(n);s&&this._err(s,1)}}:void 0)}_err(e,r=0){var n,s;(s=(n=this.handler).onParseError)===null||s===void 0||s.call(n,this.preprocessor.getError(e,r))}getCurrentLocation(e){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-e,startOffset:this.preprocessor.offset-e,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;let e=this._consume();this._ensureHibernation()||this._callState(e)}this.inLoop=!1}}pause(){this.paused=!0}resume(e){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||e?.())}write(e,r,n){this.active=!0,this.preprocessor.write(e,r),this._runParsingLoop(),this.paused||n?.()}insertHtmlAtCurrentPos(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(e){this.consumedAfterSnapshot+=e;for(let r=0;r<e;r++)this.preprocessor.advance()}_consumeSequenceIfMatch(e,r){return this.preprocessor.startsWith(e,r)?(this._advanceBy(e.length-1),!0):!1}_createStartTagToken(){this.currentToken={type:br.START_TAG,tagName:"",tagID:I.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:br.END_TAG,tagName:"",tagID:I.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(e){this.currentToken={type:br.COMMENT,data:"",location:this.getCurrentLocation(e)}}_createDoctypeToken(e){this.currentToken={type:br.DOCTYPE,name:e,forceQuirks:!1,publicId:null,systemId:null,location:this.currentLocation}}_createCharacterToken(e,r){this.currentCharacterToken={type:e,chars:r,location:this.currentLocation}}_createAttr(e){this.currentAttr={name:e,value:""},this.currentLocation=this.getCurrentLocation(0)}_leaveAttrName(){var e,r;let n=this.currentToken;if(lD(n,this.currentAttr.name)===null){if(n.attrs.push(this.currentAttr),n.location&&this.currentLocation){let s=(e=(r=n.location).attrs)!==null&&e!==void 0?e:r.attrs=Object.create(null);s[this.currentAttr.name]=this.currentLocation,this._leaveAttrValue()}}else this._err(me.duplicateAttribute)}_leaveAttrValue(){this.currentLocation&&(this.currentLocation.endLine=this.preprocessor.line,this.currentLocation.endCol=this.preprocessor.col,this.currentLocation.endOffset=this.preprocessor.offset)}prepareToken(e){this._emitCurrentCharacterToken(e.location),this.currentToken=null,e.location&&(e.location.endLine=this.preprocessor.line,e.location.endCol=this.preprocessor.col+1,e.location.endOffset=this.preprocessor.offset+1),this.currentLocation=this.getCurrentLocation(-1)}emitCurrentTagToken(){let e=this.currentToken;this.prepareToken(e),e.tagID=u0(e.tagName),e.type===br.START_TAG?(this.lastStartTagName=e.tagName,this.handler.onStartTag(e)):(e.attrs.length>0&&this._err(me.endTagWithAttributes),e.selfClosing&&this._err(me.endTagWithTrailingSolidus),this.handler.onEndTag(e)),this.preprocessor.dropParsedChunk()}emitCurrentComment(e){this.prepareToken(e),this.handler.onComment(e),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(e){this.prepareToken(e),this.handler.onDoctype(e),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(e){if(this.currentCharacterToken){switch(e&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=e.startLine,this.currentCharacterToken.location.endCol=e.startCol,this.currentCharacterToken.location.endOffset=e.startOffset),this.currentCharacterToken.type){case br.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case br.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case br.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){let e=this.getCurrentLocation(0);e&&(e.endLine=e.startLine,e.endCol=e.startCol,e.endOffset=e.startOffset),this._emitCurrentCharacterToken(e),this.handler.onEof({type:br.EOF,location:e}),this.active=!1}_appendCharToCurrentCharacterToken(e,r){if(this.currentCharacterToken)if(this.currentCharacterToken.type===e){this.currentCharacterToken.chars+=r;return}else this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();this._createCharacterToken(e,r)}_emitCodePoint(e){let r=c3e(e)?br.WHITESPACE_CHARACTER:e===Q.NULL?br.NULL_CHARACTER:br.CHARACTER;this._appendCharToCurrentCharacterToken(r,String.fromCodePoint(e))}_emitChars(e){this._appendCharToCurrentCharacterToken(br.CHARACTER,e)}_startCharacterReference(){this.returnState=this.state,this.state=Y.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?fl.Attribute:fl.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(e){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(e):this._emitCodePoint(e)}_callState(e){switch(this.state){case Y.DATA:{this._stateData(e);break}case Y.RCDATA:{this._stateRcdata(e);break}case Y.RAWTEXT:{this._stateRawtext(e);break}case Y.SCRIPT_DATA:{this._stateScriptData(e);break}case Y.PLAINTEXT:{this._statePlaintext(e);break}case Y.TAG_OPEN:{this._stateTagOpen(e);break}case Y.END_TAG_OPEN:{this._stateEndTagOpen(e);break}case Y.TAG_NAME:{this._stateTagName(e);break}case Y.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(e);break}case Y.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(e);break}case Y.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(e);break}case Y.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(e);break}case Y.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(e);break}case Y.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(e);break}case Y.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(e);break}case Y.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(e);break}case Y.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(e);break}case Y.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(e);break}case Y.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(e);break}case Y.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(e);break}case Y.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(e);break}case Y.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(e);break}case Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(e);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(e);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(e);break}case Y.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(e);break}case Y.ATTRIBUTE_NAME:{this._stateAttributeName(e);break}case Y.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(e);break}case Y.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(e);break}case Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(e);break}case Y.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(e);break}case Y.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(e);break}case Y.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(e);break}case Y.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(e);break}case Y.BOGUS_COMMENT:{this._stateBogusComment(e);break}case Y.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(e);break}case Y.COMMENT_START:{this._stateCommentStart(e);break}case Y.COMMENT_START_DASH:{this._stateCommentStartDash(e);break}case Y.COMMENT:{this._stateComment(e);break}case Y.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(e);break}case Y.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(e);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(e);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(e);break}case Y.COMMENT_END_DASH:{this._stateCommentEndDash(e);break}case Y.COMMENT_END:{this._stateCommentEnd(e);break}case Y.COMMENT_END_BANG:{this._stateCommentEndBang(e);break}case Y.DOCTYPE:{this._stateDoctype(e);break}case Y.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(e);break}case Y.DOCTYPE_NAME:{this._stateDoctypeName(e);break}case Y.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(e);break}case Y.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(e);break}case Y.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(e);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(e);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(e);break}case Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(e);break}case Y.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(e);break}case Y.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(e);break}case Y.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(e);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(e);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(e);break}case Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(e);break}case Y.BOGUS_DOCTYPE:{this._stateBogusDoctype(e);break}case Y.CDATA_SECTION:{this._stateCdataSection(e);break}case Y.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(e);break}case Y.CDATA_SECTION_END:{this._stateCdataSectionEnd(e);break}case Y.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case Y.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(e);break}default:throw new Error("Unknown state")}}_stateData(e){switch(e){case Q.LESS_THAN_SIGN:{this.state=Y.TAG_OPEN;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitCodePoint(e);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateRcdata(e){switch(e){case Q.AMPERSAND:{this._startCharacterReference();break}case Q.LESS_THAN_SIGN:{this.state=Y.RCDATA_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateRawtext(e){switch(e){case Q.LESS_THAN_SIGN:{this.state=Y.RAWTEXT_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateScriptData(e){switch(e){case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_statePlaintext(e){switch(e){case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateTagOpen(e){if(l0(e))this._createStartTagToken(),this.state=Y.TAG_NAME,this._stateTagName(e);else switch(e){case Q.EXCLAMATION_MARK:{this.state=Y.MARKUP_DECLARATION_OPEN;break}case Q.SOLIDUS:{this.state=Y.END_TAG_OPEN;break}case Q.QUESTION_MARK:{this._err(me.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(e);break}case Q.EOF:{this._err(me.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(me.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=Y.DATA,this._stateData(e)}}_stateEndTagOpen(e){if(l0(e))this._createEndTagToken(),this.state=Y.TAG_NAME,this._stateTagName(e);else switch(e){case Q.GREATER_THAN_SIGN:{this._err(me.missingEndTagName),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break}default:this._err(me.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(e)}}_stateTagName(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case Q.SOLIDUS:{this.state=Y.SELF_CLOSING_START_TAG;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.tagName+=_n;break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:r.tagName+=String.fromCodePoint(dv(e)?mD(e):e)}}_stateRcdataLessThanSign(e){e===Q.SOLIDUS?this.state=Y.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=Y.RCDATA,this._stateRcdata(e))}_stateRcdataEndTagOpen(e){l0(e)?(this.state=Y.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(e)):(this._emitChars("</"),this.state=Y.RCDATA,this._stateRcdata(e))}handleSpecialEndTag(e){if(!this.preprocessor.startsWith(this.lastStartTagName,!1))return!this._ensureHibernation();this._createEndTagToken();let r=this.currentToken;switch(r.tagName=this.lastStartTagName,this.preprocessor.peek(this.lastStartTagName.length)){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=Y.BEFORE_ATTRIBUTE_NAME,!1;case Q.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=Y.SELF_CLOSING_START_TAG,!1;case Q.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=Y.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.RCDATA,this._stateRcdata(e))}_stateRawtextLessThanSign(e){e===Q.SOLIDUS?this.state=Y.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=Y.RAWTEXT,this._stateRawtext(e))}_stateRawtextEndTagOpen(e){l0(e)?(this.state=Y.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(e)):(this._emitChars("</"),this.state=Y.RAWTEXT,this._stateRawtext(e))}_stateRawtextEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.RAWTEXT,this._stateRawtext(e))}_stateScriptDataLessThanSign(e){switch(e){case Q.SOLIDUS:{this.state=Y.SCRIPT_DATA_END_TAG_OPEN;break}case Q.EXCLAMATION_MARK:{this.state=Y.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break}default:this._emitChars("<"),this.state=Y.SCRIPT_DATA,this._stateScriptData(e)}}_stateScriptDataEndTagOpen(e){l0(e)?(this.state=Y.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(e)):(this._emitChars("</"),this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEscapeStart(e){e===Q.HYPHEN_MINUS?(this.state=Y.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEscapeStartDash(e){e===Q.HYPHEN_MINUS?(this.state=Y.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEscaped(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateScriptDataEscapedDash(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataEscapedDashDash(e){switch(e){case Q.HYPHEN_MINUS:{this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case Q.GREATER_THAN_SIGN:{this.state=Y.SCRIPT_DATA,this._emitChars(">");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataEscapedLessThanSign(e){e===Q.SOLIDUS?this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:l0(e)?(this._emitChars("<"),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(e)):(this._emitChars("<"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataEscapedEndTagOpen(e){l0(e)?(this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(e)):(this._emitChars("</"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataEscapedEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataDoubleEscapeStart(e){if(this.preprocessor.startsWith(la.SCRIPT,!1)&&o3e(this.preprocessor.peek(la.SCRIPT.length))){this._emitCodePoint(e);for(let r=0;r<la.SCRIPT.length;r++)this._emitCodePoint(this._consume());this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataDoubleEscaped(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedDash(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedDashDash(e){switch(e){case Q.HYPHEN_MINUS:{this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case Q.GREATER_THAN_SIGN:{this.state=Y.SCRIPT_DATA,this._emitChars(">");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedLessThanSign(e){e===Q.SOLIDUS?(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(e))}_stateScriptDataDoubleEscapeEnd(e){if(this.preprocessor.startsWith(la.SCRIPT,!1)&&o3e(this.preprocessor.peek(la.SCRIPT.length))){this._emitCodePoint(e);for(let r=0;r<la.SCRIPT.length;r++)this._emitCodePoint(this._consume());this.state=Y.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(e))}_stateBeforeAttributeName(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.SOLIDUS:case Q.GREATER_THAN_SIGN:case Q.EOF:{this.state=Y.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(e);break}case Q.EQUALS_SIGN:{this._err(me.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=Y.ATTRIBUTE_NAME;break}default:this._createAttr(""),this.state=Y.ATTRIBUTE_NAME,this._stateAttributeName(e)}}_stateAttributeName(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:case Q.SOLIDUS:case Q.GREATER_THAN_SIGN:case Q.EOF:{this._leaveAttrName(),this.state=Y.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(e);break}case Q.EQUALS_SIGN:{this._leaveAttrName(),this.state=Y.BEFORE_ATTRIBUTE_VALUE;break}case Q.QUOTATION_MARK:case Q.APOSTROPHE:case Q.LESS_THAN_SIGN:{this._err(me.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(e);break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.name+=_n;break}default:this.currentAttr.name+=String.fromCodePoint(dv(e)?mD(e):e)}}_stateAfterAttributeName(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.SOLIDUS:{this.state=Y.SELF_CLOSING_START_TAG;break}case Q.EQUALS_SIGN:{this.state=Y.BEFORE_ATTRIBUTE_VALUE;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this._createAttr(""),this.state=Y.ATTRIBUTE_NAME,this._stateAttributeName(e)}}_stateBeforeAttributeValue(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.QUOTATION_MARK:{this.state=Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this.state=Y.ATTRIBUTE_VALUE_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingAttributeValue),this.state=Y.DATA,this.emitCurrentTagToken();break}default:this.state=Y.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(e)}}_stateAttributeValueDoubleQuoted(e){switch(e){case Q.QUOTATION_MARK:{this.state=Y.AFTER_ATTRIBUTE_VALUE_QUOTED;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.value+=_n;break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAttributeValueSingleQuoted(e){switch(e){case Q.APOSTROPHE:{this.state=Y.AFTER_ATTRIBUTE_VALUE_QUOTED;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.value+=_n;break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAttributeValueUnquoted(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this._leaveAttrValue(),this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.GREATER_THAN_SIGN:{this._leaveAttrValue(),this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.value+=_n;break}case Q.QUOTATION_MARK:case Q.APOSTROPHE:case Q.LESS_THAN_SIGN:case Q.EQUALS_SIGN:case Q.GRAVE_ACCENT:{this._err(me.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(e);break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAfterAttributeValueQuoted(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this._leaveAttrValue(),this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case Q.SOLIDUS:{this._leaveAttrValue(),this.state=Y.SELF_CLOSING_START_TAG;break}case Q.GREATER_THAN_SIGN:{this._leaveAttrValue(),this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this._err(me.missingWhitespaceBetweenAttributes),this.state=Y.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(e)}}_stateSelfClosingStartTag(e){switch(e){case Q.GREATER_THAN_SIGN:{let r=this.currentToken;r.selfClosing=!0,this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this._err(me.unexpectedSolidusInTag),this.state=Y.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(e)}}_stateBogusComment(e){let r=this.currentToken;switch(e){case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EOF:{this.emitCurrentComment(r),this._emitEOFToken();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.data+=_n;break}default:r.data+=String.fromCodePoint(e)}}_stateMarkupDeclarationOpen(e){this._consumeSequenceIfMatch(la.DASH_DASH,!0)?(this._createCommentToken(la.DASH_DASH.length+1),this.state=Y.COMMENT_START):this._consumeSequenceIfMatch(la.DOCTYPE,!1)?(this.currentLocation=this.getCurrentLocation(la.DOCTYPE.length+1),this.state=Y.DOCTYPE):this._consumeSequenceIfMatch(la.CDATA_START,!0)?this.inForeignNode?this.state=Y.CDATA_SECTION:(this._err(me.cdataInHtmlContent),this._createCommentToken(la.CDATA_START.length+1),this.currentToken.data="[CDATA[",this.state=Y.BOGUS_COMMENT):this._ensureHibernation()||(this._err(me.incorrectlyOpenedComment),this._createCommentToken(2),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(e))}_stateCommentStart(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_START_DASH;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptClosingOfEmptyComment),this.state=Y.DATA;let r=this.currentToken;this.emitCurrentComment(r);break}default:this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentStartDash(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_END;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptClosingOfEmptyComment),this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="-",this.state=Y.COMMENT,this._stateComment(e)}}_stateComment(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_END_DASH;break}case Q.LESS_THAN_SIGN:{r.data+="<",this.state=Y.COMMENT_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.data+=_n;break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+=String.fromCodePoint(e)}}_stateCommentLessThanSign(e){let r=this.currentToken;switch(e){case Q.EXCLAMATION_MARK:{r.data+="!",this.state=Y.COMMENT_LESS_THAN_SIGN_BANG;break}case Q.LESS_THAN_SIGN:{r.data+="<";break}default:this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentLessThanSignBang(e){e===Q.HYPHEN_MINUS?this.state=Y.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=Y.COMMENT,this._stateComment(e))}_stateCommentLessThanSignBangDash(e){e===Q.HYPHEN_MINUS?this.state=Y.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=Y.COMMENT_END_DASH,this._stateCommentEndDash(e))}_stateCommentLessThanSignBangDashDash(e){e!==Q.GREATER_THAN_SIGN&&e!==Q.EOF&&this._err(me.nestedComment),this.state=Y.COMMENT_END,this._stateCommentEnd(e)}_stateCommentEndDash(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_END;break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="-",this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentEnd(e){let r=this.currentToken;switch(e){case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EXCLAMATION_MARK:{this.state=Y.COMMENT_END_BANG;break}case Q.HYPHEN_MINUS:{r.data+="-";break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="--",this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentEndBang(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{r.data+="--!",this.state=Y.COMMENT_END_DASH;break}case Q.GREATER_THAN_SIGN:{this._err(me.incorrectlyClosedComment),this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="--!",this.state=Y.COMMENT,this._stateComment(e)}}_stateDoctype(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_NAME;break}case Q.GREATER_THAN_SIGN:{this.state=Y.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(e);break}case Q.EOF:{this._err(me.eofInDoctype),this._createDoctypeToken(null);let r=this.currentToken;r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingWhitespaceBeforeDoctypeName),this.state=Y.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(e)}}_stateBeforeDoctypeName(e){if(dv(e))this._createDoctypeToken(String.fromCharCode(mD(e))),this.state=Y.DOCTYPE_NAME;else switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.NULL:{this._err(me.unexpectedNullCharacter),this._createDoctypeToken(_n),this.state=Y.DOCTYPE_NAME;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypeName),this._createDoctypeToken(null);let r=this.currentToken;r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),this._createDoctypeToken(null);let r=this.currentToken;r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(e)),this.state=Y.DOCTYPE_NAME}}_stateDoctypeName(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.AFTER_DOCTYPE_NAME;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.name+=_n;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.name+=String.fromCodePoint(dv(e)?mD(e):e)}}_stateAfterDoctypeName(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._consumeSequenceIfMatch(la.PUBLIC,!1)?this.state=Y.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch(la.SYSTEM,!1)?this.state=Y.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(me.invalidCharacterSequenceAfterDoctypeName),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e))}}_stateAfterDoctypePublicKeyword(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break}case Q.QUOTATION_MARK:{this._err(me.missingWhitespaceAfterDoctypePublicKeyword),r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this._err(me.missingWhitespaceAfterDoctypePublicKeyword),r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBeforeDoctypePublicIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.QUOTATION_MARK:{r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateDoctypePublicIdentifierDoubleQuoted(e){let r=this.currentToken;switch(e){case Q.QUOTATION_MARK:{this.state=Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.publicId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypePublicIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.publicId+=String.fromCodePoint(e)}}_stateDoctypePublicIdentifierSingleQuoted(e){let r=this.currentToken;switch(e){case Q.APOSTROPHE:{this.state=Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.publicId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypePublicIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.publicId+=String.fromCodePoint(e)}}_stateAfterDoctypePublicIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.QUOTATION_MARK:{this._err(me.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this._err(me.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBetweenDoctypePublicAndSystemIdentifiers(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.GREATER_THAN_SIGN:{this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.QUOTATION_MARK:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateAfterDoctypeSystemKeyword(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break}case Q.QUOTATION_MARK:{this._err(me.missingWhitespaceAfterDoctypeSystemKeyword),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this._err(me.missingWhitespaceAfterDoctypeSystemKeyword),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBeforeDoctypeSystemIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.QUOTATION_MARK:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateDoctypeSystemIdentifierDoubleQuoted(e){let r=this.currentToken;switch(e){case Q.QUOTATION_MARK:{this.state=Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.systemId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypeSystemIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.systemId+=String.fromCodePoint(e)}}_stateDoctypeSystemIdentifierSingleQuoted(e){let r=this.currentToken;switch(e){case Q.APOSTROPHE:{this.state=Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.systemId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypeSystemIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.systemId+=String.fromCodePoint(e)}}_stateAfterDoctypeSystemIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.GREATER_THAN_SIGN:{this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBogusDoctype(e){let r=this.currentToken;switch(e){case Q.GREATER_THAN_SIGN:{this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.NULL:{this._err(me.unexpectedNullCharacter);break}case Q.EOF:{this.emitCurrentDoctype(r),this._emitEOFToken();break}default:}}_stateCdataSection(e){switch(e){case Q.RIGHT_SQUARE_BRACKET:{this.state=Y.CDATA_SECTION_BRACKET;break}case Q.EOF:{this._err(me.eofInCdata),this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateCdataSectionBracket(e){e===Q.RIGHT_SQUARE_BRACKET?this.state=Y.CDATA_SECTION_END:(this._emitChars("]"),this.state=Y.CDATA_SECTION,this._stateCdataSection(e))}_stateCdataSectionEnd(e){switch(e){case Q.GREATER_THAN_SIGN:{this.state=Y.DATA;break}case Q.RIGHT_SQUARE_BRACKET:{this._emitChars("]");break}default:this._emitChars("]]"),this.state=Y.CDATA_SECTION,this._stateCdataSection(e)}}_stateCharacterReference(){let e=this.entityDecoder.write(this.preprocessor.html,this.preprocessor.pos);if(e<0)if(this.preprocessor.lastChunkWritten)e=this.entityDecoder.end();else{this.active=!1,this.preprocessor.pos=this.preprocessor.html.length-1,this.consumedAfterSnapshot=0,this.preprocessor.endOfChunkHit=!0;return}e===0?(this.preprocessor.pos=this.entityStartPos,this._flushCodePointConsumedAsCharacterReference(Q.AMPERSAND),this.state=!this._isCharacterReferenceInAttribute()&&a3e(this.preprocessor.peek(1))?Y.AMBIGUOUS_AMPERSAND:this.returnState):this.state=this.returnState}_stateAmbiguousAmpersand(e){a3e(e)?this._flushCodePointConsumedAsCharacterReference(e):(e===Q.SEMICOLON&&this._err(me.unknownNamedCharacterReference),this.state=this.returnState,this._callState(e))}};var f3e=new Set([I.DD,I.DT,I.LI,I.OPTGROUP,I.OPTION,I.P,I.RB,I.RP,I.RT,I.RTC]),u3e=new Set([...f3e,I.CAPTION,I.COLGROUP,I.TBODY,I.TD,I.TFOOT,I.TH,I.THEAD,I.TR]),hD=new Set([I.APPLET,I.CAPTION,I.HTML,I.MARQUEE,I.OBJECT,I.TABLE,I.TD,I.TEMPLATE,I.TH]),Wzt=new Set([...hD,I.OL,I.UL]),$zt=new Set([...hD,I.BUTTON]),l3e=new Set([I.ANNOTATION_XML,I.MI,I.MN,I.MO,I.MS,I.MTEXT]),d3e=new Set([I.DESC,I.FOREIGN_OBJECT,I.TITLE]),Fzt=new Set([I.TR,I.TEMPLATE,I.HTML]),Uzt=new Set([I.TBODY,I.TFOOT,I.THEAD,I.TEMPLATE,I.HTML]),qzt=new Set([I.TABLE,I.TEMPLATE,I.HTML]),jzt=new Set([I.TD,I.TH]),gD=class{get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}constructor(e,r,n){this.treeAdapter=r,this.handler=n,this.items=[],this.tagIDs=[],this.stackTop=-1,this.tmplCount=0,this.currentTagId=I.UNKNOWN,this.current=e}_indexOf(e){return this.items.lastIndexOf(e,this.stackTop)}_isInTemplate(){return this.currentTagId===I.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===Ee.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagId=this.tagIDs[this.stackTop]}push(e,r){this.stackTop++,this.items[this.stackTop]=e,this.current=e,this.tagIDs[this.stackTop]=r,this.currentTagId=r,this._isInTemplate()&&this.tmplCount++,this.handler.onItemPush(e,r,!0)}pop(){let e=this.current;this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!0)}replace(e,r){let n=this._indexOf(e);this.items[n]=r,n===this.stackTop&&(this.current=r)}insertAfter(e,r,n){let s=this._indexOf(e)+1;this.items.splice(s,0,r),this.tagIDs.splice(s,0,n),this.stackTop++,s===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,s===this.stackTop)}popUntilTagNamePopped(e){let r=this.stackTop+1;do r=this.tagIDs.lastIndexOf(e,r-1);while(r>0&&this.treeAdapter.getNamespaceURI(this.items[r])!==Ee.HTML);this.shortenToLength(Math.max(r,0))}shortenToLength(e){for(;this.stackTop>=e;){let r=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(r,this.stackTop<e)}}popUntilElementPopped(e){let r=this._indexOf(e);this.shortenToLength(Math.max(r,0))}popUntilPopped(e,r){let n=this._indexOfTagNames(e,r);this.shortenToLength(Math.max(n,0))}popUntilNumberedHeaderPopped(){this.popUntilPopped(Dx,Ee.HTML)}popUntilTableCellPopped(){this.popUntilPopped(jzt,Ee.HTML)}popAllUpToHtmlElement(){this.tmplCount=0,this.shortenToLength(1)}_indexOfTagNames(e,r){for(let n=this.stackTop;n>=0;n--)if(e.has(this.tagIDs[n])&&this.treeAdapter.getNamespaceURI(this.items[n])===r)return n;return-1}clearBackTo(e,r){let n=this._indexOfTagNames(e,r);this.shortenToLength(n+1)}clearBackToTableContext(){this.clearBackTo(qzt,Ee.HTML)}clearBackToTableBodyContext(){this.clearBackTo(Uzt,Ee.HTML)}clearBackToTableRowContext(){this.clearBackTo(Fzt,Ee.HTML)}remove(e){let r=this._indexOf(e);r>=0&&(r===this.stackTop?this.pop():(this.items.splice(r,1),this.tagIDs.splice(r,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===I.BODY?this.items[1]:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){let r=this._indexOf(e)-1;return r>=0?this.items[r]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===I.HTML}hasInDynamicScope(e,r){for(let n=this.stackTop;n>=0;n--){let s=this.tagIDs[n];switch(this.treeAdapter.getNamespaceURI(this.items[n])){case Ee.HTML:{if(s===e)return!0;if(r.has(s))return!1;break}case Ee.SVG:{if(d3e.has(s))return!1;break}case Ee.MATHML:{if(l3e.has(s))return!1;break}}}return!0}hasInScope(e){return this.hasInDynamicScope(e,hD)}hasInListItemScope(e){return this.hasInDynamicScope(e,Wzt)}hasInButtonScope(e){return this.hasInDynamicScope(e,$zt)}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){let r=this.tagIDs[e];switch(this.treeAdapter.getNamespaceURI(this.items[e])){case Ee.HTML:{if(Dx.has(r))return!0;if(hD.has(r))return!1;break}case Ee.SVG:{if(d3e.has(r))return!1;break}case Ee.MATHML:{if(l3e.has(r))return!1;break}}}return!0}hasInTableScope(e){for(let r=this.stackTop;r>=0;r--)if(this.treeAdapter.getNamespaceURI(this.items[r])===Ee.HTML)switch(this.tagIDs[r]){case e:return!0;case I.TABLE:case I.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--)if(this.treeAdapter.getNamespaceURI(this.items[e])===Ee.HTML)switch(this.tagIDs[e]){case I.TBODY:case I.THEAD:case I.TFOOT:return!0;case I.TABLE:case I.HTML:return!1}return!0}hasInSelectScope(e){for(let r=this.stackTop;r>=0;r--)if(this.treeAdapter.getNamespaceURI(this.items[r])===Ee.HTML)switch(this.tagIDs[r]){case e:return!0;case I.OPTION:case I.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&f3e.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&u3e.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(e){for(;this.currentTagId!==void 0&&this.currentTagId!==e&&u3e.has(this.currentTagId);)this.pop()}};var iu;(function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"})(iu||(iu={}));var p3e={type:iu.Marker},AD=class{constructor(e){this.treeAdapter=e,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(e,r){let n=[],s=r.length,i=this.treeAdapter.getTagName(e),a=this.treeAdapter.getNamespaceURI(e);for(let o=0;o<this.entries.length;o++){let c=this.entries[o];if(c.type===iu.Marker)break;let{element:u}=c;if(this.treeAdapter.getTagName(u)===i&&this.treeAdapter.getNamespaceURI(u)===a){let l=this.treeAdapter.getAttrList(u);l.length===s&&n.push({idx:o,attrs:l})}}return n}_ensureNoahArkCondition(e){if(this.entries.length<3)return;let r=this.treeAdapter.getAttrList(e),n=this._getNoahArkConditionCandidates(e,r);if(n.length<3)return;let s=new Map(r.map(a=>[a.name,a.value])),i=0;for(let a=0;a<n.length;a++){let o=n[a];o.attrs.every(c=>s.get(c.name)===c.value)&&(i+=1,i>=3&&this.entries.splice(o.idx,1))}}insertMarker(){this.entries.unshift(p3e)}pushElement(e,r){this._ensureNoahArkCondition(e),this.entries.unshift({type:iu.Element,element:e,token:r})}insertElementAfterBookmark(e,r){let n=this.entries.indexOf(this.bookmark);this.entries.splice(n,0,{type:iu.Element,element:e,token:r})}removeEntry(e){let r=this.entries.indexOf(e);r!==-1&&this.entries.splice(r,1)}clearToLastMarker(){let e=this.entries.indexOf(p3e);e===-1?this.entries.length=0:this.entries.splice(0,e+1)}getElementEntryInScopeWithTagName(e){let r=this.entries.find(n=>n.type===iu.Marker||this.treeAdapter.getTagName(n.element)===e);return r&&r.type===iu.Element?r:null}getElementEntry(e){return this.entries.find(r=>r.type===iu.Element&&r.element===e)}};var hc={createDocument(){return{nodeName:"#document",mode:Fi.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(t,e,r){return{nodeName:t,tagName:t,attrs:r,namespaceURI:e,childNodes:[],parentNode:null}},createCommentNode(t){return{nodeName:"#comment",data:t,parentNode:null}},createTextNode(t){return{nodeName:"#text",value:t,parentNode:null}},appendChild(t,e){t.childNodes.push(e),e.parentNode=t},insertBefore(t,e,r){let n=t.childNodes.indexOf(r);t.childNodes.splice(n,0,e),e.parentNode=t},setTemplateContent(t,e){t.content=e},getTemplateContent(t){return t.content},setDocumentType(t,e,r,n){let s=t.childNodes.find(i=>i.nodeName==="#documentType");if(s)s.name=e,s.publicId=r,s.systemId=n;else{let i={nodeName:"#documentType",name:e,publicId:r,systemId:n,parentNode:null};hc.appendChild(t,i)}},setDocumentMode(t,e){t.mode=e},getDocumentMode(t){return t.mode},detachNode(t){if(t.parentNode){let e=t.parentNode.childNodes.indexOf(t);t.parentNode.childNodes.splice(e,1),t.parentNode=null}},insertText(t,e){if(t.childNodes.length>0){let r=t.childNodes[t.childNodes.length-1];if(hc.isTextNode(r)){r.value+=e;return}}hc.appendChild(t,hc.createTextNode(e))},insertTextBefore(t,e,r){let n=t.childNodes[t.childNodes.indexOf(r)-1];n&&hc.isTextNode(n)?n.value+=e:hc.insertBefore(t,hc.createTextNode(e),r)},adoptAttributes(t,e){let r=new Set(t.attrs.map(n=>n.name));for(let n=0;n<e.length;n++)r.has(e[n].name)||t.attrs.push(e[n])},getFirstChild(t){return t.childNodes[0]},getChildNodes(t){return t.childNodes},getParentNode(t){return t.parentNode},getAttrList(t){return t.attrs},getTagName(t){return t.tagName},getNamespaceURI(t){return t.namespaceURI},getTextNodeContent(t){return t.value},getCommentNodeContent(t){return t.data},getDocumentTypeNodeName(t){return t.name},getDocumentTypeNodePublicId(t){return t.publicId},getDocumentTypeNodeSystemId(t){return t.systemId},isTextNode(t){return t.nodeName==="#text"},isCommentNode(t){return t.nodeName==="#comment"},isDocumentTypeNode(t){return t.nodeName==="#documentType"},isElementNode(t){return Object.prototype.hasOwnProperty.call(t,"tagName")},setNodeSourceCodeLocation(t,e){t.sourceCodeLocation=e},getNodeSourceCodeLocation(t){return t.sourceCodeLocation},updateNodeSourceCodeLocation(t,e){t.sourceCodeLocation={...t.sourceCodeLocation,...e}}};var h3e="html",Hzt="about:legacy-compat",Qzt="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd",g3e=["+//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//"],Gzt=[...g3e,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],Vzt=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),A3e=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],zzt=[...A3e,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"];function m3e(t,e){return e.some(r=>t.startsWith(r))}function y3e(t){return t.name===h3e&&t.publicId===null&&(t.systemId===null||t.systemId===Hzt)}function x3e(t){if(t.name!==h3e)return Fi.QUIRKS;let{systemId:e}=t;if(e&&e.toLowerCase()===Qzt)return Fi.QUIRKS;let{publicId:r}=t;if(r!==null){if(r=r.toLowerCase(),Vzt.has(r))return Fi.QUIRKS;let n=e===null?Gzt:g3e;if(m3e(r,n))return Fi.QUIRKS;if(n=e===null?A3e:zzt,m3e(r,n))return Fi.LIMITED_QUIRKS}return Fi.NO_QUIRKS}var b3e={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},Yzt="definitionurl",Jzt="definitionURL",Xzt=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])),Zzt=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:Ee.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:Ee.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:Ee.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:Ee.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:Ee.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:Ee.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:Ee.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:Ee.XML}],["xml:space",{prefix:"xml",name:"space",namespace:Ee.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:Ee.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:Ee.XMLNS}]]),eKt=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])),tKt=new Set([I.B,I.BIG,I.BLOCKQUOTE,I.BODY,I.BR,I.CENTER,I.CODE,I.DD,I.DIV,I.DL,I.DT,I.EM,I.EMBED,I.H1,I.H2,I.H3,I.H4,I.H5,I.H6,I.HEAD,I.HR,I.I,I.IMG,I.LI,I.LISTING,I.MENU,I.META,I.NOBR,I.OL,I.P,I.PRE,I.RUBY,I.S,I.SMALL,I.SPAN,I.STRONG,I.STRIKE,I.SUB,I.SUP,I.TABLE,I.TT,I.U,I.UL,I.VAR]);function E3e(t){let e=t.tagID;return e===I.FONT&&t.attrs.some(({name:n})=>n===pl.COLOR||n===pl.SIZE||n===pl.FACE)||tKt.has(e)}function bQ(t){for(let e=0;e<t.attrs.length;e++)if(t.attrs[e].name===Yzt){t.attrs[e].name=Jzt;break}}function EQ(t){for(let e=0;e<t.attrs.length;e++){let r=Xzt.get(t.attrs[e].name);r!=null&&(t.attrs[e].name=r)}}function yD(t){for(let e=0;e<t.attrs.length;e++){let r=Zzt.get(t.attrs[e].name);r&&(t.attrs[e].prefix=r.prefix,t.attrs[e].name=r.name,t.attrs[e].namespace=r.namespace)}}function _3e(t){let e=eKt.get(t.tagName);e!=null&&(t.tagName=e,t.tagID=u0(t.tagName))}function rKt(t,e){return e===Ee.MATHML&&(t===I.MI||t===I.MO||t===I.MN||t===I.MS||t===I.MTEXT)}function nKt(t,e,r){if(e===Ee.MATHML&&t===I.ANNOTATION_XML){for(let n=0;n<r.length;n++)if(r[n].name===pl.ENCODING){let s=r[n].value.toLowerCase();return s===b3e.TEXT_HTML||s===b3e.APPLICATION_XML}}return e===Ee.SVG&&(t===I.FOREIGN_OBJECT||t===I.DESC||t===I.TITLE)}function S3e(t,e,r,n){return(!n||n===Ee.HTML)&&nKt(t,e,r)||(!n||n===Ee.MATHML)&&rKt(t,e)}var sKt="hidden",iKt=8,aKt=3,te;(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"})(te||(te={}));var oKt={startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1},w3e=new Set([I.TABLE,I.TBODY,I.TFOOT,I.THEAD,I.TR]),C3e={scriptingEnabled:!0,sourceCodeLocationInfo:!1,treeAdapter:hc,onParseError:null},kx=class{constructor(e,r,n=null,s=null){this.fragmentContext=n,this.scriptHandler=s,this.currentToken=null,this.stopped=!1,this.insertionMode=te.INITIAL,this.originalInsertionMode=te.INITIAL,this.headElement=null,this.formElement=null,this.currentNotInHTML=!1,this.tmplInsertionModeStack=[],this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1,this.options={...C3e,...e},this.treeAdapter=this.options.treeAdapter,this.onParseError=this.options.onParseError,this.onParseError&&(this.options.sourceCodeLocationInfo=!0),this.document=r??this.treeAdapter.createDocument(),this.tokenizer=new fv(this.options,this),this.activeFormattingElements=new AD(this.treeAdapter),this.fragmentContextID=n?u0(this.treeAdapter.getTagName(n)):I.UNKNOWN,this._setContextModes(n??this.document,this.fragmentContextID),this.openElements=new gD(this.document,this.treeAdapter,this)}static parse(e,r){let n=new this(r);return n.tokenizer.write(e,!0),n.document}static getFragmentParser(e,r){let n={...C3e,...r};e??(e=n.treeAdapter.createElement(de.TEMPLATE,Ee.HTML,[]));let s=n.treeAdapter.createElement("documentmock",Ee.HTML,[]),i=new this(n,s,e);return i.fragmentContextID===I.TEMPLATE&&i.tmplInsertionModeStack.unshift(te.IN_TEMPLATE),i._initTokenizerForFragmentParsing(),i._insertFakeRootElement(),i._resetInsertionMode(),i._findFormInFragmentContext(),i}getFragment(){let e=this.treeAdapter.getFirstChild(this.document),r=this.treeAdapter.createDocumentFragment();return this._adoptNodes(e,r),r}_err(e,r,n){var s;if(!this.onParseError)return;let i=(s=e.location)!==null&&s!==void 0?s:oKt,a={code:r,startLine:i.startLine,startCol:i.startCol,startOffset:i.startOffset,endLine:n?i.startLine:i.endLine,endCol:n?i.startCol:i.endCol,endOffset:n?i.startOffset:i.endOffset};this.onParseError(a)}onItemPush(e,r,n){var s,i;(i=(s=this.treeAdapter).onItemPush)===null||i===void 0||i.call(s,e),n&&this.openElements.stackTop>0&&this._setContextModes(e,r)}onItemPop(e,r){var n,s;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(e,this.currentToken),(s=(n=this.treeAdapter).onItemPop)===null||s===void 0||s.call(n,e,this.openElements.current),r){let i,a;this.openElements.stackTop===0&&this.fragmentContext?(i=this.fragmentContext,a=this.fragmentContextID):{current:i,currentTagId:a}=this.openElements,this._setContextModes(i,a)}}_setContextModes(e,r){let n=e===this.document||e&&this.treeAdapter.getNamespaceURI(e)===Ee.HTML;this.currentNotInHTML=!n,this.tokenizer.inForeignNode=!n&&e!==void 0&&r!==void 0&&!this._isIntegrationPoint(r,e)}_switchToTextParsing(e,r){this._insertElement(e,Ee.HTML),this.tokenizer.state=r,this.originalInsertionMode=this.insertionMode,this.insertionMode=te.TEXT}switchToPlaintextParsing(){this.insertionMode=te.TEXT,this.originalInsertionMode=te.IN_BODY,this.tokenizer.state=Ui.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;for(;e;){if(this.treeAdapter.getTagName(e)===de.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==Ee.HTML))switch(this.fragmentContextID){case I.TITLE:case I.TEXTAREA:{this.tokenizer.state=Ui.RCDATA;break}case I.STYLE:case I.XMP:case I.IFRAME:case I.NOEMBED:case I.NOFRAMES:case I.NOSCRIPT:{this.tokenizer.state=Ui.RAWTEXT;break}case I.SCRIPT:{this.tokenizer.state=Ui.SCRIPT_DATA;break}case I.PLAINTEXT:{this.tokenizer.state=Ui.PLAINTEXT;break}default:}}_setDocumentType(e){let r=e.name||"",n=e.publicId||"",s=e.systemId||"";if(this.treeAdapter.setDocumentType(this.document,r,n,s),e.location){let a=this.treeAdapter.getChildNodes(this.document).find(o=>this.treeAdapter.isDocumentTypeNode(o));a&&this.treeAdapter.setNodeSourceCodeLocation(a,e.location)}}_attachElementToTree(e,r){if(this.options.sourceCodeLocationInfo){let n=r&&{...r,startTag:r};this.treeAdapter.setNodeSourceCodeLocation(e,n)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{let n=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(n??this.document,e)}}_appendElement(e,r){let n=this.treeAdapter.createElement(e.tagName,r,e.attrs);this._attachElementToTree(n,e.location)}_insertElement(e,r){let n=this.treeAdapter.createElement(e.tagName,r,e.attrs);this._attachElementToTree(n,e.location),this.openElements.push(n,e.tagID)}_insertFakeElement(e,r){let n=this.treeAdapter.createElement(e,Ee.HTML,[]);this._attachElementToTree(n,null),this.openElements.push(n,r)}_insertTemplate(e){let r=this.treeAdapter.createElement(e.tagName,Ee.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(r,n),this._attachElementToTree(r,e.location),this.openElements.push(r,e.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,null)}_insertFakeRootElement(){let e=this.treeAdapter.createElement(de.HTML,Ee.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(e,null),this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e,I.HTML)}_appendCommentNode(e,r){let n=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(r,n),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,e.location)}_insertCharacters(e){let r,n;if(this._shouldFosterParentOnInsertion()?({parent:r,beforeElement:n}=this._findFosterParentingLocation(),n?this.treeAdapter.insertTextBefore(r,e.chars,n):this.treeAdapter.insertText(r,e.chars)):(r=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(r,e.chars)),!e.location)return;let s=this.treeAdapter.getChildNodes(r),i=n?s.lastIndexOf(n):s.length,a=s[i-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){let{endLine:c,endCol:u,endOffset:l}=e.location;this.treeAdapter.updateNodeSourceCodeLocation(a,{endLine:c,endCol:u,endOffset:l})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(a,e.location)}_adoptNodes(e,r){for(let n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(r,n)}_setEndLocation(e,r){if(this.treeAdapter.getNodeSourceCodeLocation(e)&&r.location){let n=r.location,s=this.treeAdapter.getTagName(e),i=r.type===br.END_TAG&&s===r.tagName?{endTag:{...n},endLine:n.endLine,endCol:n.endCol,endOffset:n.endOffset}:{endLine:n.startLine,endCol:n.startCol,endOffset:n.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(e,i)}}shouldProcessStartTagTokenInForeignContent(e){if(!this.currentNotInHTML)return!1;let r,n;return this.openElements.stackTop===0&&this.fragmentContext?(r=this.fragmentContext,n=this.fragmentContextID):{current:r,currentTagId:n}=this.openElements,e.tagID===I.SVG&&this.treeAdapter.getTagName(r)===de.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(r)===Ee.MATHML?!1:this.tokenizer.inForeignNode||(e.tagID===I.MGLYPH||e.tagID===I.MALIGNMARK)&&n!==void 0&&!this._isIntegrationPoint(n,r,Ee.HTML)}_processToken(e){switch(e.type){case br.CHARACTER:{this.onCharacter(e);break}case br.NULL_CHARACTER:{this.onNullCharacter(e);break}case br.COMMENT:{this.onComment(e);break}case br.DOCTYPE:{this.onDoctype(e);break}case br.START_TAG:{this._processStartTag(e);break}case br.END_TAG:{this.onEndTag(e);break}case br.EOF:{this.onEof(e);break}case br.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(e);break}}}_isIntegrationPoint(e,r,n){let s=this.treeAdapter.getNamespaceURI(r),i=this.treeAdapter.getAttrList(r);return S3e(e,s,i,n)}_reconstructActiveFormattingElements(){let e=this.activeFormattingElements.entries.length;if(e){let r=this.activeFormattingElements.entries.findIndex(s=>s.type===iu.Marker||this.openElements.contains(s.element)),n=r===-1?e-1:r-1;for(let s=n;s>=0;s--){let i=this.activeFormattingElements.entries[s];this._insertElement(i.token,this.treeAdapter.getNamespaceURI(i.element)),i.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=te.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(I.P),this.openElements.popUntilTagNamePopped(I.P)}_resetInsertionMode(){for(let e=this.openElements.stackTop;e>=0;e--)switch(e===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[e]){case I.TR:{this.insertionMode=te.IN_ROW;return}case I.TBODY:case I.THEAD:case I.TFOOT:{this.insertionMode=te.IN_TABLE_BODY;return}case I.CAPTION:{this.insertionMode=te.IN_CAPTION;return}case I.COLGROUP:{this.insertionMode=te.IN_COLUMN_GROUP;return}case I.TABLE:{this.insertionMode=te.IN_TABLE;return}case I.BODY:{this.insertionMode=te.IN_BODY;return}case I.FRAMESET:{this.insertionMode=te.IN_FRAMESET;return}case I.SELECT:{this._resetInsertionModeForSelect(e);return}case I.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case I.HTML:{this.insertionMode=this.headElement?te.AFTER_HEAD:te.BEFORE_HEAD;return}case I.TD:case I.TH:{if(e>0){this.insertionMode=te.IN_CELL;return}break}case I.HEAD:{if(e>0){this.insertionMode=te.IN_HEAD;return}break}}this.insertionMode=te.IN_BODY}_resetInsertionModeForSelect(e){if(e>0)for(let r=e-1;r>0;r--){let n=this.openElements.tagIDs[r];if(n===I.TEMPLATE)break;if(n===I.TABLE){this.insertionMode=te.IN_SELECT_IN_TABLE;return}}this.insertionMode=te.IN_SELECT}_isElementCausesFosterParenting(e){return w3e.has(e)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this.openElements.currentTagId!==void 0&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let e=this.openElements.stackTop;e>=0;e--){let r=this.openElements.items[e];switch(this.openElements.tagIDs[e]){case I.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(r)===Ee.HTML)return{parent:this.treeAdapter.getTemplateContent(r),beforeElement:null};break}case I.TABLE:{let n=this.treeAdapter.getParentNode(r);return n?{parent:n,beforeElement:r}:{parent:this.openElements.items[e-1],beforeElement:null}}default:}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(e){let r=this._findFosterParentingLocation();r.beforeElement?this.treeAdapter.insertBefore(r.parent,e,r.beforeElement):this.treeAdapter.appendChild(r.parent,e)}_isSpecialElement(e,r){let n=this.treeAdapter.getNamespaceURI(e);return yQ[n].has(r)}onCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){MYt(this,e);return}switch(this.insertionMode){case te.INITIAL:{pv(this,e);break}case te.BEFORE_HTML:{hv(this,e);break}case te.BEFORE_HEAD:{gv(this,e);break}case te.IN_HEAD:{Av(this,e);break}case te.IN_HEAD_NO_SCRIPT:{yv(this,e);break}case te.AFTER_HEAD:{xv(this,e);break}case te.IN_BODY:case te.IN_CAPTION:case te.IN_CELL:case te.IN_TEMPLATE:{N3e(this,e);break}case te.TEXT:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:{this._insertCharacters(e);break}case te.IN_TABLE:case te.IN_TABLE_BODY:case te.IN_ROW:{_Q(this,e);break}case te.IN_TABLE_TEXT:{B3e(this,e);break}case te.IN_COLUMN_GROUP:{bD(this,e);break}case te.AFTER_BODY:{ED(this,e);break}case te.AFTER_AFTER_BODY:{xD(this,e);break}default:}}onNullCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){BYt(this,e);return}switch(this.insertionMode){case te.INITIAL:{pv(this,e);break}case te.BEFORE_HTML:{hv(this,e);break}case te.BEFORE_HEAD:{gv(this,e);break}case te.IN_HEAD:{Av(this,e);break}case te.IN_HEAD_NO_SCRIPT:{yv(this,e);break}case te.AFTER_HEAD:{xv(this,e);break}case te.TEXT:{this._insertCharacters(e);break}case te.IN_TABLE:case te.IN_TABLE_BODY:case te.IN_ROW:{_Q(this,e);break}case te.IN_COLUMN_GROUP:{bD(this,e);break}case te.AFTER_BODY:{ED(this,e);break}case te.AFTER_AFTER_BODY:{xD(this,e);break}default:}}onComment(e){if(this.skipNextNewLine=!1,this.currentNotInHTML){SQ(this,e);return}switch(this.insertionMode){case te.INITIAL:case te.BEFORE_HTML:case te.BEFORE_HEAD:case te.IN_HEAD:case te.IN_HEAD_NO_SCRIPT:case te.AFTER_HEAD:case te.IN_BODY:case te.IN_TABLE:case te.IN_CAPTION:case te.IN_COLUMN_GROUP:case te.IN_TABLE_BODY:case te.IN_ROW:case te.IN_CELL:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:case te.IN_TEMPLATE:case te.IN_FRAMESET:case te.AFTER_FRAMESET:{SQ(this,e);break}case te.IN_TABLE_TEXT:{mv(this,e);break}case te.AFTER_BODY:{mKt(this,e);break}case te.AFTER_AFTER_BODY:case te.AFTER_AFTER_FRAMESET:{hKt(this,e);break}default:}}onDoctype(e){switch(this.skipNextNewLine=!1,this.insertionMode){case te.INITIAL:{gKt(this,e);break}case te.BEFORE_HEAD:case te.IN_HEAD:case te.IN_HEAD_NO_SCRIPT:case te.AFTER_HEAD:{this._err(e,me.misplacedDoctype);break}case te.IN_TABLE_TEXT:{mv(this,e);break}default:}}onStartTag(e){this.skipNextNewLine=!1,this.currentToken=e,this._processStartTag(e),e.selfClosing&&!e.ackSelfClosing&&this._err(e,me.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(e){this.shouldProcessStartTagTokenInForeignContent(e)?WYt(this,e):this._startTagOutsideForeignContent(e)}_startTagOutsideForeignContent(e){switch(this.insertionMode){case te.INITIAL:{pv(this,e);break}case te.BEFORE_HTML:{AKt(this,e);break}case te.BEFORE_HEAD:{xKt(this,e);break}case te.IN_HEAD:{au(this,e);break}case te.IN_HEAD_NO_SCRIPT:{_Kt(this,e);break}case te.AFTER_HEAD:{vKt(this,e);break}case te.IN_BODY:{qi(this,e);break}case te.IN_TABLE:{Lx(this,e);break}case te.IN_TABLE_TEXT:{mv(this,e);break}case te.IN_CAPTION:{bYt(this,e);break}case te.IN_COLUMN_GROUP:{TQ(this,e);break}case te.IN_TABLE_BODY:{vD(this,e);break}case te.IN_ROW:{CD(this,e);break}case te.IN_CELL:{SYt(this,e);break}case te.IN_SELECT:{$3e(this,e);break}case te.IN_SELECT_IN_TABLE:{CYt(this,e);break}case te.IN_TEMPLATE:{TYt(this,e);break}case te.AFTER_BODY:{RYt(this,e);break}case te.IN_FRAMESET:{NYt(this,e);break}case te.AFTER_FRAMESET:{PYt(this,e);break}case te.AFTER_AFTER_BODY:{kYt(this,e);break}case te.AFTER_AFTER_FRAMESET:{LYt(this,e);break}default:}}onEndTag(e){this.skipNextNewLine=!1,this.currentToken=e,this.currentNotInHTML?$Yt(this,e):this._endTagOutsideForeignContent(e)}_endTagOutsideForeignContent(e){switch(this.insertionMode){case te.INITIAL:{pv(this,e);break}case te.BEFORE_HTML:{yKt(this,e);break}case te.BEFORE_HEAD:{bKt(this,e);break}case te.IN_HEAD:{EKt(this,e);break}case te.IN_HEAD_NO_SCRIPT:{SKt(this,e);break}case te.AFTER_HEAD:{CKt(this,e);break}case te.IN_BODY:{SD(this,e);break}case te.TEXT:{lYt(this,e);break}case te.IN_TABLE:{bv(this,e);break}case te.IN_TABLE_TEXT:{mv(this,e);break}case te.IN_CAPTION:{EYt(this,e);break}case te.IN_COLUMN_GROUP:{_Yt(this,e);break}case te.IN_TABLE_BODY:{vQ(this,e);break}case te.IN_ROW:{W3e(this,e);break}case te.IN_CELL:{vYt(this,e);break}case te.IN_SELECT:{F3e(this,e);break}case te.IN_SELECT_IN_TABLE:{IYt(this,e);break}case te.IN_TEMPLATE:{wYt(this,e);break}case te.AFTER_BODY:{q3e(this,e);break}case te.IN_FRAMESET:{OYt(this,e);break}case te.AFTER_FRAMESET:{DYt(this,e);break}case te.AFTER_AFTER_BODY:{xD(this,e);break}default:}}onEof(e){switch(this.insertionMode){case te.INITIAL:{pv(this,e);break}case te.BEFORE_HTML:{hv(this,e);break}case te.BEFORE_HEAD:{gv(this,e);break}case te.IN_HEAD:{Av(this,e);break}case te.IN_HEAD_NO_SCRIPT:{yv(this,e);break}case te.AFTER_HEAD:{xv(this,e);break}case te.IN_BODY:case te.IN_TABLE:case te.IN_CAPTION:case te.IN_COLUMN_GROUP:case te.IN_TABLE_BODY:case te.IN_ROW:case te.IN_CELL:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:{k3e(this,e);break}case te.TEXT:{dYt(this,e);break}case te.IN_TABLE_TEXT:{mv(this,e);break}case te.IN_TEMPLATE:{U3e(this,e);break}case te.AFTER_BODY:case te.IN_FRAMESET:case te.AFTER_FRAMESET:case te.AFTER_AFTER_BODY:case te.AFTER_AFTER_FRAMESET:{IQ(this,e);break}default:}}onWhitespaceCharacter(e){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,e.chars.charCodeAt(0)===Q.LINE_FEED)){if(e.chars.length===1)return;e.chars=e.chars.substr(1)}if(this.tokenizer.inForeignNode){this._insertCharacters(e);return}switch(this.insertionMode){case te.IN_HEAD:case te.IN_HEAD_NO_SCRIPT:case te.AFTER_HEAD:case te.TEXT:case te.IN_COLUMN_GROUP:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:case te.IN_FRAMESET:case te.AFTER_FRAMESET:{this._insertCharacters(e);break}case te.IN_BODY:case te.IN_CAPTION:case te.IN_CELL:case te.IN_TEMPLATE:case te.AFTER_BODY:case te.AFTER_AFTER_BODY:case te.AFTER_AFTER_FRAMESET:{R3e(this,e);break}case te.IN_TABLE:case te.IN_TABLE_BODY:case te.IN_ROW:{_Q(this,e);break}case te.IN_TABLE_TEXT:{L3e(this,e);break}default:}}};function cKt(t,e){let r=t.activeFormattingElements.getElementEntryInScopeWithTagName(e.tagName);return r?t.openElements.contains(r.element)?t.openElements.hasInScope(e.tagID)||(r=null):(t.activeFormattingElements.removeEntry(r),r=null):D3e(t,e),r}function uKt(t,e){let r=null,n=t.openElements.stackTop;for(;n>=0;n--){let s=t.openElements.items[n];if(s===e.element)break;t._isSpecialElement(s,t.openElements.tagIDs[n])&&(r=s)}return r||(t.openElements.shortenToLength(Math.max(n,0)),t.activeFormattingElements.removeEntry(e)),r}function lKt(t,e,r){let n=e,s=t.openElements.getCommonAncestor(e);for(let i=0,a=s;a!==r;i++,a=s){s=t.openElements.getCommonAncestor(a);let o=t.activeFormattingElements.getElementEntry(a),c=o&&i>=aKt;!o||c?(c&&t.activeFormattingElements.removeEntry(o),t.openElements.remove(a)):(a=dKt(t,o),n===e&&(t.activeFormattingElements.bookmark=o),t.treeAdapter.detachNode(n),t.treeAdapter.appendChild(a,n),n=a)}return n}function dKt(t,e){let r=t.treeAdapter.getNamespaceURI(e.element),n=t.treeAdapter.createElement(e.token.tagName,r,e.token.attrs);return t.openElements.replace(e.element,n),e.element=n,n}function fKt(t,e,r){let n=t.treeAdapter.getTagName(e),s=u0(n);if(t._isElementCausesFosterParenting(s))t._fosterParentElement(r);else{let i=t.treeAdapter.getNamespaceURI(e);s===I.TEMPLATE&&i===Ee.HTML&&(e=t.treeAdapter.getTemplateContent(e)),t.treeAdapter.appendChild(e,r)}}function pKt(t,e,r){let n=t.treeAdapter.getNamespaceURI(r.element),{token:s}=r,i=t.treeAdapter.createElement(s.tagName,n,s.attrs);t._adoptNodes(e,i),t.treeAdapter.appendChild(e,i),t.activeFormattingElements.insertElementAfterBookmark(i,s),t.activeFormattingElements.removeEntry(r),t.openElements.remove(r.element),t.openElements.insertAfter(e,i,s.tagID)}function CQ(t,e){for(let r=0;r<iKt;r++){let n=cKt(t,e);if(!n)break;let s=uKt(t,n);if(!s)break;t.activeFormattingElements.bookmark=n;let i=lKt(t,s,n.element),a=t.openElements.getCommonAncestor(n.element);t.treeAdapter.detachNode(i),a&&fKt(t,a,i),pKt(t,s,n)}}function SQ(t,e){t._appendCommentNode(e,t.openElements.currentTmplContentOrNode)}function mKt(t,e){t._appendCommentNode(e,t.openElements.items[0])}function hKt(t,e){t._appendCommentNode(e,t.document)}function IQ(t,e){if(t.stopped=!0,e.location){let r=t.fragmentContext?0:2;for(let n=t.openElements.stackTop;n>=r;n--)t._setEndLocation(t.openElements.items[n],e);if(!t.fragmentContext&&t.openElements.stackTop>=0){let n=t.openElements.items[0],s=t.treeAdapter.getNodeSourceCodeLocation(n);if(s&&!s.endTag&&(t._setEndLocation(n,e),t.openElements.stackTop>=1)){let i=t.openElements.items[1],a=t.treeAdapter.getNodeSourceCodeLocation(i);a&&!a.endTag&&t._setEndLocation(i,e)}}}}function gKt(t,e){t._setDocumentType(e);let r=e.forceQuirks?Fi.QUIRKS:x3e(e);y3e(e)||t._err(e,me.nonConformingDoctype),t.treeAdapter.setDocumentMode(t.document,r),t.insertionMode=te.BEFORE_HTML}function pv(t,e){t._err(e,me.missingDoctype,!0),t.treeAdapter.setDocumentMode(t.document,Fi.QUIRKS),t.insertionMode=te.BEFORE_HTML,t._processToken(e)}function AKt(t,e){e.tagID===I.HTML?(t._insertElement(e,Ee.HTML),t.insertionMode=te.BEFORE_HEAD):hv(t,e)}function yKt(t,e){let r=e.tagID;(r===I.HTML||r===I.HEAD||r===I.BODY||r===I.BR)&&hv(t,e)}function hv(t,e){t._insertFakeRootElement(),t.insertionMode=te.BEFORE_HEAD,t._processToken(e)}function xKt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.HEAD:{t._insertElement(e,Ee.HTML),t.headElement=t.openElements.current,t.insertionMode=te.IN_HEAD;break}default:gv(t,e)}}function bKt(t,e){let r=e.tagID;r===I.HEAD||r===I.BODY||r===I.HTML||r===I.BR?gv(t,e):t._err(e,me.endTagWithoutMatchingOpenElement)}function gv(t,e){t._insertFakeElement(de.HEAD,I.HEAD),t.headElement=t.openElements.current,t.insertionMode=te.IN_HEAD,t._processToken(e)}function au(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.BASE:case I.BASEFONT:case I.BGSOUND:case I.LINK:case I.META:{t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case I.TITLE:{t._switchToTextParsing(e,Ui.RCDATA);break}case I.NOSCRIPT:{t.options.scriptingEnabled?t._switchToTextParsing(e,Ui.RAWTEXT):(t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_HEAD_NO_SCRIPT);break}case I.NOFRAMES:case I.STYLE:{t._switchToTextParsing(e,Ui.RAWTEXT);break}case I.SCRIPT:{t._switchToTextParsing(e,Ui.SCRIPT_DATA);break}case I.TEMPLATE:{t._insertTemplate(e),t.activeFormattingElements.insertMarker(),t.framesetOk=!1,t.insertionMode=te.IN_TEMPLATE,t.tmplInsertionModeStack.unshift(te.IN_TEMPLATE);break}case I.HEAD:{t._err(e,me.misplacedStartTagForHeadElement);break}default:Av(t,e)}}function EKt(t,e){switch(e.tagID){case I.HEAD:{t.openElements.pop(),t.insertionMode=te.AFTER_HEAD;break}case I.BODY:case I.BR:case I.HTML:{Av(t,e);break}case I.TEMPLATE:{Ih(t,e);break}default:t._err(e,me.endTagWithoutMatchingOpenElement)}}function Ih(t,e){t.openElements.tmplCount>0?(t.openElements.generateImpliedEndTagsThoroughly(),t.openElements.currentTagId!==I.TEMPLATE&&t._err(e,me.closingOfElementWithOpenChildElements),t.openElements.popUntilTagNamePopped(I.TEMPLATE),t.activeFormattingElements.clearToLastMarker(),t.tmplInsertionModeStack.shift(),t._resetInsertionMode()):t._err(e,me.endTagWithoutMatchingOpenElement)}function Av(t,e){t.openElements.pop(),t.insertionMode=te.AFTER_HEAD,t._processToken(e)}function _Kt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.BASEFONT:case I.BGSOUND:case I.HEAD:case I.LINK:case I.META:case I.NOFRAMES:case I.STYLE:{au(t,e);break}case I.NOSCRIPT:{t._err(e,me.nestedNoscriptInHead);break}default:yv(t,e)}}function SKt(t,e){switch(e.tagID){case I.NOSCRIPT:{t.openElements.pop(),t.insertionMode=te.IN_HEAD;break}case I.BR:{yv(t,e);break}default:t._err(e,me.endTagWithoutMatchingOpenElement)}}function yv(t,e){let r=e.type===br.EOF?me.openElementsLeftAfterEof:me.disallowedContentInNoscriptInHead;t._err(e,r),t.openElements.pop(),t.insertionMode=te.IN_HEAD,t._processToken(e)}function vKt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.BODY:{t._insertElement(e,Ee.HTML),t.framesetOk=!1,t.insertionMode=te.IN_BODY;break}case I.FRAMESET:{t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_FRAMESET;break}case I.BASE:case I.BASEFONT:case I.BGSOUND:case I.LINK:case I.META:case I.NOFRAMES:case I.SCRIPT:case I.STYLE:case I.TEMPLATE:case I.TITLE:{t._err(e,me.abandonedHeadElementChild),t.openElements.push(t.headElement,I.HEAD),au(t,e),t.openElements.remove(t.headElement);break}case I.HEAD:{t._err(e,me.misplacedStartTagForHeadElement);break}default:xv(t,e)}}function CKt(t,e){switch(e.tagID){case I.BODY:case I.HTML:case I.BR:{xv(t,e);break}case I.TEMPLATE:{Ih(t,e);break}default:t._err(e,me.endTagWithoutMatchingOpenElement)}}function xv(t,e){t._insertFakeElement(de.BODY,I.BODY),t.insertionMode=te.IN_BODY,_D(t,e)}function _D(t,e){switch(e.type){case br.CHARACTER:{N3e(t,e);break}case br.WHITESPACE_CHARACTER:{R3e(t,e);break}case br.COMMENT:{SQ(t,e);break}case br.START_TAG:{qi(t,e);break}case br.END_TAG:{SD(t,e);break}case br.EOF:{k3e(t,e);break}default:}}function R3e(t,e){t._reconstructActiveFormattingElements(),t._insertCharacters(e)}function N3e(t,e){t._reconstructActiveFormattingElements(),t._insertCharacters(e),t.framesetOk=!1}function IKt(t,e){t.openElements.tmplCount===0&&t.treeAdapter.adoptAttributes(t.openElements.items[0],e.attrs)}function TKt(t,e){let r=t.openElements.tryPeekProperlyNestedBodyElement();r&&t.openElements.tmplCount===0&&(t.framesetOk=!1,t.treeAdapter.adoptAttributes(r,e.attrs))}function wKt(t,e){let r=t.openElements.tryPeekProperlyNestedBodyElement();t.framesetOk&&r&&(t.treeAdapter.detachNode(r),t.openElements.popAllUpToHtmlElement(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_FRAMESET)}function RKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML)}function NKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t.openElements.currentTagId!==void 0&&Dx.has(t.openElements.currentTagId)&&t.openElements.pop(),t._insertElement(e,Ee.HTML)}function OKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),t.skipNextNewLine=!0,t.framesetOk=!1}function PKt(t,e){let r=t.openElements.tmplCount>0;(!t.formElement||r)&&(t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),r||(t.formElement=t.openElements.current))}function DKt(t,e){t.framesetOk=!1;let r=e.tagID;for(let n=t.openElements.stackTop;n>=0;n--){let s=t.openElements.tagIDs[n];if(r===I.LI&&s===I.LI||(r===I.DD||r===I.DT)&&(s===I.DD||s===I.DT)){t.openElements.generateImpliedEndTagsWithExclusion(s),t.openElements.popUntilTagNamePopped(s);break}if(s!==I.ADDRESS&&s!==I.DIV&&s!==I.P&&t._isSpecialElement(t.openElements.items[n],s))break}t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML)}function kKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),t.tokenizer.state=Ui.PLAINTEXT}function LKt(t,e){t.openElements.hasInScope(I.BUTTON)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(I.BUTTON)),t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.framesetOk=!1}function BKt(t,e){let r=t.activeFormattingElements.getElementEntryInScopeWithTagName(de.A);r&&(CQ(t,e),t.openElements.remove(r.element),t.activeFormattingElements.removeEntry(r)),t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}function MKt(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}function WKt(t,e){t._reconstructActiveFormattingElements(),t.openElements.hasInScope(I.NOBR)&&(CQ(t,e),t._reconstructActiveFormattingElements()),t._insertElement(e,Ee.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}function $Kt(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.activeFormattingElements.insertMarker(),t.framesetOk=!1}function FKt(t,e){t.treeAdapter.getDocumentMode(t.document)!==Fi.QUIRKS&&t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),t.framesetOk=!1,t.insertionMode=te.IN_TABLE}function O3e(t,e){t._reconstructActiveFormattingElements(),t._appendElement(e,Ee.HTML),t.framesetOk=!1,e.ackSelfClosing=!0}function P3e(t){let e=lD(t,pl.TYPE);return e!=null&&e.toLowerCase()===sKt}function UKt(t,e){t._reconstructActiveFormattingElements(),t._appendElement(e,Ee.HTML),P3e(e)||(t.framesetOk=!1),e.ackSelfClosing=!0}function qKt(t,e){t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0}function jKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._appendElement(e,Ee.HTML),t.framesetOk=!1,e.ackSelfClosing=!0}function HKt(t,e){e.tagName=de.IMG,e.tagID=I.IMG,O3e(t,e)}function QKt(t,e){t._insertElement(e,Ee.HTML),t.skipNextNewLine=!0,t.tokenizer.state=Ui.RCDATA,t.originalInsertionMode=t.insertionMode,t.framesetOk=!1,t.insertionMode=te.TEXT}function GKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._reconstructActiveFormattingElements(),t.framesetOk=!1,t._switchToTextParsing(e,Ui.RAWTEXT)}function VKt(t,e){t.framesetOk=!1,t._switchToTextParsing(e,Ui.RAWTEXT)}function I3e(t,e){t._switchToTextParsing(e,Ui.RAWTEXT)}function zKt(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.framesetOk=!1,t.insertionMode=t.insertionMode===te.IN_TABLE||t.insertionMode===te.IN_CAPTION||t.insertionMode===te.IN_TABLE_BODY||t.insertionMode===te.IN_ROW||t.insertionMode===te.IN_CELL?te.IN_SELECT_IN_TABLE:te.IN_SELECT}function KKt(t,e){t.openElements.currentTagId===I.OPTION&&t.openElements.pop(),t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML)}function YKt(t,e){t.openElements.hasInScope(I.RUBY)&&t.openElements.generateImpliedEndTags(),t._insertElement(e,Ee.HTML)}function JKt(t,e){t.openElements.hasInScope(I.RUBY)&&t.openElements.generateImpliedEndTagsWithExclusion(I.RTC),t._insertElement(e,Ee.HTML)}function XKt(t,e){t._reconstructActiveFormattingElements(),bQ(e),yD(e),e.selfClosing?t._appendElement(e,Ee.MATHML):t._insertElement(e,Ee.MATHML),e.ackSelfClosing=!0}function ZKt(t,e){t._reconstructActiveFormattingElements(),EQ(e),yD(e),e.selfClosing?t._appendElement(e,Ee.SVG):t._insertElement(e,Ee.SVG),e.ackSelfClosing=!0}function T3e(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML)}function qi(t,e){switch(e.tagID){case I.I:case I.S:case I.B:case I.U:case I.EM:case I.TT:case I.BIG:case I.CODE:case I.FONT:case I.SMALL:case I.STRIKE:case I.STRONG:{MKt(t,e);break}case I.A:{BKt(t,e);break}case I.H1:case I.H2:case I.H3:case I.H4:case I.H5:case I.H6:{NKt(t,e);break}case I.P:case I.DL:case I.OL:case I.UL:case I.DIV:case I.DIR:case I.NAV:case I.MAIN:case I.MENU:case I.ASIDE:case I.CENTER:case I.FIGURE:case I.FOOTER:case I.HEADER:case I.HGROUP:case I.DIALOG:case I.DETAILS:case I.ADDRESS:case I.ARTICLE:case I.SEARCH:case I.SECTION:case I.SUMMARY:case I.FIELDSET:case I.BLOCKQUOTE:case I.FIGCAPTION:{RKt(t,e);break}case I.LI:case I.DD:case I.DT:{DKt(t,e);break}case I.BR:case I.IMG:case I.WBR:case I.AREA:case I.EMBED:case I.KEYGEN:{O3e(t,e);break}case I.HR:{jKt(t,e);break}case I.RB:case I.RTC:{YKt(t,e);break}case I.RT:case I.RP:{JKt(t,e);break}case I.PRE:case I.LISTING:{OKt(t,e);break}case I.XMP:{GKt(t,e);break}case I.SVG:{ZKt(t,e);break}case I.HTML:{IKt(t,e);break}case I.BASE:case I.LINK:case I.META:case I.STYLE:case I.TITLE:case I.SCRIPT:case I.BGSOUND:case I.BASEFONT:case I.TEMPLATE:{au(t,e);break}case I.BODY:{TKt(t,e);break}case I.FORM:{PKt(t,e);break}case I.NOBR:{WKt(t,e);break}case I.MATH:{XKt(t,e);break}case I.TABLE:{FKt(t,e);break}case I.INPUT:{UKt(t,e);break}case I.PARAM:case I.TRACK:case I.SOURCE:{qKt(t,e);break}case I.IMAGE:{HKt(t,e);break}case I.BUTTON:{LKt(t,e);break}case I.APPLET:case I.OBJECT:case I.MARQUEE:{$Kt(t,e);break}case I.IFRAME:{VKt(t,e);break}case I.SELECT:{zKt(t,e);break}case I.OPTION:case I.OPTGROUP:{KKt(t,e);break}case I.NOEMBED:case I.NOFRAMES:{I3e(t,e);break}case I.FRAMESET:{wKt(t,e);break}case I.TEXTAREA:{QKt(t,e);break}case I.NOSCRIPT:{t.options.scriptingEnabled?I3e(t,e):T3e(t,e);break}case I.PLAINTEXT:{kKt(t,e);break}case I.COL:case I.TH:case I.TD:case I.TR:case I.HEAD:case I.FRAME:case I.TBODY:case I.TFOOT:case I.THEAD:case I.CAPTION:case I.COLGROUP:break;default:T3e(t,e)}}function eYt(t,e){if(t.openElements.hasInScope(I.BODY)&&(t.insertionMode=te.AFTER_BODY,t.options.sourceCodeLocationInfo)){let r=t.openElements.tryPeekProperlyNestedBodyElement();r&&t._setEndLocation(r,e)}}function tYt(t,e){t.openElements.hasInScope(I.BODY)&&(t.insertionMode=te.AFTER_BODY,q3e(t,e))}function rYt(t,e){let r=e.tagID;t.openElements.hasInScope(r)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(r))}function nYt(t){let e=t.openElements.tmplCount>0,{formElement:r}=t;e||(t.formElement=null),(r||e)&&t.openElements.hasInScope(I.FORM)&&(t.openElements.generateImpliedEndTags(),e?t.openElements.popUntilTagNamePopped(I.FORM):r&&t.openElements.remove(r))}function sYt(t){t.openElements.hasInButtonScope(I.P)||t._insertFakeElement(de.P,I.P),t._closePElement()}function iYt(t){t.openElements.hasInListItemScope(I.LI)&&(t.openElements.generateImpliedEndTagsWithExclusion(I.LI),t.openElements.popUntilTagNamePopped(I.LI))}function aYt(t,e){let r=e.tagID;t.openElements.hasInScope(r)&&(t.openElements.generateImpliedEndTagsWithExclusion(r),t.openElements.popUntilTagNamePopped(r))}function oYt(t){t.openElements.hasNumberedHeaderInScope()&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilNumberedHeaderPopped())}function cYt(t,e){let r=e.tagID;t.openElements.hasInScope(r)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(r),t.activeFormattingElements.clearToLastMarker())}function uYt(t){t._reconstructActiveFormattingElements(),t._insertFakeElement(de.BR,I.BR),t.openElements.pop(),t.framesetOk=!1}function D3e(t,e){let r=e.tagName,n=e.tagID;for(let s=t.openElements.stackTop;s>0;s--){let i=t.openElements.items[s],a=t.openElements.tagIDs[s];if(n===a&&(n!==I.UNKNOWN||t.treeAdapter.getTagName(i)===r)){t.openElements.generateImpliedEndTagsWithExclusion(n),t.openElements.stackTop>=s&&t.openElements.shortenToLength(s);break}if(t._isSpecialElement(i,a))break}}function SD(t,e){switch(e.tagID){case I.A:case I.B:case I.I:case I.S:case I.U:case I.EM:case I.TT:case I.BIG:case I.CODE:case I.FONT:case I.NOBR:case I.SMALL:case I.STRIKE:case I.STRONG:{CQ(t,e);break}case I.P:{sYt(t);break}case I.DL:case I.UL:case I.OL:case I.DIR:case I.DIV:case I.NAV:case I.PRE:case I.MAIN:case I.MENU:case I.ASIDE:case I.BUTTON:case I.CENTER:case I.FIGURE:case I.FOOTER:case I.HEADER:case I.HGROUP:case I.DIALOG:case I.ADDRESS:case I.ARTICLE:case I.DETAILS:case I.SEARCH:case I.SECTION:case I.SUMMARY:case I.LISTING:case I.FIELDSET:case I.BLOCKQUOTE:case I.FIGCAPTION:{rYt(t,e);break}case I.LI:{iYt(t);break}case I.DD:case I.DT:{aYt(t,e);break}case I.H1:case I.H2:case I.H3:case I.H4:case I.H5:case I.H6:{oYt(t);break}case I.BR:{uYt(t);break}case I.BODY:{eYt(t,e);break}case I.HTML:{tYt(t,e);break}case I.FORM:{nYt(t);break}case I.APPLET:case I.OBJECT:case I.MARQUEE:{cYt(t,e);break}case I.TEMPLATE:{Ih(t,e);break}default:D3e(t,e)}}function k3e(t,e){t.tmplInsertionModeStack.length>0?U3e(t,e):IQ(t,e)}function lYt(t,e){var r;e.tagID===I.SCRIPT&&((r=t.scriptHandler)===null||r===void 0||r.call(t,t.openElements.current)),t.openElements.pop(),t.insertionMode=t.originalInsertionMode}function dYt(t,e){t._err(e,me.eofInElementThatCanContainOnlyText),t.openElements.pop(),t.insertionMode=t.originalInsertionMode,t.onEof(e)}function _Q(t,e){if(t.openElements.currentTagId!==void 0&&w3e.has(t.openElements.currentTagId))switch(t.pendingCharacterTokens.length=0,t.hasNonWhitespacePendingCharacterToken=!1,t.originalInsertionMode=t.insertionMode,t.insertionMode=te.IN_TABLE_TEXT,e.type){case br.CHARACTER:{B3e(t,e);break}case br.WHITESPACE_CHARACTER:{L3e(t,e);break}}else Ev(t,e)}function fYt(t,e){t.openElements.clearBackToTableContext(),t.activeFormattingElements.insertMarker(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_CAPTION}function pYt(t,e){t.openElements.clearBackToTableContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_COLUMN_GROUP}function mYt(t,e){t.openElements.clearBackToTableContext(),t._insertFakeElement(de.COLGROUP,I.COLGROUP),t.insertionMode=te.IN_COLUMN_GROUP,TQ(t,e)}function hYt(t,e){t.openElements.clearBackToTableContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_TABLE_BODY}function gYt(t,e){t.openElements.clearBackToTableContext(),t._insertFakeElement(de.TBODY,I.TBODY),t.insertionMode=te.IN_TABLE_BODY,vD(t,e)}function AYt(t,e){t.openElements.hasInTableScope(I.TABLE)&&(t.openElements.popUntilTagNamePopped(I.TABLE),t._resetInsertionMode(),t._processStartTag(e))}function yYt(t,e){P3e(e)?t._appendElement(e,Ee.HTML):Ev(t,e),e.ackSelfClosing=!0}function xYt(t,e){!t.formElement&&t.openElements.tmplCount===0&&(t._insertElement(e,Ee.HTML),t.formElement=t.openElements.current,t.openElements.pop())}function Lx(t,e){switch(e.tagID){case I.TD:case I.TH:case I.TR:{gYt(t,e);break}case I.STYLE:case I.SCRIPT:case I.TEMPLATE:{au(t,e);break}case I.COL:{mYt(t,e);break}case I.FORM:{xYt(t,e);break}case I.TABLE:{AYt(t,e);break}case I.TBODY:case I.TFOOT:case I.THEAD:{hYt(t,e);break}case I.INPUT:{yYt(t,e);break}case I.CAPTION:{fYt(t,e);break}case I.COLGROUP:{pYt(t,e);break}default:Ev(t,e)}}function bv(t,e){switch(e.tagID){case I.TABLE:{t.openElements.hasInTableScope(I.TABLE)&&(t.openElements.popUntilTagNamePopped(I.TABLE),t._resetInsertionMode());break}case I.TEMPLATE:{Ih(t,e);break}case I.BODY:case I.CAPTION:case I.COL:case I.COLGROUP:case I.HTML:case I.TBODY:case I.TD:case I.TFOOT:case I.TH:case I.THEAD:case I.TR:break;default:Ev(t,e)}}function Ev(t,e){let r=t.fosterParentingEnabled;t.fosterParentingEnabled=!0,_D(t,e),t.fosterParentingEnabled=r}function L3e(t,e){t.pendingCharacterTokens.push(e)}function B3e(t,e){t.pendingCharacterTokens.push(e),t.hasNonWhitespacePendingCharacterToken=!0}function mv(t,e){let r=0;if(t.hasNonWhitespacePendingCharacterToken)for(;r<t.pendingCharacterTokens.length;r++)Ev(t,t.pendingCharacterTokens[r]);else for(;r<t.pendingCharacterTokens.length;r++)t._insertCharacters(t.pendingCharacterTokens[r]);t.insertionMode=t.originalInsertionMode,t._processToken(e)}var M3e=new Set([I.CAPTION,I.COL,I.COLGROUP,I.TBODY,I.TD,I.TFOOT,I.TH,I.THEAD,I.TR]);function bYt(t,e){let r=e.tagID;M3e.has(r)?t.openElements.hasInTableScope(I.CAPTION)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(I.CAPTION),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=te.IN_TABLE,Lx(t,e)):qi(t,e)}function EYt(t,e){let r=e.tagID;switch(r){case I.CAPTION:case I.TABLE:{t.openElements.hasInTableScope(I.CAPTION)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(I.CAPTION),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=te.IN_TABLE,r===I.TABLE&&bv(t,e));break}case I.BODY:case I.COL:case I.COLGROUP:case I.HTML:case I.TBODY:case I.TD:case I.TFOOT:case I.TH:case I.THEAD:case I.TR:break;default:SD(t,e)}}function TQ(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.COL:{t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case I.TEMPLATE:{au(t,e);break}default:bD(t,e)}}function _Yt(t,e){switch(e.tagID){case I.COLGROUP:{t.openElements.currentTagId===I.COLGROUP&&(t.openElements.pop(),t.insertionMode=te.IN_TABLE);break}case I.TEMPLATE:{Ih(t,e);break}case I.COL:break;default:bD(t,e)}}function bD(t,e){t.openElements.currentTagId===I.COLGROUP&&(t.openElements.pop(),t.insertionMode=te.IN_TABLE,t._processToken(e))}function vD(t,e){switch(e.tagID){case I.TR:{t.openElements.clearBackToTableBodyContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_ROW;break}case I.TH:case I.TD:{t.openElements.clearBackToTableBodyContext(),t._insertFakeElement(de.TR,I.TR),t.insertionMode=te.IN_ROW,CD(t,e);break}case I.CAPTION:case I.COL:case I.COLGROUP:case I.TBODY:case I.TFOOT:case I.THEAD:{t.openElements.hasTableBodyContextInTableScope()&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE,Lx(t,e));break}default:Lx(t,e)}}function vQ(t,e){let r=e.tagID;switch(e.tagID){case I.TBODY:case I.TFOOT:case I.THEAD:{t.openElements.hasInTableScope(r)&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE);break}case I.TABLE:{t.openElements.hasTableBodyContextInTableScope()&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE,bv(t,e));break}case I.BODY:case I.CAPTION:case I.COL:case I.COLGROUP:case I.HTML:case I.TD:case I.TH:case I.TR:break;default:bv(t,e)}}function CD(t,e){switch(e.tagID){case I.TH:case I.TD:{t.openElements.clearBackToTableRowContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_CELL,t.activeFormattingElements.insertMarker();break}case I.CAPTION:case I.COL:case I.COLGROUP:case I.TBODY:case I.TFOOT:case I.THEAD:case I.TR:{t.openElements.hasInTableScope(I.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY,vD(t,e));break}default:Lx(t,e)}}function W3e(t,e){switch(e.tagID){case I.TR:{t.openElements.hasInTableScope(I.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY);break}case I.TABLE:{t.openElements.hasInTableScope(I.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY,vQ(t,e));break}case I.TBODY:case I.TFOOT:case I.THEAD:{(t.openElements.hasInTableScope(e.tagID)||t.openElements.hasInTableScope(I.TR))&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY,vQ(t,e));break}case I.BODY:case I.CAPTION:case I.COL:case I.COLGROUP:case I.HTML:case I.TD:case I.TH:break;default:bv(t,e)}}function SYt(t,e){let r=e.tagID;M3e.has(r)?(t.openElements.hasInTableScope(I.TD)||t.openElements.hasInTableScope(I.TH))&&(t._closeTableCell(),CD(t,e)):qi(t,e)}function vYt(t,e){let r=e.tagID;switch(r){case I.TD:case I.TH:{t.openElements.hasInTableScope(r)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(r),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=te.IN_ROW);break}case I.TABLE:case I.TBODY:case I.TFOOT:case I.THEAD:case I.TR:{t.openElements.hasInTableScope(r)&&(t._closeTableCell(),W3e(t,e));break}case I.BODY:case I.CAPTION:case I.COL:case I.COLGROUP:case I.HTML:break;default:SD(t,e)}}function $3e(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.OPTION:{t.openElements.currentTagId===I.OPTION&&t.openElements.pop(),t._insertElement(e,Ee.HTML);break}case I.OPTGROUP:{t.openElements.currentTagId===I.OPTION&&t.openElements.pop(),t.openElements.currentTagId===I.OPTGROUP&&t.openElements.pop(),t._insertElement(e,Ee.HTML);break}case I.HR:{t.openElements.currentTagId===I.OPTION&&t.openElements.pop(),t.openElements.currentTagId===I.OPTGROUP&&t.openElements.pop(),t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case I.INPUT:case I.KEYGEN:case I.TEXTAREA:case I.SELECT:{t.openElements.hasInSelectScope(I.SELECT)&&(t.openElements.popUntilTagNamePopped(I.SELECT),t._resetInsertionMode(),e.tagID!==I.SELECT&&t._processStartTag(e));break}case I.SCRIPT:case I.TEMPLATE:{au(t,e);break}default:}}function F3e(t,e){switch(e.tagID){case I.OPTGROUP:{t.openElements.stackTop>0&&t.openElements.currentTagId===I.OPTION&&t.openElements.tagIDs[t.openElements.stackTop-1]===I.OPTGROUP&&t.openElements.pop(),t.openElements.currentTagId===I.OPTGROUP&&t.openElements.pop();break}case I.OPTION:{t.openElements.currentTagId===I.OPTION&&t.openElements.pop();break}case I.SELECT:{t.openElements.hasInSelectScope(I.SELECT)&&(t.openElements.popUntilTagNamePopped(I.SELECT),t._resetInsertionMode());break}case I.TEMPLATE:{Ih(t,e);break}default:}}function CYt(t,e){let r=e.tagID;r===I.CAPTION||r===I.TABLE||r===I.TBODY||r===I.TFOOT||r===I.THEAD||r===I.TR||r===I.TD||r===I.TH?(t.openElements.popUntilTagNamePopped(I.SELECT),t._resetInsertionMode(),t._processStartTag(e)):$3e(t,e)}function IYt(t,e){let r=e.tagID;r===I.CAPTION||r===I.TABLE||r===I.TBODY||r===I.TFOOT||r===I.THEAD||r===I.TR||r===I.TD||r===I.TH?t.openElements.hasInTableScope(r)&&(t.openElements.popUntilTagNamePopped(I.SELECT),t._resetInsertionMode(),t.onEndTag(e)):F3e(t,e)}function TYt(t,e){switch(e.tagID){case I.BASE:case I.BASEFONT:case I.BGSOUND:case I.LINK:case I.META:case I.NOFRAMES:case I.SCRIPT:case I.STYLE:case I.TEMPLATE:case I.TITLE:{au(t,e);break}case I.CAPTION:case I.COLGROUP:case I.TBODY:case I.TFOOT:case I.THEAD:{t.tmplInsertionModeStack[0]=te.IN_TABLE,t.insertionMode=te.IN_TABLE,Lx(t,e);break}case I.COL:{t.tmplInsertionModeStack[0]=te.IN_COLUMN_GROUP,t.insertionMode=te.IN_COLUMN_GROUP,TQ(t,e);break}case I.TR:{t.tmplInsertionModeStack[0]=te.IN_TABLE_BODY,t.insertionMode=te.IN_TABLE_BODY,vD(t,e);break}case I.TD:case I.TH:{t.tmplInsertionModeStack[0]=te.IN_ROW,t.insertionMode=te.IN_ROW,CD(t,e);break}default:t.tmplInsertionModeStack[0]=te.IN_BODY,t.insertionMode=te.IN_BODY,qi(t,e)}}function wYt(t,e){e.tagID===I.TEMPLATE&&Ih(t,e)}function U3e(t,e){t.openElements.tmplCount>0?(t.openElements.popUntilTagNamePopped(I.TEMPLATE),t.activeFormattingElements.clearToLastMarker(),t.tmplInsertionModeStack.shift(),t._resetInsertionMode(),t.onEof(e)):IQ(t,e)}function RYt(t,e){e.tagID===I.HTML?qi(t,e):ED(t,e)}function q3e(t,e){var r;if(e.tagID===I.HTML){if(t.fragmentContext||(t.insertionMode=te.AFTER_AFTER_BODY),t.options.sourceCodeLocationInfo&&t.openElements.tagIDs[0]===I.HTML){t._setEndLocation(t.openElements.items[0],e);let n=t.openElements.items[1];n&&!(!((r=t.treeAdapter.getNodeSourceCodeLocation(n))===null||r===void 0)&&r.endTag)&&t._setEndLocation(n,e)}}else ED(t,e)}function ED(t,e){t.insertionMode=te.IN_BODY,_D(t,e)}function NYt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.FRAMESET:{t._insertElement(e,Ee.HTML);break}case I.FRAME:{t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case I.NOFRAMES:{au(t,e);break}default:}}function OYt(t,e){e.tagID===I.FRAMESET&&!t.openElements.isRootHtmlElementCurrent()&&(t.openElements.pop(),!t.fragmentContext&&t.openElements.currentTagId!==I.FRAMESET&&(t.insertionMode=te.AFTER_FRAMESET))}function PYt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.NOFRAMES:{au(t,e);break}default:}}function DYt(t,e){e.tagID===I.HTML&&(t.insertionMode=te.AFTER_AFTER_FRAMESET)}function kYt(t,e){e.tagID===I.HTML?qi(t,e):xD(t,e)}function xD(t,e){t.insertionMode=te.IN_BODY,_D(t,e)}function LYt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.NOFRAMES:{au(t,e);break}default:}}function BYt(t,e){e.chars=_n,t._insertCharacters(e)}function MYt(t,e){t._insertCharacters(e),t.framesetOk=!1}function j3e(t){for(;t.treeAdapter.getNamespaceURI(t.openElements.current)!==Ee.HTML&&t.openElements.currentTagId!==void 0&&!t._isIntegrationPoint(t.openElements.currentTagId,t.openElements.current);)t.openElements.pop()}function WYt(t,e){if(E3e(e))j3e(t),t._startTagOutsideForeignContent(e);else{let r=t._getAdjustedCurrentElement(),n=t.treeAdapter.getNamespaceURI(r);n===Ee.MATHML?bQ(e):n===Ee.SVG&&(_3e(e),EQ(e)),yD(e),e.selfClosing?t._appendElement(e,n):t._insertElement(e,n),e.ackSelfClosing=!0}}function $Yt(t,e){if(e.tagID===I.P||e.tagID===I.BR){j3e(t),t._endTagOutsideForeignContent(e);return}for(let r=t.openElements.stackTop;r>0;r--){let n=t.openElements.items[r];if(t.treeAdapter.getNamespaceURI(n)===Ee.HTML){t._endTagOutsideForeignContent(e);break}let s=t.treeAdapter.getTagName(n);if(s.toLowerCase()===e.tagName){e.tagName=s,t.openElements.shortenToLength(r);break}}}var kUr=String.prototype.codePointAt==null?(t,e)=>(t.charCodeAt(e)&64512)===55296?(t.charCodeAt(e)-55296)*1024+t.charCodeAt(e+1)-56320+65536:t.charCodeAt(e):(t,e)=>t.codePointAt(e);function H3e(t,e){return function(n){let s,i=0,a="";for(;s=t.exec(n);)i!==s.index&&(a+=n.substring(i,s.index)),a+=e.get(s[0].charCodeAt(0)),i=s.index+1;return a+n.substring(i)}}var Q3e=H3e(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]])),G3e=H3e(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]));var FYt=new Set([de.AREA,de.BASE,de.BASEFONT,de.BGSOUND,de.BR,de.COL,de.EMBED,de.FRAME,de.HR,de.IMG,de.INPUT,de.KEYGEN,de.LINK,de.META,de.PARAM,de.SOURCE,de.TRACK,de.WBR]);function UYt(t,e){return e.treeAdapter.isElementNode(t)&&e.treeAdapter.getNamespaceURI(t)===Ee.HTML&&FYt.has(e.treeAdapter.getTagName(t))}var qYt={treeAdapter:hc,scriptingEnabled:!0};function wQ(t,e){let r={...qYt,...e};return V3e(t,r)}function jYt(t,e){let r="",n=e.treeAdapter.isElementNode(t)&&e.treeAdapter.getTagName(t)===de.TEMPLATE&&e.treeAdapter.getNamespaceURI(t)===Ee.HTML?e.treeAdapter.getTemplateContent(t):t,s=e.treeAdapter.getChildNodes(n);if(s)for(let i of s)r+=V3e(i,e);return r}function V3e(t,e){return e.treeAdapter.isElementNode(t)?HYt(t,e):e.treeAdapter.isTextNode(t)?GYt(t,e):e.treeAdapter.isCommentNode(t)?VYt(t,e):e.treeAdapter.isDocumentTypeNode(t)?zYt(t,e):""}function HYt(t,e){let r=e.treeAdapter.getTagName(t);return`<${r}${QYt(t,e)}>${UYt(t,e)?"":`${jYt(t,e)}</${r}>`}`}function QYt(t,{treeAdapter:e}){let r="";for(let n of e.getAttrList(t)){if(r+=" ",n.namespace)switch(n.namespace){case Ee.XML:{r+=`xml:${n.name}`;break}case Ee.XMLNS:{n.name!=="xmlns"&&(r+="xmlns:"),r+=n.name;break}case Ee.XLINK:{r+=`xlink:${n.name}`;break}default:r+=`${n.prefix}:${n.name}`}else r+=n.name;r+=`="${Q3e(n.value)}"`}return r}function GYt(t,e){let{treeAdapter:r}=e,n=r.getTextNodeContent(t),s=r.getParentNode(t),i=s&&r.isElementNode(s)&&r.getTagName(s);return i&&r.getNamespaceURI(s)===Ee.HTML&&xQ(i,e.scriptingEnabled)?n:G3e(n)}function VYt(t,{treeAdapter:e}){return`<!--${e.getCommentNodeContent(t)}-->`}function zYt(t,{treeAdapter:e}){return`<!DOCTYPE ${e.getDocumentTypeNodeName(t)}>`}function z3e(t,e){return kx.parse(t,e)}function K3e(t,e,r){typeof t=="string"&&(r=e,e=t,t=null);let n=kx.getFragmentParser(t,r);return n.tokenizer.write(e,!0),n.getFragment()}function Y3e(t){let e=t.includes('"')?"'":'"';return e+t+e}function KYt(t,e,r){let n="!DOCTYPE ";return t&&(n+=t),e?n+=` PUBLIC ${Y3e(e)}`:r&&(n+=" SYSTEM"),r&&(n+=` ${Y3e(r)}`),n}var Hd={isCommentNode:_h,isElementNode:st,isTextNode:za,createDocument(){let t=new Eo([]);return t["x-mode"]=pD.DOCUMENT_MODE.NO_QUIRKS,t},createDocumentFragment(){return new Eo([])},createElement(t,e,r){let n=Object.create(null),s=Object.create(null),i=Object.create(null);for(let o=0;o<r.length;o++){let c=r[o].name;n[c]=r[o].value,s[c]=r[o].namespace,i[c]=r[o].prefix}let a=new Eh(t,n,[]);return a.namespace=e,a["x-attribsNamespace"]=s,a["x-attribsPrefix"]=i,a},createCommentNode(t){return new xh(t)},createTextNode(t){return new ll(t)},appendChild(t,e){let r=t.children[t.children.length-1];r&&(r.next=e,e.prev=r),t.children.push(e),e.parent=t},insertBefore(t,e,r){let n=t.children.indexOf(r),{prev:s}=r;s&&(s.next=e,e.prev=s),r.prev=e,e.next=r,t.children.splice(n,0,e),e.parent=t},setTemplateContent(t,e){Hd.appendChild(t,e)},getTemplateContent(t){return t.children[0]},setDocumentType(t,e,r,n){let s=KYt(e,r,n),i=t.children.find(a=>N3(a)&&a.name==="!doctype");i?i.data=s??null:(i=new bh("!doctype",s),Hd.appendChild(t,i)),i["x-name"]=e,i["x-publicId"]=r,i["x-systemId"]=n},setDocumentMode(t,e){t["x-mode"]=e},getDocumentMode(t){return t["x-mode"]},detachNode(t){if(t.parent){let e=t.parent.children.indexOf(t),{prev:r,next:n}=t;t.prev=null,t.next=null,r&&(r.next=n),n&&(n.prev=r),t.parent.children.splice(e,1),t.parent=null}},insertText(t,e){let r=t.children[t.children.length-1];r&&za(r)?r.data+=e:Hd.appendChild(t,Hd.createTextNode(e))},insertTextBefore(t,e,r){let n=t.children[t.children.indexOf(r)-1];n&&za(n)?n.data+=e:Hd.insertBefore(t,Hd.createTextNode(e),r)},adoptAttributes(t,e){for(let r=0;r<e.length;r++){let n=e[r].name;t.attribs[n]===void 0&&(t.attribs[n]=e[r].value,t["x-attribsNamespace"][n]=e[r].namespace,t["x-attribsPrefix"][n]=e[r].prefix)}},getFirstChild(t){return t.children[0]},getChildNodes(t){return t.children},getParentNode(t){return t.parent},getAttrList(t){return t.attributes},getTagName(t){return t.name},getNamespaceURI(t){return t.namespace},getTextNodeContent(t){return t.data},getCommentNodeContent(t){return t.data},getDocumentTypeNodeName(t){var e;return(e=t["x-name"])!==null&&e!==void 0?e:""},getDocumentTypeNodePublicId(t){var e;return(e=t["x-publicId"])!==null&&e!==void 0?e:""},getDocumentTypeNodeSystemId(t){var e;return(e=t["x-systemId"])!==null&&e!==void 0?e:""},isDocumentTypeNode(t){return N3(t)&&t.name==="!doctype"},setNodeSourceCodeLocation(t,e){e&&(t.startIndex=e.startOffset,t.endIndex=e.endOffset),t.sourceCodeLocation=e},getNodeSourceCodeLocation(t){return t.sourceCodeLocation},updateNodeSourceCodeLocation(t,e){e.endOffset!=null&&(t.endIndex=e.endOffset),t.sourceCodeLocation={...t.sourceCodeLocation,...e}}};function J3e(t,e,r,n){let s={scriptingEnabled:typeof e.scriptingEnabled=="boolean"?e.scriptingEnabled:!0,treeAdapter:Hd,sourceCodeLocationInfo:e.sourceCodeLocationInfo};return r?z3e(t,s):K3e(n,t,s)}var YYt={treeAdapter:Hd};function X3e(t){let e="length"in t?t:[t];for(let n=0;n<e.length;n+=1){let s=e[n];nu(s)&&Array.prototype.splice.call(e,n,1,...s.children)}let r="";for(let n=0;n<e.length;n+=1){let s=e[n];r+=wQ(s,YYt)}return r}var ze;(function(t){t[t.Tab=9]="Tab",t[t.NewLine=10]="NewLine",t[t.FormFeed=12]="FormFeed",t[t.CarriageReturn=13]="CarriageReturn",t[t.Space=32]="Space",t[t.ExclamationMark=33]="ExclamationMark",t[t.Number=35]="Number",t[t.Amp=38]="Amp",t[t.SingleQuote=39]="SingleQuote",t[t.DoubleQuote=34]="DoubleQuote",t[t.Dash=45]="Dash",t[t.Slash=47]="Slash",t[t.Zero=48]="Zero",t[t.Nine=57]="Nine",t[t.Semi=59]="Semi",t[t.Lt=60]="Lt",t[t.Eq=61]="Eq",t[t.Gt=62]="Gt",t[t.Questionmark=63]="Questionmark",t[t.UpperA=65]="UpperA",t[t.LowerA=97]="LowerA",t[t.UpperF=70]="UpperF",t[t.LowerF=102]="LowerF",t[t.UpperZ=90]="UpperZ",t[t.LowerZ=122]="LowerZ",t[t.LowerX=120]="LowerX",t[t.OpeningSquareBracket=91]="OpeningSquareBracket"})(ze||(ze={}));var ve;(function(t){t[t.Text=1]="Text",t[t.BeforeTagName=2]="BeforeTagName",t[t.InTagName=3]="InTagName",t[t.InSelfClosingTag=4]="InSelfClosingTag",t[t.BeforeClosingTagName=5]="BeforeClosingTagName",t[t.InClosingTagName=6]="InClosingTagName",t[t.AfterClosingTagName=7]="AfterClosingTagName",t[t.BeforeAttributeName=8]="BeforeAttributeName",t[t.InAttributeName=9]="InAttributeName",t[t.AfterAttributeName=10]="AfterAttributeName",t[t.BeforeAttributeValue=11]="BeforeAttributeValue",t[t.InAttributeValueDq=12]="InAttributeValueDq",t[t.InAttributeValueSq=13]="InAttributeValueSq",t[t.InAttributeValueNq=14]="InAttributeValueNq",t[t.BeforeDeclaration=15]="BeforeDeclaration",t[t.InDeclaration=16]="InDeclaration",t[t.InProcessingInstruction=17]="InProcessingInstruction",t[t.BeforeComment=18]="BeforeComment",t[t.CDATASequence=19]="CDATASequence",t[t.InSpecialComment=20]="InSpecialComment",t[t.InCommentLike=21]="InCommentLike",t[t.BeforeSpecialS=22]="BeforeSpecialS",t[t.SpecialStartSequence=23]="SpecialStartSequence",t[t.InSpecialTag=24]="InSpecialTag",t[t.BeforeEntity=25]="BeforeEntity",t[t.BeforeNumericEntity=26]="BeforeNumericEntity",t[t.InNamedEntity=27]="InNamedEntity",t[t.InNumericEntity=28]="InNumericEntity",t[t.InHexEntity=29]="InHexEntity"})(ve||(ve={}));function Qd(t){return t===ze.Space||t===ze.NewLine||t===ze.Tab||t===ze.FormFeed||t===ze.CarriageReturn}function ID(t){return t===ze.Slash||t===ze.Gt||Qd(t)}function Z3e(t){return t>=ze.Zero&&t<=ze.Nine}function JYt(t){return t>=ze.LowerA&&t<=ze.LowerZ||t>=ze.UpperA&&t<=ze.UpperZ}function XYt(t){return t>=ze.UpperA&&t<=ze.UpperF||t>=ze.LowerA&&t<=ze.LowerF}var ou;(function(t){t[t.NoValue=0]="NoValue",t[t.Unquoted=1]="Unquoted",t[t.Single=2]="Single",t[t.Double=3]="Double"})(ou||(ou={}));var Xa={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])},Bx=class{constructor({xmlMode:e=!1,decodeEntities:r=!0},n){this.cbs=n,this.state=ve.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=ve.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=e,this.decodeEntities=r,this.entityTrie=e?P3:O3}reset(){this.state=ve.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=ve.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.index<this.buffer.length+this.offset&&this.parse()}getIndex(){return this.index}getSectionStart(){return this.sectionStart}stateText(e){e===ze.Lt||!this.decodeEntities&&this.fastForwardTo(ze.Lt)?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=ve.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===ze.Amp&&(this.state=ve.BeforeEntity)}stateSpecialStartSequence(e){let r=this.sequenceIndex===this.currentSequence.length;if(!(r?ID(e):(e|32)===this.currentSequence[this.sequenceIndex]))this.isSpecial=!1;else if(!r){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=ve.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===ze.Gt||Qd(e)){let r=this.index-this.currentSequence.length;if(this.sectionStart<r){let n=this.index;this.index=r,this.cbs.ontext(this.sectionStart,r),this.index=n}this.isSpecial=!1,this.sectionStart=r+2,this.stateInClosingTagName(e);return}this.sequenceIndex=0}(e|32)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:this.sequenceIndex===0?this.currentSequence===Xa.TitleEnd?this.decodeEntities&&e===ze.Amp&&(this.state=ve.BeforeEntity):this.fastForwardTo(ze.Lt)&&(this.sequenceIndex=1):this.sequenceIndex=+(e===ze.Lt)}stateCDATASequence(e){e===Xa.Cdata[this.sequenceIndex]?++this.sequenceIndex===Xa.Cdata.length&&(this.state=ve.InCommentLike,this.currentSequence=Xa.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=ve.InDeclaration,this.stateInDeclaration(e))}fastForwardTo(e){for(;++this.index<this.buffer.length+this.offset;)if(this.buffer.charCodeAt(this.index-this.offset)===e)return!0;return this.index=this.buffer.length+this.offset-1,!1}stateInCommentLike(e){e===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===Xa.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index,2):this.cbs.oncomment(this.sectionStart,this.index,2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=ve.Text):this.sequenceIndex===0?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):e!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}isTagStartChar(e){return this.xmlMode?!ID(e):JYt(e)}startSpecial(e,r){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=r,this.state=ve.SpecialStartSequence}stateBeforeTagName(e){if(e===ze.ExclamationMark)this.state=ve.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===ze.Questionmark)this.state=ve.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){let r=e|32;this.sectionStart=this.index,!this.xmlMode&&r===Xa.TitleEnd[2]?this.startSpecial(Xa.TitleEnd,3):this.state=!this.xmlMode&&r===Xa.ScriptEnd[2]?ve.BeforeSpecialS:ve.InTagName}else e===ze.Slash?this.state=ve.BeforeClosingTagName:(this.state=ve.Text,this.stateText(e))}stateInTagName(e){ID(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){Qd(e)||(e===ze.Gt?this.state=ve.Text:(this.state=this.isTagStartChar(e)?ve.InClosingTagName:ve.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===ze.Gt||Qd(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=ve.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===ze.Gt||this.fastForwardTo(ze.Gt))&&(this.state=ve.Text,this.baseState=ve.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===ze.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=ve.InSpecialTag,this.sequenceIndex=0):this.state=ve.Text,this.baseState=this.state,this.sectionStart=this.index+1):e===ze.Slash?this.state=ve.InSelfClosingTag:Qd(e)||(this.state=ve.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===ze.Gt?(this.cbs.onselfclosingtag(this.index),this.state=ve.Text,this.baseState=ve.Text,this.sectionStart=this.index+1,this.isSpecial=!1):Qd(e)||(this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===ze.Eq||ID(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=-1,this.state=ve.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===ze.Eq?this.state=ve.BeforeAttributeValue:e===ze.Slash||e===ze.Gt?(this.cbs.onattribend(ou.NoValue,this.index),this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e)):Qd(e)||(this.cbs.onattribend(ou.NoValue,this.index),this.state=ve.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===ze.DoubleQuote?(this.state=ve.InAttributeValueDq,this.sectionStart=this.index+1):e===ze.SingleQuote?(this.state=ve.InAttributeValueSq,this.sectionStart=this.index+1):Qd(e)||(this.sectionStart=this.index,this.state=ve.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,r){e===r||!this.decodeEntities&&this.fastForwardTo(r)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(r===ze.DoubleQuote?ou.Double:ou.Single,this.index),this.state=ve.BeforeAttributeName):this.decodeEntities&&e===ze.Amp&&(this.baseState=this.state,this.state=ve.BeforeEntity)}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,ze.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,ze.SingleQuote)}stateInAttributeValueNoQuotes(e){Qd(e)||e===ze.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(ou.Unquoted,this.index),this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===ze.Amp&&(this.baseState=this.state,this.state=ve.BeforeEntity)}stateBeforeDeclaration(e){e===ze.OpeningSquareBracket?(this.state=ve.CDATASequence,this.sequenceIndex=0):this.state=e===ze.Dash?ve.BeforeComment:ve.InDeclaration}stateInDeclaration(e){(e===ze.Gt||this.fastForwardTo(ze.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=ve.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===ze.Gt||this.fastForwardTo(ze.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=ve.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===ze.Dash?(this.state=ve.InCommentLike,this.currentSequence=Xa.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=ve.InDeclaration}stateInSpecialComment(e){(e===ze.Gt||this.fastForwardTo(ze.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=ve.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){let r=e|32;r===Xa.ScriptEnd[3]?this.startSpecial(Xa.ScriptEnd,4):r===Xa.StyleEnd[3]?this.startSpecial(Xa.StyleEnd,4):(this.state=ve.InTagName,this.stateInTagName(e))}stateBeforeEntity(e){this.entityExcess=1,this.entityResult=0,e===ze.Number?this.state=ve.BeforeNumericEntity:e===ze.Amp||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.state=ve.InNamedEntity,this.stateInNamedEntity(e))}stateInNamedEntity(e){if(this.entityExcess+=1,this.trieIndex=TH(this.entityTrie,this.trieCurrent,this.trieIndex+1,e),this.trieIndex<0){this.emitNamedEntity(),this.index--;return}this.trieCurrent=this.entityTrie[this.trieIndex];let r=this.trieCurrent&dc.VALUE_LENGTH;if(r){let n=(r>>14)-1;if(!this.allowLegacyEntity()&&e!==ze.Semi)this.trieIndex+=n;else{let s=this.index-this.entityExcess+1;s>this.sectionStart&&this.emitPartial(this.sectionStart,s),this.entityResult=this.trieIndex,this.trieIndex+=n,this.entityExcess=0,this.sectionStart=this.index+1,n===0&&this.emitNamedEntity()}}}emitNamedEntity(){if(this.state=this.baseState,this.entityResult===0)return;switch((this.entityTrie[this.entityResult]&dc.VALUE_LENGTH)>>14){case 1:{this.emitCodePoint(this.entityTrie[this.entityResult]&~dc.VALUE_LENGTH);break}case 2:{this.emitCodePoint(this.entityTrie[this.entityResult+1]);break}case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}stateBeforeNumericEntity(e){(e|32)===ze.LowerX?(this.entityExcess++,this.state=ve.InHexEntity):(this.state=ve.InNumericEntity,this.stateInNumericEntity(e))}emitNumericEntity(e){let r=this.index-this.entityExcess-1;r+2+ +(this.state===ve.InHexEntity)!==this.index&&(r>this.sectionStart&&this.emitPartial(this.sectionStart,r),this.sectionStart=this.index+Number(e),this.emitCodePoint(ev(this.entityResult))),this.state=this.baseState}stateInNumericEntity(e){e===ze.Semi?this.emitNumericEntity(!0):Z3e(e)?(this.entityResult=this.entityResult*10+(e-ze.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}stateInHexEntity(e){e===ze.Semi?this.emitNumericEntity(!0):Z3e(e)?(this.entityResult=this.entityResult*16+(e-ze.Zero),this.entityExcess++):XYt(e)?(this.entityResult=this.entityResult*16+((e|32)-ze.LowerA+10),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}allowLegacyEntity(){return!this.xmlMode&&(this.baseState===ve.Text||this.baseState===ve.InSpecialTag)}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===ve.Text||this.state===ve.InSpecialTag&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===ve.InAttributeValueDq||this.state===ve.InAttributeValueSq||this.state===ve.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index<this.buffer.length+this.offset&&this.running}parse(){for(;this.shouldContinue();){let e=this.buffer.charCodeAt(this.index-this.offset);switch(this.state){case ve.Text:{this.stateText(e);break}case ve.SpecialStartSequence:{this.stateSpecialStartSequence(e);break}case ve.InSpecialTag:{this.stateInSpecialTag(e);break}case ve.CDATASequence:{this.stateCDATASequence(e);break}case ve.InAttributeValueDq:{this.stateInAttributeValueDoubleQuotes(e);break}case ve.InAttributeName:{this.stateInAttributeName(e);break}case ve.InCommentLike:{this.stateInCommentLike(e);break}case ve.InSpecialComment:{this.stateInSpecialComment(e);break}case ve.BeforeAttributeName:{this.stateBeforeAttributeName(e);break}case ve.InTagName:{this.stateInTagName(e);break}case ve.InClosingTagName:{this.stateInClosingTagName(e);break}case ve.BeforeTagName:{this.stateBeforeTagName(e);break}case ve.AfterAttributeName:{this.stateAfterAttributeName(e);break}case ve.InAttributeValueSq:{this.stateInAttributeValueSingleQuotes(e);break}case ve.BeforeAttributeValue:{this.stateBeforeAttributeValue(e);break}case ve.BeforeClosingTagName:{this.stateBeforeClosingTagName(e);break}case ve.AfterClosingTagName:{this.stateAfterClosingTagName(e);break}case ve.BeforeSpecialS:{this.stateBeforeSpecialS(e);break}case ve.InAttributeValueNq:{this.stateInAttributeValueNoQuotes(e);break}case ve.InSelfClosingTag:{this.stateInSelfClosingTag(e);break}case ve.InDeclaration:{this.stateInDeclaration(e);break}case ve.BeforeDeclaration:{this.stateBeforeDeclaration(e);break}case ve.BeforeComment:{this.stateBeforeComment(e);break}case ve.InProcessingInstruction:{this.stateInProcessingInstruction(e);break}case ve.InNamedEntity:{this.stateInNamedEntity(e);break}case ve.BeforeEntity:{this.stateBeforeEntity(e);break}case ve.InHexEntity:{this.stateInHexEntity(e);break}case ve.InNumericEntity:{this.stateInNumericEntity(e);break}default:this.stateBeforeNumericEntity(e)}this.index++}this.cleanup()}finish(){this.state===ve.InNamedEntity&&this.emitNamedEntity(),this.sectionStart<this.index&&this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){let e=this.buffer.length+this.offset;this.state===ve.InCommentLike?this.currentSequence===Xa.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===ve.InNumericEntity&&this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state===ve.InHexEntity&&this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state===ve.InTagName||this.state===ve.BeforeAttributeName||this.state===ve.BeforeAttributeValue||this.state===ve.AfterAttributeName||this.state===ve.InAttributeName||this.state===ve.InAttributeValueSq||this.state===ve.InAttributeValueDq||this.state===ve.InAttributeValueNq||this.state===ve.InClosingTagName||this.cbs.ontext(this.sectionStart,e)}emitPartial(e,r){this.baseState!==ve.Text&&this.baseState!==ve.InSpecialTag?this.cbs.onattribdata(e,r):this.cbs.ontext(e,r)}emitCodePoint(e){this.baseState!==ve.Text&&this.baseState!==ve.InSpecialTag?this.cbs.onattribentity(e):this.cbs.ontextentity(e)}};var Mx=new Set(["input","option","optgroup","select","button","datalist","textarea"]),nn=new Set(["p"]),eDe=new Set(["thead","tbody"]),tDe=new Set(["dd","dt"]),rDe=new Set(["rt","rp"]),ZYt=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",nn],["h1",nn],["h2",nn],["h3",nn],["h4",nn],["h5",nn],["h6",nn],["select",Mx],["input",Mx],["output",Mx],["button",Mx],["datalist",Mx],["textarea",Mx],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",tDe],["dt",tDe],["address",nn],["article",nn],["aside",nn],["blockquote",nn],["details",nn],["div",nn],["dl",nn],["fieldset",nn],["figcaption",nn],["figure",nn],["footer",nn],["form",nn],["header",nn],["hr",nn],["main",nn],["nav",nn],["ol",nn],["pre",nn],["section",nn],["table",nn],["ul",nn],["rt",rDe],["rp",rDe],["tbody",eDe],["tfoot",eDe]]),eJt=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),nDe=new Set(["math","svg"]),sDe=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),tJt=/\s|\//,_v=class{constructor(e,r={}){var n,s,i,a,o;this.options=r,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=e??{},this.lowerCaseTagNames=(n=r.lowerCaseTags)!==null&&n!==void 0?n:!r.xmlMode,this.lowerCaseAttributeNames=(s=r.lowerCaseAttributeNames)!==null&&s!==void 0?s:!r.xmlMode,this.tokenizer=new((i=r.Tokenizer)!==null&&i!==void 0?i:Bx)(this.options,this),(o=(a=this.cbs).onparserinit)===null||o===void 0||o.call(a,this)}ontext(e,r){var n,s;let i=this.getSlice(e,r);this.endIndex=r-1,(s=(n=this.cbs).ontext)===null||s===void 0||s.call(n,i),this.startIndex=r}ontextentity(e){var r,n;let s=this.tokenizer.getSectionStart();this.endIndex=s-1,(n=(r=this.cbs).ontext)===null||n===void 0||n.call(r,bx(e)),this.startIndex=s}isVoidElement(e){return!this.options.xmlMode&&eJt.has(e)}onopentagname(e,r){this.endIndex=r;let n=this.getSlice(e,r);this.lowerCaseTagNames&&(n=n.toLowerCase()),this.emitOpenTag(n)}emitOpenTag(e){var r,n,s,i;this.openTagStart=this.startIndex,this.tagname=e;let a=!this.options.xmlMode&&ZYt.get(e);if(a)for(;this.stack.length>0&&a.has(this.stack[this.stack.length-1]);){let o=this.stack.pop();(n=(r=this.cbs).onclosetag)===null||n===void 0||n.call(r,o,!0)}this.isVoidElement(e)||(this.stack.push(e),nDe.has(e)?this.foreignContext.push(!0):sDe.has(e)&&this.foreignContext.push(!1)),(i=(s=this.cbs).onopentagname)===null||i===void 0||i.call(s,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var r,n;this.startIndex=this.openTagStart,this.attribs&&((n=(r=this.cbs).onopentag)===null||n===void 0||n.call(r,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,r){var n,s,i,a,o,c;this.endIndex=r;let u=this.getSlice(e,r);if(this.lowerCaseTagNames&&(u=u.toLowerCase()),(nDe.has(u)||sDe.has(u))&&this.foreignContext.pop(),this.isVoidElement(u))!this.options.xmlMode&&u==="br"&&((s=(n=this.cbs).onopentagname)===null||s===void 0||s.call(n,"br"),(a=(i=this.cbs).onopentag)===null||a===void 0||a.call(i,"br",{},!0),(c=(o=this.cbs).onclosetag)===null||c===void 0||c.call(o,"br",!1));else{let l=this.stack.lastIndexOf(u);if(l!==-1)if(this.cbs.onclosetag){let d=this.stack.length-l;for(;d--;)this.cbs.onclosetag(this.stack.pop(),d!==0)}else this.stack.length=l;else!this.options.xmlMode&&u==="p"&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=r+1}onselfclosingtag(e){this.endIndex=e,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var r,n;let s=this.tagname;this.endOpenTag(e),this.stack[this.stack.length-1]===s&&((n=(r=this.cbs).onclosetag)===null||n===void 0||n.call(r,s,!e),this.stack.pop())}onattribname(e,r){this.startIndex=e;let n=this.getSlice(e,r);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n}onattribdata(e,r){this.attribvalue+=this.getSlice(e,r)}onattribentity(e){this.attribvalue+=bx(e)}onattribend(e,r){var n,s;this.endIndex=r,(s=(n=this.cbs).onattribute)===null||s===void 0||s.call(n,this.attribname,this.attribvalue,e===ou.Double?'"':e===ou.Single?"'":e===ou.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){let r=e.search(tJt),n=r<0?e:e.substr(0,r);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n}ondeclaration(e,r){this.endIndex=r;let n=this.getSlice(e,r);if(this.cbs.onprocessinginstruction){let s=this.getInstructionName(n);this.cbs.onprocessinginstruction(`!${s}`,`!${n}`)}this.startIndex=r+1}onprocessinginstruction(e,r){this.endIndex=r;let n=this.getSlice(e,r);if(this.cbs.onprocessinginstruction){let s=this.getInstructionName(n);this.cbs.onprocessinginstruction(`?${s}`,`?${n}`)}this.startIndex=r+1}oncomment(e,r,n){var s,i,a,o;this.endIndex=r,(i=(s=this.cbs).oncomment)===null||i===void 0||i.call(s,this.getSlice(e,r-n)),(o=(a=this.cbs).oncommentend)===null||o===void 0||o.call(a),this.startIndex=r+1}oncdata(e,r,n){var s,i,a,o,c,u,l,d,f,p;this.endIndex=r;let m=this.getSlice(e,r-n);this.options.xmlMode||this.options.recognizeCDATA?((i=(s=this.cbs).oncdatastart)===null||i===void 0||i.call(s),(o=(a=this.cbs).ontext)===null||o===void 0||o.call(a,m),(u=(c=this.cbs).oncdataend)===null||u===void 0||u.call(c)):((d=(l=this.cbs).oncomment)===null||d===void 0||d.call(l,`[CDATA[${m}]]`),(p=(f=this.cbs).oncommentend)===null||p===void 0||p.call(f)),this.startIndex=r+1}onend(){var e,r;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let n=this.stack.length;n>0;this.cbs.onclosetag(this.stack[--n],!0));}(r=(e=this.cbs).onend)===null||r===void 0||r.call(e)}reset(){var e,r,n,s;(r=(e=this.cbs).onreset)===null||r===void 0||r.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,(s=(n=this.cbs).onparserinit)===null||s===void 0||s.call(n,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(e){this.reset(),this.end(e)}getSlice(e,r){for(;e-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let n=this.buffers[0].slice(e-this.bufferOffset,r-this.bufferOffset);for(;r-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,r-this.bufferOffset);return n}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var r,n;if(this.ended){(n=(r=this.cbs).onerror)===null||n===void 0||n.call(r,new Error(".write() after done!"));return}this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++)}end(e){var r,n;if(this.ended){(n=(r=this.cbs).onerror)===null||n===void 0||n.call(r,new Error(".end() after done!"));return}e&&this.write(e),this.ended=!0,this.tokenizer.end()}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex<this.buffers.length;)this.tokenizer.write(this.buffers[this.writeIndex++]);this.ended&&this.tokenizer.end()}parseChunk(e){this.write(e)}done(e){this.end(e)}};function iDe(t,e){let r=new xx(void 0,e);return new _v(r,e).end(t),r.root}var rJt=KPe((t,e,r,n)=>e.xmlMode||e._useHtmlParser2?iDe(t,e):J3e(t,e,r,n)),Me=r3e(rJt,(t,e)=>e.xmlMode||e._useHtmlParser2?M3(t,e):X3e(t)),nJt=Me([]),{contains:sJt}=n0,{merge:iJt}=n0,{parseHTML:aJt}=n0,{root:oJt}=n0;var vv="abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789";function aDe(t,e){return Math.floor(Math.random()*(e-t+1))+t}function Th(t,e,r){var n="";let s=e===void 0?!0:e;for(var i=0;i<t;i++){let a=r?aDe(vv.length-10,vv.length-1):aDe(0,s?vv.length-1:vv.length-11);n+=vv[a]}return n}function RQ(){return Th(8).toLowerCase()+"-"+Th(4).toLowerCase()+"-"+Th(4).toLowerCase()+"-"+Th(4).toLowerCase()+"-"+Th(12).toLowerCase()}var oDe="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";var d0="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";function cDe(t,e){return t.trim()==e.trim()?e:e.trim().replaceAll(t,"").replace(/<|>|《|》/g,"").replace(/\$|#/g," ").trim()}function ji(t){let e=t/1048576;return e>1024?`${(e/1024).toFixed(2)}GB`:`${parseInt(e).toFixed(0)}MB`}function NQ(t,e){if(!t||!e)return{length:0,sequence:"",offset:0};for(var r="",n=t.length,s=e.length,i=new Array(n),a=0,o=0,c=0;c<n;c++){for(var u=new Array(s),l=0;l<s;l++)u[l]=0;i[c]=u}var d=null;for(c=0;c<n;c++)for(l=0;l<s;l++)t[c]!==e[l]?i[c][l]=0:(c===0||l===0?i[c][l]=1:i[c][l]=1+i[c-1][l-1],i[c][l]>a&&(a=i[c][l],d=c-i[c][l]+1,o===d?r+=t[c]:(o=d,r="",r+=t.substr(o,c+1-o))));return{length:a,sequence:r,offset:d}}function ml(t,e){let r=[],n=0;for(let i=0;i<e.length;i++){let a=NQ(t.name,e[i].name);r.push({target:e[i],lcs:a}),a.length>r[n].lcs.length&&(n=i)}let s=r[n];return{allLCS:r,bestMatch:s,bestMatchIndex:n}}function Gd(t){return new Promise(e=>setTimeout(e,t))}var hl=t=>t.map(e=>e.split(";")[0]+";");var uu=Re(Cv(),1),Ov=Re(Jn(),1);var LQ=Re(Jn(),1),wh=require("path"),ms=Re(require("fs"),1),Ake=require("stream");async function cJt(t,e){let r=await he.get(t,{responseType:"stream",headers:Object.assign({Range:"bytes=0-0"},e)}).catch(n=>(console.error(n),n.response||{status:500,data:{}}));if(r&&r.status===206){let n=r.headers["accept-ranges"]==="bytes",s=r.headers["content-range"],i=parseInt(r.headers["content-length"]),a=n||!!s||i===1,o=s?parseInt(s.split("/")[1]):i;return delete r.headers["content-range"],delete r.headers["content-length"],o&&(r.headers["content-length"]=o.toString()),[a,r.headers]}else return[!1,null]}var Tv={},gke="",Rh=(process.env.NODE_PATH||".")+"/vod_cache",uJt=1024*1024*100;async function yke(t){try{if(ms.default.existsSync(t)){let e=await ms.default.promises.readdir(t);await Promise.all(e.map(async r=>{let n=`${t}/${r}`;(await ms.default.promises.stat(n)).isDirectory()?await yke(n):await ms.default.promises.unlink(n)})),await ms.default.promises.rmdir(t)}}catch(e){console.error("Error deleting folder:",e)}}yke(Rh);function lJt(t){try{ms.default.readdir(Rh,(e,r)=>{if(r)for(let n of r){if(n===t)continue;let s=(0,wh.join)(Rh,n);ms.default.stat(s,(i,a)=>{a&&a.isDirectory()&&ms.default.readdir(s,(o,c)=>{if(c)for(let u of c)u.endsWith(".p")||ms.default.rm((0,wh.join)(s,u),{recursive:!0},()=>{})})})}})}catch(e){console.error(e)}}async function dJt(t,e,r,n,s,i){if(n=n||LQ.default.enc.Hex.stringify(LQ.default.MD5(r)).toString(),gke!==n&&(lJt(n),gke=n),!Tv[n]){let[P,L]=await cJt(r,s);if(!P||!L["content-length"]){e.redirect(r);return}Tv[n]=L}let a=!0;await ms.default.promises.access((0,wh.join)(Rh,n)).catch(P=>a=!1),a||await ms.default.promises.mkdir((0,wh.join)(Rh,n),{recursive:!0});let o=parseInt(Tv[n]["content-length"]),c=Math.max(0,parseInt(i?.skipBytes||0)||0),u=Math.min(c,Math.max(0,o-1)),l=o-u;if(!Number.isFinite(l)||l<=0){e.redirect(r);return}let d=0,f=l-1,p={};if(t.headers.range){let P=t.headers.range.trim().replace(/^bytes=/i,"").split("-"),L=P[0]!=="",M=P.length>1&&P[1]!=="";if(M){let k=parseInt(P[1],10);Number.isFinite(k)&&(f=k)}if(L){let k=parseInt(P[0],10);Number.isFinite(k)&&(d=k)}if(d=Math.max(0,Number.isFinite(d)?d:0),!M||!Number.isFinite(f)?f=l-1:f=Math.min(l-1,f),d>f){e.code(416),e.headers({"content-range":`bytes */${l}`});return}Object.assign(p,Tv[n]),p["content-length"]=(f-d+1).toString(),p["content-range"]=`bytes ${d}-${f}/${l}`,e.code(206)}else Object.assign(p,Tv[n]),p["content-length"]=l.toString(),e.code(200);i=i||{chunkSize:1024*512,poolSize:10,timeout:1e3*10};let m=i.chunkSize,h=i.poolSize,A=i.timeout,g=u+d,b=u+f,y=Math.ceil(o/m),x=Math.floor(b/m),v=Math.floor(g/m),C=v,R=!1,w={};for(let P=0;P<h&&P<y;P++)new Promise(L=>{(async function M(k){if(R||v>x){L();return}if(k===void 0&&(v-C)*m>=uJt){setTimeout(M,5);return}let B=k!==void 0?k:v++,Z=`${t.id}-${B}`;try{let W=(0,wh.join)(Rh,n,`${t.id}-${B}.p`),F=!0;if(await ms.default.promises.access(W).catch(V=>F=!1),!F){let V=B*m,j=Math.min(o-1,(B+1)*m-1),J=await he.get(r,{responseType:"stream",timeout:A,headers:Object.assign({Range:`bytes=${V}-${j}`},s)}),se=(0,wh.join)(Rh,n,`${t.id}-${B}.dl`),oe=ms.default.createWriteStream(se),ue=setTimeout(()=>{oe.destroy(new Error(`${Z} read timeout`))},A),Ce=new Promise(qe=>{oe.on("finish",async()=>{R?await ms.default.promises.rm(se).catch(Fe=>console.error(Fe)):(await ms.default.promises.rename(se,W).catch(Fe=>console.error(Fe)),w[Z]=W),qe(!0)}),oe.on("error",async Fe=>{console.error(Fe),await ms.default.promises.rm(se).catch(_e=>console.error(_e)),qe(!1)})});J.data.pipe(oe);let we=await Ce;if(clearTimeout(ue),!we){setTimeout(()=>{M(B)},15);return}}setTimeout(M,5)}catch(W){console.error(W),setTimeout(()=>{M(B)},15)}})()});e.headers(p);let N=new Ake.PassThrough;return new Promise(P=>{let L=!0;(async function M(){try{if(C>x||R){N.end(),P();return}if(!L){setTimeout(M,5);return}let k=`${t.id}-${C}`;if(!w[k]){setTimeout(M,5);return}let B=C*m,Z=Math.min(o-1,(C+1)*m-1),W=Math.max(g,B)-B,V=Math.min(b,Z)-B-W+1,j=w[k];delete w[k];let J=await ms.default.promises.open(j,"r");if(V<=0){await J.close().catch(oe=>console.error(oe)),await ms.default.promises.rm(j).catch(oe=>console.error(oe)),C++,setTimeout(M,5);return}let se=Buffer.alloc(V);await J.read(se,0,V,W),await J.close().catch(oe=>console.error(oe)),await ms.default.promises.rm(j).catch(oe=>console.error(oe)),L=N.write(se),L||N.once("drain",()=>{L=!0}),C++,setTimeout(M,5)}catch{setTimeout(M,5)}})()}),N.on("close",async()=>{Object.keys(w).forEach(P=>{P.startsWith(t.id)&&(ms.default.rm(w[P],{recursive:!0},()=>{}),delete w[P])}),R=!0}),N}var Wx=dJt;var jke=Re(Pke(),1);var CXt=["\u9884\u544A"],IXt=t=>{if(!t)return!1;let e=String(t);return CXt.some(r=>e.includes(r))};function Dke(t){let e=/(E|EP)0?([1-9]\d*).*/.exec(t);if(e)return Number(e[2]);let r=/.*?([1-9]\d*).*/.exec(t);return r?Number(r[1]):null}function kke(t){return t.replace(/\.[^.]+$/,"").replace(/^(S\d+)?E?P?\d+\.?/i,"")}function Lke(t){return t==null?"":String(t)}function TXt(t,e){let r=Lke(t),n=Lke(e);return r===n?0:r.localeCompare(n,void 0,{numeric:!0,sensitivity:"base"})}function Os(t,e){let r={};return e.length===0||(e=e.filter(n=>!IXt(n?.vod_name)),e.length===0)||(e.sort((n,s)=>{let i=TXt(n.vod_group,s.vod_group);if(i!==0)return i;let a=Dke(n.vod_name),o=Dke(s.vod_name);if(a!==null&&o!==null&&a!==o)return a-o;let c=kke(n.vod_name),u=kke(s.vod_name);return c!==u?c.localeCompare(u):a!==null&&o!==null?a-o:n.vod_name.localeCompare(s.vod_name)}),e=e.map(n=>{let s=ji(n.vod_size);return{vod_id:n.vod_id,vod_name:cDe("",` ${n.vod_name.replace(/.[^.]+$/,"")} [${s}]`)}}),r.from=t,r.url=e.map(n=>n.vod_name+"$"+n.vod_id).join("#")),r}async function Xn(t,e,r={}){let n=(Array.isArray(t)?t:[t]).filter(Boolean).map(o=>String(o).trim()).filter(o=>o.length>0);if(n.length===0)return"";let s=Number(r?.timeoutMs)>0?Number(r.timeoutMs):5e3,i=Array.isArray(r?.methods)&&r.methods.length>0?r.methods:["HEAD","GET"],a={"User-Agent":d0,...e&&typeof e=="object"?e:{}};return await new Promise(o=>{let c=!1,u=f=>{c||(c=!0,o(f))},l=setTimeout(()=>u(n[0]),s*i.length+200),d=async f=>{for(let p of i)try{let m=await Ae.request({url:f,method:p,headers:a,proxy:!1,timeout:s,maxRedirects:5,validateStatus:()=>!0});if(m?.status>=200&&m.status<400){clearTimeout(l),u(f);return}}catch{}};n.forEach(f=>{d(f)})})}var gl=t=>globalThis.getPanEnabled?globalThis.getPanEnabled(t):!0,fk=t=>gl("ali")&&/www.alipan.com|www.aliyundrive.com/.test(t),pk=t=>gl("quark")&&t.includes("https://pan.quark.cn"),mk=t=>gl("uc")&&t.includes("https://drive.uc.cn"),Bke=t=>gl("tianyi")&&/cloud\.189\.cn/.test(t),Mke=t=>gl("yidong")&&/caiyun\.139\.com|yun\.139\.com/.test(t),Wke=t=>gl("123")&&/(?:www\.)?(?:123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)/.test(t),$ke=t=>gl("115")&&(/115.com|anxia.com|115cdn.com/.test(t)||/^(?:magnet:\?|ed2k:\/\/)/i.test(String(t||"").trim())),Fke=t=>gl("baidu")&&/pan\.baidu\.com/.test(t),Uke=t=>gl("xunlei")&&/pan\.xunlei\.com/.test(t),qke=t=>gl("guangyapan")&&/guangyapan\.com\/s\//.test(t);var qt=Ss;(function(t,e){let r=Ss,n=t();for(;;)try{if(-parseInt(r(944,"Jcg("))/1+parseInt(r(808,"4AqP"))/2*(parseInt(r(945,"DMN!"))/3)+parseInt(r(611,"Yq1i"))/4+parseInt(r(765,"MsPj"))/5*(-parseInt(r(646,"T!QQ"))/6)+parseInt(r(866,"^geQ"))/7+parseInt(r(403,"XTb1"))/8+-parseInt(r(640,"2Ftf"))/9*(parseInt(r(442,"JEeJ"))/10)===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(hk,554820+1596*19+-97588);function hk(){let t=["WPVcSCoBnY8","WQaCEXRcSSoeuCkEfCoK","W65RsrZcGa9LCMSg","W7WfWReLfW","CmkmW7yd","WQerAqFcOSo/vG","a8kMW7VcHq","WORdLqyUpW","WQ7cO8o0ESkHWOhdUWvEga","WOVcNmolitvtESo/gsK","WQhdSXq5ga","EmkAFxm3","oxqPcCoIW6hdQXTbWRW","zxuVfa","W4FcVSkoWO9aWRZdSMVcMCom","rSkxW4qX","WQdcHSojW5JdLcLArXLm","ymohW5lcGHf6rgutiG","W4dcUmkkWOq","W4HVW6RdLmka","CmoNW6/cUJq","W6elW4rPW7metCkNW7lcPa","W619nWbZ","WRDzW6BdNCkb","WPFcUdNdO0FdMKbTW55P","nMFdGhOHe8kmWRpcQKm","WPFdL8oQ","mxVdKw0","W4zOdYXmaq","kIP7Bvi","WPpcNComoq","W6WaW7nNW44","WQ9wWRBcI8khW7pdSNldMGa","mmoGca5S","WPddNtaCoq","xmktW7CiBmouF8oHB2m","WRRdQw7dQmkv","dIethCoxyeHG","sehdKmoLrGJdOJj8WP0","b8oTmCkgaa","ASowW5xcHI8HhYKu","ve0vp8oZ","Cg8xe8oWWR/cUtXsWQy","WQhcKCoi","W4KRWRRdGSokWRu","W4FcSColFx4","WRnwfmkroG","qCo7i8kYyq","CCoaiCkhmfpcHmkLW5NdKa","pmkxW6ahq8osja","WQLEW6OTWOO","cmoMuqW","WRz5W4ue","WQRcJmo9FCkuWPW","W44HWQpdKCobWPJdSw3cI8ok","WOW4u1LXWOGE","WQBcRuPwW5BcNqK","BwqVfa","WO3dOZtdP0ldH198","ctSleCkDz3jHWPpdHa","W5dcUCkqWOrfWRddR2JcJa","WOSPqK4","W5bdkCou","xCkmW4i1y0ZcMaCGWPK","W7/cHtKiWOW","WOzNW4P3pbOC","WOVcVSozWPWU","WPeZv2vHWQWyB1G","W7abW5nVW6GrCCk2W4ZcSW","W4q+W7DWW4K","bc97xhS","r8kxW5KX","WPC1u09XWRmj","WR4dCq","WOfGW4bGnW","bcjfdSoaE3vH","y8kaALPn","W4bdkCopea","WP/dUJ8","WPNcVSo6mbC","tmkkW7WaqG","DmkKwf8OWQWXWRHfxW","xWVdHe0","hceSdCoaE29J","jtPFC1a","x1ddTCo8tqpdVGC","W77cOXOXWRVdM8kAoSodEW","qJNdUe03","wcddRMKf","WOZcT8oIW6/dSa","W4TJW43dKmk8","W7D3W6FdT8ks","txGDjSoE","ECouuCkyW7m","W6lcPWq7","advJuq","WRddSL/dKW","ASouv8kAW7BdNG","bmkHW6tcMbafDmohW7pcGa","W4JcR2FcPXVdGNLvWOvJrG","bSk0dCktyG","WQBcPSoOW5hdSW","W58OWQNdGCodWRm","W5tcNSoiBwK","WROCArhcOSoeqq","W4K7WRRdNq","W51AW4/dJmkr","W6WbtW","WRRdO8oKW6RcIa","W4uYW5LWa2pdVee","WQldKYmGp3VdTmk9bCkZ","WPC/qv8","W44PW7n3W7a","At3dKLqE","W5eFW4CBW7y","WPGHEMzh","bcSrhSogEG","W6W2dqRcHJfJBKqp","oZhcR8oP","FmoAsCkFW77dNW","WP5QW4u","lsFcQCkV","W4GRWQ7dHSokWRtdRuVcJ8oa","WRHpdCkg","gSkWlmkRy8oydCobFCoO","WQRdGZqKoG","CSkwW6yo","WPBcU8o8W5RdNG","rCo4BIhcJa","WPHVW7VdNW","rCknW4uT","zSkZW4e2qa","amoGuq","pcVcR8kJAXrxW7WTW4m","W5BcJmoVwL8","W70BWPiEdG","W6CwW5jVW68","hSouFYLs","p1tdPgKt","W6nkqZFcMq","W5OWW5nQm3tdVeBcPrG","WRhdVaeKga","W7eqW4f0W6Gq","g8o0cGv0mN3cT8koW50","WQjCcCko","z8kmALzqrwpdNdm5","WQRdVMhdPCkw","W7zbjColdq","yCkqFLO","bSoRmmkv","W6fYW6ddOa","W41fjCoubG","WQy9uH3cPG","wLhdRmoIqW","W4z0W6pdKCk1","WQb8W4itWPu","FmkmEwbstghdKtKI","haBcTSk4gLRdVcL5WPNdVCof","kYdcTW","xmk6twzw","WPFcMSowpa","W7edW6XUW5O","W7LLha5X","W4FcTmkDWP4","D8o6EaRdQmoioCkqsCoy","eSkPW6BcNa","nMRdGhONmSk4","WPrJW4jMntWnyq","W7dcIu5BW4ZcRrlcLc0","rfBdQSoJvWNdKGvH","WORcRWSmW5GGWQtdQ3W1","WQhdQfJdJW","W6CWW4zddW","zmkOAM51","oIdcSSkWqG","W7aDWO02aa","WPpdScK","W6hcIKHk","rSoNsIxcMq","W5egWRa1kG","WOxdTIVdUmoaWOCwea","tmo+nW","gaf1t1K","W77cRX87WPhdGmkD","zSoVtGldUSos","W7VcKvnoW5hdO2ldKIGG","W7bOW4VdO8k0","WPdcR8oyWPGVgsLmxmom","nWztyfq","EmosW5tcKW8Z","WP/dOYldUW","W6yfW5rH","AMpdLhWQfmkUWRVcOKC","CZRdO34","sLddSSodqaFdQaf6WRW","qvRdPCoTvGtdOGW","aJj/sY8","WQZdUSocW4hcQG","WOVcJCoEnsmBjG","W7BcNvDxW5dcVblcIsa4","hmoGqbzhmNO","dgmxfSobzG","yCkgW7ypx8oeAmo9","m8odiCkDjq","DbtdGNCt","W6axuCoxA8o4wcDqW4hdPq","W4jElmoDegO","zCkvW58qqa","WP7cOXqgWPCZWQVdOHKJ","WP/cRmoCDLpdVHlcMCkzqa","W6iyW4rJaq","W5NcVdGAWRy","WOFdOtZdHg0","W4PqlCoC","DmkgW6y","mmo6cSk1bG","W4pcQComBuldS1hcNq","kSoYutr5la","W7j1W6FdVa","W5ThzZJcMa","ESoGyWy","W6jVW4RdQ8krqqddU8kweG","WRddL8o7W67cTW","WO5/W7/dJSkuW64bWP0cWRa","WR/cHSoDW5S","WOD9W5r0Fq","WObuW5G0WRe","W7dcIxf0W68","W7n+W6pdTmkktHJdSCkOhW","y8kwW6eo","BSoaW6VcQYK","W4ZdUK9xWPvIWRxdLeWIdf0","WPu9WRRdL8kaWRxdOhdcKSoD","emkAW5FcQKS","WOtdR8kBibNcTW3cGmkXE3JdKfi","W4q5WP0ZAwu8Bh/cTCkJEW","WPvmW5OzW6PlWQyK","WPpdSc7dUCoYWRelha","hcSscCoEC3vHWR7dNG","z8o9wrFcSmobmmklBmoo","WRWFzW","F8kzW5KXyq","W4pcTmopA07dMftcNa","WRDna8kgkmo6tr9kW48","W7CNW5ynW6S","W6L1Dq","DCoVCmkcW5G","W71HvG","W5hcSmoh","W48FW5Gn","z8kmFLndq2u","hmoHta","usJdH1qx","W6LTwbW","s8oYFHZcIH0","WOzSW4G","WOVdMZqalG","E8kxW6ywxSkBjmkMlLy","WRblW4X8lW","W5qmW5K","xSk7FgvH","W5q6W6riaG","wSoKtqRdHW","W5tcTmkr","WPBcMSow","rSoJyqpcGa","DSoVsaq","W6SqW4vTW64","eeddKhKL","WRlcTSo2ECkcWOBdOXm","WQRdS37dKmkT","WO/dVHJdQ34","WOBcKmopodqmjSkpetC","ECokvd7cVG","BmobW4/cHaC","WO9+W6JdMCkUW5Gr","WRHCl8kMpa","W4hcTmkwWPPbWO3dTxC","WP7cOXqgW6q2","mwFdJhGUgSkOWRFcH0S","EhFdT8o9rq","CmovW77cPGO","W5Dfla","tSoNCCkUW7y","tSopfmkbaW","dsaBcSoLE3vS","W5xcIv9zW4G","yCo+uaZdQW","WRlcISoiW43dPYfk","WPv8kCkqgq","W4xcQmoiiq","f8o9lmk9ja","WO5/W7/dJSkuW7Gr","WQxcOSoaW7NdRW","W4fJW6/dI8ki","CCkHt1y","z8o8vq","W5urW54nW70","W4zLhcHmoJe","uCovgCkwma","y8kaALPnF3ddMGm9","lhBdHguX","W6zqm8oCqYW","W5vekCoAhKFcVmkIWP3cMW","w8kXwNmp","WOO5W7/dKmkyW4GaWPWnWQC","W4umW5WEW7y","ymktW74pwq","WRdcKConW57dNq","WPldNSo1W6dcVMpcJCo6nW","WOSTzHZcOq","W4hcTmkvWOzpWOddOW","W7BcSISrWRS","vSoVEGtdVa","mtvKvJxdMtpcRNWl","dmkcW5JcQ2S","FmkAEG","WOLLW7FdKq","WORcR8oDWPu4dJK","ECkaEfP9vhldIqG4","WO3cU8oWqmk/","W5lcKKPyW7i","FmoKW5xcPaa","W5BcTCocFa","WQ3dNq/dMhG","WRflfa","uSoqDmknW48","WRZcL8oqW5JdIW","gSowW5qSFG","zCoana","WQ5mWQZcNa","WP/dJCoMWQFcVMNcV8k8","W6ubW5q","fZrJu1e","wSoGFXtcGaa","svNdL8okuG","W4tcQxD8W40","W6OqW5rWW65zpCo8","rfZdK8oGAa","W4z5hcHDaalcNgNcGG","WQbXW5KtWOq","lIFcMmkIyq","WQldGIuH","W5bbW5ZdG8kk","C8o+taNdTSofnmklqCot","WQNdS0FcImkhp8oxvwFdJW","W7VdJCogW4hdLG","pmo2uIf1","D8o2taZdRCodcSklqCor","WQFcL8ofW5RdJdT5sZjn","W4vejmoqgJFcSSoMWPtcJG","W7BcPSkvWOnO","W7VcGSoiW4e","WQCjzv1/","WOldLmoOW6ZcSW","xSkqB3Lt","hmo9tbW","W6dcKvvxW4ZcVItcMZa","gSo2rbz7m07cUSktW4K","WOZcUa0g","Ec/dO204","rSk9sfDTyW","WOVdNaK6lq","rCo+sYNdUa","amkHW7FcIM4kESotWPxcJW","wmkbW6uCEa","cHzvweq","gZOEc8ogyvzTWPxdNW","W4qSWPmRogZdVCkXW58E","WPnUW4jPpdC","W7eJWOpdOSoF","xvRdQCoGCqtdTWC","asSijSocFMb9WR7dNG","WOa6CIBcJa","r8krW4aGtX/dKW","WQldPhpdLmkio8orBW","WQywwWhcTCoFxmkC","W4lcUCo8CKG","g8kNlq","cg12vMFdJYFcQhbo","W4anW4y","zSoxkCkdnG","z8kmFvbxuMpdJtKV","W79eftjM","bsSmcSotDwq","h8oMW73cJvipAmoEW7lcJG","W6LbDrZcJq","WOpcUmozWQ4PeYfDBq","W74sW4rElW","W4zKct8","WRTBWQ/cGCkEW4NdM2/dLWG","z8kaEfP9swq","CSkMsa","ymkkW5O","WPFdMmoGW6ZcRNxcJCoNpmkD","WO7dOSoNW6/cTa","uCo1W4dcGsG","WQ/dQKi","W54tWReCnW","y2uVm8oLWRdcRHXhWPe","rSoTEt3dLW","W6pcTGWWWOJdGmkvoSkZEa","W5BcQCkvWOnCWOBdTu3cGmoh","W57cPSkpWPLb","WQzccCkqlW","aIvJsxRdLJxcVW","WRWRzJBcPq","WO3dSYtdPu7dGwXSWOnJ","WOFcSSo8tSku","c8o+iCkzhW","W5qDW6vvW5i","w8kDlmkZE8o9pq","W5pcS8okCexdOa","E8kwW6awwW","WRxdR0a","W5KuW70mW7K","WOtdVmoxW5NcUa","WOCav2nZ","WOddTY7dR8okWOCpbSoaya","W55HWQVdLCodWQVdP3xcMmoe","wsVdTNW1W5m","DmoNuaddGmodlCkltCos","WOXlbSkUca","B8o7vK0ZWQC","WQDYW7JdSCkI","gICjhmkCCw5PW47dGq","zCoHW5pcGI4","aColWOn8iKBcH1atWRXcWRtcNa","wSkHfvCPA3xcJ8khW7H+W5W","W7BcJYGWWOm","WQBdR0pdIG","WRTpea","sXVdM3OI","WPDSWPdcI8kF","b8kJjmksyCoFfG","tum9lmoq","W6CCW5bPW68gtCkNW7RcUG","WQHJW7JcHa","i8k9dfhcP8krjmk0x8oDW6qd","bSomsq1RlW","W7TNqrZcNsnoF3qi","W63cOG0SWQVdMSkk","BSkKwvaAWQa5WOilta","W7xcIuzz","bSk9W6hcLq","W5FcUqOaWOi2WQJdUu1+","e8kWW6lcLeWdrmoEWRxcJa","eSo/n8kC","W6CkWO5HW7ekA8kMW73cSW","W4qGWPyHy33dSCk5WQ8v","u8kxW4qaCrxdNW","W7mzW4qhW5W","W4GNWR7dKCoWWQ7dOq","WOxdQIVdVSoqWQS","WOpdQsldG8oT","WPJdUJFdTa","WOzQW5LZpce","WQRcOmonWP4f","DmoNuaddGmopmq","WPVdRIBdULNdLMXTWPLR","WRCxAW","W5RcP8kaW4rnWOZdQW","WPBcMSot","W5esW4PRW7e","W5/cUmktWO9XWPFdThpcH8oA","W7v+W73dQ8ktxq/dSCkOeG","x8oLCCkuzCo8eSoCqq","oItcRmkRuW","emoTA8kvaatcQmkSWRCA","ySkyq8kuW6NdMIj8WOBcQW","x8oZyq","emkHW7ZcMq","W7JcImoTqgO","wSo0FH0","W6alW4r5","i2VdJw1Tf8k1WQhcRh0","WO3dVJFdOu7dO0r9","WQjkbmkapa","W5TObs52hJtcH3BcJW","W4vHfcLD","BIddS2S2W4JcKd7cHG","s8oTzfxcIrW/WODoWRm","W5GFWPCvlG","BSomnSkqde/cPSkLW4xdGG","W5qqW5Wq","WRxcVmocymkvWOhdUqC","W5VcUCox","WPZcOSkxWOKbWPddS3dcNCkg","WQy+sHRcJG","DSoxkCky","rSkmW4qSFHhdNK4U","ixddIh4N","WRBcSmoAWQuv","ESoAW5dcLZ0PdW","gCk4W7FcK3GpD8opW7pcGG","WRLEbCknhCoGFG4kW4m","umoRxrFdUSou","ymopDrtcNq","W5elW4ya","W4ZcUtFdSeJdNez3WOqP","zghdV8oCsq","E8owW4JcLG","W5n8ftLF","W78jW55SiW","WORcRXKxW4G","zSkaDfO","WOtdMGBdOem","W4alW4ea","CSkhs3PO","WRpcRCoHW4ldSa","zCkCFvC","dICthmoTE2u","xmoOAalcVr8PWPbsWQ8","bCk8W7pcIvS","W5m9WONdHSoDWQBdVa","WOZcR8oeWOucesTkAmoC","uCkHW5qfAa","WOTGW5/dRSkZ","W7vYW7JdOCk5rGG","W5FdVmkvWPHbWPFdQq","W7qmW5K","W4iMWQWRoNVdRmkxW6ej","btj5","W6CDWQGncW","FCo+wqVdMCopoCkAb8oq","ymkHsfy","jZbNDxi","WORcOW4gW7i7WQm","ASoavSkt","W5CLWOKNixhdQ8kWW58D","bcv9sxNdMtlcV0TC","WPWXrKH8","x8oYAaFdLXePWPP+W60","W5mxW4mnW4X1WQy","W4aZW5n2q2FdTLNcHaq","BSkJuG","WRf5WORcKCkV","gGPPy0u","WQhdUv7dJSkwp8km","WQxdMcmmkh3cSW","ymkByG","d8k5ka","ntzTsSk3W6ZcJXz5WQ8nhW","qu4tn8oW","WQvAeSkknCoU","WRWWW44nWPe/WRa","W53cJ8olBLK","W68OW4XTiW","WPdcSCoHW4pdVq","W7RcLMzmW5dcUdq","W50/WOddUCo8","AsVdS2CIW4tcNs8","cmoLlCkA","W493fCoJgW","W41hjCoWg37cPq","WRRcGSojW40","WQZdHYmTlW","bmoJkmkacr8","FmobW4FcNbe","wJRdOxKv","gSo6sGO","W7LRrHdcGdC","WO01qurHWRmzB3u7","W57cUSob","ESowW4lcMXaLcd4","BSkKwvaAWQa5WOiltW","mISznmoH","ySoVtHBdUG","cXOPdmo0","WRPil8kSlG","WPFcH8oSjtqao8k3","WR9hWPNcPCkL","WPtdNSoWW73cKgFcPSoWoW","WO7cGCoTW67dRa","W5a4W4zThMxdJfNcQrS","dICthmoTD3LWWOtdMq","WOBdL8oQW7RcQq","WPbzW7xdK8kM","Cmoam8kAjKNcT8kHW7tdLq","W5DeiSonhgZcPSkU","W4HqW5qeW7PLWRC4WOzu","WQ1gWQ3cNSkjW54","WPLMW51GbICkzfVcVa","h8o2vZTSi2RdPSkaW4q","wmoOEXdcSHOS","ySk7wfS","uSkFzxup","W79LrLxcIdL9BIec","W548WQhdGSok","W592CHFcIW","z8k9ufSdWQaX","wSkNW5OSyWi","DI/dO204","WQCxyq0","W5OOW7rAW6W","hdWwfa","Dg8Oca","Bmktt1nJ","W7JcGeK","W58JWOxdPCoI","W65RCq3cNdL/Ba","WPdcNSoOr8kT","W5j2zrxcGW","WP3dUtJdTuldLa","Cmokl8kb","cmkDmCkYsG","WRncbCkxpG","wL3dP8o4","W4ZcVSop","WO7cJCoBocC6mmkHdtW","z8kmW54jwSoeECoklLu","WOpdLCoQW7e","EmouvSkEWQ3cMq","pt3cV8kVsrzMW684W5G","n8kBW5e","BIddVNy","WPujqtRcOa","lJpcQCk1qG","i8k6bCkzvG","WRTzWP3cKCkP","yCoaW5i","WQTrWRm","fIL8xeRdKsi","WQXgWRNcMSkjW5/dRetdIGO","ymoRtWRdQSounSkAD8oy","W4y6WOyVaG","W6PRuq0","W7BcIWLFW47cSdtcIcCX","zSkgy1O","C8oQtGZdQCodESkjgSkt","W6zlW5jLW6WwD8kGW6FcPa","WPpcIConmcSA","W4pcPmkwWOi","bcG+whNdKt/cR3Pp","W488WQq","W6zjp0hdV8kgqmkHjCoZW6vg","WQr3d8kmlq","W4CLW5bXh2u","WQnCda","W6hcJffBW73cScK","nZBcR8kU","WQldLrDXW4JcNcBcHsO","W4eYW59P","y8ogi8kqieJcI8kWW4tdMG","ACofsCksW68","WQa9rI/cPq","yCkgW6iktmocBG","z8keW5qLrW","WO5IW7ZdIa","z28/gq","W7WIW4rQdq","kSk9cvZcQmksjSkjqCofW4qO","W6bQcXjO","z2eVgCoGWRxcUqy","WRdcGSoqW4K","W7SHWQxdOCo8","W6nnyXZcOa","W7tcGfnUW4pcTWpcNcqW","cs0Chmobyv5WWO7dNa","WQtcT8o3W4FdUG","WPOOqKjMWQqjvumX","tSoGErq","eLRdK28V","W4hcTmkwWOvBWPhdPxFcTSon","W7ldOCkHj8owW5JdVdqxjgBdLW","BSoalSksj1m","WOxdRIBdO8or","WRbhdSkh","ASoaiCkrnKNcPW","D8kcW6yh","k8oqWQDFgSkvEmo/jL/cKJi","WPhcVSoDWOmPdX1rD8or","qCkkW58O","WOFdSIFdNmoJ","ptjcA2a","W44VWP7dNSoD","WOdcPCoyWOG","WPddTYBdR8kkWRSqbmoC","W5r+dJnohq","W7xcJeTBW73cScK","WQxdS08","qCoEyrZcNGC","W5aUW5i","W5FcO8kmWPXl","WRNcVmoitCkx","WOJcQWOcW4aH","WOBdJSoWW6e","xCkmDG","W515csPAsxRdMNlcMG","qmkOW6uvFq","C8oIvq","ymohW5lcGHf6rguDiG","WPHIW6WmWOW","W7/cSGGQWRVdMG","AMe2gq","dmo1rbf0lW","B8oBtmkd","W5rUhJ9AaaRcGxlcGq","W7ZcLujqW6tcSchcMgy5","se3dTSoLuaJdKHzNWPu","emoJmSkrmWtcRW","W548WQhdGSokW6JdSYxdLCkF","W45bW4JdK8kE","WQBdOrldLxO","cSkNkmkTAG","Cmk8W5e8zG","WRddNZa7lfFcVW","W6CqW7zPW7KgFCkdW6hcSG","ddWwd8ox","W5qRWRddGmoWWQRdPgBcKmok","y08ylmoK","WQNdQuNdISkt","WQ9oW6PnlG","bmoYuqDW","vMiTpCoD","WRddR0NdGCkjiG","CSk8xuW5WPyHWOHptG","bLddMwK3","rmkTENnv","CmoeaCk2hW","BhqVda","WOO1xc/cTG","WQJcOmoqzSkvWONdRG","hSkyW5hcQ2W","W6LSqWVcIXL1","WPK5xK5lWQGE","WPhcMmohhrC","umojvIJdMG","WOldNSoUW7NcSwFcPSo2dmkF","WRFdGI/dG0a","dmkjW6RcLL0","WOf7W4zP","oYRcQ8kVvrrMW68WW4y"];return hk=function(){return t},hk()}var Vke=async t=>{let e=Ss;return globalThis[e(633,"MsPj")]?await globalThis[e(633,"MsPj")](t):t};function wXt(){let t=Ss;return(globalThis[t(929,"[BPj")]||[])[t(859,"^X[^")](r=>r[t(462,"uRD$")]===t(517,"JEeJ"))||{}}function zke(t){let e=Ss,r={BGjME:function(n,s){return n(s)},emMQM:function(n,s){return n||s}};return r[e(703,"5pf4")](String,r[e(575,"Y(FS")](t,""))[e(620,")laV")](",")[-4856+-43*-126+-562*1][e(465,"Htyc")]()}function Hke(t){let e=Ss;return{IbWgv:function(n,s){return n(s)}}[e(716,"gmGB")](zke,t)[e(226,"RuKh")](/^\w+:\/\//,"")[e(263,"5pf4")]("/")[227*-38+9012+-386][e(771,"]s]p")]()}function RXt(t){let e=Ss,r={SKYKS:function(u,l){return u(l)},PMNCt:e(355,"$Cx&")+e(910,"cL@*"),XLTZq:function(u,l){return u(l)},xfXTh:e(445,")laV")+e(495,"YeH6"),iiUlJ:e(313,"f3$*"),TcEXH:e(303,"m^Ne"),KmKVp:e(902,"*8Ja")},n=r[e(300,"4AqP")](String,t?.[e(753,"Y(FS")]?.[e(417,"VP4@")]?.()?.[e(614,"&4Vi")]||"")[e(571,"cL@*")](),s=r[e(249,"[BPj")](Hke,t?.[e(813,"Yq1i")]?.[r[e(750,"!8Ku")]]),i=s||r[e(562,"ROzP")](Hke,t?.[e(781,"Cp@N")]?.[e(820,"Cp@N")]);if(!i)return n;let a=r[e(697,"Yq1i")](zke,t?.[e(644,"Htyc")]?.[r[e(257,"kqpL")]]),o=n[e(325,"m^Ne")](r[e(314,"^geQ")])?r[e(376,"5pf4")]:r[e(346,"Y(FS")];return(a||r[e(570,"f3$*")](String,t?.[e(818,"L#hp")]||"")[e(648,"XTb1")]()||o)+e(816,"&4Vi")+i}function NXt(t){let e=Ss,r={rELyK:function(n,s){return n(s)},mSewr:function(n,s){return n??s}};return Ov.default[e(885,"fEqp")][e(663,"RuKh")][e(333,"MsPj")](Ov.default[e(221,"]s]p")](r[e(810,"m^Ne")](String,r[e(522,"uRD$")](t,""))))[e(576,"cHrf")]()}function Qke(t,e=-2179+3*1277+-1637*1){let r=Ss,n={ACEAv:function(i,a){return i(a)},LxCTZ:function(i,a){return i||a},NnVSK:function(i,a){return i<a},UzOJE:function(i,a){return i-a},jJyZP:function(i,a,o){return i(a,o)},lfOOu:function(i){return i()}},s=n[r(928,"cHrf")](String,n[r(799,"^X[^")](t,""))[r(568,"*8Ja")](/x-oss-expires=(\d+)/i);return s?n[r(389,"XTb1")](n[r(793,"$Cx&")](n[r(513,"$Cx&")](parseInt,s[298*-8+-2743+5128],8636+10*-236+-6266),n[r(545,"&4Vi")](uu.default)[r(587,"jn$4")]()),e):!1}function Kke(t){let e=Ss,r={HleIg:e(396,"*8Ja"),yNaNw:function(s,i){return s+i},YTnif:function(s){return s()}};if(!t?.[e(219,"&4Vi")+"en"])return{};let n={...t};return n[e(318,"gmGB")]||=(n[e(723,"YeH6")]||r[e(232,"gmGB")])+" "+n[e(619,"Htyc")+"en"],!n[e(435,"4AqP")+"e"]&&n[e(378,"YeH6")]&&(n[e(550,"L#hp")+"e"]=r[e(848,"cHrf")](r[e(286,"Yq1i")](uu.default)[e(587,"jn$4")](),n[e(636,"Cp@N")])),n}function OXt(t){let e=Ss,r={puCdF:function(n,s){return n!==s},AtvwE:e(456,"*8Ja"),wsEgR:e(588,")laV"),hPCVR:e(266,"uRD$")};return t?r[e(317,"rwt1")](typeof Buffer,r[e(535,"*8Ja")])?JSON[e(316,"KiBW")](Buffer[e(406,"ScM#")](t,r[e(895,"^X[^")])[e(546,"%REC")](r[e(699,"W3A@")])):JSON[e(823,"DMN!")](Ov.default[e(436,"Yq1i")][e(278,"]s]p")][e(593,"rwt1")](t)[e(792,"cL@*")](Ov.default[e(656,"ScM#")][e(413,"[#^Z")])):null}function Yke(t){let e=Ss,r={rpxLQ:e(780,"XTb1")},n=/https:\/\/www\.alipan\.com\/s\/([^\\/]+)(\/folder\/([^\\/]+))?|https:\/\/www\.aliyundrive\.com\/s\/([^\\/]+)(\/folder\/([^\\/]+))?/,s=n[e(838,"[#^Z")](t);return s?{shareId:s[-1647*-2+-206+1029*-3]||s[4],folderId:s[6211*-1+-7*351+8671]||s[33*297+5623*1+593*-26]||r[e(702,"%REC")]}:null}var PXt=qt(233,"T!QQ")+qt(556,"DMN!")+qt(437,"YeH6"),DXt=qt(726,"kqpL")+qt(424,"f3$*")+qt(807,"W3A@")+qt(677,"Y(FS"),m0={},kXt=[qt(368,"ROzP"),qt(356,"DMN!"),qt(231,"Jcg("),qt(258,"]s]p"),qt(707,"Jcg(")],Pv=qt(328,"m^Ne"),Jke=qt(779,"$Cx&"),Xke=qt(849,"L#hp")+qt(789,"T!QQ"),Gke=qt(926,"vgae"),sn={},h0={},Ux=null,Al=null,eG="",Dh="",gk={"User-Agent":d0,Referer:qt(772,"XTb1")+qt(281,"[#^Z")+qt(307,"jn$4")};async function Dv(t){let e=qt,r={xYdfi:function(a,o){return a(o)},LhaTX:function(a,o){return a(o)},gOCPc:function(a,o){return a(o)}};Ux=t[e(432,"Jcg(")].db;let n=t[e(557,"RiSA")][e(579,"4AqP")]?.[e(735,"jn$4")]||{},s=await Ux[e(375,"!8Ku")+e(671,"vgae")](Pv,{});eG=r[e(709,"%REC")](NXt,n[e(783,"Jcg(")]),Dh=r[e(296,"2Ftf")](String,s[Jke]||"")[e(293,"[#^Z")]()||r[e(371,"jn$4")](String,s[eG]||"")[e(869,"%REC")]()||r[e(871,"A*C4")](String,n[e(273,"DMN!")]||"")[e(618,"L#hp")]();let i=await Ux[e(903,"^geQ")+e(811,"Y(FS")](Pv+"/"+Xke,{});h0=r[e(686,"!8Ku")](Kke,i)}async function LXt(t){let e=qt,r={zAxkc:function(n,s){return n(s)},RgqoO:function(n,s){return n||s}};Dh=r[e(706,"W3A@")](String,r[e(427,"DMN!")](t,""))[e(853,"&4Vi")](),Dh&&(await Ux[e(739,"%REC")](Pv+"/"+Jke,Dh),await Ux[e(423,"R&$u")](Pv+"/"+eG,Dh))}async function BXt(t){let e=qt;h0={dBftB:function(n,s){return n(s)}}[e(812,"uRD$")](Kke,t),h0[e(619,"Htyc")+"en"]&&await Ux[e(271,"ROzP")](Pv+"/"+Xke,h0)}async function Ak(t,e,r,n){let s=qt,i={fHpiE:function(u,l){return u||l},mySYh:s(514,"ScM#"),rYoov:function(u,l){return u||l},raACL:function(u,l){return u===l},tWsVb:function(u,l){return u>l},QMySJ:function(u,l){return u(l)},QTHIF:function(u,l,d,f,p){return u(l,d,f,p)},bDEpQ:function(u,l){return u-l}};r=i[s(581,"JEeJ")](r,{});let a=t[s(343,"cL@*")](i[s(341,"XTb1")]);Object[s(654,"A*C4")](r,gk),a&&sn[s(722,"!8Ku")]&&Object[s(230,"[BPj")](r,{Authorization:sn[s(483,"DMN!")]});let o=await he[s(572,"!8Ku")](PXt+"/"+t,e,{headers:r})[s(336,"*8Ja")](u=>u[s(794,"^geQ")]||{status:500,data:{}}),c=i[s(612,"&4Vi")](n,-2272*-3+3578+-10391);return i[s(695,"Htyc")](o[s(429,"fEqp")],-1*-4222+378*25+-13243)&&i[s(298,"kqpL")](c,7368+8*-921)?(await i[s(577,"2Ftf")](Gd,-121*-47+-3464+-1223),i[s(499,"JvFe")](Ak,t,e,r,i[s(719,"gmGB")](c,-4048+-83*-7+3468))):o[s(630,"m^Ne")]||{}}function Ss(t,e){let r=hk();return Ss=function(n,s){n=n-(6*88+1687*5+-8745);let i=r[n];if(Ss.dSPOpW===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};Ss.KvHFmu=l,t=arguments,Ss.dSPOpW=!0}let o=r[-1*1244+-3443+4687],c=n+o,u=t[c];return u?i=u:(Ss.bWLiHM===void 0&&(Ss.bWLiHM=!0),i=Ss.KvHFmu(i,s),t[c]=i),i},Ss(t,e)}async function gc(t,e,r,n){let s=qt,i={zIAnM:function(c,u){return c||u},tgFCj:function(c,u){return c||u},jcMBv:function(c,u){return c===u},hAevL:function(c,u){return c>u},rDNZb:function(c,u){return c(u)},qlmVF:function(c,u,l,d,f){return c(u,l,d,f)},gtsjD:function(c,u){return c-u}};r=i[s(405,"VP4@")](r,{}),h0[s(501,"ROzP")]&&Object[s(654,"A*C4")](r,{Authorization:h0[s(835,"T!QQ")]});let a=await he[s(306,"RiSA")](DXt+"/"+t,e,{headers:r})[s(507,"Cp@N")](c=>c[s(381,"$Cx&")]||{status:500,data:{}}),o=i[s(623,"T!QQ")](n,-7727+2*2089+3552);return i[s(855,"ScM#")](a[s(851,"f3$*")],-4449*-2+-2621+-5848)&&i[s(891,"$Cx&")](o,-1*603+127+476)?(await i[s(621,"Yq1i")](Gd,-9590+-37*31+-121*-97),i[s(649,"fEqp")](gc,t,e,r,i[s(309,"$Cx&")](o,-8835+22*-347+16470))):a[s(900,"f3$*")]||{}}async function tG(){let t=qt,e={mRupL:function(r,n){return r<n},taVjr:function(r,n){return r-n},OtdPf:function(r){return r()},ZbIFT:t(894,"MsPj")+t(609,"$Cx&")+t(401,"cL@*")+t(475,"4AqP")+t(330,"jn$4"),KyaFq:t(831,"Y(FS")+t(829,"Jcg("),DaFac:function(r,n){return r===n},xTIHV:function(r,n){return r(n)},sgLnG:function(r,n){return r(n)}};if(Dh&&(!sn[t(909,"vgae")]||e[t(402,"kqpL")](e[t(651,"Y(FS")](sn[t(908,"MsPj")+"e"],e[t(728,"^X[^")](uu.default)[t(672,")laV")]()),120))){let r=await he[t(602,"cHrf")](e[t(549,"m^Ne")],{refresh_token:Dh,grant_type:e[t(331,"RuKh")]},{headers:gk})[t(802,")laV")](n=>n[t(253,"YeH6")]||{status:500,data:{}});e[t(289,"5pf4")](r[t(669,"VP4@")],-3147*2+-1426*-1+5068)&&(sn=r[t(645,"T!QQ")],sn[t(324,"5pf4")+"e"]=e[t(729,"kqpL")](uu.default,r[t(242,"5pf4")][t(366,"RiSA")+"e"])[t(569,"Yq1i")](),sn[t(880,"ScM#")]=sn[t(711,"cHrf")]+" "+sn[t(634,"cL@*")+"en"],await e[t(870,"f3$*")](LXt,sn[t(599,"RiSA")+t(574,"MsPj")]))}}async function Zke(){let t=qt,e={AwmfP:function(r,n){return r>=n},yzAlA:function(r,n){return r-n},adFMI:function(r){return r()},RppGc:function(r,n){return r<n},WZRGl:function(r,n){return r-n},oZUyC:function(r){return r()},XwDFQ:t(718,"%REC")+t(361,"W3A@")+t(444,"R&$u")+t(606,"f3$*"),ICfPW:t(876,"Jcg("),CRxau:t(505,"JvFe")+"o",JLQaZ:t(335,"e7vJ"),MoDBY:t(664,"A*C4")+t(603,"MsPj")+t(425,"JvFe")+t(768,"cL@*")+t(901,"&[cA"),AomUS:t(508,"[BPj")+t(917,"e7vJ")+t(563,"cHrf")+t(784,"cL@*"),wGZMJ:t(877,"MsPj"),XpJZZ:t(896,"UdfQ")+"ri",SpYcc:t(489,"W3A@"),rsEZN:t(561,"ROzP"),FxaOn:t(320,"5pf4")+t(399,"ROzP"),mwjso:t(290,"$Cx&")+t(345,"Jcg("),dlQFp:t(667,"kqpL")+t(733,"4AqP")+t(852,"vgae")+t(395,"Y(FS"),rGTPe:t(383,"4AqP")+t(721,"!8Ku")+t(559,"vgae")+t(878,"^geQ"),azRLn:function(r,n){return r(n)},oprdf:t(472,"5pf4"),fPACt:function(r,n){return r+n},VyEUO:function(r,n){return r+n},fREWu:function(r){return r()},gnEEJ:function(r,n){return r(n)},SjaUp:t(744,"T!QQ")+t(905,"$Cx&")};if(!(h0[t(673,"A*C4")+"en"]&&e[t(297,"MsPj")](e[t(573,"RuKh")](h0[t(324,"5pf4")+"e"],e[t(547,"RiSA")](uu.default)[t(672,")laV")]()),8385*-1+1*2099+6406))&&((!sn[t(899,"4AqP")]||e[t(881,"L#hp")](e[t(319,"^X[^")](sn[t(708,"rwt1")+"e"],e[t(222,")laV")](uu.default)[t(332,"vgae")]()),10238+-7*1454))&&await e[t(512,"RiSA")](tG),!!sn[t(760,"vgae")]))try{let r=await he[t(923,"T!QQ")](e[t(679,"4AqP")],{params:{driver:e[t(411,"!8Ku")],driver_txt:e[t(693,"&[cA")],server_use:e[t(712,"JvFe")]}}),n=new URL(r[t(637,"[BPj")]?.[t(872,"YeH6")]),s=await he[t(805,"ScM#")](e[t(594,"JEeJ")],{authorize:1,scope:e[t(863,"^X[^")]},{params:{client_id:n[t(757,"Htyc")+"ms"][t(305,"Htyc")](e[t(846,"vgae")]),redirect_uri:n[t(734,"&[cA")+"ms"][t(301,"&4Vi")](e[t(731,"A*C4")]),scope:e[t(631,"Y(FS")],state:n[t(334,"vgae")+"ms"][t(223,"cHrf")](e[t(275,"Htyc")]),response_type:e[t(822,"*8Ja")]},headers:{...gk,"Content-Type":e[t(270,"^X[^")],Authorization:sn[t(722,"!8Ku")]}}),i=s[t(874,"W3A@")]?.[t(854,"RuKh")+"i"],a=i?.[t(689,"vgae")](/code=([a-zA-Z0-9]+)/)?.[4068+-221*-13+-1*6940];if(!a)throw new Error(e[t(379,"YeH6")]);let o=await he[t(308,"f3$*")](e[t(311,"^geQ")],{params:{code:a},headers:{Cookie:e[t(392,"jn$4")],"User-Agent":d0},maxRedirects:0,validateStatus:l=>l>=232+1*3433+33*-105&&l<-13*-507+-34*-217+-13569}),c=o[t(294,"UdfQ")]?.[t(904,"^geQ")]?.[t(283,"T!QQ")]("#")[9909+2*308+-10524],u=e[t(237,"L#hp")](OXt,c);if(u?.[t(416,"cHrf")+"en"]){let l={...u,auth:(u[t(763,"Y(FS")]||e[t(532,"gmGB")])+" "+u[t(370,"jn$4")+"en"],expire_time:u[t(248,"%REC")]?e[t(843,"uRD$")](e[t(913,"*8Ja")](uu.default)[t(715,"W3A@")](),u[t(248,"%REC")]):e[t(386,"f3$*")](e[t(942,"W3A@")](uu.default)[t(460,"DMN!")](),7200)};await e[t(484,"RuKh")](BXt,l)}}catch(r){console[t(845,"f3$*")](e[t(743,"gmGB")],r[t(360,"cL@*")])}}async function MXt(){let t=qt,e={clVJM:function(n,s,i){return n(s,i)},UgvHA:t(674,"MsPj")+t(292,"RuKh"),Svjkl:function(n,s){return n>s},YFfsJ:t(541,"ROzP")+t(582,"&4Vi")};if(!Al||!sn[t(883,"rwt1")]?.[t(441,"^X[^")+t(615,"MsPj")])return;let r=await e[t(936,"MsPj")](gc,e[t(628,"A*C4")],{drive_id:sn[t(659,"YeH6")][t(538,"Cp@N")+t(615,"MsPj")],parent_file_id:Al,limit:100});if(Array[t(698,"2Ftf")](r[t(834,"gmGB")])&&e[t(439,"f3$*")](r[t(834,"gmGB")][t(641,"Htyc")],0))for(let n of r[t(860,"]s]p")])await e[t(936,"MsPj")](gc,e[t(372,"kqpL")],{drive_id:sn[t(284,"m^Ne")][t(600,"5pf4")+t(367,"RuKh")],file_id:n[t(487,"cL@*")]})}async function WXt(){let t=qt,e={zVEaQ:function(o,c,u){return o(c,u)},nrOEg:t(510,"L#hp")+t(530,"]s]p"),FamZs:t(717,"2Ftf")+t(596,"kqpL"),gqHMS:t(886,"MsPj"),IOOcs:t(790,"ROzP"),FZWpT:t(791,"*8Ja"),PULtr:t(470,"W3A@")+t(480,"e7vJ"),mNkoW:t(613,"L#hp"),GpIOg:t(828,")laV")};if(!sn[t(285,"jn$4")])return null;if(Al)return Al;let r=await e[t(788,"%REC")](gc,e[t(252,"&4Vi")],{});if(!r[t(879,"e7vJ")+t(494,"^X[^")])return null;sn[t(786,"]s]p")]=r;let n=r[t(879,"e7vJ")+t(350,"XTb1")],s=await e[t(847,"&[cA")](gc,e[t(384,"2Ftf")],{drive_id:n,parent_file_id:e[t(824,"Cp@N")],limit:100,order_by:e[t(409,"RiSA")],order_direction:e[t(778,"f3$*")]}),i=Array[t(490,"Y(FS")](s[t(385,"R&$u")])?s[t(775,"UdfQ")][t(761,"KiBW")](o=>o[t(832,"&4Vi")]===Gke):null;return i?.[t(566,"ROzP")]?(Al=i[t(701,"Cp@N")],Al):(Al=(await e[t(342,"$Cx&")](gc,e[t(408,"*8Ja")],{check_name_mode:e[t(553,"[#^Z")],drive_id:n,name:Gke,parent_file_id:e[t(526,"Y(FS")],type:e[t(592,"Yq1i")]}))[t(264,"m^Ne")]||null,Al)}async function rG(){let t=qt,e={xoYYp:function(r){return r()},vwARB:function(r){return r()},MrRRu:function(r,n,s){return r(n,s)},VYcex:t(948,"5pf4")+t(410,"JEeJ")};if(await e[t(660,"2Ftf")](tG),await e[t(493,"[#^Z")](Zke),!sn[t(659,"YeH6")]?.[t(358,"RuKh")+t(251,"[#^Z")]){let r=await e[t(650,"$Cx&")](gc,e[t(220,"DMN!")],{});r[t(554,"Htyc")+t(560,"[BPj")]&&(sn[t(684,"cL@*")]=r)}return sn[t(467,"&[cA")]?.[t(795,"VP4@")+t(428,"Y(FS")]||""}async function $Xt(t){let e=qt,r={IZFWx:function(i){return i()},UzQDx:function(i,a){return i||a},zLPsh:function(i,a,o){return i(a,o)},qhNxU:e(418,"ROzP")+e(930,"^X[^")+e(369,"XTb1")},n=await r[e(678,"^X[^")](rG);if(r[e(920,"VP4@")](!n,!t))return null;let s=await r[e(482,"4AqP")](gc,r[e(247,"4AqP")],{file_id:t,drive_id:n});return s?.[e(597,"RiSA")]?s:null}async function FXt(t){let e=qt,r={FTmrM:function(a){return a()},PDsTP:function(a,o){return a||o},ENHKw:function(a,o,c){return a(o,c)},reRkc:e(377,"VP4@")+e(747,"^geQ")+e(488,"[BPj")+"fo",QIeiI:e(295,"RuKh")+e(537,"cHrf"),JfPZG:e(934,"JvFe")},n=await r[e(884,"JvFe")](rG);if(r[e(935,"KiBW")](!n,!t))return null;let s=await r[e(519,"!8Ku")](gc,r[e(353,"uRD$")],{file_id:t,drive_id:n,category:r[e(912,"R&$u")],url_expire_sec:r[e(228,"*8Ja")]}),i=s?.[e(394,"fEqp")+e(865,"RuKh")+e(949,"Yq1i")];return i?.[e(279,"]s]p")+e(567,"XTb1")]??i?.[e(558,"Jcg(")+e(730,"f3$*")+e(657,"[BPj")]??null}async function eLe(t,e=qt(580,"Htyc"),r=""){let n=qt,s={haLHm:function(o,c){return o(c)},ZhziO:function(o){return o()},LjTtP:function(o,c,u){return o(c,u)},kFUZn:n(500,"5pf4")+n(841,"vgae"),WpwLg:function(o,c){return o||c},RbvAZ:n(580,"Htyc"),QDtLw:n(225,"DMN!"),zJJVU:n(590,"W3A@"),tGBoI:function(o,c){return o(c)}};await s[n(809,"JEeJ")](Dv,t);let i=await s[n(523,"L#hp")](rG);if(!i)return{items:[],next_marker:""};let a=await s[n(260,"Htyc")](gc,s[n(529,"]s]p")],{drive_id:i,parent_file_id:s[n(339,"5pf4")](e,s[n(690,"!8Ku")]),limit:200,order_by:s[n(694,"RuKh")],order_direction:s[n(291,"W3A@")],marker:s[n(502,"$Cx&")](r,"")});return{items:Array[n(525,"MsPj")](a?.[n(243,"f3$*")])?a[n(687,"ScM#")]:[],next_marker:s[n(464,"Yq1i")](String,a?.[n(685,"Y(FS")+"r"]||""),drive_id:i}}async function tLe(t){let e=qt,r={wdjna:function(n,s){return n<s},HTCYA:function(n,s){return n-s},RCzSK:function(n){return n()},dvwmt:function(n,s,i){return n(s,i)},rKPmQ:e(826,"cHrf")+e(321,"ScM#")+e(363,"UdfQ"),lblvm:function(n,s){return n(s)}};if(!m0[t[e(714,"Yq1i")]]||r[e(862,"^geQ")](r[e(448,"uRD$")](m0[t[e(682,"gmGB")]][e(412,"f3$*")+"e"],r[e(349,"Yq1i")](uu.default)[e(927,"^X[^")]()),3805*1+1747+-5432)){delete m0[t[e(274,"A*C4")]];let n=await r[e(443,"rwt1")](Ak,r[e(850,"gmGB")],{share_id:t[e(700,"cHrf")],share_pwd:t[e(452,"4AqP")]||""});n[e(675,"^geQ")+"e"]&&(n[e(908,"MsPj")+"e"]=r[e(241,"[BPj")](uu.default,n[e(422,"W3A@")+"e"])[e(591,"*8Ja")](),m0[t[e(774,"Jcg(")]]=n)}}async function UXt(t){let e=qt,r={nVwQc:function(o,c,u,l){return o(c,u,l)},HeQvT:e(605,"5pf4")+e(451,"&[cA")+e(351,"ScM#"),ywjWF:e(670,"!8Ku"),tDZha:e(782,"Cp@N"),ezByE:function(o,c){return o||c},hZQXz:function(o,c,u,l){return o(c,u,l)},JNxap:function(o,c){return o===c},tddcg:e(915,"]s]p"),TzfTH:function(o,c){return o===c},EDgyv:e(299,"uRD$"),PmiUP:e(785,"RuKh"),TRTUm:function(o,c){return o<c},BBFcE:function(o,c){return o*c},sCPVB:function(o,c){return o*c},Flxgj:function(o,c){return o===c},ZAAHw:function(o,c,u){return o(c,u)},cTVuF:e(520,"&4Vi"),EwpiF:function(o,c){return o(c)},fqhcv:function(o,c){return o(c)},Ibrna:function(o,c){return o>c}},n=r[e(931,"jn$4")](typeof t,r[e(544,"cL@*")])?r[e(327,"YeH6")](Yke,t):t;if(!n)return[];if(await r[e(478,"A*C4")](tLe,n),!m0[n[e(875,"&[cA")]])return[];let s=[],i=[],a=async(o,c,u)=>{let l=e,d=await r[l(458,"JvFe")](Ak,r[l(302,")laV")],{share_id:o,parent_file_id:c,limit:200,order_by:r[l(921,"4AqP")],order_direction:r[l(861,"Yq1i")],marker:r[l(595,"RiSA")](u,"")},{"X-Share-Token":m0[o][l(932,"[#^Z")+"n"]}),f=d[l(277,"&[cA")];if(!f)return[];if(d[l(491,"UdfQ")+"r"]){let m=await r[l(374,"JvFe")](a,o,c,d[l(454,"A*C4")+"r"]);for(let h of m)f[l(474,"DMN!")](h)}let p=[];for(let m of f)if(r[l(732,"[#^Z")](m[l(736,"&[cA")],r[l(453,"&4Vi")]))p[l(804,"$Cx&")](m);else if(r[l(468,"UdfQ")](m[l(770,"Cp@N")],r[l(681,"XTb1")])&&r[l(473,"[BPj")](m[l(629,"!8Ku")],r[l(916,"XTb1")])){if(r[l(259,")laV")](m[l(481,"RuKh")],r[l(492,"T!QQ")](r[l(773,"VP4@")](-17*181+170+-1*-3931,4850+2759*-1+11*-97),-1*1019+9563+-8539)))continue;m[l(531,"m^Ne")]=m[l(803,"VP4@")][l(287,"YeH6")](/玩偶哥.*【神秘的哥哥们】/g,""),s[l(608,"YeH6")](m)}else r[l(262,"MsPj")](m[l(857,"RuKh")],r[l(234,"Jcg(")])&&m[l(397,"5pf4")+l(536,"vgae")]&&kXt[l(604,"RuKh")](h=>m[l(551,"cL@*")+l(727,"YeH6")][l(261,"cL@*")](h))&&i[l(839,"XTb1")](m);for(let m of p){let h=await r[l(815,"^X[^")](a,m[l(889,"fEqp")],m[l(264,"m^Ne")]);for(let A of h)f[l(486,"RuKh")](A)}return f};return await r[e(906,"jn$4")](a,n[e(764,"Cp@N")],n[e(746,"cL@*")]),r[e(626,"L#hp")](i[e(825,"cL@*")],7578+-1*-4461+-12039)&&s[e(426,"XTb1")](o=>{let c=e,u=r[c(688,"Jcg(")](ml,o,i);u[c(749,"kqpL")]&&(o[c(555,"]s]p")]=u[c(548,"jn$4")][c(893,"5pf4")])}),s}var Ph={};async function rLe(t,e){let r=qt,n={ZefMS:function(i){return i()},psfkO:function(i,a){return i(a)},lfGPt:function(i,a,o,c){return i(a,o,c)},xjHdj:r(819,"gmGB")+r(653,"fEqp")};if(await n[r(280,"ROzP")](tG),await n[r(400,"[#^Z")](Zke),await n[r(398,"&4Vi")](WXt),!Al||!sn[r(282,"DMN!")]?.[r(710,"Yq1i")+r(503,"e7vJ")])return null;if(Ph[e])return Ph[e];await n[r(542,"cL@*")](MXt);for(let i of Object[r(933,"m^Ne")](Ph))delete Ph[i];if(await n[r(601,"JvFe")](tLe,{shareId:t}),!m0[t])return null;let s=await n[r(887,"[BPj")](Ak,n[r(391,"DMN!")],{file_id:e,share_id:t,auto_rename:!0,to_parent_file_id:Al,to_drive_id:sn[r(250,"kqpL")][r(538,"Cp@N")+r(509,"DMN!")]},{"X-Share-Token":m0[t][r(692,"ROzP")+"n"]});return s[r(655,"MsPj")]?(Ph[e]=s[r(701,"Cp@N")],s[r(434,"5pf4")]):null}async function nG(t,e,r=!0){let n=qt,s={oycTa:function(u,l){return u===l},pTSoB:n(373,"ScM#"),IxFZY:function(u,l){return u(l)},uwhIH:function(u,l,d){return u(l,d)},HkXsd:n(377,"VP4@")+n(683,"f3$*")+n(340,"W3A@")+"fo",xPeHg:n(459,"Htyc")+n(388,"uRD$"),sEWec:n(742,"ROzP"),Rperx:function(u,l){return u&&l},XYWvk:function(u,l,d,f){return u(l,d,f)}};if(s[n(837,"[BPj")](t,s[n(635,"m^Ne")]))return await s[n(801,"!8Ku")](FXt,e);let i=await s[n(267,"R&$u")](rLe,t,e);if(!i||!sn[n(680,"JEeJ")]?.[n(777,"f3$*")+n(676,"R&$u")])return null;let a=await s[n(430,"fEqp")](gc,s[n(338,"gmGB")],{file_id:i,drive_id:sn[n(564,"Y(FS")][n(344,"JvFe")+n(676,"R&$u")],category:s[n(393,"Cp@N")],url_expire_sec:s[n(362,"cHrf")]}),o=a?.[n(276,"RuKh")+n(348,"cL@*")+n(539,"uRD$")],c=o?.[n(741,"RiSA")+n(415,"vgae")]??o?.[n(440,"YeH6")+n(589,"rwt1")+n(762,"2Ftf")]??null;return s[n(856,"]s]p")](!c,r)?(delete Ph[e],s[n(329,"Cp@N")](nG,t,e,!1)):c}async function nLe(t,e,r=!0){let n=qt,s={jnRwM:function(o,c){return o===c},fsMYK:n(511,"ROzP"),Jaotq:function(o,c){return o(c)},yNAMk:function(o,c,u){return o(c,u)},yIAeN:n(471,"&4Vi")+n(873,"5pf4")+n(496,"DMN!"),LXgcU:function(o,c,u,l){return o(c,u,l)}};if(s[n(246,"ScM#")](t,s[n(939,"kqpL")]))return await s[n(950,"XTb1")]($Xt,e);let i=await s[n(720,"ROzP")](rLe,t,e);if(!i||!sn[n(786,"]s]p")]?.[n(554,"Htyc")+n(892,"VP4@")])return null;let a=await s[n(759,"KiBW")](gc,s[n(632,"cHrf")],{file_id:i,drive_id:sn[n(357,"Htyc")][n(639,"YeH6")+n(469,"kqpL")]});return a[n(235,"DMN!")]?a:r?(delete Ph[e],s[n(817,"jn$4")](nLe,t,e,!1)):null}async function sLe(t){let e=qt,r={qAdQW:function(i,a){return i(a)},ZjkTG:function(i,a,o){return i(a,o)},ErPne:function(i,a){return i(a)},wmedU:e(787,"4AqP")};if(!r[e(882,"RuKh")](fk,t))return null;let n=r[e(882,"RuKh")](Yke,t);if(!n)return null;let s=await r[e(269,"m^Ne")](UXt,n);return s=s[e(407,"&4Vi")](i=>{let a=e;return{vod_id:[i[a(218,"uRD$")],i[a(566,"ROzP")],i[a(767,"4AqP")]?i[a(925,"uRD$")][a(598,"$Cx&")]:""][a(528,"R&$u")]("*"),vod_name:i[a(922,"]s]p")],vod_size:i[a(229,"cHrf")]}}),r[e(738,"$Cx&")](Os,await r[e(565,"cHrf")](Vke,r[e(754,"uRD$")]),s)}var Oh={},Fx={};async function yk(t,e){let r=qt,n={KRrZC:function(m,h){return m(h)},gNEjH:function(m,h){return m!==h},GFCYA:r(224,"uRD$"),ITyPk:function(m,h){return m===h},ISCYt:r(534,"kqpL"),ztBOu:function(m,h,A){return m(h,A)},ndSgS:r(696,"!8Ku"),UBqqg:r(890,"R&$u"),DREkE:r(326,"]s]p")+r(748,"R&$u"),CnygU:function(m,h,A){return m(h,A)},RpNAj:r(457,"[BPj")+r(521,"KiBW"),XTFGH:r(540,"kqpL"),WLPBo:function(m,h){return m===h},nRnCb:r(624,"[#^Z"),UewEm:function(m){return m()},BXXrf:function(m,h,A,g,b,y,x){return m(h,A,g,b,y,x)},HjqoX:function(m,h){return m*h}};await n[r(236,"RuKh")](Dv,t);let s=t[r(607,"%REC")][r(365,"A*C4")],i=t[r(661,"e7vJ")][r(583,"^geQ")],a=t[r(310,"[BPj")][r(268,"[#^Z")],o=t[r(806,")laV")][r(254,"e7vJ")];if(n[r(485,"m^Ne")](s,n[r(897,"$Cx&")]))return;let c=t[r(661,"e7vJ")][r(431,"4AqP")],u=t[r(898,"kqpL")][r(658,"L#hp")];if(n[r(705,"4AqP")](i,n[r(868,"RuKh")])){if(Oh[o]){let A=Oh[o][r(447,"W3A@")](g=>g[r(725,"m^Ne")+"d"][r(497,"JvFe")+"e"]()===c);A?.[r(390,"ScM#")]&&n[r(844,"JvFe")](Qke,A[r(610,"Y(FS")])&&delete Oh[o]}!Oh[o]&&(Oh[o]=await n[r(745,"ScM#")](nG,a,o));let m=Oh[o]?.[r(643,"&4Vi")](A=>A[r(947,"cL@*")+"d"][r(751,"!8Ku")+"e"]()===c);if(!m?.[r(752,"m^Ne")])return;if(!m[r(864,"KiBW")]){let A=await he[r(239,"YeH6")](m[r(438,"%REC")],{headers:{"User-Agent":d0}});m[r(552,"jn$4")]=jke[r(543,"5pf4")](A[r(858,"R&$u")]);for(let g of m[r(455,"A*C4")][r(245,"2Ftf")])!g[r(498,"$Cx&")][r(647,"UdfQ")](n[r(740,"f3$*")])&&(g[r(227,"vgae")]=new URL(g[r(272,"5pf4")],m[r(446,"[BPj")])[r(461,"2Ftf")]()),g[r(830,"rwt1")]=g[r(240,"%REC")],g[r(498,"$Cx&")]=g[r(585,"%REC")+r(776,"Cp@N")]+r(584,"UdfQ")}if(u[r(946,"fEqp")](n[r(244,"&[cA")])){let A=n[r(288,"VP4@")](parseInt,u[r(622,"T!QQ")](n[r(256,"^geQ")],""),10);e[r(911,"T!QQ")](m[r(380,"&4Vi")][r(245,"2Ftf")][A][r(814,"Y(FS")]);return}let h=jke[r(466,"XTb1")](m[r(800,"^X[^")]);return e[r(625,"!8Ku")](9337*-1+3*-626+11415)[r(907,"%REC")]({"content-type":n[r(524,"m^Ne")],"content-length":Buffer[r(842,"rwt1")](h)[r(352,"Yq1i")]()}),h}Fx[o]?.[r(752,"m^Ne")]&&n[r(364,"L#hp")](Qke,Fx[o][r(516,"RuKh")])&&delete Fx[o],!Fx[o]&&(Fx[o]=await n[r(797,"*8Ja")](nLe,a,o));let l=Fx[o]?.[r(867,"rwt1")];if(!l){e[r(713,"T!QQ")](294*19+3768+-1*8854),e[r(477,"kqpL")](n[r(924,"R&$u")]);return}if(n[r(476,"^geQ")](c,n[r(798,"m^Ne")])||n[r(312,"MsPj")](c,n[r(382,"Yq1i")])){e[r(527,"*8Ja")](l);return}let d=n[r(323,"vgae")](wXt),f=d[r(769,"YeH6")]||-1949+-55*-61+-1278,p=d[r(347,"^geQ")]||1*4162+-8940+4798;return await n[r(836,"m^Ne")](Wx,t,e,l,o,gk,{chunkSize:n[r(238,"5pf4")](662+-2*-181,f),poolSize:p,timeout:n[r(433,"UdfQ")](420*1+-2081*-2+6*-597,2521+-1487*-1+-3998)})}async function xk(t,e){let r=qt,n={uPSPm:function(f,p){return f(p)},CRIsB:function(f,p){return f(p)},gOPqg:r(666,"5pf4"),WXrgm:function(f,p){return f+p},YwoCg:r(918,"uRD$"),LMSwm:function(f,p,m){return f(p,m)}};await n[r(665,"XTb1")](Dv,t);let s=t[r(652,"UdfQ")][r(419,"MsPj")],i=t[r(450,"f3$*")].id[r(642,"fEqp")]("*"),a=await n[r(265,"&4Vi")](Vke,n[r(888,"JvFe")]);if(!s[r(315,"A*C4")](a))return;let o=n[r(638,"&[cA")](n[r(919,"L#hp")](n[r(840,"T!QQ")](RXt,t),t[r(737,"A*C4")][r(691,"ScM#")]),n[r(796,"*8Ja")]),c={parse:0,url:[]};i[2]&&(c[r(755,"&4Vi")]={subt:o+r(463,"YeH6")+i[9837+9*-1093]+"/"+i[-113*1+4334+1*-4219]+r(756,"JEeJ")});let u=(await n[r(821,"f3$*")](nG,i[-370*3+1*9195+49*-165],i[5420+1*-5419]))?.[r(533,"R&$u")](f=>f?.[r(354,"JEeJ")])||[];Oh[i[35*-179+-1*-9349+3083*-1]]=u,u[r(724,"XTb1")]((f,p)=>(p[r(506,"$Cx&")+r(616,"rwt1")]||0)-(f[r(833,"JEeJ")+r(766,"!8Ku")]||5290+3*-2131+-1103*-1));let l=c[r(867,"rwt1")],d={QHD:"\u8F6C\u7801",FHD:"\u8D85\u6E05",HD:"\u9AD8\u6E05",SD:"\u6807\u6E05",LD:"\u666E\u753B"};return u[r(515,"gmGB")](f=>{let p=r;l[p(938,"T!QQ")](d[f[p(255,"&[cA")+"d"]]||f[p(704,"jn$4")+"d"]),l[p(486,"RuKh")](o+p(758,"T!QQ")+f[p(937,"^X[^")+"d"][p(586,"T!QQ")+"e"]()+"/"+i[0]+"/"+i[-8363+2*4001+362]+p(337,"vgae"))}),l[r(662,"jn$4")]("\u4EE3\u7406"),l[r(449,"[BPj")](o+r(421,"e7vJ")+i[3*-2030+-3985*1+10075*1]+"/"+i[1*-2333+-43*167+-11*-865]+r(304,"XTb1")),l[r(420,"W3A@")]("\u539F\u753B"),l[r(504,")laV")](o+(r(941,"Y(FS")+r(827,"rwt1"))+i[-5*-731+-41*-199+-11814]+"/"+i[-1*3181+-2655+-449*-13]+r(322,"m^Ne")),c}var iG=Re(Jn(),1);var je=lu;(function(t,e){let r=lu,n=t();for(;;)try{if(parseInt(r(589,"3GMJ"))/1*(-parseInt(r(729,"y2dz"))/2)+parseInt(r(896,"ZJM)"))/3*(parseInt(r(1014,"#*yI"))/4)+parseInt(r(712,"tU0H"))/5*(parseInt(r(852,"(kco"))/6)+-parseInt(r(498,"iKSc"))/7*(parseInt(r(634,"[(4C"))/8)+parseInt(r(331,"!SOK"))/9*(-parseInt(r(869,"iKSc"))/10)+parseInt(r(567,"[Gf!"))/11*(-parseInt(r(419,"WkTr"))/12)+parseInt(r(624,"TYG3"))/13===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(_k,1*638402+702636+-950797);var dLe=async t=>{let e=lu;return globalThis[e(1006,"i)7i")]?await globalThis[e(408,"240S")](t):t},qXt=[je(274,"Noae"),je(597,"Z*@("),je(671,"ZJM)"),je(640,"12Mj"),je(298,"WkTr"),je(267,"nwCk"),je(388,"Wk9#"),je(1043,"OZzu"),je(471,"!SOK"),je(536,"Zbg9"),je(365,"3$u9"),je(1081,"&HYM"),je(440,"Fhs#"),je(1072,"j9GU"),je(1026,"Z*@("),je(486,"3GMJ")],jXt=t=>{let e=je,r={KQhxu:function(s,i){return s(i)}};if(!t)return!1;let n=r[e(522,"nwCk")](String,t)[e(775,"g[c@")+"e"]();return qXt[e(806,"#*yI")](s=>n[e(354,"YypP")](s))};function fLe(t){let e=je,r={JszKk:function(n,s){return n(s)},YClvg:function(n,s){return n||s}};return r[e(363,"$&ze")](String,r[e(426,"SAtO")](t,""))[e(487,"j0Uf")](",")[0][e(476,"240S")]()}function aLe(t){let e=je;return{jeNQx:function(n,s){return n(s)}}[e(395,"[(4C")](fLe,t)[e(1052,"8pjQ")](/^\w+:\/\//,"")[e(376,"ShO2")]("/")[-4*1563+-628*11+13160][e(483,"#*yI")]()}function HXt(t){let e=je,r={UGCKM:function(u,l){return u(l)},PGFGP:e(344,"j0Uf")+e(562,"OZzu"),qNHXF:function(u,l){return u(l)},eTDUv:e(1078,"240S")+e(605,"j9GU"),FnLdl:e(882,"YypP"),SkXOO:e(644,"f*1G"),eIovY:e(1082,"!SOK"),QrWzO:function(u,l){return u(l)}},n=r[e(459,"WkTr")](String,t?.[e(564,"8pjQ")]?.[e(646,"9pW6")]?.()?.[e(464,"Zbg9")]||"")[e(423,"!SOK")](),s=r[e(871,"&HYM")](aLe,t?.[e(337,"yDy^")]?.[r[e(753,"n7Q^")]]),i=s||r[e(861,"ljNd")](aLe,t?.[e(717,"X3DF")]?.[e(364,"Gnm8")]);if(!i)return n;let a=r[e(809,"X3DF")](fLe,t?.[e(874,"9pW6")]?.[r[e(1016,"l#VZ")]]),o=n[e(835,"j9GU")](r[e(1029,"TYG3")])?r[e(910,"ljNd")]:r[e(549,"X3DF")];return(a||r[e(422,"iKSc")](String,t?.[e(436,"iKSc")]||"")[e(1020,"&HYM")]()||o)+e(779,"ShO2")+i}function pLe(t){let e=je,r=/https:\/\/pan\.quark\.cn\/s\/([^\\|#/]+)/,n=r[e(849,"ZJM)")](t);return n?{shareId:n[-2085+17*-199+-3*-1823],folderId:"0"}:null}var Za=je(843,"OZzu")+je(925,"[(4C"),qx={"User-Agent":je(866,"&HYM")+je(741,"n7Q^")+je(356,"12Mj")+je(1023,"g[c@")+je(506,"SAtO")+je(743,"ljNd")+je(988,"d&OD")+je(1011,"y2dz")+je(561,"9pW6")+je(533,"X3DF")+je(424,"Z*@(")+je(516,"!SOK")+je(739,"yDy^")+je(454,"nwCk")+je(980,"[(4C")+je(844,"Wk9#")+je(1035,"Zbg9")+je(1036,"!SOK")+je(862,"!SOK")+"ch",Referer:je(1062,"OZzu")+je(292,"LY1j")},aG=null,bk=null,oLe=je(1068,"$n0Q")+je(375,"ljNd")+je(548,"[(4C")+je(969,"!SOK"),Ac="",Yd={},cLe=je(654,"nwCk"),kh=null;async function kv(t){let e=je;aG=t[e(951,"TYG3")].db;let r=t[e(573,"Z*@(")][e(362,"Gnm8")][e(325,"YypP")];Ac=r[e(601,"[Gf!")],bk=iG.default[e(786,"YypP")][e(632,"g[c@")][e(336,"Z*@(")](iG.default[e(939,"g[c@")](r[e(755,"l#VZ")]))[e(707,"j0Uf")]();let n=await aG[e(758,"Fhs#")+e(898,"TYG3")](e(556,"Fhs#"),{});n[bk]&&(Ac=n[bk])}function _k(){let t=["WRBdJmo1nSoCjq","W7HYBIeBqHOoW7tcMW","rCk1hGNcV8oX","WRXxW555WR4","yXONWPe","W6pdJComCspcIHFdI30","W48IW7JdUmoMdf0","A2NdSqK","WRldHtO/p8or","WO3dNmkYlKi","cMLOACoD","WPasnCoGW5tdHSku","zK4NmtRcOIbSW4JdTWFcUZyA","C8kSWR3dImorW6JcJq","i0TCWQhcJCo1","cNHUkq","rZVcVmkpWOf/WRZcIG","W6fmFKldNW","WOLUWQ0","WOTPWOr6FCknlCkjm8kf","A8k5cG","WQb1WQDNFSovoCkJpSkt","qHVdMMeIjXunEG","ACoRWRjLpq","cgZdPCorqa","r8oqbHq","WOasmSoQ","mXdcKCo7mG","qxPSBW","qSk/W7NdPq","WR91W4fXWOK","WOq3W77dUa","WRaVu8ksWQK","B8k/W63cVem","WOuxiSo5W67dNmkd","sCk/W6NcUW","W6RcKdtcTKVdMSoWExH4","wCoppexdTq","hSofxbmOWQ3cKCo2vmkx","tJNcTq","WPnrWO9LqG","i1DCWQFcNCowhCkt","AZhcPCk+DMtdJCo8Ad8","ASkTWQJdP8kZ","W6JcKmkQymkAFSoFW5lcGSkYW7hdPW","fsTkqeK","WR7dImoVma","WQ98WRxdLSovW7hcUMJcPmkl","W4DICuW","WRLJW4FdV8kH","ySosWQ95aa","WORdNmk+oa","WPeqrCkyWRW","WPz9W4fQWRq","rCoCaKe","DMboWRRcISoYv8krWQldRW","zhNdIIldVW","W4tdMmkhDsa","BgNdSqVdSq","FKHyWRFcLq","WOnGWQ3dLmovWOlcVW","ma3cMCkeWQ4","cxj2y8kq","F8k5WR3dTa","W6ddH8oxyaZcGa","WO7dQSo6khxcNSo6oNW","ehfoWOHFkW","aehcI3ididO","WQRdTSk0b2y","W44Ur8oB","WQLvW6/dLmkpzeNdT8k8W4K","W5ucyIC9","WQjKW4ZdGCkV","WPbew8oSWONcNCoAjbpcPG","WOK4W67dVmoWmbq","ow7dVCoACxfZ","WR/cIYn9lW","WO7cOdbUpa","WPVdS8o6jf4","W67dPmk9wWa","WOfstSolWQa","f8kHWQldS8kq","DN3cJK9I","W4ldLmohtrG","WRTdW7VdT8ko","W5ZcMSoeWOjb","hSoExXS","WQtcJcdcMSo7W7SHDa","obHWy37dVG","tCoYaWJcU8oXeCkIy8ou","rJasWP5G","WPu4W6xdNCos","WRldNYuWo8opxGFcILO","W4pdUSk3wqW","WORdH8k8nLpcGG","WQldOZFdGCoQWQNdVSoS","gqVdI8ofhq","vmoRWPrM","W7tdICosBW3cNaldILeC","WPhdVCo+i8oj","e8knrrxcP8oOz8k9WO4XWONcO8k5","WONdSCoKlfpcKSoUmx/cQW","WOTWWPZdGXW","WR5/W5VdHCk7","WRLNxColWPG","emojurjIWRVcJq","W57cGSkp","sMVdScddSW","WRhcQaz/afvP","WPWNu8oxh8k2WQ0GWPFcSW","nLzz","nqhcTmo8pCk+","vMddRtNdMa","WQO+q8klWQJdIZL9","tdhcPCkj","W7mormoVna","WOv0dWFcVmoNnetdRSkp","W51qWPJdKG8JWPK","WO3dNmk4ofG","WOabcmo4W7O","cXddHSooqCkkdCkBlMS","W4iSnCoIW7hdISon","C8o0mgy","WQOZvdiJzHbCsZy","W5VdH8kpwGi","WRfQWOPVBmkFp8kpnmkf","WQNdGCo6i8onySokW7xcH8kO","i8oHW7/cU8oPsmonWPpdLCkD","W4vvsCoGWQtcO8opeGpdTa","W6RcICkZbSobi8oDW7lcKCkP","ASk3WPpdQ8oN","kIhcVmopW58PW6xcMvba","wLxcS0i","W4CVqH0b","k2lcOW","WPTNW7/dU8kH","W7GvqJi","BmkWWPJdPCoeW7VcM8kjW50","umk0eW/cV8kScCoKyCoi","W5PksvVdIq","WR8LW6pdO8oTqKddLCo1ua","WORdRSoDfSo4","WRVcQthcK0G","WObkqSoIWR/cMq","W7y4sConW6VcGtLLWP9b","f8onvZTr","g3fuWQbjkCkKWRivDG","WRW0umkm","W6LQWOGUESojomoDo8kb","DmoWWPBdIComW6C","WRNdRG7dQSo7WQhdPmoUnSob","ACkZW6FdTSk2uComWPZdS8kD","WQmDrZyLBLC","WQNdNCo6jCoDpG","E1n8Bwq","f0JcNMe","W50YqW","nMhcPeiu","W7SHWQv8F1C","W73dSSkTxqvmWR1FfZy","W7a0AdDBwG","W5nMWRRcQCk4tW","WRCUq8kgWQJdHYXSW59s","v8kZpHlcRCoMcmopyCoj","WO52W4voWOG","WOOCnmoMW6RdGW","nCkQWPxdSSkV","WRxcUmoX","ymobWOfEnG","WQ4Yq8khWRxdStzGWOna","W70jWOaEW483WQ7dN8oToMxcG8oA","WQvcWPpdLGm","W5pcKSodWPu","vYSEWR9u","F8kXWP8","WQNdLCoccwK","W4TDjmoIW6u","DxFcT2Lw","FSk+WOJdMW","WONdGCk2o1/cLa","W7/dTSkSuWrk","WOaCmCoLW6FdGmkrWPCVoW","xeVcMSoaoSkjdCkpaG","WOjwxSoGWRhcKG","WPz6WQpdIW","WRxcPXi","jmkGWQhdMCkTW41+","DHO5","WR1kW5bAWPe","F2ddQJNdNq","i2ddRa/dStlcRmkVpSoa","W7tcPGGAW5/dHa","arddMCoF","W5bQF0G","W6pdICoiza","iN/cUhmW","W7O9FWaT","lCoRCZ1k","h8kAWRldV8kC","W7SlWRb9","W55KyKC","WPbntmo7WRpcO8opeGpcLG","WPxdLSk9oKlcHa","W6bazKFdPW","ywZdQaVdGW","ictcOSkqWQS","hfPyWOFcNW","ptTFt2K","W7WZvd4ZDG","WQ7dTSkrdq","WR7cRW5/v2LGW4VcM1y","WQjZWO9TzSoVj8kjlmku","xv/dTCoBd8kjb8orCse","EGLQAwy","W6fmsgVdNa","W4DUFWtdR8orW697W5OU","W78FWQ8OkGldU8kGWPOT","W54YrCkddmkAWQG","pJfmDLm","Bmk1WQ3dH8kq","grBdUCoFhmkhdmkl","dIVcGCkbWO0","CLJcGhze","WQ/dHdyVlSoqjqlcKuu","W5VcIdqnW5u","WOG6sCkr","EqaCWOzOtCkx","lMFdQmoj","WQD/WOvS","qmoesq","jM/dSSod","WPaKWRFdRmoRdWdcISoJea","W6ZdV1mRscOVW6RcJG8","FgddPbRdVfFcUW","W6ddIqpcJCo1","vmopgG","uCoibuG","nuDyWRy","ACkRWPpdKCogW6C","WQn7WPPBCq","W7PWW7nVWQbBW5S","WORdKSkLogNcJCkU","W6D6Ef7dOq","W7FdG8or","yuH6t3ZdK1eF","WOflW7ZdHCkO","W6OmDSklWPZdVb4","c0nfWRL6","bYpcSmoXka","eaBcGmk4WQW","WQ9oW6xdRmkfp0xdT8k6W7C","WOqYW7JdSmo+gL3cHSkTfW","qSkVartcVCoT","WQJdJmo6nCo9bmoxW6NdLCoO","WQxdRmoSjeBcNmo6EcZdOa","W6X+CtrBwLTe","c8oyuqjYWRO","W73dVxtcVhJdMmkIkXW","mcPXFea","WR3dHmovbMC","cdTdWObfnCoUWRCixG","lK1oqSoS","WOWwj8oVW67dNCkd","WRJdJmoOjCoLlmonW77cJG","W5ZcSSkNEX/dGCoCaxlcVKxdTG","W6xcLenuW68","Dqm8WPn/a8kDWRhcN0q","W77dICo2ybFcLI7dGwOm","WQ7dHSoijCoAjmoxW7O","ogpdR8ohEe1JW6tcMSks","CSkRWOJdISoqWRpdM8ot","W616DcfRvvS","WRP1WPW","vCk1fHJcTCoCfSoLC8oo","eGFcHmkqWQC","WRvxWQrruW","hmoaBWjOWQlcM8oVbCkl","W6BdPmktuXPsWQXs","WRPkW6RdRmknouldP8k4","jXv/DM/dN3a","WOG/cmo5W4O","a3jPCG","fsFcO8kfWOq","xvFcQeDL","yGTnWRJcJSoLpmk6","ccLoWO5gjSoNWO4oqa","mrT/CwBdOG","WQHTymoyWPq","WRVdNSoOf8ob","WQZdKSkemva","W7GvWPT/uW","WQhcIHTGnG","WPBdQqmkcG","WQxdRrldKmohWQhdO8oujCob","CIjUzw3dSYK","6l+u6kge6yEi57Yg","hGZdImokhmkCa8kv","W4ZcKmozWPfRW7Hrr8kI","mIpcKmkVWQu","W6rXrYnA","WQVdNmo6i8od","WQjqW6jjWOXRW5hdVCoOmW","WOHava","s8k3W7hcRNnE","W6vEExJdTG","hg9wWPNcJq","WObWWQC","iLPnWRNcMCoLdW","W7JcOa0r","smkWW7NcQuffW6qV","f3HjWOHi","W7HYBIfRwKLmW6e","cwFcNgOC","artcMMm","WRn8esVdOW","W6ucvJiVsH4","WPP+eXtdTCoP","s8k3W7K","WPaJW7NdSq","W7hdKCowrWG","hf7cHa","uMDuWOm","WOexn8ohW4G","E8kSWP/dK8ok","W6FdI8obuYK","W6Odqbi2zHa","W63cMwz+W6G","BSkyrW","fxldS8oCDvq","WOuanCoIW6ZdGq","WPrNWRVdImoCWQtcUN/cMmos","xWFcTmk+sa","dt3cLSoggG","cctcRCopWO51WQxdMq8z","zxxdRSolo1X4W7RcM8ot","WO5mqW","WOq5W73dT8oKebpcGCkAaW","z3ZdSrJdQItdSmo1kSox","iGlcJSoVdq","jXHSCM/dPa","nKxcP2ml","W5VcJmoLWPL8","WOtdJ8oyp2S","W7BcPXfP","W6q1WO9qua","hhPSy8oWpCka","WO9qhbldKa","oKf+vCoi","ggpdPCogra","tSkMWRJdOmoW","c3PUzW","WRhcQL0","WRDPWQX9rG","WP13fbtdOG","WOOxW6FdG8oF","WRZdHmoRzq","WPSdCCkkWQa","WQHxW6FdHCkpza","gSodva8","ESkRWRRdVmk/ea","WQSVrSkwWQ/dNq","hHhdI8ozc8kNbG","WQLoWP7dKmoI","W6pdJ8oFza","W4VcL8o5WRfA","gGP2t2S","tSkcWQxdRmk3","WOzDwCo7WRC","qaFdNY5srdXdpIO","WQxdIYNdVmow","W4VcUvHZW48","WPXZWQJdIt0cWOO7W7hdHG","lWBcKSo5lmk1WRqdjW","yCkOWQZdKmkWW512W5eRW68","WOW/W7NdRq","vWC7WRf8","W5yZnJVdLComeqtcQ8k8","aX/cMCohlq","WQZdKsu8n8oq","WO5/lt3dUW","eNTsWOjkl8oTWR0orq","hCkLWO/dV8km","W5BcNCk+lqi","W5W+w8oBqSknWQ4LWPBdUG","wdtcSmkCFgtdNCoTEwS","WOrovmoTWPu","lffvDmo5","W47dS8oYjfJcR8o9pN3dSW","WPZdRmoAiL3cLCoPfhJcVq","zCoWm07dMa","WOFcNrFcVgG","n1Pj","hSofxbnyWQFcN8oSxW","hhn7DmokfCkx","DXyPWQr7qSkGWRhcHeq","mwvfWPZcTG","W4LyWRRdKJmuW6bGWRxcNG","WP8syCoAW6pdJW","W60xWQ9WnflcLSo8WOuZ","WOzSWQZcMW4uWR45W6RcHW","W65UCsW","qsBcTmofAM/dOCoLBd0","WQhcKSkvovFdGXNdNwygW4GP","W5aDzmoCbW","WOzXACoCWQa","W4hdP8obzGW","ixVdTXW","W5dcJmoE","WPZdSCo/ia","bsNcVmkb","ivzVWPJcGq","Dmk1heVdRSk4wSo0nSko","rCouba","hHZdMmoDc8kC","WRZcVqKjW7q","W4VcUwbIW5nZvSkD","W6ajxdaJBq","eHnsygy","mslcVSobcq","776Z6kYm5yU95B2H44c56yEm572l44cZ56Ii5RU0","beVcI0Sv","WRxdTSkTuq","WO/dPSoI","W79PA2SbbX8pWRFdGq","W6XMW6BdKSkejuJdVSoNW5G","WR4zjmotW64","B8k5WRRdVSkhf8kz","W7C4WQtdK8orWRBdNdO","WQ9tctxdMa","WQ7dHmoIoMa","WQyAW5W","W447W7RdVmoV","W79SCqjD","ouXWWRtcI8oTd8kt","cZhdU8oAaW","BMVdPG3dQM3cVSk4iSoa","gfldQ8oRxq","AwtdPa8","W77dTCkVrqy","W4ddLCkyvaS","Fw3dTqtdUh3cUG","bdZcR8oXkG","W4pdMqFcM8oR","WQhcSHfZkq","WPjBWP9KEq","W6GFWRD2CW","gmkuWQhdR8kY","WQZdNYqP","kxJdSGZdHNFcU8oN","jK/dLSoGEG","WOGIW77dQCo7rv3dISk1fW","WOj6dHJcVG","WRJdKsm8","u8kBWPVdRmoR","WOKLW4JdRmoUgrFcLW","tKhcTeS","lGhcR8oNk8oQW7XjmCoh","WRfXwSokWP8","qSoseKu","WRmraCogW7K","W7ldGJO","xmoMWR14fa","W7ldMstcLG","hN5JWQDH","W541W7NdMG0/WPyOW7y","gNTmWOTomCkiWRu","W7rbvdGLCHLXwZW","sSo8ng7dSG","lhXwWOrC","W4BdRSkKovK","WQrrW7RdGW","bJBcVCkE","W6uUWQxdL8oqWRFdNcf1aq","vvhcVLa","yHyUWOr1qSkDWRu","WR7dJmoInmo9","sSkrjJJcVG","W5W+uW","WPq6r8kk","iJjlsKG","wZhcP8knrMhdSq","cSkXW54NqSo7m8obW6HxW4S8a2G","vSk5obhcSa","hg97CSoAlW","e2X+WRVcMq","WODcWQNdNSoO","F8kxW5VcNa","WPVdV8osCq","iePoWR0","uhZdUmoyW5WQWQJdHaSzW6hdVG","WOZdOSoIla","W7RcQGuBW7pdKH0","W6BcTHqA","W6CLWRpdNmoiWPFdLdL8","5AAO5yETW5fUcSkwdEw1NoI/IEADTG","xSoRWOT3","W7JcLIhcGSoSW6OCfWhcQG","WRb7WP9P","WRL/WP9PBCorp8kb","jtpdJSoMkW","W6uzWOVdPmo2","WQOStSkmW7ZdMd80W4mA","WQujWQ5J","W6yIWQldIW","d2bsWOzfja","WPNdTSo3p0hdKmo/og7cOa","W60xWQ9HFLy","WODewCoO","xSkrWQhdP8kV","WP9YWRRdKW","WOpdUmoXgSoJ","rthcPCklCq","nZVdMSoPia","xmk/W5tcVM8","WQRdImoPmmofpG","W60xWQC","iWFcQCo4kG","W7JcN3uUWPz7","WQpdI8oBhgG","x0hcG2Cors0cExC","WQHeW7RdKG","W7BcRHaE","W6z5AwxdTq","W6PxW6VdH8kymNldU8kMW4W","WOjTWR/dICoCWR7cR3lcQmoj","W6v4sh7dLq","W4FdKCkrFd4","DmoPbhJdKq","W4zUB0ddVSoBW6nK","A8kQWP3dImoi","W50wWQTVsa","yaNcK8kKyW","s8o3WOvZamk9zSko","gbZdOmohba","WRVdVW7dOSoW","W7GuWR/cHCoFEMRdHmkJW5HTtW","WR/cUIBcO0xdI8kHlq","W7SFWRD9","EW1SA3ldRZSRW5JdGG","WOnPWRRdG8oVWQRcQetcS8oi","W6hcUXywW7JdHWFcVSod","C8k9WQJdSCk9dmko","yNddNZddQa","W7dcTHaAW6xcNv7dTq","W7hdLCowAaBcNq","sgxcINr6","WRS0q8kh","WQHmW7W","WQ7cOqldMSoQWRFdSCo5nCol","WOvxqSoK","WOPNbW","W5yYwCozgCkb","W7BcRmosWPH/","oZVcPmkgWOS","xSksWRNdL8ki","CSkRWOJdISoqWRpdM8otW4NdVW","W7ddVaddNmoQWP/dTSoInCkt","umoiWQ1qgG","F8kXWPJdICo0W6dcGmku","WPvLW6bCWRu","t1vojSkEBmoDWOmkia","vCoebKxcQSkWiCkDW5qG","W6uFFZyKBH1N","pfzoWQe","W63cLmozWPDK","FCoUWQrafW","kwNdSSooFv8","b8k9WR/dT8k+","iMNdR8oC","eedcTa","cJ7cJSklWOS","WPRdTCozfu4","WObxWQRdJ8ouWRG","WRldRrddLa","ACkQWP7dJSokW73cMmkz","W4ZcOLX9W4r0","qspcKmkAA2hdUW","WPdcImocWOigW7jqqmkLsW","DHOXWPe","cd7cRCooWPTVWRpdHqHy","W7ZdP8kYwX0","mIBdMSoEg8kDxW","WP1gW4TzWPC","qCk5aqNcL8oIdSoVAa","iCk8WQZdPSk7","WR4YsCkg","W7VdUmknrHTqWQDr","aXNcLSo0nq","W7P0DsPyw0LfW5VcGG","W5efWRFdGSog","dI1wB3G","WPnex8o6WRpcTCohdW","W7BcQW1S","W7u6v8klW7tdNY9OWOjF","WPrTWR/dHq","W5VdTmo2AIu","W7pcUNrdW6u","WQDYWOP6BmkFomkipSks","W5y4ua","guZcPfeE","WRZdGmo3jConpW","DqeVWPTO","hX3cS8oggq","xSkRW63cV2q","WQG0smkoWONdHYbS","WOvVeHJdPmoV","s8kSW7lcTW","zCoPpeldHG","vmkqWQ7dLmki","D8kVWRhdNSoK","nCocqGbf","WQPwW51nW5v9W7pdOmo4Aq","W6SjrGC2AZzIuJW","vCkQcddcUW","W5VcUur4W7rOva","W6NdUmkSDWHAWQe","W77dV3FdOHVcHSo4cYHdAJBcIG","W5JcNSoe","gSoCwGna","m8oVqdXr","W7GkWQjHBLC","yayUWPW","WQBdOXFdGq","WRPiW7iJlH3cLSkEWPqZW5e/WQe","lCo4qI5g","FCkzWRFdJCo2","WP3cVrpcRwm","WRHxW6FdNG","WRZdUKPnWQBcGc3cSmoibW","A8k9W47cJK4","W6BcUmoCWPDo","WPRcVSoJlLRcGSo0Cx/cVa","mbXQzq","W5ldKHNcV8oP","WRTlWRZdRmoM","WPj6cri","WQxdPaxdH8o9WONdTa","WOfSda","BHhcPCkeAq","x8k7W67cQNLcW6mI","WRZcVsVcO0pdNmkIja","W7hdNsq","WOZdRmoHi0BcN8o6m0BcUW","WRhdHCoYnSol","uIDhWP8","C8kXWPJdN8oBW4BcKG","dhTtWPS","nfzp","EWuBWP97","W6GOWQJdLCoxWQW","chVcHwrAdCoS","W67cG0fhW5S","WRH9BtzxururWQlcQa","WRRdOXm","W7u+t8ognq","WPiHj8o9W6C","W6SSWQhdV8o1","afNcHMKs","ttpcPCkADM7cRCk9nx8","W54GySogoa","WPPYdGC","WRBcNdzjdW","gaNdJSokgSklbSkZixm","W545WObEvG","W77cOxf6W5q","WQPmW6ldLSofoeldOmk8WPC","A8kTWRRdVq","ydyQWPbX","W6TPBG","nf5jWRq","WR/dNCkAk3m","zaBcLSkQva","WOmIW4pdT8oY","WQZcPXb9hw4","DbiPWPu","W6jiW77dLa","WRCrzSksWPK","WPTYeW","WQRdHSoOjq","WR3cVZfEkq","W7GEwZO","WPCAmSoU","afZcIgeugZ8o","BCkXWQ3dSmk3","WPnqxSoH","W5ZcT0D1W4K","WR/cOXy","W6tdLmomBa","nHtcVmoYzq","WRRdMtS4bConeWBcGa","WQOKWRxdNq","WQxdVaJdNmoS","f8ozEZHW","W7pcVbCwW7hdJG","WObkmctdUW","r8k9bHW","WRWwnSoCW4q","Asa2WRDn","lxnFy8o4","WRb1WPXMzCoFkSkeamkv","WRRdNdy6","WPv+fb8","W77dTNxdPH7cJmkRbZPpwdC","BmkEesJcJa","qZuqWRDC","kKFcUNam","WOLUWQxdNG","EW5SzYxdPhe+W4tdKq","WRH/WPnPBG","WRhcRbfzeW","WPBdM8oXWPfzW61aDCk0bG","WR3dSCo6Bu/cNCoRi2a","aNj0","WRvRWRNdRSoA","WRddVCkHe18","W557WQ/dHq","AmkSWQBdVSk9ea","wJxcOSkyDM7dSCoP","kSo1srfx","W7n6DIDC","WQfaWQhcGSoAEWpcOSoMWPW","WR5sW6FdKSkW","kCkVWRhdNq","WPCbW6/dJ8oz","umoyngBdOa","tmkTW67cS3fc","yWhcUCkqBa","W4FcRJmtW7a","W68iWOHzqG","ESolWPn0aa","W4/cO0b+","WOujW77dOmo4gKJcHmk2fq","ieRdJSoAtq","WP3dKSkNpa","WPPYzSoeWQu","W4v+ALVdPW","hd7cUCoDpa","dCoihrj1WQdcImoKfCoj","WRFdImoR","WOukk8oCW7W","WRb2nJi","aINcVmkdWOi","WRHkW6xdLSke","yXONWPeNhSoEW6ddJ34","WR5AW5vbWOHRW7/dPG","W4ZcO1fIW4HUvmkF","W5dcPYeAW4e","i1DCWQFcNCozdmkEWQ/dNa","W7ubWO7dUmoK","fYhcRmkfWOvfWR7dNHac","WPFdUmopbmoA","WRRdMtm","eeFdHtfjcJiyFhy","hCoLxWbE","WRjZWODTvSoEkSknoG","WR9xW5bAWP9hW7G","WQRcOcJcS0NdJq","uZPcWOzf","W7pdGg0","WOOOWQJdMdGeWRqGW6ddSq","u2vvWO5zka","uupcQq","sCklW7pcMhG","W7JdKSorCrldIuZcGx4i","W7RcMmofWQLd","W4qcm8oQW7NdHmoDWPaCiq","WOr7W6ldTSo7cW","W7JdGmk7zdG","Fg3dTX7dVgW","u8krreVcVmoLoq","W43dUGf9WO0UuW","W4u9WQJdRCogWO7cNL4","fx5tWQXa","xSkXWPNdJCk9","fXRdMCopdq","zHO5WPf1C8khWR7cJ04","WRfOCcCBueDwW6RdMa","W6hcQHyjW7pdKG","ySoGWQFdLCk7","nq1UAgpdTxuUW4tdJa","W6VdTSkQuW","W5zkCSk9WRlcMmk3WOaXkCoMW5K","fh1hWOC","WRXEW4njWPD9","W6GnrJy","W79RCIHDv0LvW63cMa","WQ/dV8olnSok","gedcPLbRb8ocWRiI","W5dcOSofWRLL","WRX/WPZdHCoJ","W5q7WRxdV8oU","W7b6z1NdUq","WRVcPYxcOW","WRz0W7lcHmkAW7pdUJbya8kAW7i","cSojqWzOWQFcJCoK","W60IWRFdQSoA","WOansCk0WOi","WPRdMsddGmo8","W7yRWRFdM8oN","W6e/WRtdNCor","WR1PWQzPESoBlSke","WRZcOG8j","WOrkW4VdNmkz","W67dNadcUCo3","fmojxHfZWQe","WPnNWQpdJCozWQ4","W5BcJCovW4XzW6ilu8kKbq","pfbA","oXX6oW","WRJcNsCVnCoxhq","wYxcS8kCChtdRSoP","WOn9WQ7dKSozWR/cT34","W7ZdG8olzHxcMW","mM7cI3i0","WQRcOXfQf3r8W5W","W7vju0ldLa"];return _k=function(){return t},_k()}async function eo(t,e,r,n,s){let i=je,a={awsFi:function(u,l){return u===l},xdPNz:function(u,l){return u(l)},UTrXA:i(621,"#OOi"),wfuDd:i(290,"#*yI")+i(1031,"SAtO")+i(907,"8pjQ"),jLRrY:function(u,l){return u||l},ijsCk:function(u,l){return u||l},fHQqm:i(442,"Fhs#"),qiRMy:function(u,l){return u==l},skXjH:i(1034,"&HYM"),FAtlp:i(827,"2wQi"),qbqwo:i(433,"Noae"),sGMIN:function(u,l){return u!=l},ctInz:function(u,l){return u>l},SEgZP:function(u,l,d,f,p,m){return u(l,d,f,p,m)},EglXb:function(u,l){return u-l}};r=a[i(528,"Gnm8")](r,{}),Object[i(795,"l#VZ")](r,qx),Object[i(941,"9pW6")](r,{Cookie:a[i(830,"TYG3")](Ac,"")}),n=a[i(568,"Fhs#")](n,a[i(1046,"#9Sq")]);let o=a[i(1022,"ZJM)")](n,a[i(902,"WkTr")])?await he[i(768,"Noae")](oLe+"/"+t,{headers:r})[i(697,"SAtO")](u=>{let l=i;return console[l(622,"12Mj")](u),a[l(931,"#*yI")](u?.[l(867,"Zbg9")]?.[l(765,"n7Q^")],-7084+-997*9+-16458*-1)&&a[l(991,"d&OD")](messageToDart,{action:a[l(420,"X3DF")],opt:{message:a[l(696,"!SOK")],duration:5}}),u[l(513,"nwCk")]||{status:500,data:{}}}):await he[i(474,"n7Q^")](oLe+"/"+t,e,{headers:r})[i(481,"JZKQ")](u=>{let l=i;return console[l(397,"i)7i")](u),a[l(1044,"Zbg9")](u?.[l(610,"Wk9#")]?.[l(626,"ZJM)")],-847+-47*55+3833)&&a[l(778,"$&ze")](messageToDart,{action:a[l(323,"tU0H")],opt:{message:a[l(754,"iKSc")],duration:5}}),u[l(435,"CJRF")]||{status:500,data:{}}}),c=a[i(505,"Wk9#")](s,3);if(o[i(287,"Z*@(")][a[i(1056,"e9rC")]]){let u=o[i(337,"yDy^")][a[i(434,"nwCk")]][i(920,"Z*@(")](a[i(1050,"ShO2")])[i(515,"Zbg9")](/__puus=([^;]+)/);u&&a[i(981,"j0Uf")](Ac[i(307,"nwCk")](/__puus=([^;]+)/)[1*9161+-5737*1+-3423],u[1])&&(Ac=Ac[i(919,"ZJM)")](/__puus=[^;]+/,i(377,"#9Sq")+u[4809+-1213*8+4896]),await aG[i(848,"tU0H")](i(764,"240S")+bk,Ac))}return a[i(900,"n7Q^")](o[i(868,"X3DF")],-15987+-288*-57)&&a[i(468,"OZzu")](c,-282+-3*-94)?(await a[i(599,"LY1j")](Gd,1e3),await a[i(680,"#OOi")](eo,t,e,r,n,a[i(926,"d&OD")](c,3561+1780*-2))):o[i(576,"ShO2")]||{}}async function uLe(){let t=je,e={uFILK:function(n,s,i,a,o){return n(s,i,a,o)},lIJHn:t(413,"SAtO"),sJpYs:function(n,s){return n>s},UHqpe:function(n,s,i){return n(s,i)}},r=await e[t(661,"!SOK")](eo,t(461,"!SOK")+Za+t(740,"l#VZ")+kh+(t(648,"iKSc")+t(539,"i)7i")+t(728,"d&OD")+t(357,"tU0H")+t(996,"nwCk")+t(390,"[Gf!")),{},{},e[t(1061,"Gnm8")]);if(r[t(658,"n7Q^")]&&r[t(293,"e9rC")][t(893,"12Mj")]&&e[t(642,"(kco")](r[t(491,"g[c@")][t(709,"lv(Z")][t(814,"#OOi")],1885*-5+-7823+88*196)){let n=await e[t(385,"3GMJ")](eo,t(995,"Noae")+"e?"+Za,{action_type:2,filelist:r[t(658,"n7Q^")][t(709,"lv(Z")][t(797,"Wk9#")](s=>s[t(630,"y2dz")]),exclude_fids:[]});console[t(603,"ZJM)")](n)}}async function QXt(t){let e=je,r={QAdgm:function(s){return s()},vRavl:function(s,i,a,o,c){return s(i,a,o,c)},rwiaZ:e(1003,"ZJM)"),qeBFp:function(s,i){return s===i},JYTWP:function(s){return s()},CXVhz:function(s,i,a){return s(i,a)}};if(kh){t&&await r[e(1017,"#*yI")](uLe);return}let n=await r[e(451,"9pW6")](eo,e(407,"(kco")+Za+(e(352,"j0Uf")+e(824,"#9Sq")+e(752,"OZzu")+e(631,"e9rC")+e(659,"[Gf!")+e(458,"#9Sq")+e(380,"yDy^")),{},{},r[e(517,"!SOK")]);if(n[e(465,"ZJM)")]&&n[e(638,"9pW6")][e(359,"ZJM)")]){for(let s of n[e(619,"8pjQ")][e(784,"SAtO")])if(r[e(520,"tU0H")](s[e(923,"Zbg9")],cLe)){kh=s[e(547,"j9GU")],await r[e(904,"j9GU")](uLe);break}}if(!kh){let s=await r[e(968,"f*1G")](eo,e(674,"12Mj")+Za,{pdir_fid:"0",file_name:cLe,dir_path:"",dir_init_lock:!1});console[e(394,"Noae")](s),s[e(518,"$&ze")]&&s[e(790,"YypP")][e(651,"nwCk")]&&(kh=s[e(726,"nwCk")][e(722,"ZJM)")])}}async function uG(t){let e=je,r={VhhzS:function(n,s,i){return n(s,i)}};if(!Yd[t[e(845,"8pjQ")]]){delete Yd[t[e(679,"[(4C")]];let n=await r[e(326,"WkTr")](eo,e(393,"e9rC")+e(737,"e9rC")+"n?"+Za,{pwd_id:t[e(687,"Gnm8")],passcode:t[e(653,"ZJM)")]||""});n[e(658,"n7Q^")]&&n[e(1064,"j9GU")][e(371,"JZKQ")]&&(Yd[t[e(1005,"12Mj")]]=n[e(580,"240S")])}}var GXt=[je(1018,"8pjQ"),je(955,"Wk9#"),je(511,"[Gf!"),je(933,"Fhs#"),je(825,"TYG3")];async function VXt(t){let e=je,r={rvOXd:function(c,u){return c||u},WBqHK:function(c,u){return c||u},dwUxU:function(c,u,l,d,f){return c(u,l,d,f)},FGtwJ:function(c,u){return c(u)},LVGBM:e(437,"LY1j"),unoDZ:function(c,u){return c===u},RoivM:function(c,u){return c===u},kligc:function(c,u){return c===u},TyDZS:e(1024,"tU0H"),QVRsV:function(c,u){return c===u},dvKLY:e(552,"iKSc"),OHgAP:function(c,u){return c===u},ytsiQ:e(374,"i)7i"),HYBLz:function(c,u){return c(u)},IGPrC:function(c,u){return c===u},vOUNB:e(479,"yDy^"),oagMV:function(c,u,l){return c(u,l)},XepWO:function(c,u){return c&&u},dWoxJ:function(c,u){return c===u},aMOYZ:e(620,"j9GU"),HJdME:function(c,u){return c<u},RrbLy:function(c,u){return c*u},Phvkw:function(c,u){return c<u},ocIag:function(c,u){return c/u},oKLEK:function(c,u){return c+u},DTJbV:function(c,u){return c===u},BapfU:e(300,"Fhs#"),OBFfb:function(c,u){return c(u)},UGukS:function(c,u){return c(u)},NwhKa:function(c,u){return c>u}},n=r[e(403,"tU0H")](typeof t,r[e(645,"CJRF")])?r[e(1051,"ShO2")](pLe,t):t;if(!n)return[];if(await r[e(629,"2wQi")](uG,n),!Yd[n[e(432,"j0Uf")]])return[];let s=[],i=[],a=(c,u)=>c?c+"/"+u:u,o=async function(c,u,l,d){let f=e,p=r[f(367,"&HYM")](d,""),m=100;l=r[f(747,"!SOK")](l,1);let h=await r[f(950,"$n0Q")](eo,f(738,"n7Q^")+f(682,"!SOK")+f(963,"Wk9#")+Za+f(1060,"8pjQ")+c+f(628,"ljNd")+r[f(1041,"&HYM")](encodeURIComponent,Yd[c][f(850,"YypP")])+f(999,"&HYM")+u+(f(448,"Zbg9")+f(484,"$n0Q"))+l+f(733,"9pW6")+m+(f(667,"ZJM)")+f(527,"OZzu")+f(985,"$&ze")+f(1033,"ShO2")),{},{},r[f(467,"nwCk")]);if(!h[f(529,"#OOi")])return[];let A=h[f(431,"d&OD")][f(804,"#9Sq")];if(!A)return[];let g=[];for(let b of A){let y=r[f(703,"OZzu")](b[f(443,"ZJM)")],!0)||r[f(360,"SAtO")](b[f(343,"!SOK")],1)||r[f(922,"Fhs#")](b[f(681,"Noae")],r[f(961,"YypP")])||r[f(807,"[(4C")](b[f(288,"Z*@(")],r[f(524,"WkTr")]),x=r[f(404,"yDy^")](b[f(502,"y2dz")],!0)||r[f(965,"d&OD")](b[f(291,"lv(Z")],-6234+-1*-2705+3530)||r[f(439,"n7Q^")](b[f(748,"240S")],r[f(1055,"Wk9#")]),v=r[f(327,"nwCk")](jXt,b[f(677,"&HYM")]),C=r[f(836,"Z*@(")](b[f(762,"j0Uf")+"ry"],r[f(275,"TYG3")])||v;if(y)g[f(417,"i)7i")]({fid:b[f(311,"WkTr")],path:r[f(452,"3GMJ")](a,p,b[f(485,"j9GU")])});else if(r[f(492,"9pW6")](x,C)){if(r[f(870,"TYG3")](typeof b[f(616,"i)7i")],r[f(887,"e9rC")])&&r[f(295,"#9Sq")](b[f(975,"#*yI")],r[f(318,"2wQi")](r[f(695,"#*yI")](12788+11764*-1,4025+-1684*-5+-141*81),-1330+-1335*-1)))continue;b[f(723,"$n0Q")]=Yd[n[f(672,"[Gf!")]][f(723,"$n0Q")],b[f(890,"!SOK")]=p,s[f(480,"l#VZ")](b)}else x&&GXt[f(663,"#OOi")](R=>String(b[f(550,"e9rC")]||"")[f(921,"CJRF")](R))&&i[f(305,"y2dz")](b)}if(r[f(1080,"Fhs#")](l,Math[f(497,"d&OD")](r[f(833,"ljNd")](h[f(294,"e9rC")][f(940,"Gnm8")],m)))){let b=await r[f(455,"Noae")](o,c,u,r[f(956,"WkTr")](l,1),p);for(let y of b)A[f(462,"yDy^")](y)}for(let b of g){let y=await r[f(953,"SAtO")](o,c,b[f(929,"CJRF")],1,b[f(333,"WkTr")]);for(let x of y)A[f(811,"WkTr")](x)}return A};return await r[e(714,"y2dz")](o,n[e(891,"TYG3")],n[e(1077,"Fhs#")],-98*-7+827*12+-1*10609,""),r[e(977,"TYG3")](i[e(347,"Noae")],772*-7+4793+611)&&s[e(937,"240S")](c=>{let u=e;var l=r[u(757,"X3DF")](ml,c,i);l[u(379,"g[c@")]&&(c[u(607,"[Gf!")]=l[u(875,"n7Q^")][u(469,"Wk9#")])}),s}async function lG(t){let e=je,r={oJApC:function(s,i,a){return s(i,a)}};if(!t)return null;let n=await r[e(472,"f*1G")](eo,e(650,"X3DF")+e(604,"TYG3")+Za,{fids:[t]});return Array[e(838,"i)7i")](n?.[e(470,"i)7i")])&&n[e(286,"&HYM")][-727*-13+-4701+4750*-1]?.[e(710,"#*yI")+"rl"]?n[e(726,"nwCk")][227*-3+6373*-1+7054]:null}function lu(t,e){let r=_k();return lu=function(n,s){n=n-267;let i=r[n];if(lu.qPCXux===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};lu.SutKMT=l,t=arguments,lu.qPCXux=!0}let o=r[-6611+-12*-131+5039],c=n+o,u=t[c];return u?i=u:(lu.ixDlWv===void 0&&(lu.ixDlWv=!0),i=lu.SutKMT(i,s),t[c]=i),i},lu(t,e)}async function zXt(t){let e=je,r={ZjbXe:function(s,i,a){return s(i,a)},aTMVU:e(992,"Fhs#")+e(315,"[(4C")+e(566,"JZKQ"),wbaKs:e(637,"tU0H")};if(!t)return null;let n=await r[e(1037,"9pW6")](eo,e(1010,"WkTr")+e(841,"tU0H")+Za,{fid:t,resolutions:r[e(296,"3GMJ")],supports:r[e(1032,"[(4C")]});return Array[e(625,"YypP")](n?.[e(726,"nwCk")]?.[e(781,"f*1G")])?n[e(839,"Gnm8")][e(545,"ljNd")]:null}async function mLe(t,e="0",r=921+-409*-8+-4192){let n=je,s={QUrQz:function(o,c){return o(c)},rZUvQ:function(o,c,u,l,d){return o(c,u,l,d)},LUDud:function(o,c){return o||c},IDgVH:n(482,"Wk9#")};await s[n(447,"JZKQ")](kv,t);let i=Number[n(387,"l#VZ")](r,-25*-1+-9676+-1*-9661)||-3*-813+45*147+-9053,a=await s[n(715,"!SOK")](eo,n(822,"Wk9#")+Za+n(721,"Noae")+s[n(916,"2wQi")](encodeURIComponent,s[n(593,"j0Uf")](e,"0"))+n(906,"TYG3")+i+(n(1008,"y2dz")+n(735,"240S")+n(828,"WkTr")+n(897,"Fhs#")+n(829,"Noae")),{},{},s[n(1065,"YypP")]);return Array[n(372,"nwCk")](a?.[n(303,"l#VZ")]?.[n(456,"d&OD")])?a[n(744,"3$u9")][n(986,"OZzu")]:[]}var g0={};async function KXt(){let t=je,e={ndmcZ:function(i,a){return i||a},VfRtD:t(581,"Zbg9")+t(772,"Zbg9"),YZQtO:t(351,"YypP")+t(1013,"nwCk")+t(389,"f*1G")+t(756,"f*1G")+t(863,"OZzu")+t(872,"Fhs#")+t(555,"y2dz")+t(888,"X3DF")+t(427,"&HYM")+t(760,"e9rC")+t(297,"f*1G")+"19",KRSkD:function(i,a){return i===a},xrJee:function(i,a){return i===a}},r=Date[t(884,"e9rC")](),n=Object[t(489,"Z*@(")]({Cookie:e[t(816,"8pjQ")](Ac,""),"Content-Type":e[t(689,"Wk9#")]},qx),s=await he[t(418,"j0Uf")](e[t(355,"(kco")],{conversation_id:t(773,"OZzu")+r,conversation_type:3,msg_id:r+t(346,"Noae")},{headers:n})[t(537,"ljNd")](i=>{let a=t;return console[a(397,"i)7i")](i),i[a(513,"nwCk")]||{status:500,data:{}}});return e[t(391,"#*yI")](s?.[t(279,"12Mj")],-2*629+25*-127+4633)&&e[t(1002,"iKSc")](s?.[t(647,"CJRF")]?.[t(972,"f*1G")],-7*-157+2116+-3015)&&e[t(649,"tU0H")](s?.[t(643,"OZzu")]?.[t(342,"f*1G")],0)&&s?.[t(428,"TYG3")]?.[t(529,"#OOi")]?.[t(982,"JZKQ")]||""}async function hLe(t,e,r,n){let s=je,i={PvsMM:function(l,d){return l||d},dUnBn:function(l,d){return l(d)},GtfEf:function(l){return l()},JEZmJ:function(l,d){return l||d},kABNb:s(575,"TYG3")+s(761,"YypP"),DjIHd:function(l,d){return l===d}};if(i[s(586,"3GMJ")](!t,!r)||!n||(!e&&(await i[s(558,"CJRF")](uG,{shareId:t}),e=Yd[t]?.[s(512,"yDy^")]||""),!e))return null;let a={fids:[r],fids_token:[n],pwd_id:t,stoken:e,speedup_session:""},o=await i[s(987,"i)7i")](KXt);o&&(a[s(894,"ljNd")]=o);let c=Object[s(521,"CJRF")]({Cookie:i[s(783,"y2dz")](Ac,""),"Content-Type":i[s(1079,"tU0H")]},qx),u=await he[s(1059,"j9GU")](s(949,"8pjQ")+s(602,"SAtO")+s(763,"yDy^")+s(774,"f*1G")+s(945,"ljNd")+s(746,"Gnm8")+Za,a,{headers:c})[s(1057,"WkTr")](l=>{let d=s;return console[d(595,"3GMJ")](l),l[d(270,"i)7i")]||{status:500,data:{}}});return i[s(429,"LY1j")](u?.[s(416,"WkTr")],9589*-1+1279*-4+14905)&&u?.[s(962,"12Mj")]?.[s(1074,"LY1j")]?.[-1*7603+-1*-5752+3*617]?.[s(438,"&HYM")+"rl"]?u[s(744,"3$u9")][s(316,"!SOK")][-7001+-794*4+10177]:null}async function gLe(t,e,r,n,s){let i=je,a={kqOJf:function(c,u){return c(u)},QiUwO:function(c,u){return c(u)},bpjuG:function(c,u,l){return c(u,l)},OixxX:i(842,"Gnm8"),ZKbJd:function(c,u,l,d,f){return c(u,l,d,f)},RYygP:i(855,"#*yI"),nABrE:function(c,u){return c>u},iMTEd:function(c,u){return c(u)}};if(await a[i(668,"8pjQ")](QXt,s),s){let c=Object[i(269,"3$u9")](g0);for(let u of c)delete g0[u]}if(!kh||!e&&(await a[i(635,"lv(Z")](uG,{shareId:t}),!Yd[t]))return null;let o=await a[i(414,"X3DF")](eo,i(750,"g[c@")+i(878,"i)7i")+"?"+Za,{fid_list:[r],fid_token_list:[n],to_pdir_fid:kh,pwd_id:t,stoken:e||Yd[t][i(401,"d&OD")],pdir_fid:"0",scene:a[i(450,"Noae")]});if(o[i(576,"ShO2")]&&o[i(647,"CJRF")][i(623,"9pW6")]){let c=0;for(;;){let u=await a[i(532,"$n0Q")](eo,i(1063,"d&OD")+Za+i(583,"3$u9")+o[i(675,"yDy^")][i(1038,"yDy^")]+(i(319,"!SOK")+i(554,"LY1j"))+c,{},{},a[i(514,"X3DF")]);if(u[i(428,"TYG3")]&&u[i(805,"2wQi")][i(853,"#OOi")]&&u[i(580,"240S")][i(883,"Zbg9")][i(335,"[Gf!")+i(368,"[Gf!")]&&a[i(684,"!SOK")](u[i(491,"g[c@")][i(276,"nwCk")][i(905,"j0Uf")+i(820,"240S")][i(600,"X3DF")],0))return u[i(666,"tU0H")][i(957,"12Mj")][i(685,"l#VZ")+i(770,"WkTr")][1*-5793+8328+-2535];if(c++,a[i(751,"2wQi")](c,5))break;await a[i(272,"g[c@")](Gd,1e3)}}return!1}async function ALe(t,e,r,n){let s=je,i={AGarR:function(o,c){return o===c},INrNi:s(932,"[(4C"),AljpA:function(o,c){return o(c)},vqSzx:function(o,c,u,l,d,f){return o(c,u,l,d,f)},FcSTX:function(o,c,u){return o(c,u)},ddZjf:s(704,"j9GU")+s(802,"8pjQ")+s(565,"tU0H"),IKbzf:s(967,"n7Q^")};if(i[s(609,"[(4C")](t,i[s(510,"#OOi")]))return await i[s(817,"ljNd")](zXt,r);if(!g0[r]){let o=await i[s(846,"LY1j")](gLe,t,e,r,n,!0);if(!o)return null;g0[r]=o}let a=await i[s(425,"CJRF")](eo,s(613,"Zbg9")+s(718,"SAtO")+Za,{fid:g0[r],resolutions:i[s(1073,"lv(Z")],supports:i[s(664,"f*1G")]});return a[s(767,"[(4C")]&&a[s(1021,"ljNd")][s(885,"g[c@")]?a[s(666,"tU0H")][s(823,"e9rC")]:null}async function dG(t,e,r,n,s){let i=je,a={zcsdc:function(c,u){return c===u},tlIPs:i(1019,"SAtO"),csGuO:function(c,u){return c(u)},EiPXe:function(c,u,l,d,f,p){return c(u,l,d,f,p)},ReynP:function(c,u,l){return c(u,l)}};if(a[i(570,"#9Sq")](t,a[i(976,"SAtO")]))return await a[i(964,"e9rC")](lG,r);if(!g0[r]){let c=await a[i(569,"yDy^")](gLe,t,e,r,n,s);if(!c)return null;g0[r]=c}let o=await a[i(960,"Gnm8")](eo,i(732,"#9Sq")+i(641,"CJRF")+Za,{fids:[g0[r]]});return o[i(619,"8pjQ")]?o[i(317,"Z*@(")][-3530+-49*19+4461]:null}async function YXt(t,e,r,n,s){let i=je,a={AVkfp:function(c,u){return c===u},TPQhk:i(918,"y2dz"),pEwdk:function(c,u){return c(u)},LwPcS:function(c,u,l,d,f){return c(u,l,d,f)},drNsq:function(c,u,l,d,f,p){return c(u,l,d,f,p)}};if(a[i(860,"$n0Q")](t,a[i(736,"ShO2")]))return await a[i(463,"i)7i")](lG,r);let o=await a[i(585,"[Gf!")](hLe,t,e,r,n);return o?.[i(438,"&HYM")+"rl"]?o:await a[i(731,"9pW6")](dG,t,e,r,n,s)}async function yLe(t){let e=je,r={ZPHkr:function(n,s){return n(s)},IWbyV:e(559,"#*yI")+e(701,"g[c@"),BhEeW:function(n,s){return n(s)},ZogOE:function(n,s,i){return n(s,i)},edqLC:e(912,"n7Q^")};if(r[e(662,"lv(Z")](pk,r[e(348,"SAtO")])){let n=r[e(386,"TYG3")](pLe,t);if(n){let s=await r[e(494,"12Mj")](VXt,n);return s=s[e(534,"n7Q^")](i=>{let a=e;return{vod_id:[n[a(973,"#9Sq")],i[a(706,"#OOi")],i[a(273,"Noae")],i[a(543,"ZJM)")+a(730,"#OOi")],i[a(370,"YypP")]?i[a(541,"JZKQ")][a(799,"i)7i")]:"",i[a(332,"iKSc")]?i[a(606,"nwCk")][a(813,"l#VZ")+a(538,"!SOK")]:""][a(812,"2wQi")]("*"),vod_name:i[a(1004,"X3DF")],vod_size:i[a(660,"2wQi")],vod_group:i[a(749,"YypP")]}}),r[e(693,"$&ze")](Os,await r[e(542,"Z*@(")](dLe,r[e(934,"9pW6")]),s)}else return{}}}var Ek={},Lh={},lLe={},sG=(-8125+-2*2281+13711)*(6205*-1+-35*-37+5422),fG=(1*-2969+-733*-1+-652*-5)*(6088+2*-2916);function oG(){let t=je;return(globalThis[t(837,"f*1G")]||[])[t(381,"f*1G")](r=>r[t(914,"l#VZ")]===t(800,"(kco"))||{}}function JXt(t){let e=je,r={jAmZW:function(n,s){return n<s},phoQD:function(n,s){return n>=s},uVPgb:function(n,s){return n===s},KCpJV:function(n,s){return n===s},wWeVQ:function(n,s){return n===s},TKmnk:function(n,s){return n===s},YQjKK:function(n,s){return n===s},EcuHj:e(935,"YypP"),PkJCY:function(n,s){return n===s},VCOjz:e(313,"JZKQ"),waqSx:function(n,s){return n===s},KOYGI:e(1009,"f*1G"),UGCBP:e(282,"CJRF"),AwBlu:function(n,s){return n===s},sOLpM:e(821,"#OOi"),Lmike:function(n,s){return n===s},Zslfa:function(n,s){return n===s}};if(!t||r[e(966,"OZzu")](t[e(678,"Fhs#")],1*-3863+-1024+-4891*-1))return!1;if(r[e(801,"8pjQ")](t[e(612,"n7Q^")],-5093+3*517+3550)&&r[e(582,"n7Q^")](t[8911+53*83+-13310],-2*-3448+265*-19+-1724)&&r[e(415,"X3DF")](t[-16808+-3*-5603],577*-3+1587+7*32)&&r[e(563,"ShO2")](t[4253*-1+-6301+-28*-377],283*-10+1*-6791+9699)&&r[e(1030,"$n0Q")](t[-55*-106+8692+-14519],-8299+-2*-816+6738)&&r[e(815,"2wQi")](t[4],17723+-1771*10)&&r[e(943,"nwCk")](t[6605+6600*-1],4477+1*-3387+-1080)&&r[e(859,"Fhs#")](t[8249+-5*1202+2233*-1],26)&&r[e(519,"OZzu")](t[7565+8*32+2*-3907],-18607+-1*-18617)||r[e(745,"240S")](t[3*-1041+5125+-2002],545*1+-41*-219+-9269)&&r[e(430,"[Gf!")](t[-745*5+-3*-953+51*17],39*91+-2908+-425)&&r[e(306,"n7Q^")](t[-4723*2+3573+5875],37*-131+3*-547+6743))return!0;if(r[e(615,"(kco")](t[e(608,"#*yI")],6)){let n=t[e(328,"lv(Z")](0,6)[e(1027,"JZKQ")](r[e(719,"8pjQ")]);if(r[e(993,"$&ze")](n,r[e(702,"i)7i")])||r[e(851,"e9rC")](n,r[e(669,"ShO2")]))return!0}return r[e(742,"YypP")](t[e(600,"X3DF")],11941+151*-79)&&r[e(789,"3$u9")](t[e(478,"[(4C")](17*-317+-3884*-2+-2379,-7942+-3761*-2+53*8)[e(832,"#9Sq")](r[e(560,"SAtO")]),r[e(826,"2wQi")])&&r[e(460,"JZKQ")](t[e(908,"#9Sq")](-3*168+-2847*-1+1*-2335,3*-3183+-9446+-1*-19007)[e(880,"n7Q^")](r[e(509,"[Gf!")]),r[e(886,"ljNd")])?!0:r[e(705,"ShO2")](t[0],-15059+-25*-605)&&r[e(349,"ljNd")](t[-39*94+7369+1*-3702],-9292*1+-7394+16763*1)}function XXt(t){let e=je,r={EHNBr:function(s,i){return s-i},vQMWz:function(s,i){return s+i},zjEgn:function(s,i){return s<=i},YFRvR:function(s,i){return s===i},lLNrA:function(s,i){return s===i},LlGUD:function(s,i){return s+i},XCfLD:function(s,i){return s===i},jJSbj:function(s,i){return s>=i}},n=Math[e(947,"l#VZ")](r[e(769,"[(4C")](t[e(445,"3GMJ")],5188+-20*259),r[e(341,"3$u9")](fG,-2067*1+-1663*-1+4500));for(let s=1*-2823+699*-13+-11911*-1;r[e(911,"Zbg9")](s,n);s++)if(r[e(974,"[Gf!")](t[r[e(490,"d&OD")](s,1679+-25*67)],119*17+1851+46*-82)&&r[e(954,"&HYM")](t[r[e(834,"3$u9")](s,-2735*2+9936+-4461)],-383*-10+-749*11+4525)&&r[e(892,"9pW6")](t[r[e(392,"JZKQ")](s,-7907+-41*-193)],8577+-1*8737+1*281)&&r[e(780,"lv(Z")](t[r[e(808,"240S")](s,1877*3+8413*-1+2789)],-1*2174+-3449+-1*-5735)){let i=t[e(865,"n7Q^")+"BE"](s);if(r[e(1015,"Noae")](i,9494*-1+5*1034+4*1083))return s}return-(-1*8247+-15*237+11803)}function ZXt(t){let e=je,r={mxZXq:e(734,"tU0H"),QEQdD:function(i,a){return i>a},nZTSw:function(i,a){return i<=a},BItfr:function(i,a){return i+a},ROUhI:function(i,a){return i===a},ABXkX:e(691,"ShO2"),Sqswm:e(283,"n7Q^"),WbGMr:function(i,a){return i+a}},n=Buffer[e(698,"X3DF")](r[e(338,"8pjQ")]),s=t[e(927,"240S")](n,1*4607+-2121*3+251*7);for(;r[e(673,"ljNd")](s,9042+-8347*1+695*-1);){if(r[e(457,"Wk9#")](r[e(1053,"$n0Q")](s,-7055+-2*-2883+1301),t[e(700,"TYG3")])&&r[e(938,"JZKQ")](t[e(1039,"3GMJ")](r[e(776,"(kco")](s,1387+1504*5+-8899),r[e(525,"lv(Z")](s,-227*-14+-1*-7559+-10725))[e(382,"ShO2")](r[e(611,"2wQi")]),r[e(854,"2wQi")]))return s;s=t[e(441,"YypP")](n,r[e(1071,"9pW6")](s,-2293*-4+-102*64+2643*-1))}return-(8986*-1+7*1094+1329)}function eZt(t){let e=je,r={iFAKc:function(s,i){return s-i},ouKNw:function(s,i){return s+i},YHtFY:function(s,i){return s<=i},IYsQY:function(s,i){return s===i},XVnVX:function(s,i){return s===i},wmdRH:function(s,i){return s+i},eySDQ:function(s,i){return s===i}},n=Math[e(473,"d&OD")](r[e(819,"TYG3")](t[e(928,"d&OD")],67*103+9538+16063*-1),r[e(488,"X3DF")](fG,8149+-21*113+-5588));for(let s=-45*-27+-35+3*-393;r[e(1040,"d&OD")](s,n);s++)if(r[e(727,"Noae")](t[s],4797*-2+61*-73+6*2353)&&r[e(592,"f*1G")](t[r[e(936,"#*yI")](s,4269+-26*233+1977*1)],-1*-4468+9845+-14242)&&r[e(475,"Wk9#")](t[r[e(831,"yDy^")](s,376)],6947+6876*-1))return s;return-1}function tZt(t){let e=je,r={AVTDC:function(i,a){return i(a)},LPkLu:function(i,a){return i(a)},ElCRe:e(1042,"OZzu"),LeeRg:function(i,a){return i<=a},KTera:function(i,a){return i>a}};if(!r[e(657,"TYG3")](JXt,t))return 0;let n=[r[e(917,"ZJM)")](XXt,t),t[e(720,"Wk9#")](Buffer[e(402,"CJRF")](r[e(361,"lv(Z")]),1),t[e(798,"$&ze")](Buffer[e(345,"l#VZ")]([3797+3*-1257,49*-52+3*2194+1*-3965,-331*29+2234+7588,-44*-174+-677+-284*24]),-1*-4355+-1*-269+-4623*1),r[e(873,"12Mj")](ZXt,t),r[e(787,"&HYM")](eZt,t)][e(302,"WkTr")](i=>Number[e(984,"$n0Q")](i)&&i>-7451+610*-8+12331);if(!n[e(1028,"240S")])return 1*725+-7674+6949;let s=Math[e(508,"12Mj")](...n);return r[e(818,"ZJM)")](s,8611+-1362*-7+-18145)||r[e(711,"n7Q^")](s,fG)?1871*4+58*-121+-466:s}async function rZt(t){let e=je,r={Qyzqm:e(713,"&HYM")+"r",gMAgW:function(a,o){return a*o},DMEnH:function(a,o){return a+o},gkydC:function(a,o){return a||o},EJpBP:function(a,o){return a-o},FnIvE:function(a,o){return a(o)},msjWh:function(a,o){return a>o},SFMCF:function(a,o){return a>o}};if(!t)return{isMasked:!1,skipBytes:0};let n=await he[e(768,"Noae")](t,{responseType:r[e(378,"(kco")],timeout:r[e(688,"Wk9#")](-4*-1412+451*12+-10060,2564+18*-142),maxContentLength:r[e(1001,"tU0H")](sG,-93*2+7860+-6650),maxBodyLength:r[e(1001,"tU0H")](sG,-2445+119*-17+5492),headers:Object[e(340,"#*yI")]({Cookie:r[e(997,"l#VZ")](Ac,""),Range:e(339,"Z*@(")+r[e(350,"yDy^")](sG,-4521+-977*6+8*1298)},qx)})[e(670,"8pjQ")](a=>{let o=e;return console[o(312,"$n0Q")](a),a[o(590,"X3DF")]||null});if(!n||!n[e(303,"l#VZ")])return{isMasked:!1,skipBytes:0};let s=Buffer[e(1066,"OZzu")](n[e(647,"CJRF")])?n[e(369,"j0Uf")]:Buffer[e(796,"[Gf!")](n[e(638,"9pW6")]),i=r[e(466,"#OOi")](tZt,s);return{isMasked:r[e(330,"j0Uf")](i,321+413*8+-125*29),skipBytes:r[e(500,"i)7i")](i,-12527+-12527*-1)?i:-81*-108+-8249+-499}}async function cG(t,e){let r=je,n={yLyzN:function(o,c){return o||c},kvFka:function(o,c){return o===c},mpMdG:function(o,c){return o(c)}};if(n[r(903,"Wk9#")](!t,!e))return{isMasked:!1,skipBytes:0};let s=lLe[t];if(s&&n[r(444,"i)7i")](s[r(410,"JZKQ")],e))return s;let i=await n[r(405,"YypP")](rZt,e),a={downUrl:e,isMasked:n[r(366,"ljNd")](i[r(1045,"ZJM)")],!0),skipBytes:i[r(909,"SAtO")]||-9379+770*-10+-5693*-3};return lLe[t]=a,a}async function Sk(t,e){let r=je,n={gFKwU:function(c,u){return c(u)},KHMQB:function(c,u){return c==u},lexag:r(531,"2wQi"),GXCKN:function(c,u){return c==u},oYuXL:r(708,"#9Sq"),HIIlb:function(c,u,l,d,f){return c(u,l,d,f)},aymWw:function(c,u){return c(u)},YhhQA:function(c){return c()},qaIdy:function(c,u){return c===u},BjyyT:function(c,u,l,d,f,p){return c(u,l,d,f,p)},deyeU:function(c,u){return c(u)},ueJlj:r(759,"f*1G"),MQTUr:function(c,u,l,d,f,p){return c(u,l,d,f,p)},HoEos:function(c,u){return c(u)},ySkCW:r(301,"&HYM")+r(507,"&HYM"),CSCna:function(c,u){return c==u},GKdmK:r(540,"(kco"),vvzMa:function(c,u,l){return c(u,l)},aZxIN:function(c,u){return c==u},OBcUV:function(c,u,l,d,f,p,m){return c(u,l,d,f,p,m)},EjBPu:function(c,u){return c*u},CJOrV:function(c,u){return c*u}};await n[r(421,"YypP")](kv,t);let s=t[r(792,"ShO2")][r(477,"9pW6")],i=t[r(676,"#*yI")][r(588,"iKSc")],a=t[r(310,"n7Q^")][r(551,"(kco")],o=t[r(579,"(kco")][r(803,"Z*@(")];if(n[r(899,"l#VZ")](s,n[r(504,"e9rC")])){let c="",u=o[r(453,"[(4C")]("*"),l=t[r(990,"j9GU")][r(496,"j9GU")];if(n[r(785,"i)7i")](i,n[r(584,"SAtO")])){!Ek[u[-33*191+-9384+15688]]&&(Ek[u[-9879+241*37+963]]=(await n[r(694,"3$u9")](ALe,a,n[r(535,"9pW6")](decodeURIComponent,u[-4871+-6*1534+25*563]),u[4033*2+-7326*-1+-1*15391],u[-2*-3817+-7834+101*2]))[r(396,"n7Q^")](A=>A[r(1047,"8pjQ")])),c=Ek[u[-7815+5*-669+11161]][r(915,"CJRF")](A=>A[r(881,"Gnm8")][r(633,"e9rC")+"e"]()==l)[-835*-1+6202+-1*7037][r(571,"i)7i")][r(847,"tU0H")],e[r(725,"f*1G")](c);return}else{let A=n[r(398,"$n0Q")](oG),g=n[r(309,"CJRF")](A[r(879,"#*yI")],!0);if(!Lh[u[-1889*2+-7677+-2*-5728]]){let b=g?await n[r(636,"Gnm8")](YXt,a,n[r(271,"n7Q^")](decodeURIComponent,u[0]),u[1],u[2],n[r(314,"&HYM")](l,n[r(639,"$n0Q")])):await n[r(546,"n7Q^")](dG,a,n[r(598,"!SOK")](decodeURIComponent,u[0]),u[1],u[2],n[r(944,"$n0Q")](l,n[r(329,"#9Sq")]));b?.[r(384,"Zbg9")+"rl"]&&(Lh[u[-961*10+-541+-8*-1269]]=b)}if(c=Lh[u[-8921+-93*-10+9*888]]?.[r(495,"e9rC")+"rl"],!c){e[r(1070,"tU0H")](648*-2+-1*-4803+1*-3007),e[r(840,"e9rC")](n[r(493,"i)7i")]);return}if(n[r(280,"ZJM)")](l,n[r(652,"e9rC")])){e[r(324,"2wQi")](c);return}}let d=n[r(724,"8pjQ")](oG),f=d[r(289,"3GMJ")]||-6636+-604*-1+6544,p=d[r(400,"f*1G")]||-11*102+1*9511+-133*63,m=await n[r(409,"g[c@")](cG,u[-1*-6421+-1055*-1+-7475],c),h=m[r(358,"240S")]&&n[r(1007,"ZJM)")](l,n[r(278,"g[c@")])?m[r(617,"#*yI")]:165*-25+-5931+8*1257;return await n[r(499,"g[c@")](Wx,t,e,c,u[-12460+733*17],Object[r(864,"g[c@")]({Cookie:Ac},qx),{chunkSize:n[r(989,"$n0Q")](-27*-201+1*5559+2*-4981,f),poolSize:p,timeout:n[r(998,"12Mj")](11679+59*-181,-1*-9879+-2724+-5*1429),skipBytes:h})}}async function vk(t,e){let r=je,n={HFONW:function(c,u){return c(u)},RTwCI:function(c,u){return c(u)},MnrvB:function(c,u){return c(u)},UaWlf:function(c,u){return c(u)},Dqlpu:r(655,"yDy^"),ioqXy:function(c,u){return c+u},yKaaQ:function(c,u){return c+u},yWKMs:r(334,"TYG3")+"rk",ZBpBN:function(c){return c()},UZdSg:function(c,u){return c===u},wJexX:r(557,"3$u9"),bwcBv:function(c,u,l,d,f){return c(u,l,d,f)},EIhrw:function(c,u,l){return c(u,l)},bjCHJ:function(c,u,l,d,f,p){return c(u,l,d,f,p)},rfqiD:function(c,u,l){return c(u,l)},hJJBh:function(c,u,l,d,f){return c(u,l,d,f)},zNvjz:r(399,"CJRF"),QsCWY:r(578,"Fhs#"),qLHJG:r(449,"j0Uf"),UZlyo:r(777,"9pW6"),ccode:function(c){return c()}};await n[r(406,"X3DF")](kv,t);let s=t[r(970,"X3DF")][r(1049,"8pjQ")],i=t[r(299,"3GMJ")].id,a=i[r(690,"&HYM")]("*"),o=-3873+-1291*-3;if(s[r(983,"y2dz")](await n[r(523,"Z*@(")](dLe,n[r(587,"2wQi")]))){let c=n[r(591,"3GMJ")](n[r(958,"d&OD")](n[r(810,"$&ze")](HXt,t),t[r(1025,"#9Sq")][r(791,"#OOi")]),n[r(530,"l#VZ")]),u={parse:0,url:[],header:Object[r(971,"yDy^")]({Cookie:Ac},qx)};a[6190+-65*-131+14701*-1]&&(u[r(979,"l#VZ")]={subt:c+r(373,"SAtO")+a[-1062*8+-2487+-21*-523]+"/"+n[r(1054,"LY1j")](encodeURIComponent,a[-1*-4021+1583*-2+-854])+"*"+a[-277*-11+-1310+1*-1733]+"*"+a[147*-53+-1752+9548]+r(574,"$&ze")});let l=n[r(308,"#9Sq")](oG),d=n[r(959,"12Mj")](l[r(913,"(kco")],!0),f=u[r(464,"Zbg9")],p=()=>{let y=r;f[y(462,"yDy^")]("\u4EE3\u7406"),f[y(1067,"3$u9")](c+y(572,"Zbg9")+a[0]+"/"+n[y(322,"ShO2")](encodeURIComponent,a[-4140+837*-2+5815*1])+"*"+a[2]+"*"+a[-6898+-4505*-2+-3*703]+y(766,"TYG3"))},m=()=>{let y=r;f[y(284,"ZJM)")]("\u4EE3\u7406"),f[y(930,"OZzu")](c+y(946,"Gnm8")+a[-9576+3*737+7365]+"/"+n[y(1069,"l#VZ")](encodeURIComponent,a[8215+-183*-50+-5788*3])+"*"+a[-250*37+-5472*-1+-21*-180]+"*"+a[2*-776+6*1599+-8039]+y(553,"Fhs#")),f[y(417,"i)7i")]("\u539F\u753B"),f[y(1012,"Zbg9")](c+(y(503,"TYG3")+y(627,"12Mj"))+a[-271*-2+-1*5164+4622]+"/"+n[y(857,"!SOK")](encodeURIComponent,a[1])+"*"+a[3*-1852+-8250+13808]+"*"+a[-923*1+-31*31+1887]+y(788,"9pW6"))};if(d){let y=n[r(1058,"$&ze")](a[0],n[r(281,"[Gf!")])?await n[r(901,"#OOi")](lG,a[2]):await n[r(692,"l#VZ")](hLe,a[0],a[1],a[2],a[3]);if(y?.[r(948,"OZzu")+"rl"])return Lh[a[-28+-1*-6163+-1*6133]]=y,(await n[r(304,"yDy^")](cG,a[418+6*1492+-9368],y[r(942,"[Gf!")+"rl"]))[r(889,"ShO2")]?(n[r(877,"JZKQ")](p),u):(n[r(665,"(kco")](m),u)}if(!Lh[a[-445*1+-1*-2780+-1*2333]]){let y=await n[r(1075,"Fhs#")](dG,a[0],a[1],a[2],a[3],!1);y?.[r(438,"&HYM")+"rl"]&&(Lh[a[-1427*-5+7113+-14246]]=y)}let h=Lh[a[2]]?.[r(793,"9pW6")+"rl"];if(h&&(await n[r(594,"3GMJ")](cG,a[2],h))[r(596,"e9rC")])return n[r(716,"l#VZ")](p),u;let A=(await n[r(353,"lv(Z")](ALe,a[4*-743+9846+1*-6874],a[-2850+1*2851],a[-397*-17+-1904+-1*4843],a[7057*-1+-1*7207+-1*-14267])||[])[r(614,"g[c@")](y=>y[r(268,"3GMJ")]);Ek[a[-1*8051+-9424+17477]]=A;let g=["\u8D85\u6E05","\u84DD\u5149","\u9AD8\u6E05","\u6807\u6E05","\u666E\u753B","\u6781\u901F"],b=["4k","2k",n[r(924,"[(4C")],n[r(321,"2wQi")],n[r(544,"3GMJ")],n[r(978,"yDy^")]];return n[r(895,"3$u9")](m),A[r(411,"ShO2")](y=>{let x=r;o=b[x(686,"OZzu")](y[x(320,"[Gf!")]),f[x(526,"JZKQ")](g[o]),f[x(848,"tU0H")](c+x(618,"OZzu")+y[x(771,"ShO2")][x(1e3,"&HYM")+"e"]()+"/"+a[3663+-1054*3+-501]+"/"+n[x(1048,"Gnm8")](encodeURIComponent,a[5*-1165+-3*2572+-2257*-6])+"*"+a[2]+"*"+a[4127+28*130+-1*7764]+x(994,"#OOi"))}),u}}var bl=Re(Jn(),1);var R4e=Re(v0(),1),Xd=Re(Jn(),1);var $k="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",Vv={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},w4e={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},ytr=async t=>{let e=Xd.default.enc.Hex.stringify(Xd.default.MD5(t.config.uc.cookie)).toString();return(await t.db.getObjectDefault("/uc",{}))[e]??""},xtr=async(t,e)=>{let r=Xd.default.enc.Hex.stringify(Xd.default.MD5(t.config.uc.cookie)).toString();await t.db.push(`/uc/${r}`,e)},nV=async t=>{let e=Xd.default.enc.Hex.stringify(Xd.default.MD5(t.config.uc.ut)).toString();return(await t.db.getObjectDefault("/uc",{}))[e]??""},sV=async(t,e)=>{let r=Xd.default.enc.Hex.stringify(Xd.default.MD5(t.config.uc.ut)).toString();await t.db.push(`/uc/${r}`,e)};async function iV(t){t.get("/qrcode",async(r,n)=>{try{let s=await Ae.get(`https://api.open.uc.cn/cas/ajax/getTokenForQrcodeLogin?client_id=381&v=1.2&request_id=${Date.now()}`,{headers:{"User-Agent":$k,referer:"https://drive.uc.cn"}}),i=s.data.data.members.token,a=hl(s.headers["set-cookie"]),o=w4e.encode({token:i,cookies:a}),c=`https://su.uc.cn/1_n0ZCv?uc_param_str=dsdnfrpfbivesscpgimibtbmnijblauputogpintnwktprchmt&token=${i}&client_id=381&uc_biz_str=S%3Acustom%7CC%3Atitlebar_fix`,u=await R4e.default.toBuffer(c,{width:300,height:300});n.header("X-Session-Key",o),n.send(u)}catch(s){console.error("UC\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",s),n.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(r,n)=>{let{sessionKey:s}=r.body,i=w4e.decode(s);if(!i)return n.send({code:0,data:{status:Vv.EXPIRED}});let{token:a,cookies:o}=i;try{let c=await Ae.get(`https://api.open.uc.cn/cas/ajax/getServiceTicketByQrcodeToken?__t=${Date.now()}&token=${a}&client_id=381&v=1.2&request_id=${Date.now()}`,{headers:{"User-Agent":$k}});if(c.data.status===2e6){let u=await e(c.data.data.members.service_ticket,o);n.send({code:0,data:{status:Vv.CONFIRMED,cookie:u}})}else c.data.status===50004002?n.send({code:0,data:{status:Vv.EXPIRED}}):n.send({code:0,data:{status:Vv.NEW}})}catch(c){console.error("UC\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",c),n.send({code:0,data:{status:Vv.NEW}})}});async function e(r,n){let s=[...n],i=await Ae.get(`https://drive.uc.cn/account/info?st=${r}&fr=pc&platform=pc`,{headers:{"User-Agent":$k,Cookie:s.join(""),referer:"https://drive.uc.cn"}});i.headers["set-cookie"]&&(s=s.concat(hl(i.headers["set-cookie"])));let a=await Ae.post("https://pc-api.uc.cn/1/clouddrive/transfer/upload/pdir?pr=UCBrowser&fr=pc",{},{headers:{"User-Agent":$k,Cookie:s.join("")}});return a.headers["set-cookie"]&&(s=s.concat(hl(a.headers["set-cookie"]))),s.join("")}t.post("/cookie",(r,n)=>{n.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(r,n)=>{n.send({code:0,data:await ytr(r.server)})}),t.put("/cookie",async(r,n)=>{await xtr(r.server,r.body.cookie),n.send({code:0})}),t.get("/ut",async(r,n)=>{n.send({code:0,data:await nV(r.server)})}),t.put("/ut",async(r,n)=>{await sV(r.server,r.body.ut),n.send({code:0})})}var bc={DeviceID:"07b48aaba8a739356ab8107b5e230ad4",RefreshToken:"",AccessToken:""},Cs={api:"https://open-api-drive.uc.cn",clientID:"5acf882d27b74502b7040b0c65519aa7",signKey:"l3srvtd7p42l0d0x1u8d7yc8ye9kki4d",appVer:"1.6.8",channel:"UCTVOFFICIALWEB",codeApi:"http://api.extscreen.com/ucdrive"};function D4e(t){return String(t||"").split(",")[0].trim()}function N4e(t){return D4e(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function btr(t){let e=String(t?.server?.address?.()?.url||"").trim(),n=N4e(t?.headers?.["x-forwarded-host"])||N4e(t?.headers?.host);if(!n)return e;let s=D4e(t?.headers?.["x-forwarded-proto"]),i=e.startsWith("https://")?"https":"http";return`${s||String(t?.protocol||"").trim()||i}://${n}`}function Etr(t){return bl.default.MD5(t).toString().slice(0,16)}function Kv(t,e){return bl.default.MD5(t+e).toString().slice(0,16)}function jk(t,e,r,n){let s=t+"&"+e+"&"+r+"&"+n;return bl.default.SHA256(s).toString()}function k4e(t){let r=/https:\/\/drive\.uc\.cn\/s\/([^\\|#/?]+)/.exec(t);return r?{shareId:r[1],folderId:"0"}:null}var El="pr=UCBrowser&fr=pc",cV={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) uc-cloud-drive/2.5.20 Chrome/100.0.4896.160 Electron/18.3.5.4-b478491100 Safari/537.36 Channel/pckk_other_ch",Referer:"https://drive.uc.cn"},zv=null,Uk=null,oV="https://pc-api.uc.cn/1/clouddrive/",Zd="",uV="",L4e="",C0={},O4e="CatVodOpen",qh=null,Fk="";async function B4e(t){zv=t.server.db;let e=t.server.config.uc;Zd=e.cookie,Uk=bl.default.enc.Hex.stringify(bl.default.MD5(e.cookie)).toString(),uV=bl.default.enc.Hex.stringify(bl.default.MD5(e.token)).toString(),L4e=bl.default.enc.Hex.stringify(bl.default.MD5(e.ut)).toString();let r=await zv.getObjectDefault("/uc",{});if(r[Uk]&&(Zd=r[Uk]),Fk=await nV(t.server),!Fk)try{await he.get(`${oV}/file`)}catch(n){n?.response?.data?.length&&(Fk=n.response.data,sV(t.server,Fk))}}async function fu(t,e,r,n,s){r=r||{},Object.assign(r,cV),Object.assign(r,{Cookie:Zd||""}),n=n||"post";let i=n=="get"?await he.get(`${oV}/${t}`,{headers:r}).catch(o=>(console.error(o),o?.response?.status===401&&messageToDart({action:"toast",opt:{message:"UC token\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}),o.response||{status:500,data:{}})):await he.post(`${oV}/${t}`,e,{headers:r}).catch(o=>(console.error(o),o?.response?.status===401&&messageToDart({action:"toast",opt:{message:"UC token\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}),o.response||{status:500,data:{}})),a=s||3;if(i.headers["set-cookie"]){let o=i.headers["set-cookie"].join(";;;").match(/__puus=([^;]+)/);o&&Zd.match(/__puus=([^;]+)/)[1]!=o[1]&&(Zd=Zd.replace(/__puus=[^;]+/,`__puus=${o[1]}`),await zv.push(`/uc/${Uk}`,Zd))}return i.status===429&&a>0?(await Gd(1e3),await fu(t,e,r,n,a-1)):i.data||{}}async function P4e(){let t=await fu(`file/sort?${El}&pdir_fid=${qh}&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`,{},{},"get");if(t.data&&t.data.list&&t.data.list.length>0){let e=await fu(`file/delete?${El}`,{action_type:2,filelist:t.data.list.map(r=>r.fid),exclude_fids:[]});console.log(e)}}async function _tr(t){if(qh){t&&await P4e();return}let e=await fu(`file/sort?${El}&pdir_fid=0&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`,{},{},"get");if(e.data&&e.data.list){for(let r of e.data.list)if(r.file_name===O4e){qh=r.fid,await P4e();break}}if(!qh){let r=await fu(`file?${El}`,{pdir_fid:"0",file_name:O4e,dir_path:"",dir_init_lock:!1});console.log(r),r.data&&r.data.fid&&(qh=r.data.fid)}}async function M4e(t){if(!C0[t.shareId]){delete C0[t.shareId];let e=await fu(`share/sharepage/token?${El}`,{pwd_id:t.shareId,passcode:t.sharePwd||""});e.data&&e.data.stoken&&(C0[t.shareId]=e.data)}}var Str=[".srt",".ass",".scc",".stl",".ttml"];async function vtr(t){let e=typeof t=="string"?k4e(t):t;if(!e)return[];if(await M4e(e),!C0[e.shareId])return[];let r=[],n=[],s=(a,o)=>a?`${a}/${o}`:o,i=async function(a,o,c,u){let l=u||"",d=100;c=c||1;let f=await fu(`share/sharepage/detail?${El}&pwd_id=${a}&stoken=${encodeURIComponent(C0[a].stoken)}&pdir_fid=${o}&force=0&_page=${c}&_size=${d}&_sort=file_type:asc,file_name:asc`,{},{},"get");if(!f.data)return[];let p=f.data.list;if(!p)return[];let m=[];for(let h of p)if(h.dir===!0)m.push({fid:h.fid,path:s(l,h.file_name)});else if(h.file===!0&&h.obj_category==="video"){if(h.size<1024*1024*5)continue;h.stoken=C0[e.shareId].stoken,h.vod_group=l,r.push(h)}else h.type==="file"&&Str.some(A=>h.file_name.endsWith(A))&&n.push(h);if(c<Math.ceil(f.metadata._total/d)){let h=await i(a,o,c+1,l);for(let A of h)p.push(A)}for(let h of m){let A=await i(a,h.fid,1,h.path);for(let g of A)p.push(g)}return p};return await i(e.shareId,e.folderId,1,""),n.length>0&&r.forEach(a=>{var o=ml(a,n);o.bestMatch&&(a.subtitle=o.bestMatch.target)}),r}var ef={};async function W4e(t,e,r,n,s){if(await _tr(s),s){let a=Object.keys(ef);for(let o of a)delete ef[o]}if(!qh||!e&&(await M4e({shareId:t}),!C0[t]))return null;let i=await fu(`share/sharepage/save?${El}`,{fid_list:[r],fid_token_list:[n],to_pdir_fid:qh,pwd_id:t,stoken:e||C0[t].stoken,pdir_fid:"0",scene:"link"});if(i.data&&i.data.task_id){let a=0;for(;;){let o=await fu(`task?${El}&task_id=${i.data.task_id}&retry_index=${a}`,{},{},"get");if(o.data&&o.data.save_as&&o.data.save_as.save_as_top_fids&&o.data.save_as.save_as_top_fids.length>0)return o.data.save_as.save_as_top_fids[0];if(a++,a>5)break;await Gd(1e3)}}return!1}async function $4e(t,e,r,n){if(!ef[r]){let i=await W4e(t,e,r,n,!0);if(!i)return null;ef[r]=i}let s=await fu(`file/v2/play?${El}`,{fid:ef[r],resolutions:"normal,low,high,super,2k,4k",supports:"fmp4"});return s.data&&s.data.video_list?s.data.video_list:null}async function Ctr(t,e,r,n,s){if(!ef[r]){let c=await W4e(t,e,r,n,s);if(!c)return null;ef[r]=c}let i=await zv.getObjectDefault("/uc",{}),a=i[uV],o=i[L4e];if(a){let c=[],u="/file",l=Math.floor(Date.now()/1e3).toString()+"000",d=bc.DeviceID||Etr(l),f=Kv(d,l),p=jk("GET",u,l,Cs.signKey),m={method:"GET",url:"https://open-api-drive.uc.cn/file",params:{req_id:f,access_token:a,app_ver:Cs.appVer,device_id:d,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Cs.channel,method:"streaming",group_by:"source",fid:ef[r],resolution:"low,normal,high,super,2k,4k",support:"dolby_vision"},headers:{"User-Agent":"Mozilla/5.0 (Linux; U; Android 9; zh-cn; RMX1931 Build/PQ3A.190605.05081124) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1",Connection:"Keep-Alive","Accept-Encoding":"gzip","x-pan-tm":l,"x-pan-token":p,"content-type":"text/plain;charset=UTF-8","x-pan-client-id":Cs.clientID}},h=await Ae.request(m);if(h.status===200){let A=h.data.data.video_info.filter(g=>g.accessable)[0];return A.download_url=A.url,A}}else{let c=`file/download?${El}`;o&&(c+=`&ut=${o}`);let u=await fu(c,{fids:[ef[r]]});if(u.data)return u.data[0]}return null}async function F4e(t){if(mk(t)){let e=k4e(t);if(e){let r=await vtr(e);return r=r.map(n=>({vod_id:[e.shareId,n.stoken,n.fid,n.share_fid_token,n.subtitle?n.subtitle.fid:"",n.subtitle?n.subtitle.share_fid_token:""].join("*"),vod_name:n.file_name,vod_size:n.size,vod_group:n.vod_group})),Os(getPanName("uc"),r)}else return{}}}var qk={},aV={};async function U4e(t,e){let r=t.params.site,n=t.params.what,s=t.params.shareId,i=t.params.fileId;if(await B4e(t),r=="uc"){let a="",o=i.split("*"),c=t.params.flag;if(n=="trans"){qk[o[1]]||(qk[o[1]]=(await $4e(s,decodeURIComponent(o[0]),o[1],o[2])).filter(p=>p.accessable)),a=qk[o[1]].filter(p=>p.resolution.toLowerCase()==c)[0].video_info.url,e.redirect(a);return}else{if(!aV[o[1]]){let p=await Ctr(s,decodeURIComponent(o[0]),o[1],o[2],c=="down");p&&(aV[o[1]]=p)}if(a=aV[o[1]].download_url,c=="redirect"){e.redirect(a);return}}let l=(globalThis.Pans||[]).find(p=>p.key==="uc")||{},d=l.chunkSize||512,f=l.poolSize||10;return await Wx(t,e,a,o[1],Object.assign({Cookie:Zd},cV),{chunkSize:1024*d,poolSize:f,timeout:1e3*10})}}async function q4e(t,e){let r=t.body.flag,s=t.body.id.split("*");await B4e(t);let i=0;if(r.startsWith(getPanName("uc"))){let a=(await $4e(s[0],s[1],s[2],s[3])).filter(A=>A.accessable);qk[s[2]]=a;let o=[],c=["\u8D85\u6E05","\u84DD\u5149","\u9AD8\u6E05","\u6807\u6E05","\u666E\u753B","\u6781\u901F"],u=["4k","2k","super","high","low","normal"],l=btr(t)+t.server.prefix+"/proxy/uc",f=(await zv.getObjectDefault("/uc",{}))[uV],p=["\u4EE3\u7406",`${l}/src/down/${s[0]}/${encodeURIComponent(s[1])}*${s[2]}*${s[3]}/.bin`],m=["\u539F\u753B",`${l}/src/redirect/${s[0]}/${encodeURIComponent(s[1])}*${s[2]}*${s[3]}/.bin`];f?o.push(...m,...p):o.push(...p,...m);let h={parse:0,url:o,header:Object.assign({Cookie:Zd},cV)};return f&&(h.header=void 0),s[3]&&(h.extra={subt:`${l}/src/subt/${s[0]}/${encodeURIComponent(s[1])}*${s[4]}*${s[5]}/.bin`}),a.forEach(A=>{i=u.indexOf(A.resolution),o.push(c[i]),o.push(`${l}/trans/${A.resolution.toLowerCase()}/${s[0]}/${encodeURIComponent(s[1])}*${s[2]}*${s[3]}/.mp4`)}),h}}var Gh=Re(nC(),1),c6e=Re(QMe(),1),N0=Re(require("crypto"),1);var kV,tb={},w0={set(t,e){tb[t]=e,kV.push(`/tyi/${t}`,e)},get(t){return tb[t]}},GMe=(t,e={})=>{let r=e.method||"GET",n=e.headers||{};return Ae({method:r,url:t,headers:n,transformResponse:[s=>s]}).then(s=>({ok:s.status===200,status:s.status,statusText:s.statusText,url:s.config.url,text:()=>Promise.resolve(s.data),json:()=>Promise.resolve(JSON.parse(s.data)),headers:s.headers})).catch(s=>s.response?{ok:!1,status:s.response.status,statusText:s.response.statusText,url:s.config.url,text:()=>Promise.resolve(s.response.data),json:()=>Promise.resolve(JSON.parse(s.response.data)),headers:s.response.headers}:s.request?{ok:!1,status:0,statusText:"No response received",text:()=>Promise.resolve(""),json:()=>Promise.reject(new Error("No response received"))}:Promise.reject(s))},LV=(0,c6e.default)({storeAsString:!0}),onr=(t,e)=>t?`${t}/${e}`:e,VMe="video",sL="cas",cnr=new Set([sL]),unr=new Set(["mp4","m4v","mkv","avi","mov","flv","ts","m2ts","m3u8","mpd","webm","wmv","rmvb","rm","f4v","m4s"]),zMe="02",tL="8025431004",KMe="10020",lnr="6.2",sC="https://cloud.189.cn",iC="https://open.e.189.cn",Qi="https://api.cloud.189.cn",rL="https://upload.cloud.189.cn",YMe="https://m.cloud.189.cn/zhuanti/2020/loginErrorPc/index.html",dnr="web_cloud.189.cn",Ec={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Accept:"application/json;charset=UTF-8","Accept-Encoding":"gzip, deflate, br, zstd"},nL="MyCatPaw",OV={"User-Agent":Ec["User-Agent"],Accept:"text/plain,application/json;charset=UTF-8,*/*","Accept-Encoding":Ec["Accept-Encoding"]},fnr=new Set(["UNABLE_TO_VERIFY_LEAF_SIGNATURE","UNABLE_TO_VERIFY_FIRST_CERTIFICATE","SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","CERT_HAS_EXPIRED","ERR_TLS_CERT_ALTNAME_INVALID"]);function pnr(t){let e=new Map;return String(t||"").split(";").map(r=>r.trim()).filter(Boolean).forEach(r=>{let n=r.indexOf("=");if(n<=0)return;let s=r.slice(0,n).trim(),i=r.slice(n+1).trim();s&&e.set(s,i)}),e}function PV(t,e){let r=pnr(t);return(Array.isArray(e)?e:e?[e]:[]).forEach(s=>{let i=String(s||"").split(";")[0].trim();if(!i)return;let a=i.indexOf("=");if(a<=0)return;let o=i.slice(0,a).trim(),c=i.slice(a+1).trim();o&&r.set(o,c)}),Array.from(r.entries()).map(([s,i])=>`${s}=${i}`).join("; ")}function JMe(){return{clientType:"TELEPC",version:lnr,channelId:dnr,rand:`${Math.floor(Math.random()*1e5)}_${Math.floor(Math.random()*1e10)}`}}function mnr(t){let e=String(t?.code||"").trim().toUpperCase(),r=String(t?.message||"").trim();return fnr.has(e)||/unable to verify the first certificate|self[ -]signed certificate|certificate/i.test(r)}async function R0(t,e=""){try{return await Ae(t)}catch(r){if(!mnr(r))throw r;return r?.code,r?.message||String(r),Wt(t?.url||"",260),await he({...t,proxy:!1})}}function hnr(){return new Date().toUTCString()}function gnr(t,e){let r=new URLSearchParams;Object.keys(t||{}).sort().forEach(s=>{let i=t[s];i!=null&&r.append(s,String(i))});let n=N0.default.createCipheriv("aes-128-ecb",Buffer.from(String(e||"").slice(0,16),"utf8"),null);return n.setAutoPadding(!0),Buffer.concat([n.update(r.toString(),"utf8"),n.final()]).toString("hex").toUpperCase()}function Anr(t,e,r,n,s,i=""){let a=new URL(n).pathname,o=`SessionKey=${e}&Operate=${r.toUpperCase()}&RequestURI=${a}&Date=${s}${i?`&params=${i}`:""}`;return N0.default.createHmac("sha1",Buffer.from(String(t||""),"utf8")).update(o,"utf8").digest("hex").toUpperCase()}function XMe(t,e){return N0.default.publicEncrypt({key:t,padding:N0.default.constants.RSA_PKCS1_PADDING},Buffer.from(String(e||""),"utf8")).toString("hex").toUpperCase()}function Er(t,e){let r=String(t||"").match(new RegExp(`<${e}>([\\s\\S]*?)</${e}>`,"i"));return r?r[1].trim():""}function ZMe(t){let e=Number(t||0),r=1024*1024*10;return e>r*2*999?Math.max(Math.ceil(e/1999/r),5)*r:e>r*999?r*2:r}function ma(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)}catch{return String(t)}}function fa(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e);if(r&&typeof r=="object"&&!Array.isArray(r)){let i=r.res_code??r.ResCode??"",a=r.res_message??r.ResMessage??"";if(typeof i=="number"&&i!==0||typeof i=="string"&&i)return`res_code=${i}${a?` ${a}`:""}`.trim();let o=r.code||r.errorCode||"",c=r.message||r.msg||r.errorMsg||r.error||"";if(o&&o!=="SUCCESS"&&o!=="0")return`code=${o}${c?` ${c}`:""}`.trim();if(!o&&c)return String(c)}let n=Er(e,"code"),s=Er(e,"message")||Er(e,"msg");return n&&n!=="SUCCESS"&&n!=="0"?`code=${n}${s?` ${s}`:""}`.trim():""}function ynr(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e);if(r&&typeof r=="object"&&!Array.isArray(r)&&(r.sessionKey||r.sessionSecret||r.accessToken))return r;if(!e||e[0]!=="<")return null;let n=["loginName","sessionKey","sessionSecret","familySessionKey","familySessionSecret","accessToken","refreshToken","isSaveName","keepAlive","getFileDiffSpan","getUserInfoSpan"],s={};return n.forEach(i=>{let a=Er(e,i);a&&(s[i]=a)}),s.sessionKey&&s.sessionSecret?s:null}function e6e(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e);return r&&typeof r=="object"&&!Array.isArray(r)&&r.data&&typeof r.data=="object"?r.data:null}function t6e(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e);return r&&typeof r=="object"&&!Array.isArray(r)&&r.file&&typeof r.file=="object"?r.file:null}function r6e(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e),n=String(r?.fileDownloadUrl||"");return n||Er(e,"fileDownloadUrl")}function xnr(t){if(t&&typeof t=="object"&&!Array.isArray(t))return t;let e=ma(t).trim();if(!e)return null;try{return LV.parse(e)}catch{return vo(e)}}function n6e(t,e){let r=String(t||""),n=new RegExp(`<${e}>([\\s\\S]*?)</${e}>`,"ig"),s=[],i;for(;(i=n.exec(r))!==null;){let a=i[1],o=Er(a,"icon"),c={id:Er(a,"id"),parentId:Er(a,"parentId"),name:_c(Er(a,"name")),size:Number(Er(a,"size")||0),md5:Er(a,"md5"),fileCata:Er(a,"fileCata"),mediaType:Er(a,"mediaType"),createDate:Er(a,"createDate"),lastOpTime:Er(a,"lastOpTime"),icon:o?{smallUrl:_c(Er(o,"smallUrl")),largeUrl:_c(Er(o,"largeUrl")),max600:_c(Er(o,"max600")),mediumUrl:_c(Er(o,"mediumUrl"))}:void 0};Object.keys(c).forEach(u=>{(c[u]===""||c[u]===void 0)&&delete c[u]}),(c.id!==void 0||c.name)&&s.push(c)}return s}function bnr(t){let e=ma(t).trim(),r=xnr(t)||{},n=r?.fileListAO||r?.data?.fileListAO||{},s=Array.isArray(n?.folderList)?n.folderList:[],i=Array.isArray(n?.fileList)?n.fileList:[];if(s.length===0&&i.length===0&&e.startsWith("<")){let a=Er(e,"fileList")||e;s=n6e(a,"folder"),i=n6e(a,"file")}return{count:Number(n?.count||Er(e,"count")||s.length+i.length||0),folderList:s,fileList:i,data:r}}function s6e(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e),n=String(r?.taskId||r?.taskID||"");return n||Er(e,"taskId")||Er(e,"taskID")}function Enr(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e),n=r?.taskStatus??r?.TaskStatus??"";if(n!==""&&n!==void 0&&n!==null)return Number(n);let s=Er(e,"taskStatus")||Er(e,"TaskStatus");return s?Number(s):0}function _nr(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e),n=i=>Array.isArray(i)?i.filter(Boolean):i&&typeof i=="object"?[i]:[],s=n(r?.familyInfoResp);if(s.length===0&&(s=n(r?.data?.familyInfoResp)),s.length===0&&e.startsWith("<")&&(s=(String(e).match(/<familyInfoResp>([\s\S]*?)<\/familyInfoResp>/ig)||[]).map(a=>({familyId:Er(a,"familyId"),remarkName:Er(a,"remarkName"),useFlag:Er(a,"useFlag"),userRole:Er(a,"userRole")})).filter(a=>String(a?.familyId||"")),s.length===0)){let a=Er(e,"familyId");a&&(s=[{familyId:a,remarkName:Er(e,"remarkName"),useFlag:Er(e,"useFlag"),userRole:Er(e,"userRole")}])}return s.map(i=>({familyId:String(i?.familyId||i?.familyID||""),remarkName:String(i?.remarkName||""),useFlag:Number(i?.useFlag||0),userRole:Number(i?.userRole||0)})).filter(i=>i.familyId)}function u6e(t){let e=String(t||"").trim().toLowerCase(),r=e.lastIndexOf(".");return r>=0?e.slice(r+1):""}function Snr(t){return cnr.has(u6e(t))}function vo(t){let e=typeof t=="string"?t.trim():"";if(!e||!/^[\[{]/.test(e))return null;try{return JSON.parse(e)}catch{return null}}function _c(t){return String(t??"").replace(/&amp;/gi,"&").replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&quot;/gi,'"').replace(/&#39;/gi,"'")}function Cl(t){let e=_c(t).trim();return e?/^\/\//.test(e)?`http:${e}`:/^(https?:\/\/)/i.test(e)?e:"":""}function vnr(t){return _c(t).replace(/([?&](?:sig|sk|token|expired)=)[^&<\s]+/ig,"$1***").replace(/(SSON=)[^;]+/ig,"$1***").replace(/(OPENINFO=)[^;]+/ig,"$1***").replace(/(JSESSIONID=)[^;]+/ig,"$1***").replace(/(COOKIE_LOGIN_USER=)[^;]+/ig,"$1***")}function Wt(t,e=220){let r=vnr(String(t??"")).replace(/\s+/g," ").trim();return r.length>e?`${r.slice(0,e)}...`:r}function eb(t){if(!t)return"none";let e=String(t).split(";").map(r=>r.split("=")[0].trim()).filter(Boolean);return`${e.slice(0,5).join(",")}${e.length>5?`,+${e.length-5}`:""}`}function pa(t){try{let e=Cl(t);return e?new URL(e).host:""}catch{return""}}function Cnr(t){try{let e=Cl(t);return e?u6e(new URL(e).pathname):""}catch{return""}}function i6e(t){return unr.has(Cnr(t))}function Inr(t){let r=String(t||"").match(/\/(\d+)$/);if(!r)return 0;let n=Number(r[1]);return Number.isFinite(n)?n:0}function Tnr(t){let e=String(t||"").replace(/\s+/g,"").trim();if(!e||e.length<24||e.length%4!==0||/[^A-Za-z0-9+/=]/.test(e))return null;try{let r=Buffer.from(e,"base64").toString("utf8").trim(),n=vo(r);return!n||typeof n!="object"||Array.isArray(n)||!n.md5&&!n.sliceMd5&&!n.create_time?null:{raw:r,data:n}}catch{return null}}function DV(t){return!t||typeof t!="object"?{}:{name:t.name||"",size:t.size||0,md5:t.md5||"",sliceMd5:t.sliceMd5||"",create_time:t.create_time||""}}function a6e(t){let e=String(t??"");try{return decodeURIComponent(e.replace(/\+/g,"%20"))}catch{return e}}function wnr(t){let e=String(t??"");try{return decodeURIComponent(e)}catch{return e}}function Rnr(t,e=""){let r=String(t||"").trim(),s=wnr(r)||r,i={shareCode:"",accessCode:String(e||"").trim()},a=s.match(/https?:\/\/cloud\.189\.cn\/web\/share\?code=([^&#\s\uFF08(]+)/i),o=s.match(/https?:\/\/cloud\.189\.cn\/t\/([^?&#\s\uFF08(]+)/i);if(a?.[1]?i.shareCode=a[1]:o?.[1]?i.shareCode=o[1]:/^https?:\/\//i.test(s)||(i.shareCode=s.split(/[\s\uFF08(]/)[0]),!i.accessCode){let c=s.match(/(?:è®¿é—®ç |æå–ç |å¯†ç )\s*[::]\s*([a-zA-Z0-9]+)/);i.accessCode=c?.[1]||""}return i}function l6e(t){let e=String(t||"").trim();if(!e)return null;let r=vo(e);if(r&&typeof r=="object"&&!Array.isArray(r)){let s={};return Object.keys(r).forEach(i=>{let a=r[i];if(a==null)return;let o=String(i).trim(),c=String(a).trim();o&&c&&(s[o]=c)}),Object.keys(s).length>0?s:null}let n={};return e.split(/[&;]/).forEach(s=>{let[i,...a]=s.split("=");if(!i||a.length===0)return;let o=a6e(i.trim()),c=a6e(a.join("=").trim());o&&c&&(n[o]=c)}),Object.keys(n).length>0?n:null}function Nnr(t,e){let r=Cl(e);r&&!t.includes(r)&&t.push(r)}function aC(t,e=[],r=0){if(!t||r>4)return e;if(typeof t=="string")return Nnr(e,t),e;if(Array.isArray(t))return t.forEach(i=>aC(i,e,r+1)),e;if(typeof t!="object")return e;let n=["downloadUrl","downloadURL","fileDownloadUrl","fileDownloadURL","contentUrl","contentURL","redirectUrl","redirectURL","sourceUrl","sourceURL","location","url"];for(let i of n)i in t&&aC(t[i],e,r+1);if(e.length>0)return e;let s=["data","result","normal","file","download","downloadInfo"];for(let i of s)i in t&&aC(t[i],e,r+1);return e}function o6e(t){let e=String(t||"").trim();if(!e)return null;let r=e.indexOf("|"),n=r>=0?e.slice(0,r).trim():e,s=r>=0?e.slice(r+1).trim():"",i=Cl(n);if(i){let c=l6e(s);return c?{url:i,header:c}:{url:i}}let a=_c(e).match(/((?:https?:)?\/\/[^<\s]+)/i);if(!a)return null;let o=Cl(a[1]);return o?{url:o}:null}function Zx(t){let e=String(t||"").replace(/^\uFEFF/,"").trim();if(!e||/^<!doctype html/i.test(e)||/^<html/i.test(e))return null;let r=vo(e);if(r&&typeof r=="object"&&!Array.isArray(r)){let n=Cl(r.url);if(n){let s=l6e(r.header||r.headers);return s?{url:n,header:s}:{url:n}}}for(let n of e.split(/\r?\n/)){let s=n.trim();if(!s||s.startsWith("#"))continue;let i=o6e(s);if(i)return i}return o6e(e)}var BV=class{publicKey=null;setPublicKey(e){this.publicKey=e}encrypt(e){let r=Buffer.from(e,"utf8");return N0.default.publicEncrypt({key:this.publicKey,padding:N0.default.constants.RSA_PKCS1_PADDING},r).toString("base64")}},rb=async t=>{kV=t.server.db,tb=await kV.getObjectDefault("/tyi",{}),tb?.cloud_account,tb?.cloud_password,eb(tb?.cloud_cookie)},MV=class{constructor(){this.regex=/https?:\/\/cloud\.189\.cn\/web\/share\?code=([^&]+)/,this.config={clientId:"538135150693412",model:"KB2000",version:"9.0.6",pubKey:"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZLyV4gHNDUGJMZoOcYauxmNEsKrc0TlLeBEVVIIQNzG4WqjimceOj5R9ETwDeeSN3yejAKLGHgx83lyy2wBjvnbfm/nLObyWwQD/09CmpZdxoFYCH6rdDjRpwZOZ2nXSZpgkZXoOBkfNXNxnN74aXtho2dqBynTw3NFTWyQl8BQIDAQAB"},this.headers={"User-Agent":`Mozilla/5.0 (Linux; U; Android 11; ${this.config.model} Build/RP1A.201005.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 Ecloud/${this.config.version} Android/30 clientId/${this.config.clientId} clientModel/${this.config.model} clientChannelId/qq proVersion/1.0.6`,Referer:"https://m.cloud.189.cn/zhuanti/2016/sign/index.jsp?albumBackupOpened=1","Accept-Encoding":"gzip, deflate"},this.api="https://cloud.189.cn/api",this.shareCode="",this.accessCode="",this.shareId="",this.shareMode="",this.isFolder="",this.index=0,this.shareFileCache=new Map,this.lastShareTextResolveReason="",this.pcLoginState=null,this.pcRestoreFolderId="",this.pcFamilyRestoreFolderId="",this.pcFamilyId=""}setShareTextResolveReason(e=""){this.lastShareTextResolveReason=String(e||"")}getShareTextResolveReason(){return this.lastShareTextResolveReason||""}getShareFileCacheKey(e,r){return`${r||""}:${e||""}`}cacheShareFileItem(e,r,n,s={}){!e||!r||!n||typeof n!="object"||this.shareFileCache.set(this.getShareFileCacheKey(e,r),{...n,...s})}getCachedShareFileItem(e,r){return this.shareFileCache.get(this.getShareFileCacheKey(e,r))||null}async init(){this.account&&console.log("\u5929\u7FFC\u8D26\u53F7\u83B7\u53D6\u6210\u529F\uFF1A"+this.account),this.password&&console.log("\u5929\u7FFC\u5BC6\u7801\u83B7\u53D6\u6210\u529F\uFF1A"+this.password),this.cookie?console.log("\u5929\u7FFCcookie\u83B7\u53D6\u6210\u529F"+this.cookie):w0.set("cloud_cookie",await this.login(this.account,this.password))}get account(){return w0.get("cloud_account")}get password(){return w0.get("cloud_password")}get cookie(){return w0.get("cloud_cookie")}async login(e,r){try{let n=await Ae.post("https://open.e.189.cn/api/logbox/config/encryptConf.do?appId=cloud"),s=n.data.data.pubKey;n=await Ae.get("https://cloud.189.cn/api/portal/loginUrl.action?redirectURL=https://cloud.189.cn/web/redirect.html?returnURL=/main.action");let i=n.request.path.match(/reqId=(\w+)/)[1],o={"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/76.0",Referer:"https://open.e.189.cn/",Lt:n.request.path.match(/lt=(\w+)/)[1],Reqid:i},c={version:"2.0",appKey:"cloud"};n=await Ae.post("https://open.e.189.cn/api/logbox/oauth2/appConf.do",Gh.default.stringify(c),{headers:o});let u=n.data.data.returnUrl,l=n.data.data.paramId,d=`-----BEGIN PUBLIC KEY-----
${s}
-----END PUBLIC KEY-----`,f=new BV;f.setPublicKey(d);let p=Buffer.from(f.encrypt(e),"base64").toString("hex"),m=Buffer.from(f.encrypt(r),"base64").toString("hex");if(c={appKey:"cloud",version:"2.0",accountType:"01",mailSuffix:"@189.cn",validateCode:"",returnUrl:u,paramId:l,captchaToken:"",dynamicCheck:"FALSE",clientType:"1",cb_SaveName:"0",isOauth2:!1,userName:`{NRP}${p}`,password:`{NRP}${m}`},n=await Ae.post("https://open.e.189.cn/api/logbox/oauth2/loginSubmit.do",Gh.default.stringify(c),{headers:o,validateStatus:null}),n.data.toUrl){let h=n.headers["set-cookie"].map(A=>A.split(";")[0]).join(";");n=await Ae.get(n.data.toUrl,{headers:{...this.headers,Cookie:h},maxRedirects:0,validateStatus:null}),h+="; "+n.headers["set-cookie"].map(A=>A.split(";")[0]).join(";"),w0.set("cloud_cookie",h)}else console.error("Error during login:",n.data)}catch(n){console.error("Error during login:",n)}}async getShareID(e,r,n){let s=n||this,i=Rnr(e,r);s.shareCode=i.shareCode,s.accessCode=i.accessCode}async getShareData(e,r){let n={},s={},i=await this.getShareInfo(e,r,n);if(i){let c=await this.getShareList(i,"",n);c&&Array.isArray(c)?await Promise.all(c.map(async u=>{let l=u.path||u.name;l in s||(s[l]=[]);let d=await this.getShareFile(u.id,n);d&&d.length>0&&s[l].push(...d)})):s.root=await this.getShareFile(i,n)}for(let c in s)s[c].length===0&&delete s[c];i&&Object.keys(s).length===0&&(s.root=await this.getShareFile(i,n),s.root&&Array.isArray(s.root)&&(s.root=s.root.filter(c=>c&&Object.keys(c).length>0))),Object.keys(s).forEach(c=>{s[c]=s[c].map(u=>({vod_id:[u.fileId,u.shareId,u.fileKind||VMe,u.shareMode||"",u.accessCode||""].join("*"),vod_name:u.name,vod_size:u.size}))});let a=Object.values(s).reduce((c,u)=>c+(Array.isArray(u)?u.length:0),0),o=Object.values(s).reduce((c,u)=>c+(Array.isArray(u)?u.filter(l=>String(l?.vod_id||"").includes(`*${sL}*`)).length:0),0);return n.shareId,n.shareMode,Object.keys(s).length,s}async getShareInfo(e,r,n){let s=n||this,i=String(e||"");if(i.startsWith("http")?await this.getShareID(i,r,n):s.shareCode=i,!s.shareCode)return null;try{if(s.accessCode){let a=await Ae.get(`${this.api}/open/share/checkAccessCode.action?shareCode=${s.shareCode}&accessCode=${s.accessCode}`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",accept:"application/json;charset=UTF-8","accept-encoding":"gzip, deflate, br, zstd","accept-language":"zh-CN,zh;q=0.9"}});a.status===200&&(s.shareId=a.data.shareId);let o=await Ae.get(`${this.api}/open/share/getShareInfoByCodeV2.action?key=noCache&shareCode=${s.shareCode}`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",accept:"application/json;charset=UTF-8","accept-encoding":"gzip, deflate, br, zstd","accept-language":"zh-CN,zh;q=0.9"}}),c=o.data.fileId;return s.shareMode=o.data.shareMode,s.isFolder=o.data.isFolder,c}else{let a=await Ae.get(`${this.api}/open/share/getShareInfoByCodeV2.action?key=noCache&shareCode=${s.shareCode}`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",accept:"application/json;charset=UTF-8","accept-encoding":"gzip, deflate, br, zstd","accept-language":"zh-CN,zh;q=0.9"}}),o=a.data.fileId;return s.shareId=a.data.shareId,s.shareMode=a.data.shareMode,s.isFolder=a.data.isFolder,o}}catch(a){let o=a?.response?.status,c=a?.response?.data?.res_code||a?.code||"UnknownCode",u=a?.response?.data?.res_message||a?.message||"unknown error";return console.warn(o===400&&(c==="ShareAuditNotPass"||c==="ShareInfoNotFound")?`[Cloud ShareInfo] ${s.shareCode} unavailable: ${c}`:`[Cloud ShareInfo] ${s.shareCode} failed: ${o||"N/A"} ${c} ${u}`),null}}async getShareList(e,r="",n){let s=n||this;if(!e)return null;try{let i=[],a={};a["User-Agent"]="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",a.Accept="application/json;charset=UTF-8",a["Accept-Encoding"]="gzip, deflate, br, zstd";let o={method:"GET",headers:a},c=await GMe(`${this.api}/open/share/listShareDir.action?key=noCache&pageNum=1&pageSize=9999&fileId=${e}&shareDirFileId=${e}&isFolder=${s.isFolder}&shareId=${s.shareId}&shareMode=${s.shareMode}&iconOption=5&orderBy=lastOpTime&descending=true&accessCode=${s.accessCode}&noCache=${Math.random()}`,o),d=LV.parse(await c.text())?.fileListAO?.folderList;if(!d)return null;if(d&&d.length>0){let f=d.map(m=>({name:m.name,id:m.id,type:"folder",path:onr(r,m.name)}));i.push(...f);let p=await Promise.all(f.map(async m=>this.getShareList(m.id,m.path,n)));return p=p.filter(m=>m!=null),[...i,...p.flat()]}}catch(i){return console.warn(`[Cloud ShareList] ${e} failed: ${i?.message||i}`),null}}async getShareFile(e,r){let n=r||this;if(!e)return null;try{let s={method:"GET",headers:Ec},i=await GMe(`${this.api}/open/share/listShareDir.action?key=noCache&pageNum=1&pageSize=9999&fileId=${e}&shareDirFileId=${e}&isFolder=${n.isFolder}&shareId=${n.shareId}&shareMode=${n.shareMode}&iconOption=5&orderBy=lastOpTime&descending=true&accessCode=${n.accessCode}&noCache=${Math.random()}`,s),a=LV.parse(await i.text()),o=[],c=a?.fileListAO,u=c?.fileList;if(!Array.isArray(u)||u.length===0)return null;let l=u.map(p=>p.name),d=u.map(p=>p.id),f=Number(c?.fileListSize??u.length);if((!Number.isFinite(f)||f<0)&&(f=u.length),f=Math.min(f,u.length),f>=0)for(let p=0;p<f;p++){let m=u[p],h=m.mediaType===3?VMe:Snr(m.name)?sL:"";h&&(this.cacheShareFileItem(d[p],n.shareId,m,{shareMode:n.shareMode,accessCode:n.accessCode,fileKind:h}),o.push({name:l[p],fileId:d[p],shareId:n.shareId,size:m.size,fileKind:h,shareMode:n.shareMode,accessCode:n.accessCode}))}if(o.length>0){let p=o.filter(m=>m.fileKind===sL).length;n.shareId,n.shareMode,o.length,o.length-p,o.slice(0,3).map(m=>m.name)}return o}catch(s){return console.warn(`[Cloud ShareFile] ${e} failed: ${s?.message||s}`),null}}async fetchShareTextFileFromUrl(e,r={}){let n=Cl(e);if(!n)return"";Wt(n,260),eb(r?.Cookie||r?.cookie);try{let s=await Ae.get(n,{headers:{...OV,...r&&typeof r=="object"?r:{}},responseType:"text",transformResponse:[a=>a],maxRedirects:5,validateStatus:()=>!0}),i=typeof s.data=="string"?s.data:"";return s.status<200||s.status>=300?(Wt(n,260),s.status,s.headers?.["content-type"],Wt(i),""):(Wt(n,260),s.status,s.headers?.["content-type"],i.length,Wt(i),i)}catch(s){return Wt(n,260),s?.message||String(s),""}}buildShareTextApiCandidates(e,r,n="",s=""){let i=a=>{let o=new URLSearchParams({shareId:String(r||""),fileId:String(e||""),key:"noCache",dt:"1",noCache:String(Math.random())});return n&&o.set("shareMode",String(n)),s&&o.set("accessCode",String(s)),`${this.api}${a}?${o.toString()}`};return[i("/portal/getShareFileUrl.action"),i("/portal/getFileDownloadUrl.action"),i("/open/share/getFileDownloadUrl.action"),i("/open/share/getShareFileDownloadUrl.action"),i("/open/file/getFileDownloadUrl.action")]}async tryResolveShareTextPlayableFromApi(e,r={}){let n=e;try{n=new URL(e).pathname}catch{}Wt(e,260),eb(r?.Cookie||r?.cookie);try{let s=await Ae.get(e,{headers:{...OV,...r&&typeof r=="object"?r:{}},responseType:"text",transformResponse:[l=>l],maxRedirects:0,validateStatus:()=>!0}),i=s.status===400||s.status===401||s.status===403;if(s.status>=300&&s.status<400&&s.headers?.location){s.status,Wt(s.headers.location,260);let l=await this.fetchShareTextFileFromUrl(s.headers.location,r),d=Zx(l);return d?.url,pa(d?.url),d?.header,{playable:d,authError:!1}}if(s.status<200||s.status>=300)return s.status,s.headers?.["content-type"],Wt(s.data),{playable:null,authError:i};let a=typeof s.data=="string"?s.data:"",o=String(s.headers?.["content-type"]||"");if(s.status,Wt(a),/json/i.test(o)){let l=vo(a),d=aC(l);d.length,d.slice(0,3).map(f=>Wt(f,260));for(let f of d){let p=await this.fetchShareTextFileFromUrl(f,r),m=Zx(p);if(m)return Wt(f,260),pa(m.url),m.header,{playable:m,authError:!1}}return{playable:null,authError:i}}let c=a.trim();if(/^[^\r\n]+$/.test(c)&&Cl(c)){Wt(c,260);let l=await this.fetchShareTextFileFromUrl(c,r),d=Zx(l);return d?.url,pa(d?.url),d?.header,{playable:d,authError:!1}}let u=Zx(a);return u?.url,pa(u?.url),u?.header,{playable:u,authError:!1}}catch(s){return s?.message||String(s),{playable:null,authError:!1}}}async probeShareTextCandidateUrl(e,r={}){let n=Cl(e);if(!n)return{type:"invalid"};Wt(n,260),pa(n),Object.keys(r||{}).join(",");try{let s=await Ae.get(n,{headers:{...OV,Range:"bytes=0-511",...r&&typeof r=="object"?r:{}},responseType:"arraybuffer",maxRedirects:5,timeout:15e3,validateStatus:()=>!0}),a=(Buffer.isBuffer(s.data)?s.data:Buffer.from(s.data||"")).toString("utf8").replace(/^\uFEFF/,""),o=Cl(s?.request?.res?.responseUrl||s?.config?.url||n)||n,c=String(s.headers?.["content-type"]||""),u=String(s.headers?.["content-range"]||""),l=Number(s.headers?.["content-length"]||0),d=Inr(u)||(Number.isFinite(l)?l:0);Wt(n,260),Wt(o,260),s.status,Wt(a);let f=Tnr(a);if(f)return Wt(n,260),Wt(o,260),DV(f.data),Wt(f.raw),{type:"cas_metadata",metadata:f.data};let p=Zx(a);return p?.url&&p.url!==n?(Wt(n,260),Wt(p.url,260),pa(p.url),p.header,{type:"nested_playable",playable:p}):/^video\//i.test(c)||/^audio\//i.test(c)||/application\/(?:vnd\.apple\.mpegurl|x-mpegurl|dash\+xml)/i.test(c)||i6e(o)||(s.status===200||s.status===206)&&d>1024*1024?(Wt(n,260),Wt(o,260),pa(o),{type:"playable"}):(Wt(n,260),Wt(o,260),s.status,{type:"unknown"})}catch(s){return Wt(n,260),s?.message||String(s),{type:"error"}}}async confirmShareTextPlayableCandidate(e,r={},n={},s=0){if(!e?.url)return null;let i=e.header&&typeof e.header=="object"?e.header:null,a={...r&&typeof r=="object"?r:{},...i||{}},o={...n,depth:s,url:Wt(e.url,260),host:pa(e.url),headerKeys:Object.keys(i||{}).join(",")||"-"};if(i6e(e.url))return{...o},e;if(s>=2)return null;let c=await this.probeShareTextCandidateUrl(e.url,a);if(c.type==="playable")return{...o},e;if(c.type==="nested_playable"&&c.playable?.url)return{...o,nestedUrl:Wt(c.playable.url,260),nestedHost:pa(c.playable.url)},await this.confirmShareTextPlayableCandidate(c.playable,r,n,s+1);if(c.type==="cas_metadata"){try{let d=await this.getCasPlayableByRestoringToCloudDrive(c.metadata);if(d?.url)return{...o,restoredHost:pa(d.url)},d}catch(d){let p=`CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25${c.metadata?.name?` (${c.metadata.name})`:""}: ${d?.message||d}`;return this.setShareTextResolveReason(p),{...o,metadata:DV(c.metadata)},null}let l=`\u5F53\u524D\u5206\u4EAB\u8FD4\u56DE\u7684\u662FCAS\u79D2\u4F20\u5143\u6570\u636E\uFF0C\u4E0D\u662F\u771F\u5B9E\u89C6\u9891\u5730\u5740${c.metadata?.name?` (${c.metadata.name})`:""}`;return this.setShareTextResolveReason(l),{...o,metadata:DV(c.metadata)},null}return{...o,probeType:c.type},null}async initCloudPcLoginParam(){let e=this.cookie||"",r=Ae.create({headers:{"User-Agent":Ec["User-Agent"],"Accept-Encoding":Ec["Accept-Encoding"],Referer:sC,...e?{Cookie:e}:{}},maxRedirects:5,validateStatus:()=>!0}),n=await R0({method:"GET",url:`${sC}/api/portal/unifyLoginForPC.action`,params:{appId:tL,clientType:KMe,returnURL:YMe,timeStamp:Date.now()},headers:r.defaults.headers,maxRedirects:5,validateStatus:()=>!0,responseType:"text",transformResponse:[d=>d]},"pc-unify-login"),s=typeof n.data=="string"?n.data:"",i=d=>{let f=s.match(d);return f?f[1]:""},a={cookie:PV(e,n.headers?.["set-cookie"]),captchaToken:i(/'captchaToken' value='(.+?)'/),lt:i(/lt = "(.+?)"/),paramId:i(/paramId = "(.+?)"/),reqId:i(/reqId = "(.+?)"/)};if(!a.lt||!a.paramId||!a.reqId)throw new Error("189PC\u767B\u5F55\u53C2\u6570\u521D\u59CB\u5316\u5931\u8D25");let o=await R0({method:"POST",url:`${iC}/api/logbox/config/encryptConf.do`,data:Gh.default.stringify({appId:tL}),headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":Ec["User-Agent"],Referer:sC},validateStatus:()=>!0},"pc-encrypt-conf"),c=o?.data?.data?.pubKey||"",u=o?.data?.data?.pre||"{RSA}";if(!c)throw new Error("189PC\u83B7\u53D6RSA\u516C\u94A5\u5931\u8D25");let l=`-----BEGIN PUBLIC KEY-----
${c}
-----END PUBLIC KEY-----`;return a.rsaUsername=`${u}${XMe(l,this.account)}`,a.rsaPassword=`${u}${XMe(l,this.password)}`,a}async loginForCloudPc(e=!1){if(!e&&this.pcLoginState?.tokenInfo?.sessionKey&&this.pcLoginState?.tokenInfo?.sessionSecret)return this.pcLoginState;if(!this.account||!this.password)throw new Error("\u7F3A\u5C11\u5929\u7FFC\u8D26\u53F7\u6216\u5BC6\u7801\uFF0C\u65E0\u6CD5\u6267\u884CCAS\u79D2\u4F20\u6062\u590D");let r=await this.initCloudPcLoginParam(),n=await R0({method:"POST",url:`${iC}/api/logbox/oauth2/needcaptcha.do`,data:Gh.default.stringify({appKey:tL,accountType:zMe,userName:r.rsaUsername}),headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":Ec["User-Agent"],Referer:iC+"/",REQID:r.reqId,...r.cookie?{Cookie:r.cookie}:{}},responseType:"text",transformResponse:[d=>d],validateStatus:()=>!0},"pc-needcaptcha"),s=String(n?.data||"").trim();if(n.status,Wt(s,80),s&&s!=="0")throw new Error("189PC\u767B\u5F55\u9700\u8981\u9A8C\u8BC1\u7801\uFF0C\u5F53\u524D\u6682\u4E0D\u652F\u6301\u81EA\u52A8\u5904\u7406");let i=await R0({method:"POST",url:`${iC}/api/logbox/oauth2/loginSubmit.do`,data:Gh.default.stringify({appKey:tL,accountType:zMe,userName:r.rsaUsername,password:r.rsaPassword,validateCode:"",captchaToken:r.captchaToken,returnUrl:YMe,dynamicCheck:"FALSE",clientType:KMe,cb_SaveName:"1",isOauth2:"false",state:"",paramId:r.paramId}),headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":Ec["User-Agent"],Referer:iC+"/",REQID:r.reqId,lt:r.lt,...r.cookie?{Cookie:r.cookie}:{}},validateStatus:()=>!0},"pc-login-submit"),a=PV(r.cookie,i.headers?.["set-cookie"]),o=i?.data?.toUrl||"";if(!o)throw new Error(`189PC\u767B\u5F55\u5931\u8D25: ${i?.data?.msg||i?.status||"unknown"}`);let c=await R0({method:"POST",url:`${Qi}/getSessionForPC.action`,params:{...JMe(),redirectURL:o},headers:{"User-Agent":Ec["User-Agent"],Referer:sC,...a?{Cookie:a}:{}},validateStatus:()=>!0},"pc-get-session"),u=ynr(c?.data)||c?.data||{};if(!u?.sessionKey||!u?.sessionSecret)throw new Error(`189PC\u4F1A\u8BDD\u83B7\u53D6\u5931\u8D25: ${fa(c?.data)||c?.status||"unknown"}`);let l=PV(a,c.headers?.["set-cookie"]);return l&&w0.set("cloud_cookie",l),this.pcLoginState={cookie:l,tokenInfo:{loginName:u.loginName||"",sessionKey:u.sessionKey,sessionSecret:u.sessionSecret,familySessionKey:u.familySessionKey||"",familySessionSecret:u.familySessionSecret||"",accessToken:u.accessToken||"",refreshToken:u.refreshToken||""}},this.pcLoginState?.tokenInfo?.sessionKey,this.pcLoginState?.tokenInfo?.sessionSecret,this.pcLoginState?.tokenInfo?.familySessionKey,this.pcLoginState?.tokenInfo?.familySessionSecret,eb(l),this.pcLoginState}getCloudPcTokenInfo(e=!1){let r=this.pcLoginState?.tokenInfo||{};return e?{loginName:r.loginName||"",sessionKey:r.familySessionKey||"",sessionSecret:r.familySessionSecret||"",accessToken:r.accessToken||"",refreshToken:r.refreshToken||""}:{loginName:r.loginName||"",sessionKey:r.sessionKey||"",sessionSecret:r.sessionSecret||"",accessToken:r.accessToken||"",refreshToken:r.refreshToken||""}}async requestCloudPc(e,r="GET",n={}){let s=n&&typeof n=="object"?n:{},i=!!s.isFamily,a=await this.loginForCloudPc(!1),o=this.getCloudPcTokenInfo(i);if(!o.sessionKey||!o.sessionSecret){if(!s._retried)return await this.loginForCloudPc(!0),await this.requestCloudPc(e,r,{...s,_retried:!0});throw new Error(i?"189PC\u5BB6\u5EAD\u4E91\u4F1A\u8BDD\u83B7\u53D6\u5931\u8D25":"189PC\u4F1A\u8BDD\u83B7\u53D6\u5931\u8D25")}let c=JMe(),u=s.query&&typeof s.query=="object"?s.query:{},l=s.form&&typeof s.form=="object"?s.form:null,d=s.encryptedParams&&typeof s.encryptedParams=="object"?gnr(s.encryptedParams,o.sessionSecret):"",f=hnr(),p=Anr(o.sessionSecret,o.sessionKey,r,e,f,d),m=await R0({method:r,url:e,params:{...c,...u,...d?{params:d}:{}},...l?{data:Gh.default.stringify(l)}:{},headers:{"User-Agent":Ec["User-Agent"],Referer:sC,Date:f,SessionKey:o.sessionKey,"X-Request-ID":N0.default.randomUUID(),Signature:p,...l?{"Content-Type":"application/x-www-form-urlencoded"}:{},...a?.cookie?{Cookie:a.cookie}:{},...s.headers||{}},responseType:s.responseType||"json",transformResponse:s.transformResponse||void 0,timeout:s.timeout||15e3,validateStatus:()=>!0},`pc-request:${r}:${new URL(e).pathname}`),h=ma(m.data);return(m.status===401||m.status===403||h.includes("InvalidSessionKey")||h.includes("userSessionBO is null"))&&!s._retried?(await this.loginForCloudPc(!0),await this.requestCloudPc(e,r,{...s,_retried:!0})):m}async getCloudPcFamilyId(e=!1){if(!e&&this.pcFamilyId)return this.pcFamilyId;let r=await this.requestCloudPc(`${Qi}/family/manage/getFamilyList.action`,"GET",{isFamily:!0}),n=_nr(r?.data);if(n.length===0)throw new Error(`\u672A\u83B7\u53D6\u5230\u53EF\u7528\u7684189\u5BB6\u5EAD\u4E91 body=${Wt(ma(r?.data),260)}`);let s=String(this.pcLoginState?.tokenInfo?.loginName||""),i=n.find(o=>s&&o.remarkName&&s.includes(o.remarkName))||n.find(o=>Number(o?.useFlag||0)===1)||n[0],a=String(i?.familyId||"");if(!a)throw new Error(`189\u5BB6\u5EAD\u4E91ID\u89E3\u6790\u5931\u8D25 body=${Wt(JSON.stringify(n),260)}`);return this.pcFamilyId=a,n.length,n.map(o=>o.remarkName||"").filter(Boolean).slice(0,3),a}async ensureCloudPcRestoreFolderV2(e={}){let r=!!e?.isFamily,n=r?"pcFamilyRestoreFolderId":"pcRestoreFolderId";if(this[n])return this[n];let s=r?"":"-11",i=r?await this.getCloudPcFamilyId():"",a=nL,o=r?`${Qi}/family/file/listFiles.action`:`${Qi}/listFiles.action`,c=1;for(;c<=10;){let f=await this.requestCloudPc(o,"GET",{isFamily:r,query:{folderId:s,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:String(c),pageSize:"100",...r?{familyId:i,orderBy:"1",descending:"false"}:{recursive:"0",orderBy:"filename",descending:"false"}}}),m=(f?.data?.fileListAO?.folderList||[]).find(A=>String(A?.name||"")===a);if(m?.id)return this[n]=String(m.id),this[n];if(!Number(f?.data?.fileListAO?.count||0))break;c+=1}let u=r?`${Qi}/family/file/createFolder.action`:`${Qi}/createFolder.action`,l=await this.requestCloudPc(u,"POST",{isFamily:r,query:{folderName:a,...r?{familyId:i}:{relativePath:"",parentFolderId:s}}});if(l.status>=400||fa(l.data))throw new Error(`\u521B\u5EFACAS\u6062\u590D\u76EE\u5F55\u5931\u8D25: ${fa(l.data)||l.status}`);let d=String(l?.data?.id||Er(l?.data,"id")||"");if(d)return this[n]=d,this[n];throw new Error("\u65E0\u6CD5\u5B9A\u4F4DCAS\u6062\u590D\u76EE\u5F55")}async createCloudPcBatchTaskV2(e,r,n={}){let s=Array.isArray(r)?r.filter(Boolean):[];if(s.length===0)return"";let i=n&&typeof n=="object"?n:{},{isFamily:a=!1,...o}=i,c=await this.requestCloudPc(`${Qi}/batch/createBatchTask.action`,"POST",{isFamily:a,form:{type:e,taskInfos:JSON.stringify(s),...o}}),u=String(s6e(c?.data)||""),l=fa(c?.data);if(c.status>=400||l||!u)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u521B\u5EFA\u5931\u8D25: ${l||c.status||"unknown"} body=${Wt(ma(c?.data),260)}`);return u}async permanentlyDeleteCloudPcItemsV2(e,r={}){let n=Array.isArray(e)?e.filter(Boolean):[];if(n.length===0)return;let s=!!r?.isFamily,i=s?String(r?.familyId||await this.getCloudPcFamilyId()):"",a=s?{familyId:i,isFamily:!0}:{},o=await this.createCloudPcBatchTaskV2("DELETE",n,a);await this.waitCloudPcBatchTask("DELETE",o);let c=await this.createCloudPcBatchTaskV2("CLEAR_RECYCLE",n,a);await this.waitCloudPcBatchTask("CLEAR_RECYCLE",c)}async removeCloudPcRestoreFolderV2(e,r={}){if(!e)return;let s=!!r?.isFamily?"pcFamilyRestoreFolderId":"pcRestoreFolderId",i=[{fileId:String(e),fileName:nL,isFolder:1}];await this.permanentlyDeleteCloudPcItemsV2(i,r),this[s]=""}async resetCloudPcRestoreFolderV2(e={}){let r=!!e?.isFamily,n=await this.ensureCloudPcRestoreFolderV2({isFamily:r});return await this.removeCloudPcRestoreFolderV2(n,{isFamily:r}),await this.ensureCloudPcRestoreFolderV2({isFamily:r})}async restoreCasMetadataToCloudDriveV2(e,r={}){let n=!!r?.isFamily,s=String(e?.md5||"").trim().toUpperCase(),i=Number(e?.size||0),a=String(e?.name||"").trim(),o=String(e?.sliceMd5||"").trim().toUpperCase();if(!s||!i||!a)throw new Error("CAS\u5143\u6570\u636E\u7F3A\u5C11\u5FC5\u8981\u5B57\u6BB5\uFF0C\u65E0\u6CD5\u6267\u884C\u79D2\u4F20\u6062\u590D");let c=n?await this.getCloudPcFamilyId():"",u=await this.resetCloudPcRestoreFolderV2({isFamily:n}),l=ZMe(i),d=n?`${rL}/family`:`${rL}/person`,f=await this.requestCloudPc(`${d}/initMultiUpload`,"GET",{isFamily:n,encryptedParams:{parentFolderId:u,fileName:a,fileSize:String(i),fileMd5:s,sliceSize:String(l),...n&&c?{familyId:c}:{},...o?{sliceMd5:o}:{}}}),p=e6e(f?.data)||{},m=fa(f?.data);if(f.status>=400||m)throw new Error(`CAS\u79D2\u4F20\u6062\u590D\u521D\u59CB\u5316\u5931\u8D25: ${m||f.status}`);let h=String(p?.uploadFileId||p?.uploadFileID||"");if(Number(p?.fileDataExists)!==1||!h)throw new Error("CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25\uFF0C189\u672A\u547D\u4E2D\u6587\u4EF6");let A=await this.requestCloudPc(`${d}/commitMultiUploadFile`,"GET",{isFamily:n,encryptedParams:{uploadFileId:h,isLog:"0",opertype:"3"}}),g=t6e(A?.data)||{},b=fa(A?.data);if(A.status>=400||b)throw new Error(`CAS\u79D2\u4F20\u63D0\u4EA4\u5931\u8D25: ${b||A.status}`);let y=String(g?.userFileId||g?.id||""),x=String(g?.fileName||a);if(!y)throw new Error("CAS\u79D2\u4F20\u63D0\u4EA4\u540E\u672A\u8FD4\u56DE\u6587\u4EF6ID");return{fileId:y,fileName:x,folderId:u,familyId:c,isFamily:n}}async getCloudPcFileDownloadUrlV2(e,r={}){let n=!!r?.isFamily,s=n?String(r?.familyId||await this.getCloudPcFamilyId()):"",i=n?`${Qi}/family/file/getFileDownloadUrl.action`:`${Qi}/getFileDownloadUrl.action`,a=await this.requestCloudPc(i,"GET",{isFamily:n,query:{fileId:String(e||""),...n?{familyId:s}:{dt:"3",flag:"1"}},responseType:"text",transformResponse:[d=>d]}),o=String(r6e(a?.data)||""),c=_c(o).replace(/^http:\/\//i,"https://"),u=fa(a?.data);if(a.status>=400||u)throw new Error(`\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u83B7\u53D6\u5931\u8D25: ${u||a.status}`);if(!c)throw new Error("\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u4E3A\u7A7A");let l=await R0({method:"GET",url:c,headers:{"User-Agent":Ec["User-Agent"]},maxRedirects:0,validateStatus:()=>!0},"pc-download-redirect");return l.status>=300&&l.status<400&&l.headers?.location?_c(String(l.headers.location||"")):c}async listOwnFiles(e="-11",r=1,n=100){let s=Math.max(Number(r)||1,1),i=Math.min(Math.max(Number(n)||100,1),200),a=e==null||e===""?"-11":String(e),o=await this.requestCloudPc(`${Qi}/listFiles.action`,"GET",{query:{folderId:a,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:String(s),pageSize:String(i),recursive:"0",orderBy:"filename",descending:"false"},responseType:"text",transformResponse:[u=>u]}),c=fa(o?.data);if(o.status>=400||c)throw new Error(`\u5929\u7FFC\u76EE\u5F55\u83B7\u53D6\u5931\u8D25: ${c||o.status}`);return bnr(o?.data)}async getOwnDownload(e){return{url:await this.getCloudPcFileDownloadUrlV2(e,{isFamily:!1}),data:{fileId:String(e||""),source:"189CloudPC"}}}async ensureCloudPcRestoreFolder(){if(this.pcRestoreFolderId)return this.pcRestoreFolderId;let e="-11",r=nL,n=1;for(;n<=10;){let u=await this.requestCloudPc(`${Qi}/listFiles.action`,"GET",{query:{folderId:e,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:String(n),pageSize:"100",recursive:"0",orderBy:"filename",descending:"false"}}),d=(u?.data?.fileListAO?.folderList||[]).find(p=>String(p?.name||"")===r);if(d?.id)return this.pcRestoreFolderId=String(d.id),this.pcRestoreFolderId;if(!Number(u?.data?.fileListAO?.count||0))break;n+=1}let s=await this.requestCloudPc(`${Qi}/createFolder.action`,"POST",{query:{folderName:r,relativePath:"",parentFolderId:e}});if(s.status,Wt(JSON.stringify(s.data||{}),220),s.status>=400||fa(s.data))throw new Error(`\u521B\u5EFACAS\u6062\u590D\u76EE\u5F55\u5931\u8D25: ${fa(s.data)||s.status}`);let i=String(s?.data?.id||Er(s?.data,"id")||"");if(i)return this.pcRestoreFolderId=i,this.pcRestoreFolderId;let c=((await this.requestCloudPc(`${Qi}/listFiles.action`,"GET",{query:{folderId:e,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:"1",pageSize:"100",recursive:"0",orderBy:"filename",descending:"false"}}))?.data?.fileListAO?.folderList||[]).find(u=>String(u?.name||"")===r);if(!c?.id)throw new Error("\u65E0\u6CD5\u5B9A\u4F4DCAS\u6062\u590D\u76EE\u5F55");return this.pcRestoreFolderId=String(c.id),this.pcRestoreFolderId}async createCloudPcBatchTask(e,r,n={}){let s=Array.isArray(r)?r.filter(Boolean):[];if(s.length===0)return"";let i=await this.requestCloudPc(`${Qi}/batch/createBatchTask.action`,"POST",{form:{type:e,taskInfos:JSON.stringify(s),...n||{}}}),a=String(s6e(i?.data)||""),o=fa(i?.data);if(i.status>=400||o||!a)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u521B\u5EFA\u5931\u8D25: ${o||i.status||"unknown"} body=${Wt(ma(i?.data),260)}`);return a}async permanentlyDeleteCloudPcItems(e,r={}){let n=Array.isArray(e)?e.filter(Boolean):[];if(n.length===0)return;let s=await this.createCloudPcBatchTask("DELETE",n,r);await this.waitCloudPcBatchTask("DELETE",s);let i=await this.createCloudPcBatchTask("CLEAR_RECYCLE",n,r);await this.waitCloudPcBatchTask("CLEAR_RECYCLE",i)}async waitCloudPcBatchTask(e,r,n=300){let s=Date.now();for(;Date.now()-s<15e3;){let i=await this.requestCloudPc(`${Qi}/batch/checkBatchTask.action`,"POST",{form:{type:e,taskId:r}}),a=i?.data||{},o=fa(a);if(i.status>=400||o)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u72B6\u6001\u67E5\u8BE2\u5931\u8D25: ${o||i.status||"unknown"} body=${Wt(ma(a),260)}`);let c=Enr(a);if(c===4)return;if(c===2)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u5B58\u5728\u51B2\u7A81`);await new Promise(u=>setTimeout(u,n))}throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u7B49\u5F85\u8D85\u65F6`)}async removeCloudPcRestoreFolder(e){if(!e)return;let r=[{fileId:String(e),fileName:nL,isFolder:1}];await this.permanentlyDeleteCloudPcItems(r),this.pcRestoreFolderId=""}async resetCloudPcRestoreFolder(){let e=await this.ensureCloudPcRestoreFolder();await this.removeCloudPcRestoreFolder(e);for(let r=0;r<3;r+=1)try{return await this.ensureCloudPcRestoreFolder()}catch(n){if(r>=2)throw n;await new Promise(s=>setTimeout(s,300*(r+1)))}}async restoreCasMetadataToCloudDrive(e){let r=String(e?.md5||"").trim().toUpperCase(),n=Number(e?.size||0),s=String(e?.name||"").trim(),i=String(e?.sliceMd5||"").trim().toUpperCase();if(!r||!n||!s)throw new Error("CAS\u5143\u6570\u636E\u7F3A\u5C11\u5FC5\u8981\u5B57\u6BB5\uFF0C\u65E0\u6CD5\u6267\u884C\u79D2\u4F20\u6062\u590D");let a=await this.resetCloudPcRestoreFolder(),o=ZMe(n);e?.create_time;let c=await this.requestCloudPc(`${rL}/person/initMultiUpload`,"GET",{encryptedParams:{parentFolderId:a,fileName:s,fileSize:String(n),fileMd5:r,sliceSize:String(o),...i?{sliceMd5:i}:{}}}),u=e6e(c?.data)||{},l=fa(c?.data);if(c.status,u?.fileDataExists,u?.uploadFileId||u?.uploadFileID,u?.uploadHost,Wt(JSON.stringify(c?.data||{}),260),c.status>=400||l)throw new Error(`CAS\u79D2\u4F20\u6062\u590D\u521D\u59CB\u5316\u5931\u8D25: ${l||c.status}`);let d=String(u?.uploadFileId||u?.uploadFileID||"");if(Number(u?.fileDataExists)!==1||!d)throw new Error("CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25\uFF0C189\u672A\u547D\u4E2D\u6587\u4EF6");let f=await this.requestCloudPc(`${rL}/person/commitMultiUploadFile`,"GET",{encryptedParams:{uploadFileId:d,isLog:"0",opertype:"3"}}),p=t6e(f?.data)||{},m=fa(f?.data);if(f.status,p?.userFileId||p?.id,p?.fileName,Wt(JSON.stringify(f?.data||{}),260),f.status>=400||m)throw new Error(`CAS\u79D2\u4F20\u63D0\u4EA4\u5931\u8D25: ${m||f.status}`);let h=String(p?.userFileId||p?.id||""),A=String(p?.fileName||s);if(!h)throw new Error("CAS\u79D2\u4F20\u63D0\u4EA4\u540E\u672A\u8FD4\u56DE\u6587\u4EF6ID");return{fileId:h,fileName:A,folderId:a}}async getCloudPcFileDownloadUrl(e){let r=await this.requestCloudPc(`${Qi}/getFileDownloadUrl.action`,"GET",{query:{fileId:String(e||""),dt:"3",flag:"1"},responseType:"text",transformResponse:[o=>o]}),n=String(r6e(r?.data)||""),s=_c(n).replace(/^http:\/\//i,"https://"),i=fa(r?.data);if(r.status,pa(s),Wt(s,260),r.status>=400||i)throw new Error(`\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u83B7\u53D6\u5931\u8D25: ${i||r.status}`);if(!s)throw new Error("\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u4E3A\u7A7A");let a=await R0({method:"GET",url:s,headers:{"User-Agent":Ec["User-Agent"]},maxRedirects:0,validateStatus:()=>!0},"pc-download-redirect");return a.status>=300&&a.status<400&&a.headers?.location?_c(String(a.headers.location||"")):s}async getCasPlayableByRestoringToCloudDrive(e){let r=[],n=[{isFamily:!0,scope:"family"},{isFamily:!1,scope:"personal"}];for(let s of n)try{let i=await this.restoreCasMetadataToCloudDriveV2(e,{isFamily:s.isFamily}),a=await this.getCloudPcFileDownloadUrlV2(i.fileId,{isFamily:s.isFamily,familyId:i.familyId});return s.scope,i.fileId,i.fileName,pa(a),{url:a}}catch(i){r.push(`${s.scope}: ${i?.message||i}`)}throw new Error(`CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25: ${r.join(" ; ")}`)}async getShareTextPlayable(e,r,n="",s="",i=0){if(!e||!r)return null;this.setShareTextResolveReason(""),!this.cookie&&this.account&&this.password&&(console.log("\u6B63\u5728\u767B\u5F55\uFF0C\u8BF7\u7A0D\u7B49...."),await this.login(this.account,this.password),console.log("\u767B\u5F55\u6210\u529F,\u83B7\u53D6cookie\u6210\u529F"));let a=this.getCachedShareFileItem(e,r),o=n||a?.shareMode||"",c=s||a?.accessCode||"",u=this.cookie?{Cookie:this.cookie}:{};this.cookie,eb(this.cookie),a?.name,pa(a?.downloadUrl);let l=aC(a);l.length,l.slice(0,3).map(p=>Wt(p,260));for(let p of l){let m=await this.fetchShareTextFileFromUrl(p,u),h=Zx(m),A=await this.confirmShareTextPlayableCandidate(h,u,{source:"cached",fileId:e,shareId:r,candidate:Wt(p,260)});if(A)return Wt(p,260),pa(A.url),A.header,A}let d=!1,f=this.buildShareTextApiCandidates(e,r,o,c);for(let p of f){let{playable:m,authError:h}=await this.tryResolveShareTextPlayableFromApi(p,u);if(m){let A=await this.confirmShareTextPlayableCandidate(m,u,{source:"api",fileId:e,shareId:r,api:(()=>{try{return new URL(p).pathname}catch{return p}})()});if(!A)continue;return(()=>{try{return new URL(p).pathname}catch{return p}})(),pa(A.url),A.header,A}h&&(d=!0,(()=>{try{return new URL(p).pathname}catch{return p}})(),void 0)}return d&&i<1&&this.account&&this.password?(w0.set("cloud_cookie",""),await this.login(this.account,this.password),await this.getShareTextPlayable(e,r,o,c,i+1)):(this.cookie,eb(this.cookie),this.getShareTextResolveReason(),null)}async getShareUrl(e,r){let n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Accept:"application/json;charset=UTF-8","Accept-Encoding":"gzip, deflate, br, zstd"};!this.cookie&&this.account&&this.password&&this.index<2&&(console.log("\u6B63\u5728\u767B\u5F55\uFF0C\u8BF7\u7A0D\u7B49...."),await this.login(this.account,this.password),console.log("\u767B\u5F55\u6210\u529F,\u83B7\u53D6cookie\u6210\u529F")),n.Cookie=this.cookie;try{let s=await Ae.get(`${this.api}/portal/getNewVlcVideoPlayUrl.action?shareId=${r}&dt=1&fileId=${e}&type=4&key=noCache`,{headers:n}),i=await Ae.get(s.data.normal.url,{maxRedirects:0,validateStatus:function(o){return o>=200&&o<400}}),a="";return i.status>=300&&i.status<400&&i.headers.location?a=i.headers.location:a=s.data.normal.url,a}catch(s){if(s.response&&s.response.status===400&&this.index<2)return console.log("\u83B7\u53D6\u64AD\u653E\u5730\u5740\u5931\u8D25\uFF0C\u9519\u8BEF\u4FE1\u606F\u4E3A\uFF1A"+s.response.data),console.log("cookie\u5931\u6548\uFF0C\u6B63\u5728\u91CD\u65B0\u83B7\u53D6cookie"),w0.set("cloud_cookie",""),this.index+=1,await this.getShareUrl(e,r);console.error("Error during getShareUrl:",s.message,s.response?s.response.status:"N/A")}finally{this.index>=2&&(this.index=0,messageToDart({action:"toast",opt:{message:"\u5929\u7FFC\u8D26\u53F7\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}))}}},rf=new MV;var ks=Re(Jn(),1),$e=pu;(function(t,e){let r=pu,n=t();for(;;)try{if(-parseInt(r(620,"1$*q"))/1*(parseInt(r(533,"Q*]n"))/2)+parseInt(r(672,"NUA^"))/3*(-parseInt(r(442,"&L(#"))/4)+parseInt(r(580,"Z*B!"))/5*(-parseInt(r(707,"SjKy"))/6)+-parseInt(r(630,"tPoy"))/7*(-parseInt(r(269,"&7e0"))/8)+-parseInt(r(409,"5K@$"))/9*(parseInt(r(350,"3H)Z"))/10)+-parseInt(r(435,"Z*B!"))/11+parseInt(r(505,"$hvt"))/12*(parseInt(r(616,"SjKy"))/13)===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(iL,470*990+-61486+-1957*19);function pu(t,e){let r=iL();return pu=function(n,s){n=n-(-9718+-824*5+1*14087);let i=r[n];if(pu.GJXIGO===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};pu.WCBCzA=l,t=arguments,pu.GJXIGO=!0}let o=r[-2547+-83*46+-1273*-5],c=n+o,u=t[c];return u?i=u:(pu.PEyDgj===void 0&&(pu.PEyDgj=!0),i=pu.WCBCzA(i,s),t[c]=i),i},pu(t,e)}function iL(){let t=["WQGseSosrG7cTfpdGfJdNhq","FHZcHK8","W6f3W6BcVw/cSmou","t35zW6fSBuO","Er9/W67cJW","W6qCmfC","WPhdUItdMCkMeSkXnSkbDW","cSkScLWHfgRdMG","WRhdNSopWPFdKvSqsmoVFG","qMuXkba","W6T7W6/cQNxcTa","wJWJrL3cSWZdGXJdNq","WQ/cRmoHkZ3dIMSwW5VdVW","WOtdSG7cNSkAFcJcNuzJ","WOiLWQXPWOy","WO8Qwr5WWOi","DmkbW4lcVGr2","i385WOZdL25PW5JdMZqqyq","l2FcS8oyWQ/cRMW1","WOuSWQXtBSk8","WQa8WR5My8kVCKBdQg4","uCkRoq1AsGVcU8kWqG","rSksW57cUfCXW6i","qxNcKq","W7FdVCoPWPKk","AqhcOunucq","WP8PWRPBWPVcHq","x0ZdLdT1","6kEl5P6z6lEO5y6n5Aws6lw8","WQGLcKKkaG","W58VmmoqymkRW5FdL8kCDq","WQZcJmoY","WOGGvavXWOLYW7L2","WRixFhrQ","W51qW4hcGfJcH8o/W7tdO2S","W4rbtmoPW7qY","WRqTeLqahSoeyJjs","W43cMuiMWRhcSW","WOhdR3NdJSoEzmk/BCofEq","W7vidSkBc1tdS2VdM34","WQVcVg/cT8kRrsisW6FcLa","WRSKwqiJ","stuQWP3cTY3cLKrCxW","WRWJArD9","u2nS","i8ogFW9qWPBcTG","tN3cLJiXttZdIdfL","FmoXzW","WR7dVuxcISkNqrO","W7eRiSokzSkR","qCkpW4pcV0e","DCoLcCkpiwJdLmoawcq","vgyxdYj8jGxcJCkb","WP7dSNBdL8oJu8oiBCocmq","WQ0TkK4B","WP5sCCoa","WPuYWRTD","W7CngCoQDq","FCoqj3aXbWBdOmkHWPC","w8kqW5y","WRZdTLlcQ8k2ubWEW4dcKq","W7r4W6e","vN99W6b7yKC1mh8","WQVdO27dH8od","bIaZ","WQOOovz+a2eH","WOCYWR1D","kGzIW5C","W7zptmo4WPfUW5ruBhu","W4qBWRlcPq","uhCuea","uSosva","FGhcO01ocCkDj1iK","WORdO2pdPmoIvmo3A8oema","WP1OibFdSG","u8ksW4pcTea","sNFcRamWsq","pJjIW4H/","W5ldLSkI","sNNcGqO4","WP1VWR5dWR3cR1JdRSosca","qSkPW5/cVv0","W7zjW4LBwSoEfrtcKHy","cSo5WOqbpmk8","cmo6oGi","cfRcUKmS","W7NcP8kiCCoLbW","W4dcSSksuSoB","WORdPbu","WQmTfG","b3a9i8o1","w8kkrKLL","W4xdJmoPWPGkp8kH","AmkYFCoZrW","W4hcLmoL","s2JcRrig","W6tdOSkcj8kv","uCkkqfnVcW9hfbq","wSo5ev4B","WOz6mmoxz8o/W5/dRG","WO4dWOTHqSkbtG","v3VdTJrzWRGzWOFcOmk8","W4RdRSoPWPqqjmk7ffRcOW","W6HTmwv2gwr0tdS","DJ02quJcSGlcMv4","W7Lkt8kwg1tcQLhdLW","W41hbKtcPSkqvCoUg8ko","WQfDW4D8b0u","W4LPW5xcRxW","umoPm1CgoLldRSk7hq","t1pdTGXg","WOrIn0tdKmofgmk1t8kh","rctcPLfY","W7ZcK8kqq8o8","W73cTSkszSoIvqFcSXNdRq","eYPeswnQqa/cNmoD","W6PLW5XA","nKmTi8ouud5mjLS","cSo9WOKCpq","W5CVmSorFmo7W4a","W69IW51mrq","f8omWOywjSk6s8kQlCkd","WRZdMCopWOhdLgWwsSoSmq","AI99W5lcJtfEW5tdGJ0","W54Riq","x8kOkq","WOFdTG7cVG","u2xdPq","WOpcMmoKlJFdJq","W78ahLhcT8kNeq","A8ogfCksnG","W7nvxCo6WPi","W7amWQ7cUmkKWRO6W64","wmkbW5ZcVG","W4BdH8kvjSkv","gSoIWQWX","yt07WPFcSvq","AZWgWPO","AmoHda","W7WrvW","W4/dICoJn3tcKYFcVrbA","AhKeE20","WOy/xXy","W4hdGCoPWOugiCkH","qSo9pG","WQdcGCoU","WOG1FHTg","W5tdJSo+WP8","WOjwA8opxSkH","zYaDWOhcSW","WRddJColWOG","WOeLWQrCWRpcOHe","ugtdTb1rWRGq","F2r8W7XWA3imeuu","AqhcU1Tjcq","W6hdL8kuiCk/","WRSItuTVeG","W7H8ku4UqJmTy34","khC9WOldL25SW77dQsesAW","WQa8WR59BSkVzeBdJ28","WRJdHCoiWOK","s3CygIjN","W4KmWQtcUW","yCoRdSkA","F8ogieO3avtdTSkCWOq","imk4oW","ktzKW7n/z8oYm8k+W4e","WR5TgrpdVW","sSksDKndcJvCgH8","W7OIgmo3Aa","W6D2W5hcTMBcPq","ve4d","W7ewk3dcRCkNgJxdLSko","WQlcPCopxSo8WOiBW4q/WQm","v3yxrKC","W4CLkeJcIW","q8koW4u","WRhcGSoXpa","W73cTSkszG","tgVcKqSZs2xdMJTO","ELldGJTh","WQ43WQfJoa","WOBdUrNcRCkwEdq","WQRdPCoiWOVdNW","WQrezHhdT8o3ubhdTCkQg8kMW5S","W4FcMua5WP3cHq","hCoIkr/dSvmyWOim","WPKQgIrgWQS8","WOm1WQDy","W7ZdTCkr","t2ZcUIKlob4xWQZdLq","W6JcL3X/W5myW6O","zfZdLW","ldjJW55pDmo6","WPtdK8oPWP8npSk4bw/dVa","wfSCCG","cSoqlXNdLq","W7fzW5XTwa","W4umWQNcM8kJWRu7W67cJCom","DCotya","BtiTrL7cStNcG0BcLG","WR3dG8o1WOtdIKO","BCk5W4tcTw9IW5ddSSkAFW","v0nzW6rM","W5lcUuRdSCoFjNddVNrH","WPpcNCkYWPeUomk9gMu","tCkcwe5LfW","WOVdMmoaW5u","WRGPWQaFW6FdSKpdOmkvwW","rb8CFfi","W4PyW5dcVx0","C8oPlLmnc1tdUCk3bG","W5dcSmkuECoJt1JdRGxdPG","BmkHzSoT","vCo5lNOxdvxdRmkKgW","W7JcRCkcCW","WRtdPJVcM8kv","h8o5WQ8bbW","WOyUsG","W7ZcPSkvhq","W4m+pCoqsa","x8kor04","DSo1yZ1RWQdcSSo9WP53","W4C4omoo","WQ9MDCo5Aq","mSoiWQOzea","WRxdVfldMmkTvbPvWQNcRW","W7ldU8kpgSk3W5XbWR0TW7a","Fx3cQei","lCouga","ECopoa","WQiPcfOBga","WQtdJCosWOtdN0e4rmoImq","W43dMCorjLlcJJ3cRa1a","CdyTFfNcVH/cIwNcKG","yIT5W5FcGZX6","D8obpNW8fa","c2NcQ3i","txtcPbaYqqRdNcDf","sMr6","q8oSnCkDgG","FItcS8otWO3cULOoW6zS","WRJcPwnu","WQ/cSgvCW4u6W5RcIr8","D8oRfmkFhw0","Fmojdvq0","W6n8W7hcJMpcTmoiW5RdHfy","dCo/WOWy","W78peSokAW","WQldKIK","W6PevCkk","W65WEmozWQS","xxFcSryVrsVdJG","t2ZcUIKlob4xWRxdLW","WP7cL8kGBYNdLtNcKXTPhCox","W5/dLmoHnN/cHG","W5pdGmo4WPmm","WRDzW51YhenPW5meEG","W65kBCkncv/cRfVdKMW","zmkczfrd","W4FdJSogWOql","ztCBWR3cQvddOHlcR0i","Bmk8xmo0umkdC3q","pu83g8o1Dq","WQSWWQrEqSkk","FSk6y8o0r8ky","hMBcQq","Eg05qxa","ESo1BH0","x1RdSa1D","WPJcL14","WOq9uWT1WPnVW598","rwjuW6bQ","W71avCkXfLVcRh3dTxy","W4eVnCorumo5W5G","oMTBW5FdTaddOZ7cRNxcPSoM","sSksDKnecIXgeX4","WO/dVHtcTmkMta","WOeciwiUjCoytXXK","EZ7cJCouWQxcHW","WQHwW4O","CCk8yq","y3aXeCoVzJO","xf0bF1e","kXjGW4S1ySoZimkTW4i","sXuDWOxcJq","C8oLFGjNWOlcR8o1WQn0","jwxdMSkmW5xdTfqJW59DBda","CCoLkCkpagNdM8ov","F2xdOdDMW60","WOPsCCoj","iLiRgCosvIvpcG","CMyqrq","FGiVELW","W6ffs8onWRDYW51jE10","W7VcM00HW6m","WR7dQ3pdPSoE","imoLqv1NW7a","BqVcM21mgmkJdv08","aIi8","tveBpWq","WQe2WRHWASkTAa","EZO3rhJcMW","W5VcKvWHWRhcKIxcK8kQW7C","FYpcL8op","x8ktW7dcQuaJW6G","WPyUWRC","W4pdISo+WRykjCk9d2hcPa","W5pdTCksc8oKWOy","WQtcUmoWja","WP55pG3dOW","Cmk2rmoLwW","ufWJFejQWP4zW6zB","ltXCW4HU","zSoRnSkibG","W57dJ8o8kW","rvNdOWfj","WOldKg8IWQtcRsJcPCk9W7a","iMtdKSkjWPRcIwGwW4bb","b8kSo08advBdMW","yX8WqvO","W6Tpw8oP","yZ/cMxDu","xYDzW5xcOq","W7BdSCkvpSk+W5nmWPuHW7O","W7pdTCksc8oKWOy","guGwzhb7WP4jW693","tmkbW4xcSL0SW5NdOSkpCW","WP0Kb08km8oJAsDt","WQDbArpcQ8kqlaNdGCkj","D8oUkfqqwu3dSCk5eq","rhmvftm","W64hCfpcQCkNat7cR8oC","WQOOovTXew8H","s2XO","W43dG8oWmgtcJYC","WRxcQN5b","WOmHWQby","WP4VWRbv","W7FdK8kLj8kB","sJRdQsO7WRCSWRdcJ8kO","DgHRW6nXyKaC","W4hdNCo4WPGn","cCo/WOaglmkHuCkwmCk/","w8kkua","WQPDW51ig0XtW5m1CG","WQz8v8oHCmkiuN3cRGu","v8oKp1G","tNZcObKxmamC","W5LnW7K","rMJcOX8","y8o1zWjIWQlcPq","FtJcISor","W5ZcNvG","WO1xA8oSrCk+AhJcJIO","x8kXW4FcJL8","WRZdV2tdHSoF","W4ZcLvObWRZcOd/cL8kiW74","tMBcVd8coGq","WQVdMcJcLSk1srtcL2Ho","rxmfgb5QeaJcNmkB","W49rr8oA","hSo3kqxdUG","qhCcpcn7gqpcI8ka","WRVcOwnMW4m8W4hcIIdcQa","wCkKyXddJL0zWP4d","W4ddHSo9WQmh","W5ddNCoJWPO","WQGGea","WRqsbSk/W7SXW5PPxgdcM8oa","W6HadSkqf1NcTNtdMNK","FmkcwGW0xNTqsuu","W717W5Lrw8omwXpcSXK","W43dVSo8WQis","u8odtHHw","W7v4W44","WQLDW4PPcL1v","ltjEW5P3yW","WOVcQ2vrW6OVW4hcJH8","k8kszc5QuvddVmkZWPbBWOy","tmkoqhT1etnhdrG","WO7dUSoHWQNdH0iAuCoNlq","WRZdTLlcUCkRrqyuW7VcLG","W4pdISo+WRykjCk9i3lcRG","EJiTtfK","W7aFpLC","W4xdK8oslwpcGcO","fCoOWOSspCkN","yITUW57cMIW","W4BcQSkhzmo0leFdSH7dOa","wK4qEey","WPaVWODfWRtcPX3cTG","W7ddOmkoda","WRiNWOa","WP1dACobsCkS","W5igWQ7cVmkyWRWOW7NcUmoH","W74WvefEdmk/E2zk","W7zmt8kjn34","WRhcVmkQjSkgW795W5HJW7O","vCo5lMGkge/dPSkFnG","W6hdOCofdMm","qhCclJ5UaWNcV8ka","WPKisG","EJWV","num6aSofqtG","rCkuW4pcSLWLW7JdOCkx","W6H8W6VcQglcQa","WPddOWJcTSkbBYNcUf4","WQPDW51ig0XtW5mJDW","W77cKSk0DCof","vwRdIITe","WQuWWRPczW","W7CqpeZcSmkOha","C8k2DSoZ","vhSmga","EMaSfW","xeeq","WO9fBa","v8oYoq","CI96W57cTY1Z","yI1+W7PSF0Dx","WP/dHb1RW6ldTINcLmkUW6TuW7a","W7qsleBcJCkJcttdPSko","pdz3W55IDq","uKBcLYGO","W4ZcLvOrWRVcRZNcL8k2W6y","W6DswSkHWQLIWPHiy0C","WOtdSG7cNSkAFcJcSvvP","WR4Tfe4k","W75SWRzpy8oJq23dGwa","WPrsCCobrCkNtLhcGc8","A8oppxO6","WO/dS37dICoZy8oWACoBnG","bK5WW6fXyvzwvb4","tmkbW4xcSL0SW4xdQmkfCG","W5pdJSo4WPK","BxVcVburErWaWORdMa","Dd/cGSonWQ/cRf8jW4T9","W6hdTCkthCk3W6fDWPuXW7m","c8odkrO","gmo0WQCmdCkGuSkWcmkc","WOeyvWmStL9ABHW","W4umWQNcICk+WQaHW6tcR8oj","W4CLaSoxD8oIW5RdKq","W6vmumoIWQC","WP58naldVSoy","W6L4W7u","vSoLe2Kv","b8oLgGtdRvui","ExpcGrfQ","qSoUp0Ghf0NdLSkepG","zehcHvfwaG","n0CRgCktbh8ExrO","rN7dTta","BqVcM3frdCkDaxO5","WR5AhrldGG","w8kLAKddQx4IWP4/FG","cmo/nWldUKy","W7a/W7Two8kOoexcJ3G","W6/dGe3cSSkMDdC","W68gWORcHCkf","WOX5iGJdVSodgSkQsCob","WPH9nfW","WOKHWQbzWR3cRYdcOConca","W4JdU8kilmkX","nMzCW5FdTWBdTbhcKh/cSCoz","WQGoBIfvWRbzW6LBwW","uCoZnfGddq","WQypi1tcRmkOdd/dTmkp","WOJcG8oKjXtdJwOpW53dPa"];return iL=function(){return t},iL()}var Onr=[$e(717,"iBpX")+$e(529,"YzKM")+$e(351,"!dbI"),$e(285,"cSk2")+$e(597,"f2C6"),$e(692,"B49t")+$e(610,"(O@[")],Pnr=new Set([$e(450,"tPoy"),$e(345,"$hvt"),$e(389,"lHXy"),$e(668,"f2C6"),$e(654,"uUex"),$e(619,"YzKM"),"ts",$e(470,"kI1Y"),$e(666,"uUex"),$e(626,"]sJ3"),$e(321,"H#%j"),$e(604,"NUA^"),$e(367,"]sJ3"),"rm",$e(390,"A[3w"),$e(376,"20ct"),$e(521,"NUA^"),$e(393,"iBpX"),$e(310,"F3h)"),$e(339,"(O@[")]),d6e=(t={})=>{let e=$e,r={OiPnC:function(a,o){return a(o)}},n=r[e(510,"yuUx")](String,t[e(642,"#*4]")]||t[e(696,"&k0w")]||"")[e(498,"8DL5")]()[e(602,"^([h")](/^\./,"")[e(509,"A[3w")+"e"]();if(n)return n;let s=r[e(574,"5K@$")](String,t[e(276,"wIP%")]||t[e(601,"vbM7")]||"")[e(252,"wIP%")]()[e(323,"wIP%")+"e"](),i=s[e(635,"uUex")](/\.([a-z0-9]{1,10})$/i);return i?i[47*32+1*3538+1*-5041]:""},Dnr=t=>Pnr[$e(274,"lET8")](d6e(t)),knr=t=>{let e=$e,r={UptDJ:function(n,s){return n(s)},SRcnu:function(n,s){return n||s},czDjR:function(n,s){return n||s}};try{return r[e(338,"NCIB")](decodeURIComponent,r[e(275,"mL$T")](t,""))}catch{return r[e(397,"iBpX")](t,"")}},Lnr=t=>encodeURIComponent(String(t||""))[$e(486,"5K@$")](/\*/g,$e(416,"lHXy")),Bnr=t=>{let e=$e,r={MoWMN:function(s,i){return s(i)},MpPbj:function(s,i){return s||i},ABJQS:function(s,i){return s===i},SdKwh:e(599,"vbM7"),iGRcE:e(576,"kI1Y"),hPGUi:e(713,"&k0w")},n=r[e(711,"hTux")](String,r[e(359,"cSk2")](t,""));if(!n)return"";if(r[e(518,"nM1l")](typeof globalThis[e(446,"nM1l")],r[e(418,"&k0w")])){let s=globalThis[e(643,"kI1Y")](n),i=Uint8Array[e(307,"#*4]")](s,a=>a[e(688,"&7e0")](1264*-2+8216*-1+79*136));return new TextDecoder()[e(266,"iBpX")](i)}return globalThis[e(379,"]oQm")]?globalThis[e(270,"!dbI")][e(320,"hTux")](n,r[e(278,"KdvK")])[e(539,"lHXy")](r[e(502,"1$*q")]):""},WV=class{constructor(){let e=$e,r={ptlsM:e(647,"YzKM")+"4",WlSfi:e(365,"NCIB")+e(677,"1$*q")+e(293,"rTn$")+e(290,"A[3w")+e(621,"A[3w")+e(535,"s1R8")+e(291,"!ahM")+"/",jCmBR:e(632,"*I%q")+e(548,"^([h"),dyIRw:e(262,"uUex")+e(354,"B49t")+e(357,"&k0w")+e(622,"yuUx")+e(568,"NUA^")+e(459,"#*4]")+e(649,"kI1Y")+e(362,"&k0w")+e(684,"XXV0")+e(455,"(O@[")+e(703,"Q*]n")+"6",bipwl:e(352,"KdvK")+e(331,"#*4]")+e(583,"Z*B!")+e(644,"]sJ3"),nLoiD:e(712,"&k0w")+e(702,"wIP%"),fGDII:e(257,"3BhN")+e(445,"mL$T")+e(424,"kI1Y")+e(272,"20ct")+e(366,"H#%j")+e(709,"!dbI")+e(249,"Z*B!")+e(408,"B49t")+e(680,"!dbI")+"|"},n=r[e(471,"3H)Z")][e(561,"&k0w")]("|"),s=-6*-48+-239*29+6643;for(;;){switch(n[s++]){case"0":this[e(674,"s1R8")]=[/https:\/\/yun.139.com\/shareweb\/#\/w\/i\/([^&/?#]+)/,/https:\/\/caiyun.139.com\/m\/i\?([^&/?#]+)/,/https:\/\/caiyun.139.com\/w\/i\/([^&/?#]+)/];continue;case"1":this[e(670,"5K@$")]=r[e(294,"iBpX")];continue;case"2":this.x=ks.default[e(667,"nM1l")][e(612,"A[3w")][e(613,"SjKy")](r[e(551,"H#%j")]);continue;case"3":this[e(611,"H#%j")]={"User-Agent":r[e(698,"20ct")],Accept:r[e(662,"!dbI")],"Content-Type":r[e(381,"lHXy")],"hcy-cool-flag":"1","x-deviceinfo":r[e(590,"kI1Y")]};continue;case"4":this[e(330,"lET8")]={};continue;case"5":this[e(514,"Q*]n")]="";continue}break}}[$e(631,"yuUx")+$e(714,"#*4]")+"n"](){let e=$e,r={QyscH:function(s,i){return s(i)}},n=Onr[e(282,"]oQm")](s=>globalThis[e(273,"F3h)")]?.[e(517,"vFQ3")]?.[s])[e(411,"*I%q")](s=>String(s||"")[e(464,"IfEw")]());return r[e(607,"3BhN")](String,globalThis[e(404,"XXV0")+e(522,"iBpX")]||n||"")[e(474,"3H)Z")]()[e(402,"#*4]")](/^Basic\s+/i,"")[e(618,"mL$T")]()}[$e(558,"mL$T")+$e(681,"f2C6")+"er"](){let e=$e,r=this[e(324,"3BhN")+e(685,"F3h)")+"n"]();return r?e(300,"3H)Z")+r:""}[$e(614,"H#%j")+$e(483,"*I%q")+$e(427,"F3h)")](){let e=$e,r={wjwtp:function(s,i){return s(i)},VVdSI:e(453,"F3h)")+e(259,"*I%q")+e(279,"vbM7")},n=this[e(693,"hTux")+e(451,"uUex")+"n"]();if(!n)return"";try{return r[e(371,"]sJ3")](Bnr,n)[e(369,"8DL5")](":")[-44*-134+-2123+943*-4]||""}catch{return console[e(686,"mL$T")](r[e(341,"Q*]n")]),""}}[$e(417,"s1R8")](e={}){let r=$e,n={...this[r(673,"Z*B!")],...e},s=this[r(497,"cSk2")+r(287,"YzKM")+"er"]();return s&&(n[r(462,"20ct")+r(532,"IfEw")]=s),n}[$e(264,"(O@[")+$e(349,"20ct")](){let e=$e,r={IGrkL:e(355,"uUex")},n=this[e(545,"1$*q")+e(348,"yuUx")+"n"]();return n?ks.default[e(443,"lET8")](n)[e(694,"3H)Z")]()[e(682,"tPoy")](373*-1+5167+1*-4794,-3232*-3+-7101+-199*13):r[e(536,"qf0c")]}[$e(554,"NUA^")+$e(383,"hTux")](e){let r=$e,n={MAVQr:function(i,a){return i===a},AUpQC:r(261,"cSk2"),SSOvU:function(i,a){return i(a)},dFtoJ:function(i,a){return i||a}};if(e&&n[r(651,"$hvt")](typeof e,n[r(475,"f2C6")]))return e;let s=n[r(706,"&k0w")](String,n[r(447,"SjKy")](e,""))[r(317,"#*4]")]();if(!s)return null;try{let i=this[r(655,"Q*]n")](s);if(i)return JSON[r(325,"&k0w")](i)}catch{}try{return JSON[r(342,"yuUx")](s)}catch{return null}}async[$e(646,"hTux")+"pi"](e,r,n=1*2589+5*-2371+17266){let s=$e,i={qexYT:function(c,u){return c+u},LYDcw:function(c,u){return c!==u}},a=JSON[s(656,"F3h)")](this[s(394,"mL$T")](JSON[s(542,"Q*]n")](r))),o=await Ae[s(428,"]oQm")](i[s(265,"#*4]")](this[s(444,"s1R8")],e),a,{headers:this[s(410,"!dbI")](),timeout:n});return i[s(431,"KdvK")](o[s(334,"8DL5")],200)?null:this[s(689,"kI1Y")+s(592,"XXV0")](o[s(541,"f2C6")])}[$e(360,"20ct")+$e(333,"]sJ3")+"fo"](){let e=$e;return{account:this[e(465,"20ct")+e(374,"5K@$")+e(295,"XXV0")](),accountType:1}}[$e(492,"&7e0")+$e(640,"NCIB")+"nt"](e){let r=$e,n={QVwkN:function(s,i){return s===i},LECin:function(s,i){return s(i)}};return e?n[r(426,"Z*B!")](e[r(421,"cSk2")],3023+278*-24+3652)?!0:n[r(392,"nM1l")](e[r(387,"qf0c")],-578*15+-4310+12980)&&n[r(499,"3H)Z")](Dnr,e):!1}[$e(433,"(O@[")](e){let r=$e,n={uvcIG:function(a,o){return a==o},WStHG:r(506,"$hvt"),SLESc:function(a,o){return a===o},jZeFu:r(487,"tPoy"),NAUrk:function(a,o){return a!==o}},s=ks.default[r(490,"XXV0")][r(629,"&L(#")][r(495,"lHXy")](1286*-2+-1001+3589),i="";if(n[r(347,"kI1Y")](n[r(385,"kI1Y")],typeof e)){let a=ks.default[r(550,"rTn$")][r(543,"H#%j")][r(679,"YzKM")](e);i=ks.default[r(653,"B49t")][r(253,"cSk2")](a,this.x,{iv:s,mode:ks.default[r(572,"1$*q")][r(480,"SjKy")],padding:ks.default[r(312,"cSk2")][r(546,"NUA^")]})}else if(n[r(460,"uUex")](typeof e,n[r(284,"B49t")])&&n[r(461,"cSk2")](e,null)){let a=JSON[r(437,"SjKy")](e),o=ks.default[r(531,"d$GU")][r(458,"*I%q")][r(328,"s1R8")](a);i=ks.default[r(500,"(O@[")][r(299,"!ahM")](o,this.x,{iv:s,mode:ks.default[r(589,"#*4]")][r(322,"^([h")],padding:ks.default[r(395,"20ct")][r(700,"lET8")]})}return ks.default[r(667,"nM1l")][r(559,"kI1Y")][r(658,"(O@[")](s[r(718,"20ct")](i[r(391,"$hvt")]))}[$e(627,"d$GU")](e){let r=$e,n=ks.default[r(378,"KdvK")][r(286,"1$*q")][r(344,"IfEw")](e),s=n[r(695,"1$*q")](),i=s[r(507,"mL$T")][r(645,"f2C6")](1*-2267+-8154+2085*5);s[r(388,"qf0c")](s[r(301,"F3h)")]),n[r(587,"&L(#")](i);let a=ks.default[r(669,"20ct")][r(267,"F3h)")][r(494,"&L(#")](n);return ks.default[r(600,"]sJ3")][r(370,"3H)Z")](a,this.x,{iv:s,mode:ks.default[r(466,"NCIB")][r(329,"kI1Y")],padding:ks.default[r(595,"yuUx")][r(292,"iBpX")]})[r(513,"IfEw")](ks.default[r(557,"#*4]")][r(479,"vbM7")])[r(503,"lET8")]()}async[$e(512,"qf0c")](e){let r=$e;this[r(639,"5K@$")][r(609,"vbM7")](n=>{let s=r,i=n[s(598,"20ct")](e);i&&i[362*-7+8522+-5987]&&(this[s(553,"uUex")]=i[1])})}async[$e(441,"vbM7")+"fo"](e){let r=$e,n={FeybT:r(289,"3BhN")+r(477,"!ahM")+r(281,"3H)Z")+r(577,"nM1l")+r(671,"XXV0"),YoiBc:r(549,"wIP%")+r(540,"KdvK"),ftJtN:r(463,"NCIB")+r(623,"]sJ3")+r(584,"B49t")};if(!this[r(528,"(O@[")])return console[r(593,"mL$T")](n[r(314,"3BhN")]),null;let s=this[r(634,"mL$T")+r(562,"IfEw")]()+"-"+this[r(648,"A[3w")]+"-"+e;if(this[r(641,"nM1l")][s])return this[r(346,"vbM7")][s];let i=this[r(373,"*I%q")+r(263,"]oQm")+"fo"](),a={getOutLinkInfoReq:{account:i[r(663,"Z*B!")],linkID:this[r(530,"&7e0")],passwd:"",caSrt:0,coSrt:0,srtDr:1,bNum:1,pCaID:e,eNum:200},commonAccountInfo:i};try{let o=(await this[r(319,"1$*q")+"pi"](n[r(715,"kI1Y")],a))?.[r(377,"(O@[")];return this[r(582,"H#%j")][s]=o,o}catch(o){return console[r(326,"F3h)")](n[r(468,"8DL5")],o),null}}async[$e(485,"uUex")+"ta"](e){let r=$e,n={DGHIp:function(c,u){return c in u},ewGUF:function(c,u){return c>u},FfOfh:function(c,u){return c(u)},qNAwx:r(555,"&7e0"),iQvUm:r(566,"$hvt"),sReYy:function(c,u){return c===u}};if(!e)return{};let s=e[r(304,"3BhN")](n[r(454,"XXV0")]),i=s?n[r(448,"]sJ3")]:e;s&&await this[r(650,"20ct")](e);let a={},o=await this[r(652,"H#%j")+"le"](i);o&&Array[r(254,"XXV0")](o)&&await Promise[r(396,"]oQm")](o[r(340,"YzKM")](async c=>{let u=r,l=c[u(488,"vFQ3")]||c[u(384,"F3h)")];!n[u(308,"3H)Z")](l,a)&&(a[l]=[]);let d=await this[u(368,"Q*]n")+"l"](c[u(501,"A[3w")]);d&&n[u(260,"H#%j")](d[u(399,"f2C6")],-15182+-7591*-2)&&a[l][u(704,"KdvK")](...d)}));for(let c in a)(!Array[r(380,"Z*B!")](a[c])||n[r(336,"vFQ3")](a[c][r(482,"YzKM")],6842+-69*129+29*71))&&delete a[c];if(n[r(567,"KdvK")](Object[r(519,"^([h")](a)[r(399,"f2C6")],1*5314+-4*1117+-94*9)){let c=await this[r(423,"Z*B!")+"l"](n[r(573,"wIP%")]);c&&Array[r(556,"F3h)")](c)&&n[r(260,"H#%j")](c[r(412,"H#%j")],-5935+-34*98+9267*1)?a[n[r(255,"5K@$")]]=c:(a[n[r(544,"uUex")]]=await this[r(524,"A[3w")+"le"](e),a[n[r(364,"NCIB")]]&&Array[r(699,"SjKy")](a[n[r(520,"KdvK")]])&&(a[n[r(624,"mL$T")]]=a[n[r(606,"F3h)")]][r(708,"SjKy")](u=>u&&Object[r(413,"hTux")](u)[r(337,"NCIB")]>7110*-1+-47*-169+-833)))}return Object[r(664,"IfEw")](a)[r(403,"KdvK")](c=>{let u=r,l={kPRcT:function(f,p){return n[pu(491,"lHXy")](f,p)}},d=Array[u(637,"$hvt")](a[c])?a[c]:[];a[c]=d[u(516,"IfEw")](f=>f&&f[u(356,"A[3w")]&&f[u(277,"#*4]")])[u(298,"^([h")](f=>{let p=u;return{vod_name:f[p(401,"*I%q")],vod_id:[f[p(283,"iBpX")],f[p(436,"NUA^")],l[p(660,"NCIB")](Lnr,f[p(306,"f2C6")]),f[p(407,"B49t")]??""][p(603,"&7e0")]("*"),vod_size:f[p(665,"H#%j")]}}),!a[c][u(358,"d$GU")]&&delete a[c]}),a}async[$e(615,"&L(#")+"le"](e){let r=$e,n={zOYRK:r(429,"NCIB"),WqADz:r(256,"Z*B!"),SmdCI:function(s,i){return s>i},NJIsK:r(687,"vbM7")+r(309,"tPoy")+r(316,"B49t")};if(!e)return null;try{e=e[r(303,"H#%j")](n[r(675,"vbM7")])?n[r(467,"(O@[")]:e;let i=await this[r(311,"!ahM")+"fo"](e);if(!i||!i[r(565,"lHXy")])return null;let a=i?.[r(305,"YzKM")],o=a[r(422,"nM1l")](d=>d[r(628,"s1R8")]),c=a[r(585,"XXV0")](d=>d[r(398,"mL$T")]),u=/App|活动中心|免费|1T空间|免流/,l=[];if(a&&n[r(547,"3BhN")](a[r(638,"8DL5")],-8*266+20*-179+5708)){o[r(552,"!dbI")]((f,p)=>{let m=r;!u[m(472,"yuUx")](f)&&l[m(439,"#*4]")]({name:f,path:c[p]})});let d=await Promise[r(481,"tPoy")](c[r(375,"3H)Z")](async f=>this[r(659,"d$GU")+"le"](f)));return d=d[r(280,"YzKM")](f=>f!=null),[...l,...d[r(636,"Z*B!")]()]}}catch(s){return console[r(400,"qf0c")](n[r(363,"wIP%")],s),null}}async[$e(271,"!dbI")+"l"](e){let r=$e,n={IhITm:function(s,i){return s in i},pCuOm:r(564,"s1R8"),yXpTv:function(s,i){return s!==i},uubvP:function(s,i){return s!==i},diwTx:r(581,"20ct")+r(430,"lET8")+r(438,"iBpX")};try{let s=await this[r(705,"wIP%")+"fo"](e);if(!s||!n[r(420,"3H)Z")](n[r(406,"kI1Y")],s))return null;let i=s[r(523,"XXV0")];if(n[r(361,"KdvK")](i,null))return i[r(457,"yuUx")](o=>this[r(563,"nM1l")+r(579,"YzKM")+"nt"](o))[r(440,"kI1Y")](o=>({name:o[r(327,"lET8")],contentId:o[r(386,"8DL5")],linkID:this[r(515,"!dbI")],size:o[r(452,"*I%q")],path:o[r(398,"mL$T")]||"",coType:o[r(405,"wIP%")],suffix:d6e(o)}));if(n[r(382,"1$*q")](s[r(511,"mL$T")],null)){let a=s[r(661,"KdvK")][r(697,"cSk2")](c=>c[r(588,"#*4]")]),o=await Promise[r(315,"rTn$")](a[r(469,"iBpX")](c=>this[r(415,"tPoy")+"l"](c)));return o=o[r(288,"NUA^")](c=>c&&c[r(657,"cSk2")]>0),o[r(335,"SjKy")]()}}catch(s){return console[r(534,"nM1l")](n[r(617,"mL$T")],s),null}}[$e(575,"kI1Y")+$e(690,"SjKy")](e){let r=$e;return e&&(e[r(701,"20ct")]||e[r(313,"XXV0")+"L"]||e[r(594,"8DL5")+"L"]||e[r(605,"f2C6")+r(318,"s1R8")])||""}async[$e(449,"hTux")+$e(484,"$hvt")+$e(434,"*I%q")](e,r){let n=$e,s={nYdVd:n(676,"NUA^")+n(250,"]oQm")+n(571,"uUex")},i=this[n(537,"^([h")+n(372,"8DL5")+"fo"](),a={getContentInfoFromOutLinkReq:{contentId:e,linkID:r,account:i[n(586,"$hvt")]},commonAccountInfo:i},o=await this[n(302,"lHXy")+"pi"](s[n(425,"nM1l")],a);return this[n(297,"lET8")+n(560,"]oQm")](o?.[n(493,"&L(#")]?.[n(478,"kI1Y")+"o"])}async[$e(473,"^([h")+$e(527,"yuUx")+"ad"](e,r){let n=$e,s={BSYvU:n(489,"lET8")+n(432,"!dbI")};if(!this[n(633,"!ahM")+n(508,"d$GU")+"er"]()||!e)return"";let i=this[n(683,"3BhN")+n(353,"mL$T")+"fo"](),a={dlFromOutLinkReqV3:{account:i[n(343,"mL$T")],linkID:r,coIDLst:{item:[e]}},commonAccountInfo:i};return(await this[n(646,"hTux")+"pi"](s[n(625,"^([h")],a))?.[n(414,"lHXy")]?.[n(525,"3H)Z")]||""}async[$e(596,"d$GU")+"ay"](e,r,n="",s=""){let i=$e,a={NUWoV:function(c,u){return c(u)},KEOlY:function(c,u){return c||u}},o=a[i(496,"20ct")](knr,n);return this[i(678,"(O@[")+i(578,"F3h)")+"er"]()?await this[i(608,"NUA^")+i(691,"8DL5")+"ad"](a[i(476,"8DL5")](o,e),r):await this[i(504,"vbM7")+i(419,"yuUx")+i(332,"F3h)")](e,r)}},$V=new WV;var Sqr=Re(Jn(),1),_t=Il;(function(t,e){let r=Il,n=t();for(;;)try{if(parseInt(r(552,"EBu["))/1+-parseInt(r(588,"2CNl"))/2*(-parseInt(r(423,"$K(D"))/3)+-parseInt(r(679,"7WHS"))/4*(-parseInt(r(464,"KEzV"))/5)+parseInt(r(911,"n#dP"))/6*(parseInt(r(678,"jJi*"))/7)+parseInt(r(768,"KVv4"))/8*(parseInt(r(636,"spAe"))/9)+-parseInt(r(777,"n$nf"))/10+-parseInt(r(921,"Z3]t"))/11*(parseInt(r(507,"7WHS"))/12)===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(aL,-222221+-15551*-58);var nb=_t(856,"^oo)")+_t(480,"2iTo")+"n",f6e=_t(775,"KVv4")+_t(729,"3Ga)")+_t(402,"$K(D");function UV(t){let e=_t,r={RSKpd:e(895,"sI6$"),SRmrB:e(650,"PBWo")};return Buffer[e(847,"Z#jd")](t,r[e(491,"PBWo")])[e(415,"sI6$")](r[e(487,"$K(D")])}function Mnr(t){let e=_t,r={QNVxs:function(n,s){return n(s)},JzzQp:function(n,s){return n||s},bagPy:function(n,s){return n+s},bXQLA:function(n,s){return n%s},unavS:function(n,s){return n-s},cgpFk:function(n,s){return n%s}};try{let n=r[e(892,"^oo)")](String,r[e(592,"KEzV")](t,""))[e(476,"[g$U")](".")[1]||"";if(!n)return null;let s=n[e(743,"aL3e")](/-/g,"+")[e(915,"Z3]t")](/_/g,"/"),i=r[e(710,"aL3e")](s,"="[e(632,"3Ga)")](r[e(586,"^oo)")](r[e(468,"Pqls")](8174*1+-2544+-5626,r[e(629,"8rP)")](s[e(857,"aL3e")],-4644+-8*-581)),-1480+-134*2+1752)));return JSON[e(897,"1Jsl")](r[e(725,"zTXO")](UV,i))}catch{return null}}function Wnr(t){let e=_t,r={LXxCM:function(n,s){return n(s)},snpaw:function(n,s){return n||s},fKIBH:e(794,"3Ga)"),droKK:function(n,s){return n(s)}};try{let n=new URL(r[e(494,"3Ga)")](String,r[e(666,"GBUh")](t,""))),s=n[e(569,"[g$U")+"ms"][e(742,"pd]6")](r[e(604,"GBUh")]);if(s)return r[e(551,"1g%Z")](UV,s);let i=n[e(483,"x&B#")][e(796,"q5v@")](293*19+1*-5577+-1*-11)[e(680,"2CNl")]("&")[-8691+-17*-98+7025]||"",a=i[e(820,"Bc2A")]("=")?i[e(560,"7WHS")]("=")[-5096+1*5097]:"";return a?r[e(789,"gIJp")](UV,a):""}catch{return""}}function p6e(t){let e=_t,r={wYryw:function(n,s){return n(s)},PhDPF:function(n,s){return n||s},pkqlq:e(572,"7HAV"),uQfcY:e(550,"gIJp")};try{let n=new URL(r[e(905,"7%IF")](String,r[e(693,"2CNl")](t,"")));return n[e(824,"dfe3")]=n[e(784,"[g$U")][e(589,"KEzV")](/_24_24(?=\/|$)/g,""),["w","h",r[e(461,"n$nf")],r[e(420,"8rP)")]][e(505,"[U(&")](s=>n[e(511,"^oo)")+"ms"][e(835,"4jZl")](s)),n[e(851,"u^kX")]()}catch{return""}}function $nr(t){let e=_t,r={htgGZ:function(n,s){return n(s)},HcwgG:function(n,s){return n(s)},EPvQz:function(n,s){return n||s},qqmzy:function(n,s){return n(s)},ZgGyO:function(n,s){return n||s}};try{return r[e(727,"8#fg")](decodeURIComponent,r[e(697,"3Ga)")](String,r[e(840,"$ac(")](t,"")))}catch{return r[e(530,"7HAV")](String,r[e(810,"1Jsl")](t,""))}}function aL(){let t=["WP9vwSoVW5eLW5BcUNldLa","ymkpWPLyvmkUW7e","W77dNmkVFay","W4RcQSkYWO7cUSkuWPm","WROPWQi","WQD1W5C+","WOpcRXSdaW","W5PKi1tdUG","v0WXqa","WPJcNCoIzr8qASojW7VcMq","WOKpzSk2lq","rCo+Eru","W5ldNCkGAaXSrdldONG","W45kW5fqna0b","W5/cRv3dTSoKn8kJW4hcSJ0","eCoyDG","WO7cL8kSzXazq8khW6dcLG","W4jFW4S","abyv","FCkoWRLoq8kqW6m+W6G","WOagASkmWRmTbSkgbqu","sWVdRg3dGCkNqfVdJrO","cfdcQhldTq","WPW6Fa","W5FdRKOJ","WOSVW6ZcRCoZW6RdG3eqW4G","WPJcIIKE","WOxcHISp","ff7cQZpcJCkoAuhdSJrE","ASoyWRJdVSo2","WPDWDCoYpSkYW7nG","WQtdM1FcOYDdfG","zSoJDbFcPWv6hCkz","zCkNmCkdW5K","WQCknCk7Bf3dV8k7WO9E","CCo9jGZcPCoWWQNdTSki","vSoUWOFdN8oJE0m","yComW4eyht4fW4FcS8kh","W4pdRKOQ","BSoXWO3dOSoY","W6xcHKlcHGbGmWe","W6JdJCkYrmkbW6e6WQjula","v8owBa","WQZcRuXWWQuYjKVdUN0","yCo/BbO","Fqz+","WOymFmkqWROWrW","W7JdKMvkvSkoW5GquSoAAq","WQ9em8k7zG","ECkDWRz1r8k6W7WZ","cSocW4yFxIqxW4BcLmo6","W7ldVmouvmoQ","FCoBW74MpG","rSkmd8kSW5u","WRzXFSo4pSkYW7nGWRO1","iSoniq","xtOqESkn","WRpdOGlcP8kkWQhcNmkM","WOpdGs/cHCkq","W6DsW6xcNY9ana","eCkFtSoJW44","WOzZzCkZWOm","jmkhDSoeW6FcU1BdPa","W7ddHCoFz8ok","W69rW5tcGtrclmkNWRX3","hCk/tSoMW4a","WOxdVH3cQG","qdevwSkW","W7NdUvumjG","jCkfjq8","CvuGrIrrm8oR","zqCqWRLfW4/dTa","WQFdH0pcPq","WQ9XW404eCo7","WOhdTSkPAaztrhRcTJm","qKhdSNpdL8knfe/dIXC","uqWlBmkH","WRaTWQBdPSk8iY3dKh7dNG","W5BcTeZcMa","W4CiW4BdPqyr","zSkpemkJW7euW6VdL35P","WOrDWOBcSLjvsrDlDfZdUmoLqq","WRqiBSkrWQGTfCkg","nmk7lcJcJGvqaSkg","WOpdGJtcMmkQ","W6vgW45ggWSjlW","fhVcHJNcLN3dSW","W5pdI8kFWPm+","Df04rGPA","DY5oW6Xy","WPRdNuRcPbrggxBcJ30","WP/dRaBdKSo6nSk1W4O","W7VdI8kRhmozWRv7WR43sG","WRVdLCkYD8osWONcG1tdVZm","WP8RWRe","ymkdrgFdUSkwW7FcQmoPqq","WQX7ySoOf8kOW7q","WRBdIMhdVG","W4/dKCkVgG","cJ5XW6JdSSkoW68","W5XMiW","WQykpCoTWQJcIW","l8oRAbVdLW1YhmkzCa","sCkRgCkeW6i","W7RdOvGTl1ZcM3K","gwNcSYO","W5ldQ1O","f0hcReldTmoh","W6PaW5dcJa","xH3dVxtcHCk2E2RcJK4","55QL5B2l5OId5yIc","u0q9","WOJdNSkxaSonWO18","W6FdMCoTD8ov","WRJdPbVcL8k5ySoNW5BdS3O","WPVdRqe","sa/dRge","W6tcOmk0WPxcSCkZW4hcPG","z1ycWRVcMMWHWOS","W4ecW53dPqK","xSobEW","xLSZsI1Rm8o+","WOVdRahdGa","W6tdLSoUzCovWO/dNLy","mmkznbHZk1a","gXtdK3ddGmk0sq","WPGHFuxdPafHWQpcLa","m8k9Fc7cVW","WO7dKx3cRZeZi2/cP8oy","WQZcHIC","WR7dNfNcUq","WOHfxCoi","W4BcQ8kRiCk3","WO4OW7ZcP8k5","wftcMCkXz8od","W4xdLmk1EW","ytWBWRbd","r8omW5KAfdak","ESkuWRLyq8kDW608W7tcQa","j8ksD8oEW7NcS03dTSos","emkLvbFcJq","W4ddSSo0E8o4","W45xW5HUoG","WQ0hFSkoWQOMaSkr","W70oW4hdPYa","WQ/dKwa","d0BdVezk","imkuBmoA","rGqqt8kK","mmkSFHJcU8ohWQRdQ8kLdG","yCoIWOldN8om","xSoNWRldL8oT","gs51W6W","WQ/cQZyAa8kCW4S","yHen","WQ3dQbtdK8oOk8oN","W5FdLSoPC8ofWO/dNKS","m8kwnZPL","jSkKFclcGSoc","hZ51W5FdU8kmW7JcPsBdKa","WPaMCmk8kaX+W4ZcO3G","WRBdJdpdHSoe","W5BdISk4f8onWPv8","hJrZW4hdSSkoW6i","W43dNSkfCtS","WOxdL2VcOXq7","WPNcK8k5Da","c8k9fbnW","WRbulCkhBq","hCokzq","B8kvWRrEq8k9","yafpW7nH","W4ZdPmkaWQqC","WRv4umkN","W6zvW4pcQGC","dwNcTdJcLhpdUeq","W5ieW5JcRLzxtLDDBW","qGOpqG","W7pdKSoP","hCovAG","WQvamCkVD1S","5yQB5B6z44c06yAp576D44c+56M+5RU46l2t6kof","W5pdRCkuFsa","rZ01CCkEWQRcT8kay8ka","WPK8pmkWW7hcHCkgWROJwG","W7VcMCkMWRtcRa","W7ldS8ohxSop","WPvfW73dIdmOmqSCBq","WRP/z8o8","WOORW6O","i8ksiaz9ive","zCkAn8olWQFcQbddRmky","qeCXv35RfCouW5Ow","ECkmWOT9Cq","W4VcS8k8mCkW","W4JdNSkKoI5BqJ7dQcK","W5tdQKO","v1njbSogW7tdVCoFl8ot","W7BdU18L","W6/cQSkN","wGNcObSFW7rjWQhcG8kH","W7nxke/dGa","lJVcJc7cNvRdPLhcKa","pCkiumooW5u","WO/cL8k9ErisDG","W6naW5q","nG9uW6NdTa","W5X+WQ4","WRHaFSk2WQy","fIHIW6VdT8keW6tcPW","A1K6Aai","WQ1UF8o0bG","W5VdRK0","yLuJWQ/cKa","WP9BzCotma","babNexTke8oyWRzzWQa","ASkEfmkSW7a","qSogW4i","EflcH8krt8oeyW","WR9Uy8oXg8k4W6fGWPuZ","CYW/C8kS","zSoRAHVdL14Or8osBa","wKaGuZaeBSk9WPTb","mMtcTMVdNa","WR3cTtCkW4rpxLFcRwtcGSoRahu","CSostrxcSq","fdrOW6O","WPr8rCkWWPzDWOC","WRy6p8oXWQJdMCoqW7bpbq","WOyRW6FcTW","W45Xo3hdPXfcWOFcT0C","WO3cK8k5Fr0qFSkd","WR0pWPtdG20pFCoZWOz5","WQuAFG","qtKRw8kc","W6ddP18WbMxcN2K","BGirWP5H","r8oDECkCW6BcIfSOB20","W7tdJCkOxCkaW6KTW7rrlG","W63cVCo8W47dQCoiWOpdPmksW50","WPuGuSkwma","W4umW4tdOqOw","c8oOWPldNCo2FvtdRuFdPG","W5bdW4Tama","sWVdReBdKCkpsL/dOq8","WOmZC8k/lrPRW5hcPxK","WP5zqSofW6WHW5lcTgm","sWVdRa","vmkwgSkQ","zSoJDaBcNrK","W7/cMmkuWOxcLa","W4JdM8o+AaXAscFdOMm","dSkpzSo6W6e","qSkvWQWfe8o8WR91WQldPG","WQv1W5e2sSkMsColfZu","xqr9W6zocGHJ","edPY","WRxdQJldMmoc","FchdI1q","Dmo4Cr8","W4r1pW","sSkKWP3dGmoTDG","FWqbq8kMWQxcUmkZCZ0","tLmGiCoFW7BdVmoNpCoc","WOqQB8k2gXDRW4JcQq","WQ9UsCkRWPu","WQxcJcq","D1pcLSk4w8odBSo+","CCo4iJ/cOCoaWP/dQmkd","W5PGpvtdOaboWRxcVa","gmoyCSoL","W5hdLmk1CGDFtda","W53dReLAWRi","EWFdTJBcJmoyd1tcLui","W6tdT1ydla","g8koxCkOW7/cLLSCFKS","W7pdRSktcSo8","bGKycmoL","mv7cJGpcNa","mmkSyZtcU8ojWQVdRa","whnkW4ZdH8kGW4BdReRdLq","FrLAW7TWaGi","W6ZcQSk/WPNcQ8kd","dKldPgzhWRSlW6tcMCkU","WQFcMCkTomksW47cNbldHt4","6i2G5y6E55IkWOtdPNhLRPNNORtMIklLIkG","WR/cJb8uemkCW4SAzCoD","iImxamov","WRNcHJqEhW","W4FdMCkGBG","W5ZcJCkvla","ur56W64","oSkpCCo7W7O","W51jW4xcNZHXoSk3","g3RcQcy","WQaiACkd","WOJcLCkaAHLsraldOMi","W6NcO8k/","vva9WQRcPMqIWOK","sahdR27dLmkmtKJcJb8","W4/dHCkOgG","WR3dNvNcOW","pSkapGzZi1a","B8klfmk/W6TnWQxcJgbX","pCkspG1OkG","WQSTzCk8cbb5W5e","W77dOhznWPqmhG","W7ecW4hdRGSkhenPCW","iCk4zc8","qW/dR0VdVG","W71jW4xcNZHQkmkQ","m8kdCq","WOTvxmowW5y9","WQOdhmoOWR0","jmkhDSoeW6dcU1BdTa","b0hdVW","WP9Gf8kdCG","nCkwjaS","mmkhCCow","WOJdQahdPCoIlSkPW4lcQI8","WRxdJHldK8od","WQ5sFmo7jq","BaCKWRPh","WPDAvSkhWQyec8kdnW","xviY","rdNdThNdKs7dS3/cMeRcN8ka","WOXdDmk6WOi","B8kqWRDfva","W5nTm8o9DfC6WOxcN3C","WOvCW41wjWKbfsDI","WQq4WR7dNmkG","WPv3z8kYr8oOWRC6W49Q","DmoJWPhdO8oO","WPtdRWO","W4WJW5/dRqy","W67cOmkHWRNcVSkfW5S","W63dHSoVwCom","WQFdN3pcPW","pJjTW6hdMSkj","vSkXnSk3W6S","WRBdJwlcMtK2mcxdSCkc","5BgM5P6t55M95B+r77+B5B6+5AsT55QL5B+X","WOaICmk2CK0","omkjyG","WP/dRaFdKSoO","l07dVfbMWR4","W4jlW4y","6i2y5y2B55QTWPdcV2ROT6hLJzNMI5xLI5e","W6CPfa","wCkUWPvTDa","WOBdVJtdK8o/omk+","WP0VW63cT8kSWRdcGJi","W5NcU8kiiCkr","hComCSoS","W5O8W53dKca","vColAmklW6FcM0WUuKC","W7BdISk6hCo5WRnPWQ4","W63dShnq","rHRdTr/cJSkqiHLXbmkTWQhdQq","rZaji8oaW7FdVmkFACkr","mmk4yY8","W4lcJCktnG","v8ogW4yAedib","W47cPSk/WPNcKCkhW57cRW","WPtcNmkKyq","fCk5W4tNMAVNM7NLVy3LPjFOTQtVVktORBy","avBdNMn5","WQrXW5CBcSoKfmkqvMC","fmktWO5orMHqWPdcTmkZafO9W7S","Dxea","WRjNWR7dNmkNnNddM1FdGa","WOtdMLhcVX1/cJu","WRzNW4yBdmoHh8kFtui","eSkpACosW5NcTuNdTq","WOxdQGdcNCkLWRxcHCkR","uSoAACoP","zH8z","W4JcI8kwpCkVWPm","WQxdL0hcUb1zda","WOyID8kY","ySoHt8km","WOOICa","DSoHW6yYmW","W51jW4xcNZHQkmkQ","duBdPfq","WRicumkuWRy","WPxcHmo1qb9qAIFdVq","Fa9CW6n4","WPySumkNnHbKW4i","W43dKSoLqHOFD8kjW6xcHa","W61jxmksWQ8UaSk1nru","WP4RW6O","WRe6lmo6","rZODsCkt","WRXxmW","feVcRs3cKa","t8kimmk1W6BdICkhWPFdSNfQ","mmkQmcxcKqv/h8klla","WPpdNuFcOXrfgt3dRYe","CgVcP8kUAa","zqddVM/dTmkkxfG","W6FcRSk3","mu3cLmk6h8kvoa","luFcLb8","frjfW4BdLq","W4/dGYhcGCk8ACoPWP7dVM4","W7ZdPgLNWOeEgrtcQN4","W7JdKSoZCCowWOG","W5/dOfCS","W4dcLCkBWQtcSq","WOFdRH/cT8kHWRpcHq","W6RdRgTDWP8EbWi","WRL7zW","rKxcV1rFWRnwW7lcUmkH","fCoxB8oW","WQ3dNYFcMSkk","WQZdJgVcJba","lmkIDW","CLJcM8kZwSop","emoCAmoJWQpdLG","xmokWP/dN8o2","W5xdIaBcSmkRWQ3cLmoShJa","B30HWPFcGG","W6ZcUSkrd8kE","W7HiW4dcIdj+pCk/WRrH","WRtdNHNcPmkb","iCkJDdxcPmopWR0","gh7cK0/dJW","svtcM8oIgSkCk8o1W5/dLq","W7qMWPzNvSkGsmk2AMxcKSouwa","55QY5B2W6l6y5P+x77Yp6yE+5Pw055QJ5B6Y","WRS7iCoR","W73dHmoCzmoqWOhdLq","swNdHbuEW6PxWRhdQ8oG","W7ZdRNzuWOa","Dq5/","BmkAWRLFsSk7","hmk7W4tcGmk3DwddRhNdG8oV","WPSnCSkvWReUcmkdna","tmonW58c","tNSWWRxcPSkVW7JcRX3dIG","heNdSun8","etvIW6JdPSkjW6/cSW","gM3cSZNcI3pdVL3cJLq","imkIuZRcRczxxmoCmW","WOBdVW/cTSkXWRm","FYZdIetdUG","WQr8q8kNWOS","WPfGW7i2iG","WO7cGSkHFaC","h8kskb4","W5hcI8k2aCoAWRqHWRKkEq","WQ7cM8k3Ca","WRq6WPjTvSoJg8ksf2u","qCoABSkXW6hcNvCTyG","W4fkW7ZcQdO","zW96W7THcW","W63dN8kLWRq","BSkzW6vDq8kTW7SYW6xcTq","W63dQ2nkWP4wdG","l8oRA8o2WPu","wSopBW","W4/cKSkt","WORdKghcQre2mtq","WPhdRuZcTJK","W6FcSSkqhCk0","WReRySkHisL9W4e","W7K1W47dGYO","CmknWQPLsa","WOrFWOxdSayluLeolW","geBcPeldHCoSDG","WRm7BCkQkG","vSo4WPldH8k/txldHWxcUq","WOiaCCkhWPyM","d8orz8o2WRldTCkdWQC","kmkeqt7cMG","CLCpWQZcSv07WOO","W6ZdJMBcQgXTCw8","WQigB8kNWR4HdW","bSkKFclcHCohWRtdVq","WPSGpxBdTI1SWOS","sSooWPNdLCoO","ELJcVSkYwG","W6HoW5BcQdXcjq","DmkAaCk9W7SFW5RdGMvN","W5ddJfGooq","WOzVsmkKWRu","WPdcHCo5iL4hfwBdLwBdTupdQmoM","W4ddR1RdGmo9mmoOW5JcRcO","WQ0cEmocWPGNbmkjp14","p8oiW6SyhSk7W5OrW5dcP8os","gt9L","eXWaiSoB","ACoAurpcKG","yCo6Cq","W4BdGCkV","WPCbFmkqWROsemkg","W6boW5zgmGuwmW","W51fW4hcUJa","WP/dKSome8kiWQhcJSkXaW","sWmrWRzN","W63dTMq","WOekr8kLWQ0","EmknWRvqxW","WRuWpmomWQZdL8odW7fCbq","WR3dQCk+WQ4aW4TTW7ZcVwi","W7tdH1GOfG","WR9Rz8o1","qmksWR5fASkMW7SV","WQXDoSkR","W6RdQwzm","WP46W6ZcRCkYWRG","WOqLW7VdPmkBWRRcKY1rW5i","CLJcJCkmtq","z8oVBchcKaPPfCk4pG","WPPXzmoZhSk0W6fWWQKo","xLe6rdDw","ErWxWRzp","W57dT0ncWR4","W4BdVCk0wrm","emkjxmoaW5S","Eav8","WOKVW6RcPq","AreDWR1pW7hdPmk+n8os","nan5W4FdNG","W68Of8oWW4yDW54NW6FdSrjA"];return aL=function(){return t},aL()}function Fnr(t){let e=_t,r={TEimZ:function(n,s){return n(s)},NBOIV:function(n,s){return n(s)},YmnKA:function(n,s){return n||s},IYKQW:e(608,"^oo)")};try{return r[e(694,"GBUh")](encodeURIComponent,r[e(449,"u^kX")](String,r[e(763,"KVv4")](t,"")))[e(652,"1g%Z")](/\*/g,r[e(618,"Nh71")])}catch{return""}}function Unr(t,e=!1){let r=_t,n={YAFgI:function(s,i){return s===i},LJOxI:r(690,"Z3]t"),deKft:function(s,i){return s===i},NTyKz:r(538,"pd]6"),zlEdo:r(622,"aL3e"),XTIXN:r(522,"(Uhe"),fwZom:r(601,"Vk8Z"),orlJM:r(877,"KVv4")};if(n[r(714,"1Jsl")](typeof t,n[r(829,"(Uhe")]))return t;if(n[r(509,"Bc2A")](typeof t,n[r(656,"^oo)")])){let s=t[r(812,"spAe")]()[r(839,"iq9T")+"e"]();if(["1",n[r(704,"KEzV")],n[r(442,"!kc1")],"on"][r(696,"[U(&")](s))return!0;if(["0",n[r(875,"gIJp")],"no",n[r(443,"PBWo")]][r(469,"1g%Z")](s))return!1}return e}var FV=(t,e)=>t?t+"/"+e:e,qV,jV={};function Il(t,e){let r=aL();return Il=function(n,s){n=n-(2*-3329+13*-430+12645);let i=r[n];if(Il.fOcFCk===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};Il.TuNzge=l,t=arguments,Il.fOcFCk=!0}let o=r[-17*544+-1535+10783],c=n+o,u=t[c];return u?i=u:(Il.AIWZfd===void 0&&(Il.AIWZfd=!0),i=Il.TuNzge(i,s),t[c]=i),i},Il(t,e)}var oC={set(t,e){let r=_t;jV[t]=e,qV[r(625,"@GrP")](r(504,"PBWo")+t,e)},get(t){return jV[t]}},sb=async t=>{let e=_t;qV=t[e(865,"GvrG")].db,jV=await qV[e(553,"GvrG")+e(463,"7HAV")](e(429,"Bc2A"),{})},HV=class{constructor(){let e=_t,r={sVuHs:e(744,"Nh71")},n=r[e(738,"4jZl")][e(764,"xhg1")]("|"),s=-1054*4+-8*-982+-28*130;for(;;){switch(n[s++]){case"0":this[e(489,"7%IF")]=nb+(e(440,"Pqls")+e(647,"pd]6"));continue;case"1":this[e(474,"EBu[")]=/https:\/\/(?:www\.)?(123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)\/s\/([^/?#]+)/;continue;case"2":this[e(691,"7HAV")]=/https:\/\/[^/?#]+\.share\.(?:123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)\/123pan\/([^/?#]+)/;continue;case"3":this[e(726,"EBu[")]="";continue;case"4":this[e(674,"KVv4")]=f6e+(e(603,"Z3]t")+e(584,"@GrP"));continue}break}}async[_t(458,"xFMZ")](){let e=_t,r={CLvLa:e(900,"1Jsl"),ZicMv:e(838,"#cY9"),pLofW:function(n,s){return n(s)},cfbce:function(n,s){return n>s},oawKF:function(n,s){return n/s},VEHKq:e(663,"xhg1"),BXkWx:e(457,"Vk8Z"),yxhUH:e(894,"$K(D")};if(this[e(728,"Z#jd")]&&console[e(698,"PBWo")](r[e(776,"n#dP")]),this[e(644,"1Jsl")]&&console[e(548,"x&B#")](r[e(805,"Nh71")]),this[e(597,"spAe")]){let n=r[e(874,"xhg1")](Mnr,this[e(910,"n$nf")]);r[e(686,"pd]6")](n?.[e(595,"sVp(")]||0,Math[e(880,"7HAV")](r[e(862,"jJi*")](Date[e(819,"iq9T")](),2455*3+1*-1153+-5212)))?console[e(896,"Nh71")](r[e(869,"Vk8Z")]):(console[e(444,"2CNl")](r[e(450,"7%IF")]),await this[e(914,"7%IF")]())}else console[e(403,"gIJp")](r[e(575,"n#dP")]),await this[e(779,"1g%Z")]()}get[_t(615,"Nh71")](){let e=_t,r={iCjft:e(433,"n$nf")+"rt"};return oC[e(752,"4jZl")](r[e(422,"Z#jd")])}get[_t(635,"[U(&")](){let e=_t,r={IPjER:e(702,"2CNl")+"rd"};return oC[e(571,"$ac(")](r[e(492,"7%IF")])}get[_t(705,"1g%Z")](){let e=_t,r={mIDBF:e(602,"7HAV")};return oC[e(800,"jJi*")](r[e(431,"1g%Z")])}get[_t(399,"2iTo")+_t(855,"aL3e")](){let e=_t,r={RtQiG:function(n,s,i){return n(s,i)},NTUmg:e(893,"PBWo")+e(465,"[U(&")};return r[e(475,"2iTo")](Unr,oC[e(439,"xhg1")](r[e(759,"1g%Z")]),!0)}async[_t(435,"0j^Z")](){let e=_t,r={AGDYf:e(430,"Z#jd"),nVRzF:e(681,"PBWo")+e(567,"1Jsl")+e(460,"Pqls")+e(826,"jJi*")+e(816,"$ac(")+e(791,"(Uhe")+e(740,"3Ga)")+e(539,"pd]6")+e(532,"zTXO")+e(753,"Pqls")+e(578,"pd]6")+"6",cCfLZ:e(772,"xhg1")+e(814,"KEzV"),lexXc:function(a,o){return a(o)},XxHPO:function(a,o){return a(o)},mxzMo:e(519,"$ac("),gHuCz:e(918,"KEzV")+e(734,"EBu[")+"\u914D\u7F6E",PjAqp:e(401,"!kc1")};if(!this[e(904,"pd]6")]||!this[e(867,"Nh71")])return;let n=JSON[e(481,"sVp(")]({passport:this[e(832,"2CNl")],password:this[e(676,"GBUh")],remember:!0}),s={method:r[e(773,"8rP)")],url:this[e(670,"4jZl")],headers:{"User-Agent":r[e(426,"Bc2A")],"Content-Type":r[e(512,"0j^Z")],"App-Version":"43",Referer:f6e+(e(795,"KEzV")+e(804,"dfe3")+e(654,"xFMZ"))+r[e(540,"Bc2A")](encodeURIComponent,nb)+(e(882,"q5v@")+e(485,"7HAV"))},data:n},i=(await Ae[e(437,"!kc1")](s))[e(406,"sI6$")];if(!i?.[e(558,"2iTo")]?.[e(701,"8rP)")]){r[e(605,"Z3]t")](messageToDart,{action:r[e(695,"q5v@")],opt:{message:r[e(546,"dfe3")],duration:5}});return}oC[e(418,"pd]6")](r[e(614,"EBu[")],i[e(719,"[g$U")][e(672,"3Ga)")])}[_t(541,"spAe")+"ta"](e){let r=_t,n={WxhAO:function(c,u){return c(u)},EcZGr:function(c,u){return c||u},hIQyQ:function(c,u){return c>u},sRPqH:function(c,u){return c+u},yNima:function(c,u){return c(u)}},s=n[r(827,"0j^Z")](decodeURIComponent,n[r(529,"[U(&")](e,"")[r(700,"Nh71")]());s=s[r(757,"[g$U")](/[#.,,/\s]+$/,""),this[r(523,"[U(&")]="";let i=s[r(497,"n#dP")]("?");if(n[r(685,"7%IF")](i,-4088+28*146)){let c=s[r(544,"gIJp")](n[r(787,"8rP)")](i,1)),u=c[r(769,"^oo)")](/(?:^|&)pwd=([^&]+)/i);this[r(846,"8#fg")]=u?n[r(887,"3Ga)")](decodeURIComponent,u[1705+-94*14+1*-388]):""}let a=this[r(841,"iq9T")][r(561,"KVv4")](s);if(a)return n[r(502,"2CNl")](a[3209*-3+-1*2417+12046][r(715,"(Uhe")]("?"),3394*1+-23*307+193*19)?a[-1*-7554+-2889+-4663][r(883,"#cY9")]("?")[8818*1+5*-955+-4043]:a[9146+-29*-13+-9521];let o=this[r(565,"dfe3")][r(536,"Vk8Z")](s);return o?o[15116+-5*3023]:null}async[_t(797,"jJi*")+_t(398,"@GrP")](e){let r=_t,n={fDZHm:function(o,c){return o in c},AsocM:function(o,c){return o>c},hqNVV:function(o,c){return o(c)},GHfju:function(o,c){return o>c},xVTwy:function(o,c){return o===c}},s={},i=[],a=await this[r(630,"#cY9")+"st"](e,this[r(503,"u^kX")],-523*-12+-3*2677+-45*-39,0,i,"");if(a&&n[r(533,"0j^Z")](a[r(626,"2iTo")],-1*-4511+-107*4+-1361*3)&&(s[r(843,"7%IF")]=a),n[r(606,"^oo)")](i[r(543,"KVv4")],-9378+-1*2494+11872)){let o=await Promise[r(850,"4jZl")](i[r(568,"$K(D")](async c=>{let u=r;return this[u(908,"sVp(")+"fo"](c[u(501,"$K(D")],c[u(493,"sI6$")],0,c[u(404,"7%IF")],c[u(853,"(Uhe")])}));o=o[r(723,"7HAV")](c=>c!=null),i=[...i,...o[r(537,"n$nf")]()]}i&&Array[r(554,"7HAV")](i)&&await Promise[r(850,"4jZl")](i[r(557,"#cY9")](async o=>{let c=r,u=o[c(591,"0j^Z")]||o[c(438,"n$nf")];!n[c(739,"GBUh")](u,s)&&(s[u]=[]);let l=await this[c(712,"1g%Z")+"st"](o[c(863,"8#fg")],o[c(788,"0j^Z")],4*1712+2*4649+-16146,o[c(660,"n#dP")]);l&&n[c(527,"gIJp")](l[c(445,"Bc2A")],-1647+183*9)&&s[u][c(484,"zTXO")](...l)}));for(let o in s)n[r(866,"xFMZ")](s[o][r(434,"GBUh")],-1*5153+-1*-9757+-1*4604)&&delete s[o];return Object[r(782,"pd]6")](s)[r(716,"1g%Z")](o=>{let c=r;s[o]=s[o][c(813,"7WHS")](u=>{let l=c;return{vod_id:[u[l(410,"8#fg")],u[l(891,"1g%Z")],u[l(876,"[U(&")],u[l(579,"iq9T")],u[l(564,"spAe")],n[l(919,"Pqls")](Fnr,u[l(860,"3Ga)")+"l"]||"")][l(854,"@GrP")]("*"),vod_name:u[l(638,"q5v@")],vod_size:u[l(479,"[g$U")]}})}),s}async[_t(836,"Pqls")+"fo"](e,r,n,s,i){let a=_t,o={rXUgI:function(A,g){return A===g},kLeei:function(A,g,b){return A(g,b)},PRMGR:function(A,g){return A||g},ywmif:function(A,g){return A||g},OkXEg:function(A,g){return A??g},iVShr:function(A,g){return A+g},SdeWm:a(682,"iq9T"),vkMvi:a(901,"EBu["),ZZPxq:a(817,"sI6$"),wWGyK:a(722,"$K(D"),yqrOn:function(A,g){return A(g)},drBqh:function(A,g){return A!==g},EiulN:function(A,g){return A>=g}},c=[],u=o[a(482,"8#fg")](n,0),l=-5060+117*-9+2038*3,d=new Set,f=new Set,p=A=>!(A==null||A===""||A===-9*-78+7862+-8564||A==="0"||A===-(8545*-1+-8641+17187)||A==="-1"),m=1*-2531+-2*4421+1639*7;for(;;){let A=l+"|"+u;if(d[a(765,"0j^Z")](A))break;d[a(886,"!kc1")](A);let g=await Ae[a(864,"Nh71")](o[a(454,"n#dP")](this[a(521,"spAe")],o[a(525,"8#fg")]),{headers:{},params:{limit:o[a(412,"[U(&")],next:u,orderBy:o[a(879,"EBu[")],orderDirection:o[a(803,"4jZl")],shareKey:e,SharePwd:r,ParentFileId:s,Page:o[a(495,"7HAV")](String,l)}});if(o[a(616,"GBUh")](g[a(472,"!kc1")],-6*-213+-127*-33+-1*5269))break;if(o[a(778,"spAe")](g[a(741,"xhg1")][a(419,"xFMZ")],832+-561*-14+-1*3583)){console[a(673,"sVp(")](g[a(675,"1Jsl")][a(566,"q5v@")]);break}let b=g[a(675,"1Jsl")][a(658,"Z#jd")];if(!b||!Array[a(639,"Z#jd")](b[a(535,"7HAV")]))break;b[a(808,"x&B#")][a(510,"8#fg")](x=>{let v=a;if(o[v(735,"dfe3")](x[v(709,"GBUh")],7*233+-569*-6+-1*5045)){let C=x[v(687,"Bc2A")]+"|"+o[v(689,"gIJp")](FV,o[v(902,"7HAV")](i,""),x[v(610,"!kc1")]);if(f[v(408,"sI6$")](C))return;f[v(659,"0j^Z")](C);let R=o[v(563,"sI6$")](FV,o[v(818,"EBu[")](i,""),x[v(916,"4jZl")]);c[v(619,"!kc1")]({filename:x[v(638,"q5v@")],shareKey:e,SharePwd:r,next:0,fileId:x[v(687,"Bc2A")],path:R})}});let y=b[a(580,"iq9T")];if(o[a(721,"Vk8Z")](p,y)){u=y;continue}if(Array[a(834,"x&B#")](b[a(583,"xhg1")])&&o[a(703,"KEzV")](b[a(909,"(Uhe")][a(446,"$K(D")],m)){l+=1727+1726*-1,u=2*-2932+14*197+3106;continue}if(!o[a(889,"GBUh")](p,y))break}let h=await Promise[a(732,"$K(D")](c[a(758,"8#fg")](async A=>this[a(908,"sVp(")+"fo"](e,r,-753+-1*-753,A[a(711,"2CNl")],A[a(730,"8rP)")])));return h=h[a(802,"spAe")](A=>A!=null),[...c,...h[a(842,"dfe3")]()]}async[_t(531,"xFMZ")+"st"](e,r,n,s,i=null,a=""){let o=_t,c={wcQEt:function(g,b){return g===b},SBPDB:function(g,b){return g(b)},CjMqD:function(g,b){return g===b},nYZtU:function(g,b,y){return g(b,y)},AEvNB:function(g,b){return g||b},cDUeZ:function(g,b){return g??b},nitLm:function(g,b){return g+b},QiNbC:o(770,"Z3]t"),HZHXn:o(760,"pd]6"),Qxnyn:o(585,"spAe"),EyKTY:o(786,"[U(&"),iPIaj:function(g,b){return g(b)},rZnpz:function(g,b){return g>=b},JvkNE:function(g,b){return g(b)}},u=[],l=c[o(642,"x&B#")](n,-2062*1+2196*1+-134),d=1,f=new Set,p=new Set,m=new Set,h=g=>!(g==null||g===""||g===-8884+-28*-80+6644||g==="0"||g===-(4*370+-13*71+4*-139)||g==="-1"),A=20*197+-4*916+-176;for(;;){let g=d+"|"+l;if(f[o(488,"sVp(")](g))break;f[o(899,"q5v@")](g);let b=(await Ae[o(731,"GBUh")](c[o(845,"Nh71")](this[o(570,"q5v@")],c[o(825,"n$nf")]),{headers:{},params:{limit:c[o(436,"4jZl")],next:l,orderBy:c[o(498,"sI6$")],orderDirection:c[o(613,"Nh71")],shareKey:e,SharePwd:r,ParentFileId:s,Page:c[o(473,"jJi*")](String,d)}}))[o(890,"PBWo")],y=b?.[o(577,"0j^Z")];if(!y||!Array[o(459,"GBUh")](y[o(490,"PBWo")]))break;y[o(427,"jJi*")][o(888,"4jZl")](v=>{let C=o;if(c[C(793,"sI6$")](v[C(524,"q5v@")],-1*2654+-5014+7670*1)){let R=v[C(718,"PBWo")]+"|"+v[C(844,"x&B#")];if(p[C(707,"gIJp")](R))return;p[C(518,"1g%Z")](R),u[C(913,"2CNl")]({ShareKey:e,FileId:v[C(500,"[U(&")],S3KeyFlag:v[C(755,"Z#jd")],Size:v[C(801,"^oo)")],Etag:v[C(751,"0j^Z")],FileName:v[C(671,"u^kX")],DownloadUrl:c[C(409,"Z3]t")](p6e,v[C(425,"@GrP")+"l"]||v[C(590,"Z3]t")+"L"])})}else if(c[C(766,"u^kX")](v[C(623,"KVv4")],1995+95*-21)&&Array[C(612,"8#fg")](i)){let R=c[C(761,"EBu[")](FV,c[C(767,"xhg1")](a,""),v[C(400,"Nh71")]),w=v[C(898,"Pqls")]+"|"+R;if(m[C(809,"1g%Z")](w))return;m[C(462,"x&B#")](w),i[C(684,"GvrG")]({filename:v[C(506,"2CNl")],shareKey:e,SharePwd:r,next:0,fileId:v[C(641,"KVv4")],path:R})}});let x=y[o(477,"aL3e")];if(c[o(520,"spAe")](h,x)){l=x;continue}if(Array[o(903,"1Jsl")](y[o(858,"sI6$")])&&c[o(620,"8rP)")](y[o(657,"0j^Z")][o(733,"Vk8Z")],A)){d+=-201*-31+2424*-3+1042,l=0;continue}if(!c[o(621,"0j^Z")](h,x))break}return u}[_t(872,"1Jsl")+_t(706,"iq9T")](){return{Referer:nb+"/"}}async[_t(920,"2iTo")+"d"](e,r,n,s,i,a=""){let o=_t,c={ZCgrN:function(p,m){return p(m)},PvlfF:function(p,m){return p(m)},vIZZn:o(407,"sVp("),xAhlt:o(815,"8rP)")+o(416,"[g$U")+o(736,"$ac(")+o(594,"(Uhe")+o(828,"sVp(")+o(737,"xFMZ")+o(471,"spAe")+o(748,"dfe3")+o(627,"dfe3")+o(785,"8#fg")+o(807,"2iTo")+"6",DoYwL:o(798,"sI6$")+o(587,"Vk8Z")+o(499,"KEzV"),tkTzc:o(486,"n$nf")},u=c[o(754,"7WHS")](p6e,c[o(513,"EBu[")]($nr,a));if(u&&this[o(790,"sVp(")+o(624,"gIJp")])return u;await this[o(917,"[g$U")]();let l=JSON[o(692,"Nh71")]({ShareKey:e,FileID:r,S3KeyFlag:n,Size:s,Etag:i}),d={method:c[o(637,"!kc1")],url:this[o(664,"KVv4")]+(o(852,"jJi*")+o(668,"!kc1")),headers:{"User-Agent":c[o(447,"KEzV")],Authorization:o(780,"EBu[")+this[o(906,"$K(D")],"Content-Type":c[o(547,"Nh71")],platform:c[o(724,"x&B#")]},data:l},f=(await Ae[o(649,"xhg1")](d))[o(669,"jJi*")][o(871,"Nh71")];return c[o(873,"1Jsl")](Wnr,f[o(542,"xhg1")+"L"])}async[_t(783,"7WHS")+_t(762,"1g%Z")](e,r,n,s,i){let a=_t,o={NaIOQ:function(d,f){return d!==f},ZJDyl:a(922,"KVv4"),nEnfj:a(815,"8rP)")+a(424,"spAe")+a(648,"2CNl")+a(455,"Bc2A")+a(417,"[U(&")+a(806,"7HAV")+a(596,"n$nf")+a(516,"[U(&")+a(448,"!kc1")+a(837,"GBUh")+a(774,"spAe")+"6",HLHxd:a(617,"8#fg")+a(628,"jJi*")+a(662,"jJi*"),eQFiV:a(677,"aL3e")};await this[a(441,"$K(D")]();let c={method:o[a(720,"aL3e")],url:nb+(a(515,"1Jsl")+a(562,"[g$U")+"fo"),headers:{"User-Agent":o[a(508,"KEzV")],Authorization:a(708,"1Jsl")+this[a(861,"2CNl")],"Content-Type":o[a(559,"iq9T")],platform:o[a(747,"7%IF")]},params:{etag:i,size:s,from:"1",shareKey:e}},u=(await Ae[a(405,"@GrP")](c))[a(823,"$K(D")][a(870,"aL3e")][a(451,"8#fg")+a(555,"dfe3")],l=[];return u[a(771,"Bc2A")](d=>{let f=a;o[f(640,"zTXO")](d[f(421,"Vk8Z")],"")&&l[f(651,"(Uhe")]({name:d[f(713,"sI6$")],url:d[f(653,"7WHS")]})}),l}async[_t(470,"Z#jd")+_t(598,"x&B#")](e="0"){let r=_t,n={lkDkR:r(643,"@GrP")+r(750,"$ac(")+r(432,"1Jsl")+r(667,"1Jsl")+r(849,"dfe3")+r(884,"xhg1")+r(833,"1g%Z")+r(539,"pd]6")+r(912,"$ac(")+r(881,"sI6$")+r(774,"spAe")+r(467,"1g%Z")+r(792,"4jZl")+"2",azyYJ:r(631,"1Jsl"),RrDzO:r(799,"GvrG"),LVIHx:r(528,"n$nf"),vJAGT:function(i,a){return i(a)},inUyB:function(i,a){return i||a},oQkPG:r(699,"Pqls"),PhfPj:r(607,"xhg1")+"le"};return await this[r(683,"@GrP")](),(await Ae[r(749,"0j^Z")](nb+(r(646,"GBUh")+r(397,"#cY9")),{headers:{"User-Agent":n[r(717,"dfe3")],Authorization:r(556,"4jZl")+this[r(861,"2CNl")]},params:{driveId:"0",limit:n[r(830,"$ac(")],next:"0",orderBy:n[r(545,"n$nf")],orderDirection:n[r(831,"Z#jd")],parentFileId:n[r(611,"!kc1")](String,n[r(756,"Nh71")](e,"0")),trashed:n[r(907,"3Ga)")],SearchData:"",Page:"1",OnlyLookAbnormalFile:"0",event:n[r(885,"KEzV")],operateType:"1",inDirectSpace:n[r(609,"8rP)")]}}))[r(848,"[U(&")]}async[_t(574,"jJi*")+_t(428,"4jZl")](e,r,n,s,i=""){let a=_t,o={ppSWW:a(811,"jJi*"),NSOMt:a(496,"3Ga)")+a(576,"7WHS"),AUwfE:a(633,"^oo)")+a(478,"(Uhe")+a(745,"KVv4"),heGjz:a(453,"2CNl")};await this[a(466,"Z3]t")]();let c=JSON[a(822,"7WHS")]({driveId:0,FileName:i,FileID:e,S3KeyFlag:r,Size:n,Etag:s}),u={method:o[a(746,"7HAV")],url:nb+(a(655,"spAe")+a(781,"xFMZ")+a(868,"Pqls")),headers:{"User-Agent":o[a(582,"KEzV")],Authorization:a(599,"[U(&")+this[a(534,"xhg1")],"Content-Type":o[a(452,"!kc1")],platform:o[a(414,"x&B#")]},data:c},l=await Ae[a(859,"n$nf")](u);return l?.[a(688,"dfe3")]?.[a(661,"8#fg")]?.[a(573,"[U(&")+"l"]||l?.[a(411,"Pqls")]?.[a(549,"pd]6")]?.[a(645,"(Uhe")+"L"]||""}},O0=new HV;var h6e=Re(v0(),1),cC=Re(Jn(),1);var QV="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",Vh={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},m6e={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},GV=async t=>{let e=cC.default.enc.Hex.stringify(cC.default.MD5(t.config.y115.cookie)).toString();return(await t.db.getObjectDefault("/y115",{}))[e]??""},qnr=async(t,e)=>{let r=cC.default.enc.Hex.stringify(cC.default.MD5(t.config.y115.cookie)).toString();await t.db.push(`/y115/${r}`,e)};async function VV(t){t.get("/qrcode",async(e,r)=>{try{let s=(await Ae.get("https://qrcodeapi.115.com/api/1.0/web/1.0/token",{headers:{"User-Agent":QV,referer:"https://115.com/"}})).data.data,i=m6e.encode({sign:s.sign,time:s.time,uid:s.uid}),a=await h6e.default.toBuffer(s.qrcode,{width:300,height:300});r.header("X-Session-Key",i),r.send(a)}catch(n){console.error("115\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let{sessionKey:n}=e.body,s=m6e.decode(n);if(!s)return r.send({code:0,data:{status:Vh.EXPIRED}});let{sign:i,time:a,uid:o}=s;try{let u=(await Ae.get(`https://qrcodeapi.115.com/get/status/?_=${parseInt(Date.now()/1e3)}&sign=${i}&time=${a}&uid=${o}`,{headers:{"User-Agent":QV,referer:"https://115.com/"}})).data.data?.status;if(u===2){let l=new URLSearchParams({account:o,app:"android"}),d=await Ae.post("https://passportapi.115.com/app/1.0/android/1.0/login/qrcode",l,{headers:{"User-Agent":QV,referer:"https://115.com/"}});if(d.data.state===1){let f=hl(d.headers["set-cookie"]).join("");r.send({code:0,data:{status:Vh.CONFIRMED,cookie:f}})}else r.send({code:0,data:{status:Vh.NEW}})}else u===1?r.send({code:0,data:{status:Vh.SCANNED}}):u===-1||u===-2?r.send({code:0,data:{status:Vh.EXPIRED}}):r.send({code:0,data:{status:Vh.NEW}})}catch(c){console.error("115\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",c),r.send({code:0,data:{status:Vh.NEW}})}}),t.post("/cookie",(e,r)=>{r.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(e,r)=>{r.send({code:0,data:await GV(e.server)})}),t.put("/cookie",async(e,r)=>{await qnr(e.server,e.body.cookie),r.send({code:0})})}var x6e="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",XV="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",b6e="4.8.2",YV="OFFLINE$",E6e=15e3,_6e=1e3,zV=async t=>globalThis.getPanName?await globalThis.getPanName(t):t;function S6e(t){let r=/https:\/\/(?:115|anxia|115cdn)\.com\/s\/([a-zA-Z0-9]+)\?password=([a-zA-Z0-9]+)/.exec(t);return r?{shareCode:r[1],receiveCode:r[2]}:null}function v6e(t){let e=String(t||"").trim();return/^(?:magnet:\?|ed2k:\/\/)/i.test(e)?!0:/^https?:\/\//i.test(e)&&!S6e(e)}function C6e(t){return["mp4","webm","avi","wmv","flv","mov","mkv","mpeg","3gp","ts","m2ts","mp3","wav","aac","iso"].includes(String(t||"").slice(String(t||"").lastIndexOf(".")+1).toLowerCase())}function KV(t){return t?typeof t=="string"?t.trim():JSON.stringify(t):""}async function P0(t){let e=KV(t?.config?.y115?.cookie||"");if(e)return e;let r=t?.config?.y115?KV(await GV(t)):"";if(r)return r;let n=await t.db.getObjectDefault("/y115",{}),s=n.cookie||Object.values(n).find(i=>typeof i=="string"&&i.trim())||"";return KV(s)}function jnr(t){return(Array.isArray(t)?t:[t]).map(r=>String(r||"").split(";")[0].trim()).filter(Boolean).join("; ")}function Sc(t,e=null){let r=e?` ${JSON.stringify(e)}`:"";console.log(`[115-offline] ${t}${r}`)}function ZV(t,e=180){let r=String(t??"");return r.length>e?`${r.slice(0,e)}...`:r}function JV(t,e=0){if(t==null)return t;if(e>3)return Array.isArray(t)?`[Array(${t.length})]`:typeof t=="object"?`[Object(${Object.keys(t).join(",")})]`:t;if(Array.isArray(t))return t.slice(0,3).map(r=>JV(r,e+1));if(typeof t=="object"){let r={};for(let[n,s]of Object.entries(t))/cookie|token|auth|sign|secret/i.test(n)?r[n]="[masked]":/url/i.test(n)&&typeof s=="string"?r[n]=s?`[url:${s.length}]`:"":r[n]=JV(s,e+1);return r}return typeof t=="string"?ZV(t):t}function I6e(t){return{Cookie:t,"User-Agent":XV,"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:"https://115.com/",Origin:"https://115.com"}}function Hnr(t){let e=String(t?.url||t?.source_url||t?.source||t?.info_hash||"").trim(),r=String(t?.pick_code||t?.pickcode||t?.pc||t?.file_pick_code||"").trim();return{id:String(t?.id||t?.info_hash||t?.hash||t?.url||"").trim(),name:String(t?.name||t?.file_name||t?.filename||"\u672A\u77E5").trim()||"\u672A\u77E5",status:Number(t?.status),progress:Number(t?.progress||t?.percentDone||0),pickCode:r,fileId:String(t?.file_id||t?.fid||"").trim(),sourceUrl:e,raw:t}}function Qnr(t){return(Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.tasks)?t.data.tasks:Array.isArray(t?.tasks)?t.tasks:Array.isArray(t?.list)?t.list:[]).map(Hnr)}function T6e(t,e,r={}){let n=String(e||"").trim(),s=/btih:([^&]+)/i.exec(n)?.[1]?.toLowerCase()||"",i=Array.isArray(r?.result)?r.result[0]:null,a=String(r?.id||r?.data?.id||r?.task_id||r?.data?.task_id||i?.info_hash||"").trim();return!!(a&&t.id===a||t.sourceUrl&&t.sourceUrl===n||s&&JSON.stringify(t.raw||{}).toLowerCase().includes(s))}function ez(t,e=0){if(!t||e>6||typeof t!="object")return"";for(let r of["pick_code","pickcode","pc","file_pick_code"]){let n=String(t[r]||"").trim();if(n)return n}for(let r of Object.values(t)){let n=ez(r,e+1);if(n)return n}return""}function w6e(t){return new Promise(e=>setTimeout(e,t))}function R6e(t,e=""){let r=String(t?.n||t?.name||t?.file_name||"").trim(),n=String(t?.pc||t?.pick_code||t?.pickcode||"").trim();return!r||!n||!C6e(r)?null:{vod_id:n,vod_name:r,vod_size:Number(t?.s||t?.size||0),vod_group:e}}async function Gnr(t,e){let r=await P0(t);if(!r||!e)return[];let n=await Ae.get("https://webapi.115.com/files",{params:{aid:1,cid:e,o:"user_ptime",asc:0,offset:0,show_dir:1,limit:115,code:"",scid:"",snap:0,natsort:1,record_open_time:1,source:"",format:"json"},headers:{Cookie:r,"User-Agent":x6e,Referer:"https://webapi.115.com/bridge_2.0.html?namespace=Core.DataAccess&api=UDataAPI&_t=v5",Origin:"https://115.com","X-Requested-With":"XMLHttpRequest"},validateStatus:null});return Array.isArray(n.data?.data)?n.data.data:[]}async function N6e(t,e,r="",n=0){if(!e||n>5)return[];let s=await Gnr(t,e),i=[];for(let a of s){if(Number(a?.fc)===1){let o=R6e(a,r);o&&i.push(o);continue}if(Number(a?.fc)===0){let o=String(a?.cid||a?.fid||"").trim(),c=String(a?.n||a?.name||"").trim(),u=c?r?`${r}/${c}`:c:r;i.push(...await N6e(t,o,u,n+1))}}return i}async function Vnr(t,e){let r=await P0(t),n=String(e||"").trim();if(!r||!n)return[];let s=await Ae.get("https://webapi.115.com/files/search",{params:{search_value:n,type:4,offset:0,limit:20,date:"",aid:1,cid:0,pick_code:"",source:"",format:"json"},headers:{Cookie:r,"User-Agent":XV,Referer:"https://115.com/",Origin:"https://115.com",Accept:"application/json, text/plain, */*"},validateStatus:null});return Array.isArray(s.data?.data)?s.data.data:[]}async function znr(t,e){let r=await D6e(t,e);if(r.length>0)return r[0].vod_id;if(!e?.raw)return"";let n=e.raw;return String(n.file_id||n.delete_file_id||e.fileId||"").trim()?"":e.pickCode||ez(n)}function Knr(t){return t?.errcode===10008||t?.result?.some?.(e=>e?.errcode===10008)}function O6e(t){return(t?.state===!1||t?.errno)&&!Knr(t)}function P6e(t){return t?.message||t?.msg||t?.error_msg||t?.error||"115 \u79BB\u7EBF\u4EFB\u52A1\u63D0\u4EA4\u5931\u8D25"}function Ynr(t){return t?.server||t||null}async function D6e(t,e){if(!e?.raw)return[];let r=e.raw,n=String(r.file_id||r.delete_file_id||e.fileId||"").trim();if(n){let o=await N6e(t,n);if(Sc("\u79BB\u7EBF\u76EE\u5F55\u626B\u63CF",{cid:n,count:o.length,selected:o[0]?.vod_name||"",hasPickCode:!!o[0]?.vod_id}),o.length>0)return o}let s=String(r.name||e.name||"").replace(/\.[^.]+$/,"").trim(),i=await Vnr(t,s),a=i.map(o=>R6e(o)).filter(Boolean).sort((o,c)=>Number(c.vod_size||0)-Number(o.vod_size||0));return Sc("\u79BB\u7EBF\u6587\u4EF6\u641C\u7D22",{keyword:ZV(s,80),count:i.length,selected:a[0]?.vod_name||"",hasPickCode:!!a[0]?.vod_id}),a}async function k6e(t,e="GET",r=null,n=null){try{let s=await Ae({url:t,method:e,headers:r||void 0,data:n,validateStatus:null});return{data:s.data,cookie:jnr(s.headers?.["set-cookie"]),headers:s.headers||{},status:s.status}}catch(s){throw s.response?s.response.data:s}}async function L6e(t,e){let r=await P0(t),n=String(e||"").trim();if(!r)return{state:!1,message:"115 Cookie \u7F3A\u5931"};if(!n)return{state:!1,message:"\u79BB\u7EBF\u94FE\u63A5\u4E3A\u7A7A"};let s=new URLSearchParams({"url[0]":n,wp_save_path:"0",appVer:b6e});Sc("\u63D0\u4EA4\u79BB\u7EBF\u4EFB\u52A1",{type:n.split(":")[0],length:n.length});let i=await k6e("https://115.com/web/lixian/?ct=lixian&ac=add_task_urls","POST",I6e(r),s.toString()),a=i.data||{};return Sc("\u63D0\u4EA4\u54CD\u5E94",{status:i.status,state:a?.state,message:a?.message||a?.msg||"",preview:ZV(typeof a=="string"?a:JSON.stringify(a))}),a}async function B6e(t){let e=await P0(t);if(!e)return[];let r=await Ae.get("https://115.com/web/lixian/?ct=lixian&ac=task_lists",{params:{page:1,limit:30,appVer:b6e},headers:I6e(e),validateStatus:null}),n=Qnr(r.data);return Sc("\u4EFB\u52A1\u5217\u8868",{status:r.status,count:n.length}),n}async function Jnr(t,e,r={},n={}){let s=Number(n.maxWaitMs||E6e),i=Number(n.intervalMs||_6e),a=Date.now(),o=null;for(;Date.now()-a<=s;){let c=await B6e(t),u=c.find(l=>T6e(l,e,r));if(u){o=u;let l=await znr(t,u)||u.pickCode||ez(u.raw);if(Sc("\u8F6E\u8BE2\u4EFB\u52A1",{name:u.name,status:u.status,progress:u.progress,hasPickCode:!!l}),l)return{pickCode:l,task:u}}else Sc("\u672A\u5339\u914D\u5F53\u524D\u79BB\u7EBF\u4EFB\u52A1",{count:c.length});await w6e(i)}return{pickCode:"",task:o}}async function g6e(t,e){let r=String(e||"").trim();if(!r)return{parse:0,url:"",msg:"115 \u79BB\u7EBF\u94FE\u63A5\u4E3A\u7A7A"};try{let n=await L6e(t,r);if(O6e(n))return{parse:0,url:"",msg:`115 \u79BB\u7EBF\u5931\u8D25: ${P6e(n)}`};let{pickCode:s,task:i}=await Jnr(t,r,n);return s?(Sc("\u83B7\u53D6\u5230 pickCode\uFF0C\u5F00\u59CB\u89E3\u6790\u76F4\u94FE",{pickCode:s}),await cL(t,s)):{parse:0,url:"",msg:`115 \u79BB\u7EBF\u4EFB\u52A1\u5DF2\u63D0\u4EA4\uFF0C\u4F46\u6682\u672A\u5B8C\u6210: ${i?`\u72B6\u6001 ${i.status}, \u8FDB\u5EA6 ${i.progress||0}%`:"\u672A\u627E\u5230\u4EFB\u52A1"}`}}catch(n){return{parse:0,url:"",msg:`115 \u79BB\u7EBF\u63A5\u53E3\u5F02\u5E38: ${n?.message||n}`}}}async function Xnr(t,e,r={}){let n=String(e||"").trim();if(!n)return[];let s=await L6e(t,n);if(O6e(s))return Sc("\u79BB\u7EBF\u8BE6\u60C5\u63D0\u4EA4\u5931\u8D25",{message:P6e(s)}),[];let i=Number(r.maxWaitMs||E6e),a=Number(r.intervalMs||_6e),o=Date.now();for(;Date.now()-o<=i;){let c=await B6e(t),u=c.find(l=>T6e(l,n,s));if(u){let l=await D6e(t,u);if(l.length>0)return l;Sc("\u79BB\u7EBF\u8BE6\u60C5\u6682\u672A\u53D1\u73B0\u5A92\u4F53\u6587\u4EF6",{name:u.name,status:u.status,progress:u.progress})}else Sc("\u79BB\u7EBF\u8BE6\u60C5\u672A\u5339\u914D\u5F53\u524D\u4EFB\u52A1",{count:c.length});await w6e(a)}return[]}var A6e=new Uint8Array([240,229,105,174,191,220,191,138,26,69,232,190,125,166,115,184,222,143,231,196,69,218,134,196,155,100,139,20,106,180,241,170,56,1,53,158,38,105,44,134,0,107,79,165,54,52,98,166,42,150,104,24,242,74,253,189,107,151,143,77,143,137,19,183,108,142,147,237,14,13,72,62,215,47,136,216,254,254,126,134,80,149,79,209,235,131,38,52,219,102,123,156,126,157,122,129,50,234,182,51,222,58,169,89,52,102,59,170,186,129,96,72,185,213,129,156,248,108,132,119,255,84,120,38,95,190,232,30,54,159,52,128,92,69,44,155,118,213,27,143,204,195,184,245]),M6e=0x8686980c0f5a24c4b9d43020cd2c22703ff3f450756529058b1cf88f09b8602136477198a6e2683149659bd122c33592fdb5ad47944ad1ea4d36c6b172aad6338c3bb6ac6227502d010993ac967d1aef00f0c8e038de2e4d3bc2ec368af2e9f10a6f1eda4f7262f136420c07c331b871bf139f74f3010e3c4fe57df3afb71683n,W6e=0x10001n;function $6e(t,e){e==null&&(e=Math.ceil(t.toString(16).length/2));let r=new Uint8Array(e);for(let n=e-1;n>=0;n--)r[n]=Number(t&0xffn),t>>=8n;return r}function F6e(t){let e=0n;for(let r of t)e=e<<8n|BigInt(r);return e}function*tz(t,e,r=1){for(let n=t+r;n<e;n+=r)yield[t,n,r],t=n;t!==e&&(yield[t,e,e-t])}function y6e(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function Znr(t,e){let r=new Uint8Array(e),n=e*(e-1),s=0;for(let i=0;i<e;i++){let a=t[i]+A6e[s]&255;r[i]=A6e[n]^a,n-=e,s+=e}return r}function esr(t){let e=t.length,r=new Uint8Array(128);return r.fill(2,1,127-e),r.set(t,128-e),F6e(r)}function oL(t,e){let r=new Uint8Array(t.length),n=t.length&3;n&&r.set(y6e(t.subarray(0,n),e.subarray(0,n)));for(let[s,i]of tz(n,t.length,e.length))r.set(y6e(t.subarray(s,i),e),s);return r}function U6e(t,e,r){if(r===1n)return 0n;let n=1n;for(t%=r;e;)e&1n&&(n=n*t%r),e=e>>1n,t=t*t%r;return n}function tsr(t){(typeof t=="string"||t instanceof String)&&(t=new TextEncoder().encode(t));let e=new Uint8Array(16+t.length);e.set(oL(oL(t,new Uint8Array([141,165,165,141])).reverse(),new Uint8Array([120,6,173,76,51,134,93,24,76,1,63,70])),16);let r=new Uint8Array(Math.ceil(e.length/117)*128),n=0;for(let[s,i]of tz(0,e.length,117))r.set($6e(U6e(esr(e.subarray(s,i)),W6e,M6e),128),n,n+=128);return Buffer.from(r).toString("base64")}function rsr(t){let e=new Uint8Array(Buffer.from(t,"base64")),r=[];for(let[i,a]of tz(0,e.length,128)){let o=U6e(F6e(e.subarray(i,a)),W6e,M6e),c=$6e(o);r.push(...c.subarray(c.indexOf(0)+1))}r=new Uint8Array(r);let n=Znr(r.subarray(0,16),12),s=oL(r.subarray(16),n).reverse();return new TextDecoder("utf-8").decode(oL(s,new Uint8Array([141,165,165,141])))}function nsr(t){return`data=${encodeURIComponent(tsr(JSON.stringify(t)))}`}function ssr(t){if(typeof t=="string")try{let e=JSON.parse(t);return{encrypted:typeof e?.data=="string"?e.data:typeof e?.data?.data=="string"?e.data.data:"",payload:e}}catch{return{encrypted:t,payload:null}}return t&&typeof t=="object"?{encrypted:typeof t.data=="string"?t.data:typeof t.data?.data=="string"?t.data.data:"",payload:t}:{encrypted:"",payload:t}}function isr(t){let{encrypted:e,payload:r}=ssr(t);if(!e)return r||{};try{return JSON.parse(rsr(e))}catch(n){if(r&&typeof r=="object")return r;throw n}}function q6e(t){if(!t||typeof t!="object")return"";if(typeof t.url=="string"&&t.url)return t.url;if(t.url&&typeof t.url.url=="string"&&t.url.url)return t.url.url;if(t.data&&typeof t.data.url=="string"&&t.data.url)return t.data.url;for(let e of Object.values(t)){if(!e||typeof e!="object")continue;let r=q6e(e);if(r)return r}return""}function j6e(t){if(!t||typeof t!="object")return"";for(let e of["msg","message","error"]){let r=t[e];if(typeof r=="string"&&r.trim())return r.trim()}for(let e of Object.values(t)){if(!e||typeof e!="object")continue;let r=j6e(e);if(r)return r}return""}async function H6e({cookie:t,apiUrl:e,payload:r,userAgent:n,requestReferer:s="",requestOrigin:i="",responseReferer:a=s}){let o=nsr(r),c={"Content-Type":"application/x-www-form-urlencoded","Content-Length":Buffer.byteLength(o),Cookie:t,"User-Agent":n};s&&(c.Referer=s),i&&(c.Origin=i);let u=await k6e(e,"POST",c,o),l=[t,u.cookie].filter(Boolean).join("; "),d=isr(u.data),f=q6e(d);if(!f){let p=j6e(d)||"\u672A\u53D1\u73B0\u4E0B\u8F7D\u94FE\u63A5";return Sc("\u76F4\u94FE\u54CD\u5E94\u65E0 URL",{api:e.includes("/share/")?"share":"own",message:p,decoded:JV(d)}),{parse:0,url:"",msg:`115 \u9650\u5236: ${p}`}}return{parse:0,url:f,header:{"User-Agent":n,...l?{Cookie:l}:{},...a?{Referer:a}:{}}}}async function cL(t,e){let r=await P0(t),n=String(e||"").trim();if(!r)return{parse:0,url:"",msg:"115 Cookie \u7F3A\u5931"};if(!n)return{parse:0,url:"",msg:"115 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{return await H6e({cookie:r,apiUrl:`https://proapi.115.com/app/chrome/downurl?t=${Math.floor(Date.now()/1e3)}`,payload:{pickcode:n},userAgent:x6e,requestReferer:"https://115.com/",requestOrigin:"https://115.com",responseReferer:"https://115.com/"})}catch(s){return{parse:0,url:"",msg:`115 \u63A5\u53E3\u5F02\u5E38: ${s?.message||s}`}}}async function asr({shareCode:t,receiveCode:e,dirID:r=""}){let n=[],s=(a,o)=>a?`${a}/${o}`:o,i=async(a,o)=>{let c=o||"",u=await Ae.get("https://webapi.115.com/share/snap",{params:{share_code:t,receive_code:e,cid:a,limit:"9999",offset:"0"}});if(!u.data.data)return[];let l=u.data.data.list.filter(f=>f.fc===1),d=u.data.data.list.filter(f=>f.fc===0);for(let f of l)C6e(f.n)&&n.push({...f,shareCode:t,receiveCode:e,vod_group:c});for(let f of d)await i(f.cid,s(c,f.n))};return await i(r,""),n}async function Q6e(t,e=null){if(v6e(t)){let s=Ynr(e);if(s){let i=await Xnr(s,t,{maxWaitMs:12e3});if(i.length>0)return Os(await zV("115"),i)}return{from:await zV("115"),url:`115\u79BB\u7EBF\u89E3\u6790\u4E2D$${YV}${t}`}}let r=S6e(t);if(!r)return{};let n=await asr(r);return n=n.map(s=>({vod_id:[r.shareCode,r.receiveCode,s.fid].join("*"),vod_name:s.n,vod_size:s.s,vod_group:s.vod_group})),Os(await zV("115"),n)}async function G6e(t){let e=String(t.body.id||"").trim();if(!e)return{parse:0,url:"",msg:"115 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"};if(e.startsWith(YV)){let a=await g6e(t.server,e.slice(YV.length));return a.url?{parse:0,url:["\u539F\u753B",a.url],header:a.header}:a}if(v6e(e)){let a=await g6e(t.server,e);return a.url?{parse:0,url:["\u539F\u753B",a.url],header:a.header}:a}if(!e.includes("*"))return await cL(t.server,e);let r=await P0(t.server);if(!r)return{parse:0,url:"",msg:"\u8BF7\u5148\u5728\u914D\u7F6E\u4E2D\u586B\u5165115 Cookie"};let[n,s,i]=e.split("*");if(!n||!i)return{parse:0,url:"",msg:"115 \u5206\u4EAB\u53C2\u6570\u9519\u8BEF"};try{let a=await H6e({cookie:r,apiUrl:"http://pro.api.115.com/app/share/downurl",payload:{share_code:n,receive_code:s,file_id:i},userAgent:XV,responseReferer:"https://115.com/"});return a.url?{parse:0,url:["\u539F\u753B",a.url],header:a.header}:(a?.msg?.includes("\u767B\u5F55")&&typeof globalThis.messageToDart=="function"&&globalThis.messageToDart({action:"toast",opt:{message:"115\u76D8\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}),a)}catch(a){return{parse:0,url:"",msg:`115 \u63A5\u53E3\u5F02\u5E38: ${a?.message||a}`}}}var K6e=Re(nC(),1),rz=Re(Jn(),1);var csr=async t=>globalThis.getPanName?await globalThis.getPanName(t):t,V6e=t=>{if(!t)return"";let e=t.replaceAll("\\","/").split("/").filter(Boolean);return e.length<=1?"":(e.pop(),e.join("/"))},uL="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",Y6e="netdisk;P2SP;2.2.91.136;android-android;",usr="netdisk",lsr="https://pan.baidu.com/",dsr="https://pan.baidu.com/disk/main",fsr=200,psr=t=>{try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}},J6e=(t="",e=dsr)=>({"User-Agent":uL,Referer:e,Accept:"application/json, text/plain, */*",...t?{Cookie:t}:{}}),z6e=(t="",e=uL)=>({"User-Agent":e,Referer:lsr,...t?{Cookie:t}:{}}),msr=()=>({"User-Agent":usr}),nz,sz={},iz={set(t,e){sz[t]=e,nz.push(`/baidu/${t}`,e)},get(t){return sz[t]}},ib=async t=>{nz=t.server.db,sz=await nz.getObjectDefault("/baidu",{})};var az=class{constructor(){this.regex=/https:\/\/pan\.baidu\.com\/s\/(.*)\?.*?pwd=([^&]+)/,this.type=["M3U8_AUTO_4K","M3U8_AUTO_2K","M3U8_AUTO_1080","M3U8_AUTO_720","M3U8_AUTO_480"],this.headers={"User-Agent":uL,Connection:"keep-alive",Accept:"application/json, text/plain, */*","Accept-Encoding":"gzip, deflate, br","Accept-Language":"zh,en-GB;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6"},this.api="https://pan.baidu.com",this.link="",this.pwd="",this.surl="",this.shorturl="",this.shareid="",this.app_id=250528,this.view_mode=1,this.channel="chunlei",this.shareCookie=""}get cookie(){return iz.get("baidu_cookie")||""}async getSurl(e){this.link=e,this.shareCookie="";let r=this.regex.exec(e);r&&r[1]&&(this.surl=r[1],this.shorturl=this.surl.split("").slice(1).join(""),this.pwd=r[2]||"")}async getSign(){let e={...this.headers,cookie:this.shareCookie||this.cookie},r=await he.get(`${this.api}/share/tplconfig?surl=${this.surl}&fields=Espace_info,card_info,sign,timestamp&view_mode=${this.view_mode}&channel=${this.channel}&web=1&app_id=${this.app_id}`,{headers:e});if(!r.data||!r.data.data||!r.data.data.sign)throw new Error(`\u83B7\u53D6sign\u5931\u8D25: ${JSON.stringify(r.data)}`);return r.data.data.sign}async getRandsk(){let e=K6e.default.stringify({pwd:this.pwd,vcode:"",vcode_str:""}),r=(await he.post(`${this.api}/share/verify?surl=${this.shorturl}&pwd=${this.pwd}`,e,{headers:{"User-Agent":uL,Referer:this.link}})).data.randsk;if(!r)return"";let n="BDCLND="+r,s=this.cookie.replace(/BDCLND=[^;]*;?\s*/g,"");return s.length>0&&!s.endsWith(";")&&(s+="; "),this.shareCookie=s+n,r}async getShareList(){await this.getRandsk(),this.headers.cookie=this.shareCookie||this.cookie;let e=(await he.get(`${this.api}/share/list?web=5&app_id=${this.app_id}&desc=1&showempty=0&page=1&num=20&order=time&shorturl=${this.shorturl}&root=1&view_mode=${this.view_mode}&channel=${this.channel}&web=1&clienttype=0`,{headers:this.headers})).data;if(e.errno===0&&e.list.length>0){let r={},n=[],s=[];this.uk=e.uk,this.shareid=e.share_id,iz.set(`baidu_share_${this.surl}`,{surl:this.surl,pwd:this.pwd,link:this.link,uk:this.uk,shareid:this.shareid}),e.list.map(a=>{if((a.category==="6"||a.category===6)&&n.push(a.path),a.category==="1"||a.category===1){let o=a.server_filename||a.path.split("/").pop(),c=V6e(a.path);s.push({vod_name:o,vod_group:c,vod_id:[a.path.replaceAll("#","\0"),this.uk,this.shareid,a.fs_id||a.fsid,this.surl].join("*"),vod_size:a.size})}}),!(e.title in r)&&e.title!==void 0&&(r[e.title]=[]),s.length>=0&&e.title!==void 0&&(r[e.title]=[...s]);let i=await Promise.all(n.map(async a=>this.getSharepath(a)));if(i=i.filter(a=>a!=null).flat(),i.length>=0){let a=i.map(o=>(o.vod_name&&o.vod_name.includes("/")&&(o.vod_name=o.vod_name.split("/").pop()),o));r[e.title].push(...a)}return r}}async getSharepath(e){await this.getRandsk(),this.headers.cookie=this.shareCookie||this.cookie;let r=(await he.get(`${this.api}/share/list?is_from_web=true&uk=${this.uk}&shareid=${this.shareid}&order=name&desc=0&showempty=0&view_mode=${this.view_mode}&web=1&page=1&num=100&dir=${encodeURIComponent(e)}&channel=${this.channel}&web=1&app_id=${this.app_id}`,{headers:this.headers})).data;if(r.errno===0&&r.list.length>0){let n=[],s=[];r.list.map(o=>{if((o.category==="6"||o.category===6)&&n.push(o.path),o.category==="1"||o.category===1){let c=o.server_filename||o.path.split("/").pop(),u=V6e(o.path);s.push({vod_name:c,vod_group:u,vod_id:[o.path.replaceAll("#","\0"),this.uk,this.shareid,o.fs_id||o.fsid,this.surl].join("*"),vod_size:o.size})}});let i=await Promise.all(n.map(async o=>this.getSharepath(o)));i=i.filter(o=>o!=null);let a=i.map(o=>(o.vod_name&&o.vod_name.includes("/")&&(o.vod_name=o.vod_name.split("/").pop()),o));return[...s,...a.flat()]}}sha1(e){return rz.default.SHA1(e).toString(rz.default.enc.Hex)}async getUid(){this.headers.cookie=this.shareCookie||this.cookie;let e=(await he.get("https://mbd.baidu.com/userx/v1/info/get?appname=baiduboxapp&fields=%20%20%20%20%20%20%20%20%5B%22bg_image%22,%22member%22,%22uid%22,%22avatar%22,%20%22avatar_member%22%5D&client&clientfrom&lang=zh-cn&tpl&ttt",{headers:this.headers})).data;if(e&&e.data&&e.data.fields&&e.data.fields.uid)return e.data.fields.uid;throw new Error("\u83B7\u53D6\u7528\u6237UID\u5931\u8D25: "+JSON.stringify(e))}async getShareUrl(e,r,n,s){e=e.replaceAll("\0","#");let i=await this.getSign(),a=[],o=Math.floor(new Date/1e3);return this.type.map(c=>{a.push({name:c.replace("M3U8_AUTO_",""),url:`${this.api}/share/streaming?channel=${this.channel}&uk=${r}&fid=${s}&sign=${i}&timestamp=${o}&shareid=${n}&type=${c}&vip=0&jsToken&isplayer=1&check_blue=1&adToken`})}),a}async getAppShareUrl(e,r,n,s){e=e.replaceAll("\0","#");let i=await this.getRandsk(),a=await this.getUid(),o=Object.assign({},this.headers,{"User-Agent":Y6e}),c="73CED981D0F186D12BC18CAE1684FFD5|VSRCQTF6W",u=String(new Date().getTime()),l=this.sha1(this.sha1(this.cookie.match(/BDUSS=(.+?);/)[1])+a+"ebrcUYiuxaZv2XGu7KIYKxUrqfnOfpDF"+u+c+"11.30.2ae5821440fab5e1a61a025f014bd8972"),d=this.api+"/share/list?shareid="+n+"&uk="+r+"&fid="+s+"&sekey="+i+"&origin=dlna&devuid="+c+"&clienttype=1&channel=android_12_zhao_bd-netdisk_1024266h&version=11.30.2&time="+u+"&rand="+l,f=(await he.get(d,{headers:o})).data;if(f.errno===0&&f.list.length>0)return f.list[0].dlink}},Wn=new az;async function X6e(t,e){await ib(e),await Wn.getSurl(t);let r=await Wn.getShareList();if(!r)return null;let n=await csr("baidu"),s=[],i=[];return Object.keys(r).forEach(a=>{let o=Os(n,r[a]);o&&o.from&&o.url&&(s.push(o.from),i.push(o.url))}),s.length===0?null:{from:s.join("$$$"),url:i.join("$$$")}}async function Z6e(t,e="/",r=1){await ib(t);let n=Wn.cookie;if(!n)return{list:[],rawCount:0};let s=Number.parseInt(r,10)||1,i=String(e||"/"),a=(await he.get(`${Wn.api}/api/list?app_id=${Wn.app_id}&web=1&num=${fsr}&page=${s}&order=name&desc=0&dir=${encodeURIComponent(i)}`,{headers:J6e(n)})).data;if(Number(a?.errno)!==0)throw new Error(`\u767E\u5EA6\u5217\u76EE\u5F55\u5931\u8D25: ${a?.errmsg||a?.errno||"unknown error"}`);let o=Array.isArray(a?.list)?a.list:[];return{list:o,rawCount:o.length}}async function hsr(t,e){await ib(t);let r=Wn.cookie;if(!r)return null;let n=String(typeof e=="object"?e?.fileId||"":e||""),s=typeof e=="object"?String(e?.path||""):"";if(!n||!s)return null;let i=new URLSearchParams({type:"VideoURL",path:s,fs_id:n,devuid:"0%1",clienttype:"1",channel:"android_15_25010PN30C_bd-netdisk_1523a",nom3u8:"1",dlink:"1",media:"1",origin:"dlna"}),a=(await he.get(`${Wn.api}/api/mediainfo?${i.toString()}`,{headers:J6e(r),validateStatus:()=>!0})).data,o=String(a?.info?.dlink||a?.info?.[0]?.dlink||a?.dlink||"").trim();if(!o){let c=a?.errno,u=a?.errmsg||a?.show_msg||a?.message||"";throw new Error(`\u767E\u5EA6\u89C6\u9891\u76F4\u94FE\u83B7\u53D6\u5931\u8D25: ${u||c||"empty dlink"}`)}return{dlink:o,data:a}}var gsr={};async function lL(t,e){let r=String(t.body.id||"").split("*");if(await ib(t),r[0]==="own"){let c=String(r[1]||"").trim(),u=psr(r[2]||"");if(!Wn.cookie)return{parse:0,url:"",msg:"\u767E\u5EA6 Cookie \u7F3A\u5931"};if(!c&&!u)return{parse:0,url:"",msg:"\u767E\u5EA6\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{let l=await hsr(t,{fileId:c,path:u});return l?.dlink?{parse:0,url:["\u539F\u753B",l.dlink],header:msr()}:{parse:0,url:"",msg:"\u767E\u5EA6\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}catch(l){return{parse:0,url:"",msg:`\u767E\u5EA6\u63A5\u53E3\u5F02\u5E38: ${l?.message||l}`}}}let n=r[4],s=iz.get(`baidu_share_${n}`);s&&(Wn.surl=s.surl,Wn.pwd=s.pwd,Wn.link=s.link,Wn.uk=s.uk,Wn.shareid=s.shareid,Wn.shorturl=Wn.surl?Wn.surl.split("").slice(1).join(""):"",Wn.shareCookie="",Wn.pwd&&(await Wn.getRandsk(),Wn.headers.cookie=Wn.shareCookie||Wn.cookie));let i={...z6e("",Y6e)},a={...z6e()};try{let c=await Wn.getAppShareUrl(r[0],r[1],r[2],r[3]);if(c)return{parse:0,url:["\u539F\u753B",c],header:i}}catch(c){console.log("App\u7248API\u5931\u8D25\uFF0C\u964D\u7EA7\u5230Web\u7248API:",c.message)}let o=await Wn.getShareUrl(r[0],r[1],r[2],r[3]);if(o&&o.length>0){let c=[];return o.forEach(u=>{c.push(u.name,u.url)}),{parse:0,url:c,header:a}}throw new Error("\u83B7\u53D6\u64AD\u653E\u94FE\u63A5\u5931\u8D25")}async function dL(t,e){let r=t.params.site,n=t.params.what,s=t.params.shareId,i=t.params.fileId,a=t.params.flag;if(r!=="baidu")return e.status(400).send({error:"Invalid site"});let o=gsr[s];if(!o)return e.status(404).send({error:"Play URL not found in cache"});let c,u=o.headers;if(o.type==="app")c=o.url;else if(o.type==="web"){let l=o.urls.find(d=>d.name===a);if(!l)return e.status(404).send({error:"Quality not found"});c=l.url}else return e.status(500).send({error:"Invalid cache type"});return e.redirect(c)}var Tl=Re(Jn(),1);var Te=Gi;(function(t,e){let r=Gi,n=t();for(;;)try{if(parseInt(r(1692,"6m)Q"))/1*(-parseInt(r(482,"di2y"))/2)+-parseInt(r(878,"0D8d"))/3+-parseInt(r(1814,"s45X"))/4+parseInt(r(1858,"6m)Q"))/5+-parseInt(r(1036,"&4j("))/6+-parseInt(r(637,"%g5L"))/7*(parseInt(r(2041,"1IiW"))/8)+-parseInt(r(563,"J02["))/9*(-parseInt(r(1295,"]#Cr"))/10)===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(pL,-485*-2885+-16*-105169+-529460*4);var fL,oz={},es={set(t,e){let r=Gi;oz[t]=e,fL&&fL[r(1878,"EWEh")](r(1469,"TYk6")+t,e)},get(t){return oz[t]}},ab=async t=>{let e=Gi;fL=t[e(1144,"OKeq")].db,oz=await fL[e(350,"oCn^")+e(318,"@)NM")](e(1805,"XIK8"),{})},Asr=async t=>{let e=Gi;return globalThis[e(1418,"EhkZ")]?await globalThis[e(806,"di2y")](t):t},cz=class{constructor(){let e=Gi,r={oAIoS:e(869,"LQMX")+e(619,"L$sR")+e(1263,"woD7")+e(1411,"di2y"),ldYle:e(746,"TYk6")+e(1279,"sBHZ")+e(917,"n(Tw"),HOkUz:e(309,"woD7"),bERZw:e(315,"5V(o")+e(1627,"nHvT")+e(922,"[zZc"),BClVE:e(933,"5V(o")+e(1796,"%g5L"),BRWul:e(899,"68p[")+e(1004,"NQR8")+e(1784,"Rf!$")+e(612,"1IiW")+e(1258,"XIK8")+e(1639,"Rf!$")+e(1212,"^04V")+e(1514,"LQMX")+e(1357,"TYk6")+e(493,"L$sR")+e(1919,"xwLD")+"6",rqbsV:e(1525,"OKeq"),LCTYA:e(1975,"METZ")+e(1866,"$FUM")+e(1570,"xwLD")+e(377,"wv7J"),OheQE:e(1360,"YsCI")+e(1117,"htl8"),SjHNU:e(1352,"&4j(")+e(919,"GiqO")+e(1636,"nHvT")+e(1909,"METZ")+e(2061,"woD7"),DUyhO:e(842,"0D8d")+e(2136,"a(V)")},n=r[e(2118,"a(V)")][e(1306,"nHvT")]("|"),s=-1*-3532+-4*-346+-4916;for(;;){switch(n[s++]){case"0":this[e(411,"EhkZ")]=r[e(1729,"METZ")];continue;case"1":this[e(2092,"68F4")]=/https:\/\/pan\.xunlei\.com\/s\/([^?#]+)(?:\?[^#]*pwd=([^&#]+))?/;continue;case"2":this[e(1529,"1IiW")]=r[e(1511,"^04V")];continue;case"3":this[e(402,"%g5L")]=r[e(1551,"YsCI")];continue;case"4":this[e(1426,"qInX")]=r[e(970,"&4j(")];continue;case"5":this[e(1765,"U6cg")+e(1552,"68F4")]="";continue;case"6":this[e(1458,"U6cg")]={"User-Agent":r[e(771,"5V(o")],Connection:r[e(523,"Rf!$")],Accept:r[e(1697,"wv7J")],"Accept-Encoding":r[e(1185,"NQR8")],"Accept-Language":r[e(1900,"h1&F")]};continue;case"7":this[e(1967,"5V(o")]="";continue;case"8":this[e(491,"a(V)")]="";continue;case"9":this[e(1613,"Rf!$")]="";continue;case"10":this[e(1739,"NQR8")]="";continue;case"11":this[e(732,"68F4")]="";continue;case"12":this[e(1870,"&4j(")]="";continue;case"13":this[e(2133,"TYk6")+"d"]=r[e(602,"U6cg")];continue;case"14":this[e(1165,"htl8")+e(456,"*uMz")]="";continue}break}}async[Te(739,"L$sR")](){let e=Te,r={sqBTW:function(n,s){return n>s},SgZqI:function(n,s){return n/s},teIcV:e(1543,"n(Tw")+e(617,"METZ"),YWWus:e(947,"t2$F")+"\u767B\u5F55",yDFvY:e(1082,"TYk6")+e(1683,"METZ")};if(this[e(594,"OKeq")])try{let n=JSON[e(1434,"1IiW")](Tl.default[e(1712,"nHvT")][e(1513,"EWEh")][e(1889,"n(Tw")](this[e(1420,"TYk6")][e(648,"[zZc")](".")[1])[e(343,"6m)Q")](Tl.default[e(354,"h1&F")][e(1145,"@)NM")]));r[e(937,"attV")](n[e(2043,"di2y")],Math[e(884,"TYk6")](r[e(1642,"jO!N")](Date[e(1713,"EWEh")](),-41*232+707+9805)))?console[e(1656,"1IiW")](r[e(1350,"XIK8")]):console[e(1810,"METZ")](r[e(1764,"*uMz")])}catch{console[e(349,"sBHZ")](r[e(1098,"$5xR")])}}get[Te(1092,"EWEh")](){let e=Te,r={nkyhX:e(1502,"^04V")},n=es[e(1272,"@)NM")](r[e(1528,"$FUM")]);return!n&&(n=this[e(2119,"veG&")](),es[e(802,"@)NM")](r[e(1580,"jO!N")],n)),n}get[Te(408,"XIK8")](){let e=Te,r={vqVKW:e(1045,"3*7L")+"me"};return es[e(503,"xwLD")](r[e(1633,"$FUM")])}get[Te(783,"OKeq")](){let e=Te,r={vXGvS:e(424,"nHvT")+"rd"};return es[e(1086,"sBHZ")](r[e(1067,"woD7")])}get[Te(1019,"YsCI")](){let e=Te,r={lFysF:e(383,"veG&")};return es[e(352,"YsCI")](r[e(1589,"$5xR")])}get[Te(1818,"oCn^")+Te(1546,"OKeq")](){let e=Te,r={cRsxe:e(589,"NQR8")+e(582,"68p[")};return es[e(552,"a(V)")](r[e(1243,"NQR8")])}get[Te(609,"jO!N")](){let e=Te,r={dyQQD:e(827,"*uMz")+"d"};return es[e(352,"YsCI")](r[e(1285,"EWEh")])}[Te(400,"veG&")](e){return new Promise(r=>setTimeout(r,e))}[Te(1300,"jO!N")](e){let r=Te;return Tl.default[r(323,"0D8d")](e)[r(485,"nHvT")]()}[Te(1852,"NQR8")](e){let r=Te;return Tl.default[r(839,"J02[")](e)[r(861,"L$sR")]()}[Te(415,"$FUM")](){let e=Te,r={HxsFC:function(n,s){return n|s},cqcQD:function(n,s){return n*s},jjUKz:function(n,s){return n===s},aJbJp:function(n,s){return n|s},NLXpN:function(n,s){return n&s},WxhTC:e(2120,"nHvT")+e(1184,"sBHZ")+e(1675,"YsCI")+"xx"};return r[e(1653,"1IiW")][e(428,"$5xR")](/[xy]/g,function(n){let s=e,i=r[s(1080,"u38W")](r[s(825,"CdtI")](Math[s(436,"U6cg")](),-173+1*4946+-71*67),-1320+1*8972+-1*7652);return(r[s(755,"68p[")](n,"x")?i:r[s(1726,"]#Cr")](r[s(1867,"]#Cr")](i,4484+-4481*1),-997*-3+6943+-9926))[s(1038,"di2y")](-3961*-2+-7504+-386)})}[Te(1365,"t2$F")+Te(2115,"3*7L")](e){let r=Te,n={unGgu:function(s,i){return s+i},xlOMv:function(s,i){return s+i},iLTQV:r(1669,"$5xR")+r(692,"3*7L")+r(1696,"METZ"),GFkyo:r(2036,"h1&F")+r(1792,"qInX")+r(1871,"0D8d")+"21"};return this[r(1274,"]#Cr")](this[r(1673,"%g5L")](n[r(1686,"EWEh")](n[r(476,"a(V)")](e,n[r(1236,"GiqO")]),n[r(758,"qInX")])))}[Te(1043,"L$sR")+Te(974,"sBHZ")](e){let r=Te,n={eWXEq:function(a,o){return a+o},yKZpQ:function(a,o){return a+o},OOyUJ:function(a,o){return a+o},MoIyu:function(a,o){return a+o},xjncb:r(555,"wv7J")+r(1560,"^04V"),dWTeP:r(1482,"wv7J")+r(1425,"veG&")+r(928,"#Vf$")+r(1283,"jO!N"),kHJrO:r(1293,"sBHZ")+r(846,"veG&"),KZrUq:r(1667,"wv7J")+r(1003,"METZ")+r(872,"nHvT"),MnRSt:r(772,"a(V)")+r(1677,"&4j(")+r(1242,"TYk6")+r(949,"3*7L"),tXuyo:r(1609,"YsCI")+"1",VKhFE:r(1579,"U6cg")+r(659,"NQR8"),IsxcY:r(1736,"wv7J")+r(611,"Rf!$")+r(1031,"attV")+r(1625,"68F4")+r(1233,"wv7J"),hbNLi:r(1780,"xwLD")+r(2142,"htl8")+r(531,"xwLD"),fInOX:r(2023,"h1&F")+r(492,"METZ"),zzNSc:r(1926,"68F4")+r(382,"EWEh"),sUCiS:r(1643,"a(V)")+r(1153,"Rf!$")+r(641,"XIK8")+r(433,"nHvT"),vwGxo:r(517,"METZ")+r(723,"di2y")},s;return s=n[r(2150,"6m)Q")](n[r(1171,"METZ")](n[r(1503,"68F4")](n[r(2082,"wv7J")],n[r(1421,"TYk6")]),e),n[r(395,"TYk6")]),[n[r(583,"XIK8")],n[r(1767,"a(V)")],n[r(649,"1IiW")],n[r(813,"U6cg")],n[r(1189,"qInX")],n[r(757,"wv7J")],n[r(550,"5V(o")],n[r(421,"68F4")],n[r(1728,"]#Cr")],n[r(631,"METZ")]][r(358,"NQR8")](a=>{let o=r;s=this[o(1300,"jO!N")](n[o(1903,"qInX")](s,a))}),s}async[Te(700,"U6cg")](e){let r=Te,n={EsZKt:function(i,a){return i(a)}};this[r(1344,"$FUM")]=e;let s=this[r(807,"YsCI")][r(1978,"woD7")](e);s&&s[30*-46+-4597*1+5978]&&(this[r(797,"YsCI")]=s[1],this[r(2072,"htl8")]=n[r(1880,"NQR8")](decodeURIComponent,s[-17*227+-7354+11215]||""))}async[Te(1857,"@)NM")](){let e=Te,r={KYNag:e(464,"h1&F"),pqYFF:e(1129,"^04V"),DkShf:e(1888,"nHvT")+"7",SyVos:e(569,"3*7L")+e(1939,"1IiW")+e(1457,"$FUM")+"f1",DRrFK:e(344,"6m)Q")+e(1644,"woD7")+e(606,"t2$F")+e(967,"$FUM"),kVcPz:e(1240,"[zZc"),BZdtL:e(1561,"xwLD")+e(1447,"U6cg")+e(1703,"]#Cr")+e(1136,"t2$F")+e(1324,"n(Tw")+e(1971,"1IiW")+e(1679,"$FUM")+"c",FQgER:e(1794,"u38W"),tgZiF:e(1040,"h1&F"),BQcxz:e(1401,"woD7")+e(511,"qInX"),juuAq:e(1051,"TYk6"),weTll:e(979,"#Vf$"),lnpqk:e(1975,"METZ")+e(351,"*uMz"),HxsFe:function(a,o){return a===o},AGpYU:e(2047,"nHvT")},n=JSON[e(1548,"CdtI")]({protocolVersion:r[e(1782,"qInX")],sequenceNo:r[e(1167,"%g5L")],platformVersion:"10",isCompressed:"0",appid:"40",clientVersion:r[e(1853,"*uMz")],peerID:r[e(2110,"68F4")],appName:r[e(907,"di2y")],sdkVersion:r[e(1504,"s45X")],devicesign:r[e(670,"sBHZ")],netWorkType:"2G",providerName:r[e(767,"YsCI")],deviceModel:r[e(547,"3*7L")],deviceName:r[e(1075,"J02[")],OSVersion:"12",creditkey:"",hl:r[e(2057,"%g5L")],userName:this[e(334,"nHvT")],passWord:this[e(1414,"METZ")],verifyKey:"",verifyCode:"",isMd5Pwd:"0"}),s={method:r[e(1604,"3*7L")],url:this[e(1476,"oCn^")]+(e(1617,"t2$F")+e(1001,"s45X")+e(1385,"s45X")),headers:{"Content-Type":r[e(1180,"nHvT")]},data:n},i=await Ae[e(525,"s45X")](s);if(r[e(1564,"di2y")](i[e(472,"]#Cr")],-2105*-1+1*-784+59*-19))return console[e(2031,"$5xR")](r[e(2088,"XIK8")]),i[e(522,"@)NM")][e(1628,"J02[")]}async[Te(1787,"CdtI")+Te(1445,"Rf!$")](){let e=Te,r={lbpJJ:e(2012,"&4j(")+e(731,"u38W")+e(1740,"EhkZ"),HKuOV:e(1102,"woD7"),fttuB:e(480,"METZ")+e(1623,"5V(o")+e(1577,"XIK8")+e(1230,"nHvT")+e(823,"veG&")+e(2049,"u38W")+e(1211,"n(Tw")+e(509,"s45X")+e(1979,"L$sR")+e(805,"h1&F")+e(1255,"t2$F")+"6",PrYZl:e(1848,"0D8d")+e(2027,"J02["),WKiZg:function(a,o){return a===o}},n=JSON[e(898,"veG&")]({client_id:this[e(1952,"]#Cr")+"d"],action:r[e(2117,"n(Tw")],device_id:this[e(2138,"$FUM")],captcha_token:"",meta:{phone_number:e(518,"U6cg")+this[e(409,"METZ")]}}),s={method:r[e(921,"di2y")],url:this[e(1286,"n(Tw")]+(e(467,"t2$F")+e(990,"GiqO")+"it"),headers:{"User-Agent":r[e(1097,"htl8")],"Content-Type":r[e(446,"oCn^")]},data:n},i=await Ae[e(1574,"#Vf$")](s);if(r[e(647,"h1&F")](i[e(520,"0D8d")],1599*1+-6187+4788))return i[e(327,"CdtI")][e(1497,"1IiW")+e(1671,"n(Tw")]}async[Te(1827,"TYk6")+Te(796,"3*7L")](){let e=Te,r={YnZZu:e(438,"NQR8"),yWkJo:function(o,c){return o===c},FITcL:function(o,c){return o===c},jaqtU:e(1678,"L$sR"),OXxLf:e(701,"u38W"),zgweA:e(399,"6m)Q"),mlfjX:e(848,"Rf!$"),rsNqj:e(886,"J02[")+e(1989,"@)NM")+e(1215,"XIK8")+e(1530,"J02[")+e(2091,"#Vf$")+e(2014,"di2y")+e(626,"EhkZ")+e(2037,"n(Tw")+e(2059,"s45X")+e(777,"attV")+e(329,"[zZc")+e(1887,"s45X")+e(2148,"%g5L")+e(1355,"sBHZ")+e(675,"3*7L")+"6",bjTcl:e(798,"EhkZ")+e(346,"$5xR"),pRDtg:function(o,c){return o===c},ykfqu:e(429,"[zZc")};if(console[e(1997,"u38W")](r[e(546,"t2$F")]),r[e(845,"woD7")](this[e(521,"U6cg")],"")||r[e(320,"EWEh")](this[e(505,"qInX")],void 0)){let o=this[e(2119,"veG&")]();es[e(1875,"5V(o")](r[e(2126,"woD7")],o)}let n=await this[e(1518,"L$sR")+e(1297,"U6cg")](),s=JSON[e(1071,"LQMX")]({phone_number:e(1188,"EWEh")+this[e(331,"$FUM")],target:r[e(545,"woD7")],usage:r[e(780,"h1&F")],client_id:this[e(1378,"u38W")+"d"]}),i={method:r[e(1938,"nHvT")],url:this[e(572,"u38W")]+(e(1557,"n(Tw")+e(306,"s45X")),headers:{"User-Agent":r[e(1576,"h1&F")],"Content-Type":r[e(980,"NQR8")],"x-captcha-token":n,"x-client-id":this[e(1882,"1IiW")+"d"],"x-device-id":this[e(1248,"GiqO")]},data:s},a=await Ae[e(1273,"a(V)")](i)[e(2125,"s45X")](o=>o[e(1777,"h1&F")]);r[e(489,"XIK8")](a[e(1865,"@)NM")],7459*1+625+73*-108)&&(console[e(2031,"$5xR")](r[e(481,"L$sR")]),this[e(1704,"68p[")+e(1066,"68F4")]=a[e(1441,"YsCI")][e(663,"attV")+e(803,"3*7L")])}async[Te(2068,"$FUM")](e){let r=Te,n={shoWm:r(1610,"XIK8"),MhuJE:r(2130,"OKeq")+r(673,"*uMz")+r(877,"oCn^")+r(1719,"Rf!$")+r(1024,"XIK8")+r(1222,"#Vf$")+r(1990,"h1&F")+r(1977,"di2y")+r(1053,"veG&")+r(1345,"jO!N")+r(1329,"0D8d")+r(1325,"jO!N")+r(1218,"LQMX")+r(1331,"TYk6")+r(931,"68F4")+"6",uBdsx:r(1364,"5V(o")+r(963,"@)NM"),arOQt:function(s,i){return s===i}};if(e){let s=JSON[r(696,"#Vf$")]({verification_code:e,verification_id:this[r(1214,"t2$F")+r(986,"OKeq")],client_id:this[r(410,"U6cg")+"d"]}),i={method:n[r(1044,"t2$F")],url:this[r(1286,"n(Tw")]+(r(896,"htl8")+r(1148,"xwLD")+r(1072,"@)NM")),headers:{"user-agent":n[r(1556,"attV")],"content-type":n[r(1986,"xwLD")],"x-client-id":this[r(1884,"GiqO")+"d"],"x-device-id":this[r(674,"n(Tw")]},data:s},a=await Ae[r(1090,"woD7")](i)[r(1532,"0D8d")](o=>o[r(1862,"t2$F")]);if(n[r(1526,"n(Tw")](a[r(1200,"J02[")],-2039*-1+-4163+4*581)){let o=a[r(484,"GiqO")][r(1151,"J02[")+r(483,"n(Tw")];await this[r(1366,"&4j(")+"n"](e,o)}}}async[Te(1793,"OKeq")+"n"](e,r){let n=Te,s={PHkaO:n(1953,"1IiW"),RCIiq:n(854,"attV")+n(623,"&4j(")+n(1407,"a(V)")+n(1687,"EhkZ")+n(883,"htl8")+n(1531,"68F4")+n(1990,"h1&F")+n(1486,"#Vf$")+n(321,"LQMX")+n(1377,"$FUM")+n(977,"^04V")+n(651,"u38W")+n(1741,"s45X")+n(1957,"htl8")+n(313,"%g5L")+"6",hOEXo:n(2007,"LQMX")+n(1768,"^04V"),LXcMw:function(u,l){return u===l},tTpnf:n(2060,"Rf!$"),eUDQW:n(876,"%g5L"),dHmgc:function(u,l){return u+l},EstUd:function(u,l){return u+l},ulcUx:n(2025,"h1&F")+"d",uuYAR:n(910,"attV")+n(596,"t2$F"),JkrdO:function(u,l){return u+l},wHlib:n(1934,"U6cg")},i=await this[n(1632,"68F4")+n(662,"GiqO")](),a=JSON[n(968,"1IiW")]({username:n(2050,"t2$F")+this[n(1192,"jO!N")],verification_code:e,verification_token:r,client_id:this[n(2133,"TYk6")+"d"]}),o={method:s[n(488,"qInX")],url:this[n(337,"LQMX")]+(n(1754,"@)NM")+n(1424,"68p[")),headers:{"User-Agent":s[n(625,"^04V")],"Content-Type":s[n(741,"68F4")],"x-captcha-token":i,"x-client-id":this[n(1970,"XIK8")+"d"],"x-device-model":"PC","x-device-id":this[n(455,"]#Cr")]},data:a},c=await Ae[n(680,"6m)Q")](o)[n(475,"METZ")](u=>u[n(1412,"jO!N")]);s[n(1220,"*uMz")](c[n(1507,"U6cg")],-2*-310+11*547+-6437)?(console[n(1340,"NQR8")](s[n(584,"veG&")]),es[n(1456,"EWEh")](s[n(1303,"GiqO")],s[n(708,"t2$F")](s[n(1288,"1IiW")](c[n(998,"[zZc")][n(653,"wv7J")]," "),c[n(1175,"Rf!$")][n(430,"oCn^")+"en"])),es[n(1446,"wv7J")](s[n(551,"h1&F")],c[n(2104,"LQMX")][n(526,"wv7J")]),es[n(1611,"t2$F")](s[n(1459,"wv7J")],c[n(373,"U6cg")][n(360,"Rf!$")+n(404,"L$sR")])):console[n(590,"di2y")](s[n(865,"xwLD")](s[n(810,"*uMz")],c[n(643,"]#Cr")]))}async[Te(1174,"U6cg")+Te(912,"sBHZ")](){let e=Te,r={vJkpz:e(1972,"NQR8")+e(1648,"di2y"),oFmIL:e(1770,"68p["),ysxiA:e(1077,"XIK8")+e(575,"[zZc")+e(904,"qInX")+e(1701,"u38W")+e(1149,"5V(o")+e(1654,"CdtI")+e(2029,"GiqO")+e(1672,"NQR8")+e(1461,"EWEh")+e(1228,"jO!N")+e(1999,"#Vf$")+"6",ivpik:e(1694,"1IiW")+e(398,"L$sR"),EPHZD:function(a,o){return a===o}},n=JSON[e(1363,"attV")]({client_id:this[e(1964,"NQR8")+"d"],action:r[e(1922,"EhkZ")],device_id:this[e(364,"h1&F")],captcha_token:"",meta:{phone_number:e(580,"$5xR")+this[e(1996,"wv7J")]}}),s={method:r[e(819,"wv7J")],url:this[e(401,"U6cg")]+(e(1663,"J02[")+e(1079,"YsCI")+"it"),headers:{"User-Agent":r[e(381,"$FUM")],"Content-Type":r[e(1963,"EWEh")]},data:n},i=await Ae[e(1205,"GiqO")](s);if(r[e(707,"jO!N")](i[e(1305,"n(Tw")],200))return i[e(1084,"htl8")][e(2127,"di2y")+e(1091,"J02[")]}async[Te(620,"attV")](){let e=Te,r={semlw:function(n,s){return n===s},xsJbL:e(774,"wv7J"),guAkM:e(2010,"u38W")+e(1018,"J02[")+e(1103,"$5xR")+e(1537,"jO!N")+e(1105,"]#Cr")+e(1152,"oCn^")+e(2001,"TYk6")+e(1083,"nHvT")+e(362,"htl8")+e(1618,"3*7L")+e(1932,"&4j(")+"6",ReSGp:e(1896,"]#Cr")+e(2145,"sBHZ"),BBHKG:e(871,"U6cg"),PFFro:e(383,"veG&"),YNWBL:function(n,s){return n+s},BkLHk:e(452,"veG&")+"d",iHmGa:function(n,s){return n>s},rbemP:function(n,s){return n/s},nuSZN:e(669,"h1&F"),rutpw:e(1143,"woD7")};if(r[e(638,"NQR8")](this[e(1223,"%g5L")],void 0)||r[e(751,"Rf!$")](this[e(750,"]#Cr")],"")){let n=await this[e(1898,"wv7J")+e(1828,"attV")](),s=JSON[e(413,"h1&F")]({username:e(2050,"t2$F")+this[e(1372,"6m)Q")],password:this[e(507,"$5xR")],client_id:this[e(412,"^04V")+"d"]}),i={method:r[e(759,"a(V)")],url:this[e(337,"LQMX")]+(e(923,"]#Cr")+e(925,"%g5L")),headers:{"User-Agent":r[e(1307,"nHvT")],"Content-Type":r[e(833,"L$sR")],"accept-language":r[e(1170,"TYk6")],"x-captcha-token":n,"x-client-id":this[e(553,"3*7L")+"d"],"x-device-id":this[e(447,"#Vf$")]},data:s},a=await Ae[e(629,"3*7L")](i)[e(1892,"&4j(")](o=>o[e(1050,"@)NM")]);r[e(638,"NQR8")](a[e(1823,"xwLD")],-2624+1*2824)&&(es[e(728,"Rf!$")](r[e(866,"68F4")],r[e(1981,"GiqO")](r[e(1981,"GiqO")](a[e(998,"[zZc")][e(916,"sBHZ")]," "),a[e(930,"s45X")][e(1157,"^04V")+"en"])),es[e(1592,"CdtI")](r[e(2017,"LQMX")],a[e(1766,"t2$F")][e(1544,"6m)Q")])),await this[e(1894,"CdtI")+"a"]()}else{let n=JSON[e(459,"Rf!$")](Tl.default[e(599,"*uMz")][e(756,"Rf!$")][e(527,"u38W")](this[e(939,"LQMX")][e(460,"htl8")](".")[1])[e(1275,"GiqO")](Tl.default[e(2064,"68p[")][e(1022,"LQMX")]));r[e(1698,"TYk6")](n[e(1651,"1IiW")],Math[e(1280,"CdtI")](r[e(2128,"LQMX")](Date[e(1124,"attV")](),-2*4496+-1903*1+11895)))?console[e(978,"jO!N")](r[e(2077,"NQR8")]):(console[e(775,"YsCI")](r[e(1732,"woD7")]),es[e(494,"EhkZ")](r[e(1321,"5V(o")],""),await this[e(1572,"di2y")]())}}async[Te(1108,"s45X")+"a"](){let e=Te,r={wwKwE:e(500,"L$sR")+e(363,"EhkZ")+e(1056,"u38W")+e(957,"attV")+e(1958,"attV"),zJneF:e(1845,"&4j(")+e(1948,"htl8"),etZPm:e(965,"EWEh"),mWxRW:e(1112,"68p[")+e(658,"veG&")+e(1603,"TYk6")+e(1631,"qInX"),qGfQD:e(1966,"3*7L")+e(656,"6m)Q"),nujel:e(774,"wv7J"),myXIq:e(601,"t2$F")+e(1641,"^04V")+e(1904,"5V(o")+e(779,"@)NM")+e(1025,"n(Tw")+"it",mtKnv:e(1417,"LQMX")+e(1915,"TYk6")+e(442,"woD7")+e(316,"@)NM")+e(1258,"XIK8")+e(1319,"n(Tw")+e(2079,"LQMX")+e(887,"di2y")+e(711,"CdtI")+e(2005,"EhkZ")+e(497,"METZ")+"6",hNUIF:e(1472,"TYk6")+e(1872,"XIK8"),yJDIv:e(1668,"$FUM")+e(800,"qInX")+e(1195,"htl8")+e(1315,"woD7")+e(1052,"3*7L"),gjgoy:e(379,"a(V)")+e(1125,"[zZc")+e(1430,"TYk6"),SwAtW:e(1899,"xwLD"),taRRu:e(1007,"xwLD")+e(1444,"sBHZ")+e(332,"oCn^")+e(1203,"CdtI")+e(1927,"6m)Q")+e(396,"h1&F")+e(1358,"L$sR"),HGPRp:function(u,l){return u(l)}},n=JSON[e(1548,"CdtI")]({client_id:this[e(1121,"Rf!$")+"d"],action:r[e(1998,"nHvT")],device_id:this[e(1014,"@)NM")],captcha_token:"",meta:{username:"",phone_number:this[e(1515,"TYk6")],email:"",package_name:r[e(390,"6m)Q")],client_version:r[e(1433,"t2$F")],captcha_sign:r[e(831,"TYk6")],timestamp:r[e(557,"$FUM")],user_id:this[e(676,"n(Tw")]}}),s={method:r[e(419,"68F4")],url:r[e(1494,"qInX")],headers:{"User-Agent":r[e(1382,"attV")],"Content-Type":r[e(2016,"68p[")],"accept-language":r[e(817,"s45X")],"content-type":r[e(915,"$FUM")]},data:n},i=await Ae[e(1294,"U6cg")](s)[e(1725,"a(V)")](u=>u[e(1841,"veG&")]),a=i[e(938,"woD7")][e(576,"jO!N")+e(1343,"GiqO")],o={method:r[e(720,"woD7")],url:r[e(1837,"htl8")],headers:{"User-Agent":r[e(1299,"YsCI")],"accept-language":r[e(1260,"xwLD")],authorization:this[e(1420,"TYk6")],"content-type":r[e(2102,"EWEh")],"x-captcha-token":a,"x-client-id":this[e(1057,"htl8")+"d"],"x-device-id":this[e(1131,"LQMX")]}},c=(await r[e(1995,"di2y")](Ae,o)[e(1954,"OKeq")](u=>u[e(1682,"XIK8")]))[e(930,"s45X")]}async[Te(1821,"t2$F")+Te(652,"TYk6")](e,r){let n=Te,s={qgJwj:n(308,"woD7")+n(431,"htl8"),vCtsz:n(1008,"qInX")+n(450,"GiqO")+n(2008,"wv7J")+"6a",gKdCI:n(999,"[zZc")+n(2020,"68p["),cHymB:n(776,"a(V)"),YFLlo:n(307,"htl8")+n(2116,"$5xR")+n(1101,"0D8d")+n(1037,"jO!N"),eQQNM:n(684,"J02[")+n(470,"jO!N"),AFOEU:n(975,"U6cg"),ascCo:n(1271,"68F4")+n(1708,"68p[")+n(1666,"5V(o")+n(785,"veG&")+n(1738,"68F4")+n(1854,"LQMX")+n(2029,"GiqO")+n(1309,"jO!N")+n(2073,"woD7")+n(1608,"$5xR")+n(2094,"^04V")+"6",YIxOF:n(512,"Rf!$")+n(801,"TYk6"),DMise:function(u,l){return u===l}},i=r+":"+e,a=JSON[n(1781,"]#Cr")]({client_id:s[n(1788,"CdtI")],action:i,device_id:s[n(1232,"htl8")],captcha_token:"",meta:{username:"",phone_number:"",email:"",package_name:s[n(1237,"L$sR")],client_version:s[n(510,"qInX")],captcha_sign:s[n(1622,"68F4")],timestamp:s[n(1500,"L$sR")],user_id:this[n(1058,"METZ")]}}),o={method:s[n(533,"jO!N")],url:this[n(2151,"Rf!$")]+(n(1506,"3*7L")+n(445,"METZ")+"it"),headers:{"User-Agent":s[n(1737,"xwLD")],"Content-Type":s[n(2030,"[zZc")]},data:a},c=await Ae[n(1141,"wv7J")](o);if(s[n(2071,"wv7J")](c[n(1901,"GiqO")],5188+-678*1+-4310))return c[n(1523,"XIK8")][n(1468,"u38W")+n(1481,"$FUM")]}async[Te(468,"68F4")+Te(1943,"oCn^")](e,r){let n=Te,s={iTFXY:n(567,"GiqO")+n(535,"qInX")+n(1566,"1IiW"),fZBuj:n(1844,"%g5L")+"7",uEapQ:n(2022,"@)NM")+n(1256,"sBHZ"),QBCTB:n(774,"wv7J"),FuzIn:n(1054,"veG&")+n(1718,"TYk6")+n(1409,"METZ")+n(1453,"a(V)")+n(1856,"NQR8")+n(1374,"di2y")+n(1807,"68p[")+n(644,"YsCI")+n(1442,"LQMX")+n(1216,"$5xR")+n(1467,"68F4")+n(600,"nHvT")+n(1565,"nHvT")+n(1410,"di2y")+n(1825,"jO!N")+n(836,"LQMX")+n(1563,"a(V)")+n(682,"qInX")+n(2095,"[zZc")+n(1249,"a(V)")+n(1081,"6m)Q")+n(1201,"Rf!$")+n(375,"EhkZ"),aFHvz:n(1779,"%g5L")+n(1138,"a(V)"),wILUS:function(l,d){return l===d}},i=r+":"+e,a=this[n(1048,"J02[")+n(1769,"di2y")](this[n(627,"oCn^")]),o=JSON[n(1363,"attV")]({client_id:this[n(1799,"veG&")+"d"],action:i,device_id:this[n(1620,"xwLD")],captcha_token:"",meta:{package_name:s[n(1231,"*uMz")],client_version:s[n(961,"@)NM")],captcha_sign:"1."+a,timestamp:s[n(1437,"YsCI")],user_id:this[n(969,"68p[")]}}),c={method:s[n(1498,"68p[")],url:this[n(1747,"1IiW")]+(n(1302,"xwLD")+n(1941,"OKeq")+"it"),headers:{"User-Agent":s[n(745,"%g5L")],"Content-Type":s[n(357,"68F4")]},data:o},u=await Ae[n(1574,"#Vf$")](c);if(s[n(632,"$FUM")](u[n(1961,"veG&")],4513*-2+-4717+1*13943))return u[n(1341,"J02[")][n(326,"woD7")+n(1702,"#Vf$")]}[Te(2069,"u38W")](){let e=Te,r={jqPjK:e(368,"attV")+e(1235,"woD7"),HMGnp:e(385,"woD7")+e(457,"]#Cr"),qFAOw:e(690,"$5xR")+e(454,"5V(o"),sekWS:e(1783,"@)NM")+e(1795,"6m)Q")+e(1074,"#Vf$"),DLVXn:e(1721,"#Vf$")+e(539,"GiqO"),LdWpt:e(1451,"J02[")+e(1834,"3*7L")+e(1883,"3*7L")+"0S",rYGYr:e(1011,"n(Tw")+e(1891,"YsCI")+e(945,"TYk6")+"rt",xCRsm:e(330,"s45X")+e(1049,"s45X"),LIVZs:e(843,"u38W")+e(1809,"1IiW"),bePxy:e(2028,"EWEh")+e(1380,"U6cg")+e(2040,"GiqO"),gdcoh:e(1893,"L$sR")+e(1415,"OKeq")+e(2149,"xwLD")+"Xs",khHNT:e(356,"attV")+e(487,"$FUM"),eyjsi:e(782,"nHvT"),pyrLm:e(1373,"nHvT")+e(1948,"htl8"),PEexz:e(1836,"METZ")+e(1602,"*uMz")+e(537,"]#Cr")+"6a",pudkT:function(o,c){return o+c},pxgwZ:function(o,c){return o+c},xWdyI:function(o,c){return o+c},XgdXe:e(893,"@)NM")+e(2113,"$FUM"),jjUvA:function(o,c){return o<c},wnnkP:function(o,c){return o+c},zekJA:function(o,c){return o+c}},n=[r[e(588,"5V(o")],r[e(440,"$5xR")],r[e(1193,"68F4")],"m2",r[e(1573,"NQR8")],r[e(574,"6m)Q")],r[e(549,"68F4")],r[e(1664,"nHvT")],r[e(1660,"OKeq")],r[e(1390,"$5xR")],r[e(859,"#Vf$")],r[e(1905,"wv7J")]],s={ClientID:r[e(1501,"$5xR")],ClientVersion:r[e(515,"3*7L")],PackageName:r[e(1517,"0D8d")],DeviceID:r[e(1582,"$FUM")]},i=Date[e(558,"0D8d")](),a=r[e(840,"L$sR")](r[e(465,"*uMz")](r[e(586,"CdtI")](r[e(1413,"h1&F")](s[e(838,"CdtI")],s[e(414,"GiqO")+e(342,"GiqO")]),s[e(671,"qInX")+"e"]),s[e(1310,"di2y")]),r[e(387,"*uMz")]);for(let o=-4301+97*37+-2*-356;r[e(847,"di2y")](o,n[e(1913,"nHvT")]);o++)a=Tl.default[e(1763,"YsCI")](r[e(570,"5V(o")](a,n[o]))[e(994,"3*7L")]();return r[e(1711,"YsCI")]("1.",a)}async[Te(1312,"^04V")+"st"](){let e=Te,r={ObTNQ:function(c,u){return c===u},yRrsd:function(c,u){return c===u},CUmUf:e(830,"s45X"),QyWLj:function(c,u){return c(u)},utdWz:e(1621,"J02[")+e(852,"EWEh"),GpxVm:e(1047,"$5xR"),zaXbj:e(1021,"5V(o"),ApRUZ:e(948,"5V(o")+e(1516,"GiqO")+e(862,"xwLD")+e(560,"oCn^")+e(435,"EhkZ")+e(1122,"&4j(")+e(1347,"t2$F")+e(1910,"CdtI")+e(2083,"]#Cr")+e(1228,"jO!N")+e(313,"%g5L")+"6",zzAce:e(1178,"U6cg")+e(873,"0D8d")+e(1176,"oCn^")+e(621,"LQMX")+e(2004,"U6cg"),zWTzE:e(2048,"CdtI")+e(724,"YsCI"),zhmRE:e(562,"di2y")+e(450,"GiqO")+e(1254,"#Vf$")+"6a",yrqsZ:function(c,u){return c===u},gkiYr:function(c,u){return c in u},JkvCi:function(c,u){return c!==u},CebNw:function(c,u){return c>u},zzWOA:function(c,u){return c>=u}},n=r[e(880,"L$sR")],s=r[e(1060,"%g5L")],i=await this[e(1861,"oCn^")+e(1956,"*uMz")](n,s),a={method:r[e(960,"sBHZ")],url:this[e(2015,"s45X")]+(e(1270,"J02[")+e(1177,"&4j(")+e(733,"t2$F"))+this[e(895,"1IiW")]+(e(1976,"Rf!$")+"=")+this[e(2055,"jO!N")]+(e(1771,"J02[")+e(1257,"n(Tw")+e(1443,"TYk6")+e(1284,"a(V)")+e(1384,"GiqO")),headers:{"User-Agent":r[e(597,"68p[")],"accept-language":r[e(1264,"a(V)")],authorization:"","x-captcha-token":i,"x-client-id":r[e(610,"$FUM")],"x-device-id":r[e(2011,"xwLD")]}},o=await Ae[e(1450,"CdtI")](a);if(r[e(405,"OKeq")](o[e(1439,"$5xR")],-1224+-1*-8702+-7278*1)){let c={},u=[],l=[];this[e(1707,"@)NM")+e(2013,"EWEh")]=o[e(1172,"sBHZ")][e(2131,"1IiW")+e(681,"LQMX")],o[e(938,"woD7")][e(837,"GiqO")][e(432,"di2y")](f=>{let p=e;if(r[p(1949,"L$sR")](f[p(1987,"Rf!$")],""))u[p(556,"woD7")](f.id);else if(r[p(1076,"]#Cr")](f[p(867,"0D8d")+p(348,"J02[")],r[p(1722,"di2y")])){let m=/[#|'"\[\]&<>]/g,h=m[p(790,"EWEh")](f[p(458,"3*7L")])?f[p(370,"L$sR")][p(2033,"attV")](m,""):f[p(2051,"*uMz")];l[p(1662,"sBHZ")]({name:h,size:r[p(1594,"xwLD")](Number,f[p(461,"#Vf$")])||-1*-6975+-4672+-2303,fileId:f.id,share_id:this[p(2124,"jO!N")],parent_id:f[p(416,"]#Cr")],pass_code_token:r[p(1863,"LQMX")](encodeURIComponent,this[p(2131,"1IiW")+p(824,"di2y")]),pass_code:this[p(1600,"@)NM")]})}}),!r[e(1020,"OKeq")](o[e(1266,"3*7L")][e(697,"$5xR")],c)&&r[e(1016,"jO!N")](o[e(930,"s45X")][e(890,"LQMX")],void 0)&&(c[o[e(2152,"NQR8")][e(1126,"6m)Q")]]=[]),r[e(1351,"METZ")](l[e(1427,"CdtI")],-121*-35+-433*1+-1901*2)&&r[e(2054,"wv7J")](o[e(1085,"1IiW")][e(1210,"1IiW")],void 0)&&(c[o[e(1475,"^04V")][e(934,"NQR8")]]=[...l]);let d=await Promise[e(2034,"di2y")](u[e(355,"jO!N")](async f=>this[e(788,"attV")+e(1135,"wv7J")](f)));return d=d[e(1652,"#Vf$")](f=>f!=null)[e(1615,"EWEh")](),r[e(501,"wv7J")](d[e(2044,"68F4")],1014*6+1226*7+-14666*1)&&c[o[e(930,"s45X")][e(1527,"^04V")]][e(2096,"a(V)")](...d),c}}async[Te(504,"YsCI")+Te(498,"#Vf$")](e){let r=Te,n={Ccsiz:function(u,l){return u===l},BBSQo:r(1398,"5V(o"),YeuMy:function(u,l){return u(l)},eZaFy:function(u,l){return u(l)},mapEQ:r(821,"oCn^")+r(1812,"nHvT"),vDRKv:r(1802,"5V(o"),TXrID:r(463,"veG&"),tqHoN:function(u,l){return u(l)},OvlkC:r(1156,"L$sR")+r(1311,"sBHZ")+r(1784,"Rf!$")+r(1791,"qInX")+r(1149,"5V(o")+r(1122,"&4j(")+r(920,"68F4")+r(799,"1IiW")+r(1681,"LQMX")+r(1559,"s45X")+r(1069,"J02[")+"6",pjUja:r(466,"%g5L")+r(499,"%g5L")+r(1259,"a(V)")+r(1252,"Rf!$")+r(1646,"veG&"),tgKQb:r(1848,"0D8d")+r(1207,"htl8"),NjFhg:r(826,"XIK8")+r(1982,"attV"),nzrUW:r(1817,"oCn^")+r(709,"oCn^")+r(1484,"qInX")+"6a",mlwrE:function(u,l){return u===l}},s=n[r(829,"n(Tw")],i=n[r(754,"OKeq")],a=await this[r(540,"#Vf$")+r(634,"CdtI")](s,i),o={method:n[r(1115,"#Vf$")],url:this[r(1980,"a(V)")]+(r(705,"U6cg")+r(695,"u38W")+r(815,"u38W")+"=")+this[r(1709,"3*7L")]+(r(1762,"di2y")+"=")+e+(r(996,"3*7L")+r(1715,"XIK8"))+n[r(1289,"6m)Q")](encodeURIComponent,this[r(650,"LQMX")+r(479,"EhkZ")])+(r(1992,"%g5L")+r(725,"LQMX")+r(1693,"[zZc")+r(1369,"n(Tw")+r(2046,"^04V")),headers:{"User-Agent":n[r(1269,"[zZc")],"accept-language":n[r(1647,"YsCI")],authorization:"","content-type":n[r(2123,"n(Tw")],"x-captcha-token":a,"x-client-id":n[r(1268,"&4j(")],"x-device-id":n[r(950,"[zZc")]}},c=await Ae[r(1583,"sBHZ")](o);if(n[r(1234,"6m)Q")](c[r(984,"sBHZ")],1848+1*4500+-6148)){let u=[],l=[];c[r(1523,"XIK8")][r(1776,"TYk6")][r(1917,"0D8d")](f=>{let p=r;if(n[p(738,"s45X")](f[p(1987,"Rf!$")],""))u[p(613,"0D8d")](f.id);else if(n[p(593,"htl8")](f[p(1838,"wv7J")+p(704,"LQMX")],n[p(2139,"EhkZ")])){let m=/[#|'"\[\]&<>]/g,h=m[p(1724,"u38W")](f[p(1908,"h1&F")])?f[p(1785,"68p[")][p(1591,"OKeq")](m,""):f[p(1778,"wv7J")];l[p(1878,"EWEh")]({name:h,size:n[p(2070,"$FUM")](Number,f[p(532,"veG&")])||1387+169*42+-8485,fileId:f.id,share_id:this[p(1474,"nHvT")],parent_id:f[p(710,"CdtI")],pass_code_token:n[p(914,"METZ")](encodeURIComponent,this[p(1094,"U6cg")+p(2143,"%g5L")]),pass_code:this[p(1376,"*uMz")]})}});let d=await Promise[r(1933,"GiqO")](u[r(311,"$5xR")](async f=>this[r(982,"CdtI")+r(768,"*uMz")](f)));return d=d[r(624,"U6cg")](f=>f!=null),[...l,...d[r(1717,"oCn^")]()]}}async[Te(668,"L$sR")+"l"](e,r,n,s=""){let i=Te,a={JfHjC:function(p,m){return p!==m},JImLj:function(p,m){return p===m},yfZBJ:function(p,m){return p+m},JmFUH:i(1510,"OKeq")+i(1890,"@)NM")+i(1429,"#Vf$")+i(1150,"woD7")+i(1886,"woD7")+"l=",hqdxy:function(p,m){return p(m)},Zwapx:i(1575,"U6cg")+i(1806,"]#Cr"),iMZNK:i(1616,"]#Cr"),WoNrB:i(1247,"[zZc"),pwTaP:i(1619,"n(Tw")+i(654,"attV")+i(773,"#Vf$")+i(1789,"5V(o")+i(380,"METZ")+i(2049,"u38W")+i(1212,"^04V")+i(1988,"*uMz")+i(913,"0D8d")+i(897,"attV")+i(1120,"OKeq")+"6",uurcf:i(1465,"68F4")+i(655,"Rf!$")+i(971,"$FUM")+i(1649,"@)NM")+i(2053,"qInX"),tmGHs:i(952,"]#Cr"),NpfEt:i(894,"^04V")+i(1923,"u38W"),YHDCx:i(1002,"%g5L")+i(858,"*uMz"),MYzvP:i(1836,"METZ")+i(1730,"]#Cr")+i(1354,"^04V")+"6a"},o=a[i(1670,"s45X")],c=a[i(985,"]#Cr")],u=await this[i(595,"h1&F")+i(1629,"U6cg")](o,c),l=s||this[i(706,"LQMX")]||"",d={method:a[i(900,"U6cg")],url:this[i(1985,"L$sR")]+(i(2097,"EhkZ")+i(1403,"^04V")+i(889,"htl8")+i(367,"CdtI")+"=")+a[i(1522,"attV")](encodeURIComponent,n)+(i(929,"EhkZ")+i(1431,"6m)Q"))+e+i(781,"5V(o")+r+(i(1006,"L$sR")+"e=")+l,headers:{"User-Agent":a[i(1509,"oCn^")],"accept-language":a[i(853,"a(V)")],authorization:"","cache-control":a[i(581,"*uMz")],"content-type":a[i(371,"U6cg")],"x-captcha-token":u,"x-client-id":a[i(1829,"OKeq")],"x-device-id":a[i(927,"CdtI")]}},f=await Ae[i(1294,"U6cg")](d);if(a[i(1349,"5V(o")](f[i(1492,"nHvT")],4309*-1+-1*-5598+-99*11)){this[i(339,"$FUM")]="";let p=[];return f[i(1175,"Rf!$")][i(1391,"h1&F")][i(791,"3*7L")][i(1542,"&4j(")](m=>{let h=i;a[h(2122,"5V(o")](m[h(1936,"s45X")],null)&&(a[h(943,"s45X")](this[h(719,"GiqO")],"")&&(this[h(1292,"LQMX")]=new URL(m[h(1907,"$5xR")][h(1194,"L$sR")])[h(325,"nHvT")]),p[h(942,"NQR8")](m[h(2039,"YsCI")],a[h(1147,"6m)Q")](a[h(1034,"GiqO")],a[h(1790,"%g5L")](encodeURIComponent,m[h(605,"EWEh")][h(1568,"sBHZ")]))))}),p}return[]}async[Te(1026,"u38W")+"ta"](e){let r=Te,n={ywVmL:r(2003,"EhkZ")};if(e[r(1028,"%g5L")](n[r(1397,"s45X")]))return await this[r(1238,"@)NM")](e),await this[r(1132,"attV")+"st"]()}async[Te(1811,"0D8d")](e,r,n){let s=Te,i={mDdCo:s(1449,"wv7J")+s(1969,"qInX"),oQzbz:s(1802,"5V(o"),GSqbG:function(f,p){return f(p)},syPSw:s(1953,"1IiW"),HsZBk:s(1064,"GiqO")+s(844,"$5xR")+s(1666,"5V(o")+s(1849,"*uMz")+s(392,"wv7J")+s(1448,"^04V")+s(1596,"h1&F")+s(324,"$5xR")+s(1346,"XIK8")+s(2141,"^04V")+s(1069,"J02[")+"6",hJANV:s(660,"h1&F")+s(1659,"U6cg"),ZOxCN:s(513,"3*7L")+s(1179,"*uMz")+s(1061,"XIK8")+s(1637,"n(Tw")+s(2107,"YsCI"),GctvN:function(f,p){return f===p},sBLoO:s(2146,"XIK8"),RBMQM:s(1224,"h1&F")},a=i[s(808,"NQR8")],o=i[s(2052,"*uMz")],c=await this[s(1571,"XIK8")+s(2075,"n(Tw")](a,o),u=JSON[s(1208,"OKeq")]({parent_id:this[s(1480,"^04V")],share_id:r,pass_code_token:i[s(541,"$FUM")](decodeURIComponent,n),ancestor_ids:[],file_ids:[e],specify_parent_id:!0}),l={method:i[s(911,"0D8d")],url:this[s(2076,"#Vf$")]+(s(1688,"68F4")+s(1974,"TYk6")+"re"),headers:{"User-Agent":i[s(1027,"$5xR")],"Content-Type":i[s(678,"EhkZ")],"accept-language":i[s(2078,"wv7J")],authorization:this[s(1533,"n(Tw")],"x-captcha-token":c,"x-client-id":this[s(1916,"$FUM")+"d"],"x-device-id":this[s(1239,"3*7L")]},data:u},d=await Ae[s(478,"veG&")](l)[s(1213,"attV")](f=>f[s(664,"oCn^")]);return i[s(319,"OKeq")](d?.[s(1100,"#Vf$")],-58*10+3459+-2679)&&i[s(761,"htl8")](d?.[s(1441,"YsCI")]?.[s(508,"woD7")+"us"],"OK")?(console[s(1116,"]#Cr")](i[s(1438,"Rf!$")]),!0):(console[s(548,"#Vf$")](d?.[s(486,"&4j(")]?.[s(687,"L$sR")+"us"]||s(1030,"xwLD")+(d?.[s(592,"68p[")]||i[s(1851,"#Vf$")])),!1)}async[Te(2018,"GiqO")](e,r,n){let s=Te,i={NMxYc:function(a,o){return a!==o},KQYhk:function(a,o){return a!==o},hSypq:s(1689,"*uMz")+s(1973,"5V(o"),jqmeI:s(1843,"68p[")};if(await this[s(734,"YsCI")](),i[s(1842,"NQR8")](this[s(672,"EWEh")],"")&&i[s(2058,"TYk6")](this[s(579,"LQMX")],void 0)){if(!await this[s(1826,"a(V)")](e,r,n))throw new Error(i[s(2129,"sBHZ")])}else throw new Error(i[s(1063,"sBHZ")])}async[Te(1361,"u38W")](){let e=Te,r={hHlby:function(u,l){return u===l},xDJpk:e(1727,"h1&F")+e(1885,"J02["),sMGvd:e(1553,"METZ"),WdAOl:e(1924,"EWEh"),Bimzz:e(735,"xwLD")+e(1206,"qInX")+e(345,"h1&F")+e(1010,"nHvT")+e(1550,"xwLD")+e(1925,"XIK8")+e(1745,"htl8")+e(972,"s45X")+e(988,"s45X")+e(976,"&4j(")+e(849,"nHvT")+e(686,"sBHZ")+e(1386,"#Vf$")+e(407,"xwLD")+e(1519,"J02[")+e(1404,"jO!N")+e(1876,"u38W")+e(1154,"$5xR")+e(1800,"htl8")+e(764,"n(Tw")+e(2063,"J02[")+e(906,"&4j(")+e(1832,"s45X"),zjHNW:e(892,"6m)Q")+e(1471,"@)NM")+e(1296,"#Vf$")+e(992,"CdtI")+e(909,"EhkZ"),hHBzq:e(604,"L$sR")+e(1700,"3*7L")};(r[e(1334,"*uMz")](this[e(1420,"TYk6")],void 0)||r[e(1547,"a(V)")](this[e(1758,"jO!N")],""))&&await this[e(856,"[zZc")]();let n=r[e(1225,"5V(o")],s=r[e(1920,"xwLD")],i=await this[e(1405,"t2$F")+e(1945,"nHvT")](n,s),a=this[e(1389,"n(Tw")]+(e(1383,"GiqO")+e(1419,"NQR8")+e(538,"^04V")+e(795,"n(Tw")+e(1322,"woD7")+e(1733,"$5xR")+e(388,"OKeq")+e(1881,"YsCI")+e(1624,"s45X")+e(811,"%g5L")+e(763,"#Vf$")+e(2045,"3*7L")+e(635,"wv7J")+e(1750,"68F4")+e(1710,"%g5L")+e(1593,"GiqO")+e(1634,"sBHZ")+e(752,"EWEh")+e(374,"YsCI")),o={method:r[e(633,"attV")],url:a,headers:{"User-Agent":r[e(1873,"qInX")],"accept-language":r[e(1032,"U6cg")],authorization:this[e(2086,"$5xR")],"content-type":r[e(1746,"OKeq")],"x-captcha-token":i,"x-client-id":this[e(1378,"u38W")+"d"],"x-device-id":this[e(855,"Rf!$")]}},c=await Ae[e(2006,"oCn^")](o);if(r[e(1246,"%g5L")](c[e(1333,"%g5L")],1*-2989+-3138+6327)){let u=c[e(938,"woD7")][e(1123,"^04V")][e(1691,"CdtI")](l=>l[e(736,"#Vf$")]===this[e(2111,"woD7")]);u?this[e(1464,"jO!N")]=u.id:this[e(317,"woD7")]=""}}async[Te(908,"veG&")](){let e=Te,r={FXrLG:function(n,s){return n===s},EiHHZ:e(683,"veG&")+e(1994,"NQR8"),gtcvU:e(1731,"TYk6"),WxAtA:e(789,"[zZc")+"er",auxae:e(979,"#Vf$"),eYqqM:e(902,"wv7J")+e(417,"u38W")+e(959,"h1&F")+e(1789,"5V(o")+e(435,"EhkZ")+e(688,"#Vf$")+e(1276,"NQR8")+e(397,"^04V")+e(434,"oCn^")+e(496,"J02[")+e(615,"YsCI")+"6",iUXcF:e(1217,"n(Tw")+e(801,"TYk6"),Tbcci:e(892,"6m)Q")+e(499,"%g5L")+e(983,"veG&")+e(439,"]#Cr")+e(765,"$FUM"),lqBkZ:function(n,s){return n===s},yNyNk:e(860,"68F4")+"\u5B58"};if(await this[e(1479,"di2y")](),r[e(1399,"1IiW")](this[e(1607,"sBHZ")],"")||r[e(1314,"68F4")](this[e(1387,"J02[")],void 0)){let n=r[e(1119,"di2y")],s=r[e(1287,"Rf!$")],i=await this[e(1584,"U6cg")+e(2099,"*uMz")](n,s),a=JSON[e(608,"EWEh")]({parent_id:"",name:this[e(1454,"LQMX")],kind:r[e(1423,"nHvT")],space:""}),o={method:r[e(1202,"attV")],url:this[e(1389,"n(Tw")]+(e(1488,"1IiW")+e(1562,"jO!N")),headers:{"User-Agent":r[e(1356,"J02[")],"Content-Type":r[e(437,"YsCI")],"accept-language":r[e(1316,"68p[")],authorization:this[e(1661,"oCn^")],"x-captcha-token":i,"x-client-id":this[e(1089,"nHvT")+"d"],"x-device-id":this[e(1087,"s45X")]},data:a},c=await Ae[e(1586,"xwLD")](o);r[e(335,"a(V)")](c[e(1186,"u38W")],-4468+-1*830+5498)&&(this[e(2103,"68F4")]=c[e(973,"#Vf$")][e(1835,"0D8d")].id,console[e(1262,"J02[")](r[e(1330,"s45X")]))}}async[Te(427,"$5xR")](){let e=Te,r={aDGqk:e(661,"oCn^")+e(818,"TYk6"),djJvB:e(1460,"u38W"),UurWO:e(1308,"*uMz"),GCevT:e(1064,"GiqO")+e(693,"L$sR")+e(389,"*uMz")+e(1221,"U6cg")+e(1388,"$5xR")+e(490,"3*7L")+e(1059,"68p[")+e(1902,"Rf!$")+e(863,"68p[")+e(441,"veG&")+e(1120,"OKeq")+"6",VOYjL:e(1110,"h1&F")+e(1168,"n(Tw")+e(1665,"[zZc")+e(1416,"J02[")+e(885,"J02["),cMYmR:e(1158,"OKeq")+e(1744,"NQR8"),VJivx:function(u,l){return u===l}};this[e(2089,"YsCI")]="";let n=r[e(1348,"METZ")],s=r[e(1714,"68p[")],i=await this[e(1571,"XIK8")+e(784,"[zZc")](n,s),a=this[e(1078,"YsCI")]+(e(903,"LQMX")+e(2153,"1IiW")+e(1291,"attV"))+this[e(322,"$5xR")]+(e(420,"Rf!$")+e(1041,"nHvT")+e(2026,"s45X")+e(1470,"XIK8")+e(418,"a(V)")+e(951,"$5xR")+e(406,"$FUM")+e(874,"attV")+e(1674,"Rf!$")+e(1496,"Rf!$")+e(1540,"u38W")+e(2090,"]#Cr")+e(814,"METZ")+e(1918,"htl8")+e(2080,"t2$F")+e(2132,"YsCI")+e(1485,"htl8")),o={method:r[e(384,"GiqO")],url:a,headers:{"User-Agent":r[e(1466,"[zZc")],"accept-language":r[e(694,"htl8")],authorization:this[e(618,"Rf!$")],"content-type":r[e(715,"6m)Q")],"x-captcha-token":i,"x-client-id":this[e(1723,"#Vf$")+"d"],"x-device-id":this[e(1368,"u38W")]}},c=await Ae[e(680,"6m)Q")](o);if(r[e(1495,"U6cg")](c[e(1865,"@)NM")],-926*7+-1*4733+11415)){let u=Array[e(554,"OKeq")](c[e(1475,"^04V")]?.[e(1944,"n(Tw")])?c[e(1962,"68p[")][e(2065,"5V(o")]:[],l=u[e(1705,"woD7")](d=>d?.id);l&&(this[e(714,"METZ")]=l.id)}return this[e(1400,"xwLD")]}async[Te(1209,"^04V")+"Id"](e=-59*-65+9864+13691*-1,r=-1975+154*50+5*-905){let n=Te,s={dacOL:function(i,a){return i<=a},qSRFh:function(i,a){return i<a}};for(let i=-107*-1+6090+-6197*1;s[n(721,"oCn^")](i,e);i++){let a=await this[n(1392,"METZ")]()[n(2140,"$FUM")](o=>"");if(a)return a;s[n(2066,"1IiW")](i,e)&&await this[n(991,"woD7")](r)}return""}async[Te(1191,"GiqO")](){let e=Te,r={Omwst:function(n,s){return n!==s},REbni:e(1590,"xwLD")+e(1614,"h1&F"),rxGMy:e(722,"NQR8"),DwxgT:e(1483,"u38W"),apLeL:e(2062,"YsCI")+e(841,"nHvT")+e(1950,"1IiW")+e(1537,"jO!N")+e(380,"METZ")+e(1436,"wv7J")+e(1874,"EhkZ")+e(887,"di2y")+e(703,"1IiW")+e(905,"#Vf$")+e(1255,"t2$F")+"6",IYYhM:e(376,"#Vf$")+e(1555,"LQMX"),CFjPm:e(1029,"TYk6")+e(1491,"J02[")+e(850,"t2$F")+e(1538,"L$sR")+e(1968,"a(V)"),aNlkc:function(n,s){return n===s},mpcru:e(1808,"EhkZ"),hcjBT:function(n,s){return n===s},FgYvP:e(1490,"[zZc")};if(await this[e(742,"&4j(")](),r[e(1839,"EhkZ")](this[e(1140,"xwLD")],"")&&r[e(1536,"qInX")](this[e(1198,"EhkZ")],void 0)){let n=r[e(1290,"woD7")],s=r[e(1798,"u38W")],i=await this[e(394,"%g5L")+e(792,"METZ")](n,s),a=JSON[e(1983,"6m)Q")]({ids:[this[e(474,"U6cg")]],space:""}),o={method:r[e(762,"J02[")],url:this[e(1824,"]#Cr")]+(e(1539,"0D8d")+e(744,"t2$F")+e(1432,"[zZc")),headers:{"User-Agent":r[e(1137,"OKeq")],"Content-Type":r[e(361,"n(Tw")],"accept-language":r[e(1658,"u38W")],authorization:this[e(561,"68p[")],"x-captcha-token":i,"x-client-id":this[e(1884,"GiqO")+"d"],"x-device-id":this[e(924,"*uMz")]},data:a},c=await Ae[e(340,"$FUM")](o)[e(1954,"OKeq")](u=>u[e(372,"LQMX")]);r[e(995,"LQMX")](c[e(462,"68F4")],14550+2*-7175)?console[e(978,"jO!N")](r[e(1070,"&4j(")]):r[e(2081,"J02[")](c[e(1912,"TYk6")],-43*-45+-7462+5931)&&console[e(978,"jO!N")](r[e(2108,"&4j(")])}}async[Te(1587,"METZ")+Te(888,"68p[")+Te(1462,"*uMz")](){let e=Te,r={IeXcK:e(1173,"h1&F")+e(1487,"n(Tw"),QSyUD:e(1906,"YsCI")+e(1128,"L$sR")+e(573,"U6cg"),jbfEl:e(1895,"EhkZ")+"7",OTNLt:e(1860,"u38W")+e(519,"nHvT"),bwMNo:e(2134,"jO!N"),OqoMY:e(966,"5V(o")+e(989,"U6cg")+e(1127,"GiqO")+e(1585,"METZ")+e(1856,"NQR8")+e(1493,"EhkZ")+e(665,"veG&")+e(1133,"TYk6")+e(1440,"nHvT")+e(305,"%g5L")+e(1690,"TYk6")+e(1911,"3*7L")+e(718,"sBHZ")+e(1099,"u38W")+e(312,"CdtI")+e(587,"$FUM")+e(2032,"$FUM")+e(748,"a(V)")+e(1073,"sBHZ")+e(536,"*uMz")+e(341,"GiqO")+e(1017,"EWEh")+e(1062,"METZ"),Zdqvv:e(1545,"68p[")+e(1164,"EWEh"),QvgPw:e(2019,"di2y")+e(809,"oCn^"),QRjzB:function(o,c){return o===c}},n=this[e(2114,"CdtI")+e(378,"a(V)")](this[e(657,"^04V")]),s={client_id:this[e(1065,"EWEh")+"d"],action:r[e(1244,"jO!N")],device_id:this[e(1379,"NQR8")],captcha_token:"",meta:{package_name:r[e(1187,"EhkZ")],client_version:r[e(1991,"XIK8")],captcha_sign:"1."+n,timestamp:r[e(940,"*uMz")],user_id:this[e(2154,"J02[")]}},i={method:r[e(868,"68F4")],url:this[e(1286,"n(Tw")]+(e(1578,"LQMX")+e(1406,"u38W")+"it"),headers:{"User-Agent":r[e(642,"sBHZ")],"Accept-Encoding":r[e(712,"attV")],"Content-Type":r[e(740,"^04V")]},data:s},a=await Ae[e(679,"u38W")](i);if(r[e(1298,"$5xR")](a[e(1473,"Rf!$")],-9*-715+9647+-15882))return a[e(870,"oCn^")][e(1342,"$FUM")+e(529,"]#Cr")]}async[Te(1743,"LQMX")+Te(1204,"&4j(")](){let e=Te,r={MzfBj:e(882,"GiqO")+e(1477,"woD7"),sAfoj:e(1638,"jO!N")+e(879,"0D8d"),kQELn:e(2134,"jO!N"),OrvZI:e(1394,"Rf!$")+e(1708,"68p[")+e(1897,"TYk6")+e(1230,"nHvT")+e(834,"*uMz")+e(2049,"u38W")+e(543,"wv7J")+e(1910,"CdtI")+e(1162,"s45X")+e(747,"LQMX")+e(1255,"t2$F")+"6",recnM:e(820,"nHvT")+e(1055,"0D8d"),plIWN:function(a,o){return a===o}},n=JSON[e(1757,"@)NM")]({client_id:r[e(2112,"0D8d")],action:r[e(1749,"METZ")],device_id:this[e(1092,"EWEh")],captcha_token:"",meta:{phone_number:e(1253,"YsCI")+this[e(528,"68F4")]}}),s={method:r[e(1847,"EWEh")],url:this[e(337,"LQMX")]+(e(964,"woD7")+e(1039,"#Vf$")+"it"),headers:{"User-Agent":r[e(1993,"L$sR")],"Content-Type":r[e(1396,"xwLD")]},data:n},i=await Ae[e(1141,"wv7J")](s);if(r[e(901,"a(V)")](i[e(1505,"LQMX")],5243+123*-41))return i[e(973,"#Vf$")][e(1478,"xwLD")+e(1046,"1IiW")]}async[Te(1323,"u38W")](){let e=Te,r={dczMi:e(979,"#Vf$"),KhOJM:e(1840,"^04V")+e(425,"Rf!$")+e(1245,"[zZc")+e(1516,"GiqO")+e(666,"68F4")+e(1816,"GiqO")+e(636,"#Vf$")+e(1338,"YsCI")+e(333,"$5xR")+e(506,"u38W")+e(753,"OKeq")+e(1820,"5V(o")+e(1278,"U6cg")+e(1463,"U6cg")+e(2101,"]#Cr"),JQcUB:e(578,"u38W")+e(1138,"a(V)"),Ohsyp:function(o,c){return o===c},gEocm:e(955,"U6cg")+e(1088,"h1&F"),eMmTH:e(1868,"nHvT"),mDcoW:function(o,c){return o+c},QCsHh:e(444,"LQMX")+"d"},n=await this[e(542,"68p[")+e(2144,"n(Tw")](),s=JSON[e(1846,"J02[")]({username:e(1742,"[zZc")+this[e(1190,"CdtI")],password:this[e(1320,"J02[")],client_id:this[e(1685,"a(V)")+"d"]}),i={method:r[e(2024,"LQMX")],url:this[e(997,"[zZc")]+(e(1512,"METZ")+e(946,"3*7L")),headers:{"User-Agent":r[e(630,"woD7")],"Content-Type":r[e(816,"OKeq")],"x-captcha-token":n,"x-client-id":this[e(1489,"J02[")+"d"],"x-device-id":this[e(674,"n(Tw")]},data:s},a=await Ae[e(338,"1IiW")](i);r[e(2084,"wv7J")](a[e(743,"EhkZ")],-3*-2802+3943*-1+-4263)&&(es[e(802,"@)NM")](r[e(1267,"6m)Q")],a[e(2152,"NQR8")][e(1833,"xwLD")+e(529,"]#Cr")]),es[e(534,"veG&")](r[e(1521,"sBHZ")],r[e(1877,"YsCI")](r[e(1601,"J02[")](a[e(1441,"YsCI")][e(453,"1IiW")]," "),a[e(1475,"^04V")][e(822,"h1&F")+"en"])),es[e(1095,"oCn^")](r[e(1362,"&4j(")],a[e(1524,"wv7J")][e(1093,"a(V)")]))}async[Te(944,"CdtI")+Te(1775,"]#Cr")](){let e=Te,r={PZqdF:function(n,s){return n===s},qFQZY:function(n,s){return n===s},sjCUJ:e(1965,"]#Cr")+e(530,"68p[")+e(926,"sBHZ")+e(614,"3*7L")+e(1371,"u38W"),PMkrD:e(828,"EhkZ")+e(685,"sBHZ"),NBdBP:e(1953,"1IiW"),FbhCU:e(730,"veG&")+e(1104,"[zZc")+e(1699,"]#Cr")+e(1282,"s45X")+e(1118,"s45X")+e(1166,"YsCI")+e(1452,"&4j(")+e(1929,"EWEh")+e(993,"veG&")+e(1804,"LQMX")+e(726,"1IiW")+e(516,"XIK8")+e(729,"#Vf$")+e(1035,"oCn^")+e(2155,"qInX"),XJfuf:e(1848,"0D8d")+e(2145,"sBHZ"),BXRxT:function(n,s){return n(s)},BsfeU:e(667,"xwLD"),NsCpS:e(1657,"5V(o")+e(393,"veG&"),lzdgI:e(646,"6m)Q"),unEef:function(n,s){return n+s},mXGUB:function(n,s){return n+s},rtSoR:e(1830,"a(V)")+e(794,"&4j("),ZTdkY:function(n,s){return n>s},daall:function(n,s){return n/s},twTFK:e(702,"u38W")+e(1735,"LQMX"),CcsBV:e(391,"attV")+"\u767B\u5F55"};if(r[e(422,"]#Cr")](this[e(1959,"0D8d")],void 0)||r[e(336,"jO!N")](this[e(939,"LQMX")],"")){if(this[e(353,"68p[")+e(1435,"wv7J")]){let n=JSON[e(1161,"t2$F")]({client_id:this[e(1759,"5V(o")+"d"],client_secret:r[e(1393,"*uMz")],grant_type:r[e(2137,"htl8")],refresh_token:this[e(1942,"$FUM")+e(404,"L$sR")]}),s={method:r[e(2087,"xwLD")],url:this[e(1226,"di2y")]+(e(1734,"L$sR")+e(566,"CdtI")),headers:{"User-Agent":r[e(1937,"u38W")],"Content-Type":r[e(918,"CdtI")],"x-client-id":this[e(366,"&4j(")+"d"],"x-device-id":this[e(627,"oCn^")]},data:n},i=await r[e(1554,"#Vf$")](Ae,s)[e(1499,"YsCI")](a=>a[e(622,"qInX")]);if(r[e(1879,"METZ")](i?.[e(1337,"&4j(")],200)){console[e(1146,"6m)Q")](r[e(495,"U6cg")]),es[e(875,"a(V)")](r[e(1859,"LQMX")],i[e(486,"&4j(")][e(451,"sBHZ")+e(568,"&4j(")]),es[e(1250,"&4j(")](r[e(628,"1IiW")],r[e(1183,"6m)Q")](r[e(2042,"L$sR")](i[e(2104,"LQMX")][e(347,"n(Tw")]," "),i[e(1855,"TYk6")][e(1755,"XIK8")+"en"]));return}}if(await this[e(2009,"t2$F")](),!this[e(640,"attV")])throw new Error(r[e(386,"U6cg")])}else try{let n=JSON[e(1960,"xwLD")](Tl.default[e(1013,"3*7L")][e(2002,"OKeq")][e(1756,"3*7L")](this[e(1019,"YsCI")][e(1370,"METZ")](".")[1])[e(1275,"GiqO")](Tl.default[e(2064,"68p[")][e(577,"Rf!$")]));r[e(1219,"xwLD")](n[e(1160,"[zZc")],Math[e(956,"0D8d")](r[e(1182,"1IiW")](Date[e(713,"U6cg")](),2551+337*-7+808)))?console[e(1822,"$FUM")](r[e(1428,"6m)Q")]):(console[e(585,"n(Tw")](r[e(1375,"OKeq")]),es[e(2121,"htl8")](r[e(1197,"NQR8")],""),await this[e(1068,"veG&")+e(1005,"NQR8")]())}catch{es[e(802,"@)NM")](r[e(365,"YsCI")],""),await this[e(953,"XIK8")+e(1304,"htl8")]()}}async[Te(1761,"YsCI")+Te(1869,"t2$F")](e,r,n){let s=Te,i={HqtKk:s(559,"*uMz")+s(1301,"1IiW"),GzSQu:s(698,"METZ"),Jrnsn:s(691,"oCn^")+s(1774,"attV")+s(469,"XIK8")+s(2038,"*uMz")+s(1107,"L$sR")+s(936,"&4j(")+s(1e3,"woD7")+s(1650,"NQR8")+s(1655,"]#Cr")+s(1216,"$5xR")+s(1914,"68p[")+s(1241,"OKeq")+s(1142,"6m)Q")+s(1099,"u38W")+s(1772,"qInX")+s(1109,"NQR8")+s(1751,"*uMz")+s(804,"@)NM")+s(443,"s45X")+s(699,"1IiW")+s(1921,"OKeq")+s(2147,"LQMX")+s(981,"J02["),sFSxm:s(2093,"#Vf$"),lXsgS:s(1928,"TYk6"),qAnwa:s(2085,"GiqO")+s(1164,"EWEh"),druCG:s(1096,"s45X")+s(1567,"$FUM"),yNmfy:function(a,o){return a===o},EbWlz:s(717,"[zZc")+"4",LhoMK:s(449,"wv7J")+s(607,"di2y"),uKYAX:function(a,o){return a===o},NYIHo:s(1009,"LQMX")+s(1955,"]#Cr"),kiQTs:s(2019,"di2y")+s(987,"5V(o")+s(1508,"6m)Q"),KBjJY:function(a,o){return a!==o}};try{await this[s(1332,"1IiW")](),await this[s(1023,"htl8")+s(1801,"1IiW")](),await this[s(310,"XIK8")](),await this[s(1984,"n(Tw")](e,r,n);let a=await this[s(954,"xwLD")+"Id"]();if(!a)throw new Error(i[s(1626,"veG&")]);let o=await this[s(1558,"U6cg")+s(857,"&4j(")+s(1605,"n(Tw")](),c={method:i[s(564,"NQR8")],url:this[s(402,"%g5L")]+(s(1753,"[zZc")+s(689,"s45X"))+a+(s(1155,"jO!N")+s(864,"#Vf$")+s(1196,"^04V")+s(2021,"#Vf$")+s(1684,"xwLD")),headers:{"User-Agent":i[s(1535,"L$sR")],Connection:i[s(1281,"xwLD")],Accept:i[s(1595,"1IiW")],"Accept-Encoding":i[s(962,"J02[")],"x-captcha-token":o,authorization:this[s(1114,"&4j(")],"content-type":i[s(1033,"68F4")],"x-device-id":this[s(403,"YsCI")]}},u;try{u=await Ae[s(1261,"XIK8")](c)}catch(l){if(i[s(1797,"OKeq")](l?.[s(1050,"@)NM")]?.[s(1946,"$FUM")],-9519+-1*-6497+3426)){let d=i[s(1402,"]#Cr")][s(2135,"TYk6")]("|"),f=5268+-1*269+-4999;for(;;){switch(d[f++]){case"0":if(!a)throw l;continue;case"1":console[s(359,"htl8")](i[s(1327,"0D8d")]);continue;case"2":await this[s(2106,"*uMz")](-6661*1+29*334+-1825);continue;case"3":c[s(1042,"3*7L")]=this[s(402,"%g5L")]+(s(1353,"U6cg")+s(544,"jO!N"))+a+(s(1773,"YsCI")+s(471,"[zZc")+s(565,"%g5L")+s(1336,"wv7J")+s(2074,"@)NM"));continue;case"4":u=await Ae[s(314,"]#Cr")](c);continue;case"5":a=await this[s(1015,"*uMz")+"Id"](-8157+-3*-2359+1083,-1*3561+-1*4267+9028);continue}break}}else throw l}if(i[s(932,"@)NM")](u[s(1865,"@)NM")],200)){let l=u[s(1169,"jO!N")][i[s(1635,"u38W")]]||u[s(2100,"n(Tw")][s(1716,"CdtI")][i[s(832,"@)NM")]][s(1748,"oCn^")],d=new URL(l)[s(766,"J02[")];return i[s(1367,"TYk6")](this[s(716,"XIK8")],"")&&(l=l[s(1930,"h1&F")](d,this[s(749,"oCn^")])),l}}catch(a){return console[s(1335,"attV")](a),""}}};function Gi(t,e){let r=pL();return Gi=function(n,s){n=n-(-1*8163+1971*3+1*2555);let i=r[n];if(Gi.XJtBQt===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};Gi.lBkGMt=l,t=arguments,Gi.XJtBQt=!0}let o=r[-8892+1*4567+4325],c=n+o,u=t[c];return u?i=u:(Gi.sImTun===void 0&&(Gi.sImTun=!0),i=Gi.lBkGMt(i,s),t[c]=i),i},Gi(t,e)}var zh=new cz;function pL(){let t=["s8kwWOmKttRcHL7cMSoO","W4BcJfyWj3eOWO/cICoI","hSkaE15e","W6NdNsxdRefWue8MCG","rSooW6/cJMSkbCksW4RcQW","mmkCW7HfWPW","WPPkWQDwjCo0oCoNW75v","BvFdUCk7W7XmztjKWQm","Fmk/m19yhCoSjXSn","W6/cLsldJqRcG0nZumoP","W7JdVu/cT8o/hMSxumoq","W63dRWZdHmkPeCoWWRSFWRS","BCofwq","hSk9WOdcPa4","AmkYW48AdZm","WR5vWPddG315bCk4WRuc","DYCurmoT","W4xdSCocW40vWQWtBCk7sG","W63dRHVdUmkO","zmorWRVdMhaki8kPW5xcSa","eSoTW7rK","i8k2WQxcJW","D8k7oSo2WO/cKHjDhGW","D13dUSo+W5HiDI1OW6i","WOhcMYnPWQBcNmoNnmkLWOy","WQVdH3RdO8k7xq","WPldHWHKFsK","dba7xHJcLNexWPaV","W6JcKZpdGmkNqcfihmkd","W5tdOdRdTCkxWPBdTu/cSuG","WOS0Ca","W4LKW5m9eCkwW61HWQeM","tmoHF8oeWOJdIdpcVmodW6K","wConsSoBW4m","WRHNWQPuW4ldLxfHWPdcOa","mSoBAbWm","ad7cRHW4wq","WPjjWQ4","f1NdHSo2omoaW7apuY4","WQLKm3VdGCows8ozWQzj","CSkUW67dSI3dKrJcJbhcMq","W7lcNde","W6y7W5q3W4HgW4ddMXpcVG","p8kYWRJcHJPVvW","W4dcMsFcRbbUhWvNlq","nCkCW75pW5VcPMNcGchcNa","ESkQW4i","55Qv5B2I5AwY6lAh","WOzDWPK","eSomW5H2","khpcRcWc","WPpdJGbPuq","W4yquCkxWQPpW4VdSuXU","W5fKW403","W7nkWRnoW5tdHtb6WQBdUG","W57dMJ/dQ8kBWOddS2tcMK4","sISbl3BdGSkfkSkj","cmkizuHs","WP3dIGDCFs5TW5pdLW","W5/dIZJdRCklWOa","hKtdTbBdSa","WO9YW5eY","WQrEWR1oiq","W5nVmSkoWQ1gWOhcPXf4","WPJdIWPMqcu","W7BcUJhdJqRcHuXZzSoV","WQnUnCo6","W7nkWRDzW58","W7RcUJ7dIa3cIW","aZuSW40gWOu","WPmJWPbSuCofWRmTWQ00","dSkDtW","WOCGDmo1","wSoHF8oEW4i","W6CsW71ze0W","ariQCG","WRX6WOPTWPu","WRX7W7KAELjvtSkjWP0","W5/cHZpdHWBcKLu1uSoO","W7NcJc9+W5RdTSkgzmoIW4q","W4BdSmokW6e4","WO0pbmoXWPeUW5a","EXWPCG","g1hdISoOoSoXW6ClAwG","W4PhaSkFWQveWPRcRX5T","WPrRW4KIkrHnc8o5WPu","5y2M5yYa55Av","WRddKMNdSSoHxcbuh8kF","z8o2ESk0W5hdNqLbwIa","W7foWPtcKeLdbCk8WR5o","e8kqw8oUqCkWW5D/W4pcVq","W4H8nxK","W4T/WOfYh8oDgSkIWQKs","WRTbg8ktW4bWWO8","qSkiW7KSnG","mSk5vwWYW7i","Amk2W7NdVcBcMstcUs0","hCkaF0HNWQ3dI8k7","WPnjWODFeCoafG","x8ocACoEW58","WRPxWPJcHMvOh8kJWR8","nsOMWOyKWO7dUmkhge4","WQxdHh3cSHvZgXjGkW","pCk7WQ3cVt5UEqfcpa","cwZdJ8obpW","F8kylLrVit3dMXOe","WQroWP9Aoq","WQ1iW78f","BSoKpmksaG","W7/dUr3dPCkUf8oZWP0","aN7cOW","WONdLs10ta","hKRdJXtcM8kgWOKZqCo6","W4fRnW","W7JcM1ddN8kAyWKls8kC","W5jkWRbFWOhcMq","lmoLDXWff8oTmq","WQammSkFW6L/WPa","Dmk/m0jga8oYpNHA","wYyrbwFdNSkA","f8omzSozW4tcSsVcKmogDG","WRRcS0NcOCkLfmkPWPKAW7O","mSo2WQCNW7lcPNa","i37cVGy7w8kLxHm+","umoOymo/W6i","a8kYW59YW47cVcZcHIddJG","WQfJWPfHWPa","bSo0i8kxrmkYW553W4NcHq","bSoqW5HcaNJdNG","dt0lwJe","nmoxwSo9W4y","AmkNW5GlpcNdRaq","r8othmkSg8oLWPyJW6hcMG","sXaXFG","guZcMWJdH8osW51HuSkp","WRRdH2dcTHnRgbnKkW","j8kfWRdcRdznAa1FyG","eSoFBmo4W4q","nCkIWQBcTs5/vXPPEG","w8kxWOq4ueNcKLZdUmkv","iheMWPa7iG","WQfOWO1+WOWYWOVcPaJcPa","o8oUW6uMlG3dJe3cKH4","xCoVW5fHWR4","eSoRW70","W4lcKgJcQCoEWOddV1dcUeq","n8k9CxarWQDy","r8opaa","WODzimooWQW1W4nN","FSoJWQNdMM0+uWLxiq","w8ospGmsW7lcH8o2WPWv","kIGNW4mrW4tcO8ocqLe","ASoBWRlcN2KGi8kKW53cVa","FCo2WPSifGpcUftdSW","W4esvmoDW4qqW6hdHxG","WOzKWQ5vmG","q8oBha","WRrzgYtcMSo1","W7VdUJ9+WQVdQSkdy8kYWOq","dmkZiMRcQmoag2m","55Qf5B+35OM25yQC","rKFdR8oUW7rNvX5qWQm","jxJcSebIbmoZxXuM","wmk+W6fg","mIaUW4m","mXa5W4qz","xeS9pmkSamoy","W4ddOq7dLmkP","mKHub8oPqHhdJmk3","B8oLW55gWP8","m8kbmNH3","WPpdOKldV8kL","kSoOW7OXq2tdNGddN8kq","55QS5B2R5OUL5yM8","W6m/isCkW4Sp","sSorWQZcN2qtlmoQWOxdTW","zHiLWO0Hnmo1EtZcTq","ab09","W5BdTSocW40p","WOjYnmoOW7q","WQJdHMJdVW","W4VdMI3dJ8kBWOhdSL3cLW","hxJcOWe","W7xdMIZdLmkh","W47dHXhdPmkL","W5fWW40SimkuW6TPWPS","WO1hogHvWOHCxu1H","W47cPbddIW","dCkjAhjvWQVdJmk7WRK","af7dKYldLCodW5m","WQPrW4KSxq","W5ddHqddLmko","vSkuxCo9W7NcNWBdImkpDq","gSo8WRjBW5tcM0jXFqO","jJ0MWQea","W7ldObBdTmkI","WQ7cPJRdKWZcJuCOcmkY","W4xdOGVdRSkW","Fmk8W4CEvMddPatdLb4","h8oXW65N","zmocACoVW7C","iKNdMCoDbG","CCorWRlcV0W","WRNcOxtdLGRcLePywmoZ","cWVdSYNcLmkcWOOQx8oY","WQPzeIBcLG","e07dMa3cMCosW5zTgCkS","mmkxd1ddISk0zbJcSgO","nmkqWOLHWPKxW5TMfmk+","WRnbbSkK","imoJAHOtaSk0lWri","bmkWi8kEWPtdHdBcPCouW6m","pYKIW7KxWOtdSmkjgq","cSkaFuW","W6/cLZVcJLBdKXuPcSkW","WR1cWQ9nWRG","WR5vgsBcP8o5","eSoDySou","W4tdRCohW4u","ocqVW4CA","sCkfWQFdIZHrEW","fCkAW5vqWQq","WPVcKwRcRW","WOTfiYZcNq","W4TTph9uWOrufW","WQSVzSoFpG","WPZcJMG","EvpdQ8kbW5XmztjKWQm","WPVdKN0N","tCk3W7K6W70wnqHmW7u","aSkdEwDR","WQX1pmkJW7i","W7mdW6Hye1zq","WOBdMH57CtL+W47dGCkS","W5j0W4O","W7RdUCoMW4i/","gSkgqNXd","mufgbSotFHFdJa","hCoeW4j+cW","W4DLiw5V","rCochmk0eCoUWPyiW7ZcMG","bmoEC8oyW70","y8oHW7JcL1a","W6rdWRzuW5pdIcn6W77cPG","WOnafCoDW4mvW4ddS08h","sSo/WPRcUI4tjmkOW5NcRq","WQddRhJdU8kNsYTtnmkz","eMz0ia","WQVdG3FdVSk6","WPPIaSo+W6nc","W7fCW5uToW","W4JdMI/dSmkDWPBdKL8","bSotud0z","W4/dNI3dUSkw","zSoytrFdLCkVzW/dJtG","W4jFWO0CcCk9W5fCW4PL","lCkBlfXO","dCkjAa","zCkDW6VcLe7dGW","6lYp5A2w5PsU5lMY5OMd5yIl","kCkniSkdWOtdSMlcRSoUtW","hCk1fhjJj27cJ0yB","tCodE8ozW4BcT0hdGSkCWQi","ySkjW5hdPrK","WRzoWPW","WQbfW64x","WPPna8oDWQmgW47dPu82","oY0PWPeDka","CWiLlSkPhCozsmkeWQ4","mmkRcLaMBcdcJK9c","dmomW5b0agNdGWldLCoE","WPa/W509hmofWRrRWPPJ","W7v1icPrWQ97kIS9","W65LjeXvWOf2aHK7","b2VdHCoHj8oXW48wwMq","e8oLW6O","CbNcRmoUWQ4nzsPMWR8","p8kvnvaPydpdNqqh","W7ZcGcpdLaBcK1y","W5JdQ8oAW5GpWRHFlCk3fq","W5ZcMt3cTrfMcfnIlW","W4TTph9ZWOe","W67cLJldTKKP","W5DiWRDmW7K","WPnfWQ5NWRi","iSoXwSkzWO3cVIpcJ8okoq","gmoTW7zQWObc","WQSrnq","f8oVW78VWO5dzfbbWR0","WPBdJrv3","W45Lig5zWO1ylqG6","ELFdQ8k/","EJOPcLC","A8olW4WbW4LsWPCGfSot","smojW45+gMpdTtJdICow","W5NdJdZdQ8kqWPldTL4","tcPoe23dGmobk8kvWPC","m8oiWRyVWQvpBf4oW5m","WOVdKqnXzYbRW5m","WQ9fn8kNW7S","m292lSoV","f8omFW","WOfef8oBW7KfW5S","W4tdKcRdRq","W57dMIJdRmkBWOddRW","m8kkW4CadZJcOfxdRuy","CSkPW4a","B8kTW5JdOtRcLYpcUa","wSkmW4/dHWFcTWNdSJFcPa","iSkGWQBcHJrTvHHeFa","emkRW7b8WQzi","gSkoyKHpWPVdK8kNWQC4","isW1","z8oDW6y","tIyup2ddH8kllmktWRO","mM4PW5umWOu","ymoBWQi","fXy4yrlcGxWKW4Sn","kmk5WQS","l0Hx","hCkPCsWBWO5/WQxdPmoK","WRL6ptxcLa","WQLfW6O","W41+W5K","WQvBWPpcKv9VdSkmWQ5e","j8k4uevS","WOfsW5yTemkAW6eIW49H","A8oNmKmgx8kRAejx","kCkYWR7cGZHPEWW","A8oeWRlcKue","k8kIW69kWP3dTJtdG1ddHG","FvNdU8k7W4bzEI1IWQu","fmkFmJm3WQXsWO3dVmkN","6lYg6zUd5yAy6kYn5y2o6io95Bsu6l6Z5PYQWP0","WOvDWOrL","WQbhjCoNWQ0","bmozzCofW4lcVdNcGq","WOPwn8od","A8oxWRVcN3XcEmo1","bCkXm0u","gvVdJrhdNCoqW5TWbSkM","WQdcPvi","WQjRjSkLW4zU","WRDrdCk4WO5WWOOvxmoj","l8kMs8kOW4JdKG1IvI0","W5xdJchdSmk/","W7POWQ5XWOq","W6WtW7jYb0PatW","tSkZW5W5nq","WPXxjImoW454pdir","WPXdemonWOS","bcyNW74g","WQizW6yjW7BcIgnNWP/dNa","Fa8xWOzsW5VcTCoCteC","yCkiW6xdSa4","mCk3ANKE6lYd5PYI77+X6yw+5Ps8","WQpcQJNdP8kWgSo7WQ8BWQK","W7W5W6HcdvPA","pSkrm3H2jupcI1Pa","WRpdU1hdPCkb","eSkeWO3cQq5EEZXVta","p8kDgbNcOSoKnetdSxa","WOutWOnZh8oE","smklW4ZdMXFcTWm","W7adW7bmhW","WO9hkG","iCkbkwzNjwK","y8oBWQdcN2SAbmkH","WObzWOC","W6LzWRjjW60","W7JdUNZcQ8omW5BcRh/dIXm","rCoJySobW7hcMhldUmkeWRu","fN3dJmo2pCo1W6qA","C8o1B8kQW5BdNWvq","WPzOimooWRa0W4HGgSoC","jCoHAG","lSkPhLxcJmoKovVdGta","pSkJWRRcGZvRwW5p","wmkQW4ClfdtdLGtdGae","W4VdMI3dRmklWPRdVW","W77cHcddHa3cLh1Uxq","xJhdRdG+wCkGhLfJ","W6ygr8kCW6LbWRuXASoZ","WRzjhYBcGG","W7fyWPZcJ055fmkGW6Co","WQjgoXdcJq","W57cVYpdHsu","WRFdVK/dUCkk","WOBdLWHCEsb1W4xdJSk7","W7KkW5VdLXqVuCoNW6Ol","db09FWlcLNei","gCoHW65zWQzctL8","dmoHW6PJWQHfyG","6AQi6k2N56kO5BEC5yYP6ygJ","scadfxhdNSkXo8kiWPu","W5zWW6OVpCob","s8ocha","W4/dPavzoIOXW7ldUmkM","cqaiaM3dGmklymowW4O","BCkXqHWgqCkNsu5z","WPXwlCogWRy8","BSoRWO7cLu4","6AMi6k+L56kB55In5B2g","W7/dMglcJ1tdJfHVfmof","nSojW51HWRK","WQriWQWdvHeebZldKW","WO1kbdOlW5uxqKD1","tSktWPzsaN3dGWpcImoZ","dSojEmoQW5JcOs/cLSoWCa","zCoNESkSW5VdLGKAwIe","Ete5kM4","he7dIXtdL8owW7nG","f2hdPCoRjmoXW7S8v3i","6AsC5Q6R6i+p5y2b6lYf6zQb5yYb55Ed6l6Q5zIv","k8o/WP1Ds3JdPvNcGKy","ECoxW6FcLutdNSo0j8knWOq","W6WtW7jYe0Xrvt7dMW","WODodColW7iPW5VdRLO9","WOpdNCkBW4W","W6RcGctdIadcHwTJ","kc4OW4mn","WR3cIrBdJa7cLW","WQBdMNCS","WQDFWOFcKf8","W5jHW5i2cW","c0ldHXG","WQTifdFcM8oU","W5mJW4G","FSoNW7K","ldKKW5e5","i8kCA1XOEeFcQbff","bCk3W7GvW6/cU31yrNy","WR9zaqlcNSoTr8o7WQ4j","dhNdH8oOpmo1W60prg4","DHWE","CmooW7iEWQvFW597rmkr","W73cKtpdLrBcKW","cCo+EquAqCkJmr4v","WOHEl8ohWPa1","zCoNFSk7W5a","WRTyoSkbW5C","WQrLWQb0WQ4","W6ydW61ya0Xa","mmo+AaKy","s8oPCmkXW5tdKGKAbMe","WPjxWO9Xbq","fCkuxCo4s8k3W4eTW6tcPhKiCW","aCkpvLLoWQ/dGSkW","F8kNW5Op","WORdJtv3EYHOW5e","n8kCW7Hh","W5VdNG3dQCk8W4u","qJGNymot","e1ZdRCoWna","WOpdKM5MW5ZdVmkgF8oKW4m","WQvDgCkPW6HK","yCk3uW","W5SsW5KUqmkEt8kTW4Th","n8o0DW","WQXejCohWOW","FNb8W41KySoLBtddOa","ymoNEmkXWPFcI1SchxW","deRdLbe","zmoeAqaQmg7dH39N","WOXzWP06x8oudCoKW65d","W7ddSc/dMmkb","lCo/yaadsCkNBq","tCoLEq","ymoBWQlcPwaEp8kGW7tcVa","DHu6Amo/s8kNaG","c3lcRWb+f8khgvr/","dSoLW6L8WR5jDv8","W55SmwHFWRPkbH0H","f8ooW5m9jg3dLaddLCkz","CtG1BmoE","ief+mmkTFmkn","WRzoWOxcJ1n/b8kNWRne","WRldKZySWOFdOSo2e8oSWOq","pSkgahDp","WQ3dGNa6WOa","udVcKmkQyCkLWRXFBKu","CCoioSkiWORdHKn7bW0","W4upDCkc","W47cKLy","WPuHyCoPive","WOPsnColWRO0W69W","W6/cKsFdOG","WQvpWPFcKgW","W4xdJbJdQ8kmWPldOG","dmoaW4DObNVdGW","W7/dUr3dPCkFh8o6","hNdcTHWY","WQ1pedhcGmo8ACo/","W6xcGdW","aYivyG/cKYzoW7O7","ySoqDCoc","W6CpW6zi","a29OmCoJ","W6CdW6G","pbqJDSoYqSkbb8otW6G","mcGMW4GxW4tcQ8octKC","WR7dNgpcLWBcGHvMxCk3","iSkPff3dMmkNmuBdSI0","wCkdW4SfnttdJfFdLW","h07dIt7dLCodW45Nb8kO","W6VdRcJdU8k5","aHyQuGFcGLCAW48w","WQRcOJpdN8kuo8osW5rEWQC","k0vcb8kz","W6jCkfzC","kSoOWO08W7i","WRZdNeaGWQ8","fetdMG","WPryiJpcMG","W5BdLSoaW6CK","omk7WQVcVYm","WQrraq","WRddPhKLWOdcQSoFjCkiWPW","W7LyWOjiW4xdJcG","W5ldUK7dOCkZdSoKWQDjWOi","W51Xi3i","W53dUd/dImk6","WOG6DW","6l6z6zQ26lYV5A++5P2j5A2N5OQl77+G5P2D6i+q","FIOorJBcLSoon8orW4O","bayQEW","f8obcSo5q8oLWPyXWRZdHq","F299W5uNa8kEjGddRW","WOnEW4KNzG","mmkxgePUnhlcJ3va","Cv3dUSkW","EmkPW4naaJxdRG3dLXS","omkyW6i","WQVcGNH5W57dUCoqzCoJW4m","W4FdSCoaW4mS","qYWjhG","d2hcRq","WPXynColWR00W5q","x8koW53dJsy","nmkgWOf5WPemW4THuCko","iuHxamovsr/dT8kMvW","WOjkWPpdMW","d2hcTam+vmkLbu9/","emovESoqW6tcTG","vCk8WQWV","kcWeW64q","dsWQFbZcL3O","kftdM8oriG","W6aYW6Xdaa","aSkoBG","BK7dUmkPW4u","W4RdKcVdTmkOWPBdQuJcH04","W5RdRSo+W4i3","WRXrW7qPyvjDsmkZWOC","sSomcW","sCkjW5ldMY4","fGC/zWlcGq","W6jYW402bq","W7fEWRDs","kSkYWRZcQtP8rGTECG","g8ozWQmjW6ZcT3y","jammrI0","pSk4WRRcNG","os8G","WRFcGL8JrHjqW5pdI8kN","g8oYWQmwW7tdQdCBwJu","WQPIoSokWPy","WPddSxJdRSkl","WOPmWPLSgCothSo5W7fj","WRLLWPrV","hmoXWRKkW6JcS3Xeudy","eSktwo+/JoESU+w8G+wtUEMgMUITNq","WQz4WOHTWPabWOhdTIi","n1PcbSo/rq","W5BdQa3dO8k7","W64kWPlcP1rsmmk2WR9B","WQricmkyWQHnWO/dRXXS","WPyGC8o1","WOVdTM0ZWRhcJCo/ySk0WOe","yCoFWQtcNYDkFSoYWP7dQG","xcagr8ox","57UR5l+555sI","WRzlWOhcIW","W5OoWPuXqComtSk9W6qx","iSk9Dv0fWRbv","b8kbjSkBWPRdVJdcJmkcwG","ybu/CCoZqmkDaW","FCojWQixW4tcVwNcJJVcNW","WOHEl8owWRWJ","bmk1nfdcLa","nmo9zJStt8kjD18u","tsywgwhdImkNkW","WP9BaSojW5u","WRRdNMS8WOZcVmof","W6zSh1b3","CmoXtCkGW5C","W5VdTHxdJmkT","eSk8qfmC","quldSmk1W7Pd","WQ/cUeRcSSoZn8o4WPKsWRG","fe7dQHJdLSo4W5nWqmo8","ASodFGGYzeVcN05qW55Z","WRDbW7CAza","W4PHja","jmkTDxq","mxRcNCoYeSkJW7nlaxC","rmodW67cQNG","W6RcHcBdGa","kmkkW6BdLMWAo8kSW5pcVa","W5P1WRLdm8oCfW","y8k3W6xdIINcIZNcTW","gSkCWQhcSdW","D8owW4vhWOW","WOD5e8oxW7m","bSoDzCogW7lcSsxcGmokrG","wYldSvz5bCo1razi","WOFdH3tdVmkRqa","W77dPrpdSSkUkCoQWOeoWQ4","DCo4kuSzWQPzWPldHmo/","W6OoW5VdMHz5cmo+WO94","lCoYWRG","mSktc1dcHSoKhKS","WQzsWQ8vuvTsfqlcGG","WPiqW7uaDq","lmkNWRJcHJjVuXXFFa","ttejbMFcGSkyFSoiWPG","B8kLW4yp","m8k9C3uwWQ1EWPZdH8oL","wYytag3dG8kDkG","W4mVW5PKrL5evWJdLG","W7HYiwpdN8kTkSkQW6vD","5PUE5PsWECocW4ZcMg7MIPVLIBi","WOXzWP1tgmordCoOW41u","55I25B6c5OUy5yM1","sCoOW6xcK20","qHeVASo9sCklkmowW7u","WRnLWPzHWRCc","CNvTWPDtW4xcQmovq1C","cSkeF0rcWQhdRSk6","WQ7dMMGGW4BdUSkczSo5W4y","g8ksBf9OWQa","W4X1W4Oigq","lmoBqIiG","hhtcTrOYrmkW","ACkNW7RdOc3cJtK","aSotFCoqW4m","yamLBSoYaCoBv8keWQG","W7auW7vBaXbcfK7dLa","F2L5W5rNDmoMFfBcTa","ymoxW68","qSksWRJdH27dVSokhCklWPG","WPHuWOHYfCoVdmo5W7Ls","m0ldIvlcGCkaWO0Qxmo/","f8ojW5nUta","d8k2W79BWRf0CvOwW7y","Aa0KiK3dPmkQySkeWPe","W6BdN3u+WOFcO8oEmmkZWOu","W5SCW4fxgCoEg8oIW69v","W7DEW6C1mW","bNdcTGP4u8kHbuD5","c1/dJXtdMSouW5nIfG","cSoTW65JWQW","qCodxG","WP9ia8oaW6HzWP/cUrn4","WOTpjSobWOWJW4O","l1/cNq","gN7cRWO55PYD6lYd5P2U77YQ57U3","W5nIdSoCW7mBW4RcUbTS","gCooBW","WOPfkSouWRX+W5aLASog","bSoDzCogW7lcSsxcGmok","b3LVlSoY","f8ooWRObW6q","gxPtqZpcLCklD8oxW4O","BLFdRCk7W7fzsI9J","pNxdT8kSW7baCgK2W78","h8k8CgOg","WObyna","CmoPBSkrW7W","EmkpW5ldUbO","c2hdMSoW","nCoAWPTsW40EWP9YfCkb","ySoDW6/dIbJcJCoScSkwWP8","C8kPW50A","W75Zew5T","tsidp04","WQnbW64","F8oYkmktq8oGWPm","CmoFWOlcHKPj","umomD8osW4JcJt7cI8oeFa","WP5esCkFWQXoWOhcPWrT","W6dcHd/dHa","WQrBWOe","oxJdTHJdHSoDW59Oqmo7","W6aoW6LdaLPgcfdcGa","g2xcReaHuSk2geb5","WQTufdhcI8ocBCo+","lmoVWRnB","zmomWRpcL3WAc8kSW5ZcVa","A8oosCo/W6JcTetcPSkoWRu","fKRdKbG","b1NcGZy1","pCogW4v0gq","WOjsWOb0","b8kagMNcKG","WRbZmbVcGq","nmkyW7HGWP3dVZ8","n8oLyHGdxG","gSoQWRivWR3cShLaqte","h8kbpxbO","WRddH2/dP8k9fgOie8kC","rSksjSkBWP3dVhRdHmo8Ea","WRfhhmkJW48VW5nfbSkx","qsWtba","W6/cKcBdIq","WQrBWPJcJ00","WPXwWR9BWQ0RWQNdNbFdJa","W71oW6WlWOFcLx9LW6hcOq","W6zVWPfXW4e","dXKlwa0","WPvFWOBcHGWO","W6ldQdBdM8kP","vtyNEmoZ","WRThp8kUW60","W6FcLt3dPfe1","W6zYW4OPmq","cIK0WOqa","cKRdJHxdKCoxWP82xCoS","aSkiBenvW6VcL8oWW659","W6lcHcJcPmooW53cRq","jJe/WPC","qCoVWRhcS1O","kcaQW4O","bSkTW41QWO0","l8o0EH8","W7ldJCo5W50q","W7DUg8k/W5fbWPCvxSoZ","wgxdQv3cHCkdWPq0vmoP","W5RdHsVdGW","A8orWRe","W7iAtmo+WO85","aSk9yNCFW60DWR7dM8o+","W7eOW54","W73dGxZdSe00tuCWna","n8kWWR/cJXO","WPBdRmogW4KoW6CVA8kYwa","W4/cJf8Xj3G","W6bkWRbjW4ddGImX","z8ooW4HXWOWnW4rRsa","W4mpW7iBuGqux1FcHG","bxZdHSoP","eqe3FG","iSk9Du8yWQvpWPJdT8oP","ymouW4byWP1bW4LHsSkz","WQfPWOLW","WQxdNN4GWOJcVa","zCoUA8khW4ZdKqnqxq","mCktcwRcJCoGjuRdIYS","5y6f5lU26l+X5yEl6kY1","c8ktEHaeW7pdPCo7W6vV","WQFdN38","DmowWRFcHg0GjmkH","jCoHCWaFtSkJAKju","WPPka8koW5StW4ZdVevX","l0bIomkWs8kas8oIW4S","WRBcNhhdPmkHqa","W7JcLsC","WQFdLuuGWO0","W7NcGZRdReTYhrPNkW","FCo5W7JdHgSIaKHLCG","qCoggmkqe8oOWRK2W6xcKa","DCoBWRhcK3a","WQLGW741Fa","r2Wka23dGW","kWKVW48b","FmodaXW0fIxdMbHa","W57dSXRdOCkp","WRH8k8oKWPW","ySoVFSoLW4ZdJb1qftS","aI7cTWC2rCkHlK90","W5P6WQbVW7u","b8oVW7jufq","WRhdN37dPa","W6xdJbxdNSkm","WP/dKHzVycjNW4ldKmk7","bICsgxtdImoboCowW5e","lmk0WQVcJYH/BrXzEa","WR1gW51DfLnrCatdKa","uSomb8kLha","FuFdVmkpW5S","o3/dMCk0omoEW4SNywK","jdqTW7KwWPJdVSkEka4","nSo0zr4txSkQqv9u","a8kaEwHW","kmoSW7jyla","WRxdPgpdHCkz","W6dcMqldL1y","WRLzWRPhaa","DwecW5ytWOFdVSk7eGu","qSo2hSkS","emotzmoyW7VcTZJcL8ogDG","FCkVW4ilcq","xvRdTSk7W7fzxai","hrynW5i","WPTjWO1Rja","W47cGK5uyc9IW5NdJSkN","WR4LnSoRj1Ojk8ozsa","hctdTaWThmo1obj3","tSkKWRjyWQbiy1rzW6C","W5rto1bv","WQrwWQW","tmojoCk2mW","WODXWQBcTW","WPFdGqnozIvJW5RcLSkz","smo3W6PwWQNdQJrrtgi","W7RdVWVdVW","WQzKWPT2WPS","WRzbb8kVW4C","mCkWDhiuWQfpW5lcGSk+","WRnBWOpcILL5l8k3","y8odW51VWO0wW4C","n8kIW49NWQtdHXNdV07dSa","kYaxW5yHW50","gK7dRqxdJq","5PwF5lUk5yMU5BQ55OU+5yIc77Yi5B6A5Asv6lYr","WP9tWRP0aSozeCoQ","cSoowCknWPBdJs7cU8owW7O","rta2yrJcN3fuWO5w","depdPK3dQCkoW4PXdCkL","ymoRF8ojW6G","WOH6mZhcGq","WOa8Bmo4c0esamklzG","WRPloa3cGq","r8oaimojWP3cRNNcMmkAzq","tsiueq","WPrFBSobWRC","WRxdSta1FJiXW7dcGa","W5TLlSkKEeCDwCk7uG","bSo9mY4eWRzCWO7dM8oP","WRbraq","iCkbkwzNihtcGG","cq4pcMVdGCkclSoiW4S","W5rIomkVzXTgo8kiErn3W6q","WPmHAmkYj0SugSkhBW","WP5iWO1xcG","tZephq","q8k3W55EeqRdGJNdPrO","W5iXW7alx8ogWRqJW45U","WR7dN3tdUmk8","agu9W55KySoJ","oJy5WO0WkCkNyLlcSW","t8oicCoGnCoJWPq8W6FdNa","asWDuIFcPLCZW749","W4H/W5GWqmkhW6v+WO0k","aSovySozW4G","BCohWOdcTvS","yCkQWQFdScBdKWRcNw/cUG","WRRdH2BcTbzUebjIkG","n8kgdvxcJmoInLVdTZy","WObjb8oCW7KPW4BdSW","W5CGWPe+cSkdW6WIWOGW","DCo2mtjaW6OnW53dOmoT","W6CsW65ecfHDqrG","kbWKEHVcNNvuWOPm","WRLydCoqWPS","WRnypmkBW68","W4FdPqldVSkSgSo/W5DlW6u","eSooF8odW4JdVtZdLCkaFW","mJ4yiCkThSoavSkmWRG","saxcJvpcHmkDWOOKpmkO","dmomWRGqW53cS3ldVu7dUq","ySoXhSkgoq","W7CuW7LmeLPYtG3dLW","cSkQCLfga8o0","pCkTB0mcWQfBWO/dLSo/","WPuSumooiW","F8orW6NcHG","W4ywAmoVo08ww8oFnq","y8oCA8kEW4e","W4VdLt7dTSkh","F8oDW6RcGK/dSSoOaCkjWO4","g8kpzuHiW6RdHmkXWRPY","rNZdUCkRW7K","jSo2WObxvIxdRKZdPYe","W7GupGVcUSoqsmk2W74r","BSoOgCkpja","yCopWODnWPCpWOa","W7JdLh3dGbBcLeOOsSoV","ocq1W48aWO7dKSki","pSkAlLC","qCo1W7xcVrpdSSkQt8omW54","u2/dPCkOW48","eqxdMrldG8oDW5zRdSkT","ySoICW0vsmo/oe1s","gSoeW4j8","WR5DbYRdGCkOn8kTW7bo","W77cUWRdGN0","W6JdImkBW7SxW40ytSksdW","WRbnW64ADG","W7KhW6HodG","j8kQW6nuWP/dHYpdH2RcGa","nSkPq0GN","W4LLjhS","f8ojySoD","eXunW6Ox","cCkoWP3cPrG","WRrrW6KE","nmoSW5Trcq","EvpdQ8kAW7bAEYPOWQO","WO3cGY7cOmkVEY1dkmk6","WQ/dLxmN","b8oPWRWdW6NOVjxMNiFVVlJPH6/ML6K","W73dSmouW4eqW64rlCoJsW","WONdSwT6WOpcRCoygq","ASoCW5T7WQ8","j8ouW59qWOPPsMTIW5e","W6dcIN/dGGlcG0PI","bgVdNCoapmoJW6Ctwwa","xCoHzmozW6hcKNldNCkcWR4","WPzclCo9WQS0W4bMimog","WOa5B8oYjG","amkBve45WPbKWQldP8od","6l6R6zIw5PkK5Pst5y+J5PA05lQQ5A2s5PAJ","BCkzWPZdIMO8hfGnmW","CCotW5NcHuS","W63cQHhdTK8","pX8IWPq1","W6xdNZNdSeOZ","W5S1F2LsWOXChHH6","W6qIW4m2W5bF","W7hdKCoQW7OZW4S0l8k1cG","W5RdLJ3dVmkm","WObvfmohW7irW4BdSvm","eaa7yt7cLG","eCk+W6bWWRe","WPFdJMtcQCoqW4VcT17cGbO","uCkrWOy9b23dGqldMCov","heRdIrW","ASoTW5lcJKBdGW","WR54emo2","oSkIW4fpW5tcQNRdK2RdMq","oCkBgbBdLmkXBWhcRNC","lKza","kgtdRIK","WQzoW44vFW","d358W4O","EvpdQ8knW7DmzYndWQ4","WQ8xWQeDsaCyqG/cIq","EmogW6dcK1tdNG","W6FcQaJdRYG","W79fWPXtW5m","W57cSmobW4SiW6Cel8kLeq","mmoeW5T4tfddNGRdLCoD","WOmzo8oxWRC9W4n9A8or","EmkNW54AgsJdOu7dMXW","W4LHphTd","BWVcR8oWWQGbBY4QWOG","W5KQWRancLzFqKhdTq","WRZdLeK9WPVcPSoFnG","f8oYESoEW44","W67dI3S6WPRcKmospSkZWPa","zCowW4a","ymohW51p","DmohW4CaWOaxW4fIq8ku","W7PnfLmAWOrjaHuX","g8klW5PYbghdMutdJmkd","aCkfnWLTh0lcSN1C","tCoJFCk0WO7dTX5KzXW","W7qeWRiHELLFvCkHWOC","WQb7W7Sdz18","W40AWPLHa8odimoUW7Dc","qSo0ECoDW5tdHY/cPmkmWQO","iXiQomkTtCkpamkdWQG","aCozDmoQW47cVstcKmokDW","WOJdIWjME24+WPJcJmoI","aCkTsh8wWRtdG8klWOei","WQ1kW7KAzLnEsq","WQ3dLxK","W6/cLsxdQKy4yu8","kYaQW5iLWOtdQCk6gam","cejrn8oF","WOO9W44YW5DgW4ddMHRcVa","FN5KWRq9iSkXiHtdSG","zSolWQlcNG","W7DaWQPJW4u","W7FdMSo6","i8oiCmkn","W4z0W4OBemkaW6PHWPe0","ec7dP8oqC8kLWRLrbJO","dCkaEvLcWQZdHSoXWR4Z","cxtcSdW/vSk2fgjX","nSo3W4bnWQi","kSkajKTYjLFcG15C","WQldMZFdSSkGaWjLumkb","6l2g5A+y5As86lAiWP3dNq","m8kaseKQWRrYWPFcHmoG","WPrDc8oSWO4","WRXoaadcQq","uCkRW6G7mG","g21txJdcMSoohmkgWPG","yCokWR4qW4ZcPMZdSghdJM41W7K","ie8Era","uSomp8k0amoVWPKW","g0RdJqNdL8oBW5SRbSkN","F8oLW7JdMgO+a1LKua","W4NdOemXoZfUW5FdISkX","WR3dIxy","WOXzWP1Fm8ord8o5W7To","amoUWRGXW6O","WRddJNqwWPZcVmoui8k5WPq","WPHeca","gCoHW64","ktS4WRWxlCkLoqddQq","n8kkWPLAmte","W7NcLsddS0OZw04","WQldMZBdLmka","WOBcGgT0W5NdOCkh","W4aRW5abrLnDtatcKG","W5uOW5H/kxzWcGldNq","WOH6ASoUo0W","c3BcOuaczmkbi3Ld","W5LoW50ZfSksW6P5WQe8","C8o1B8kQW7hdMG","rvSvwYpcV1HxWP8o","hSkep29R","wh/cLmk0FCkSWQuAwdO","r8kMoSoX","yCodW6ZcGMG","vSkPW5qhfIZdOu7cH1W","WQ1tWPLOWPCdWOBdPatcGW","WRDskIRcIG","W5TCf2XP","W7mdW6HPcuHAsW7dKW","kd8+WOP7ECoMEK3cSG","pSknW69uWOe","bCoizmoCW4pcTspcGSow","WQtcHJBdSuW7uq","o8keWQhcQeddMmoOemolWQG","kKZdQJtdGCojW7z9","da8VWPSU","W7FcTYddKGC","lMhdK8oTp8o4W6HqaY8","F8olWRJcQwKpja","zmoFWQBcGMSxlmoQW5NcTW","jMNcTYKu","m8koW6ldUZ3cHM3dQWVdVW","WQZdNhddSSkG5Qcs5B2k5BYL5BMt77+8","WPFdIqmJtIrLW53dLSo9","W4vWW4O+","WPDaeSop","BmoxW7u","gSoaW4b0ag3dVG8","jCkiWRZcHtbPxa","WOBdVqvVycrOW4ldPSk9","W59Hiw9FWPzn","jtSI","WRfPWOXTWP0dWQhdTa","WRzhemk+W75PWOi","WP5wmmorWOyYW4LWimoQ","wIyu","h8ovW4zXcMVdLH/dK8oF","W4DLW4OQpq","b8oaW5X5WPa","axlcQWmbuSk2aK9/","c1/dNaNdGCoa","WOC3nCo/BbnfrSoCoq","W71la04","xSokW44VW7GwkqSvWRq","kSksWOCAW5zrWPG6fSoD","WQFdHrpdKrpcJeDqxmoK","n8krWPaFW4XtW6r7qSkzsN8","W4umW4CXqCkds8kTW7zd","dCoeW5b4agNdHX/dMCoy","WQjlW6GBrvjjsCk/WPS","n8k/W6tcJZuHDsOnyG","m0pdRXJdVW","vf1NkXtcLNviWOXt","b8kwyLuz","mSkiW7Ho","lhpdJZtdSa","W6lcIJu","W4bLW5TZx8kvW7y","xSoRW6i9uJJcMvVcGCkq","y8okjmkika","W7zkWRftWPJcMgjIW6hcPW","WQ9HWPBcJ1n5cmkNWOvc","gmkuW7GjW4hcOg3cMtZcMq","mmkFevZcLG","k8k3DG","p8ofW4fpWOOrW4P6g8kO","B8kRW7/dUs0","DmkXW4acfshdPbhdGb0","W4vyWOz3hSoCemoSW7Xw","z8ogtqNdLCkXzG","zCkBAw4FWQLyW5lcHCk7","eSozymoCW47cTWpcGa","iSk9Du8yWQvpWPJdV8oL","W7FcHYVcT8kQsZnocmkv","WODRWQXJWQK","W77dQXhdUW","emk2W6zqW6xdPIGngM8","W7fBWO9FW7S","WQ0Bh8k/W45U","lmk2yNafWQbyWO4","tmoPyCoiW67cMq","W7JdRWNdOSkLbCoQ","CSkTW6xcUNhdNJ3cRtVcVW","55Uw5B2r6l6x5PYf77Y26ysO5PAj55Ij5BYP","W6noWRfmW5ldNW","W57cHdxcUW","D8kTW6W","ySkKW5hdLWi","wmoPA8oeW4tcNhtdOSkcWRq","WPNcV8oVW5GmW64vvCkZbW","W45RptvoWPzMfHmI","odS+WOOYjCk2lbFdQa","yIOuxZFcNSozyCouW4G","W65kWPRcLMnWaSkkW6H+","dmo3W7nGWQCjmGODWQq","FvPxfCovrepcJSkLuq","WQztWPnPhmoChSkIWQ0i","n8kvhLZcLSoYcfVdSti","W7fBWRnwW57dJJaHWQBdUW","F8otBCk9W6W","yCoEW5K","amoYWQupW6NcTxfswW","xSoMW55VdgxdKKtcI8ke","WRLzdSogW40","WRr4WP8OW54eWPO","W5fWW40SimkuW6TPWPSk","umoXWOhdGdXwBCkeW4dcQq","kCkfhN9a","u8orjXqnWQhdICoZWOio","jKHtfq","WPRdSvpdNmkj","sCojC8knW7i","B8otW7xcHG","cSksWPZdKbHnyJX1wW","WOLsn8oXWRa2W4Hxjmof","WRnFWOhcGG","eJjDqcZcLCockSkjW4u","o8kCW75dW4VdOdldLN3dIG","WPrFB8ohWRD8W6fwFSoe","yxfTWP9pWO7dTCobiJq","WPldJbzYyG","A8oBWRJcKxWx","WPDab8ocW7a","BSkSW47dSc4","C8okWRxcN1NdLCoLamkbWPm","WOTmW78NvG","hwxcPrSIra","fCocEJKY","W740W4WK","wWm0ySof","A0xdUSkSW7fmEcm","F8kJW4ildIxdHGJdNHC","n1PcbSoyqbpdJq","WQL6naZcMq","WP5oWOu","WPPGWOnVuCopWQHOWPbU","p8kviKRcJCoGjuRdGs0","WQHEW74rwG","iSo4BWK/sq","yqaGAmoO","psOTWPCHpW","WOGpW4hdLrm8tSkzWPT9","jmkTEx0v","AfpcSmkOWQ4cztrUWR0","mmkvW60","ACkJW58BhZpdTa","F140DmoYqSkld8kzW7W","W48+W5qSemkz","W6nFWRftW5NdIJGZWRy","iCkxfe3cO8oUjxNdSt0","WODieSocW7K","tSojqMv1WONdQ8oYW7CX","DSoEnNhcSComgWpcVJu","jSk5Dx8y","bCoJWQupW6hcU3TvvJa","q0pdHSo+oSo4W6uEgtq","f8oBW5DMW6KFj19lW6i","d8krEufiWQFdHSkQWR4Y","mSo9rCo+W4JcOctcGCodnG","CmouACogW74","ebKGW6Su","WRLElCkuW61QWOzSC8kb","whZdSIRcGSkhWPmKlSk5","omkbm1e","gmkzWOpcPbrBFa","W4JdM8oKW5Gx","r8otbq","WQzvWQ5EpLL6Dtm","CGCxwSkgd07cImkbwq","D8kNW6xdSJZcLG","WQNdIWG1pxOMW47cJ8oG","nrufW746","W5DsW4OSbq","W6ZdQdddNmkkjSo7WOWg","DSkUW7ZdPW0","WPGVba","CSkkW7O/la","WOX3WO1doq","W67cIdBdOhaVra","WQZdNMWGWORcQSo4nq","nSkvWPGBW4Hs","W5KlW7OAW7JdVGCWWR3dPW","WRBdQwRdO8k+vJbMkmka","WQD2W6KoDG","c0X/f8o9","sCojW5nhWPqoW44He8ot","mCk8k1T/","q8oJW70","F8kJW5GhgsxdIqu","WQ9DemkIW5uVW5zAdmkh","imkyW7G","uefUk0ddGKC1W642iSkU","WQydW4xdJq0Whmk7W7DO","lmkgW6ddLG","sblcJeVdKCorWO1Lc8o4","fCoNWQupWQJdPYSddgO","o8kcWRe","smkrAePeWPVdK8kXWRW4","sI7dQmo0i8o4W6WOu2m","W7Hfsmo8WO84W4Orw8kC","u8oksCoKW5e","ewVdMmoXnSoNW70","iJeR","WPL4yMycWPKodKGP","WRLonmkVW4q","CCkTW6ldUW","WQZdMM4O","FmkhW6tdTIu","hCkxW4PoWPm","s8oqW4vfWRS","kIWLWPuXy8kJFeZdSG","WPvtdYRcGSoXzCk1W6Tt","W6ZcLsC","WRfrbmk5W4rZWPi","W4pcOwC","B8kPW70AccNdRGy","W6qmW5e+r3P3fSo2WPG","bSo0WRS","WQ9KcmohWQS/W4n4ASkh","FSobW6tcLqZdNSoVfmoxWPm","EfRdSmkXW60","wCogxSovW4O","tSkfWP5kcMBdKWtdJCod","mLTiaSoFrrVdMG","WQPykSk/W4H6WOnjzSoU","WRf1WQTvWRO","d8krya","WRbkWPBcLw8","WRzseSo7W7G","B8kZW4pdUGy","W79bmNrt","mCkhAhHn","hSotzCob","oSkfWRldKHFcM8kSqmojW5S","WPXsmSoxWRWIW5i","WRVdL2lcMvtdKhfjAmosW5JcQa","q1RcGe3cMSklWPzHaCoY","WO9hn8obWReW","l8owW7b1WOS","ASokWP3cMh4","d20s","5yYL5yIr5PEH5lMyW5uY","xmkXiSoEW4/cLgxdP8kjW7u","FSktW6O/lq","W4voW58Qc8kF","hCkvAfLuWRC","WO3dKGPQFq","WPNdLYDOra","gWqx","k0jcvmoXrb3dG8k9eq","ySoggSkPeCoJWR4t","o8ksWQNcSeJdG8o4f8koWPG","mCktcwRcJCoGjuRdKJa","iSk9Du8yWQvpWPJdT8oT","WP5KbW/cQq","W5W5ydqnW4LdgLew","mre9Cb4","WOnafmolW7icW7ddVK4","DCoRqSkrW48","jCkiFqiuW7FcKmoWW6rR","pJ8/WPaJi8kNkq","W6ddMCoOW5Ot","W51SmwLFW4alqfLM","l2hcTc4Iq8kS","x8otBXTcWQlcKCk6W6e4","DXOstCkye0/cNCoYya","iLbKvSo1qmkkcCoaW6S","WQO9B8oqhW","aCkXWP7cJrq","WOK4zCkYzrjlwSoElW","b8oRW49tca","W6RcGtxcPmoGhhihomkr","WPPpd8oA","kSkajK1ZjG","naKVW4qA","kCk3zG","W6VdRv7dOSkZf8o5WP1dWO0","imkjW61sWOhdOa","nmkjW7JdHt5FzCkoW7JcJq","W57dSqDLAdnVWPNcJmoN","WQHlW70","kJ84WOi","W4/dNINdRCkDWPVdUMtcMK4","CmkJW4a","W4ddLJFdSG","buXeh8ozcf7dQ8k6sG","q03dGCo2pmo5W6XqbZu","u8kUWPWUW5pcN1qyaJu","z8octCkPW5m","W7RdLSodW6qw","f2VdOmoNbq","rCoJAmkwW48","kCkvWQbdWPRcVH3dTttdNG","WOPfkSouWRX+W5aLASot","zSopta/cGmoJye7dUMG","oCkaWQ/dLa/cN8kRwmkQWOO","kWC9WPiz","W7JdShpdPCkHqYaiwSoe","WR9ZWQjfpG","BCofFCkWW58","ymoeWR/cHIrFkCkGW5BcTq","cxtcScK+w8kH","aSk+W79UWPW","nSkSC3uEWQnuWPVdIG","W5hdR8oEW4qvW6erDSk/cG","fmoJWQmIW6lcPhfxrWy","jCkyW75pWPldQHBdMgJdHG","WPpdSxhdNCkx","cNtcSGy0uSknfq","b8knvL5iWR7dGSoJWOqu","DCo2zSkXW4W","ostdSa","BSkXW67dPYBcNYdcUG","WO7dGWGTCtrOW5RdNmk9","uSo0a8kYgCosWO4NW63dMG","W5niWRb4W6e","lcaWW5u8WOJdTmkieG","W6VdMJRdSSkrW5RcU3JcHLm","fK7cPWm+uSkQbxL5","WQbbW6WFCfjYxG","WQH0D8opWRGJW6HteCos","zmoFv0XhhCoSlHaB","kmkSsNig","F8k0W4Cyh2/dTLdcNrq","qCkdW7e9nWhdJc0","uCojW5L6cMy","eutdK1lcJCktW4P2amk9","kdCGWOyDka","v8kKW5T/WRLkyMXlW7y","fSkuz3jaWRtdJG","mSonW4XvWRO","k8k+WQtcJWrLxa5z","yCoJFSkoW5FdMIfr","lYSaW7mP","WPPrWO/cILzWb8o8W68f","6l6C6zId5PoQ5Psh6zo45O+W6i635yY85AsB6lsr","wmoLBSodW6O","b8osW6bWlW","W6BdLSoQW60Z","WRv5fmoIW5S","xmoVACoKW6m","W7vTmxvxWOXMqe5L","W4VcHWxdJrK","pSkxd1ZdISoNpKpdUWy","jezvgCoGraZdM8k7vW","fmoJWQmNW7FcOLTvuI0","dxdcTbS0x8kLxK9+","W6n5gSk2W4HSWOOvgSks","cf7dJHu","ACoXzmk0W5FdNWXfqsa","sCoaa8kSjmoJWOuKW6hcMG","f8kqemo5","meXubmoztW3dJq","nCkaWQZcKXi","DSoNECkRW4/dKrPr","W59MWRjmW5pdHgmYWO3cRa","p2n8W41JymkVju7dGG","o8otBmoCW4hcVIVdI8kAnW","i8o0DZWxq8kmF0zE","WQ1iW78fleDAsmkZWPO","WRNdHM/dVW","WRZdPe/dSSkE","CSkSW6JdUt3cMIJcRa","WQNdMID3sa","aH03Fq","WQmfW7naseDbsq3dLW","CrWLzmoYwSkXd8ot","CLpdSCk5W6Tf","B8k1W5/dKWm","dK7cKWxdGCoDW5zHbSoN","WOZdTtBcRW","D8kNW5tdVcZdGW","qmodW4vlWOWh","fSoYWO02W6O","WOnafmoDW7K","W6hdRXy","W4hdOWZcUmo1rCkPW5znW70","CSo7WRFcHLK","WQr8WRNcJhu","dCoWW7T7WRXv","WRddGWTMjHLVW5FdLSk5","y8oFWQlcLW","omoDE8oqWOlcIIpcHCoaDa","WRBcJJ3dO8kMwYHfbCkr","ySkFW7hcHK/cG8oKdCkxWOC","WRzoWOhcGfj9","W7NdRWW","WO8oCCkrWRWZWPzXD8kh","hCkFcrBdKmkYyahcRw8","W67dUbhdOCkLwCoOW4LrWQ0","BfpdRSkRW7PEyq","ag4+WPy3b8oIhLVdLG","p8kyW5TdWPBdMdpdGYdcMG","WRvDeCkPW5mVW55Aamkr","emovESoqW4pcSYFcGq","ns8GW4OwWO/dVSkF","WQzPWO4","WP/cHZRdVConW4tdVvRdL0C","WOzsiSogWRWJW5u","W7/dVYhdLSks","cxtcSa","W7vpWPj2WPelWO3cV2RdNG","ca4iW6mT","W5WzCmkmW6TMWOzhjmot","jebleCo/rq","WQjuwsBcGmkWq8oyW6um","q8oLW4XyWQW","WRfFea7cGCo5yCo2W7eW","dxdcTbS0x8kLlLj/","W7FdI27dUCoH","utZdJmo1DSkMWRTAbua","WRBdGh3cUGK4rGybsa","WRNdG2VdU8kNtsrtaSkF","WQrkWPtcL09V","WO3dIGDXBb5VW5i","mSkxcvG","sdmj","W5PLbgP4W5m","sCoHFCozW4tcLwhdLmkzWRu","qCoggmkgg8oQWPi","mmkFevZcRmoL","W4FdMJC","WRlcPeJcPmoUrSkWW4foW70","pL7cLZS","iKL9n8o5tmozb8otWQK","WPWKWO4","trJcILpcH8kfWPOSjmkb","l8k+xwjQWOhdQq","WPDtd8oyW7LzW5NcPGu+","nGeVWO89kCk7otZdQa","5PAd5lMq5P6d5OMq5yUi772U5yQp6zMQ5Asx6lEy","C25IW5P4kCk7ydBdKG","WO3dLGD3Fdi","mmogBb4DECk7BK4u","FWKusmoT","WRH9kSouWQe","W7imW4FcHKS5vmoHW78y","WPbafSoAW78EW47dIf43","ndeDrZu","zmoFWQlcLwa","WO5TWRHopq","fCoSW5jbWP0","mSktc1dcHSoKceBdUG","WPvtpdRcMW","fCoZW5vngq","bCoiD8obW5JcOq","WR7cIJu6WOhcPSoupCkZW5O","WP1diSowWQWI","ACkNW6RdUa","wtq0evi","W7HFWRDkW4tcL356WRJdSq","hSk5fMZcNW","Cmk3jCk5W43dIGaAqcy","WPDTWOLHW4Hs","h8oxC8kvW6RcTYNcJ8oama","WQ3dGh7dPCkGtYHc","k8oMWOy5eY7dPa7dHqe","WPySCSoroq","WOXzWP1wfCocfSoRW6fL","ihf/W5nLBmkLiqldTq","WOKqvCoumG","BSo/W6ZcS2K","lCkPzwqj","b2/dNCoL","W67dQWZdTG","W7ToWQzkWPRdJd08WRNdSq","d8ktrNXv","iSkFcvxcGa","W4ldLcddSCkM","WPvicSolW7ixW4ldSG","yg5SW4SdjCk7kqZdTG","W7HRoHtdMmkPlCk6WP8n","WOu0Dmo+pa","d8kuFuu","vCokfSkL","WQfoWODZhG","xr07CSoO","fubjqSkcgL7dKmoKda","WPObW5KUr8kCbCoLWRvL","WOiNACoRmq0frCobzW","l3FcPqmKuSoHrMi1","g8ojW75BWOO","pSkCW7W","gSkoyKHp5P+U6l2G5P+b77+B57Q6","BSkXW67dPXFcLYK","aGK3y1VdKNaEW5Ko","W7ToWQ0","WQT8gCkUW5G","BuldRCk3W7fkFcb+","WQVdMbJdI3eqzaD0DW","bmkWi8kCWPBdJJtcQ8kdWR8","zCo7WOtcRh8","WRnzgW","yCoJFG","oNpdRWxdOa","gmktFmogW4lcVa","cmkWDfy1","gmoqjKXuWRddJ8oXWQe4","WOLsn8oMWRyMW4H4kSou","tSklWOyZuYBcH0VdQCor","d8kGcGVcP8od","tSoPE8kCWPFdJc7dQCoAW6S","k0vcbW","WQ0Brmo8WOfZWOiFy8oc","BSoBh8kgfW","WPFdJqGSmgf2W4tdLSkG","WOfoemohW7GtW50","W4lcKdpdQSkrWP0","FSoaW60","y8kZW4achYK","uSo0iSoDW4VcNgNdPCobW7O","bgVdNCofi8oKW4OErNu","qCoggmkbb8oYWP8","WRDbW7eHqa","cK7dJaJdKCoaW44","W4ftmColWQ80WOLIDmkA","p8kKWOBcMZe","q0ddVCkKySkKWQDpdse","amknoCogW4xcUY/cImolnG","WQTDdCo7WO4BW687bSoK","lejEhmoU","af7dKYldLCogW45S","W7ZdUJZdOCke","ECoxW7dcKKtdNSoO","WOLsn8oJWQKHW6v1nCob","CmoVBSk9W4RcKvaBbNK","wmoLFmoyW4lcJNq","yCoJFSkCW5FdIqzzxc4","omoSxmoZW6y","eSocW6n8WO8","tSoYzmoBW4ldKNBcUSocWRW","W6joWRnwW5BdJJq","BvpdQW","ACkZW4TidIJdTqZdKbW","E8o5wSoHW40","WP95fCojW48","BCo/WOpcOG9bFKqwFW","n8k3o8oUW4VdSsnEuce","FgL0W5fNDCoGaGxdUCo/W6vG","ceRdJG7dQ8oqW5vGcSkw","W7VcKsddShO+r08X","iXOVWOWd","BhHWWPvsW5pdVSour1m","W6VdL37dTSo/hhiEuSkr","WR/dNK4LWOu","oSkUqMHV","pdeJWPC","BCoBW63cGMJdIq","tSkQWQOHW7KinXT9W7u","qmoKW6lcN0Pplmo2WOdcJq","m0hdUSoq","amoJWQm","qCkYW65tWR/dQIH+vZddMSoXka","WR9rWOBcLW","jmk7WQ3cMq","WRnGWPTW","W6NcGcy","c8oQWQivW6lcOdzxtsS","W7JcLsPNW5NdOCkbCCkeWPq","i8koC0rnWQJdHSoXW6jZ","tSoLE8oeW4tcMeNdRW","ytO+WOOIkCo6o1lcRG","WOf6os/cGq","WOdcV8kgW78vW6WuBCkHfG","mCoOW6zrjLZdSK7cImkc","WRrieYtdGCoun8ooW64k","W5WxW6HMdq","WPFcJXzIz29+W4pdL8k4","ptS/WPa9i8k7bcC","WRfdlmojWRW/","zWiG","DeiTzW","WR9zardcH8o6ASozWR8n","W5RdJG/dKSkP","ASoBW63cUfldHmoMhCoeWRG","ieJcJsC4","W4xdK1SZj3KQW5pdL8oV","h8oCoqmwW6JdNCk2W7OE","eMz0imkmdGJcMCo9wq","WPXxWOhdJa8VuCo9W6KD","WRX9WOlcI10","i8kfgeVdImoYjepcSce","eu59bCo/","WOb5h8kiW6uYWOimqmoX","W4aQkg9uWOLCg1iX","aX8/zW","W5PDW60qvHec","D8ouWOpcNgK","u8oxbmoVaCoVWPa5W6hcMW","W7RdJwpcRrjXuKn5wa","W6SqWQPwD1jnu8k1WPe","WPzzfG","hKldKqNdKCob","WQrzdSo6W58","vv/dQ8oXWQOEiMG0W70","W4dcHd/dHeZcUeTMvSoR","WP9oaq","W4JdQSoaW7CoW6CwCmkZfG","lvFcRJ86","WOaykCorWRy/","W6HOWPfjW5O","sdyuga","E8ohW7lcJW","og9JWPa8jCkWiqFcRG","WOZdUYfAEW","p8oxWPqEW5zAWOnRsmog","WPddKCo6WOHnWRjEmSoTrq","W47dMHZdM8kcamohWO4SWQa","W5BdL3xdVmkqW57dNhNdLva","hCoRW7CHWRftAvDlW70","jmosW5DTgW","bCkezW","WQ1pW79wvfjyuCk5W50","cSk8bG","WRmBW4FdKr8Vj8o2W61P","F8ogWQ7cJNahnCk9W4JcOq","WP9ecmojW6GE","fSkEW6ToWQpdPXZcJKNdVq","WO9zWP9Pe8ovimoKW7W","W4NdNgZcOmomW4VcRGZdNXC","A8oJECkRW5NdMq0","vSo/FSohW4lcVY/dI8kElq","ewVdMSo0pmo6W7OA","5OYp5P6S55MX5B6n5AA855k4","B8outSoL","WRTRfSkGW4HLWOGaASoo","WQbIWR1JWOS","ASkHi0qHrmkSEKrm","WRXohdxcI8kYCSkRW7eo","6l6z6zQ26lYV5A++5Aws6lEo776x5Psm5RkI6i+q","WRhdKh7dMSkHsIblrmk9","Ef/dSCk6","kSklW5VdLGVcKIu","ASkBWO9AWPaxW4jSsmkC","WPjrfSocW7uvW47dO0m3","WQjlW6GZCLrt","DmoPFmkXW5ZdMXObaW","W4BdIsZdJSkb","WRhdU3BdKmkV","W4pcIIJdIa/cJemOdmkO","WQBcLha6WOBcOq","oxJcQLLJdmoKcraK","e07dKW","WR3dNgRcLvhdLrS+wmk1","eXySEHhcM3CAW4Sl","W4TTpN4","WPtdJq9T","W7VcKsddShO+r08Xra","vvn2rb7cNhauW4Gr","WRVdK3S7WOZcKmoynq","lCkCgfHZmwNcNHDa","FCoBWR3cVeK","WPVdJau","WRTJWO0","arKuztu","phRdHSoVnSo6WRq","CL/dSCk1W6W","tY8bba","WRxcNwpdOSkGqIborCku","W7KoW5xdI211cmk3WRvC","WQXthIBcGa","tH3dSexdO8odW40YaCkI","zCo2aCkvfa","ahtdNHhdNCowW5rWmmkG","gNtcTXS","WQbvaCkVW4K","W6/cRZddQXm","kCkLWQhcNd4JrfKzDq","W73cSbhdIda","ASoIu8k0W50","WR7dNghcKLldMeC/cCkY","WR/dLM8","W59XjgPn","p8kHWQ1nW6Wunv5FWRe","W4rkW5GVeCofc8oLWRDs","57QB5l+d55s+","WRRcVKRdKCkqi8kOWOKzWQ0","s8oZBSoUW4G","W7eCndpcNSoXyConWRSF","WRrfW6KftfruxSkZ","j8oWDWuzqW","oSoKW6vwbNRdMq7dLSkF","l8kEWP8o","eCozySo0W53cOGNcHCoFBq","WQOlW7afFfK","W7zyW7Gwx8kwW7r9WPCX","W7HJWOfaW4y","WPjrdW","xdem","DCohBmk3W5i","WR0zqGFdI8kQqmk8WQKu","mM5YWPzdWPJdV8khiqi","nmkcWQ/cJW8","ymouW4byWP1nW5K/cCkB","W73dGxZdOLaPqaqNCG","aM3dISoHimoNW5ylwwO","WRJdMMG6WOW","W7JcHchdQKS6qu0T","i1Xtha","W4JdGmonW4qvW6CEDSkjda","gNrrsdVcNmoynCklWQ9sWOVcMG","ymoBWQlcSMCii8kPW5/cUa","amotdCkYf8oOWOmiW6hcKq","sSo6W6m","bryuW5mq","WO1wm8owWRO5W4DlmCoA","f8oNWQmh","WO5Aj8kFW5u","omozf0RcISoV","r8o8p8kPfCoO","ntWnrW","AdiLWO49omoOFfpcSq","Ff9/mCkTdSkEcSowW6W","omonWQBcL2SACmoJW4FcSa","kmo2EwKEWQHyWPtcNCoO","W6RcUJpdLbFcIa","WR7dMNFdSSk9","p8kYWRVcMJrIqq0","W6tdQXxdSG","omken1vVnMhcNKnB","E8ogzCo6W5hcLtNcUSkmWPe","W73cKsddIa3cH0THqa","wsKcymo7","W53cUtdcTMyhEMKztG","W7DWWQhdGWSSsmoJW6el","cXiZDG","B8oOACk0W43dMG1g","EvpdQ8kiW7PFFcb+WOG","B1hdLCkPW7u","W6FdTSoaWP5iWRLqESoGuq","mCkfi0f/","rrKIn8kOfCoohSkbWQW","ibz1mCkQsmknb8kdW74","W6zoWRftW5hdLb06WQJdVq","if7cIIO","lmoZW47dMY7cNalcT2tdOa","n8k7hwKXhW","W6LLWQ5CW44","hgNcGYiU","W6W5W79bd1PAuZ7dMW","WPeNWP4qhSkcW7bLW4Ww","WPD+b8oBW6GE","W5FdUSoA","WOHymCoNWRGYW44","e8oFFCoAWOtdSGNcJmoDDG","thBdNmoQ","W73cJtpdKWy","mJOywLFcK2qlW5yg","5yMK6zU15PAe5lQA5OMM5yQY","WPf0sCoiW7Do","ASoPBq","WPu0DSo4bKCaaCkcDq","WO3dIGDXBa","WRjPWO5aWPerWOBdVdtcIW","sSksWOqRwJhcGt/dQmoDDKtcPq","D1JdVmkYW6PjCdu","tmkjW7LytMNcOcddGGi","gcegstpdJSkpkCotW44","wYygaMFdNSkgemktWPe","p8kfWRpdKrJcLmkQlmkRWOzMW6VdNW","WOpcQSkxWOzoWRnfiSkoiq","fmoJWQmLW6BcOMXxsJG","W4ddKd4","wCo0BmozW5lcJG","W7BcKdZdVGlcKeS","layurmkhaq7dHmkZta","WRbva8kPW7nLWPubwCot","WR/dLM/dGCkRxcXbeSkZ","mCk7Ax0","W4LJWOD5W48","6lYg6zUd55Io5B6z5AAq6lsL77+Q5PAu5RoG6iYq","WRvrWPhcMG","p8kfWOy0","wmoLA8oFW4lcJMJdLmkzWRu","W6FdJwGBWOlcQCoHjCk4W4a","WOa8Bmo4","n8oKBmoHWONdNqLtb38","W5vWW6WncG","W6ZdOXtdSSkFfCo/WOWBWQW","c8o8Db8c","iSkEcfFcGCoKjqdcR2S","W6ydW69DcvfhqG","WOPPW6iVCa","6l6G6zQe6lYY5A2l55Qz5B6N5yIp5BQb5AAo6lwh","yCoADWOOzs7dKXOc","i8kCW6iiWOZdPJtdM2RdHG","psO+WOO6k8k8kXO","WR5DWR9iWPa","WOCLCmoXpuesamkhBG","cYGTWPbxW5dcU8kuqvm","kmkXshG4","kMNdScZdUq","WPDSW5S","gcOqW44f","pCovySkAWPJdOx3dISkClW","WRZdKM/dTG","W6OuWRrhiGqpgSk4WPe","W6FcNZtdQKS","kCo2WRlcOhddHN3cLshcOMJcVmk/","omopvCofW74","xYBdT1PHaCo0sryG","tIyum2pdNCkAlmkpWP8","aCoJWQqwW6JcVgTr","j8ofqCo5W4C","WPJdK1WRWRO","W7JcHdldT1aU","W4lcKdpdQSkrWP3cTXVcMKq","W4dcQqRdKs0","WOBdLWHCAdrYW54","f8otWQuk","i8kCW75dWPRdPWxdNMS","WOmZzCkKmKbafCoDmq","dshdG8o3pmo6","ubKHE8oM","zmk5scqIymkomGTx","W4pdUSoA","ad7dTv93rmkGgNb1","ASo6WRxcMv8","WQv5WOLS","D8oaw8kcW6e","WOfxW4a9zW","rSoTWPpcQvWMhCkaW6/cMG","WOT+bCocW7utW4hdO3uX","WR3dIvmdWQpcNmkjnCkbWQW","y8kzW40ceYxdRHxdRrS","jZiPWPa","W4nOp3TEWObltqKN"];return pL=function(){return t},pL()}async function r5e(t,e){let r=Te,n={kCwhg:function(c,u){return c(u)},qiZpP:function(c,u){return c===u},SyIzU:r(1606,"J02["),RKYNf:function(c,u,l){return c(u,l)},LfVgO:r(1569,"GiqO"),yUgeT:r(778,"EWEh")};await n[r(1640,"Rf!$")](ab,e);let s=await zh[r(1313,"attV")+"ta"](t);if(!s)return null;let i=await n[r(1359,"METZ")](Asr,n[r(1328,"h1&F")]),a=[],o=[];return Object[r(770,"EhkZ")](s)[r(1803,"U6cg")](c=>{let u=r,l={JxhhQ:function(m,h){return n[Gi(2056,"[zZc")](m,h)},BNcIi:function(m,h){return n[Gi(477,"EWEh")](m,h)},foIkD:n[u(328,"oCn^")]},d=Array[u(524,"$FUM")](s[c])?s[c]:[],f=d[u(1935,"L$sR")](m=>{let h=u;return{vod_id:[m[h(1951,"nHvT")],m[h(1474,"nHvT")],m[h(1317,"1IiW")],m[h(1599,"#Vf$")+h(1720,"68F4")],m[h(1376,"*uMz")]||""][h(1706,"nHvT")]("*"),vod_name:m[h(727,"]#Cr")],vod_size:l[h(1163,"1IiW")](Number,m[h(1534,"di2y")])||-5801*1+-4110+9911*1,vod_group:l[h(1113,"attV")](c,l[h(1947,"#Vf$")])?"":c}}),p=n[u(591,"6m)Q")](Os,i,f);p&&p[u(881,"oCn^")]&&p[u(1277,"t2$F")]&&(a[u(851,"wv7J")](p[u(786,"XIK8")]),o[u(2067,"TYk6")](p[u(1630,"qInX")]))}),a[r(1676,"1IiW")]?{from:a[r(1265,"6m)Q")](n[r(1159,"METZ")]),url:o[r(571,"oCn^")](n[r(1752,"h1&F")])}:null}var t5e=t=>{let e=Te,r={NPJFK:function(i,a){return i(a)},DYUOC:function(i,a){return i||a}},n=r[e(616,"qInX")](String,r[e(941,"h1&F")](t,""))[e(448,"XIK8")+"e"]();if(!n)return 3372+-559*-13+1*-10639;if(n[e(502,"EhkZ")]("\u539F\u753B"))return-3*-24419+-184559+3354*63;if(n[e(1139,"attV")]("4k"))return 3*487+2537+2;if(n[e(1815,"CdtI")]("2k"))return-143*-19+-4783+4066;let s=n[e(935,"veG&")](/(\d+)\s*p/);return s?r[e(1588,"LQMX")](Number,s[-2998+-181*-7+1732])||-2*4269+-7*421+-1*-11485:n[e(1012,"NQR8")]("\u84DD\u5149")?-5563*-1+8078+-12441:n[e(1786,"METZ")]("\u8D85\u6E05")?1080:n[e(1139,"attV")]("\u9AD8\u6E05")?-678*-12+-7053*1+-363:n[e(2035,"U6cg")]("\u6D41\u7545")?86*-106+3819+109*53:n[e(1422,"6m)Q")]("\u6807\u6E05")?540:n[e(426,"68p[")]("\u666E\u753B")?-5801+-1*-6161:n[e(1455,"*uMz")]("\u6781\u901F")?240:-589+58*3+415},ysr=t=>{let e=Te,r={rLCxq:function(s,i){return s<i},HBcyE:function(s,i){return s(i)},mdtWf:function(s,i){return s(i)},RgVgW:function(s,i){return s+i},grGNI:function(s,i){return s||i}},n=[];for(let s=0;r[e(812,"$FUM")](s,t[e(1181,"YsCI")]);s+=5*-967+-33*-35+-1*-3682){let i=r[e(603,"TYk6")](String,t[s]||"")[e(787,"68p[")](),a=r[e(677,"htl8")](String,t[r[e(1134,"EWEh")](s,1)]||"")[e(2105,"5V(o")]();r[e(514,"%g5L")](!i,!a)||n[e(2096,"a(V)")]([i,a])}return n};async function n5e(t,e){let r=Te,n={smHIw:function(l,d){return l!==d},oEUIf:function(l,d){return l(d)},KhReK:function(l,d){return l(d)},PhFbS:function(l,d){return l<d},oMTnD:r(958,"n(Tw"),UPALy:r(473,"EhkZ")+r(1326,"qInX")+r(1381,"EhkZ")+r(1221,"U6cg")+r(1258,"XIK8")+r(1931,"@)NM")+r(1549,"@)NM")+r(509,"s45X")+r(1130,"attV")+r(2098,"xwLD")+r(1339,"nHvT")+r(2109,"$FUM"),miIdH:function(l,d){return l(d)},iHGYb:function(l,d){return l!==d},eMdTC:r(1581,"#Vf$"),jyVCS:r(1395,"%g5L")};await n[r(1520,"0D8d")](ab,t);let s=n[r(1111,"#Vf$")](String,t[r(1831,"Rf!$")].id||"")[r(1199,"qInX")]("*");if(n[r(1864,"3*7L")](s[r(1229,"6m)Q")],2317+1*3985+-6298))throw new Error(n[r(423,"TYk6")]);let i={"User-Agent":n[r(769,"&4j(")]},a=n[r(1850,"attV")](ysr,await zh[r(793,"^04V")+"l"](s[-12*-577+-2238*3+70*-3],s[990+73*-2+-281*3],s[2171*3+9277+-15787],s[155*64+-1*-8842+226*-83]||"")||[]),o=null;if(n[r(737,"u38W")](es[r(639,"woD7")](n[r(1541,"$5xR")])||"",""))try{let l=await zh[r(1813,"EWEh")+r(835,"di2y")](s[0],s[1],s[3]);l&&(o=["\u539F\u753B",l])}catch(l){console[r(2e3,"woD7")](r(369,"a(V)")+" "+(l?.[r(1680,"METZ")]||l))}a[r(598,"h1&F")]((l,d)=>t5e(d[-5027+-61*-139+-3452])-t5e(l[21*-275+-9284+15059]));let c=[];o&&c[r(1940,"htl8")](o),a[r(1695,"NQR8")](l=>{let d=r;n[d(1318,"METZ")](l[-3252+1626*2],"\u539F\u753B")&&c[d(1408,"#Vf$")](l)});let u=c[r(1645,"68p[")]();if(!u[r(760,"@)NM")])throw new Error(n[r(891,"YsCI")]);return{parse:0,url:u,header:i}}var o5e=require("crypto");var bsr="https://api.guangyapan.com",Esr="https://account.guangyapan.com",c5e="aMe-8VSlkrbQXpUR",u5e=200,_sr="0123456789abcdef0123456789abcdef",l5e={Accept:"application/json, text/plain, */*","Content-Type":"application/json"},Ssr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],mL,uz={},wl={set(t,e){uz[t]=e,mL&&mL.push(`/guangyapan/${t}`,e)},get(t){return uz[t]}},vsr=async t=>globalThis.getPanName?await globalThis.getPanName(t):t,lC=async t=>{mL=t.server.db,uz=await mL.getObjectDefault("/guangyapan",{})};function Csr(t){let e=/https?:\/\/(?:www\.)?guangyapan\.com\/s\/([^/#?]+)/i.exec(String(t||"").trim());return e?.[1]?{shareId:e[1]}:null}function d5e(t){if(!t)return{};if(typeof t=="string")try{return JSON.parse(t)}catch{return{msg:t}}return t}function dC(t,e=""){return[t?.msg,t?.message,t?.error_description,t?.error,e].map(n=>String(n||"").trim()).filter(Boolean)[0]||"unknown error"}function Isr(t){let e=String(t||"").toLowerCase();return Ssr.some(r=>e.endsWith(r))}function Tsr(t,e){return t?`${t}/${e}`:e}function wsr(t){let e=String(t||"").trim().toLowerCase();return e=e.replace(/^wdi10\./,""),e=e.replace(/x+$/g,""),e=e.replace(/[^0-9a-f]/g,""),e.length===32?e:""}function f5e(){let t=wsr(wl.get("device_id"));if(t)return t;try{t=(0,o5e.randomBytes)(16).toString("hex")}catch{t=_sr}return wl.set("device_id",t),t}function Rsr(t=""){let e={...l5e,Did:f5e(),Dt:"4"},r=String(t||"").trim();return r&&(e.Authorization=`Bearer ${r}`),e}function Nsr(){let t=f5e();return{...l5e,"X-Client-Id":c5e,"X-Client-Version":"0.0.1","X-Device-Id":t,"X-Device-Model":"chrome%2F147.0.0.0","X-Device-Name":"PC-Chrome","X-Device-Sign":`wdi10.${t}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,"X-Net-Work-Type":"NONE","X-OS-Version":"Win32","X-Platform-Version":"1","X-Protocol-Version":"301","X-Provider-Name":"NONE","X-SDK-Version":"9.0.2"}}async function uC(t,e,r=""){let n=await he.request({url:`${bsr}${t}`,method:"POST",headers:Rsr(r),data:e,validateStatus:()=>!0});return{status:Number(n?.status||0),data:d5e(n?.data)}}async function Osr(){let t=String(wl.get("refresh_token")||"").trim();if(!t)return"";let e=await he.request({url:`${Esr}/v1/auth/token`,method:"POST",headers:Nsr(),data:{client_id:c5e,grant_type:"refresh_token",refresh_token:t},validateStatus:()=>!0}),r=d5e(e?.data),n=String(r?.access_token||r?.accessToken||"").trim();if(!n)throw new Error(`\u5237\u65B0\u5149\u9E2D access_token \u5931\u8D25: ${dC(r,`status=${e?.status||0}`)}`);wl.set("access_token",n);let s=String(r?.refresh_token||r?.refreshToken||"").trim();return s&&wl.set("refresh_token",s),n}async function lz(t=!1){let e=t?"":String(wl.get("access_token")||"").trim();return e||await Osr()}async function p5e(t){let{status:e,data:r}=await uC("/nd.bizuserres.s/v1/get_share_access_token",{shareId:t}),n=String(r?.data?.accessToken||"").trim();if(!n)throw new Error(`\u83B7\u53D6\u5149\u9E2D\u5206\u4EAB accessToken \u5931\u8D25: ${dC(r,`status=${e}`)}`);return n}async function Psr(t,e="",r=0){let n={pageSize:u5e,accessToken:t,parentId:e,orderBy:0,sortType:0};r>0&&(n.cursor=r);let{status:s,data:i}=await uC("/nd.bizuserres.s/v1/get_share_page_files_list",n);if(s<200||s>=300)throw new Error(`\u83B7\u53D6\u5149\u9E2D\u5206\u4EAB\u76EE\u5F55\u5931\u8D25: ${dC(i,`status=${s}`)}`);return i?.data||{list:[]}}async function Dsr(t){let e=await p5e(t),r=[{parentId:"",folderPath:""}],n=[];for(;r.length>0;){let{parentId:s,folderPath:i}=r.shift(),a=0,o=!0;for(;o;){let c=await Psr(e,s,a);(Array.isArray(c?.list)?c.list:[]).forEach(d=>{let f=String(d?.fileId||"").trim(),p=String(d?.fileName||"").trim();if(!(!f||!p)){if(Number(d?.resType||0)===2){r.push({parentId:f,folderPath:Tsr(i,p)});return}Isr(p)&&n.push({vod_id:`${t}*${f}`,vod_name:p,vod_size:Number(d?.fileSize||d?.size||0),vod_group:i})}}),o=!!c?.hasMore;let l=Number(c?.cursor||0);if(!o||l<=a)break;a=l}}return n}async function dz(t,e,r=""){let{status:n,data:s}=await uC("/nd.bizuserres.s/v1/get_share_download_url",{fileId:t,accessToken:e},r);return{status:n,code:Number(s?.code||0),msg:dC(s,`status=${n}`),url:String(s?.data?.downloadUrl||"").trim()}}function s5e(t,e){return{status:t,code:Number(e?.code||0),msg:dC(e,`status=${t}`),data:e?.data||{}}}function i5e(t,e){return{status:500,code:0,msg:String(t?.message||t||e||"\u5149\u9E2D\u63A5\u53E3\u5F02\u5E38"),data:{}}}function m5e(t){let e=String(t?.msg||"").toLowerCase();return t?.status===401||t?.status===403||t?.code===401||t?.code===403||e.includes("token expired")||e.includes("unauthorized")}function ksr(){return!!String(wl.get("refresh_token")||"").trim()}function Lsr(t){let e=String(t?.msg||"");return m5e(t)||t?.code===207||e.includes("\u514D\u767B\u5F55\u4E0B\u8F7D")}async function a5e(t=!1){let e=await lz(t);if(!e)throw new Error("\u5149\u9E2D\u767B\u5F55\u6001\u7F3A\u5931");return e}async function h5e(t,e){let r="";try{r=await a5e(!1)}catch(i){return i5e(i,"\u83B7\u53D6\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25")}let n=await uC(t,e,r),s=s5e(n.status,n.data);if(!m5e(s))return s;try{r=await a5e(!0),n=await uC(t,e,r),s=s5e(n.status,n.data)}catch(i){return i5e(i,"\u5237\u65B0\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25")}return s}async function Bsr(t,e){let r="",n=String(wl.get("access_token")||"").trim();try{r=await lz(!1)}catch(i){return{status:500,code:0,msg:String(i?.message||i||"\u83B7\u53D6\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25"),url:""}}let s=await dz(t,e,r);if(!s.url&&n&&ksr()&&Lsr(s))try{r=await lz(!0),s=await dz(t,e,r)}catch(i){s={status:500,code:0,msg:String(i?.message||i||"\u5237\u65B0\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25"),url:""}}return s}async function g5e(t,e=""){await lC(t);let r=await h5e("/nd.bizuserres.s/v1/file/get_file_list",{parentId:String(e||"").trim(),pageSize:u5e,orderBy:3,sortType:1,fileTypes:[]});if(r.status<200||r.status>=300)throw new Error(`\u83B7\u53D6\u5149\u9E2D\u4E2A\u4EBA\u76EE\u5F55\u5931\u8D25: ${r.msg}`);return{total:Number(r.data?.total||0),list:Array.isArray(r.data?.list)?r.data.list:[]}}async function A5e(t,e){await lC(t);let r=String(e||"").trim();if(!r)return{url:"",msg:"\u5149\u9E2D\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};let n=await h5e("/nd.bizuserres.s/v1/get_res_download_url",{fileId:r}),s=String(n.data?.signedURL||n.data?.downloadUrl||"").trim();return s?{url:s,msg:""}:{url:"",msg:n.msg||"\u5149\u9E2D\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}async function y5e(t){let e=Csr(t);if(!e?.shareId)return{};let r=await Dsr(e.shareId);return Os(await vsr("guangyapan"),r)}async function x5e(t){try{await lC(t);let[e,r]=String(t.body?.id||"").trim().split("*");if(!e||!r)return{parse:0,url:"",msg:"\u5149\u9E2D\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};let n=await p5e(e),s=await dz(r,n);return s.url||(String(wl.get("access_token")||"").trim()||String(wl.get("refresh_token")||"").trim())&&(s=await Bsr(r,n)),s.url?{parse:0,url:["\u539F\u753B",s.url]}:{parse:0,url:"",msg:s.code===207||String(s.msg||"").includes("\u514D\u767B\u5F55\u4E0B\u8F7D")?"\u5149\u9E2D\u4E91\u76D8\u5206\u4EAB\u672A\u5F00\u542F\u514D\u767B\u5F55\u4E0B\u8F7D\uFF0C\u8BF7\u5148\u5728\u201C\u767B\u5F55-\u5149\u9E2D\u201D\u4E2D\u586B\u5165 access_token \u6216 refresh_token":s.msg||"\u83B7\u53D6\u5149\u9E2D\u4E0B\u8F7D\u5730\u5740\u5931\u8D25"}}catch(e){return{parse:0,url:"",msg:String(e?.message||e||"\u83B7\u53D6\u5149\u9E2D\u4E0B\u8F7D\u5730\u5740\u5931\u8D25")}}}var Co=async t=>globalThis.getPanName?await globalThis.getPanName(t):t,mu=t=>{let e=globalThis.Pans?.find(r=>r.key===t)?.name;return String(e||t)};var Gr=d0,Msr=t=>t==null||t==="root"?"":String(t),fz=t=>{if(!t)return[];if(Array.isArray(t))return t;let e=[];return Object.keys(t).forEach(r=>{let n=t[r];if(!Array.isArray(n))return;let s=Msr(r);n.forEach(i=>{e.push({...i,vod_group:i?.vod_group??s})})}),e};async function qr(t,e){return{}}async function Rr(t,e){t=Array.isArray(t)?t:[t];let r=t.map(u=>{let l=nf().find(f=>f.validator(u)),d=l?.key;return{key:d,name:l?.name||mu(d),url:u,order:globalThis.Pans.findIndex(f=>f.key===d)}}).filter(u=>u.key);r.sort((u,l)=>u.order-l.order);let n=[],s=[],i=[];(await Promise.allSettled(r.map(async({key:u,url:l})=>{if(u==="ali")return await sLe(l);if(u==="quark")return await yLe(l);if(u==="uc")return await F4e(l);if(u==="tianyi"){let d=await rf.getShareData(l);if(!d)return null;let f=await Co("tianyi");return Os(f,fz(d))}if(u==="yidong"){let d=await $V.getShareData(l),f=await Co("yidong");return Os(f,fz(d))}if(u==="123"){let d=await O0.getShareData(l),f=await O0.getFilesByShareUrl(d),p=await Co("123");return Os(p,fz(f))}return u==="115"?await Q6e(l,e):u==="baidu"?await X6e(l,e):u==="xunlei"?await r5e(l,e):u==="guangyapan"?await y5e(l):null}))).forEach((u,l)=>{if(u.status==="fulfilled"){let p=u.value;p&&p.from&&p.url&&(n.push(p.from),s.push(p.url),i.push({name:r[l].name,url:r[l].url}));return}let d=String(r[l]?.key||"unknown"),f=String(u.reason?.message||u.reason||"unknown error");console.warn(`[Pan Detail] ${d} detail failed: ${f}`)});let o={};n.forEach((u,l)=>{o[u]?n[l]=`${u}-${++o[u]}`:o[u]=1});let c={};return i.forEach((u,l)=>{c[u.name]?i[l].name+=++c[u.name]:c[u.name]=1}),{froms:n.join("$$$"),urls:s.join("$$$"),links:i}}async function Nr(t,e){let r=t.params.site;if(r=="ali")return await yk(t,e);if(r=="quark")return await Sk(t,e);if(r=="uc")return await U4e(t,e);if(r=="baidu")return await dL(t,e)}async function Or(t,e){let r=t.body.flag;if(r.startsWith(await Co("ali")))return await xk(t,e);if(r.startsWith(await Co("quark")))return await vk(t,e);if(r.startsWith(await Co("uc")))return await q4e(t,e);if(r.startsWith(await Co("tianyi"))){let n=t.body.id.split("*");await rb(t);let s=n[2]||"video",i=n[3]||"",a=n[4]||"";if(s==="cas")try{let c=await rf.getShareTextPlayable(n[0],n[1],i,a);if(!c?.url){let u=rf.getShareTextResolveReason?rf.getShareTextResolveReason():"";throw new Error(u||"\u5929\u7FFCCAS\u89E3\u6790\u5931\u8D25")}return{parse:0,url:["\u539F\u753B",c.url],...c.header?{header:c.header}:{}}}catch(c){throw c}return{parse:0,url:["\u539F\u753B",await rf.getShareUrl(n[0],n[1])]}}else if(r.startsWith(await Co("yidong"))){let n=t.body.id.split("*");return{parse:0,url:["\u539F\u753B",await $V.getSharePlay(n[0],n[1],n[2]||"",n[3]||"")]}}else if(r.startsWith(await Co("123"))){await sb(t);let n=t.body.id.split("*");return{parse:0,url:["\u539F\u753B",await O0.getDownload(...n)],header:O0.getDownloadHeader()}}else{if(r.startsWith(await Co("115")))return await G6e(t,e);if(r.startsWith(await Co("baidu")))return await lL(t,e);if(r.startsWith(await Co("xunlei")))return await n5e(t,e);if(r.startsWith(await Co("guangyapan")))return await x5e(t,e)}}async function _5e(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);n.init=s.json(),fC(s.json()),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),fC(s.json());let i=!1;if(n.home.class&&n.home.class.length>0){let a=n.home.class[0].type_id,o={};if(n.home.filters){let c=n.home.filters[a];if(c)for(let u of c){let l=u.init;if(l){for(let d of u.value)if(d.v==l){o[u.key]=l;break}}}}if(s=await t.server.inject().post(`${r}/category`).payload({id:a,page:1,filter:!0,filters:o}),n.category=s.json(),fC(s.json()),n.category.list.length>0){i=!0;let c=n.category.list[0].vod_id;await E5e(t,c,n)}}if(s=await t.server.inject().post(`${r}/search`).payload({wd:"\u4ED9\u9006",page:1}),n.search=s.json(),!i&&n.search.list.length>0){let a=n.search.list[0].vod_id;await E5e(t,a,n)}return fC(s.json()),n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}async function E5e(t,e,r){let n=t.server.prefix,s=await t.server.inject().post(`${n}/detail`).payload({id:e});if(r.detail=s.json(),fC(s.json()),r.detail.list&&r.detail.list.length>0){r.play=[];for(let i of r.detail.list){let a=i.vod_play_from.split("$$$"),o=i.vod_play_url.split("$$$");for(let c=0;c<a.length;c++){let u=a[c],l=o[c].split("#");for(let d=0;d<l.length&&d<2;d++)s=await t.server.inject().post(`${n}/play`).payload({flag:u,id:l[d].split("$")[1]}),r.play.push(s.json())}}}}function fC(t){t.statusCode&&t.statusCode==500&&console.error(t)}var Wsr={yidong:"https://yun.139.com/w/static/img/LOGO.png",tianyi:"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/a8/fa/f0/a8faf032-0fa4-d9c5-ac70-920d9c84dff1/AppIcon-0-0-1x_U007emarketing-0-7-0-0-sRGB-85-220.png/350x350.png",115:"https://img.pcsoft.com.cn/soft/202104/093230-608b5e2ed5912.jpg",quark:"https://ts1.cn.mm.bing.net/th/id/R-C.a0d60e6a72806738e6f0b711a979bdf5?rik=lp5C9t5sYlkrLw&riu=http%3a%2f%2fpic.2265.com%2fupload%2f2020-10%2f202010151719492792.png&ehk=Pv6rq3JxJvKe2y1QsdzssyZ4Ez4cwiKWmIvK0aMgxi0%3d&risl=&pid=ImgRaw&r=0",uc:"https://ts1.cn.mm.bing.net/th/id/R-C.421c96e47df7c9719403654ee4f7c281?rik=yiiEoGCTgDDc3w&riu=http%3a%2f%2fpic.9663.com%2fupload%2f2023-5%2f20235111411256277.png&ehk=R81N%2flXMrl%2bxpRlST8DtHXDfab6rzaMb83gihuD71Fk%3d&risl=&pid=ImgRaw&r=0",ali:"https://inews.gtimg.com/newsapp_bt/0/13263837859/1000",123:"https://statics.123957.com/static/favicon.ico",baidu:"https://nd-static.bdstatic.com/m-static/v20-main/home/img/icon-home-new.b4083345.png",xunlei:"https://img.geekie.site/i/2026/03/22/190713.png",guangyapan:"https://www.guangyapan.com/icon.png"},Rl=t=>{let e=globalThis.Pans?.find(n=>n.key===t)?.pic,r=String(e||"").trim();return r||Wsr[t]||""},nf=()=>[{key:"quark",name:mu("quark"),validator:pk,pic:Rl("quark")},{key:"uc",name:mu("uc"),validator:mk,pic:Rl("uc")},{key:"ali",name:mu("ali"),validator:fk,pic:Rl("ali")},{key:"baidu",name:mu("baidu"),validator:Fke,pic:Rl("baidu")},{key:"xunlei",name:mu("xunlei"),validator:Uke,pic:Rl("xunlei")},{key:"tianyi",name:mu("tianyi"),validator:Bke,pic:Rl("tianyi")},{key:"yidong",name:mu("yidong"),validator:Mke,pic:Rl("yidong")},{key:"123",name:mu("123"),validator:Wke,pic:Rl("123")},{key:"115",name:mu("115"),validator:$ke,pic:Rl("115")},{key:"guangyapan",name:mu("guangyapan"),validator:qke,pic:Rl("guangyapan")}];var $sr=["https://tv.yydsys.cc","https://tv.yydsys.top","https://tv.214521.xyz","https://yydsys.de5.net"],pz=async t=>(await t.db.getObjectDefault("/duoduo",{}))?.urls||t.config.duoduo?.urls||$sr,Fsr=async(t,e)=>{await t.db.push("/duoduo/urls",e)},Usr=async t=>{await t.db.delete("/duoduo/urls")};async function mz(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await pz(e.server)})}),t.put("/urls",async(e,r)=>{await Fsr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Usr(e.server),r.send({code:0})})}var hz,hL=t=>{if(!hz){let e=Date.now();hz=new Promise(async r=>{let n=await pz(t),s=await Xn(n,{"User-Agent":Gr});console.log("\u591A\u591A\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return hz};function qsr(t){if(typeof t!="string"||t.length===0)return t;let r=t.indexOf('"<!DOCTYPE html');if(r<0)return t;let n=-1,s=!1;for(let a=r+1;a<t.length;a++){let o=t[a];if(s){s=!1;continue}if(o==="\\"){s=!0;continue}if(o==='"'){n=a;break}}if(n<0)return t;let i=t.slice(r,n+1);try{let a=JSON.parse(i);return typeof a=="string"&&a.length>0?a:t}catch{return t}}async function gz(t){let e=await he.get(t,{headers:{"User-Agent":Gr}});return qsr(e.data)}function Az(t){return String(t||"").replace(/\/$/,"")}function jsr(t,e){let r=e;return t("#page a").each((n,s)=>{let i=t(s).attr("href"),a=i&&i.match(/\/page\/(\d+)\.html/i);if(!a)return;let o=parseInt(a[1],10);Number.isNaN(o)||(r=Math.max(r,o))}),r}async function Hsr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"5",type_name:"\u77ED\u5267"},{type_id:"3",type_name:"\u7EFC\u827A"},{type_id:"20",type_name:"\u7EAA\u5F55"}],filters:{}}}async function Qsr(t,e){let r=await hL(t.server),n=t.body.id,s=t.body.page,i=parseInt(s,10);(!i||i<1)&&(i=1);let o=`${Az(r)}/index.php/vod/show/id/${n}/page/${i}.html`,c=await gz(o),u=Me(c),l=u("#main .module-item").map((f,p)=>{let m=u(p).find(".module-item-pic a").attr("href"),h=u(p).find(".module-item-pic img").attr("alt"),A=u(p).find(".module-item-pic img").attr("data-src")||u(p).find(".module-item-pic img").attr("src"),g=u(p).find(".module-item-text").text().trim();return{vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g}}).get().filter(f=>f.vod_id&&f.vod_name),d=jsr(u,i);return{page:i,pagecount:d,limit:72,total:72*d,list:l}}async function Gsr(t,e){let r=await hL(t.server),n=Az(r),s=Array.isArray(t.body.id)?t.body.id:[t.body.id],i=[];for(let a of s)try{let o=await gz(`${n}${a}`),c=Me(o),u={vod_id:a,vod_name:c(".page-title").first().text().trim(),vod_pic:c(".mobile-play .lazyload").first().attr("data-src")||c(".mobile-play img").first().attr("data-src")||c(".mobile-play img").first().attr("src"),vod_remarks:c('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""};c(".video-info-itemtitle").each((f,p)=>{let m=c(p).text(),h=c(p).next().find("a").map((A,g)=>c(g).text().trim()).get().filter(Boolean).join(", ");m.includes("\u5267\u60C5")?u.vod_content=c(p).next().find("p").text().trim():m.includes("\u5BFC\u6F14")?u.vod_director=h.trim():m.includes("\u4E3B\u6F14")&&(u.vod_actor=h.trim())});let l=c(".module-row-info p").map((f,p)=>c(p).text().trim()).get().filter(Boolean),d=await Rr(l,t);d&&(u.vod_play_from=d.froms,u.vod_play_url=d.urls,u.vod_links=d.links),i.push(u)}catch(o){console.error("duoduo detail fetch failed",a,o)}return{list:i}}async function Vsr(t,e){let r=await hL(t.server),n=Az(r),s=t.body.page,i=t.body.wd,a=parseInt(s,10);(!a||a<1)&&(a=1);let o=encodeURIComponent(i||""),c=[`${n}/index.php/vod/search/page/${a}/wd/${o}.html`,`${n}/index.php/vod/search/wd/${o}.html`,`${n}/index.php/vod/search.html?wd=${o}&page=${a}`];for(let u of c)try{let l=await gz(u),d=Me(l),f=d(".module-search-item").map((p,m)=>{let h=d(m).find(".video-serial"),A=d(m).find(".module-item-pic > img");return{vod_id:h.attr("href"),vod_name:h.attr("title"),vod_pic:A.attr("data-src")||A.attr("src"),vod_remarks:h.text()}}).get().filter(p=>p.vod_id&&p.vod_name);if(f.length>0)return{page:a,pagecount:f.length<10?a:a+1,list:f}}catch{}return{page:a,pagecount:a,list:[]}}var S5e={meta:{key:"duoduo",name:"\u300C\u76D8\u300D\u591A\u591A",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Hsr),t.post("/category",Qsr),t.post("/detail",Gsr),t.post("/play",Or),t.post("/search",Vsr),t.get("/test",_5e),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:hL};var bw=Re(Jn(),1),Mit=Re(v0(),1);var Rit=Re(require("http"),1);var yw=Re(require("fs"),1),sae=Re(require("path"),1);var v5e=Re(require("os"),1),zsr=t=>{if(!t)return!1;let e=typeof t.family=="string"?t.family:String(t.family||"");return e==="IPv4"||e==="4"},Ksr=t=>{let e=String(t||"").trim();return/^\d{1,3}(\.\d{1,3}){3}$/.test(e)?e.split(".").every(r=>{let n=Number(r);return Number.isInteger(n)&&n>=0&&n<=255}):!1},Ysr=t=>/^192\.168\./.test(t)||/^10\./.test(t)||/^172\.(1[6-9]|2\d|3[0-1])\./.test(t),yz=t=>/^100\.(6[4-9]|[7-9]\d|1[01]\d|12[0-7])\./.test(t),Jsr=t=>{let e=String(t||"").trim();return/^0\./.test(e)||/^127\./.test(e)||/^169\.254\./.test(e)||/^192\.0\.0\./.test(e)||/^192\.0\.2\./.test(e)||/^198\.18\./.test(e)||/^198\.19\./.test(e)||/^198\.51\.100\./.test(e)||/^203\.0\.113\./.test(e)||/^22[4-9]\./.test(e)||/^23\d\./.test(e)||/^24\d\./.test(e)||/^25[0-5]\./.test(e)},xz=(t="")=>/(rmnet|ccmni|pdp|wwan|cell|mobile|clat|v4-rmnet)/i.test(String(t||"")),Xsr=(t="")=>/(wlan|wi-?fi|eth|en\d|lan|bridge)/i.test(String(t||"")),bz=(t="")=>/(virtual|veth|vethernet|vmware|vbox|hyper-v|docker|podman|br-|wsl|utun|tun|tap|tailscale|zerotier|wireguard|wg|clash|mihomo|loopback|pseudo)/i.test(String(t||"")),Zsr=t=>{let e=0;return/^192\.168\./.test(t.ip)?e+=300:/^172\.(1[6-9]|2\d|3[0-1])\./.test(t.ip)?e+=260:/^10\./.test(t.ip)?e+=220:yz(t.ip)||(e+=180),Xsr(t.name)&&(e+=80),xz(t.name)&&(e-=320),bz(t.name)&&(e-=260),yz(t.ip)&&(e-=220),e},D0=function(){let t=String(process.env.CATPAW_HOST_IP||process.env.HOST_IP||"").trim();if(Ksr(t))return t;let e=v5e.default.networkInterfaces()||{},r=[];Object.entries(e).forEach(([a,o])=>{Array.isArray(o)&&o.forEach(c=>{if(!zsr(c)||c.internal)return;let u=String(c.address||"").trim();!u||u.startsWith("169.254.")||Jsr(u)||r.push({ip:u,name:String(a||"")})})});let n=r.map(a=>({...a,score:Zsr(a)})).sort((a,o)=>o.score-a.score),s=n.find(a=>{let o=xz(a.name),c=bz(a.name);return!o&&!c&&!yz(a.ip)});if(s)return s.ip;let i=n.find(a=>Ysr(a.ip)&&!xz(a.name)&&!bz(a.name));return i?i.ip:"127.0.0.1"};Pt();ar();St();kL();$n();Pt();St();ar();no();function Mir(t,e,r=!1){if(e===0&&!r)return t.map(i=>({...i,t:i.t!==void 0?i.t:parseFloat(i.p.split(",")[0])}));let n=t.reduce((i,a)=>{let o=a.t!==void 0?a.t:parseFloat(a.p.split(",")[0]),c=e===0?o.toFixed(2):Math.floor(o/(e*60));return i[c]||(i[c]=[]),i[c].push({...a,t:o}),i},{});return Object.keys(n).map(i=>{let o=n[i].reduce((c,u)=>{let l=u.m.split(" X")[0].trim();if(c[l]||(c[l]={count:0,earliestT:u.t,cid:u.cid,p:u.p,like:0,sources:new Set}),c[l].count+=1,c[l].earliestT=Math.min(c[l].earliestT,u.t),c[l].like+=u.like!==void 0?u.like:0,u.p){let d=u.p.match(/\[([^\]]*)\]$/);d&&d[1]&&d[1].split(/[&&]/).forEach(f=>{f.trim()&&c[l].sources.add(f.trim())})}return c},{});return Object.keys(o).map(c=>{let u=o[c],l=Math.max(1,u.sources.size),d=Math.round(u.count/l);d<1&&(d=1);let f=Array.from(u.sources).join("\uFF06"),p=u.p.replace(/\[([^\]]*)\]$/,`[${f}]`);return{cid:u.cid,p,m:d>1?`${c}\u200Ax\u200A${d}`:c,t:u.earliestT,like:u.like}})}).flat().sort((i,a)=>i.t-a.t)}function Wir(t){if(!O.likeSwitch)return t;let e=new Set(["[hanjutv]","[sohu]","[bilibili1]","[migu]"]);return t.map(r=>{if(!r.like||r.like<5)return r;let n=r.p.match(/,(\[[^\]]+\])$/)?.[1]||"",a=n.includes("\u97E9\u5C0F\u5708")||n.includes("\u6781\u901F\u7248")||e.has(n)?100:1e3,o=r.like>=a?"\u{1F525}":"\uFE0F\u2661",c;r.like>=1e4?c=(r.like/1e4).toFixed(1)+"w":r.like>=1e3?c=(r.like/1e3).toFixed(1)+"k":c=r.like.toString();let u=`\u200A${o}${c}`,l=r.m+u,{like:d,...f}=r;return{...f,m:l}})}function $ir(t,e){if(e===0)return t;let r=e*1e3,n=t.length;if(n<=r)return t;let s=n/r,i=[];for(let a=0;a<r;a++){let o=Math.floor(a*s);i.push(t[o])}return i}function MC(t,e){let r=[],n=1,s=!1,i=[];if(typeof t=="string")i=[...t.matchAll(/<d p="([^"]+)">([^<]+)<\/d>/g)].map(f=>({p:f[1],m:f[2]}));else if(t&&Array.isArray(t.danmuku)){let f={right:1,top:4,bottom:5},p=m=>m?parseInt(m.replace("#",""),16):16777215;i=t.danmuku.map(m=>({timepoint:m[0],ct:f[m[1]]!==void 0?f[m[1]]:1,color:p(m[2]),content:m[4]}))}else Array.isArray(t)&&(i=t);if(!i.length)return[];for(let f of i){let p,m,h,A,g;if("progress"in f&&"mode"in f&&"content"in f)h=(f.progress/1e3).toFixed(2),A=f.mode||1,g=f.color||16777215,m=f.content;else if("timepoint"in f)h=parseFloat(f.timepoint).toFixed(2),A=f.ct||0,g=f.color||16777215,m=f.content;else{if(!("p"in f))continue;let y=f.p.split(",");h=parseFloat(y[0]).toFixed(2),A=y[1]||0,y.length===4?g=y[2]||16777215:y.length>=8?g=y[3]||16777215:g=y[3]||y[2]||16777215,m=f.m}let b=f._sourceLabel||e;f.realTimeSource&&!b.includes(f.realTimeSource)&&(b=`${b}\uFF06${f.realTimeSource}`),!s&&/[&&]/.test(b)&&(s=!0),p=[h,A,g,`[${b}]`].join(","),r.push({p,m,cid:n++,like:f?.like})}let a=O.blockedWords.split(/(?<=\/),(?=\/)/).map(f=>{let p=f.trim();if(p.startsWith("/")&&p.endsWith("/"))try{return new RegExp(p.slice(1,-1))}catch(m){return _("error",`[Utils] [Danmu] \u65E0\u6548\u7684\u6B63\u5219\u8868\u8FBE\u5F0F: ${p}`,m),null}return null}).filter(f=>f!==null);_("info",`[Utils] [Danmu] \u539F\u59CB\u5C4F\u853D\u8BCD\u5B57\u7B26\u4E32: ${O.blockedWords}`),_("info",`[Utils] [Danmu] \u5C4F\u853D\u8BCD\u5217\u8868: ${(f=>Array.isArray(f)?f.map(p=>p.toString()).join(`
`):String(f))(a)}`);let c=r.filter(f=>!a.some(p=>p.test(f.m)));_("info",`[Utils] [Danmu] \u53BB\u91CD\u5206\u949F\u6570: ${O.groupMinute}`);let u=Mir(c,O.groupMinute,s),l=Wir(u),d=$ir(l,O.danmuLimit);if(O.convertTopBottomToScroll||O.convertColor==="white"||O.convertColor==="color"){let f=0,p=0;d=d.map(m=>{let h=m.p.split(",");if(h.length<3)return m;let A=parseInt(h[1],10),g=parseInt(h[2],10),b=!1;O.convertTopBottomToScroll&&(A===4||A===5)&&(f++,A=1,b=!0),O.convertColor==="white"&&g!==16777215&&(p++,g=16777215,b=!0);let y=O.colorPool.split(",").map(v=>parseInt(v.trim(),10)).filter(v=>!isNaN(v)&&v>=0&&v<=16777215),x=y[Math.floor(Math.random()*y.length)];if(O.convertColor==="color"&&g===16777215&&g!==x&&(p++,g=x,b=!0),b){let v=[h[0],A,g,...h.slice(3)].join(",");return{...m,p:v}}return m}),f>0&&_("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${f} \u6761\u9876\u90E8/\u5E95\u90E8\u5F39\u5E55\u4E3A\u6D6E\u52A8\u5F39\u5E55`),p>0&&_("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${p} \u6761\u5F39\u5E55\u989C\u8272`)}return O.danmuSimplifiedTraditional==="traditional"&&(d=d.map(f=>({...f,m:Ro(f.m)})),_("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${d.length} \u6761\u5F39\u5E55\u4E3A\u7E41\u4F53\u5B57`)),_("info",`[Utils] [Danmu] danmus_original: ${r.length}`),_("info",`[Utils] [Danmu] danmus_filter: ${c.length}`),_("info",`[Utils] [Danmu] danmus_group: ${u.length}`),_("info",`[Utils] [Danmu] danmus_limit: ${d.length}`),_("info","[Utils] [Danmu] Top 5 danmus:",JSON.stringify(d.slice(0,5),null,2)),d}function uK(t){return typeof t.r!="number"||t.r<0||t.r>255||typeof t.g!="number"||t.g<0||t.g>255||typeof t.b!="number"||t.b<0||t.b>255?-1:t.r*256*256+t.g*256+t.b}function gb(t){return typeof t!="string"||t.length!==6||!/^[0-9A-Fa-f]{6}$/.test(t)?16777215:parseInt(t,16)}function Fir(t){let e=`<?xml version="1.0" ?>
`;e+=`<i>
`;let r=t.comments||[];if(Array.isArray(r))for(let n of r){let s=qir(n);e+=' <d p="'+jir(s)+'">'+Hir(n.m)+`</d>
`}return e+="</i>",e}function Uir(){let e=(Date.now()%1e8).toString().padStart(8,"0"),r=Math.floor(Math.random()*1e3).toString().padStart(3,"0");return e+r}function qir(t){let e=t.p.split(","),n=(parseFloat(e[0])||0).toFixed(1),s=e[1]||"1",i="25",a=e[2]||"16777215",o="1751533608",c="0",u="0",l=Uir();return`${n},${s},${i},${a},${o},${c},${u},${l}`}function jir(t){return t?String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;"):""}function Hir(t){return t?String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):""}function ag(t,e){let r=e||O.danmuOutputFormat;if(r=r.toLowerCase(),_("info",`[Utils] [Danmu] [Format] Using format: ${r}`),r==="xml")try{let n=Fir(t);return I8e(n)}catch(n){return _("error",`[Utils] [Danmu] Failed to convert to XML: ${n.message}`),Be(t)}return Be(t)}ar();var ff=class{constructor({apiKey:e,baseURL:r="https://api.openai.com/v1",model:n="gpt-4o",systemPrompt:s=""}){this.apiKey=e,this.baseURL=r.replace(/\/$/,""),this.model=n,this.systemPrompt=s}async chat(e,r={}){let n={model:r.model||this.model,messages:e,temperature:r.temperature??0,max_tokens:r.maxTokens??8192,stream:!1},s=await Vr(`${this.baseURL}/chat/completions`,JSON.stringify(n),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},timeout:6e4}),i=s.data;if(i?.error){let a=i.error.message;throw new Error(`AI API error ${s.status}: ${a}`)}return i.choices[0].message.content}async ask(e,r={}){let n=[];return this.systemPrompt&&n.push({role:"system",content:this.systemPrompt}),n.push({role:"user",content:e}),this.chat(n,r)}session(e={}){let r=[],n=this.chat.bind(this),s=this.systemPrompt;return s&&r.push({role:"system",content:s}),{async send(i){r.push({role:"user",content:i});let a=await n(r,e);return r.push({role:"assistant",content:a}),a},clear(){r.length=0,s&&r.push({role:"system",content:s})},getHistory(){return[...r]}}}async verify(){try{return{ok:!0,reply:await this.ask("hi",{maxTokens:1})}}catch(e){return{ok:!1,error:e.message}}}};var ga=Re(require("fs"),1),YL=Re(require("path"),1);_C();Pt();St();hn();no();var Hn=null,zL=0,No=!1,VL=0,Ab="0.00",WC=!1,U0=new Map,z8e="custom",K8e=null,Y8e=null,KL=YL.default.join(process.cwd(),".cache"),eWe="bangumi-data-cache.json",Qir=2e4,og=new Map,J8e={custom:["https://cdn.jsdelivr.net/npm/@wan0ge/[email protected]/dist/data.json","https://unpkg.com/@wan0ge/[email protected]/dist/data.json"],official:["https://cdn.jsdelivr.net/npm/[email protected]/dist/data.json","https://unpkg.com/[email protected]/dist/data.json"]},Gir="@wan0ge/bangumi-data",Vir="bangumi-data",zir=/(?:普通[话話]|[国國][语語]|中文配音|中配|中文|[粤粵][语語]配音|[粤粵]配|[粤粵][语語]|[台臺]配|[台臺][语語]|港配|港[语語]|字幕|助[听聽]|æ—¥[语語]|日配|原版|原[声聲])(?:版)?/,tWe=/(?:\s+|^)(?:第?\s*(?:\d+|[一二三四五六七八九十]+)\s*[季期部]|season\s*\d+|s\d+|part\s*\d+|act\s*\d+|phase\s*\d+|the\s+final\s+season|(?:movie|film|ova|oad|sp|剧场版|åŠ‡å ´ç‰ˆ|ç»­[篇集]|å¤–ä¼ )(?![a-z]))|[::~~]|\s+.*?篇|(?<=\s|^)\d+$/gi,Kir=/\s+/g,Yir=/[,,]/,Jir=/[::]/;function dK(t){let e=new Map,r=t.length;for(let n=0;n<r;n++){let s=t[n]._flatText;if(!s)continue;let i=new Set(s);for(let a of i){if(a.trim()==="")continue;let o=e.get(a);o||(o=[],e.set(a,o)),o.push(n)}}U0=e}function X8e(t){if(!t||typeof t!="string")return null;let e=t.match(/^(\d+)\.(\d+)\.(\d+)$/);return e?{major:parseInt(e[1],10),minor:parseInt(e[2],10),patch:parseInt(e[3],10)}:null}function Xir(t,e){let r=X8e(t),n=X8e(e);return!r||!n?0:r.major!==n.major?r.major-n.major:r.minor!==n.minor?r.minor-n.minor:r.patch!==n.patch?r.patch-n.patch:0}async function Z8e(t){try{let e=`https://registry.npmjs.org/${encodeURIComponent(t)}/latest`;_("info",`[\u8BF7\u6C42\u6A21\u62DF] HTTP GET: ${e}`);let r=await ub(e,{headers:{Accept:"application/json"},signal:AbortSignal.timeout(8e3)});return r.ok&&(await r.json())?.version||null}catch(e){return _("warn",`[Utils] [Bangumi-Data] \u67E5\u8BE2 ${t} \u7248\u672C\u53F7\u5931\u8D25: ${e.message}`),null}}async function Zir(){try{let[t,e]=await Promise.all([K8e||Z8e(Gir),Y8e||Z8e(Vir)]);if(t&&(K8e=t),e&&(Y8e=e),!t||!e)return _("info",`[Utils] [Bangumi-Data] \u7248\u672C\u68C0\u6D4B\u4E0D\u5B8C\u6574 (custom=${t}, official=${e})\uFF0C\u9ED8\u8BA4\u4F7F\u7528\u81EA\u5B9A\u4E49\u6E90`),"custom";let n=Xir(t,e)>=0?"custom":"official";return _("info",`[Utils] [Bangumi-Data] \u7248\u672C\u5BF9\u6BD4: @wan0ge/bangumi-data@${t} vs bangumi-data@${e} => \u4F7F\u7528${n==="custom"?"\u81EA\u5B9A\u4E49":"\u5B98\u65B9"}\u6E90`),n}catch(t){return _("warn",`[Utils] [Bangumi-Data] \u6570\u636E\u6E90\u9009\u62E9\u5F02\u5E38\uFF0C\u56DE\u9000\u5230\u81EA\u5B9A\u4E49\u6E90: ${t.message}`),"custom"}}async function JL(t,e=!1,r=null){if(!O.useBangumiData)return;let n=null,s=O.bangumiDataCacheDays!==void 0?O.bangumiDataCacheDays:7,i=s*24*60*60*1e3;if(t==="node"?ga.default.existsSync(KL)?n=YL.default.join(KL,eWe):WC||(_("warn","[Utils] [Bangumi-Data] \u672A\u68C0\u6D4B\u5230\u6839\u76EE\u5F55\u7684 .cache \u6587\u4EF6\u5939\uFF01"),_("warn","[Utils] [Bangumi-Data] \u6309\u7167\u9879\u76EE\u89C4\u8303\uFF0C\u8BF7\u624B\u52A8\u6302\u8F7D\u6216\u521B\u5EFA .cache \u76EE\u5F55\u4EE5\u542F\u7528\u6301\u4E45\u5316\u3002"),_("warn","[Utils] [Bangumi-Data] \u672C\u6B21\u8FD0\u884C\u5DF2\u9000\u5316\u4E3A\u7EAF\u5185\u5B58\u6A21\u5F0F (\u91CD\u542F\u540E\u9700\u91CD\u65B0\u4E0B\u8F7D)\u3002"),WC=!0):WC||(_("info",`[Utils] [Bangumi-Data] \u68C0\u6D4B\u5230 ${t} \u4E91\u73AF\u5883\uFF0C\u5F53\u524D\u8FD0\u884C\u4E8E\u7EAF\u5185\u5B58\u52A0\u901F\u6A21\u5F0F\u3002`),WC=!0),No&&Date.now()-VL>Qir&&(_("warn","[Utils] [Bangumi-Data] \u68C0\u6D4B\u5230\u4E0B\u8F7D\u72B6\u6001\u9501\u6B7B (\u7531\u4E8E Serverless \u8FDB\u7A0B\u4F11\u7720/\u5F3A\u6740\u5BFC\u81F4)\uFF0C\u5F3A\u5236\u91CA\u653E\u9501..."),No=!1),Hn){if(s>0&&Date.now()-zL<i)return;e&&!No&&(_("info",`[Utils] [Bangumi-Data] \u5185\u5B58\u6570\u636E${s===0?"\u5F3A\u5236\u66F4\u65B0":"\u5DF2\u8FC7\u671F"}\uFF0C\u4FDD\u7559\u8001\u6570\u636E\u670D\u52A1\u672C\u6B21\u8BF7\u6C42\uFF0C\u542F\u52A8\u540E\u53F0\u9759\u9ED8\u66F4\u65B0...`),No=!0,VL=Date.now(),lK(n).finally(()=>{No=!1}));return}if(n&&ga.default.existsSync(n))try{let a=ga.default.statSync(n),o=process.memoryUsage().heapUsed,c=Date.now();Hn=JSON.parse(ga.default.readFileSync(n,"utf-8")),Hn?.items?.length>0&&Hn.items[0]._flatText===void 0?(Hn=rWe(Hn),ga.default.writeFileSync(n,JSON.stringify(Hn),"utf-8"),dK(Hn.items)):Hn?.items?.length>0&&dK(Hn.items);let u=process.memoryUsage().heapUsed,l=Date.now()-c;Ab=Math.max(0,(u-o)/1024/1024).toFixed(2);let d=(process.memoryUsage().rss/1024/1024).toFixed(2);zL=Date.now(),_("info",`[Utils] [Bangumi-Data] \u6210\u529F\u4ECE\u672C\u5730\u78C1\u76D8\u52A0\u8F7D\u57FA\u7840\u6570\u636E\uFF0C\u6761\u76EE\u6570: ${Hn.items.length}\uFF0C\u89E3\u6790\u8017\u65F6: ${l} ms\uFF0C\u7EA6\u5360\u5185\u5B58: ${Ab} MB`),(s===0||Date.now()-a.mtimeMs>=i)&&e&&!No&&(_("info",`[Utils] [Bangumi-Data] \u78C1\u76D8\u6570\u636E${s===0?"\u5F3A\u5236\u66F4\u65B0":"\u5DF2\u8FC7\u671F"}\uFF0C\u4FDD\u7559\u8001\u6570\u636E\u670D\u52A1\u672C\u6B21\u8BF7\u6C42\uFF0C\u542F\u52A8\u540E\u53F0\u9759\u9ED8\u66F4\u65B0...`),No=!0,VL=Date.now(),lK(n).finally(()=>{No=!1}));return}catch(a){_("error","[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u89E3\u6790\u5931\u8D25\uFF0C\u51C6\u5907\u91CD\u65B0\u4E0B\u8F7D",a.message),Hn=null}if(No){if(e){_("info","[Utils] [Bangumi-Data] \u6B63\u5728\u7B49\u5F85\u57FA\u7840\u6570\u636E\u4E0B\u8F7D\u5B8C\u6210...");let a=0;for(;No;){if(a>150){_("warn","[Utils] [Bangumi-Data] \u7B49\u5F85\u6392\u961F\u8D85\u65F6\uFF0C\u653E\u5F03\u7B49\u5F85"),No=!1;break}await new Promise(o=>setTimeout(o,100)),a++}}}else{_("info","[Utils] [Bangumi-Data] \u672A\u547D\u4E2D\u4EFB\u4F55\u6709\u6548\u7F13\u5B58\uFF0C\u6B63\u5728\u83B7\u53D6\u57FA\u7840\u6570\u636E..."),No=!0,VL=Date.now();let a=lK(n).finally(()=>{No=!1});e?await a:(_("info","[Utils] [Bangumi-Data] \u5F53\u524D\u975E\u6838\u5FC3\u8BF7\u6C42\uFF0C\u6570\u636E\u83B7\u53D6\u8F6C\u5165\u540E\u53F0\u5F02\u6B65\u6267\u884C"),r&&typeof r.waitUntil=="function"&&(_("info","[Utils] [Bangumi-Data] \u8C03\u7528 ctx.waitUntil \u5EF6\u957F Serverless \u751F\u547D\u5468\u671F"),r.waitUntil(a)))}}var ear=new Set(["anidb","bangumi","gamer","gamer_hk","bilibili","bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw","tmdb"]);function rWe(t){if(!t||!t.items)return{items:[]};let e=[];for(let r of t.items){let n=[];if(r.sites){for(let o of r.sites)if(ear.has(o.site)){let c={site:o.site,id:o.id};o.season_id&&(c.season_id=String(o.season_id)),o.video_sn&&(c.video_sn=String(o.video_sn)),o.comment&&(c.comment=o.comment),o.related&&(c.related=o.related),n.push(c)}}if(n.length===0)continue;let s={title:r.title,type:r.type,sites:n};r.begin&&(s.begin=r.begin),r.titleTranslate&&(s.titleTranslate=r.titleTranslate);let i=r.title;if(r.titleTranslate)for(let o in r.titleTranslate){let c=r.titleTranslate[o];for(let u=0;u<c.length;u++)i+=c[u]}let a=Gt(i);s._flatText=Fr(a).toLowerCase().replace(tWe,""),e.push(s)}return{items:e}}async function lK(t){_("info","[Utils] [Bangumi-Data] \u5F00\u59CB\u4F18\u9009\u8282\u70B9\u4E0B\u8F7D\u6700\u65B0\u6570\u636E\u5E76\u6267\u884C\u7CBE\u7B80...");try{let e=process.memoryUsage().heapUsed,r=Date.now(),n=0;z8e=await Zir();let s=J8e[z8e]||J8e.custom,i={headers:{"Accept-Encoding":"br, gzip, deflate"}},a=s.map(()=>new AbortController);s.forEach(p=>{_("info",`[\u8BF7\u6C42\u6A21\u62DF] HTTP GET: ${p}`)});let o=s.map(async(p,m)=>{let h=a[m],A=await ub(p,{...i,signal:h.signal});if(!A.ok)throw new Error(`HTTP error ${A.status} from ${p}`);let g=await A.json(),b=g.items?g.items.length:0;if(h.signal.aborted)throw new Error("Aborted before parsing");let y=Date.now(),x=rWe(g),v=Date.now()-y,C=null;return t&&!h.signal.aborted&&(C=`${t}.tmp${m}`,ga.default.writeFileSync(C,JSON.stringify(x),"utf-8")),{index:m,url:p,tempFilePath:C,resultData:x,pruneCost:v,originalCount:b}}),c=await Promise.any(o);a.forEach((p,m)=>{m!==c.index&&p.abort()}),t&&(s.forEach((p,m)=>{if(m!==c.index){let h=`${t}.tmp${m}`;if(ga.default.existsSync(h))try{ga.default.unlinkSync(h)}catch{}}}),ga.default.renameSync(c.tempFilePath,t));let u=((Date.now()-r)/1e3).toFixed(2);_("info",`[Utils] [Bangumi-Data] \u7CBE\u7B80\u6570\u636E\u5DF2\u6210\u529F\u5199\u5165\u78C1\u76D8 (\u8282\u70B9: ${new URL(c.url).hostname} ,\u9636\u6BB5\u8017\u65F6: ${u} \u79D2)`),Hn=c.resultData,n=c.pruneCost,dK(Hn.items),og.clear();let l=process.memoryUsage().heapUsed,d=((Date.now()-r)/1e3).toFixed(2);Ab=Math.max(0,(l-e)/1024/1024).toFixed(2);let f=(process.memoryUsage().rss/1024/1024).toFixed(2);zL=Date.now(),_("info",`[Utils] [Bangumi-Data] \u52A0\u8F7D\u5230\u5185\u5B58\u6210\u529F\uFF0C\u4FDD\u7559/\u539F\u59CB\u6761\u76EE\u6570: ${Hn.items.length} / ${c.originalCount}\uFF0C\u5904\u7406\u8017\u65F6: ${n} ms\uFF0C\u5168\u94FE\u8DEF\u603B\u8017\u65F6: ${d} \u79D2\uFF0C\u51C0\u589E\u5185\u5B58: ${Ab} MB (\u5F53\u524D\u9879\u76EE\u603B\u5360\u7528: ${f} MB)`)}catch(e){let r=e instanceof AggregateError?e.errors.map(n=>n.message).join(" | "):e.message;_("error","[Utils] [Bangumi-Data] \u4E0B\u8F7D\u5931\u8D25 (\u6240\u6709 CDN \u5747\u672A\u54CD\u5E94\u6216\u62A5\u9519):",r)}}async function Au(t,e){if(!Hn||!Hn.items)return[];let r=og.get(t);if(!r){if(r=(async()=>{let c=[],u=[t];try{u=[...new Set([t,Gt(t),Ro(t)])]}catch{}let d=[Gt(t)].map(h=>{let A=h.replace(tWe,"");return A=Fr(A).toLowerCase(),A.length>=2?A:Fr(h).toLowerCase()}).filter(h=>h.length>0),f=null;if(typeof U0<"u"&&U0.size>0&&d.length>0){let h=new Set;for(let A of d){let g=Array.from(new Set(A.replace(Kir,"")));if(g.length===0)continue;g.sort((x,v)=>{let C=U0.get(x)?.length||0,R=U0.get(v)?.length||0;return C-R});let b=U0.get(g[0]);if(!b||b.length===0)continue;let y=new Set(b);for(let x=1;x<g.length;x++){let v=U0.get(g[x]);if(!v){y.clear();break}let C=new Set(v);for(let R of y)C.has(R)||y.delete(R);if(y.size===0)break}for(let x of y)h.add(x)}f=Array.from(h)}else f=Hn.items.map((h,A)=>A);let p=Hn.items,m=u.length;for(let h=0;h<f.length;h++){let A=p[f[h]],g=!1;for(let b=0;b<m;b++){let y=u[b];if(yt(A.title,y)){g=!0;break}if(A.titleTranslate)for(let x in A.titleTranslate){let v=A.titleTranslate[x];for(let C=0;C<v.length;C++)if(v[C]&&yt(v[C],y)){g=!0;break}if(g)break}if(g)break}if(g){let b=[A.title];if(A.titleTranslate)for(let y in A.titleTranslate){let x=A.titleTranslate[y];for(let v=0;v<x.length;v++)b.push(x[v])}c.push({item:A,titles:b})}}return c})(),og.size>100){let c=og.keys().next().value;og.delete(c)}og.set(t,r)}let n=await r,s=n,i=$t(t);if(i!==null){let c=n.filter(({item:u})=>{let l=Tt(u.title).season;if(l===null&&u.titleTranslate)for(let d in u.titleTranslate){let f=u.titleTranslate[d];for(let p=0;p<f.length;p++){let m=Tt(f[p]).season;if(m!==null){l=m;break}}if(l!==null)break}return i>1?(l||1)===i:i===1?l===null||l===1:!0});c.length>0&&(s=c)}let a=zir,o=[];for(let{item:c,titles:u}of s){if(!c.sites)continue;let l=c.sites.filter(d=>e.includes(d.site));for(let d of l){let f="TV\u52A8\u753B",p="tvseries";c.type==="movie"?(f="\u5267\u573A\u7248",p="movie"):c.type==="tv"?(f="TV\u52A8\u753B",p="tvseries"):c.type==="ova"?(f="OVA",p="ova"):c.type==="web"&&(f="WEB\u52A8\u753B",p="web");let m="";["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(d.site)&&(m="\uFF08\u6E2F\u6FB3\u53F0\uFF09");let h=[],A=[];if(d.comment){let b=d.comment.split(Yir),y=new Map;if(d.related&&Array.isArray(d.related))for(let x of d.related)x.id&&y.set(String(x.id),x.season_id||null);for(let x of b){let v=x.split(Jir);if(v.length>=2){let C=v[0].trim(),R=v[1].trim();R&&a.test(C)&&h.push({title:c.title,titles:[...u],begin:c.begin,siteId:R,matchedSiteKey:d.site,type:c.type,typeStr:f,typeId:p,titleSuffix:` ${C}${m}`,season_id:y.get(R)||null})}else if(v.length===1&&v[0].trim()){let C=v[0].trim();a.test(C)&&A.push(C)}}}let g="";A.length>0&&(g+=` ${A.join(" ")}`),g+=m,o.push({title:c.title,titles:[...u],begin:c.begin,siteId:d.id,matchedSiteKey:d.site,type:c.type,typeStr:f,typeId:p,titleSuffix:g,season_id:d.season_id||null,video_sn:d.video_sn||null}),o.push(...h)}}return o}function nWe(t=!1){if(Hn!==null){let e=Hn.items?Hn.items.length:0;Hn=null,zL=0,og.clear(),U0.clear();let r=(process.memoryUsage().rss/1024/1024).toFixed(2);_("info",`[Utils] [Bangumi-Data] \u5185\u5B58\u7F13\u5B58\u5DF2\u4E3B\u52A8\u91CA\u653E (\u539F\u6761\u76EE\u6570: ${e}\uFF0C\u91CA\u653E: ${Ab} MB\uFF0C\u5F53\u524D\u9879\u76EE\u603B\u5360\u7528: ${r} MB)`),Ab="0.00",WC=!1}if(t&&ga.default.existsSync(KL))try{let e=YL.default.join(KL,eWe);ga.default.existsSync(e)&&ga.default.unlinkSync(e);for(let r=0;r<5;r++){let n=`${e}.tmp${r}`;ga.default.existsSync(n)&&ga.default.unlinkSync(n)}_("info","[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u5DF2\u540C\u6B65\u6E05\u7406")}catch(e){_("error",`[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u6E05\u7406\u5931\u8D25: ${e.message}`)}}Pt();ar();St();no();kL();UT();$n();Sz();hn();Pt();St();ar();no();var XB=new Map;async function qT(t,e={}){let n=`https://api.tmdb.org/3/${t}`,s=O.makeProxyUrl(n);try{let i=await ge(s,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},signal:e.signal});return i.status!=200?null:i}catch(i){if(i.name==="AbortError")throw i;return _("error","[Utils] [TMDB] Api error:",{message:i.message,name:i.name,stack:i.stack}),null}}async function ZB(t,e="multi",r={}){let{page:n=1,maxPages:s=3,signal:i=null}=r;if(r.page!==void 0){let o=`search/${e}?api_key=${O.tmdbApiKey}&query=${encodeURIComponent(t)}&language=zh-CN&page=${n}`;return await qT(o,{signal:i})}let a=[];for(let o=1;o<=s;o++){if(i&&i.aborted)throw new DOMException("Aborted","AbortError");let c=`search/${e}?api_key=${O.tmdbApiKey}&query=${encodeURIComponent(t)}&language=zh-CN&page=${o}`,u=await qT(c,{signal:i});if(!u||!u.data)break;let l=typeof u.data=="string"?JSON.parse(u.data):u.data;if(!l.results||l.results.length===0||(a.push(...l.results),l.results.length<20))break}return _("info",`[Utils] [TMDB] \u5171\u83B7\u53D6\u5230 ${a.length} \u6761\u641C\u7D22\u7ED3\u679C\uFF08\u6700\u591A${s}\u9875\uFF09`),{data:{results:a},status:200}}async function w0r(t,e,r={}){let n=`${t}/${e}?api_key=${O.tmdbApiKey}&language=ja-JP`;return await qT(n,r)}async function ynt(t,e,r={}){let n=`${t}/${e}/external_ids?api_key=${O.tmdbApiKey}`;return await qT(n,r)}async function R0r(t,e,r={}){let n=`${t}/${e}/alternative_titles?api_key=${O.tmdbApiKey}`;return await qT(n,r)}function N0r(t,e,r=""){let n=t?.data?.results||t?.data?.titles||[];if(!n.length)return null;let s=(r||"").toLowerCase().trim(),i=o=>o.title||o.name||"",a=[o=>s&&i(o).toLowerCase().trim()===s,...["CN","TW","HK","SG"].map(o=>c=>(c.iso_3166_1||c.iso_639_1)===o&&!uf(i(c))),o=>!uf(i(o))];for(let o of a){let c=n.find(o);if(c){let u=i(c);return _("info",`[Utils] [TMDB] \u6309\u4F18\u5148\u7EA7\u7B56\u7565\u6210\u529F\u63D0\u53D6\u6700\u4F73\u4E2D\u6587\u522B\u540D: ${u}`),u}}return null}async function O0r(t,e,r=""){let n=t.name||t.title||"";if(r&&n.toLowerCase().trim()===r.toLowerCase().trim()||!(uf(n)||r&&n.toLowerCase().trim()!==r.toLowerCase().trim()))return n;_("info",`[Utils] [TMDB] \u5C1D\u8BD5\u83B7\u53D6\u4E2D\u6587\u522B\u540D\u4EE5\u5BFB\u627E\u66F4\u4F18\u5339\u914D (\u5F53\u524D\u6807\u9898: "${n}")`);let i=t.media_type||(t.name?"tv":"movie");try{if(e&&e.aborted)throw new DOMException("Aborted","AbortError");let a=await R0r(i,t.id,{signal:e});if(e&&e.aborted)throw new DOMException("Aborted","AbortError");let o=N0r(a,i,r);return o?(_("info",`[Utils] [TMDB] \u5C06\u4F7F\u7528\u4E2D\u6587\u522B\u540D\u8FDB\u884C\u76F8\u4F3C\u5339\u914D: ${o}`),o):(_("info",`[Utils] [TMDB] \u672A\u627E\u5230\u4E2D\u6587\u522B\u540D\uFF0C\u4F7F\u7528\u539F\u6807\u9898: ${n}`),n)}catch(a){if(a.name==="AbortError")throw a;return _("error",`[Utils] [TMDB] \u83B7\u53D6\u522B\u540D\u5931\u8D25: ${a.message}`),n}}async function Zb(t,e=null,r="Unknown"){let n=_nt(t);if(n!==t&&_("info",`[Utils] [TMDB] \u4F18\u5316\u641C\u7D22\u5173\u952E\u8BCD: "${t}" -> "${n}"`),O.useBangumiData){let o=await Au(n,["tmdb","bangumi","anidb"]);if(o&&o.length>0){let c=o[0],u=c.titles.find(d=>d&&d.includes(n))||c.titles[1]||c.title,l=c.title;return _("info",`[Utils] [TMDB] Bangumi-Data \u672C\u5730\u547D\u4E2D\uFF0C\u63D0\u53D6\u539F\u540D\u6210\u529F: \u539F\u540D=${l}, \u522B\u540D=${u}\uFF08\u68C0\u7D22\u8BCD\uFF1A${n}\uFF09`),{title:l,cnAlias:u}}}if(!O.tmdbApiKey)return _("info","[Utils] [TMDB] \u672A\u914D\u7F6EAPI\u5BC6\u94A5\uFF0C\u8DF3\u8FC7TMDB\u7F51\u7EDC\u641C\u7D22"),null;let s=XB.get(n);if(s)_("info",`[Utils] [TMDB] \u52A0\u5165\u6B63\u5728\u8FDB\u884C\u7684\u641C\u7D22: ${n} (${r})`);else{let o=new AbortController;s={controller:o,refCount:0,promise:(async()=>{try{let u=o.signal,l=P=>{let L=P.genre_ids||[],M=P.genres||[],k=L.length>0?L:M.map(W=>W.id),B=P.original_language||"";return k.includes(16)?{isValid:!0,reason:"\u660E\u786E\u52A8\u753B\u7C7B\u578B(genre_id: 16)"}:B==="ja"?{isValid:!0,reason:"\u539F\u59CB\u8BED\u8A00\u4E3A\u65E5\u8BED(ja),\u53EF\u80FD\u662F\u65E5\u5267/\u65E5\u5F71/\u65E5\u7EFC\u827A"}:{isValid:!1,reason:`\u975E\u52A8\u753B\u4E14\u975E\u65E5\u8BED\u5185\u5BB9(language: ${B}, genres: ${k.join(",")})`}},d=(P,L)=>{let M=J=>J.toLowerCase().replace(/\s+/g,"").replace(/[::、,。!?;""''()【】《》]/g,"").trim(),k=M(P),B=M(L);if(k===B)return 1;let Z=k.length<B.length?k:B,W=k.length>=B.length?k:B;if(W.includes(Z)&&Z.length>0)return .6+Z.length/W.length*.3;let F=P.length>L.length?P:L,V=P.length>L.length?L:P;if(F.length===0)return 1;let j=(J,se)=>{J=J.toLowerCase(),se=se.toLowerCase();let oe=[];for(let ue=0;ue<=J.length;ue++){let Ce=ue;for(let we=0;we<=se.length;we++)if(ue===0)oe[we]=we;else if(we>0){let qe=oe[we-1];J.charAt(ue-1)!==se.charAt(we-1)&&(qe=Math.min(Math.min(qe,Ce),oe[we])+1),oe[we-1]=Ce,Ce=qe}ue>0&&(oe[se.length]=Ce)}return oe[se.length]};return(F.length-j(F,V))/F.length};if(_("info",`[Utils] [TMDB] \u6B63\u5728\u641C\u7D22 (Shared Task): ${n}`),u.aborted)throw new DOMException("Aborted","AbortError");let f=await ZB(n,"multi",{signal:u});if(!f||!f.data)return _("info","[Utils] [TMDB] TMDB\u641C\u7D22\u7ED3\u679C\u4E3A\u7A7A"),null;let p=typeof f.data=="string"?JSON.parse(f.data):f.data;if(!p.results||p.results.length===0)return _("info","[Utils] [TMDB] TMDB\u672A\u627E\u5230\u4EFB\u4F55\u7ED3\u679C"),null;let m=[],h=[];for(let P of p.results){let L=l(P);if(L.isValid)m.push(P);else{let M=P.name||P.title||"\u672A\u77E5";h.push(`${M}(${L.reason})`)}}if(m.length===0)return _("info","[Utils] [TMDB] \u6570\u636E\u6E05\u6D17\u62E6\u622A: \u641C\u7D22\u7ED3\u679C\u4E2D\u6CA1\u6709\u4EFB\u4F55\u76EE\u6807\u7C7B\u578B(\u52A8\u753B/\u65E5\u6587)\u7684\u5185\u5BB9"),null;_("info",`[Utils] [TMDB] \u6570\u636E\u6E05\u6D17\u5B8C\u6210: \u4FDD\u7559 ${m.length} \u4E2A\u6709\u6548\u6761\u76EE\u53C2\u4E0E\u5339\u914D\uFF0C\u8FC7\u6EE4 ${h.length} \u4E2A\u65E0\u5173\u6761\u76EE${h.length>0?"\uFF0C\u8FC7\u6EE4\u8BE6\u60C5: "+h.join(", "):""}`);let A=null,g=-1,b=null,y=0,x=5,v=!1;for(let P of m){let L=P.name||P.title||"";if(!L)continue;let M=d(n,L),k=P.original_name||P.original_title||"",B=k?d(n,k):0,Z=Math.max(M,B);if(Z===1&&!v){v=!0,_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${L}" - \u76F8\u4F3C\u5EA6: 100.00% (\u5B8C\u5168\u5339\u914D\uFF0C\u8DF3\u8FC7\u540E\u7EED\u6240\u6709\u522B\u540D\u641C\u7D22)`),Z>g&&(g=Z,A=P,b=L);continue}let W,F,V=L.toLowerCase().trim()===n.toLowerCase().trim();if(v||V)W=L,F=Z,v&&V?_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${L}" - \u76F8\u4F3C\u5EA6: ${(F*100).toFixed(2)}% (\u5DF2\u627E\u5230\u5B8C\u5168\u5339\u914D\uFF0C\u8DF3\u8FC7\u522B\u540D\u641C\u7D22)`):_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${L}" - \u76F8\u4F3C\u5EA6: ${(F*100).toFixed(2)}%`);else{if(y<x)try{W=await O0r(P,u,n),W!==L&&y++}catch(se){if(se.name==="AbortError")throw se;_("error",`[Utils] [TMDB] \u5904\u7406\u7ED3\u679C\u5931\u8D25: ${se.message}`),W=L}else W=L,_("info",`[Utils] [TMDB] \u5DF2\u8FBE\u5230\u522B\u540D\u83B7\u53D6\u4E0A\u9650(${x})\uFF0C\u4F7F\u7528\u539F\u6807\u9898: ${L}`);let j=d(n,W);F=Math.max(j,B);let J=W!==L?`"${L}" (\u522B\u540D: ${W})`:`"${L}"`;_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 ${J} - \u76F8\u4F3C\u5EA6: ${(F*100).toFixed(2)}%`),F===1&&!v&&(v=!0,_("info","[Utils] [TMDB] \u901A\u8FC7\u522B\u540D\u627E\u5230\u5B8C\u5168\u5339\u914D\uFF0C\u8DF3\u8FC7\u540E\u7EED\u6240\u6709\u522B\u540D\u641C\u7D22"))}F>g&&(g=F,A=P,b=W)}if(!A||g<.4)return _("info",`[Utils] [TMDB] \u6700\u4F73\u5339\u914D\u76F8\u4F3C\u5EA6\u8FC7\u4F4E\u6216\u672A\u627E\u5230\u5339\u914D (${A?(g*100).toFixed(2)+"%":"N/A"}),\u8DF3\u8FC7`),null;_("info",`[Utils] [TMDB] TMDB\u6700\u4F73\u5339\u914D: ${b}, \u76F8\u4F3C\u5EA6: ${(g*100).toFixed(2)}%`);let R=A.media_type||(A.name?"tv":"movie"),w=await w0r(R,A.id,{signal:u}),N;if(!w||!w.data)N=A.name||A.title,_("info",`[Utils] [TMDB] \u4F7F\u7528\u4E2D\u6587\u641C\u7D22\u7ED3\u679C\u6807\u9898: ${N}`);else{let P=typeof w.data=="string"?JSON.parse(w.data):w.data;N=P.original_name||P.original_title||P.name||P.title,_("info",`[Utils] [TMDB] \u627E\u5230\u65E5\u8BED\u539F\u540D: ${N}`)}return{title:N,cnAlias:b}}catch(u){return u.name==="AbortError"?(_("info",`[Utils] [TMDB] \u540E\u53F0\u641C\u7D22\u4EFB\u52A1\u5DF2\u5B8C\u5168\u7EC8\u6B62 (${n})`),null):(_("error","[Utils] [TMDB] Background Search error:",{message:u.message,name:u.name,stack:u.stack}),null)}})().finally(()=>{XB.delete(n)})},XB.set(n,s),_("info",`[Utils] [TMDB] \u542F\u52A8\u65B0\u641C\u7D22\u4EFB\u52A1: ${n}`)}s.refCount++;let i=()=>{XB.get(n)===s&&(s.refCount--,s.refCount<=0&&(_("info",`[Utils] [TMDB] \u6240\u6709\u8C03\u7528\u8005\u5DF2\u53D6\u6D88\uFF0C\u7EC8\u6B62\u540E\u53F0\u8BF7\u6C42: ${n}`),s.controller.abort()))},a;if(e){if(e.aborted)return i(),_("info",`[Utils] [TMDB] \u641C\u7D22\u5DF2\u88AB\u4E2D\u65AD (Source: ${r})`),null;e.addEventListener("abort",i)}try{let o=new Promise((c,u)=>{e&&(a=()=>u(new DOMException("Aborted","AbortError")),e.addEventListener("abort",a))});return await Promise.race([s.promise,o])}catch(o){return o.name==="AbortError"?(_("info",`[Utils] [TMDB] \u641C\u7D22\u5DF2\u88AB\u4E2D\u65AD (Source: ${r})`),null):(_("error",`[Utils] [TMDB] \u641C\u7D22\u5F02\u5E38: ${o.message}`),null)}finally{e&&(e.removeEventListener("abort",i),a&&e.removeEventListener("abort",a))}}async function xnt(t,e=null,r=null){if(!uf(t))return t;if(O.useBangumiData){let i=_nt(t),a=Au(i,["tmdb","bangumi","anidb"]);if(a&&a.length>0){let o=a[0],c=o.titles.find(u=>u&&!uf(u))||o.titles[1];if(c&&!uf(c))return _("info",`[Utils] [TMDB] \u547D\u4E2D\u672C\u5730 Bangumi Data: ${t} -> ${c}\uFF08\u68C0\u7D22\u8BCD\uFF1A${i}\uFF09`),c}}let n=e!=null,s=n?"tv":"movie";try{let i=await ZB(t,s);if(!i.data.results||i.data.results.length===0)return _("info","[Utils] [TMDB] TMDB\u672A\u627E\u5230\u4EFB\u4F55\u7ED3\u679C"),t;let o=i.data.results.find(u=>{let l=n?u.name:u.title;return l&&!uf(l)})||i.data.results[0],c=n?o.name:o.title;return c?(_("info",`\u539F\u6807\u9898: ${t} -> \u4E2D\u6587\u6807\u9898: ${c}`),c):t}catch(i){return _("error","\u67E5\u8BE2 TMDB \u65F6\u51FA\u9519:",i),t}}var bnt=/(?:\s+|^)(?:第?\s*(?:\d+|[一二三四五六七八九十]+)\s*[季期部]|season\s*\d+|s\d+|part\s*\d+|act\s*\d+|phase\s*\d+|the\s+final\s+season|(?:movie|film|ova|oad|sp|剧场版|åŠ‡å ´ç‰ˆ|ç»­[篇集]|å¤–ä¼ )(?![a-z]))|[::~~]|\s+.*?篇|(?<=\s|^)\d+$/i,Ant=/[ ::~~]/;function Ent(t){let e=t.match(bnt);return e?e.index:t.length}function _nt(t){let e=Ent(t);return e<t.length?t.substring(0,e).trim():t}function eE(t,e){if(!t||t.length===0||!e)return;let r=0;for(let i of t)i._displayTitle=i._displayTitle||i.title||"",i.isLocalPriority||i._displayTitle.includes(e)||r++;if(r===0)return;_("info",`[Utils] [TMDB] \u542F\u52A8\u667A\u80FD\u66FF\u6362\uFF0C\u76EE\u6807\u522B\u540D: "${e}"\uFF0C\u5F85\u5904\u7406\u6761\u76EE: ${r}`);let n=t.map(i=>{let a=i.org_title||i.title||"";return a.substring(0,Ent(a))}),s="";if(n.length>0){let i=n.concat().sort(),a=i[0],o=i[i.length-1],c=0;for(;c<a.length&&a.charAt(c)===o.charAt(c);)c++;s=a.substring(0,c)}s&&s.length>1&&_("info",`[Utils] [TMDB] \u8BA1\u7B97\u51FA\u6700\u957F\u516C\u5171\u524D\u7F00 (LCP): "${s}"`);for(let i of t){let a=i.title||"";if(!(i.isLocalPriority||a.includes(e)))if(s&&s.length>1&&a.startsWith(s)){let o=a.substring(s.length).trim();i._displayTitle=o?`${e}${o.match(/^[~~::]/)?"":" "}${o}`:e,_("info",`[Utils] [TMDB] [LCP\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else{let o=a.match(Ant);if(o){let c=a.substring(0,o.index).trim(),u=a.substring(o.index);if(c&&bnt.test(c)){let l=u.trim().match(Ant),d=l?u.trim().substring(l.index):"";i._displayTitle=`${c} ${e}${d}`,_("info",`[Utils] [TMDB] [\u524D\u7F00\u4FDD\u62A4\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else i._displayTitle=e+u,_("info",`[Utils] [TMDB] [\u5206\u9694\u7B26\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else uf(a)?(i._displayTitle=e,_("info",`[Utils] [TMDB] [\u7EAF\u5916\u6587\u5168\u66FF\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)):_("info",`[Utils] [TMDB] [\u8DF3\u8FC7\u66FF\u6362] "${a}" \u542B\u6709\u4E2D\u6587\u4E14\u7279\u5F81\u4E0D\u7B26\uFF0C\u62D2\u7EDD\u5F3A\u5236\u5168\u66FF\u4EE5\u9632\u8BEF\u6740`)}}}Pt();St();$n();no();hn();var Iu="$$$",Sg="&",P0r=!1,ai=Object.freeze({TITLE_STRUCTURE_CONFLICT:-.3,LANG_MATCH_CN:.15,LANG_MISMATCH:-.2,DATE_MATCH:0,EP_ALIGN:{MOVIE_TYPE_MISMATCH:-5,SPECIAL_STRICT_MISMATCH:-8,LANG_MATCH:3,LANG_MISMATCH:-5,SEASON_NUM_MISMATCH:-10,SPECIAL_TYPE_MISMATCH:-10,SPECIAL_TYPE_MATCH:3,IS_SPECIAL_MATCH:3,SEASON_SHIFT_EXACT:15,CN_STRICT_MATCH:25,CN_STRICT_MISMATCH:-5,NUMERIC_MATCH:2,PATTERN_CONSISTENCY_BONUS:2,ZERO_DIFF_BONUS_BASE:100,ZERO_DIFF_BONUS_PER_HIT:5}}),Ql=Object.freeze({SIMILARITY_MIN:.65,SIMILARITY_STRONG:.98,TIER_DEFAULT:.001,TIER_CN:.4,TIER_PART:.5,COLLECTION_RATIO:4,COLLECTION_DIFF:6});function mt(t,...e){typeof e[0]=="string"&&e[0].includes("[Merge-Check]")&&!P0r||_(t,...e)}var ye={Lang:{CN:/(普通[话話]|[国國][语語]|中文配音|中配|中文|[粤粵][语語]配音|[粤粵]配|[粤粵][语語]|[台臺]配|[台臺][语語]|港配|港[语語]|字幕|助[听聽])(?:版)?/,JP:/(æ—¥[语語]|日配|原版|原[声聲])(?:版)?/,CN_DUB_VER:/(\(|(|\[)?(普通[话話]|[国國][语語]|中文配音|中配|中文|[粤粵][语語]配音|[粤粵]配|[粤粵][语語]|[台臺]配|[台臺][语語]|港配|港[语語]|字幕|助[听聽])版?(\)|)|\])?/g,JP_DUB_VER:/(\(|(|\[)?(æ—¥[语語]|日配|原版|原[声聲])版?(\)|)|\])?/g,KEYWORDS_STRONG:/(?:普通[话話]|[国國][语語]|中文配音|中配|中文|[粤粵][语語]配音|[粤粵]配|[粤粵][语語]|[台臺]配|[台臺][语語]|港配|港[语語]|字幕|助[听聽]|æ—¥[语語]|日配|原版|原[声聲])(?:版)?/g,CN_STD:/普通[话話]|[国國][语語]|中文配音|中配|中文|[粤粵][语語]配音|[粤粵]配|[粤粵][语語]|[台臺]配|[台臺][语語]|港配|港[语語]|字幕|助[听聽]/g,JP_STD:/æ—¥[语語]|日配|原版|原[声聲]/g},Season:{PURE_PART:/^(?:(?:第|S(?:eason)?)\s*\d+(?:å­£|期|部)?|(?:Part|P|第)\s*\d+(?:部分)?)$/i,PART_NORM:/第\s*(\d+)\s*部分/g,PART_NORM_2:/(?:Part|P)[\s.]*(\d+)/gi,FINAL:/(?:The\s+)?Final\s+Season/gi,NORM:/(?:Season|S)\s*(\d+)/gi,CN:/第\s*([一二三四五六七八九十])\s*å­£/g,ROMAN:/(\s|^)(IV|III|II|I)(\s|$)/g,INFO_STRONG:/(?:season|s|第)\s*[0-9一二三四五六七八九十]+\s*(?:å­£|期|部(?!分))?/gi,PART_INFO_STRONG:/(?:part|p|第)\s*\d+\s*(?:部分)?/gi,PART_ANY:/(?:part|p)\s*\d+/gi,CN_STRUCTURE:/(?:^|\s|×\d+\s?)(承|转|结)(?=$|[\s\(\(\[【])/i,SUFFIX_AMBIGUOUS:/(?:[\s\u4e00-\u9fa5]|^)(S|T|R|II|III|IV)(?=$|[\s\(\(\[【])/i,SUFFIX_SEQUEL:/(?:续篇|续集|The Sequel)/i},Clean:{NA_TAG:/(\(|(|\[)N\/A(\)|)|\])/gi,SOURCE_TAG:/【.*?】/g,REGION_LIMIT:/(\(|(|\[)仅限.*?地区(\)|)|\])/g,PUNCTUATION:/[!!??,,.。、~~::\-–—_]/g,WHITESPACE:/\s+/g,FROM_SUFFIX:/\s*from\s+.*$/i,PARENTHESES_CONTENT:/(\(|(|\[).*?(\)|)|\])/g,MOVIE_KEYWORDS:/剧场版|åŠ‡å ´ç‰ˆ|the\s*movie|theatrical|movie|film|电影/gi,LONE_VER_CHAR:/(\s|^)版(\s|$)/g,NON_ALPHANUM_CN:/[^\u4e00-\u9fa5a-zA-Z0-9]/g,META_SUFFIX:/(\(|(|\[)(续篇|TV版|æ— ä¿®|æœªåˆ å‡|完整版)(\)|)|\])/gi,YEAR_TAG:/(\(|(|\[)\d{4}(\)|)|\]).*$/i,SUBTITLE_SEPARATOR:/^[\s::\-–—((\[【]/,SPACE_STRUCTURE:/.+[\s\u00A0\u3000].+/,SPLIT_SPACES:/[\s\u00A0\u3000]+/,REDUNDANT_SEPARATOR:/[\s::~~]/,REDUNDANT_UNSAFE_END:/[\(\(\[【::~~\-]$/,REDUNDANT_VALID_CHARS:/[\u4e00-\u9fa5a-zA-Z]{2,}/},Episode:{SUFFIX_DIGIT:/_\d+(?=$|\s)/g,FILE_NOISE:/_(\d{2,4})(?=\.)/g,SEASON_PREFIX:/(?:^|\s)(?:第\s*[0-9一二三四五六七八九十]+\s*å­£|S(?:eason)?\s*\d+)(?:\s+|_)/gi,CLEAN_SMART:/(?:^|\s)(?:EP|E|Vol|Episode|No|Part|第)\s*\d+(?:\.\d+)?(?:\s*[话話集])?(?!\s*[季期部])/gi,PUNCTUATION:/[!!??,,.。、~~::\-–—]/g,DANDAN_TAG:/^【(dandan|animeko)】/i,SPECIAL_START:/^S\d+/i,MOVIE_CHECK:/剧场版|åŠ‡å ´ç‰ˆ|movie|film/i,PV_CHECK:/(pv|trailer|预告)/i,SPECIAL_CHECK:/^(s|o|sp|special)\d/i,SEASON_MATCH:/(?:^|\s)(?:第|S)\s*(\d+)\s*[å­£S]/i,NUM_STRATEGY_A:/(?:第|s)\s*(\d+)\s*[å­£s]\s*(?:第|ep|e)\s*(\d+)/i,NUM_STRATEGY_B:/(?:ep|e|vol|episode|chapter|no|part|第)\s*(\d+(\.\d+)?)(?:\s*[话話集])?(?!\s*[季期部])/i,NUM_STRATEGY_C:/(?:^|\s)(?:第)?(\d+(\.\d+)?)(?:话|集|\s|$)/,DANDAN_IGNORE:/^[SC]\d+/i,MAP_EXCLUDE_KEYWORDS:/(?:^|\s)(?:PV|OP|ED|SP|Special|Drama|OAD|OVA|Opening|Ending|特番|特典|Behind\s+the\s+Scenes|Making|Interview)(?:\s|$|[::])/i,SINK_TITLE_STRICT:/^(?:S\d+|C\d+|SP\d*|OP\d*|ED\d*|PV\d*|Trailers?|Interview|Making|特番|特典)(?:\s|$|[::.\-]|\u3000)/i},Category:{ANIME_KW:/(动画|TV动画|动漫|日漫|国漫)/,REAL_KW:/(电视剧|真人剧|综艺|纪录片)/,ANIMEKO_SOURCE:/animeko/i},Similarity:{CN_STRICT_CORE_REMOVE:/[0-9a-zA-Z\s第季集话partEPep._\-–—::【】()()]/gi}},r4=[{regex:/(?:\s|^)A's$/i,val:"S2"},{regex:/(?:\s|^)StrikerS$/i,val:"S3"},{regex:/(?:\s|^)ViVid$/i,val:"S4"},{regex:/(?:\s|^)SuperS$/i,val:"S4"}],D0r=[{regex:/(?:第)?\s*(\d+)\s*(?:å­£|期|部(?!分))/,prefix:"S"},{regex:/\bseason\s*(\d+)/i,prefix:"S"},{regex:/\bs\s*(\d+)\b/i,prefix:"S"},{regex:/\bpart\s*(\d+)/i,prefix:"P"},{regex:/\b(ova|oad)\d*\b/i,val:"OVA"},{regex:/(剧场版|åŠ‡å ´ç‰ˆ|the\s*movie|theatrical|movie|film|电影)/i,val:"MOVIE"},{regex:/(续篇|续集)/,val:"SEQUEL"},{regex:/\b(sp|special)\d*\b/i,val:"SP"},{regex:/[^0-9](\d)$/,prefix:"S",useCleaned:!0}],k0r=[{seriesKeywords:["\u7F8E\u5C11\u5973\u6218\u58EB"],mappings:[{markers:["R"],targetStandard:"\u7B2C\u4E8C\u5B63"},{markers:["S"],targetStandard:"\u7B2C\u4E09\u5B63"},{markers:["SuperS","Super S"],targetStandard:"\u7B2C\u56DB\u5B63"},{markers:["Sailor Stars","\u6700\u540E\u7684\u661F\u5149"],targetStandard:"\u7B2C\u4E94\u5B63"}]},{seriesKeywords:["\u5C0F\u6797\u5BB6\u7684\u9F99\u5973\u4EC6"],mappings:[{markers:["S"],targetStandard:"\u7B2C\u4E8C\u5B63"}]},{seriesKeywords:["\u53EF\u80FD\u6210\u4E3A\u604B\u4EBA","\u4E0D\u884C"],mappings:[{markers:["NEXT SHINE","\u518D\u6B21\u95EA\u8000"],targetStandard:"\u7EED\u7BC7"}]},{seriesKeywords:["\u7EA2\u732A","\u5343\u4E0E\u5343\u5BFB","\u9F99\u732B"],defaultStandard:"\u5267\u573A\u7248"}];function L0r(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function vie(t){if(typeof structuredClone=="function")try{return structuredClone(t)}catch{}return JSON.parse(JSON.stringify(t))}function oo(t){if(!t)return"Unspecified";let e=t.toLowerCase();return ye.Lang.CN.test(e)?"CN":ye.Lang.JP.test(e)?"JP":"Unspecified"}function Dnt(t){if(!t)return"";let e=t,r=e.toUpperCase();for(let n of k0r){if(!n.seriesKeywords.every(a=>r.includes(a.toUpperCase())))continue;let i=!1;if(n.mappings)for(let a of n.mappings)a.markers.forEach(o=>{let c=new RegExp(L0r(o),"gi");c.test(e)&&(e=e.replace(c,` ${a.targetStandard} `),i=!0)});!i&&n.defaultStandard&&(e+=` ${n.defaultStandard} `)}return e}function V0(t){if(!t)return"";let e=Gt(t);e=e.replace(ye.Clean.NA_TAG,""),e=e.replace(ye.Season.PART_NORM,"part $1"),e=e.replace(ye.Season.PART_NORM_2,"part $1"),e=e.replace(ye.Season.FINAL,"\u6700\u7EC8\u5B63"),e=e.replace(ye.Season.NORM,"\u7B2C$1\u5B63");let r={\u4E00:"1",\u4E8C:"2",\u4E09:"3",\u56DB:"4",\u4E94:"5",\u516D:"6",\u4E03:"7",\u516B:"8",\u4E5D:"9",\u5341:"10"};return e=e.replace(ye.Season.CN,(n,s)=>`\u7B2C${r[s]}\u5B63`),e=e.replace(ye.Season.ROMAN,(n,s,i,a)=>`${s}\u7B2C${{I:"1",II:"2",III:"3",IV:"4"}[i]}\u5B63${a}`),e=e.replace(ye.Lang.CN_DUB_VER,"\u4E2D\u914D\u7248"),e=e.replace(ye.Lang.JP_DUB_VER,""),e=e.replace(ye.Clean.SOURCE_TAG,""),e=e.replace(ye.Clean.REGION_LIMIT,""),e=e.replace(/(\d+)\.(\d+)/g,"$1{{DOT}}$2"),e=e.replace(ye.Clean.PUNCTUATION," "),e=e.replace(/{{DOT}}/g,"."),e.replace(ye.Clean.WHITESPACE," ").toLowerCase().trim()}function Tc(t){if(!t)return"";let e=Dnt(t);e=Gt(e);let r=e.match(/^(?:【|\[)(.+?)(?:】|\])/);if(r){let n=r[1];/^(TV|剧场版|åŠ‡å ´ç‰ˆ|movie|film|anime|动漫|动画|AVC|HEVC|MP4|MKV)$/i.test(n)||(e=e.replace(r[0],n+" "))}return e=e.replace(ye.Clean.SOURCE_TAG,""),e=e.replace(ye.Clean.FROM_SUFFIX,""),e=e.replace(ye.Clean.NA_TAG,""),e=e.replace(ye.Clean.PARENTHESES_CONTENT,""),e=e.replace(ye.Season.INFO_STRONG,""),e=e.replace(ye.Season.PART_INFO_STRONG,""),e=e.replace(ye.Clean.MOVIE_KEYWORDS,""),e=e.replace(ye.Lang.KEYWORDS_STRONG,""),e=e.replace(ye.Clean.LONE_VER_CHAR,""),e=e.replace(ye.Clean.NON_ALPHANUM_CN,""),e.toLowerCase()}function tE(t){if(!t)return"";let e=Gt(t);return e=e.replace(ye.Episode.SUFFIX_DIGIT,""),e=e.replace(ye.Episode.FILE_NOISE,""),e=e.replace(ye.Episode.SEASON_PREFIX," "),e=e.replace(ye.Episode.CLEAN_SMART," "),e=e.replace(ye.Clean.SOURCE_TAG,""),e=e.replace(ye.Lang.CN_STD,"\u4E2D\u6587"),e=e.replace(ye.Lang.JP_STD,"\u65E5\u6587"),e=e.replace(/(\d+)\.(\d+)/g,"$1{{DOT}}$2"),e=e.replace(ye.Episode.PUNCTUATION," "),e=e.replace(/{{DOT}}/g,"."),e.replace(ye.Clean.WHITESPACE," ").toLowerCase().trim()}function Snt(t){return t?t.replace(ye.Clean.PARENTHESES_CONTENT,"").trim():""}function Iie(t){if(!t)return"";let e=String(t).split(Iu)[0].trim();if(e.startsWith("//"))return"https:"+e;let r=e.match(/^([^:]+):(.+)$/);if(r){let n=r[1].toLowerCase(),s=r[2];return n==="http"||n==="https"?e:/^https?:\/\//i.test(s)?s:s.startsWith("//")?"https:"+s:s}return e}function vnt(t){if(!t||t==="N/A")return{year:null,month:null};let e=new Date(t),r=e.getTime();if(isNaN(r))return{year:null,month:null};let n=e.getFullYear();return n>2030?{year:null,month:null}:{year:n,month:e.getMonth()+1}}function B0r(t,e){let r=t.length,n=e.length;if(r===0)return n;if(n===0)return r;let s=new Array(n+1),i=new Array(n+1);for(let a=0;a<=n;a++)s[a]=a;for(let a=1;a<=r;a++){i[0]=a;let o=t.charCodeAt(a-1);for(let u=1;u<=n;u++){let l=o===e.charCodeAt(u-1)?0:1;i[u]=Math.min(i[u-1]+1,s[u]+1,s[u-1]+l)}let c=s;s=i,i=c}return s[n]}function M0r(t,e){if(!t||!e)return 0;let r=new Set(t.replace(ye.Clean.WHITESPACE,"")),n=new Set(e.replace(ye.Clean.WHITESPACE,"")),s=r.size,i=n.size;if(s===0&&i===0)return 1;if(s===0||i===0)return 0;let a=0,[o,c]=s<i?[r,n]:[n,r];for(let u of o)c.has(u)&&a++;return 2*a/(s+i)}function G0(t,e){if(!t||!e)return 0;let r=Tc(t),n=Tc(e);if(r===""&&n==="")return 0;if(r===n)return 1;let s=r.length,i=n.length,a=Math.max(s,i),o=Math.min(s,i);if(r.includes(n)||n.includes(r)){let x=o/a;if(x>.5)return .8+x*.2}let c=B0r(r,n),u=a===0?1:1-c/a,l=new Set(r.replace(ye.Clean.WHITESPACE,"")),d=new Set(n.replace(ye.Clean.WHITESPACE,"")),f=l.size,p=d.size;if(f===0||p===0)return 0;let m=0,[h,A]=f<p?[l,d]:[d,l];for(let x of h)A.has(x)&&m++;let g=2*m/(f+p),b=0,y=Math.min(f,p);return y>2&&(b=m/y,b>.6&&y/Math.max(f,p)<.6&&(b-=.25)),Math.max(u,g,b)}function co(t,e="",r=[]){let n=new Set,s=V0(e||""),i=l=>{let d=V0(Dnt(l)),f=d.replace(ye.Season.PART_ANY,""),p=f.match(ye.Season.CN_STRUCTURE);if(p){let A={\u627F:"S2",\u8F6C:"S3",\u7ED3:"S4"};A[p[1]]&&n.add(A[p[1]])}if(D0r.forEach(A=>{let g=(A.useCleaned?f:d).match(A.regex);g&&n.add(A.prefix?`${A.prefix}${parseInt(g[1])}`:A.val)}),!r4.some(A=>{if(A.regex.test(f))return n.add(A.val),!0})){let A=f.match(ye.Season.SUFFIX_AMBIGUOUS);if(A){n.add("AMBIGUOUS");let g={II:"S2",III:"S3",IV:"S4"},b=A[1].toUpperCase();g[b]&&n.add(g[b])}}ye.Season.SUFFIX_SEQUEL.test(d)&&n.add("SEQUEL");let h={\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,final:99};for(let[A,g]of Object.entries(h))d.includes(`\u7B2C${A}\u5B63`)&&n.add(`S${g}`)};[t,...Array.isArray(r)?r:[]].filter(Boolean).forEach(i),s.includes("\u7EED\u7BC7")&&n.add("SEQUEL"),/(剧场版|movie|film|电影)/i.test(s)&&n.add("MOVIE"),/\b(ova|oad)\b/i.test(s)&&n.add("OVA"),/\b(sp|special)\b/i.test(s)&&n.add("SP");let a=Array.from(n),o=a.some(l=>l.startsWith("S")),c=a.some(l=>l.startsWith("P")),u=["MOVIE","OVA","SP","SEQUEL","AMBIGUOUS"].some(l=>n.has(l));return c&&!o&&n.add("S1"),!o&&!c&&!u&&n.add("S1"),n}function bi(t,e="",r=[]){let n=co(t,e,r),s=null;for(let i of n)if(i.startsWith("S")){let a=parseInt(i.substring(1));isNaN(a)||(s===null||a>s)&&(s=a)}return s}function vg(t,e){let r=(t+" "+(e||"")).toLowerCase(),n=r.includes("\u7535\u5F71"),s=r.includes("\u7535\u89C6\u5267");return n&&!s?"MOVIE":s&&!n?"TV":null}function rE(t,e,r){if(r&&ye.Category.ANIMEKO_SOURCE.test(r))return"ANIME";let n=(t+" "+(e||"")).toLowerCase();return ye.Category.ANIME_KW.test(n)?"ANIME":ye.Category.REAL_KW.test(n)?"REAL":"UNKNOWN"}function W0r(t,e,r=!0){if(!t||!e||Tc(t)===Tc(e))return!1;let n=d=>{if(!d)return"";let f=Gt(d);return f=f.replace(ye.Clean.META_SUFFIX,"").replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").replace(ye.Clean.WHITESPACE," "),f.trim().toLowerCase()},s=n(t),i=n(e);if(s===i)return!1;let a=d=>{let f=[":","\uFF1A"," code:"," code\uFF1A"," season"," part"];for(let m of f){let h=d.indexOf(m);if(h!==-1)return d.substring(h).trim()}let p=d.split(ye.Clean.WHITESPACE);return p.length>=2?p.slice(1).join(" "):null},o=a(s),c=a(i),[u,l]=s.length<i.length?[s,i]:[i,s];if(l.startsWith(u)){if(l.length===u.length)return!1;let d=l[u.length];if(ye.Clean.SUBTITLE_SEPARATOR.test(d)){let f=l.slice(u.length).replace(ye.Clean.SUBTITLE_SEPARATOR,"").trim();if(!r&&f.length>1||f.length>2)return!0}}return!!(o&&c&&M0r(o,c)<.2)}function knt(t,e,r,n){if(!((r||"").includes("\u5267\u573A\u7248")||(n||"").includes("\u5267\u573A\u7248")))return!1;let i=c=>c?Gt(c).replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim():"",a=i(t),o=i(e);if(ye.Clean.SPACE_STRUCTURE.test(a)&&ye.Clean.SPACE_STRUCTURE.test(o)){let c=d=>{let f=d.split(ye.Clean.SPLIT_SPACES);return f.length>1?f.slice(1).join(" "):""},u=c(a),l=c(o);return!(ye.Season.PURE_PART.test(u)||ye.Season.PURE_PART.test(l))}return!1}function $0r(t,e,r,n,s,i,a="",o=""){let c=rE(t,r,a),u=rE(e,n,o);if(c==="REAL"&&u==="ANIME"||c==="ANIME"&&u==="REAL")return!0;let l=(r||"").includes("3D"),d=(n||"").includes("3D"),f=(r||"").includes("2D"),p=(n||"").includes("2D"),m=!l&&!f,h=!d&&!p;if(!m&&h?/3[dD]/.test(e)?d=!0:/2[dD]/.test(e)&&(p=!0):!h&&m&&(/3[dD]/.test(t)?l=!0:/2[dD]/.test(t)&&(f=!0)),(l||f)&&(d||p)&&l!==d)return!0;let b=vg(t,r),y=vg(e,n);return!b||!y||b===y||knt(t,e,r,n)?!1:s>0&&i>0?Math.abs(s-i)>5:!0}function F0r(t,e,r,n,s=[],i=[]){let a=co(t,r,s),o=co(e,n,i);if(a.size===0&&o.size===0)return!1;let c=f=>Array.from(f).some(p=>p.startsWith("S")&&parseInt(p.substring(1))>=2),u=f=>f.has("SEQUEL"),l=f=>f.has("AMBIGUOUS"),d=f=>f.has("S1");if(a.size>0&&o.size>0){if(l(a)&&d(o)||l(o)&&d(a))return!0;if(l(a)&&(c(o)||u(o))||l(o)&&(c(a)||u(a))||c(a)&&u(o)||c(o)&&u(a))return!1;for(let f of a)if(f.startsWith("S")){let p=o.has(f),m=Array.from(o).some(h=>h.startsWith("S"));if(!p&&m)return!0}return!1}return a.size!==o.size?!knt(t,e,r,n):!1}function U0r(t,e,r,n,s=[],i=[]){let a=co(t,r,s),o=co(e,n,i),c=Array.from(a).filter(l=>l.startsWith("S")),u=Array.from(o).filter(l=>l.startsWith("S"));return c.length>0&&u.length>0?c.some(l=>u.includes(l)):!1}function q0r(t,e,r=!1){if(!t.year||!e.year)return .05;let n=t.year-e.year;if(n===0){if(t.month&&e.month){let i=Math.abs(t.month-e.month);return i>2?0:i===0?.2:.1}return .1}let s=Math.abs(n);return r&&s<=10?0:s>1?-1:0}function j0r(t,e,r,n,s,i=!1){if(/^(dandan|animeko)$/i.test(n)||/^(dandan|animeko)$/i.test(s))return!0;if(i){let c=Math.min(e,r);return c>0&&t/c>.5?!0:!(t<2)}let a=Math.max(e,r);if(a===0)return!1;let o=t/a;return!(a>5&&o<.18)}function e4(t){if(!t)return null;let e=t.toLowerCase();return e.includes("opening")?"opening":e.includes("ending")?"ending":e.includes("interview")?"interview":e.includes("bloopers")?"Bloopers":null}function Aa(t,e=""){let r=!1,n=e;if(t){let m=t.match(ye.Episode.DANDAN_TAG);m&&(n=m[1].toLowerCase())}if(/^(dandan|animeko)$/i.test(n)&&t){let m=t.replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();(ye.Episode.SPECIAL_START.test(m)||ye.Episode.DANDAN_IGNORE.test(m))&&(r=!0)}let i=V0(t||""),a=ye.Episode.MOVIE_CHECK.test(i),o=ye.Episode.PV_CHECK.test(i),c=null,u=null,l=e4(t),d=o||r||!!l||ye.Episode.SPECIAL_CHECK.test(i),f=i.match(ye.Episode.SEASON_MATCH);f&&(u=parseInt(f[1]));let p=i.match(ye.Episode.NUM_STRATEGY_A);if(p)c=parseFloat(p[2]);else{let m=i.match(ye.Episode.NUM_STRATEGY_B);if(m)c=parseFloat(m[1]);else{let h=i.match(ye.Episode.NUM_STRATEGY_C);h&&(c=parseFloat(h[1]))}}return{isMovie:a,num:c,isSpecial:d,isPV:o,season:u,isStrictSpecial:r}}function Tie(t,e,r=""){if(!t)return[];let s=["animeko","bilibili","bilibili1","bahamut","dandan"].includes(r);if(!e||s)return t.map((o,c)=>({link:o,originalIndex:c}));let i=[],a=[];if(t.forEach((o,c)=>{let u=o.title||o.name||"";e.test(u)?a.push(u):i.push({link:o,originalIndex:c})}),a.length>0){let o=r?`[${r}] `:"";mt("info",`[Merge-Check] ${o}\u547D\u4E2DEPISODE_TITLE_FILTER\u8FC7\u6EE4\uFF0C\u5DF2\u524D\u7F6E\u5254\u9664 ${a.length} \u96C6: ${a.join(", ")}`)}return i}var Cnt=new Map;function t4(t,e,r){if(!t||t.length<2||!e)return"";let n=l=>{if(!l||!r)return l||"";try{let d=Cnt.get(r);if(!d){let f=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");d=new RegExp(`(\\[|\u3010|\\s)?${f}(\\]|\u3011|\\s)?`,"gi"),Cnt.set(r,d)}return l.replace(d,"").trim()}catch{return l}},s=n(e),i=s.match(ye.Clean.REDUNDANT_SEPARATOR);i&&(s=s.substring(0,i.index));let a=t.map(l=>{let d=l.link||l;return d?n(d.title||d.name||""):""});if(a.some(l=>!l))return"";let o=(l,d)=>{let f="";for(let p=0;p<l.length;p++)for(let m=p+1;m<=l.length;m++){let h=l.substring(p,m);d.includes(h)&&h.length>f.length&&(f=h)}return f},c=o(a[0],a[1]);if(c.length<2)return"";for(let l=2;l<a.length;l++)if(c=o(c,a[l]),c.length<2)return"";let u=o(c,s);if(!s.startsWith(u))return"";if(ye.Clean.REDUNDANT_UNSAFE_END.test(u)){let l=u.slice(0,-1).trim();return l.length>=2&&s.startsWith(l)?l:""}return u.length>=2&&(ye.Clean.REDUNDANT_VALID_CHARS.test(u)||u.length>3)?(mt("info",`[Merge-Check] \u68C0\u6D4B\u5230\u96C6\u5185\u5197\u4F59\u6807\u9898\u5B57\u6BB5: "${u}" (\u5DF2\u5FFD\u7565\u6765\u6E90: ${r}, \u951A\u5B9A\u9A8C\u8BC1\u901A\u8FC7)`),u):""}function Int(t,e){let r=new Set;if(!t)return r;let n=-1;for(let s=0;s<t.length;s++){let i=t[s].title||t[s].name||"",a=Aa(i,e);a.num!==null&&!a.isSpecial&&!a.isPV&&a.num%1===0&&(n=s)}return t.forEach((s,i)=>{let a=s.title||s.name||"",o=Aa(a,e);o.num!==null&&!o.isSpecial&&!o.isPV&&o.num%1!==0&&i<n&&r.add(o.num)}),r}function Tnt(t,e,r,n){let s=[],i=[],a=0;t.forEach(o=>{let c=o.title||o.name||"",u=Aa(c,r);u.num!==null&&e.has(u.num)?(i.push(o),a++):s.push(o)}),a>0&&(t.length=0,t.push(...s,...i),mt("info",`[Merge-Check] [${n}] \u81EA\u52A8\u6C89\u5E95: \u79FB\u52A8\u4E86 ${a} \u4E2A\u4E2D\u95F4\u63D2\u503C\u96C6\u6570 (${Array.from(e).join(",")}) \u5230\u672B\u5C3E`))}function wnt(t,e,r="Unspecified",n="Unspecified",s="",i="",a="",o=""){if(t.length===0||e.length===0)return 0;let c=t4(t,a,s),u=t4(e,o,i),l=(R,w)=>R?w&&R.includes(w)?R.replace(w,""):R:"",d=(R,w,N,P)=>{let L=R.link.title||"",M=l(L,P),k=Aa(M,w),B=oo(M),Z=B!=="Unspecified"?B:N,W=Z==="Unspecified"&&/^(dandan|animeko)$/i.test(w)?"JP":Z,F=tE(M),V=W==="CN"?M.replace(ye.Similarity.CN_STRICT_CORE_REMOVE,""):null;return{info:k,effLang:W,specialType:e4(M),cleanEpText:F,strictCnCore:V}},f=t.map(R=>d(R,s,r,c)),p=e.map(R=>d(R,i,n,u)),m=null,h=null;f.forEach(({info:R})=>{R.num!==null&&!R.isSpecial&&R.num%1===0&&(m=m===null?R.num:Math.min(m,R.num))}),p.forEach(({info:R})=>{R.num!==null&&!R.isSpecial&&R.num%1===0&&(h=h===null?R.num:Math.min(h,R.num))});let A=m!==null&&h!==null?m-h:null,g=15,b=A!==null?-A:0,y=Math.max(Math.min(-g,b-g),-Math.max(t.length,e.length)),x=Math.min(Math.max(g,b+g),Math.max(t.length,e.length)),v=0,C=-9999;for(let R=y;R<=x;R++){let w=0,N=0,P=0,L=new Map,M=!1,k=null;for(let B=0;B<e.length;B++){let Z=B+R;if(Z<0||Z>=t.length)continue;let W=f[Z],F=p[B],V=W.info,j=F.info,J=0;V.isMovie!==j.isMovie&&(J+=ai.EP_ALIGN.MOVIE_TYPE_MISMATCH),(V.isStrictSpecial&&!j.isSpecial||j.isStrictSpecial&&!V.isSpecial)&&(J+=ai.EP_ALIGN.SPECIAL_STRICT_MISMATCH);let se=W.effLang==="Unspecified"?"JP":W.effLang,oe=F.effLang==="Unspecified"?"JP":F.effLang;se===oe?J+=ai.EP_ALIGN.LANG_MATCH:J+=ai.EP_ALIGN.LANG_MISMATCH,V.season!==null&&j.season!==null&&V.season!==j.season&&(J+=ai.EP_ALIGN.SEASON_NUM_MISMATCH),(W.specialType||F.specialType)&&(W.specialType!==F.specialType?J+=ai.EP_ALIGN.SPECIAL_TYPE_MISMATCH:J+=ai.EP_ALIGN.SPECIAL_TYPE_MATCH),V.isSpecial===j.isSpecial&&(J+=ai.EP_ALIGN.IS_SPECIAL_MATCH),A!==null&&!V.isSpecial&&!j.isSpecial&&V.num-j.num===A&&(J+=ai.EP_ALIGN.SEASON_SHIFT_EXACT,M=!0);let ue=0;W.effLang==="CN"&&F.effLang==="CN"&&W.strictCnCore&&F.strictCnCore&&(W.strictCnCore.includes(F.strictCnCore)||F.strictCnCore.includes(W.strictCnCore))?ue=V.num!==null&&j.num!==null&&V.num===j.num?ai.EP_ALIGN.CN_STRICT_MATCH:ai.EP_ALIGN.CN_STRICT_MISMATCH:ue=G0(W.cleanEpText,F.cleanEpText),J+=ue,N+=ue,V.num!==null&&j.num!==null&&V.num===j.num&&(J+=ai.EP_ALIGN.NUMERIC_MATCH);let Ce=1;if(V.num!==null&&!V.isSpecial&&(k!==null&&V.num-k>1?Ce=.1:k=V.num),J*=Ce,ue*=Ce,N+=ue,w+=J,V.num!==null&&j.num!==null){let we=(j.num-V.num).toFixed(4);L.set(we,(L.get(we)||0)+Ce)}P++}if(P>0){let B=w/P,Z=0;for(let j of L.values())Z=Math.max(Z,j);let W=Z/P,F=N/P;W>.6&&(M||F>.33)&&(B+=ai.EP_ALIGN.PATTERN_CONSISTENCY_BONUS),B+=Math.min(P*.15,1.5);let V=L.get("0.0000")||0;V>3?(B+=ai.EP_ALIGN.ZERO_DIFF_BONUS_BASE,B+=V*ai.EP_ALIGN.ZERO_DIFF_BONUS_PER_HIT):V>0&&(B+=V*2),B>C&&(C=B,v=R)}}return C>.3?v:0}function H0r(t,e,r){let n=new Map,s=[];for(let o of t){if(r&&r.has(o.animeId))continue;let c=O.animes.find(f=>String(f.animeId)===String(o.animeId))||o;if(rE(c.animeTitle,c.typeDescription,c.source)==="REAL"){s.push(` [\u5254\u9664] [${c.source}] ${c.animeTitle} (\u7C7B\u578B: \u771F\u4EBA\u5267/REAL)`);continue}if(vg(c.animeTitle,c.typeDescription)==="MOVIE"){s.push(` [\u5254\u9664] [${c.source}] ${c.animeTitle} (\u7C7B\u578B: \u7535\u5F71/MOVIE)`);continue}let d=bi(c.animeTitle,c.typeDescription,c.aliases);if(d!==null&&c.links){let p=Tie(c.links,e,c.source).filter(m=>{let h=m.link.title||m.link.name||"",g=V0(h).replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();return!(/^(dandan|animeko)$/i.test(c.source)&&(ye.Episode.SPECIAL_CHECK.test(g)||ye.Episode.DANDAN_IGNORE.test(g))||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(g)||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(h))}).length;if(p>0){n.has(d)||n.set(d,new Map);let m=n.get(d);m.has(p)||m.set(p,[]),m.get(p).push(c.source),s.push(` [\u91C7\u7EB3] [${c.source}] S${d} = ${p}\u96C6 ("${c.animeTitle}")`)}else s.push(` [\u5FFD\u7565] [${c.source}] S${d} (\u6709\u6548\u96C6\u6570\u4E3A 0)`)}}let i=new Map,a=[];for(let[o,c]of n.entries()){let u=0,l=0,d=[];for(let[p,m]of c.entries()){let h=m.length;h>l?(l=h,u=p,d=m):h===l&&p<u&&(u=p,d=m)}i.set(o,u);let f=Array.from(c.entries()).map(([p,m])=>`${p}\u96C6(x${m.length})[${m.join(",")}]`).join(", ");a.push(`S${o}=${u} (\u63A8\u65AD\u6765\u6E90: ${d.join(",")} | \u7EDF\u8BA1: ${f})`)}return(s.length>0||a.length>0)&&mt("info",`[Merge-Check] [Map-Build] \u5B63\u5EA6\u5730\u56FE\u6784\u5EFA\u8BE6\u60C5:
${s.join(`
`)}
=> \u6700\u7EC8\u5224\u5B9A: { ${a.join("; ")} }`),i}function Q0r(t,e,r=""){let n=`${t}_${e}_${r}`,s=0;for(let i=0;i<n.length;i++)s=(s<<5)-s+n.charCodeAt(i)|0;return Math.abs(s)%1e9+1e9}function Rnt(t,e){let r=t.link,n=r.title||r.name||`Episode ${t.originalIndex+1}`,s=r.url||"";s&&(s=Iie(s),/^https?:\/\//i.test(s)||(s=`${e}:${s}`));let i=n;return i.includes(`\u3010${e}\u3011`)||(i=`\u3010${e}\u3011 ${i}`),{title:i,url:s,name:n}}function G0r(t,e,r){if(!e||e.length===0)return;let n=[],s=[],i=[],a=t.links.length,o=-1;for(let l=a-1;l>=0;l--){let d=t.links[l],f=d.title||d.name||"",p=Aa(f,t.source);if(!p.isSpecial&&!p.isPV&&!p.isStrictSpecial&&p.num!==null){o=l;break}}for(let l of e){let d=l.relativeIndex,f=l.info&&l.info.isStrictSpecial,p=l.info&&!l.info.isSpecial&&!l.info.isPV&&!f&&l.info.num!==null;d<0&&!f?n.push(l):d>=a&&!f||p&&d>o?s.push(l):i.push(l)}let c=[],u=(l,d,f)=>{l.length>0&&(l.sort((p,m)=>p.originalIndex-m.originalIndex),d.push(...l.map(p=>Rnt(p,r))),c.push(` [\u8865\u5168-${f}] \u63D2\u5165/\u8FFD\u52A0 ${l.length} \u96C6 (${l.map(p=>p.link.title).join(", ")})`))};n.length>0&&(n.sort((l,d)=>l.originalIndex-d.originalIndex),t.links.unshift(...n.map(l=>Rnt(l,r))),c.push(` [\u8865\u5168-\u5934\u90E8] \u63D2\u5165 ${n.length} \u96C6 (${n.map(l=>l.link.title).join(", ")})`)),u(s,t.links,"\u5C3E\u90E8"),u(i,t.links,"\u7279\u6B8A"),c.length>0&&mt("info",`[Merge] [${r}] \u667A\u80FD\u8865\u5168:
${c.join(`
`)}`)}function V0r(t){let e=new Map;if(!t||t.length<2)return e;let r=t.map(s=>{let i=s.animeTitle||"",a=V0(i).replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();return{id:s.animeId,raw:i,clean:a}}),n=new Set(r.map(s=>s.clean));for(let s of r){let i=null;for(let a of r4)if(s.clean.match(a.regex)){i=s.clean.replace(a.regex,"").trim();break}if(!i){let a=s.clean.match(ye.Season.SUFFIX_AMBIGUOUS);if(a){let o=a[1];s.clean.endsWith(o)&&(i=s.clean.substring(0,s.clean.length-o.length).trim())}}i&&i.length>1&&n.has(i)&&(e.set(String(s.id),i),mt("info",`[Merge-Check] \u4E0A\u4E0B\u6587\u611F\u77E5: \u5224\u5B9A [${s.raw}] \u4E3A\u7EED\u4F5C (Base: "${i}" \u540C\u65F6\u4E5F\u5B58\u5728\u4E8E\u5217\u8868)`))}return e}function z0r(t,e){let r={isStrongMatch:!1,isStrongMismatch:!1};if(!t.links||!e.links||!t.links.length||!e.links.length)return r;let n=h=>h.filter(A=>{let g=(A.title||A.name||"").toLowerCase();return!ye.Episode.PV_CHECK.test(g)&&!ye.Episode.SPECIAL_CHECK.test(g)}).length,s=n(t.links),i=n(e.links);s>5&&i>5&&Math.min(s,i)/Math.max(s,i)<.4;let a=h=>h.map(A=>tE(A.title||A.name||"").replace(/\d+/g,"").trim()).filter(A=>A.length>1),o=a(t.links),c=a(e.links);if(o.length<3||c.length<3)return r;let u=oo(o.join(" ")),l=oo(c.join(" "));if(u!==l||u==="Unspecified")return r;let d=Math.min(o.length,c.length,5),f=0,p=0,m=[];for(let h=0;h<d;h++){let A=Math.floor(h*o.length/d),g=Math.floor(h*c.length/d),b=G0(o[A],c[g]);h<3&&m.push(`"${o[A]}" vs "${c[g]}" (${b.toFixed(2)})`),b>.6?f++:b<.3&&p++}return f>=Math.ceil(d*.6)?(r.isStrongMatch=!0,mt("info",`[Merge-Check] [Probe] \u91C7\u6837\u5BF9\u6BD4 (Match): ${m.join(", ")}`)):p>=Math.ceil(d*.8)&&(r.isStrongMismatch=!0,mt("info",`[Merge-Check] [Probe] \u91C7\u6837\u5BF9\u6BD4 (Mismatch): ${m.join(", ")}`)),r}function wie(t,e){let r=O.customMergeRules||[];if(r.length===0)return null;let n=bi(t.animeTitle,t.typeDescription,t.aliases),s=bi(e.animeTitle,e.typeDescription,e.aliases),i=(a,o)=>{let c=Gt(a||"").toLowerCase().replace(ye.Clean.FROM_SUFFIX,""),u=Gt(o||"").toLowerCase(),l=/[\((\[]?\d{4}[\))\]]?/.test(u),d=/【.*?】/.test(u)||/\[.*?\]/.test(u);if(l||(c=c.replace(/[\((\[]\d{4}[\))\]]/g,"")),!d){let f=c.match(/^(?:【|\[)(.+?)(?:】|\])/);if(f){let p=f[1];/^(TV|剧场版|åŠ‡å ´ç‰ˆ|movie|film|anime|动漫|动画|电影|电视剧|连续剧|综艺|真人秀|纪录片|日剧|韩剧|美剧|英剧|泰剧|国产剧|港剧|台剧|短剧|微短剧|特摄|OVA|OAD|SP|AVC|HEVC|MP4|MKV)$/i.test(p)||(c=c.replace(f[0],p+" "))}c=c.replace(ye.Clean.SOURCE_TAG,"").replace(/\[.*?\]/g,"")}return!u.includes("\u5B63")&&!u.includes("season")&&(c=c.replace(ye.Season.INFO_STRONG,"")),c=c.replace(ye.Clean.MOVIE_KEYWORDS,""),{target:Fr(c).replace(/\s+/g,""),rule:Fr(u).replace(/\s+/g,"")}};for(let a of r){let o=A=>String(A).split(Sg)[0],c=o(a.primary.source),u=o(a.secondary.source),l=String(t.source).split(Sg),d=String(e.source).split(Sg);if(!l.includes(c)||!d.includes(u))continue;let f=i(t.animeTitle,a.primary.title),p=i(e.animeTitle,a.secondary.title),m=f.target===f.rule,h=p.target===p.rule;if(!(!m||!h)&&!(a.primary.season!==null&&(n||1)!==a.primary.season)&&!(a.secondary.season!==null&&(s||1)!==a.secondary.season))return a}return null}function K0r(t,e,r=new Set,n=[]){if(!e||e.length===0)return[];let s=t.animeTitle||"",i=s.replace(ye.Clean.YEAR_TAG,"").replace(/【(电影|电视剧)】/g,"").trim(),a=!!i.match(ye.Lang.CN_DUB_VER)||ye.Lang.CN.test(i),o=t.source==="hanjutv",c=s.includes("N/A")||o?{year:null,month:null}:vnt(t.startDate),u=t.episodeCount||(t.links?t.links.length:0),l=oo(s),d=V0(i),f=Tc(i),p=co(s,t.typeDescription,t.aliases),m=Array.from(p).filter(w=>w.startsWith("S")),h=[{animeId:t.animeId,animeTitle:s},...e],A=V0r(h),g=A.has(String(t.animeId)),b=A.get(String(t.animeId)),y=r.has(t.animeId),x=(w,N)=>{mt("info",`[Merge-Check] \u62D2\u7EDD: [${t.source}] ${s} vs [${w}] -> ${N}`)},v=[],C=0;for(let w of e){let N=w.animeTitle||"",P=wie(t,w);if(P){if(P.action==="block"){x(N,"\u88AB\u6620\u5C04\u8868 [\xD7] \u660E\u786E\u7981\u6B62\u4E0E\u4E3B\u6E90\u5408\u5E76");continue}let X=oo(N);v.push({anime:w,score:1,lang:X,debugTitle:N,isCustomMapped:!0}),mt("info",`[Merge-Check] \u5408\u5E76\u6620\u5C04\u8868\u7279\u6743\u653E\u884C: [${t.source}] ${s} <-> [${w.source}] ${N}`);continue}if(!n.includes(w.source)){x(N,"\u8BE5\u6765\u6E90\u4E3A\u6620\u5C04\u8868\u52A8\u6001\u6CE8\u5165\uFF0C\u4E14\u672A\u547D\u4E2D\u7279\u6743\u89C4\u5219\uFF0C\u53D7\u9650\u4E8E\u6743\u9650\u6C99\u7BB1\u4E88\u4EE5\u963B\u65AD");continue}let L=r.has(w.animeId),M=y||L,k=w.source==="hanjutv",B=N.includes("N/A")||k?{year:null,month:null}:vnt(w.startDate),Z=oo(N),W=N.replace(ye.Clean.YEAR_TAG,"").replace(/【(电影|电视剧)】/g,"").trim(),F=!!W.match(ye.Lang.CN_DUB_VER)||ye.Lang.CN.test(W),V=a||F,j=w.episodeCount||(w.links?w.links.length:0);if(W.includes("\u4E4B")){let X=W.split("\u4E4B"),ie=V0(X[0]);if(d===ie){x(N,`\u7ED3\u6784\u51B2\u7A81: \u4E3B\u6807\u9898\u662F\u526F\u6807\u9898\u7684\u524D\u7F00\u7236\u96C6 (Prefix: "${ie}")`);continue}}if($0r(s,N,t.typeDescription,w.typeDescription,u,j,t.source,w.source)){let X=rE(s,t.typeDescription,t.source),ie=rE(N,w.typeDescription,w.source);x(N,`\u5A92\u4F53\u7C7B\u578B\u6216\u7EF4\u6570\u4E0D\u5339\u914D (P:${X}/${vg(s,t.typeDescription)} [${t.typeDescription}] vs S:${ie}/${vg(N,w.typeDescription)} [${w.typeDescription}])`);continue}let J=c.year!==null&&B.year!==null,se=W0r(s,N,J);if(A.has(String(w.animeId))){let X=A.get(String(w.animeId));if(f===Tc(X)&&!(ye.Season.SUFFIX_AMBIGUOUS.test(d)||r4.some(ce=>ce.regex.test(d)))){x(N,`\u4E0A\u4E0B\u6587\u963B\u65AD: \u4E3B\u6E90(S1) vs \u526F\u6E90(S2/S\u7EED\u4F5C) (Base: "${X}")`);continue}}if(g&&Tc(W)===Tc(b)){x(N,`\u4E0A\u4E0B\u6587\u963B\u65AD: \u4E3B\u6E90(S2/Sequel) vs \u526F\u6E90(Base/S1) (Base: "${b}")`);continue}if(!J&&se){x(N,"\u6807\u9898\u7ED3\u6784\u51B2\u7A81\u4E14\u65E5\u671F\u65E0\u6548");continue}let ue=U0r(i,W,t.typeDescription,w.typeDescription,t.aliases,w.aliases),Ce=z0r(t,w),we=s.search(ye.Clean.MOVIE_KEYWORDS)!==-1,qe=N.search(ye.Clean.MOVIE_KEYWORDS)!==-1;if(we!==qe){let X=co(N,w.typeDescription,w.aliases),ie=Ne=>Tc(Ne.replace(ye.Clean.MOVIE_KEYWORDS,"")),ce=ie(s),fe=ie(N);if(G0(ce,fe)>.9&&!p.has("SEQUEL")&&!X.has("SEQUEL")){x(N,`\u5267\u573A\u7248\u6807\u9898\u963B\u65AD: [${we?"Movie":"TV"}] vs [${qe?"Movie":"TV"}] (\u65E0\u7EED\u7BC7\u6807\u8BC6)`);continue}}let Fe=M?0:q0r(c,B,V);if(Fe===-1){let X=ue;if(Ce.isStrongMatch&&(X=!0),M&&(X=!0),se&&!M&&(X=!1),X&&c.year&&B.year&&Math.abs(c.year-B.year)>2&&!Ce.isStrongMatch&&!M&&(X=!1),!X){x(N,`\u65E5\u671F\u4E25\u91CD\u4E0D\u5339\u914D\u4E14\u65E0\u8C41\u514D (P:${c.year} vs S:${B.year}, IsDub:${V})`);continue}}if(!M&&F0r(i,W,t.typeDescription,w.typeDescription,t.aliases,w.aliases))if(Ce.isStrongMatch)mt("info",`[Merge-Check] \u5B63\u5EA6\u51B2\u7A81\u8C41\u514D: [${s}] vs [${N}] (Probe\u5F3A\u5339\u914D)`);else{x(N,"\u5B63\u5EA6\u6807\u8BB0\u51B2\u7A81");continue}let _e=X=>X?String(X).replace(ye.Clean.YEAR_TAG,"").replace(/【(电影|电视剧)】/g,"").trim():"",U=Array.from(new Set([i,...t.aliases||[]].map(_e).filter(Boolean))),G=Array.from(new Set([W,...w.aliases||[]].map(_e).filter(Boolean))),z=0,q=0;for(let X of U){let ie=Snt(X);for(let ce of G)z=Math.max(z,G0(X,ce)),q=Math.max(q,G0(ie,Snt(ce)))}let H=Math.max(z,q),ee=H;se&&(H+=ai.TITLE_STRUCTURE_CONFLICT),Fe!==-1&&(H+=Fe);let ne=l==="CN",re=Z==="CN";if(ne&&re?H+=ai.LANG_MATCH_CN:ne!==re&&(H+=ai.LANG_MISMATCH),Ce.isStrongMatch?(mt("info",`[Merge-Check] \u96C6\u5185\u5BB9\u63A2\u6D4B: \u5F3A\u5339\u914D! \u63D0\u5347\u5206\u6570 (\u539F\u5206: ${H.toFixed(2)}) -> ${Ql.SIMILARITY_STRONG}`),H=Math.max(H,Ql.SIMILARITY_STRONG)):Ce.isStrongMismatch&&(x(N,"\u96C6\u5185\u5BB9\u63A2\u6D4B: \u5F3A\u4E0D\u5339\u914D (\u96C6\u6807\u9898/\u5185\u5BB9\u5DEE\u5F02\u5DE8\u5927)"),H=0),H<Ql.SIMILARITY_MIN){let X=f,ie=Tc(W);x(N,`\u76F8\u4F3C\u5EA6\u4E0D\u8DB3: ${H.toFixed(2)} (Raw:${ee.toFixed(2)}, CleanA:"${X}", CleanB:"${ie}")`)}else H>C&&(C=H),v.push({anime:w,score:H,lang:Z,debugTitle:N}),mt("info",`[Merge-Check] \u5019\u9009\u9009\u4E2D: ${N} Score=${H.toFixed(2)} (BestSoFar=${C.toFixed(2)})`)}if(v.length===0||C<Ql.SIMILARITY_MIN&&!v.some(w=>w.isCustomMapped))return[];let R=v.filter(w=>{if(w.isCustomMapped||w.score>=C-Ql.TIER_DEFAULT||w.lang==="CN"&&w.score>=C-Ql.TIER_CN)return!0;let N=co(w.debugTitle,w.anime.typeDescription,w.anime.aliases);if(Array.from(N).some(L=>L.startsWith("P"))&&w.score>=C-Ql.TIER_PART){let L=Array.from(N).filter(M=>M.startsWith("S"));if(m.length>0&&L.length>0){if(m.some(k=>L.includes(k)))return!0}else return!0}return!1});return R.sort((w,N)=>w.isCustomMapped&&!N.isCustomMapped?-1:!w.isCustomMapped&&N.isCustomMapped?1:N.score-w.score),R.map(w=>w.anime)}function Y0r(t){let e=new Set;if(!t||t.length===0)return e;let r={\u4E00:"1",\u4E8C:"2",\u4E09:"3",\u56DB:"4",\u4E94:"5",\u516D:"6",\u4E03:"7",\u516B:"8",\u4E5D:"9",\u5341:"10"},n=new Map;t.forEach(s=>{let i=O.animes.find(f=>String(f.animeId)===String(s.animeId))||s,a=co(i.animeTitle,i.typeDescription,i.aliases);if(a.has("MOVIE")||a.has("OVA")||a.has("SP")||a.has("SEQUEL"))return;let o=Gt(s.animeTitle||""),c=o.match(/^(?:【|\[)(.+?)(?:】|\])/);if(c){let f=c[1];/^(TV|剧场版|åŠ‡å ´ç‰ˆ|movie|film|anime|动漫|动画|AVC|HEVC|MP4|MKV)$/i.test(f)||(o=o.replace(c[0],f+" "))}o=o.replace(/第([一二三四五六七八九十])å­£/g,(f,p)=>`\u7B2C${r[p]}\u5B63`);let u=o.replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.META_SUFFIX,"").replace(ye.Lang.KEYWORDS_STRONG,"");if(r4.forEach(f=>u=u.replace(f.regex,"")),u=u.replace(ye.Season.SUFFIX_AMBIGUOUS,"").replace(/(?:第|S)\d+(?:å­£|期|部)/gi,"").replace(/(?:Part|P)\s*\d+/gi,"").replace(/\s+/g,"").toLowerCase().trim(),!u)return;let l=rE(s.animeTitle,i.typeDescription,i.source),d=`${u}|${l}`;n.has(d)||n.set(d,[]),n.get(d).push(s)});for(let[s,i]of n.entries()){if(i.length<2)continue;let[a,o]=s.split("|"),c=i.map(f=>` - [${f.source}] ${f.animeTitle}`).join(`
`);mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u6B63\u5728\u68C0\u67E5\u5206\u7EC4: "${a}" [${o}] (\u5305\u542B ${i.length} \u4E2A\u6761\u76EE):
${c}`);let u=new Map,l=0;if(i.forEach(f=>{let p=O.animes.find(b=>String(b.animeId)===String(f.animeId))||f,m=co(p.animeTitle,p.typeDescription,p.aliases),h=1;for(let b of m)if(b.startsWith("S")){let y=parseInt(b.substring(1));isNaN(y)||(h=y)}if(h===1){let b=m.has("SEQUEL")||ye.Season.SUFFIX_SEQUEL.test(p.animeTitle),y=m.has("AMBIGUOUS")||ye.Season.SUFFIX_AMBIGUOUS.test(p.animeTitle);(b||y)&&(h=2,mt("info",`[Merge-Check] [Detail] [${p.source}] "${p.animeTitle}" -> \u5224\u5B9A\u4E3A S2 (Reason: Sequel/Ambiguous Suffix)`))}h>l&&(l=h);let A=0;p.links&&(/^(dandan|animeko)$/i.test(p.source)?A=p.links.filter(b=>{let y=b.title||b.name||"",x=y.replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();if(ye.Episode.SPECIAL_CHECK.test(x)||ye.Episode.DANDAN_IGNORE.test(x))return!1;let v=V0(y);return!(ye.Episode.SPECIAL_CHECK.test(v)||ye.Episode.DANDAN_IGNORE.test(v)||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(x)||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(y))}).length:A=p.links.length),u.has(p.source)||u.set(p.source,{seasonCounts:{},maxSeason:0,s1Candidates:[]});let g=u.get(p.source);g.seasonCounts[h]||(g.seasonCounts[h]=0),g.seasonCounts[h]=Math.max(g.seasonCounts[h],A),h>g.maxSeason&&(g.maxSeason=h),h===1&&g.s1Candidates.push({anime:p,originalCount:A})}),l<=1)continue;let d=Array.from(u.keys());for(let[f,p]of u.entries()){if(p.maxSeason>1)continue;let m=0,h=!1;for(let g of d){if(g===f)continue;let b=u.get(g);b.seasonCounts[1]&&(h=!0,b.seasonCounts[1]>m&&(m=b.seasonCounts[1]))}if(!h)continue;let A=m+Ql.COLLECTION_DIFF;p.s1Candidates.forEach(g=>{let b=m>0?g.originalCount/m:0;if(g.originalCount>A){if(b>Ql.COLLECTION_RATIO){mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u62D2\u7EDD: [${f}] ${g.anime.animeTitle} (Ratio too high: ${b.toFixed(2)} > ${Ql.COLLECTION_RATIO})`);return}e.add(g.anime.animeId),mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u53D1\u73B0\u7591\u4F3C\u5408\u96C6(\u5355\u4F53): [${f}] ${g.anime.animeTitle} (Count:${g.originalCount} > Thr:${A}, Ratio:${b.toFixed(2)}) -> \u6807\u8BB0\u4E3A\u5408\u96C6`)}else mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u672A\u547D\u4E2D: [${f}] ${g.anime.animeTitle} (Count:${g.originalCount} <= Threshold:${A})`)})}}return e}async function Cie(t){let{pAnime:e,availableSecondaries:r,curAnimes:n,groupConsumedIds:s,globalConsumedIds:i,generatedSignatures:a,epFilter:o,groupFingerprint:c,currentPrimarySource:u,logPrefix:l,limitSecondaryLang:d,collectionAnimeIds:f,allowReuseIds:p,collectionProgress:m,baseSecondaries:h}=t;if(f.has(e.animeId)&&s.has(e.animeId))return mt("info",`${l} \u8DF3\u8FC7: [${u}] \u662F\u5408\u96C6\u4E14\u5DF2\u4F5C\u4E3A\u7EC4\u5185\u526F\u6E90\u53C2\u4E0E\u8FC7\u5408\u5E76\u3002`),null;let A=vie(e);if(!A.links){let k=O.animes.find(B=>String(B.animeId)===String(e.animeId));A.links=k?.links?vie(k.links):[]}if(!A.links||A.links.length===0)return mt("warn",`${l} \u4E3B\u6E90\u6570\u636E\u4E0D\u5B8C\u6574\uFF0C\u8DF3\u8FC7: ${e.animeTitle}`),null;let g=e.animeTitle.replace(ye.Clean.FROM_SUFFIX,""),b=[],y=[e.animeId],x=!1,v=oo(e.animeTitle),C=t4(A.links,e.animeTitle,u),R=f.has(e.animeId),w=(k,B)=>k?B&&k.includes(B)?k.replace(B,""):k:"",N=Tc(e.animeTitle),P=n.filter(k=>Tc(k.animeTitle)===N),L=H0r(P,o,f);if(L.size>0){let k=Array.from(L.entries()).map(([B,Z])=>`S${B}=${Z}`).join(", ");(R||r.some(B=>n.some(Z=>Z.source===B&&f.has(Z.animeId))))&&mt("info",`${l} [\u5408\u96C6\u5904\u7406] \u6784\u5EFA\u5B63\u5EA6\u96C6\u6570\u5730\u56FE (Mode\u7B56\u7565): { ${k} }`)}let M=[];for(let k of r){let B=n.filter(V=>{if(V.source!==k)return!1;let j=wie(e,V);if(j)return j.action==="block"?(mt("info",`${l} \u62E6\u622A: \u526F\u6E90 [${V.source}] ${V.animeTitle} \u88AB\u6620\u5C04\u8868 [\xD7] \u89C4\u5219\u660E\u786E\u963B\u65AD`),!1):!0;if(R)return!0;let J=s.has(V.animeId),se=p&&p.has(V.animeId);return!(J&&!se)}),Z=[],W=new Set;for(let V of B)W.has(V.animeId)||(W.add(V.animeId),Z.push(V));if(B=Z,d&&(B=B.filter(V=>oo(V.animeTitle)===d)),B.length>1&&B.sort((V,j)=>{let J=oo(V.animeTitle)==="CN",se=oo(j.animeTitle)==="CN";return J===se?0:J?1:-1}),B.length===0)continue;let F=K0r(e,B,f,h);M.push(...F)}if(M.length>0){if(M.length>1&&(R||M.some(k=>f.has(k.animeId)))){M.sort((B,Z)=>{let W=bi(B.animeTitle,B.typeDescription,B.aliases)||1,F=bi(Z.animeTitle,Z.typeDescription,Z.aliases)||1;if(W!==F)return W-F;let V=r.indexOf(B.source),j=r.indexOf(Z.source);return V-j});let k=M.map(B=>`[${B.source}]S${bi(B.animeTitle,B.typeDescription,B.aliases)||1}`);mt("info",`${l} [\u5408\u96C6\u65F6\u5E8F] \u5DF2\u5C06\u8DE8\u6E90\u5339\u914D\u961F\u5217\u6309\u5B63\u6570\u5347\u5E8F\u6392\u5217\uFF0C\u4FDD\u969C\u5207\u7247\u63A8\u65AD\u4E25\u683C\u81EA\u4E3E: ${k.join(" -> ")}`)}for(let k of M){let B=k.source,Z=wie(e,k);if(Z&&Z.action==="block"){mt("info",`${l} [\u5B89\u5168\u7F51\u62E6\u622A] \u5173\u8054\u53D6\u6D88: [${u}] ${e.animeTitle} <-> [${B}] ${k.animeTitle} \u88AB\u660E\u786E\u963B\u65AD`);continue}if(!R&&!(p&&p.has(k.animeId))&&!Z&&s.has(k.animeId))continue;let W=O.animes.find(Pe=>String(Pe.animeId)===String(k.animeId));if(!W?.links)continue;let F=vie(W),V=[],j=new Set,J=[],se=[],oe=F.animeTitle.replace(ye.Clean.FROM_SUFFIX,""),ue=Int(A.links,u),Ce=Int(F.links,B),we=new Set([...Ce].filter(Pe=>!ue.has(Pe))),qe=new Set([...ue].filter(Pe=>!Ce.has(Pe)));qe.size>0&&Tnt(A.links,qe,u,`\u4E3B\u6E90:${u}`),we.size>0&&Tnt(F.links,we,B,`\u526F\u6E90:${B}`);let Fe=F.links,_e=Tie(A.links,o,u),U=Tie(Fe,o,B),G=oo(F.animeTitle),z=_e,q=U,H=0,ee=0,ne=f.has(k.animeId),re=(Pe,Ue,Ke)=>{let Ye=0,Ze=Ue;if(Ke&&Ke>1){let nt=!1,ct=Pe?e.animeId:k.animeId;if(m&&m.has(ct)){let tt=m.get(ct),Dt=Ke-1;if(tt[`S${Dt}`]!==void 0){let lt=tt[`S${Dt}`]+1;lt>0&&lt<Ue.length&&(Ze=Ue.slice(lt),Ye=lt,mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u5386\u53F2\u63A8\u65AD\u547D\u4E2D: \u6839\u636E S${Dt} \u7ED3\u675F\u4F4D\u7F6E (Index ${tt[`S${Dt}`]}), \u8BBE\u5B9A S${Ke} \u8D77\u70B9\u4E3A Index ${lt}`),nt=!0)}}if(!nt){let tt=0;for(let lt=1;lt<Ke;lt++)tt+=L.get(lt)||0;let Dt=tt;if(Dt>=Ue.length){let lt=(Ke-1)*12;lt<Ue.length&&(mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u8D77\u70B9\u8D8A\u754C\u4FEE\u6B63: \u539F\u8BA1\u7B97 ${Dt} > Total ${Ue.length}\uFF0C\u542F\u7528\u56DE\u9000\u4F30\u7B97 (S${Ke} -> Index ${lt})`),Dt=Math.max(0,lt-2))}if(Dt>0&&Dt<Ue.length){let lt=tt+(L.get(Ke)||999),De=Math.min(lt,Ue.length);Ze=Ue.slice(Dt,De),Ye=Dt;let Je=Pe?`\u4E3B\u6E90[${u}]`:`\u526F\u6E90[${B}]`;mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u68C0\u6D4B\u5230${Je}\u4E3A\u5408\u96C6 (Target: S${Ke}): \u65E0\u5386\u53F2\u63A8\u65AD(Defensive Fallback)\uFF0C\u4FE1\u4EFB\u5730\u56FE\u5207\u81F3 ${Dt}~${De} (\u5171 ${Ze.length} \u96C6) \u53C2\u4E0E\u5BF9\u9F50`)}else mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u653E\u5F03\u5207\u7247: \u8BA1\u7B97\u8D77\u70B9 ${Dt} \u8D85\u51FA\u8303\u56F4 (Total: ${Ue.length})`)}}else if(Ke===1){let nt=L.get(1);if(nt&&nt<Ue.length){Ze=Ue.slice(0,nt);let ct=Pe?`\u4E3B\u6E90[${u}]`:`\u526F\u6E90[${B}]`;mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u68C0\u6D4B\u5230${ct}\u4E3A\u5408\u96C6 (Target: S1): \u4F7F\u7528 Index 0~${nt} \u53C2\u4E0E\u5BF9\u9F50`)}}return{sliceStart:Ye,slicedList:Ze}};if(R&&!ne){let Pe=bi(F.animeTitle,F.typeDescription,F.aliases),Ue=re(!0,_e,Pe);z=Ue.slicedList,H=Ue.sliceStart}else if(!R&&ne){let Pe=bi(e.animeTitle,e.typeDescription,e.aliases),Ue=re(!1,U,Pe);q=Ue.slicedList,ee=Ue.sliceStart}A.animeId=Q0r(A.animeId,k.animeId,c),A.bangumiId=String(A.animeId);let X=0,ie=t4(F.links,F.animeTitle,B),ce=Pe=>Pe.isSpecial||Pe.isStrictSpecial||Pe.num!==null&&Pe.num%1!==0,fe=new Map,Ne=0;if(Z&&Z.hasRoutes){mt("info",`${l} \u542F\u7528\u6620\u5C04\u8868\u7CBE\u786E\u8DEF\u7531: ${e.animeTitle} <-> ${k.animeTitle}`);let Ue=wnt(z,q,v,G,u,B,e.animeTitle,F.animeTitle)+H-ee;Ne=Ue;let Ke=new Map;for(let Ye of Z.routes){let Ze=Ye.sec.end-Ye.sec.start+1,nt=Ye.prim.end-Ye.prim.start+1;if(Ze!==nt){mt("warn",`[Merge] [\u6620\u5C04\u8868] \u8DEF\u7531\u533A\u95F4\u8DE8\u5EA6\u4E0D\u5BF9\u7B49\uFF0C\u8DF3\u8FC7\u6B64\u6BB5: E${Ye.sec.start}~E${Ye.sec.end} > E${Ye.prim.start}~E${Ye.prim.end}`);continue}for(let ct=0;ct<Ze;ct++)Ke.set(Ye.sec.start+ct,Ye.prim.start+ct)}for(let Ye=0;Ye<U.length;Ye++){let Ze=U[Ye],nt=Ze.link,ct=nt.name||nt.title||`Index ${Ye}`,tt=w(nt.title||nt.name,ie),Dt=Aa(tt,B),lt={link:nt,originalIndex:Ze.originalIndex,relativeIndex:-1,info:Dt},De=Dt.num;if(De===null&&!Dt.isStrictSpecial&&(De=Ye+1),De===null||!Ke.has(De)){lt.relativeIndex=Ye+Ue,V.push({idx:lt.relativeIndex,text:` [\u672A\u8DEF\u7531\u843D\u5355] ${ct} (\u5E94\u7528\u63A8\u65AD\u504F\u79FB\u4F4D\u7F6E)`}),se.push(lt);continue}let Je=Ke.get(De),ft=_e.findIndex((rt,bt)=>{let An=Aa(w(rt.link.title||rt.link.name,C),u),Ct=An.num;return Ct===null&&!An.isStrictSpecial&&(Ct=bt+1),Ct===Je&&!An.isSpecial&&!An.isStrictSpecial});if(ft!==-1){fe.set(Ye,ft),lt.relativeIndex=ft;let rt=_e[ft].originalIndex,bt=A.links[rt],An=bt.name||bt.title||`Index ${rt}`,Ct=Iie(nt.url),Sr=bt.url,Us=`${B}:${Ct}`;Sr.includes(Iu)||Sr.startsWith(u+":")||(Sr=`${u}:${Sr}`);let Dr=`${Sr}${Iu}${Us}`,qs=bt.title;if(qs){let js=B,ys=(nt.title||"").match(/^【([^】\d]+)(?:\d*)】/);ys&&(js=ys[1].trim()),qs=qs.replace(/^【([^】]+)】/,(Hs,Lu)=>`\u3010${Lu}${Sg}${js}\u3011`)}V.push({idx:ft,text:` [\u5DF2\u8DEF\u7531\u6620\u5C04] ${An} <-> ${ct} (Rule: E${De}>E${Je})`}),j.add(ft),X++,J.push({linkIndex:rt,newUrl:Dr,newTitle:qs})}else lt.relativeIndex=Ye+Ue,V.push({idx:lt.relativeIndex,text:` [\u8DEF\u7531\u5931\u8D25] \u4E3B\u6E90\u627E\u4E0D\u5230 E${Je} <-> ${ct}`}),se.push(lt)}}else{Z&&mt("info",`${l} \u547D\u4E2D\u6620\u5C04\u8868\u5E38\u89C4\u5408\u5E76: [${B}] ${k.animeTitle} -> [${u}] ${e.animeTitle} (\u5DF2\u514D\u68C0\u653E\u884C\uFF0C\u4EA4\u7531\u7CFB\u7EDF\u81EA\u52A8\u5BF9\u9F50)`),Ne=wnt(z,q,v,G,u,B,e.animeTitle,F.animeTitle)+H-ee,Ne!==0&&mt("info",`${l} \u96C6\u6570\u81EA\u52A8\u5BF9\u9F50 (${B}): Offset=${Ne} (P:${_e.length}, S:${U.length})`);let Ue=new Map,Ke=null;U.forEach((ct,tt)=>{let Dt=_e[tt+Ne];if(!Dt)return;let lt=w(Dt.link.title||Dt.link.name,C),De=w(ct.link.title||ct.link.name,ie),Je=Aa(lt,u),ft=Aa(De,B);if(Je.num===null||ft.num===null||ce(Je)||ce(ft))return;let rt=Je.num-ft.num,An=1+(G0(tE(lt),tE(De))>.45?1:0);Ke!==null&&Je.num-Ke>1?An=.1:Ke=Je.num,Ue.set(rt,(Ue.get(rt)||0)+An)});let Ye=Ue.size>0?[...Ue.entries()].reduce((ct,tt)=>tt[1]>ct[1]?tt:ct)[0]:null,Ze=_e.reduce((ct,tt,Dt)=>{let lt=Aa(w(tt.link.title||tt.link.name,C),u);return ce(lt)&&!lt.isPV&&ct.push(Dt),ct},[]),nt=0;for(let ct=0;ct<U.length;ct++){let tt=ct+Ne,Dt=U[ct],lt=Dt.link,De=lt.name||lt.title||`Index ${ct}`,Je=w(lt.title||lt.name,ie),ft=Aa(Je,B),rt={link:lt,originalIndex:Dt.originalIndex,relativeIndex:tt,info:ft},bt=ce(ft);if(Ye!==null&&ft.num!==null&&!bt){let An=ft.num+Ye;if(tt=_e.findIndex(Ct=>{let Sr=Aa(w(Ct.link.title||Ct.link.name,C),u);return Sr.num===An&&!ce(Sr)}),tt!==-1)rt.relativeIndex=tt;else{let Ct=-.5;for(let Sr=_e.length-1;Sr>=0;Sr--){let Us=Aa(w(_e[Sr].link.title||_e[Sr].link.name,C),u);if(Us.num!==null&&!Us.isSpecial&&Us.num<An){Ct=Sr;break}}rt.relativeIndex=Ct+ct*.001+.1}}else if(bt){let An=-1,Ct=.65,Sr=tE(Je);for(let Us of Ze){let Dr=w(_e[Us].link.title||_e[Us].link.name,C),qs=Aa(Dr,u);if(ft.isPV!==qs.isPV)continue;let js=G0(Sr,tE(Dr));js>Ct&&(Ct=js,An=Us)}An===-1&&!ft.isPV&&nt<Ze.length&&(An=Ze[nt]),ft.isPV||nt++,tt=An,rt.relativeIndex=tt!==-1?tt:_e.length+ct*.001}else rt.relativeIndex=tt!==-1?tt:ct+Ne;if(tt>=0&&tt<_e.length){fe.set(ct,tt);let An=_e[tt].originalIndex,Ct=A.links[An],Sr=Ct.name||Ct.title||`Index ${An}`,Us=w(Ct.title,C),Dr=e4(Us),qs=e4(Je),js=Aa(Us,u);if(ft.isPV&&!Dr){V.push({idx:rt.relativeIndex,text:` [\u7565\u8FC7] ${Sr} =/= ${De} (PV\u4E0D\u5339\u914D\u6B63\u7247)`}),se.push(rt);continue}if(Dr!==qs){V.push({idx:rt.relativeIndex,text:` [\u7565\u8FC7] ${Sr} =/= ${De} (\u7279\u6B8A\u96C6\u7C7B\u578B\u4E0D\u5339\u914D)`}),se.push(rt);continue}let ys=js.isStrictSpecial||js.num!==null&&js.num%1!==0,Hs=ft.isStrictSpecial||ft.num!==null&&ft.num%1!==0,Lu=!js.isSpecial&&(js.num===null||js.num%1===0),go=!ft.isSpecial&&(ft.num===null||ft.num%1===0);if(ys&&go||Hs&&Lu){V.push({idx:rt.relativeIndex,text:` [\u7565\u8FC7] ${Sr} =/= ${De} (\u6B63\u7247\u4E0E\u756A\u5916\u963B\u65AD)`}),se.push(rt);continue}let Dc=Iie(lt.url),Ta=Ct.url,yn=`${B}:${Dc}`;Ta.includes(Iu)||Ta.startsWith(u+":")||(Ta=`${u}:${Ta}`);let wa=`${Ta}${Iu}${yn}`,rd=Ct.title;if(rd){let Ao=B;if(lt.title){let bA=lt.title.match(/^【([^】\d]+)(?:\d*)】/);bA&&(Ao=bA[1].trim())}rd=rd.replace(/^【([^】]+)】/,(bA,l6)=>`\u3010${l6}${Sg}${Ao}\u3011`)}V.push({idx:rt.relativeIndex,text:` [\u5339\u914D] ${Sr} <-> ${De}`}),j.add(tt),X++,J.push({linkIndex:An,newUrl:wa,newTitle:rd})}else V.push({idx:rt.relativeIndex,text:` [\u843D\u5355] (\u4E3B\u6E90\u8D8A\u754C) <-> ${De}`}),se.push(rt)}}for(let Pe=0;Pe<_e.length;Pe++)if(!j.has(Pe)){let Ue=_e[Pe].originalIndex,Ke=A.links[Ue],Ye=Ke.name||Ke.title||`Index ${Ue}`;V.push({idx:Pe,text:` [\u843D\u5355] ${Ye} <-> (\u526F\u6E90\u7F3A\u5931\u6216\u88AB\u7565\u8FC7)`})}if(X>0){let Pe=f.has(e.animeId)||f.has(k.animeId),Ue=!1;if(Z?Ue=X>0:Ue=j0r(X,_e.length,U.length,u,B,Pe),Ue){for(let De of J){let Je=A.links[De.linkIndex];Je.url=De.newUrl,Je.title=De.newTitle}let Ke=De=>De?De.replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim():"",Ye=Ke(A.animeTitle);A.aliases=[...new Set([...A.aliases||[],...F.aliases||[],...k.aliases||[],Ke(F.animeTitle)])].filter(De=>De&&De!==Ye),mt("info",`${l} \u5173\u8054\u6210\u529F: [${u}] ${g} <-> [${B}] ${oe} (\u672C\u6B21\u5408\u5E76 ${X} \u96C6)`),V.length>0&&(V.sort((De,Je)=>De.idx-Je.idx),mt("info",`${l} [${B}] \u6620\u5C04\u8BE6\u60C5:
${V.map(De=>De.text).join(`
`)}`)),A.mergedChildren=A.mergedChildren||[],A.mergedChildren.some(De=>String(De.animeId)===String(k.animeId)&&De.source===k.source)||A.mergedChildren.push({animeId:k.animeId,animeTitle:k.animeTitle,source:k.source,episodes:F.links?F.links.length:0,imageUrl:k.imageUrl||""});let Ze=O.animes.find(De=>String(De.animeId)===String(k.animeId)&&De.source===k.source);if(Ze&&(Ze.isHiddenChild=!0),m&&(ne||R)){let De=-1;if(R&&!ne){for(let Je=0;Je<U.length;Je++){let ft=fe.has(Je)?fe.get(Je):Je+Ne;if(j.has(ft)){let rt=_e[ft].originalIndex;rt>De&&(De=rt)}}if(De!==-1){let Je=bi(F.animeTitle,F.typeDescription,F.aliases)||1;m.has(e.animeId)||m.set(e.animeId,{});let ft=m.get(e.animeId);X>=3&&(ft[`S${Je}`]=De)}}else if(!R&&ne){for(let Je=0;Je<U.length;Je++){let ft=fe.has(Je)?fe.get(Je):Je+Ne;if(j.has(ft)){let rt=U[Je];rt.originalIndex>De&&(De=rt.originalIndex)}}if(De!==-1){let Je=bi(e.animeTitle,e.typeDescription,e.aliases)||1;m.has(k.animeId)||m.set(k.animeId,{});let ft=m.get(k.animeId);X>=3&&(ft[`S${Je}`]=De,mt("info",`[Merge-Check] \u66F4\u65B0\u5408\u96C6\u8FDB\u5EA6 [${k.animeId}]: S${Je} -> MaxIndex ${De}`))}}}let nt=bi(e.animeTitle,e.typeDescription,e.aliases)||1,ct=bi(F.animeTitle,F.typeDescription,F.aliases)||1,tt=Z&&nt!==ct;f.has(k.animeId)||tt?mt("info",`${l} [\u667A\u80FD\u8865\u5168] \u8DF3\u8FC7: \u526F\u6E90 [${B}] \u4E3A\u5408\u96C6\u6216\u89E6\u53D1\u8DE8\u5B63\u5EA6\u6620\u5C04\uFF0C\u4E3A\u907F\u514D\u6DF7\u5165\u5176\u4ED6\u5B63\u5EA6\u96C6\u6570\uFF0C\u4E0D\u6267\u884C\u8865\u5168\u3002`):G0r(A,se,B);let Dt=[],lt=[];A.links.forEach(De=>{let Je=De.title.replace(ye.Clean.SOURCE_TAG,"").trim();ye.Episode.SINK_TITLE_STRICT.test(Je)?lt.push(De):Dt.push(De)}),lt.length>0&&(A.links=[...Dt,...lt],mt("info",`${l} [\u6392\u5E8F\u4F18\u5316] \u7ACB\u5373\u6267\u884C\u756A\u5916\u6C89\u5E95: \u79FB\u52A8\u4E86 ${lt.length} \u4E2A\u756A\u5916\u96C6\u5230\u672B\u5C3E`)),x=!0,b.push(B),y.push(k.animeId)}else mt("info",`${l} \u5173\u8054\u53D6\u6D88: [${u}] ${g} <-> [${B}] ${oe} (\u5339\u914D\u7387\u8FC7\u4F4E: ${X}/${Math.max(_e.length,U.length)})`)}}}if(x){let k=y.join("|");if(a.has(k))return mt("info",`${l} \u68C0\u6D4B\u5230\u91CD\u590D\u7684\u5408\u5E76\u7ED3\u679C (Signature: ${k})\uFF0C\u5DF2\u81EA\u52A8\u9690\u53BB\u5197\u4F59\u6761\u76EE\u3002`),null;a.add(k);let B=O.animes.find(W=>String(W.animeId)===String(e.animeId)&&W.source===e.source);B&&(B.isHiddenChild=!0);for(let W=1;W<y.length;W++){let F=y[W];f.has(F)?mt("info",`${l} \u5408\u96C6\u4FDD\u7559: ID [${F}] \u662F\u5408\u96C6\uFF0C\u4FDD\u7559\u4EE5\u4F9B\u540C\u7EC4\u590D\u7528\u3002`):s.add(F),i.add(F)}let Z=b.join(Sg);return A.animeTitle=A.animeTitle.replace(`from ${u}`,`from ${u}${Sg}${Z}`),A.source=u,A}return null}async function Lnt(t,e=null){if(!t||t.length<2)return;let r=O.mergeSourcePairs||[],n=O.customMergeRules||[],s=new Map;for(let p of n){if(p.action==="block")continue;let m=p.primary.source.split("&")[0],h=p.secondary.source.split("&")[0];s.has(m)||s.set(m,new Set),s.get(m).add(h)}let i=r.map(p=>({primary:p.primary,secondaries:[...p.secondaries],baseSecondaries:[...p.secondaries]}));for(let[p,m]of s.entries()){let h=i.find(A=>A.primary===p);h||(h={primary:p,secondaries:[],baseSecondaries:[]},i.push(h));for(let A of m)h.secondaries.includes(A)||h.secondaries.push(A)}if(!i||i.length===0)return;mt("info",`[Merge] \u542F\u52A8\u6E90\u5408\u5E76\u7B56\u7565\uFF0C\u7EC4\u5408\u8BA1\u7B97\u540E\u7684\u914D\u7F6E: ${JSON.stringify(i)}`);let a=O.episodeTitleFilter;if(a&&typeof a=="string")try{a=new RegExp(a,"i")}catch{a=null}let o=Y0r(t),c=new Map,u=[],l=new Set,d=new Set,f=new Set;i.forEach(p=>{p.secondaries.length===0&&f.add(p.primary)});for(let p of i){if(p.secondaries.length===0)continue;let m=new Map,h=[p.primary,...p.secondaries];h.forEach((w,N)=>m.set(w,N));let A=h.join("&"),g=new Set,b=(w,N)=>{if(!w||w.length<2)return w;mt("info",`[Merge-Check] [Sort] ${N} \u6392\u5E8F\u524D\u9996\u4E2A\u5143\u7D20: ${w[0].animeTitle}`),w.sort((L,M)=>{let k=m.get(L.source)??99,B=m.get(M.source)??99;if(k!==B)return k-B;let Z=J=>{let se=co(J.animeTitle,J.typeDescription,J.aliases);return se.has("MOVIE")||se.has("OVA")||se.has("SP")||vg(J.animeTitle,J.typeDescription)==="MOVIE"?2:1},W=Z(L),F=Z(M);if(W!==F)return W-F;let V=bi(L.animeTitle,L.typeDescription,L.aliases)||1,j=bi(M.animeTitle,M.typeDescription,M.aliases)||1;return V-j});let P=w.map(L=>{let M=bi(L.animeTitle,L.typeDescription,L.aliases)||1,k=co(L.animeTitle,L.typeDescription,L.aliases).has("MOVIE")||vg(L.animeTitle,L.typeDescription)==="MOVIE"?"Movie":`S${M}`;return`[P${m.get(L.source)??"?"}] [${k}] [${L.source}] ${L.animeTitle}`});return mt("info",`[Merge-Check] [Sort] ${N} \u6267\u884C\u987A\u5E8F:
${P.join(`
`)}`),w},y=[];h.forEach(w=>{t.filter(P=>P.source===w&&!g.has(P.animeId)&&oo(P.animeTitle)==="CN").forEach(P=>y.push(P))});let x=!1;for(let w of h)if(t.some(N=>N.source===w&&!g.has(N.animeId)&&oo(N.animeTitle)==="CN")){x=!0;break}if(y.length>0&&x){mt("info",`[Merge] [Phase 1] \u542F\u52A8 CN \u9694\u79BB\u7B56\u7565: \u5305\u542B ${y.length} \u4E2A CN \u8D44\u6E90\u3002`),b(y,"Phase 1");for(let w of y){if(g.has(w.animeId))continue;let N=m.get(w.source),P=h.slice(N+1);if(P.length===0)continue;let L=await Cie({pAnime:w,availableSecondaries:P,curAnimes:t,groupConsumedIds:g,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:A,currentPrimarySource:w.source,logPrefix:"[Merge][Phase 1: CN-Strict]",limitSecondaryLang:"CN",collectionAnimeIds:o,collectionProgress:c,baseSecondaries:p.baseSecondaries});L&&(u.push(L),g.add(w.animeId),d.add(w.animeId))}}let v=[];for(let w=1;w<h.length;w++){let N=h[w];t.filter(L=>L.source===N&&!g.has(L.animeId)&&oo(L.animeTitle)==="CN").forEach(L=>v.push(L))}if(v.length>=2){mt("info",`[Merge] [Phase 1.5] \u542F\u52A8\u526F\u6E90 CN \u81EA\u7EC4\u7EC7: \u68C0\u6D4B\u5230 ${v.length} \u4E2A\u5269\u4F59 CN \u8D44\u6E90\u3002`),b(v,"Phase 1.5");for(let w of v){if(g.has(w.animeId))continue;let N=m.get(w.source),P=h.slice(N+1);if(P.length===0)continue;let L=await Cie({pAnime:w,availableSecondaries:P,curAnimes:t,groupConsumedIds:g,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:A,currentPrimarySource:w.source,logPrefix:"[Merge][Phase 1.5: CN-Secondary]",limitSecondaryLang:"CN",collectionAnimeIds:o,collectionProgress:c,baseSecondaries:p.baseSecondaries});L&&(u.push(L),g.add(w.animeId),d.add(w.animeId))}}let C=[];h.forEach(w=>{t.filter(P=>P.source===w&&!g.has(P.animeId)).forEach(P=>C.push(P))});let R=new Set(C.map(w=>w.source));if(C.length>0&&R.size>=2){mt("info",`[Merge] [Phase 2] \u542F\u52A8\u6807\u51C6\u56DE\u9000\u5339\u914D: \u5269\u4F59 ${C.length} \u4E2A\u8D44\u6E90\u3002`),b(C,"Phase 2");for(let w of C){if(g.has(w.animeId))continue;let N=m.get(w.source),P=h.slice(N+1);if(P.length===0)continue;let L=co(w.animeTitle,w.typeDescription,w.aliases),M=Array.from(L).some(Z=>Z.startsWith("P")),k=null;if(M){k=new Set;let Z=bi(w.animeTitle,w.typeDescription,w.aliases)||1;for(let W of d){let F=O.animes.find(J=>String(J.animeId)===String(W));if(!F||!P.includes(F.source))continue;let V=co(F.animeTitle,F.typeDescription,F.aliases);if(Array.from(V).some(J=>J.startsWith("P")))continue;let j=bi(F.animeTitle,F.typeDescription,F.aliases)||1;Z===j&&k.add(F.animeId)}}let B=await Cie({pAnime:w,availableSecondaries:P,curAnimes:t,groupConsumedIds:g,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:A,currentPrimarySource:w.source,logPrefix:"[Merge][Phase 2: Standard]",collectionAnimeIds:o,allowReuseIds:k,collectionProgress:c,baseSecondaries:p.baseSecondaries});B&&(u.push(B),g.add(w.animeId),d.add(w.animeId))}}}if(u.length>0){for(let p of u)Lt(p,e);t.unshift(...u)}if(f.size>0)for(let p of t)d.has(p.animeId)&&f.has(p.source)&&d.delete(p.animeId);for(let p=t.length-1;p>=0;p--){let m=t[p];(m._isMerged||d.has(m.animeId))&&t.splice(p,1)}u.length>0?mt("info",`[Merge] \u5408\u5E76\u6267\u884C\u5B8C\u6BD5\uFF0C\u65B0\u589E\u4E86 ${u.length} \u4E2A\u5408\u5E76\u9879\uFF0C\u6700\u7EC8\u5217\u8868\u6570\u91CF: ${t.length}`):mt("info",`[Merge] \u626B\u63CF\u5B8C\u6BD5\uFF0C\u672A\u4EA7\u751F\u4EFB\u4F55\u5408\u5E76\uFF0C\u5217\u8868\u4FDD\u6301\u4E0D\u53D8 (\u6570\u91CF: ${t.length})`)}function Nnt(t){if(t.p&&typeof t.p=="string"){let e=parseFloat(t.p.split(",")[0]);if(!isNaN(e))return e}return t.t!==void 0&&t.t!==null?Number(t.t):typeof t.progress=="number"?t.progress/1e3:0}function Ont(t){if(t){if(typeof t.m=="string")return t.m;if(typeof t.text=="string")return t.text;if(typeof t.content=="string")return t.content}return""}function Pnt(t){return!t||typeof t!="string"?"":t.replace(/[\s.,!?"'(){}\[\]<>;:,。!?、""''()【】《》;:~~]/g,"").toLowerCase()}function Bnt(t,e){let r=[...t||[],...e||[]],n=s=>{if(!s)return 0;if(s.t!==void 0&&s.t!==null)return Number(s.t);if(s.p&&typeof s.p=="string"){let i=parseFloat(s.p.split(",")[0]);return isNaN(i)?0:i}return 0};return r.sort((s,i)=>n(s)-n(i)),r}function Mnt(t,e,r,n=.8,s=1){let i=e.indexOf("dandan");if(i===-1||!t[i]?.length)return mt("info","[Merge][AlignTimeline] \u65E0 dandan \u6E90\u6216\u65E0\u6570\u636E\uFF0C\u8DF3\u8FC7\u65F6\u95F4\u8F74\u5BF9\u9F50"),t;let a=t[i],o=a.length,c=new Map;return a.forEach(u=>{let l=Pnt(Ont(u)),d=Nnt(u);l&&(!c.has(l)||d<c.get(l))&&c.set(l,d)}),t.forEach((u,l)=>{let d=e[l];if(d==="dandan"||!u?.length)return;let f=new Map,p=[],m=0;u.forEach(x=>{let v=Pnt(Ont(x)),C=Nnt(x);if(p.push({danmu:x,time:C}),v&&c.has(v)){m++;let R=Math.round(C-c.get(v));f.set(R,(f.get(R)||0)+1)}});let h=0,A=0;f.forEach((x,v)=>{x>A&&(A=x,h=v)});let g=Math.min(o,u.length),b=A/g,y=m>0?A/m:0;if(m/g<n||b<.05||y<.15){mt("info",`[Merge][AlignTimeline] ${d}:${r[l]} \u5339\u914D\u7387\u6216\u96C6\u4E2D\u5EA6\u8FC7\u4F4E (\u6709\u6548:${(b*100).toFixed(1)}%, \u96C6\u4E2D\u5EA6:${(y*100).toFixed(1)}%)\uFF0C\u8DF3\u8FC7\u5BF9\u9F50`);return}if(Math.abs(h)<s){mt("info",`[Merge][AlignTimeline] ${d}:${r[l]} \u6700\u4F73\u504F\u79FB ${h}s \u4F4E\u4E8E\u9608\u503C\uFF0C\u65E0\u9700\u5BF9\u9F50`);return}mt("info",`[Merge][AlignTimeline] ${d}:${r[l]} \u5E94\u7528\u504F\u79FB ${h}s (\u83B7 ${A} \u7968)`),p.forEach(({danmu:x,time:v})=>{let C=Math.max(0,v-h);typeof x.p=="string"&&(x.p=x.p.replace(/^[^,]+(?=,)/,C.toFixed(2))),x.t!=null&&(x.t=C),typeof x.progress=="number"&&(x.progress=Math.round(C*1e3))})}),t}Is();function Unt(t,e=Date.now()){let r=Number(t);return Number.isFinite(r)&&r>0?Math.trunc(r):Math.trunc(Number(e)||Date.now())}function J0r(t=""){return PL(eg(t)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function X0r(t=""){let e=String(t||"").trim();if(!e)return"";let r=e.replace(/-/g,"+").replace(/_/g,"/").padEnd(Math.ceil(e.length/4)*4,"=");return Cc(IC(r))}var qnt="6.8.2",Z0r="a_8280",emr="xiaomi",jnt="Redmi Note 12",tmr="Xiaomi",Hnt="14",rmr=`HanjuTV/${qnt} (${jnt}; Android ${Hnt}; Scale/2.00)`,Qnt=14*24*60*60*1e3,Wnt="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Gnt="f349wghhe784tqwh",Vnt="d3w8hf94fidk38lk",nmr="34F9Q53w/HJW8E6Q",$nt="fb3597b87601d5a7";function HT(t){return typeof TextEncoder<"u"?new TextEncoder().encode(t):eg(t)}function smr(t){return typeof TextDecoder<"u"?new TextDecoder().decode(t):Cc(t)}function znt(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function imr(t,e=16){let r=t.length%e,n=r===0?e:e-r,s=new Uint8Array(t.length+n);return s.set(t,0),s.fill(n,t.length),s}function amr(t){return t.replace(/[\u0000-\u001f\u007f-\u009f]/g,"")}function nE(t,e,r){let n=new Uint8Array(16);for(let s=0;s<4;s++)for(let i=0;i<4;i++)n[i+4*s]=t[i+4*s]^e[r*4+s][i];return n}function Fnt(t){let e=new Uint8Array(16);for(let r=0;r<4;r++)for(let n=0;n<4;n++)e[r+4*n]=t[r+4*((n+r)%4)];return e}function Un(t,e){let r=0,n=t,s=e;for(let i=0;i<8;i++){s&1&&(r^=n);let a=n&128;n=n<<1&255,a&&(n^=27),s>>=1}return r}function omr(t){let e=new Uint8Array(16);for(let r=0;r<4;r++){let n=t.slice(4*r,4*r+4);e[4*r+0]=Un(n[0],2)^Un(n[1],3)^n[2]^n[3],e[4*r+1]=n[0]^Un(n[1],2)^Un(n[2],3)^n[3],e[4*r+2]=n[0]^n[1]^Un(n[2],2)^Un(n[3],3),e[4*r+3]=Un(n[0],3)^n[1]^n[2]^Un(n[3],2)}return e}function cmr(t){let e=new Uint8Array(16);for(let r=0;r<4;r++){let n=t.slice(4*r,4*r+4);e[4*r+0]=Un(n[0],14)^Un(n[1],11)^Un(n[2],13)^Un(n[3],9),e[4*r+1]=Un(n[0],9)^Un(n[1],14)^Un(n[2],11)^Un(n[3],13),e[4*r+2]=Un(n[0],13)^Un(n[1],9)^Un(n[2],14)^Un(n[3],11),e[4*r+3]=Un(n[0],11)^Un(n[1],13)^Un(n[2],9)^Un(n[3],14)}return e}function umr(t,e){let r=new Uint8Array(t);r=nE(r,e,0);for(let n=1;n<=9;n++)r=NL(r),r=Fnt(r),r=omr(r),r=nE(r,e,n);return r=NL(r),r=Fnt(r),r=nE(r,e,10),r}function lmr(t,e){let r=new Uint8Array(t);r=nE(r,e,10);for(let n=9;n>=1;n--)r=CC(r),r=vC(r),r=nE(r,e,n),r=cmr(r);return r=CC(r),r=vC(r),r=nE(r,e,0),r}function dmr(t,e,r){let n=imr(t,16),s=OL(e),i=new Uint8Array(n.length),a=new Uint8Array(r);for(let o=0;o<n.length;o+=16){let c=n.slice(o,o+16),u=znt(c,a),l=umr(u,s);i.set(l,o),a=l}return i}function fmr(t,e,r){if(t.length%16!==0)throw new Error(`\u5BC6\u6587\u957F\u5EA6\u4E0D\u662F16\u7684\u500D\u6570: ${t.length}`);let n=OL(e),s=new Uint8Array(t.length),i=new Uint8Array(r);for(let a=0;a<t.length;a+=16){let o=t.slice(a,a+16),c=znt(lmr(o,n),i);s.set(c,a),i=o}return s}async function n4(t,e,r){let n=HT(e),s=HT(r),i=HT(t),a=dmr(i,n,s);return PL(a)}async function pmr(t,e,r){let n=HT(e),s=HT(r),i=IC(t),a=fmr(i,n,s);return smr(a)}function Knt(t){if(globalThis.crypto?.getRandomValues){let e=new Uint8Array(1);return globalThis.crypto.getRandomValues(e),e[0]%t}return Math.floor(Math.random()*t)}function Ynt(t=20){let e="";for(let r=0;r<t;r++)e+=Wnt[Knt(Wnt.length)];return e}function s4(t,e){let r="";for(let n=0;n<e;n++)r+=t[Knt(t.length)];return r}function mmr(t,e=Date.now()){let r=Unt(e);return{uid:t||Ynt(),said:s4("0123456789abcdef",16),oa:s4("0123456789abcdef",16),installTs:Math.max(0,r-Qnt)}}function hmr(t,e){let r=Unt(e,t.installTs+Qnt);return JSON.stringify({emu:0,ou:0,it:t.installTs,iit:t.installTs,bs:0,uid:t.uid,pc:0,tm:81,d8m:"0,0,0,0,0,0,0,4",md:jnt,maker:tmr,osv:Hnt,br:95,rpc:0,scc:2,plc:6,toc:19,tsc:10,ts:r,pa:1,crec:0,nw:2,px:"0",isp:"",ai:t.said,oa:t.oa,dpc:0,dsc:0,qpc:0,apad:0,pk:"com.babycloud.hanju"})}async function Jnt(t=Date.now(),e=Ynt()){let r=mmr(e,t),n=Ls(r.uid),s=await n4(r.uid,Gnt,Vnt);return async function(a=Date.now()){let o=hmr(r,a),c=await n4(o,n.slice(0,16),n.slice(16,32));return{uid:r.uid,headers:{app:"hj",ch:emr,said:r.said,uk:s,vn:qnt,sign:c,"User-Agent":rmr,vc:Z0r,"Accept-Encoding":"gzip",Connection:"Keep-Alive"}}}}async function Xnt(t=Date.now()){let e=s4("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",20),r=s4("0123456789abcdef",16);return async function(s=Date.now()){let i=Ls(e),a=JSON.stringify({emu:0,ou:0,it:t,iit:t,bs:0,uid:e,isp:"",pc:0,tm:50,d8m:"0,0,0,0,0,0,14,7",md:"23127PN0CC",dn:"",osv:"16",br:50,rpc:0,scc:1,plc:1,toc:5,tsc:7,ts:s,nw:2,px:"0",ai:$nt,oa:r,dpc:0,dsc:0,qpc:0,apad:0}),o=await n4(e,Gnt,Vnt),c=await n4(a,i.slice(0,16),i.slice(16,32));return{uid:e,headers:{version:"a_22570","version-name":"1.7.2",channel:"xiaomi","app-type":"ztv","User-Agent":"ZTV/1.7.2 (23127PN0CC; Android 16; Scale/2.00)",said:$nt,di:o,token:"",uid:"",rp:c,"Accept-Encoding":"gzip",Connection:"Keep-Alive"}}}}async function Rie(t,e=""){if(!t||typeof t!="object"||Array.isArray(t)||typeof t.data!="string"||t.data.length===0)return t;let r=t.ts??"",n=typeof t.key=="string"&&t.key?t.key:"";if(!n&&e&&r!==""&&(n=Ls(`${e}${r}`)),!n)throw new Error("\u7F3A\u5C11\u89E3\u5BC6 key\uFF0C\u4E14\u65E0\u6CD5\u901A\u8FC7 uid+ts \u63A8\u5BFC");let s=Ls(`${n}${nmr}`),i=s.slice(0,16),a=s.slice(16,32),o=await pmr(t.data,i,a),c=amr(o).trim();return JSON.parse(c)}function Znt(t=""){let e=String(t||"").trim();return e.startsWith("hanjutv:")?e.slice(8):e}function jT(t="",e=!1){let r=String(t||"").trim();return r?{id:r,preferTv:e,rawId:`${e?"tv":"hxq"}:${r}`}:null}function gmr(t=""){if(!t.startsWith("merge:"))return null;try{let e=X0r(t.slice(6)),r=JSON.parse(e),n=String(r?.hxq||"").trim(),s=String(r?.tv||"").trim();return!n||!s?null:{hxqId:n,tvId:s}}catch{return null}}function est(t="",e=""){let r=String(t||"").trim(),n=String(e||"").trim();return!r||!n?"":`merge:${J0r(JSON.stringify({hxq:r,tv:n}))}`}function tst(t=""){let e=Znt(t);if(!e)return{id:"",preferTv:!1,rawId:"",refs:[]};let r=gmr(e);if(r){let s=[jT(r.hxqId,!1),jT(r.tvId,!0)].filter(Boolean);return{id:s[0]?.id||"",preferTv:!1,rawId:e,refs:s}}if(e.startsWith("tv:")){let s=jT(e.slice(3),!0);return{id:s?.id||"",preferTv:!0,rawId:s?.rawId||"",refs:s?[s]:[]}}if(e.startsWith("hxq:")){let s=jT(e.slice(4),!1);return{id:s?.id||"",preferTv:!1,rawId:s?.rawId||"",refs:s?[s]:[]}}let n=jT(e,!1);return{id:n?.id||"",preferTv:!1,rawId:n?.rawId||"",refs:n?[n]:[]}}function i4(t=""){let e=Znt(t);return e.startsWith("merge:")?"\u97E9\u5C0F\u5708\uFF06\u6781\u901F\u7248":e.startsWith("tv:")?"\u6781\u901F\u7248":"\u97E9\u5C0F\u5708"}St();hn();var wt=class{constructor(){}async search(e){throw new Error("Method 'search' must be implemented")}async getEpisodes(e){throw new Error("Method 'Episodes' must be implemented")}async handleAnimes(e,r,n,s=null,i=null){throw new Error("Method 'handleAnimes' must be implemented")}async getEpisodeDanmu(e){throw new Error("Method 'getEpisodeDanmu' must be implemented")}async getEpisodeDanmuSegments(e){throw new Error("Method 'getEpisodeDanmuSegments' must be implemented")}async getEpisodeSegmentDanmu(e){throw new Error("Method 'getEpisodeSegmentDanmu' must be implemented")}formatComments(e){throw new Error("Method 'formatComments' must be implemented")}async getComments(e,r,n=!1,s=null){if(n)return s&&await s(5,`\u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55\u5206\u7247\u5217\u8868`),_("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55\u5206\u7247\u5217\u8868`),await this.getEpisodeDanmuSegments(e);s&&await s(5,`\u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55`),_("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55`);let i=await this.getEpisodeDanmu(e);s&&await s(85,`\u539F\u59CB\u5F39\u5E55 ${i.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`),_("info",`[system] [Base] \u539F\u59CB\u5F39\u5E55 ${i.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`);let a=this.formatComments(i);return s&&await s(100,`\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${a.length} \u6761`),_("info",`[system] [Base] \u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${a.length} \u6761`),MC(a,r)}async getSegmentComments(e,r=null){r&&await r(5,`\u5F00\u59CB\u83B7\u53D6\u5206\u7247\u5F39\u5E55${e.type}\u5F39\u5E55`),_("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5206\u7247\u5F39\u5E55${e.type}\u5F39\u5E55`);let n=await this.getEpisodeSegmentDanmu(e);r&&await r(85,`\u539F\u59CB\u5206\u7247\u5F39\u5E55 ${n.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`),_("info",`[system] [Base] \u539F\u59CB\u5206\u7247\u5F39\u5E55 ${n.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`);let s=this.formatComments(n);return r&&await r(100,`\u5206\u7247\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${s.length} \u6761`),_("info",`[system] [Base] \u5206\u7247\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${s.length} \u6761`),MC(s,e.type)}sortAndPushAnimesByYear(e,r){e.filter(n=>n!==null).sort((n,s)=>{let i=W0(n.animeTitle),a=W0(s.animeTitle);if(i!=null&&a!==null&&a!==void 0){if(a!==i)return a-i;let o=Yz(n.animeTitle),c=Yz(s.animeTitle);return o.length-c.length}return i!=null&&a==null?-1:i==null&&a!=null?1:0}).forEach(n=>{r.findIndex(i=>i.animeId===n.animeId)===-1&&r.push(n)})}};Pt();St();ar();function Pr(t){let e=parseInt(t);return isNaN(e)||e<1900||e>2100?`${new Date().getFullYear()}-01-01T00:00:00Z`:`${e}-01-01T00:00:00Z`}function Cg(t){let e=t.split(":").map(Number),r=0;return e.length===3?r=e[0]*3600+e[1]*60+e[2]:e.length===2?r=e[0]*60+e[1]:r=e[0],r}$n();hn();var QT=class extends wt{async get360Zongyi(e,r,n,s){try{let i=[];for(let a=0;a<=10;a++){let u=(await(await ge(`https://api.so.360kan.com/episodeszongyi?entid=${r}&site=${n}&y=${s}&count=20&offset=${a*20}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data).data.list;if(_("info",`[360kan] 360kan zongyi response: \u7B2C${a}\u9875\u83B7\u53D6\u5230${u?u.length:0}\u6761\u5267\u96C6`),!u)break;for(let l of u){let d=l.name.match(/第(\d+)期([上中下])?/)||l.period.match(/第(\d+)期([上中下])?/),f=d?d[1]:null;f&&d[2]&&(f=d[2]==="\u4E0A"?`${f}.1`:d[2]==="\u4E2D"?`${f}.2`:`${f}.3`),i.push({name:l.id,url:l.url,title:`\u3010${n}\u3011 ${l.name} ${l.period}`,sort:f||l.sort||null})}_("info",`[360kan] links.length: ${i.length}`)}return i.sort((a,o)=>{if(!a.sort||!o.sort)return 0;let c=parseFloat(a.sort),u=parseFloat(o.sort);return c-u}),i}catch(i){return _("error","[360kan] get360Animes error:",{message:i.message,name:i.name,stack:i.stack}),[]}}async getNumber(e,r,n){try{let s=`https://api.web.360kan.com/v1/detail?cat=${e}&id=${r}&site=${n}`,a=(await ge(s,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data;if(a&&a.data&&a.data.allupinfo)return Number(a.data.allupinfo[n])}catch(s){_("error","[360kan] getNumber error:",s&&s.message?s.message:s)}return null}async get360Detail(e,r,n,s,i){try{let a=`https://api.web.360kan.com/v1/detail?cat=${e}&id=${r}&start=${s}&end=${i}&site=${n}`;return(await ge(a,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data}catch(a){_("error","[360kan] get360Detail error:",a&&a.message?a.message:a)}return null}async getEpisodesV1(e,r,n,s){try{if(!s||Number(s)===0)return[];let i=200,a=1,o=[],c=Number(s);for(;a<=c;){let u=Math.min(a+i-1,c);try{let l=await this.get360Detail(e,r,n,a,u);if(l&&l.data&&l.data.allepidetail&&l.data.allepidetail[n])for(let d of l.data.allepidetail[n])o.push({name:d.playlink_num,url:d.url});else{if(a===1)return[];break}}catch(l){if(_("error",`[360kan] getEpisodesV1 batch ${a}-${u} failed for site ${n}: ${l&&l.message?l.message:l}`),a===1)return[];break}a=u+1}return o}catch(i){return _("error",`getEpisodesV1 error: ${i&&i.message?i.message:i}`),[]}}async getEpisodesV2(e,r,n){try{let s=JSON.stringify([{cat_id:String(e),ent_id:String(r),site:n}]),i=`https://api.so.360kan.com/episodesv2?v_ap=1&s=${encodeURIComponent(s)}`,o=(await ge(i,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data;if(typeof o=="string")try{o=JSON.parse(o)}catch(c){return _("error",`[360kan] getEpisodesV2 JSON parse error: ${c.message}`),[]}if(!o)return[];if(o.code===0&&Array.isArray(o.data)&&o.data.length>0){let c=o.data[0].seriesHTML||{},u=c.seriesPlaylinks||c.series_playlinks||[],l=[];for(let d=0;d<u.length;d++){let f=u[d];if(f){if(typeof f=="string")l.push({name:(d+1).toString(),url:f,sort:(d+1).toString()});else if(typeof f=="object"){let p=f.url,m=d+1;l.push({name:String(m),url:p||""})}}}return l.filter(d=>d.url)}return[]}catch(s){return _("error","[360kan] getEpisodesV2 error:",{message:s&&s.message?s.message:String(s),stack:s&&s.stack?s.stack:void 0}),[]}}async search(e){try{let n=(await ge(`https://api.so.360kan.com/index?force_v=1&kw=${encodeURIComponent(e)}&from=&pageno=1&v_ap=1&tab=all`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data,s=[];return"rows"in n.data.longData&&(s=n.data.longData.rows),_("info",`[360kan] 360kan response: ${JSON.stringify(s)}`),_("info",`[360kan] 360kan animes.length: ${s.length}`),s}catch(r){return _("error","[360kan] get360Animes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[360kan] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.titleTxt,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.titleTxt).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[360kan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=[];if(l.cat_name==="\u7535\u5F71")for(let f of Object.keys(l.playlinks))O.vodAllowedPlatforms.includes(f)&&d.push({name:f.toString(),url:l.playlinks[f],title:`\u3010${f}\u3011 ${l.titleTxt}(${l.year})`});else if(l.cat_name==="\u7535\u89C6\u5267"||l.cat_name==="\u52A8\u6F2B"){let f=0;l.cat_name==="\u7535\u89C6\u5267"?f=2:l.cat_name==="\u52A8\u6F2B"&&(f=4);let p=null;if(Array.isArray(l.seriesPlaylinks)&&l.seriesPlaylinks.length>0){if(O.vodAllowedPlatforms.includes(l.seriesSite))for(let m=0;m<l.seriesPlaylinks.length;m++){let h=l.seriesPlaylinks[m],A="";h&&typeof h=="object"?A=h.url||"":typeof h=="string"&&(A=l.playlinks&&l.playlinks[l.seriesSite]?l.playlinks[l.seriesSite]:""),A&&d.push({name:(m+1).toString(),url:A,title:`\u3010${l.seriesSite}\u3011 \u7B2C${m+1}\u96C6`})}}else if(l.playlinks&&typeof l.playlinks=="object"){for(let m of Object.keys(l.playlinks))if(O.vodAllowedPlatforms.includes(m))try{let h=l.en_id,A=await this.getEpisodesV2(f,h,m);if(A&&A.length>0)for(let g of A)d.push({name:g.name,url:g.url,title:`\u3010${m}\u3011 \u7B2C${g.name}\u96C6`,sort:g.name});else try{let g=await this.getNumber(f,h,m);if(g&&Number(g)>0){let b=await this.getEpisodesV1(f,h,m,g);if(b&&b.length>0)for(let y of b)d.push({name:y.name,url:y.url,title:`\u3010${m}\u3011 \u7B2C${y.name}\u96C6`,sort:y.name})}}catch(g){_("error",`[360kan] fallback detail fetch failed for site ${m}: ${g&&g.message?g.message:g}`)}}catch(h){_("error",`[360kan] failed to fetch episodesv2 for site ${m}: ${h&&h.message?h.message:h}`)}}}else l.cat_name==="\u7EFC\u827A"&&(d=(await Promise.all(Object.keys(l.playlinks_year).map(async p=>O.vodAllowedPlatforms.includes(p)?(await Promise.all(l.playlinks_year[p].map(async h=>await this.get360Zongyi(l.titleTxt,l.id,p,h)))).flat():[]))).flat());if(d.length>0){let f={animeId:Number(l.id),bangumiId:String(l.id),animeTitle:`${l.titleTxt}(${l.year})\u3010${l.cat_name}\u3011from 360`,type:l.cat_name,typeDescription:l.cat_name,imageUrl:l.cover,startDate:Pr(l.year),episodeCount:d.length,rating:0,isFavorited:!0,source:"360"};a.push(f),Lt({...f,links:d},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[360kan] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){}formatComments(e){}};Pt();St();ar();$n();hn();var GT=class extends wt{async getVodAnimes(e,r,n){try{let s=$8e(e),i=encodeURIComponent(s),a=await ge(`${r}/api.php/provide/vod/?ac=detail&wd=${i}&pg=1`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});if(a&&a.data&&a.data.list&&a.data.list.length>0){_("info",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u6210\u529F`);let o=a.data;return _("info",`[VOD] ${n} response: \u2193\u2193\u2193`),ts(o),{serverName:n,list:o.list}}else return _("info",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u6210\u529F\uFF0C\u4F46 response.data.list \u4E3A\u7A7A`),{serverName:n,list:[]}}catch(s){return _("error",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u5931\u8D25:`,{message:s.message,name:s.name,stack:s.stack}),{serverName:n,list:[]}}}async getVodAnimesFromAllServersImpl(e,r){let n=r.map(i=>this.getVodAnimes(e,i.url,i.name));return(await Promise.allSettled(n)).filter(i=>i.status==="fulfilled").map(i=>i.value)}async getVodAnimesFromFastestServer(e,r,n=null,s=null){if(!r||r.length===0)return[];let i=r.map(l=>this.getVodAnimes(e,l.url,l.name)),a;try{a=await Promise.race(i)}catch(l){return _("error","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u76F4\u63A5\u629B\u9519",l),[]}let o=l=>!n||s!=="vod"?!0:(JSON.stringify(l)?.toLowerCase()||"").includes(String(n).toLowerCase());if(o(a)&&a&&a.list&&a.list.length>0)return _("info",`[VOD fastest mode] \u6700\u5FEB\u670D\u52A1\u5668 ${a.serverName}${s==="vod"?" \u5B57\u7B26\u4E32\u5305\u542B preferAnimeId \u2192 \u4F18\u5148\u4F7F\u7528":""}`),[a];_("info",`[VOD fastest mode] \u6700\u5FEB\u670D\u52A1\u5668 ${a.serverName} \u4E0D\u542B preferAnimeId\uFF0C\u7B49\u5F85\u5176\u4ED6\u670D\u52A1\u5668\u2026`);let c=await Promise.allSettled(i);if(n){for(let l of c)if(l.status==="fulfilled"&&o(l.value)&&l.value&&l.value.list&&l.value.list.length>0)return _("info",`[VOD fastest mode] \u627E\u5230\u5305\u542B preferAnimeId \u7684\u670D\u52A1\u5668: ${l.value.serverName}`),[l.value];_("info","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u90FD\u4E0D\u5305\u542B preferAnimeId\uFF0C\u56DE\u9000\u5230\u201C\u771F\u6B63\u6709\u6570\u636E\u201D\u7684\u6700\u5FEB\u670D\u52A1\u5668")}let u=c.filter(l=>l.status==="fulfilled").map(l=>l.value).filter(l=>l&&l.list&&l.list.length>0);if(u.length>0){let l=u[0];return _("info",`[VOD fastest mode] \u4F7F\u7528\u6700\u5FEB\u6709\u6570\u636E\u7684\u670D\u52A1\u5668: ${l.serverName}`),[l]}return _("error","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u5747\u65E0\u6709\u6548\u6570\u636E"),[]}async search(e,r=null,n=null){return!O.vodServers||O.vodServers.length===0?[]:O.vodReturnMode==="fastest"?await this.getVodAnimesFromFastestServer(e,O.vodServers,r,n):await this.getVodAnimesFromAllServersImpl(e,O.vodServers)}async getEpisodes(e){}async handleAnimes(e,r,n,s,i=null,a=null){let o=[];if(!e||!Array.isArray(e))return _("error","[VOD] sourceAnimes is not a valid array"),[];let c=e.filter(d=>yt(d.vod_name,r,a)),u=a!==null?a:$t(r);if(u!==null){let d=c.filter(f=>{let p=Tt(f.vod_name).season;return p===u||u===1&&p===null});d.length>0&&(c=d,_("info",`[VOD] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${u}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l=await Promise.all(c.map(async d=>{try{let f=d.vod_play_from.split("$$$");f=f.map(g=>g==="mgtv"?"imgo":g==="bilibili"?"bilibili1":g);let p=d.vod_play_url.split("$$$"),m=f.map((g,b)=>O.vodAllowedPlatforms.includes(g)?b:-1).filter(g=>g!==-1),h=[],A=0;for(let g of m){let b=f[g],y=p[g].split("#");for(let x of y){let v=x.split("$");A++,h.push({name:A.toString(),url:v[1],title:`\u3010${b}\u3011 ${v[0]}`})}}if(h.length>0){let g={animeId:Number(d.vod_id),bangumiId:String(d.vod_id),animeTitle:`${d.vod_name}(${d.vod_year})\u3010${d.type_name}\u3011from ${s}`,type:d.type_name,typeDescription:d.type_name,imageUrl:d.vod_pic,startDate:Pr(d.vod_year),episodeCount:h.length,rating:0,isFavorited:!0,source:"vod"};o.push(g),Lt({...g,links:h},i),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(f){_("error",`[VOD] Error processing anime: ${f.message}`)}}));return this.sortAndPushAnimesByYear(o,n),l}async getEpisodeDanmu(e){}formatComments(e){}};St();St();ar();Pt();async function rst(t){let e="https://m.douban.com/rexxar/api/v2",r={Referer:"https://m.douban.com/movie/","Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"};O.doubanCookie&&(r.Cookie=O.doubanCookie);try{let n=await ge(`${e}${t}`,{method:"GET",headers:r});return n.status!=200?null:n}catch(n){return _("error","[Utils] [Douban] GET API error:",{message:n.message,name:n.name,stack:n.stack}),null}}async function nst(t,e={}){let r="https://api.douban.com/v2";try{let n=await Vr(`${r}${t}`,JSON.stringify({...e,apikey:"0ac44ae016490db2204ce0a042db2916"}),{method:"GET",headers:{Referer:"https://api.douban.com","Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return n.status!=200?null:n}catch(n){return _("error","[Utils] [Douban] POST API error:",{message:n.message,name:n.name,stack:n.stack}),null}}async function sst(t,e=20){let r=`/search?q=${t}&start=0&count=${e}&type=movie`;return await rst(r)}async function ist(t,e=20){return await nst("/movie/search",{q:t,start:0,count:e})}async function ast(t){let e=`/movie/${t}?for_mobile=1`;return await rst(e)}async function ost(t){let e=`/movie/imdb/${t}`;return await nst(e)}St();ar();async function cst(t){let e="https://api.imdbapi.dev";try{let r=await ge(`${e}${t}`,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return r.status!=200?null:r}catch(r){return _("error","[Utils] [IMDB] API error:",{message:r.message,name:r.name,stack:r.stack}),null}}async function ust(t){let e=`/titles/${t}/seasons`;return await cst(e)}async function lst(t,e){let r=`/titles/${t}/episodes?season=${e}`;return await cst(r)}var VT=class extends wt{constructor(e){super("BaseSource"),this.doubanSource=e}async _getDoubanInfo(e,r,n){if(!e)return;let s=await ost(e);if(!s||!s?.data)return;let i=s?.data?.id;if(i){let o=i.split("/").pop(),c=r==="movie"?"\u7535\u5F71":"\u7535\u89C6\u5267";o&&n.push({layout:"subject",target_id:o,type_name:c,target:{cover_url:s.data?.image,title:s.data?.alt_title}})}}async getDoubanIdByTmdbId(e,r){try{let n=[],i=(await ynt(e,r)).data?.imdb_id;if(!i)return[];if(e==="movie")await this._getDoubanInfo(i,e,n);else{let a=await ust(i);_("info","[TMDB] imdb seasons:",a.data.seasons);let o=(a?.data?.seasons??[]).map(async c=>{let u=i;_("info","[TMDB] imdb season:",c.season);try{Number(c.season)!==1&&(u=(await lst(i,c.season)).data?.episodes.find(d=>d.episodeNumber===1)?.id??""),await this._getDoubanInfo(u,e,n)}catch(l){_("error",`[TMDB] \u5904\u7406\u7B2C ${c.season} \u5B63\u5931\u8D25\uFF0C\u7EE7\u7EED\u6267\u884C\u5176\u4ED6\u5B63:`,l)}});await Promise.all(o)}return n}catch(n){return _("error","[TMDB] getTmdbIds error:",{message:n.message,name:n.name,stack:n.stack}),[]}}async search(e){try{let n=(await ZB(e)).data,s=[],i=[];n?.results?.length>0&&(i=n.results.filter(c=>(c.name||c.title)===e)),_("info",`[TMDB] tmdb items.length: ${i.length}`);let a=i.map(async c=>{try{return await this.getDoubanIdByTmdbId(c.media_type,c.id)}catch(u){return _("error",`[TMDB] \u83B7\u53D6 TMDB ID ${c.id} \u7684\u8C46\u74E3 ID \u5931\u8D25\uFF0C\u7EE7\u7EED\u5904\u7406\u5176\u4ED6\u6761\u76EE:`,u),[]}}),o=await Promise.all(a);return s=[...s,...o.flat()],s}catch(r){return _("error","[TMDB] getTmdbAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){}async handleAnimes(e,r,n,s=null,i=null){return this.doubanSource.handleAnimes(e,r,n,s,i)}async getEpisodeDanmu(e){}formatComments(e){}};St();hn();var zT=class extends wt{constructor(e,r,n,s,i){super("BaseSource"),this.tencentSource=e,this.iqiyiSource=r,this.youkuSource=n,this.bilibiliSource=s,this.miguSource=i}async search(e){try{let n=(await sst(e))?.data;if(!n||!n?.subjects?.items?.length&&!n?.smart_box?.length){_("info","[Douban] searchDoubanTitles failed or empty, trying searchDoubanTitlesByPublic");let a=(await ist(e))?.data;a?.subjects?.length>0&&(n={subjects:{items:a.subjects.map(o=>this.convertToOriginalFormat(o))}})}let s=[];return n?.subjects?.items?.length>0&&(s=[...s,...n.subjects.items]),n?.smart_box?.length>0&&(s=[...s,...n.smart_box]),_("info",`[Douban] douban animes.length: ${s.length}`),s}catch(r){return _("error","[Douban] getDoubanAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}convertToOriginalFormat(e){let n={movie:"\u7535\u5F71",tv:"\u7535\u89C6\u5267"}[e.subtype]||e.subtype,s=e.images?.large||e.images?.medium||e.images?.small||"",i="";if(s){let u=s.match(/\/(p\d+)\.jpg/);u&&u[1]&&(i=`https://qnmob3.doubanio.com/view/photo/large/public/${u[1]}.jpg?imageView2/0/q/80/w/9999/h/120/format/jpg`)}let a=e.directors?.map(u=>u.name).join(" ")||"",o=e.casts?.slice(0,3).map(u=>u.name).join(" ")||"",c=`${e.year} / ${e.genres?.join(" / ")||""} / ${a}${o?" / "+o:""}`;return{layout:"subject",type_name:n,target_id:String(e.id),target:{rating:{count:e.collect_count||0,max:e.rating?.max||10,star_count:e.rating?.stars?parseInt(e.rating.stars)/10:0,value:e.rating?.average||0},controversy_reason:"",title:e.title,abstract:"",has_linewatch:!1,uri:`douban://douban.com/${e.subtype==="movie"?"movie":"tv"}/${e.id}`,cover_url:i,year:String(e.year||""),card_subtitle:c,id:String(e.id),null_rating_reason:""},target_type:e.subtype==="movie"?"movie":"tv"}}async getEpisodes(e){}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Douban] sourceAnimes is not a valid array"),[];let o=e.filter(l=>{let d=l?.target?.title||"";return yt(d,r,i)}),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=d?.target?.title||"",p=Tt(f).season;return p===c||c===1&&p===null});l.length>0&&(o=l,_("info",`[Douban] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.allSettled(o.map(async l=>{try{if(l?.layout!=="subject")return;let d=l.target_id,f=l?.type_name;if(f!=="\u7535\u5F71"&&f!=="\u7535\u89C6\u5267")return;_("info","[Douban] doubanId: ",d,l?.target?.title,f);let p=await ast(d),m=[];for(let h of p.data?.vendors??[]){if(!h)continue;_("info","[Douban] vendor uri: ",h.uri),p.data?.genres.includes("\u771F\u4EBA\u79C0")?f="\u7EFC\u827A":p.data?.genres.includes("\u7EAA\u5F55\u7247")?f="\u7EAA\u5F55\u7247":f==="\u7535\u89C6\u5267"&&p.data?.genres.includes("\u52A8\u753B")&&p.data?.countries.some(g=>g.includes("\u4E2D\u56FD"))?f="\u56FD\u6F2B":f==="\u7535\u89C6\u5267"&&p.data?.genres.includes("\u52A8\u753B")&&p.data?.countries.includes("\u65E5\u672C")?f="\u65E5\u756A":f==="\u7535\u89C6\u5267"&&p.data?.genres.includes("\u52A8\u753B")?f="\u52A8\u6F2B":f==="\u7535\u5F71"&&p.data?.genres.includes("\u52A8\u753B")?f="\u52A8\u753B\u7535\u5F71":f==="\u7535\u5F71"&&p.data?.countries.some(g=>g.includes("\u4E2D\u56FD"))?f="\u534E\u8BED\u7535\u5F71":f==="\u7535\u5F71"?f="\u5916\u8BED\u7535\u5F71":f==="\u7535\u89C6\u5267"&&p.data?.countries.some(g=>g.includes("\u4E2D\u56FD"))?f="\u56FD\u4EA7\u5267":f==="\u7535\u89C6\u5267"&&p.data?.countries.some(g=>["\u65E5\u672C","\u97E9\u56FD"].includes(g))?f="\u65E5\u97E9\u5267":f==="\u7535\u89C6\u5267"&&p.data?.countries.some(g=>["\u7F8E\u56FD","\u82F1\u56FD","\u52A0\u62FF\u5927","\u6CD5\u56FD","\u5FB7\u56FD","\u610F\u5927\u5229","\u897F\u73ED\u7259","\u6FB3\u5927\u5229\u4E9A"].includes(g))&&(f="\u6B27\u7F8E\u5267");let A=[{title:p.data?.title,year:p.data?.year,type:f,imageUrl:l?.target?.cover_url}];switch(h.id){case"qq":{let g=new URL(h.uri).searchParams.get("cid");g&&(A[0].provider="tencent",A[0].mediaId=g,await this.tencentSource.handleAnimes(A,p.data?.title,a,s,i));break}case"iqiyi":{let g=new URL(h.uri).searchParams.get("tvid");g&&(A[0].provider="iqiyi",A[0].mediaId=l?.type_name==="\u7535\u5F71"?`movie_${g}`:g,await this.iqiyiSource.handleAnimes(A,p.data?.title,a,s,i));break}case"youku":{let g=new URL(h.uri).searchParams.get("showid");g&&(A[0].provider="youku",A[0].mediaId=g,await this.youkuSource.handleAnimes(A,p.data?.title,a,s,i));break}case"bilibili":{let g=new URL(h.uri).pathname.split("/").pop();g&&(A[0].provider="bilibili",A[0].mediaId=`ss${g}`,await this.bilibiliSource.handleAnimes(A,p.data?.title,a,s,i));break}case"miguvideo":{let g=null,y=decodeURIComponent(h.uri).match(/"contentID":"([^"]+)"/);y&&y[1]&&(g=y[1]),g&&(A[0].provider="migu",A[0].mediaId=`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${g}/1`,await this.miguSource.handleAnimes(A,p.data?.title,a,s,i));break}}}return m}catch(d){return _("error",`[Douban] Error processing anime: ${d.message}`),[]}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){}formatComments(e){}};Pt();St();ar();Is();$n();hn();hs();var qf=null,KT=0,YT=0,zi={search:"WIN",detail:"TV",danmu:"TV"},JT=class extends wt{constructor(){super(),this.isBatchMode=!1}API_CONFIG={TV_SECRET_KEY:"cf65GPholnICgyw1xbrpA79XVkizOdMq",TV_HOST:"api.gorafie.com",TV_DANMU_HOST:"static-dm.qwdjapp.com",TV_VERSION:"1.2.2",TV_USER_AGENT:"okhttp/3.12.13",TV_CLIENT_TYPE:"android_qwtv_RRSP",TV_PKT:"rrmj",MAC_HOST:"api.cluuid.cn",MAC_DANMU_HOST:"static-dm.lequkeji.com",MAC_VERSION:"1.2.3",MAC_USER_AGENT:"%E4%BA%BA%E4%BA%BA%E8%A7%86%E9%A2%91%20for%20Mac/1.0 CFNetwork/3860.600.21 Darwin/25.5.0",MAC_CLIENT_TYPE:"mac_rrsp",WIN_HOST:"api.pleasfun.com",WIN_DANMU_HOST:"static-dm.lequkeji.com",WIN_VERSION:"1.24.2",WIN_USER_AGENT:"Boost.Beast/351",WIN_CLIENT_TYPE:"win_rrsp_gw",WEB_HOST:"api.rrmj.plus",WEB_DANMU_HOST:"static-dm.rrmj.plus"};generateRandomAliId(){let e="aY",r=24-e.length,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=e;for(let i=0;i<r;i++)s+=n.charAt(Math.floor(Math.random()*n.length));return s}generateMacAliId(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let r=Math.random()*16|0;return(e==="x"?r:r&3|8).toString(16).toUpperCase()})}generateWinAliId(){return Array.from({length:32},()=>Math.floor(Math.random()*16).toString(16)).join("").toUpperCase()}generateDeviceId(){return Math.random().toString(36).slice(2).toUpperCase()}rotateAliId(){let e=qf;qf=this.generateRandomAliId(),KT=0,YT=Math.floor(Math.random()*31)+30,e?_("info",`[Renren] AliID \u8F6E\u6362\u5B8C\u6210: ${e} -> ${qf}`):_("info",`[Renren] AliID \u521D\u59CB\u5316\u5B8C\u6210: ${qf}`),_("info",`[Renren] AliID \u4E0B\u6B21\u8F6E\u6362\u5C06\u5728 ${YT} \u6B21\u64CD\u4F5C\u540E\u89E6\u53D1`)}checkAndIncrementUsage(){qf||this.rotateAliId(),KT>=YT&&(_("info",`[Renren] AliID \u89E6\u53D1\u9608\u503C (${KT}/${YT})\uFF0C\u6B63\u5728\u8F6E\u6362 ID...`),this.rotateAliId()),KT++,_("info",`[Renren] AliID \u8BA1\u6570\u589E\u52A0: ${KT}/${YT} (\u5F53\u524DID: ...${qf.slice(-6)})`)}getAliId(){return qf||this.rotateAliId(),this.isBatchMode||this.checkAndIncrementUsage(),qf}generateTvHeaders(e,r){let n=this.getAliId();return{clientVersion:this.API_CONFIG.TV_VERSION,p:"Android",deviceid:"tWEtIN7JG2DTDkBBigvj6A%3D%3D",token:"",aliid:n,umid:"",clienttype:this.API_CONFIG.TV_CLIENT_TYPE,pkt:this.API_CONFIG.TV_PKT,t:e.toString(),sign:r,isAgree:"1",et:"2","Accept-Encoding":"gzip","User-Agent":this.API_CONFIG.TV_USER_AGENT}}buildMacHeaders(){return{aliId:this.generateMacAliId(),ct:this.API_CONFIG.MAC_CLIENT_TYPE,cv:this.API_CONFIG.MAC_VERSION,token:"",Accept:"*/*","Accept-Language":"zh-CN,zh-Hans;q=0.9","User-Agent":this.API_CONFIG.MAC_USER_AGENT}}buildWinHeaders(){return{aliId:this.generateWinAliId(),ct:this.API_CONFIG.WIN_CLIENT_TYPE,cv:this.API_CONFIG.WIN_VERSION,token:"","Content-Type":"application/json","User-Agent":this.API_CONFIG.WIN_USER_AGENT}}generateSignature(e,r,n,s,i,a,o,c){let u=`${e.toUpperCase()}
aliId:${r}
ct:${n}
cv:${s}
t:${i}
${a}?${o}`;return D8e(c,u)}buildSignedHeaders({method:e,url:r,params:n={},deviceId:s,token:i}){let a={client_type:"web_pc",client_version:"1.0.0",user_agent:"Mozilla/5.0",origin:"https://rrsp.com.cn",referer:"https://rrsp.com.cn/"},o=T8e(r),c=SC(n),u=Date.now(),d=this.generateSignature(e,s,a.client_type,a.client_version,u,o,c,"ES513W0B1CsdUrR13Qk5EgDAKPeeKZY");return{clientVersion:a.client_version,deviceId:s,clientType:a.client_type,t:String(u),aliId:s,umid:s,token:i||"",cv:a.client_version,ct:a.client_type,uet:"9","x-ca-sign":d,Accept:"application/json","User-Agent":a.user_agent,Origin:a.origin,Referer:a.referer}}async fetchStandardDanmu(e,r,n){try{let s=await ge(e,{headers:r,timeout:5e3,validStatusCodes:[404]});if(s.status===404)return s.data&&s.data.error==="Document not found"?[]:(_("info",`[Renren] ${n} \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548`),null);if(!s.data)return null;let i=s.data;return Array.isArray(i)?i:i&&i.data&&Array.isArray(i.data)?i.data:[]}catch(s){return _("info",`[Renren] ${n} \u7AEF\u5F39\u5E55\u62C9\u53D6\u5F02\u5E38: ${s.message}`),null}}async renrenHttpGet(e,{params:r={},headers:n={},validStatusCodes:s=[]}={}){let i=db(e,r);return await ge(i,{headers:n,timeout:5e3,validStatusCodes:s})}async renrenRequest(e,r,n={}){let s=this.generateDeviceId(),i=this.buildSignedHeaders({method:e,url:r,params:n,deviceId:s});return await ge(r+"?"+SC(n),{headers:i,timeout:5e3})}async searchAppContent(e,r=30){try{let n=Date.now(),s="/qwtv/search",i={searchWord:e,num:r,searchNext:"",well:"match"},a=wC(s,n,i,this.API_CONFIG.TV_SECRET_KEY),o=Object.entries(i).map(([f,p])=>`${f}=${encodeURIComponent(p==null?"":String(p))}`).join("&"),c=this.generateTvHeaders(n,a),u=`https://${this.API_CONFIG.TV_HOST}${s}?${o}`,l=await ge(u,{headers:c,timeout:5e3});return!l.data||l.data.code!=="0000"?(_("info",`[Renren] TV\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${l?.data?.code}, msg=${l?.data?.msg}`),null):(l.data.data||[]).map(f=>{let p=[];if(f.highlights&&(f.highlights.alias&&(p=f.highlights.alias.split(",").map(m=>m.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),f.highlights.original_name)){let m=f.highlights.original_name.replace(/<[^>]+>/g,"").trim();m&&!p.includes(m)&&p.push(m)}return{provider:"renren",mediaId:String(f.id),title:String(f.title||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:p,type:f.classify||"Renren",season:null,year:f.year,imageUrl:f.cover,episodeCount:null,currentEpisodeIndex:null}})}catch(n){return _("info","[Renren] searchAppContent error:",n.message),null}}async performMacSearch(e,r=20){try{let n="/search/v5/season",s={keywords:e,order:"match",search_after:"",size:r},i=this.buildMacHeaders(),a=SC(s),o=`https://${this.API_CONFIG.MAC_HOST}${n}?${a}`,c=await ge(o,{headers:i,timeout:5e3});return!c.data||c.data.code!=="0000"?(_("info",`[Renren] Mac\u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${c?.data?.code}`),null):(c.data.data||[]).map(l=>{let d=[];if(l.highlights&&(l.highlights.alias&&(d=l.highlights.alias.split(",").map(f=>f.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),l.highlights.original_name)){let f=l.highlights.original_name.replace(/<[^>]+>/g,"").trim();f&&!d.includes(f)&&d.push(f)}return{provider:"renren",mediaId:String(l.id),title:String(l.title||l.name||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:d,type:l.classify||l.cat||"Renren",season:null,year:l.year||null,imageUrl:l.cover||l.cover3||"",episodeCount:null,currentEpisodeIndex:null}})}catch(n){return _("info","[Renren] performMacSearch error:",n.message),null}}async performWinSearch(e,r=30){try{let n=`https://${this.API_CONFIG.WIN_HOST}/search/comprehensive/precise-mixed`,i=SC({keywords:e,searchAfter:"",size:r}),a=this.buildWinHeaders(),o=await ge(`${n}?${i}`,{headers:a,timeout:5e3});if(!o.data||o.data.code!=="0000")return _("info",`[Renren] Win\u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${o?.data?.code}`),null;let c=o.data.data||{},u=[],l=c.seasonList||[],d=c.fuzzySeasonList||[],f=c.seriesList||[],p=m=>{let h=[];if(m.highlights&&(m.highlights.alias&&(h=m.highlights.alias.split(",").map(A=>A.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),m.highlights.original_name)){let A=m.highlights.original_name.replace(/<[^>]+>/g,"").trim();A&&!h.includes(A)&&h.push(A)}return{provider:"renren",mediaId:String(m.id),title:String(m.title||m.alias||m.name||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:h,type:m.classify||m.cat||"Renren",season:null,year:m.year||null,imageUrl:m.cover||m.coverUrl,episodeCount:null,currentEpisodeIndex:null}};return l.forEach(m=>u.push(p(m))),d.forEach(m=>u.push(p(m))),f.forEach(m=>{m.seasonList&&Array.isArray(m.seasonList)&&m.seasonList.forEach(h=>{u.push(p(h))})}),u}catch(n){return _("info","[Renren] performWinSearch error:",n.message),null}}async performNetworkSearch(e,{lockRef:r=null,lastRequestTimeRef:n={value:0},minInterval:s=500}={}){try{let i=`https://${this.API_CONFIG.WEB_HOST}/m-station/search/drama`,a={keywords:e,size:20,order:"match",search_after:"",isExecuteVipActivity:!0};if(r){for(;r.value;)await new Promise(f=>setTimeout(f,50));r.value=!0}let c=Date.now()-n.value;c<s&&await new Promise(f=>setTimeout(f,s-c));let u=await this.renrenRequest("GET",i,a);return n.value=Date.now(),r&&(r.value=!1),u.data?(TC(u.data)?.data?.searchDramaList||[]).map(f=>{let p=[];if(f.highlights&&(f.highlights.alias&&(p=f.highlights.alias.split(",").map(m=>m.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),f.highlights.original_name)){let m=f.highlights.original_name.replace(/<[^>]+>/g,"").trim();m&&!p.includes(m)&&p.push(m)}return{provider:"renren",mediaId:String(f.id),title:String(f.title||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:p,type:f.classify||"Renren",season:null,year:f.year,imageUrl:f.cover,episodeCount:f.episodeTotal,currentEpisodeIndex:null}}):(_("info","[Renren] \u7F51\u9875\u7248\u641C\u7D22\u65E0\u54CD\u5E94\u6570\u636E"),null)}catch(i){return _("info","[Renren] performNetworkSearch error:",i.message),null}}async search(e){_("info",`[Renren] \u5F00\u59CB\u641C\u7D22: ${e}`);let r=[],n=!1,s=["WIN","TV","MAC","WEB"],i=s.indexOf(zi.search);i===-1&&(i=0);for(let a=i;a<s.length;a++){let o=s[a];_("info",`[Renren] \u5C1D\u8BD5\u4F7F\u7528 ${o} \u7AEF\u63A5\u53E3\u641C\u7D22`);try{let c=null;if(o==="TV")c=await this.searchAppContent(e);else if(o==="MAC")c=await this.performMacSearch(e);else if(o==="WIN")c=await this.performWinSearch(e);else if(o==="WEB"){let u={value:!1},l={value:0};c=await this.performNetworkSearch(e,{lockRef:u,lastRequestTimeRef:l,minInterval:400})}if(c!==null&&Array.isArray(c)){n=!0,r=c,zi.search!==o&&(_("info",`[Renren] \u641C\u7D22\u57DF\u63A5\u53E3\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${zi.search} -> ${o}`),zi.search=o);break}else _("info",`[Renren] ${o} \u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38\u6216\u8BF7\u6C42\u5931\u8D25\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(c){_("info",`[Renren] ${o} \u7AEF\u641C\u7D22\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${c.message}`)}}return n||(_("info","[Renren] \u641C\u7D22\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5F02\u5E38\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 WIN \u7AEF"),zi.search="WIN"),r}async getAppDramaDetail(e,r=""){try{let n=Date.now(),s="/qwtv/drama/details",i={isAgeLimit:"false",seriesId:String(e),episodeId:String(r),clarity:"HD",caption:"0",hevcOpen:"1"},a=wC(s,n,i,this.API_CONFIG.TV_SECRET_KEY),o=Object.entries(i).map(([f,p])=>`${f}=${encodeURIComponent(p)}`).join("&"),c=this.generateTvHeaders(n,a),u=await ge(`https://${this.API_CONFIG.TV_HOST}${s}?${o}`,{headers:c,timeout:5e3});if(!u||!u.data)return _("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u7F51\u7EDC\u65E0\u54CD\u5E94\u6216\u6570\u636E\u4E3A\u7A7A: ID=${e}`),null;let l=u.data,d=l.msg||l.message||"";return d.includes("\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD")?(_("info",`[Renren] TV\u63A5\u53E3\u63D0\u793A'\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD' (ID=${e})\uFF0C\u89C6\u4E3A\u7EF4\u62A4\u4E2D\uFF0C\u89E6\u53D1\u964D\u7EA7`),null):l.code!=="0000"?(_("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF\u7801: ${l.code}, msg=${d} (ID=${e})`),null):!l.data||!l.data.episodeList||l.data.episodeList.length===0?l.data?.dramaInfo?.playStatus?.includes("\u5373\u5C06\u5F00\u64AD")?(_("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u63D0\u793A'\u5373\u5C06\u5F00\u64AD' (ID=${e})\uFF0C\u89C6\u4E3A\u7A7A\u7ED3\u679C`),l.data.episodeList||(l.data.episodeList=[]),l.data):(_("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u7F3A\u5931\u5206\u96C6\u5217\u8868 (ID=${e})\uFF0C\u5C1D\u8BD5\u964D\u7EA7`),null):(_("info",`[Renren] TV\u7AEF\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F: ID=${e}, \u5305\u542B\u96C6\u6570=${l.data.episodeList.length}`),l.data)}catch(n){return _("info","[Renren] getAppDramaDetail error:",n.message),null}}async getGatewayDramaDetail(e,r,n=""){try{let s=Date.now(),i="/qwtv/drama/details",a={isAgeLimit:"false",seriesId:String(r),episodeId:String(n),clarity:"HD",caption:"0",hevcOpen:"1"},o=wC(i,s,a,this.API_CONFIG.TV_SECRET_KEY),c=Object.entries(a).map(([m,h])=>`${m}=${encodeURIComponent(h)}`).join("&"),u=this.generateTvHeaders(s,o),l=`https://${e}${i}?${c}`,d=await ge(l,{headers:u,timeout:5e3});if(!d||!d.data)return _("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u7F51\u7EDC\u65E0\u54CD\u5E94\u6216\u6570\u636E\u4E3A\u7A7A (${e}): ID=${r}`),null;let f=d.data,p=f.msg||f.message||"";return p.includes("\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD")?(_("info",`[Renren] \u63A5\u53E3\u63D0\u793A'\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD' (${e}) (ID=${r})\uFF0C\u89C6\u4E3A\u7EF4\u62A4\u4E2D\uFF0C\u89E6\u53D1\u964D\u7EA7`),null):f.code!=="0000"?(_("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF\u7801: ${f.code}, msg=${p} (${e}) (ID=${r})`),null):!f.data||!f.data.episodeList||f.data.episodeList.length===0?f.data?.dramaInfo?.playStatus?.includes("\u5373\u5C06\u5F00\u64AD")?(_("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u63D0\u793A'\u5373\u5C06\u5F00\u64AD' (${e}) (ID=${r})\uFF0C\u89C6\u4E3A\u7A7A\u7ED3\u679C`),f.data.episodeList||(f.data.episodeList=[]),f.data):(_("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u7F3A\u5931\u5206\u96C6\u5217\u8868 (${e}) (ID=${r})\uFF0C\u5C1D\u8BD5\u964D\u7EA7`),null):(_("info",`[Renren] \u8DE8\u534F\u8BAE\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F (${e}): ID=${r}, \u5305\u542B\u96C6\u6570=${f.data.episodeList.length}`),f.data)}catch(s){return _("info",`[Renren] getGatewayDramaDetail error (${e}):`,s.message),null}}async getWebDramaDetailFallback(e){let r=`https://${this.API_CONFIG.WEB_HOST}/m-station/drama/page`,n={hsdrOpen:0,isAgeLimit:0,dramaId:String(e),hevcOpen:1};try{let s=await this.renrenRequest("GET",r,n);if(!s.data)return null;let i=TC(s.data);return i&&i.data&&i.data.episodeList&&i.data.episodeList.length>0?(_("info",`[Renren] \u7F51\u9875\u7248\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F: ID=${e}, \u5305\u542B\u96C6\u6570=${i.data.episodeList.length}`),i.data):null}catch(s){return _("info",`[Renren] \u7F51\u9875\u7248\u8BE6\u60C5\u8BF7\u6C42\u5931\u8D25: ${s.message}`),null}}async getDetail(e,r=""){let n=null,s=["TV","MAC","WIN","WEB"],i=s.indexOf(zi.detail);i===-1&&(i=0);for(let a=i;a<s.length;a++){let o=s[a];_("info",`[Renren] \u5C1D\u8BD5\u4F7F\u7528 ${o} \u7AEF\u63A5\u53E3\u83B7\u53D6\u8BE6\u60C5\u5206\u96C6 (ID=${e})`);try{if(o==="TV"?n=await this.getAppDramaDetail(String(e),String(r)):o==="MAC"?n=await this.getGatewayDramaDetail(this.API_CONFIG.MAC_HOST,String(e),String(r)):o==="WIN"?n=await this.getGatewayDramaDetail(this.API_CONFIG.WIN_HOST,String(e),String(r)):o==="WEB"&&(n=await this.getWebDramaDetailFallback(String(e))),n)return zi.detail!==o&&(_("info",`[Renren] \u8BE6\u60C5\u57DF\u63A5\u53E3\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${zi.detail} -> ${o}`),zi.detail=o),n;_("info",`[Renren] ${o} \u8BE6\u60C5\u63A5\u53E3\u5931\u8D25\u6216\u65E0\u6570\u636E\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(c){_("info",`[Renren] ${o} \u8BE6\u60C5\u63A5\u53E3\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${c.message}`)}}return _("info","[Renren] \u8BE6\u60C5\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 TV \u7AEF"),zi.detail="TV",null}async getEpisodes(e){let r=await this.getDetail(e);if(!r)return _("info",`[Renren] \u83B7\u53D6\u5206\u96C6\u5931\u8D25: \u8BE6\u60C5\u5BF9\u8C61\u4E3A\u7A7A ID=${e}`),[];if(!r.episodeList||!Array.isArray(r.episodeList))return _("info",`[Renren] \u83B7\u53D6\u5206\u96C6\u5931\u8D25: episodeList \u5B57\u6BB5\u7F3A\u5931\u6216\u975E\u6570\u7EC4 ID=${e}`),[];let n=[],s=String(e);r.episodeList.forEach((a,o)=>{let c=String(a.sid||"").trim();if(!c)return;let u=a.title?String(a.title):`\u7B2C${String(a.episodeNo||o+1).padStart(2,"0")}\u96C6`,l=`${s}-${c}`;n.push({sid:l,order:a.episodeNo||o+1,title:u})});let i=n.map(a=>({provider:"renren",episodeId:a.sid,title:a.title,episodeIndex:a.order,url:null}));if(r.dramaInfo&&(r.dramaInfo.enName&&(i.enName=r.dramaInfo.enName),r.dramaInfo.year&&(i.year=r.dramaInfo.year),r.dramaInfo.dramaType)){let a=r.dramaInfo.dramaType,o=r.dramaInfo.plotType||"";a==="TV"?a="\u7535\u89C6\u5267":a==="MOVIE"?o.includes("\u52A8\u753B")?a="\u5267\u573A\u7248":a="\u7535\u5F71":a==="COMIC"?a="\u52A8\u753B":a==="VARIETY"?a="\u7EFC\u827A":a==="DOCUMENTARY"&&(a="\u7EAA\u5F55\u7247"),i.type=a}return i}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("info","[Renren] sourceAnimes is not a valid array"),[];let o=e.filter(d=>yt(d.title,r,i)?!0:d.aliases&&Array.isArray(d.aliases)?d.aliases.some(f=>yt(f,r,i)):!1),c=i!==null?i:$t(r);if(c!==null){let d=o.filter(f=>{let p=Tt(f.title).season;return p===c||c===1&&p===null});d.length>0&&(o=d,_("info",`[Renren] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l={TV:"TV",MAC:"Mac",WIN:"Win",WEB:"\u7F51\u9875"}[zi.search]||"\u672A\u77E5";_("info",`[Renren] ${l}\u7AEF\u641C\u7D22\u63D0\u53D6\u7ED3\u679C\u6570\u91CF: ${e.length} \u6709\u6548\u7ED3\u679C\u6570\u91CF\uFF1A${o.length}`),this.isBatchMode=!0;try{await Promise.all(o.map(async d=>{try{let f=await this.getEpisodes(d.mediaId),p=[];for(let m of f)p.push({name:m.episodeIndex.toString(),url:m.episodeId,title:`\u3010${m.provider}\u3011 ${m.title}`});if(p.length>0){let m=d.aliases||[];f.enName&&!m.includes(f.enName)&&m.push(f.enName);let h=f.year||d.year||"",A=f.type||(d.type&&d.type!=="Renren"?d.type:"Renren"),g={animeId:Number(d.mediaId),bangumiId:String(d.mediaId),animeTitle:`${d.title}(${h})\u3010${A}\u3011from renren`,aliases:m,type:A,typeDescription:A,imageUrl:d.imageUrl,startDate:Pr(h),episodeCount:p.length,rating:0,isFavorited:!0,source:"renren"};a.push(g),Lt({...g,links:p},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(f){_("info",`[Renren] Error processing anime: ${f.message}`)}}))}finally{this.isBatchMode=!1,this.checkAndIncrementUsage()}return this.sortAndPushAnimesByYear(a,n),a}async getAppDanmu(e){try{let r=Date.now(),n=e;String(e).includes("-")&&(n=String(e).split("-")[1]);let s=`/v1/produce/danmu/EPISODE/${n}`,a=wC(s,r,{},this.API_CONFIG.TV_SECRET_KEY),o=this.generateTvHeaders(r,a),c=`https://${this.API_CONFIG.TV_DANMU_HOST}${s}`,u=await ge(c,{headers:o,timeout:5e3,validStatusCodes:[404]});if(u.status===404)return u.data&&u.data.error==="Document not found"?[]:(_("info","[Renren] TV \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548"),null);if(!u.data)return null;let l=TC(u.data);return Array.isArray(l)?l:l&&l.data&&Array.isArray(l.data)?l.data:[]}catch(r){return _("info","[Renren] getAppDanmu error:",r.message),null}}async getMacDanmu(e){let r=String(e).includes("-")?String(e).split("-")[1]:e,n=`https://${this.API_CONFIG.MAC_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,s={"User-Agent":this.API_CONFIG.MAC_USER_AGENT,Accept:"*/*"};return this.fetchStandardDanmu(n,s,"MAC")}async getWinDanmu(e){let r=String(e).includes("-")?String(e).split("-")[1]:e,n=`https://${this.API_CONFIG.WIN_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,s={"User-Agent":this.API_CONFIG.WIN_USER_AGENT};return this.fetchStandardDanmu(n,s,"WIN")}async getWebDanmuFallback(e){let r=e;String(e).includes("-")&&(r=String(e).split("-")[1]);let n={user_agent:"Mozilla/5.0",origin:"https://rrsp.com.cn",referer:"https://rrsp.com.cn/"},s=`https://${this.API_CONFIG.WEB_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,i={Accept:"application/json","User-Agent":n.user_agent,Origin:n.origin,Referer:n.referer};try{let a=await this.renrenHttpGet(s,{headers:i,validStatusCodes:[404]});if(a.status===404)return a.data&&a.data.error==="Document not found"?[]:(_("info","[Renren] WEB \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548"),null);if(!a.data)return null;let o=TC(a.data),c=[];return Array.isArray(o)?c=o:o?.data&&Array.isArray(o.data)&&(c=o.data),c}catch(a){return _("info",`[Renren] \u7F51\u9875\u7248\u5F39\u5E55\u964D\u7EA7\u5931\u8D25: ${a.message}`),null}}async getEpisodeDanmu(e){let r=0;if(String(e).includes("-")){let[o,c]=String(e).split("-"),u=await this.getDetail(o,c);if(u&&u.watchInfo){let l=u.watchInfo.m3u8||u.watchInfo.tria4kPlayInfo||{},d=parseInt(l.startingLength)||0,f=parseInt(l.openingLength)||0;r=d>0?d:f>0?f:0}}let n=null,s=["TV","MAC","WIN","WEB"],i=s.indexOf(zi.danmu);i===-1&&(i=0);for(let o=i;o<s.length;o++){let c=s[o];_("info",`[Renren] \u5C1D\u8BD5\u4F7F\u7528 ${c} \u7AEF\u63A5\u53E3\u83B7\u53D6\u5F39\u5E55`);try{if(c==="TV"?n=await this.getAppDanmu(e):c==="MAC"?n=await this.getMacDanmu(e):c==="WIN"?n=await this.getWinDanmu(e):c==="WEB"&&(n=await this.getWebDanmuFallback(e)),n!==null&&Array.isArray(n))return zi.danmu!==c&&(_("info",`[Renren] \u5F39\u5E55\u57DF\u63A5\u53E3\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${zi.danmu} -> ${c}`),zi.danmu=c),n.length>0?_("info",`[Renren] \u6210\u529F\u83B7\u53D6 ${n.length} \u6761\u5F39\u5E55 (${c}\u7AEF)`):_("info",`[Renren] \u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55 (${c}\u7AEF)`),n.adDurationMs=r,n.episodeId=e,n;_("info",`[Renren] ${c} \u5F39\u5E55\u63A5\u53E3\u5931\u8D25\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(u){_("info",`[Renren] ${c} \u5F39\u5E55\u63A5\u53E3\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${u.message}`)}}_("info","[Renren] \u5F39\u5E55\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 TV \u7AEF"),zi.danmu="TV";let a=[];return a.adDurationMs=r,a.episodeId=e,a}async getEpisodeDanmuSegments(e){return new vt({type:"renren",segmentList:[{type:"renren",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}parseRRSPPFields(e){let r=String(e).split(","),n=(l,d,f)=>{if(l==null||l==="")return f;let p=d(l);return isNaN(p)?f:p},s=n(r[0],parseFloat,0),i=n(r[1],l=>parseInt(l,10),1),a=n(r[2],l=>parseInt(l,10),25),o=n(r[3],l=>parseInt(l,10),16777215),c=r[6]||"",u=r[7]||`${s}:${c}`;return{timestamp:s,mode:i,size:a,color:o,userId:c,contentId:u}}formatComments(e){let r=e.adDurationMs||0,n=e.episodeId||"\u672A\u77E5",s=r/1e3,i=0,a=e.map(o=>{let c=String(o.d||"");if(!c&&o.content&&(c=String(o.content)),!c)return null;if(o.p){let u=this.parseRRSPPFields(o.p),l=u.timestamp-s;return l<0?(i++,null):{cid:Number(u.contentId)||0,p:`${l.toFixed(2)},${u.mode},${u.color},[renren]`,m:c,t:l}}return null}).filter(Boolean);return r>0&&_("info",`[Renren] \u8BC6\u522B\u5230\u524D\u7F6E\u5E7F\u544A(${r}ms)\uFF0C\u5DF2\u81EA\u52A8\u504F\u79FB\u65F6\u95F4\u8F74\u3002\u6210\u529F\u8F6C\u6362 ${a.length} \u6761\uFF0C\u5254\u9664\u65E0\u6548\u5F39\u5E55 ${i} \u6761 (ID=${n})`),a}};Pt();St();ar();Is();$n();hn();hs();var Amr={1:"\u97E9\u5267",2:"\u7EFC\u827A",3:"\u7535\u5F71",4:"\u65E5\u5267",5:"\u7F8E\u5267",6:"\u6CF0\u5267",7:"\u56FD\u4EA7\u5267"},Ig=1e8,dst=6e4,As=Object.freeze({HXQ:"hxq",TV:"tv",MERGED:"merged"}),XT=class extends wt{constructor(){super(),this.appHost="https://hxqapi.hiyun.tv",this.tvHost="https://api.xiawen.tv",this.fallbackDanmuHost="https://hxqapi.zmdcq.com",this.danmuHosts=Array.from(new Set([this.appHost,this.fallbackDanmuHost])),this.defaultRefer="2JGztvGjRVpkxcr0T4ZWG2k+tOlnHmDGUNMwAGSeq548YV2FMbs0h0bXNi6DJ00L",this.danmuUserAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",this.appUserAgent="HanjuTV/6.8.2 (Redmi Note 12; Android 14; Scale/2.00)",this._mobileMakeHeaders=null,this._tvMakeHeaders=null,this._mobileWarmupPromise=null,this._mobileWarmupAttempted=!1}getDanmuHeaders(){return{"Content-Type":"application/json","User-Agent":this.danmuUserAgent}}getAppHeaders(){return{vc:"a_8280",vn:"6.8.2",ch:"xiaomi",app:"hj","User-Agent":this.appUserAgent,"Accept-Encoding":"gzip"}}getCategory(e){return Amr[e]||"\u5176\u4ED6"}async buildTvHeaders(){return this._tvMakeHeaders||(this._tvMakeHeaders=await Xnt(Date.now())),this._tvMakeHeaders(Date.now())}async buildMobileHeaders(){return this._mobileMakeHeaders||(this._mobileMakeHeaders=await Jnt(Date.now())),this._mobileMakeHeaders(Date.now())}async tvGet(e,r={}){let n=await this.buildTvHeaders(),s=await ge(`${this.tvHost}${e}`,{headers:n.headers,timeout:1e4,retries:1,...r});return Rie(s?.data,n.uid)}logError(e,r){_("error",`[Hanjutv] ${e}:`,{message:r.message,name:r.name,stack:r.stack})}attachDanmuSourceLabel(e=[],r=""){let n=i4(r);return Array.isArray(e)?e.map(s=>({...s,_sourceLabel:n})):[]}async tryGet(e,r,n){try{return await e()}catch(s){return n&&_("warn",`${n}: ${s.message}`),r}}normalizeSearchItems(e=[]){return Array.isArray(e)?e.map(r=>{if(!r||typeof r!="object")return null;let n=r.sid||r.seriesId||r.id||r.series_id,s=r.name||r.title||r.seriesName||r.showName;if(!n||!s)return null;let i=typeof r.image=="object"&&r.image!==null?r.image:{},a=i.thumb||i.poster||i.url||r.thumb||r.poster||"";return{...r,sid:String(n),name:String(s),image:{...i,thumb:a}}}).filter(Boolean):[]}normalizeEpisodes(e=[]){return Array.isArray(e)?e.map((r,n)=>{if(!r||typeof r!="object")return null;let s=r.pid||r.eid||r.id||r.programId||r.episodeId;if(!s)return null;let i=r.serialNo??r.serial_no??r.sort??r.sortNo??r.num??r.episodeNo??n+1,a=Number(i),o=r.pid||r.programId||r.episodeId||r.id||"",c=r.eid||r.id||r.episodeId||"";return{...r,episodeId:String(s),pid:o?String(o):"",eid:c?String(c):"",serialNo:Number.isFinite(a)&&a>0?a:n+1,title:r.title||r.name||r.programName||r.episodeTitle||""}}).filter(Boolean).sort((r,n)=>r.serialNo-n.serialNo):[]}normalizeHxqEpisodes(e=[]){return this.normalizeEpisodes(e).filter(r=>r.pid).map(r=>({...r,pid:String(r.pid)}))}normalizeTvEpisodes(e=[]){return this.normalizeEpisodes(e).filter(r=>r.eid||r.episodeId).map(r=>({...r,eid:String(r.eid||r.episodeId)}))}extractSearchItems(e){let r=e?.seriesData?.seriesList||e?.seriesList||e?.seriesData?.series||[];return this.normalizeSearchItems(r)}dedupeBySid(e=[]){let r=new Map;for(let n of e){if(!n?.sid)continue;let s=String(n.sid);r.has(s)||r.set(s,n)}return Array.from(r.values())}isMergeableSearchPair(e,r,n=""){return!e?.name||!r?.name||n&&(!yt(e.name,n)||!yt(r.name,n))?!1:yt(e.name,r.name)&&yt(r.name,e.name)}buildSearchCandidate(e,r,n=""){if(!e?.sid)return null;let s=String(e.sid),i=String(n||"").trim(),a=r===As.MERGED?Yr(`hxq:${s}|tv:${i}`):Yr(s);return{...e,animeId:a,_variant:r,...i?{tvSid:i}:{}}}mergeSearchCandidates(e,r=[],n=[]){let s=this.dedupeBySid(r),i=this.dedupeBySid(n),a=p=>{let m=[],h=[];for(let A of p)(yt(A?.name||"",e)?m:h).push(A);return{matched:m,unmatched:h}},o=a(s),c=a(i),u=o.matched.length+c.matched.length>0,l=[],d=new Set;for(let p of o.matched){let m=c.matched.find(h=>!d.has(String(h.sid))&&this.isMergeableSearchPair(p,h,e));m?(d.add(String(m.sid)),l.push(this.buildSearchCandidate(p,As.MERGED,m.sid))):l.push(this.buildSearchCandidate(p,As.HXQ))}c.matched.filter(p=>!d.has(String(p.sid))).forEach(p=>{l.push(this.buildSearchCandidate(p,As.TV))}),u?l.push(...o.unmatched.map(p=>this.buildSearchCandidate(p,As.HXQ)).filter(Boolean),...c.unmatched.map(p=>this.buildSearchCandidate(p,As.TV)).filter(Boolean)):l.push(...s.map(p=>this.buildSearchCandidate(p,As.HXQ)).filter(Boolean),...i.map(p=>this.buildSearchCandidate(p,As.TV)).filter(Boolean));let f=p=>p.map(m=>m.name);return{resultList:l,stats:{s5Total:s.length,s5Matched:o.matched.length,tvTotal:i.length,tvMatched:c.matched.length,mergedCount:u?l.filter(p=>p?._variant===As.MERGED).length:0,s5MatchedList:f(o.matched),s5UnmatchedList:f(o.unmatched),tvMatchedList:f(c.matched),tvUnmatchedList:f(c.unmatched)}}}async extractFromPayload(e,r,n){if(!e||typeof e!="object")throw new Error(`${n} \u54CD\u5E94\u4E3A\u7A7A`);if(typeof e.data=="string"&&e.data.length>0){let i;try{i=await Rie(e,r)}catch(o){throw new Error(`${n} \u54CD\u5E94\u89E3\u5BC6\u5931\u8D25: ${o.message}`)}let a=this.extractSearchItems(i);if(a.length===0)throw new Error(`${n} \u89E3\u5BC6\u540E\u65E0\u6709\u6548\u7ED3\u679C`);return a}let s=this.extractSearchItems(e);if(s.length===0)throw new Error(`${n} \u65E0\u6709\u6548\u7ED3\u679C`);return s}async warmupMobileIdentity(e){try{await ge(`${this.appHost}/api/common/configs`,{headers:e,timeout:8e3,retries:0})}catch{}}async ensureMobileIdentityWarmed(){if(this._mobileWarmupAttempted){await this._mobileWarmupPromise;return}this._mobileWarmupAttempted=!0,this._mobileWarmupPromise=(async()=>{let e=await this.buildMobileHeaders();await this.warmupMobileIdentity(e.headers)})(),await this._mobileWarmupPromise}async searchWithS5Api(e){await this.ensureMobileIdentityWarmed();let{uid:r,headers:n}=await this.buildMobileHeaders(),s=encodeURIComponent(e),i=await ge(`https://hxqapi.hiyun.tv/api/search/s5?k=${s}&srefer=search_input&type=0&page=1`,{headers:n,timeout:1e4,retries:1});return this.extractFromPayload(i?.data,r,"s5")}async searchWithTvApi(e){let r=encodeURIComponent(e),n=await this.buildTvHeaders(),s=await ge(`https://api.xiawen.tv/api/v1/aggregate/search?key=${r}&scope=101&page=1`,{headers:n.headers,timeout:1e4,retries:1});return this.extractFromPayload(s?.data,n.uid,"tv")}async search(e){try{let r=String(e||"").trim();if(!r)return[];let[n,s]=await Promise.all([this.tryGet(()=>this.searchWithS5Api(r),[],"[Hanjutv] s5 \u641C\u7D22\u5931\u8D25"),this.tryGet(()=>this.searchWithTvApi(r),[],"[Hanjutv] TV \u641C\u7D22\u5931\u8D25")]),{resultList:i,stats:a}=this.mergeSearchCandidates(r,n,s),o=a.s5Matched+a.tvMatched;return i.length>0&&o===0?(_("warn",`[Hanjutv] \u6240\u6709\u5019\u9009\u5747\u672A\u547D\u4E2D\u5173\u952E\u8BCD\uFF0C\u4E22\u5F03\u7591\u4F3C\u63A8\u8350\u6D41\u7ED3\u679C: ${r}`),[]):i.length===0?(_("info","[Hanjutv] hanjutvSearchresp: s5 \u4E0E TV \u63A5\u53E3\u5747\u65E0\u6709\u6548\u7ED3\u679C"),[]):(_("info",`[Hanjutv] \u641C\u7D22\u5019\u9009\u7EDF\u8BA1 s5MatchedList=${JSON.stringify(a.s5MatchedList)}, s5UnmatchedList=${JSON.stringify(a.s5UnmatchedList)}, tvMatchedList=${JSON.stringify(a.tvMatchedList)}, tvUnmatchedList=${JSON.stringify(a.tvUnmatchedList)}`),_("info",`[Hanjutv] \u641C\u7D22\u5019\u9009\u7EDF\u8BA1 s5=${a.s5Total}(\u547D\u4E2D${a.s5Matched}), tv=${a.tvTotal}(\u547D\u4E2D${a.tvMatched}), merged=${a.mergedCount}`),_("info",`[Hanjutv] \u641C\u7D22\u627E\u5230 ${i.length} \u4E2A\u6709\u6548\u7ED3\u679C`),i.filter(Boolean))}catch(r){return this.logError("getHanjutvAnimes error",r),[]}}async getSeriesDetail(e,r,n,s){try{let i=String(e||"").trim();if(!i)return null;let a=await this.tryGet(()=>r(i),null,s);return a||(_("info",`[Hanjutv] ${n}: series \u4E0D\u5B58\u5728`),null)}catch(i){return this.logError(s,i),null}}async getHxqDetail(e){return this.getSeriesDetail(e,async r=>(await ge(`${this.appHost}/api/series/detail?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data?.series??null,"getHanjutvHxqDetail","getHanjutvHxqDetail error")}async getTvDetail(e){return this.getSeriesDetail(e,async r=>(await this.tvGet(`/api/v1/series/detail/query?sid=${r}`))?.series??null,"getHanjutvTvDetail","getHanjutvTvDetail error")}async getHxqEpisodes(e){try{let r=String(e||"").trim();if(!r)return[];let n=[async()=>{let i=await ge(`${this.appHost}/api/series/detail?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1});return this.normalizeHxqEpisodes(Array.isArray(i?.data?.playItems)?i.data.playItems:[])},async()=>{let a=(await ge(`${this.appHost}/api/series2/episodes?sid=${r}&refer=${encodeURIComponent(this.defaultRefer)}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data;return this.normalizeHxqEpisodes(a?.programs||a?.episodes||a?.qxkPrograms||[])},async()=>{let a=(await ge(`${this.appHost}/api/series/programs_v2?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data;return this.normalizeHxqEpisodes([...Array.isArray(a?.programs)?a.programs:[],...Array.isArray(a?.qxkPrograms)?a.qxkPrograms:[]])}],s=[];for(let i of n){if(s.length>0)break;s=await this.tryGet(i,[])}return s.length===0?(_("info","[Hanjutv] getHanjutvHxqEpisodes: episodes \u4E0D\u5B58\u5728"),[]):s.sort((i,a)=>i.serialNo-a.serialNo)}catch(r){return this.logError("getHanjutvHxqEpisodes error",r),[]}}async getTvEpisodes(e){try{let r=String(e||"").trim();if(!r)return[];let n=await this.tryGet(async()=>{let s=await this.tvGet(`/api/v1/series/detail/query?sid=${r}`);return this.normalizeTvEpisodes(s?.episodes||[])},[],"getHanjutvTvEpisodes error");return n.length===0?(_("info","[Hanjutv] getHanjutvTvEpisodes: episodes \u4E0D\u5B58\u5728"),[]):n.sort((s,i)=>s.serialNo-i.serialNo)}catch(r){return this.logError("getHanjutvTvEpisodes error",r),[]}}resolveAnimeYear(e,...r){let n=[e?.updateTime,e?.publishTime,...r.map(s=>s?.updateTime),...r.map(s=>s?.publishTime)];for(let s of n){if(!s)continue;let a=new Date(s).getFullYear();if(Number.isFinite(a)&&a>1900)return a}return new Date().getFullYear()}buildEpisodeTitle(e,r=""){let n=String(r||"").trim();return n?`\u7B2C${e}\u96C6\uFF1A${n}`:`\u7B2C${e}\u96C6`}buildEpisodeLink(e,r){let n=e?.serialNo??r?.serialNo??1,s=this.buildEpisodeTitle(n,e?.title||r?.title||""),i="";if(e?.pid&&r?.eid){let a=est(e.pid,r.eid);i=a?`hanjutv:${a}`:""}else e?.pid?i=`hxq:${e.pid}`:r?.eid&&(i=`tv:${r.eid}`);return i?{name:s,url:i,title:`\u3010hanjutv\u3011 ${s}`}:null}mergeVariantEpisodes(e=[],r=[]){let n=new Map(e.map(a=>[Number(a.serialNo),a])),s=new Map(r.map(a=>[Number(a.serialNo),a]));return Array.from(new Set([...n.keys(),...s.keys()])).filter(Number.isFinite).sort((a,o)=>a-o).map(a=>this.buildEpisodeLink(n.get(a),s.get(a))).filter(Boolean)}buildAnimeSummary(e,r,n,s){let i=this.getCategory(r?.category??e?.category),a=this.resolveAnimeYear(e,r);return{animeId:s,bangumiId:String(s),animeTitle:`${e.name}(${a})\u3010${i}\u3011from hanjutv`,type:i,typeDescription:i,imageUrl:e?.image?.thumb||"",startDate:Pr(a),episodeCount:n.length,rating:Number(r?.rank??0),isFavorited:!0,source:"hanjutv"}}async getHxqBundle(e){if(!e)return{detail:null,episodes:[]};let[r,n]=await Promise.all([this.getHxqDetail(e),this.getHxqEpisodes(e)]);return{detail:r,episodes:n}}async getTvBundle(e){if(!e)return{detail:null,episodes:[]};let[r,n]=await Promise.all([this.getTvDetail(e),this.getTvEpisodes(e)]);return{detail:r,episodes:n}}async buildAnimePayload(e){let r=e?._variant||As.HXQ,n=String(e?.sid||"").trim(),s=String(e?.tvSid||"").trim(),i=s||(r===As.TV?n:""),a=Number(e?.animeId),o=r===As.MERGED&&n&&s?Number.isFinite(a)&&a>0?a:Yr(`hxq:${n}|tv:${s}`):null,c=(r===As.HXQ||r===As.MERGED)&&n,u=(r===As.TV||r===As.MERGED)&&i,[l,d]=await Promise.all([c?this.getHxqBundle(n):Promise.resolve({detail:null,episodes:[]}),u?this.getTvBundle(i):Promise.resolve({detail:null,episodes:[]})]);if(r===As.MERGED&&n&&s){let f=this.mergeVariantEpisodes(l.episodes,d.episodes);if(f.length>0){let p=l.detail?.category?l.detail:d.detail?.category?d.detail:l.detail||d.detail;return{summary:this.buildAnimeSummary(e,p,f,o),links:f}}}if((r===As.HXQ||r===As.MERGED)&&n){let f=l.episodes.map(p=>this.buildEpisodeLink(p,null)).filter(Boolean);if(f.length>0)return{summary:this.buildAnimeSummary(e,l.detail,f,o??Yr(n)),links:f}}if((r===As.TV||r===As.MERGED)&&i){let f=d.episodes.map(p=>this.buildEpisodeLink(null,p)).filter(Boolean);if(f.length>0)return{summary:this.buildAnimeSummary(e,d.detail,f,o??Yr(i)),links:f}}return null}async handleAnimes(e,r,n,s=null,i=null){if(!Array.isArray(e))return _("error","[Hanjutv] sourceAnimes is not a valid array"),[];let a=[],o=e.filter(u=>yt(u.name,r,i)),c=i!==null?i:$t(r);if(c!==null){let u=o.filter(l=>{let d=Tt(l.name).season;return d===c||c===1&&d===null});u.length>0&&(o=u,_("info",`[Hanjutv] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}return await Promise.all(o.map(async u=>{try{let l=await this.buildAnimePayload(u);if(!l||!l.summary||!Array.isArray(l.links)||l.links.length===0)return;a.push(l.summary),Lt({...l.summary,links:l.links},s),O.animes.length>O.MAX_ANIMES&&Ft()}catch(l){_("error",`[Hanjutv] Error processing anime: ${l.message}`)}})),this.sortAndPushAnimesByYear(a,n),a}async fetchEpisodeDanmuByRef(e){let r=String(e?.id||"").trim();if(!r)return[];let n=[];if(!e.preferTv){let s=this.getDanmuHeaders();for(let i of this.danmuHosts){let a=[];try{let o=0,c=0,u=dst,l=0,d=240;for(;c<Ig&&l<d;){let f=await ge(`${i}/api/danmu/playItem/list?pid=${r}&prevId=${o}&fromAxis=${c}&toAxis=${u}&offset=0`,{headers:s,timeout:1e4,retries:1});l++;let p=Array.isArray(f?.data?.danmus)?f.data.danmus:[];p.length>0&&a.push(...p);let m=Number(f?.data?.more??0)===1||f?.data?.more===!0||f?.data?.more==="1",h=Number(f?.data?.nextAxis??Ig),A=Number(f?.data?.lastId??o);if(!Number.isFinite(h)||h<=c||h>=Ig)break;if(Number.isFinite(A)&&A>o&&(o=A),c=h,!m){if(p.length===0)break;u=c+dst}}if(a.length>0){n=a;break}}catch(o){if(this.logError(`fetchHanjutvEpisodeDanmu(\u97E9\u5C0F\u5708\u5F39\u5E55:${i})`,o),a.length>0){n=a;break}}}}if(n.length===0){let s=0,i=0,a=0,o=120;for(;i<Ig&&a<o;)try{let c=await this.tvGet(`/api/v1/bulletchat/episode/get?eid=${r}&prevId=${s}&fromAxis=${i}&toAxis=${Ig}&offset=0`);a++;let u=Array.isArray(c?.bulletchats)?c.bulletchats:[];u.length>0&&n.push(...u);let l=Number(c.more??0)===1||c.more===!0||c.more==="1",d=Number(c.nextAxis??Ig),f=Number(c.lastId??s);if(!Number.isFinite(d)||d<=i||d>=Ig||(Number.isFinite(f)&&f>s&&(s=f),i=d,l||(s=0),u.length===0&&!l))break}catch(c){this.logError("fetchHanjutvEpisodeDanmu(TV\u7AEF)",c);break}}return n}async getEpisodeDanmu(e){let r=tst(e),n=Array.isArray(r?.refs)?r.refs.filter(i=>i?.id):[];if(n.length===0)return[];if(n.length===1){let i=await this.fetchEpisodeDanmuByRef(n[0]);return this.attachDanmuSourceLabel(i,n[0].rawId)}return(await Promise.all(n.map(async i=>{let a=await this.fetchEpisodeDanmuByRef(i);return this.attachDanmuSourceLabel(a,i.rawId)}))).flat()}async getEpisodeDanmuSegments(e){return _("info","[Hanjutv] \u83B7\u53D6\u97E9\u5267TV\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new vt({type:"hanjutv",duration:0,segmentList:[{type:"hanjutv",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e.map(r=>({cid:Number(r.did),p:`${(r.t/1e3).toFixed(2)},${r.tp===2?5:r.tp},${Number(r.sc)},[${r._sourceLabel||"hanjutv"}]`,m:r.con,t:r.t/1e3,like:r.lc,_sourceLabel:r._sourceLabel}))}};Pt();St();ar();$n();no();hn();hs();var Tg=class extends wt{async search(e){try{let r=[];O.useBangumiData&&(r=await Au(e,["gamer","gamer_hk"]),_("info",`[Bahamut] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`));let n=r.filter(p=>p.video_sn);if(r.length>0&&r.length===n.length)return _("info","[Bahamut] Bangumi-Data \u672C\u5730\u547D\u4E2D\u5747\u542B video_sn\uFF0C\u542F\u7528\u6570\u636E\u6E90\u76F4\u901A\u6A21\u5F0F\uFF08\u8DF3\u8FC7\u641C\u7D22\u63A5\u53E3\uFF09"),r.map(p=>{let h=(p.titles.find(A=>A&&A.includes(e))||p.titles[1]||p.title)+(p.titleSuffix||"");return{video_sn:parseInt(p.video_sn),title:h,_displayTitle:h,isLocalPriority:!0,aliases:[...p.titles],_typeStr:p.typeStr,_fromDataSourceDirectHit:!0,_originalQuery:e,_bangumiBegin:p.begin||null}});let s=Ro(e),i=e,a=encodeURIComponent(s);_("info",`[Bahamut] \u539F\u59CB\u641C\u7D22\u8BCD: ${e}`),_("info",`[Bahamut] \u5DF4\u54C8\u4F7F\u7528\u641C\u7D22\u8BCD: ${s}`);let o=new AbortController,c=(async()=>{try{let p=`https://api.gamer.com.tw/mobile_app/anime/v1/search.php?kw=${a}`,m=O.makeProxyUrl(p),h=await ge(m,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});if(h&&h.data&&h.data.anime&&h.data.anime.length>0){o.abort();let A=h.data.anime;for(let g of A)try{g._originalQuery=e,g._searchUsedTitle=s}catch{}return _("info",`[Bahamut] bahamutSearchresp (original): ${JSON.stringify(A)}`),_("info",`[Bahamut] \u8FD4\u56DE ${A.length} \u6761\u7ED3\u679C (source: original)`),{success:!0,data:A,source:"original"}}return _("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: original)"),{success:!1,source:"original"}}catch(p){return _("error","[Bahamut] \u539F\u59CB\u641C\u7D22\u5931\u8D25:",{message:p.message,name:p.name,stack:p.stack}),{success:!1,source:"original"}}})(),u=(async()=>{try{await new Promise(x=>setTimeout(x,100));let p=await Zb(i,o.signal,"Bahamut");if(!p||!p.title)return _("info","[Bahamut] TMDB\u8F6C\u6362\u672A\u8FD4\u56DE\u7ED3\u679C\uFF0C\u53D6\u6D88\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb"};let{title:m,cnAlias:h}=p;_("info",`[Bahamut] \u4F7F\u7528\u65E5\u8BED\u539F\u540D\u8FDB\u884C\u641C\u7D22: ${m}`);let g=`https://api.gamer.com.tw/mobile_app/anime/v1/search.php?kw=${encodeURIComponent(m)}`,b=O.makeProxyUrl(g),y=await ge(b,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},signal:o.signal,retries:3});if(y&&y.data&&y.data.anime&&y.data.anime.length>0){let x=y.data.anime;for(let v of x)try{v._originalQuery=e,v._searchUsedTitle=m,v._tmdbCnAlias=h}catch{}return _("info",`[Bahamut] bahamutSearchresp (TMDB): ${JSON.stringify(x)}`),_("info",`[Bahamut] \u8FD4\u56DE ${x.length} \u6761\u7ED3\u679C (source: tmdb)`),{success:!0,data:x,source:"tmdb"}}return _("info","[Bahamut] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: tmdb)"),{success:!1,source:"tmdb"}}catch(p){return p.name==="AbortError"?(_("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4E2D\u65AD\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb",aborted:!0}):(_("error","[Bahamut] TMDB\u641C\u7D22\u5931\u8D25:",{message:p.message,name:p.name,stack:p.stack}),{success:!1,source:"tmdb"})}})(),[l,d]=await Promise.all([c,u]),f=[];if(l.success?f=l.data:d.success?f=d.data:_("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u548C\u57FA\u4E8ETMDB\u7684\u641C\u7D22\u5747\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C"),f.length>0&&r.length>0)for(let p of f){if(!p||!p.acg_sn)continue;let m=r.find(h=>String(p.acg_sn)===String(h.siteId))||r.find(h=>p.title&&h.title===p.title);if(m){let h=p.title,g=(m.titles.find(b=>b&&b.includes(e))||m.titles[1]||m.title)+(m.titleSuffix||"");p.title=g,p._displayTitle=g,p.isLocalPriority=!0,p.aliases=[...m.titles],h&&!p.aliases.includes(h)&&p.aliases.push(h),p._typeStr=m.typeStr,_("info",`[Bahamut] \u7F51\u7EDC\u7ED3\u679C [${p.title}] \u6210\u529F\u5BF9\u9F50\u672C\u5730 Bangumi-Data \u6570\u636E`)}}return f}catch(r){return _("error","[Bahamut] getBahamutAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){try{let r=`https://api.gamer.com.tw/anime/v1/video.php?videoSn=${e}`,n=O.makeProxyUrl(r),s=await ge(n,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});if(!s||!s.data)return _("info","[Bahamut] getBahamutEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];if(!s.data.data||!s.data.data.video||!s.data.data.anime)return _("info","[Bahamut] getBahamutEposides: video \u6216 anime \u4E0D\u5B58\u5728"),[];let{video:i,anime:a}=s.data.data;return _("info",`[Bahamut] getBahamutEposides: videoSn=${i.videoSn}, animeSn=${a.animeSn}, title=${a.title}, totalEpisode=${a.totalEpisode}, episodes=${JSON.stringify(a.episodes)}`),s.data.data}catch(r){return _("error","[Bahamut] getBahamutEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[],o=/[\u3040-\u309F\u30A0-\u30FF]/.test(r);r=Ro(r);function c(A,g,b){if(!A)return!1;let y=String(A),x=String(g||""),v=String(b||"");if(O.strictTitleMatch){if($0(y,x)||v&&$0(y,v))return!0;try{if($0(y,Ro(x))||$0(y,Gt(x))||v&&($0(y,Ro(v))||$0(y,Gt(v))))return!0}catch{}return!1}let C=Fr(y),R=Fr(x),w=v?Fr(v):"";if(C.includes(R)||w&&C.includes(w))return!0;try{if(C.includes(Fr(Ro(x)))||C.includes(Fr(Gt(x)))||w&&(C.includes(Fr(Ro(v)))||C.includes(Fr(Gt(v)))))return!0}catch{}try{if(C.toLowerCase().includes(R.toLowerCase())||w&&C.toLowerCase().includes(w.toLowerCase()))return!0}catch{}return!1}let l=(Array.isArray(e)?e:[]).filter(A=>{let g=A.title||"",b=A._searchUsedTitle||A._originalQuery||"";return o||A._searchUsedTitle&&A._searchUsedTitle!==r?(_("info",`[Bahamut] \u547D\u4E2D\u65E5\u8BED\u5173\u952E\u8BCD\u6216TMDB\u7ED3\u679C\uFF0C\u7ED5\u8FC7\u5339\u914D\u89C4\u5219\u76F4\u63A5\u4FDD\u7559: ${g}`),!0):c(g,r,b)||Array.isArray(A.aliases)&&A.aliases.some(y=>c(y,r,b))});l.forEach(A=>{A._originalTitleAlias=A.title?Gt(A.title):""});let d=l.length>0?l[0]._tmdbCnAlias:null;eE(l,d);let f=i!==null?i:$t(r),p=l;if(f!==null){let A=l.filter(g=>{let b=g._displayTitle||g.title,y=Tt(b).season;return y===f||f===1&&y===null});A.length>0&&(p=A,_("info",`[Bahamut] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${f}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let m=new Map,h=await Promise.all(p.map(async A=>{try{let g=String(A.video_sn);m.has(g)||m.set(g,this.getEpisodes(A.video_sn));let b=await m.get(g);if(!b||typeof b!="object"||Array.isArray(b))return null;let y=b.video,x=null;b.anime.episodes&&(x=b.anime.episodes[0]||Object.values(b.anime.episodes)[0]);let v=[];if(x&&Array.isArray(x))for(let C of x){let R=`\u7B2C${C.episode}\u96C6`;v.push({name:C.episode.toString(),url:C.videoSn.toString(),title:`\u3010bahamut\u3011 ${R}`})}if(v.length>0){let C=null;if(A._bangumiBegin&&(C=parseInt(A._bangumiBegin.substring(0,4))),!C&&b.anime&&b.anime.seasonStart&&(C=new Date(b.anime.seasonStart).getFullYear()),!C&&y&&y.upTime){let B=String(y.upTime).match(/(\d{4})/);B&&(C=parseInt(B[1]))}if(!C){let k=(A.info||"").match(/(\d{4})/);k&&(C=parseInt(k[1]))}let R=b.anime&&b.anime.cover||A.cover||y&&y.cover||"",w=A._displayTitle||Gt(A.title),N=Array.isArray(A.aliases)?[...A.aliases]:[];A._originalTitleAlias&&A._originalTitleAlias!==w&&!N.includes(A._originalTitleAlias)&&N.push(A._originalTitleAlias);let P=A._typeStr||"\u52A8\u6F2B",L=b.anime&&b.anime.title||y&&y.title||"";L.includes("[\u96FB\u5F71]")?P="\u5267\u573A\u7248":L.includes("[\u7279\u5225\u7BC7]")&&(P="OVA");let M={animeId:A.video_sn,bangumiId:String(A.video_sn),animeTitle:`${w}(${C||"N/A"})\u3010${P}\u3011from bahamut`,aliases:N,type:"\u52A8\u6F2B",typeDescription:"\u52A8\u6F2B",imageUrl:R,startDate:C?Pr(C):Pr(b.anime.seasonStart?new Date(b.anime.seasonStart).getFullYear():null),episodeCount:v.length,rating:y.rating,isFavorited:!0,source:"bahamut"};a.push(M),Lt({...M,links:v},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(g){_("error",`[Bahamut] Error processing anime: ${g.message}`)}}));return this.sortAndPushAnimesByYear(a,n),h}async getEpisodeDanmu(e){let r=[];try{let n=`https://api.gamer.com.tw/anime/v1/danmu.php?geo=TW%2CHK&videoSn=${e}`,s=O.makeProxyUrl(n),i=await ge(s,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});return i.data&&i.data.data&&i.data.data.danmu&&(r=i.data.data.danmu),r}catch(n){return _("error","[Bahamut] fetchBahamutEpisodeDanmu error:",{message:n.message,name:n.name,stack:n.stack}),r}}async getEpisodeDanmuSegments(e){return _("info","[Bahamut] \u83B7\u53D6\u5DF4\u54C8\u59C6\u7279\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new vt({type:"bahamut",segmentList:[{type:"bahamut",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){let r={0:1,1:5,2:4};return e.map(n=>({cid:Number(n.sn),p:`${(n.time/10).toFixed(2)},${r[n.position]||n.tp},${parseInt(n.color.slice(1),16)},[bahamut]`,m:O.danmuSimplifiedTraditional==="simplified"?Gt(n.text):n.text,t:n.time/10}))}};Pt();St();ar();$n();no();hs();Pt();St();ar();Is();$n();hn();hs();var wg=class extends wt{extractAliasesFromHintWords(e){if(!e||typeof e!="string")return[];let r=[],n=i=>{let a=String(i||"").replace(/<\/?em>/g,"").trim();a&&!r.includes(a)&&r.push(a)},s=e.match(/(?:又名|别名)\s*[::]\s*(.+)$/);return s&&s[1].split(/[、,,/|]+/).forEach(n),r}titleOrAliasMatches(e,r,n=null){return yt(e.title,r,n)?!0:Array.isArray(e.aliases)&&e.aliases.some(s=>yt(s,r,n))}filterTencentSearchItem(e,r){if(!e.videoInfo||!e.doc)return null;let n=e.videoInfo,s=e.doc.id;if(!n.year||n.year===0||n.subTitle==="\u5168\u7F51\u641C"||n.playFlag===2)return null;let i=n.title.replace(/<em>/g,"").replace(/<\/em>/g,"");if(!i||!s)return null;let a=n.typeName;if(a.includes("\u77ED\u5267")||!["\u7535\u89C6\u5267","\u52A8\u6F2B","\u7535\u5F71","\u7EAA\u5F55\u7247","\u7EFC\u827A","\u7EFC\u827A\u8282\u76EE"].includes(a))return null;let c=a,u=!1,l=!1;n.coverDoc&&(n.coverDoc.richTags&&Array.isArray(n.coverDoc.richTags)&&n.coverDoc.richTags.forEach(m=>{m.text&&m.text.includes("3D")&&(u=!0),m.text&&m.text.includes("2D")&&(l=!0)}),n.coverDoc.tags&&Array.isArray(n.coverDoc.tags)&&n.coverDoc.tags.forEach(m=>{m&&m.includes("3D")&&(u=!0),m&&m.includes("2D")&&(l=!0)})),u?c="3D"+c:l&&(c="2D"+c);let d=(n.playSites||[]).concat(n.episodeSites||[]);if(d.length>0&&!d.some(m=>m.enName==="qq")||a==="\u7535\u5F71"&&["\u82B1\u7D6E","\u5F69\u86CB","\u5E55\u540E","\u72EC\u5BB6","\u89E3\u8BF4","\u7279\u8F91","\u63A2\u73ED","\u62CD\u6444","\u5236\u4F5C","\u5BFC\u6F14","\u8BB0\u5F55","\u56DE\u987E","\u76D8\u70B9","\u6DF7\u526A","\u89E3\u6790","\u62A2\u5148"].some(h=>i.includes(h)))return null;let f=a==="\u7535\u5F71"?1:n.subjectDoc?n.subjectDoc.videoNum:0,p=this.extractAliasesFromHintWords(n.hintWords).filter(m=>m!==i);return{provider:"tencent",mediaId:s,title:i,aliases:p,type:c,year:n.year,imageUrl:n.imgUrl,episodeCount:f}}async search(e){try{_("info",`[Tencent] \u5F00\u59CB\u641C\u7D22: ${e}`);let r="https://pbaccess.video.qq.com/trpc.videosearch.mobile_search.MultiTerminalSearch/MbSearch?vplatform=2",n={version:"25071701",clientType:1,filterValue:"",uuid:"0379274D-05A0-4EB6-A89C-878C9A460426",query:e,retry:0,pagenum:0,isPrefetch:!0,pagesize:30,queryFrom:0,searchDatakey:"",transInfo:"",isneedQc:!0,preQid:"",adClientInfo:"",extraInfo:{multi_terminal_pc:"1",themeType:"1",sugRelatedIds:"{}",appVersion:""}},s={"Content-Type":"application/json",Origin:"https://v.qq.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:`https://v.qq.com/x/search/?q=${encodeURIComponent(e)}&stag=&smartbox_ab=`,H38:"220496a1fb1498325e9be6d938",H42:"335a00a80ab9bbbef56793d8e7a97e87b9341dee34ebd83d61afc0cdb303214caaece3",Uk:"8e91af25d3af99d0f0640327e7307666",Cookie:"tvfe_boss_uuid=ee8f05103d59226f; pgv_pvid=3155633511; video_platform=2; ptag=v_qq_com; main_login=qq"},i=await Vr(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return _("info","[Tencent] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.ret!==0)return _("error",`[Tencent] API\u8FD4\u56DE\u9519\u8BEF: ${a.msg} (ret: ${a.ret})`),[];let o=[];if(a.data&&a.data.areaBoxList){for(let u of a.data.areaBoxList)if(u.boxId==="MainNeed"&&u.itemList){_("info",`[Tencent] \u4ECE MainNeed box \u627E\u5230 ${u.itemList.length} \u4E2A\u9879\u76EE`),o=u.itemList;break}}if(o.length===0&&a.data&&a.data.normalList&&a.data.normalList.itemList&&(_("info","[Tencent] MainNeed box \u672A\u627E\u5230\uFF0C\u4F7F\u7528 normalList"),o=a.data.normalList.itemList),a.data&&a.data.areaBoxList){for(let u of a.data.areaBoxList)if(u.itemList&&u.boxTitle&&Array.isArray(u.boxTitle.boxTitles)&&u.boxTitle.boxTitles.includes("\u76F8\u5173\u5F71\u89C6")){let l=u.itemList.filter(d=>d.videoInfo&&d.videoInfo.title&&d.videoInfo.title.includes(e));l.length>0?(_("info",`[Tencent] \u8FFD\u52A0\u300C\u76F8\u5173\u5F71\u89C6\u300Dbox \u4E2D\u5339\u914D "${e}" \u7684 ${l.length} \u4E2A\u9879\u76EE`),o=[...o,...l]):_("info",`[Tencent] \u300C\u76F8\u5173\u5F71\u89C6\u300Dbox \u4E2D\u65E0\u5339\u914D "${e}" \u7684\u9879\u76EE`);break}}if(o.length===0)return _("info","[Tencent] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let c=[];for(let u of o){let l=this.filterTencentSearchItem(u,e);l&&c.push(l)}return _("info",`[Tencent] \u641C\u7D22\u627E\u5230 ${c.length} \u4E2A\u6709\u6548\u7ED3\u679C`),c}catch(r){return _("error","[Tencent] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Tencent] \u83B7\u53D6\u5206\u96C6\u5217\u8868: cid=${e}`);let r="https://pbaccess.video.qq.com/trpc.universal_backend_service.page_server_rpc.PageServer/GetPageData?video_appid=3000010&vversion_name=8.2.96&vversion_platform=2",n={has_cache:1,page_params:{req_from:"web_vsite",page_id:"vsite_episode_list",page_type:"detail_operation",id_type:"1",page_size:"",cid:e,vid:"",lid:"",page_num:"",page_context:`cid=${e}&detail_page_type=1&req_from=web_vsite&req_from_second_type=&req_type=0`,detail_page_type:"1"}},s={"Content-Type":"application/json",Origin:"https://v.qq.com",Referer:`https://v.qq.com/x/cover/${e}.html`,"User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1",Accept:"application/json","Accept-Language":"zh-CN,zh;q=0.9"},i=await Vr(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return _("info","[Tencent] \u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.ret!==0)return _("error",`[Tencent] \u5206\u96C6API\u8FD4\u56DE\u9519\u8BEF: ret=${a.ret}`),[];let o=[];if(a.data&&a.data.module_list_datas)for(let u of a.data.module_list_datas){for(let l of u.module_datas)if(l.module_params&&l.module_params.tabs)try{o=JSON.parse(l.module_params.tabs);break}catch(d){_("error","[Tencent] \u89E3\u6790tabs\u5931\u8D25:",d.message)}if(o.length>0)break}let c=[];if(o.length===0){if(_("info","[Tencent] \u672A\u627E\u5230\u5206\u9875\u4FE1\u606F,\u5C1D\u8BD5\u4ECE\u521D\u59CB\u54CD\u5E94\u4E2D\u63D0\u53D6\u5206\u96C6"),a.data&&a.data.module_list_datas){for(let u of a.data.module_list_datas)for(let l of u.module_datas)if(l.item_data_lists&&l.item_data_lists.item_datas)for(let d of l.item_data_lists.item_datas)d.item_params&&d.item_params.vid&&d.item_params.is_trailer!=="1"&&c.push({vid:d.item_params.vid,title:d.item_params.title,unionTitle:d.item_params.union_title||d.item_params.title})}if(c.length===0)return _("info","[Tencent] \u521D\u59CB\u54CD\u5E94\u4E2D\u4E5F\u672A\u627E\u5230\u5206\u96C6\u4FE1\u606F"),[];_("info",`[Tencent] \u4ECE\u521D\u59CB\u54CD\u5E94\u4E2D\u63D0\u53D6\u5230 ${c.length} \u96C6`)}else{_("info",`[Tencent] \u627E\u5230 ${o.length} \u4E2A\u5206\u9875`);for(let u of o){if(!u.page_context)continue;let l={has_cache:1,page_params:{req_from:"web_vsite",page_id:"vsite_episode_list",page_type:"detail_operation",id_type:"1",page_size:"",cid:e,vid:"",lid:"",page_num:"",page_context:u.page_context,detail_page_type:"1"}},d=await Vr(r,JSON.stringify(l),{headers:s});if(!d||!d.data)continue;let f=typeof d.data=="string"?JSON.parse(d.data):d.data;if(!(f.ret!==0||!f.data)&&f.data.module_list_datas){for(let p of f.data.module_list_datas)for(let m of p.module_datas)if(m.item_data_lists&&m.item_data_lists.item_datas)for(let h of m.item_data_lists.item_datas)h.item_params&&h.item_params.vid&&h.item_params.is_trailer!=="1"&&c.push({vid:h.item_params.vid,title:h.item_params.title,unionTitle:h.item_params.union_title||h.item_params.title})}}}return _("info",`[Tencent] \u5171\u83B7\u53D6 ${c.length} \u96C6`),c}catch(r){return _("error","[Tencent] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Tencent] sourceAnimes is not a valid array"),[];let o=e.filter(l=>this.titleOrAliasMatches(l,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Tencent] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=m.unionTitle||m.title||`\u7B2C${p+1}\u96C6`,A=`https://v.qq.com/x/cover/${l.mediaId}/${m.vid}.html`;f.push({name:(p+1).toString(),url:A,title:`\u3010qq\u3011 ${h}`})}if(f.length>0){let p=d[0].unionTitle||d[0].title||"\u7B2C1\u96C6",m=l.title,h=p.match(/\[.+版\]/);h&&p.includes(l.title)&&(m=`${l.title}${h[0]}`);let g={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${m}(${l.year})\u3010${l.type}\u3011from tencent`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"tencent",aliases:l.aliases||[]};a.push(g),Lt({...g,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Tencent] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}extractVid(e){let r=e;if(typeof e=="string"&&(e.startsWith("http")||e.includes("vid="))){let n=e.match(/[?&]vid=([^&]+)/);if(n)r=n[1];else{let s=e.split("/");r=s[s.length-1].split(".")[0]}}return r}async getEpisodeDanmu(e){_("info","[Tencent] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u817E\u8BAF\u89C6\u9891\u5F39\u5E55...",e);let r=this.extractVid(e);_("info",`[Tencent] vid: ${r}`);let n;try{n=await ge(e,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(l){return _("error","[Tencent] \u8BF7\u6C42\u9875\u9762\u5931\u8D25:",l),[]}let s=n.data.match(/<title[^>]*>(.*?)<\/title>/i),i=s?s[1].split("_")[0]:"\u672A\u77E5\u6807\u9898";_("info",`[Tencent] \u6807\u9898: ${i}`);let a=await this.getEpisodeDanmuSegments(e);if(!a||!a.segmentList||a.segmentList.length===0)return[];let o=a.segmentList;_("info",`[Tencent] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${o.length}`);let c=[];for(let l of o)c.push(ge(l.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}));let u=[];try{(await Promise.allSettled(c)).filter(f=>f.status==="fulfilled").map(f=>f.value&&f.value.data?f.value.data:null).filter(f=>f!==null).forEach(f=>{f=typeof f=="string"?JSON.parse(f):f,u.push(...f.barrage_list)})}catch(l){return _("error","[Tencent] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",l),[]}return ts(u),u}async getEpisodeDanmuSegments(e){_("info","[Tencent] \u83B7\u53D6\u817E\u8BAF\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r="https://dm.video.qq.com/barrage/base/",n="https://dm.video.qq.com/barrage/segment/",s=this.extractVid(e);_("info",`[Tencent] \u83B7\u53D6\u5F39\u5E55\u5206\u6BB5\u5217\u8868 - vid: ${s}`);let i;try{i=await ge(r+s,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(u){return u.response?.status===404?new vt({type:"qq",segmentList:[]}):(_("error","[Tencent] \u8BF7\u6C42\u5F39\u5E55\u57FA\u7840\u6570\u636E\u5931\u8D25:",u),new vt({type:"qq",segmentList:[]}))}let a=typeof i.data=="string"?JSON.parse(i.data):i.data,o=[],c=Object.values(a.segment_index);for(let u of c)o.push({type:"qq",segment_start:(Number(u.segment_start)||0)/1e3,segment_end:(Number(u.segment_name.split("/").pop())||0)/1e3,url:`${n}${s}/${u.segment_name}`});return new vt({type:"qq",segmentList:o})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?JSON.parse(r.data):r.data;n.push(...s.barrage_list)}return n}catch(r){return _("error","[Tencent] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>{let n={timepoint:r.time_offset/1e3,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:r.content};if(r.content_style&&r.content_style!=="")try{let s=JSON.parse(r.content_style);s.gradient_colors&&s.gradient_colors.length>0?n.color=parseInt(s.gradient_colors[0].replace("#",""),16):s.color&&s.color!=="ffffff"&&(n.color=parseInt(s.color.replace("#",""),16)),s.position===2?n.ct=5:s.position===3&&(n.ct=4)}catch{}return n.like=parseInt(r.up_count)||0,n})}};St();ar();hn();Is();$n();Pt();hs();var Rg=class t extends wt{static XOR_KEY=0x75706971676c;static SECRET_KEY="howcuteitis";static KEY_NAME="secret_key";async search(e){try{_("info",`[iQiyi] \u5F00\u59CB\u641C\u7D22: ${e}`);let r={key:e,current_page:"1",mode:"1",source:"input",suggest:"",pcv:"13.074.22699",version:"13.074.22699",pageNum:"1",pageSize:"25",pu:"",u:"f6440fc5d919dca1aea12b6aff56e1c7",scale:"200",token:"",userVip:"0",conduit:"",vipType:"-1",os:"",osShortName:"win10",dataType:"",appMode:"",ad:JSON.stringify({lm:3,azd:0xe8d4a513b7,azt:733,position:"feed"}),adExt:JSON.stringify({r:"2.1.5-ares6-pure"})},s=`https://mesh.if.iqiyi.com/portal/lw/search/homePageV3?${Ai(r)}`,i=await ge(s,{headers:{accept:"*/*",origin:"https://www.iqiyi.com",referer:"https://www.iqiyi.com/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!i||!i.data)return _("info","[iQiyi] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(!a.data||!a.data.templates)return _("info","[iQiyi] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let o=[],c=a.data.templates;for(let u of c){let l=[];u.template===112&&u.intentAlbumInfos?(_("info",`[iQiyi] \u627E\u5230\u610F\u56FE\u5361\u7247 (template 112)\uFF0C\u5904\u7406 ${u.intentAlbumInfos.length} \u4E2A\u7ED3\u679C`),l=u.intentAlbumInfos):[101,102,103].includes(u.template)&&u.albumInfo&&(_("info",`[iQiyi] \u627E\u5230\u666E\u901A\u7ED3\u679C\u5361\u7247 (template ${u.template})`),l=[u.albumInfo]);for(let d of l){let f=this._filterIqiyiSearchItem(d,e);f&&o.push(f)}}return _("info",`[iQiyi] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[iQiyi] \u641C\u7D22\u51FA\u9519:",r.message),[]}}_filterIqiyiSearchItem(e,r){if(!e.title)return null;if(e.btnText==="\u5916\u7AD9\u4ED8\u8D39\u64AD\u653E")return _("info",`[iQiyi] \u8FC7\u6EE4\u6389\u5916\u7AD9\u4ED8\u8D39\u64AD\u653E\u5185\u5BB9: ${e.title}`),null;let n=e.channel||"",s="\u7535\u89C6\u5267";if(n.includes("\u7535\u5F71"))s="\u7535\u5F71";else if(n.includes("\u52A8\u6F2B"))s="\u52A8\u6F2B";else if(n.includes("\u7EFC\u827A"))s="\u7EFC\u827A";else if(n.includes("\u7EAA\u5F55\u7247"))s="\u7EAA\u5F55\u7247";else if(n.includes("\u7535\u89C6\u5267"))s="\u7535\u89C6\u5267";else return null;let i=!1,a=!1;if(e.metaTags&&Array.isArray(e.metaTags)&&e.metaTags.forEach(p=>{p.name==="3D"&&(i=!0),p.name==="2D"&&(a=!0)}),e.baseTags&&Array.isArray(e.baseTags)&&e.baseTags.forEach(p=>{p.value==="3D"&&(i=!0),p.value==="2D"&&(a=!0)}),i?s="3D"+s:a&&(s="2D"+s),s.includes("\u7535\u5F71")){let p=e.qipuId||e.playQipuId;if(!p)return _("info",`[iQiyi] \u7535\u5F71\u7F3A\u5C11 qipuId: ${e.title}`),null;let m=null;if(e.year){let A=e.year.value||e.year.name;A&&typeof A=="string"&&A.length===4&&/^\d{4}$/.test(A)&&(m=parseInt(A))}let h=e.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A");return{provider:"iqiyi",mediaId:`movie_${p}`,title:h,type:s,year:m,imageUrl:e.img||e.imgH,episodeCount:1,_qipuId:p}}let o=e.pageUrl;if(!o)return _("info",`[iQiyi] \u975E\u7535\u5F71\u5185\u5BB9\u7F3A\u5C11 pageUrl: ${e.title}`),null;let c=o.match(/v_(\w+?)\.html/);if(!c)return _("info",`[iQiyi] \u65E0\u6CD5\u4ECE pageUrl \u63D0\u53D6 link_id: ${o}`),null;let u=c[1],l=null;if(e.year){let p=e.year.value||e.year.name;p&&typeof p=="string"&&p.length===4&&/^\d{4}$/.test(p)&&(l=parseInt(p))}let d=null;if(e.videos&&e.videos.length>0)d=e.videos.length;else if(e.subscriptContent){let p=e.subscriptContent.match(/(?:更新至|å…¨|å…±)\s*(\d+)\s*(?:集|话|期)/);if(p)d=parseInt(p[1]);else{let m=e.subscriptContent.trim().match(/^(\d+)$/);m&&(d=parseInt(m[1]))}}let f=e.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A");return{provider:"iqiyi",mediaId:u,title:f,type:s,year:l,imageUrl:e.img||e.imgH,episodeCount:d}}async getEpisodes(e){try{if(_("info",`[iQiyi] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${e}`),e.startsWith("movie_")){let p=e.substring(6);_("info",`[iQiyi] \u7535\u5F71\u7C7B\u578B\uFF0C\u8C03\u7528 base_info API \u83B7\u53D6\u89C6\u9891ID: qipuId=${p}`);let m=await this._getMovieVideoId(p);return m?(_("info",`[iQiyi] \u7535\u5F71\u89C6\u9891ID: ${m}`),[{id:m,title:"\u6B63\u7247",order:1,link:`https://www.iqiyi.com/v_${m}.html`}]):(_("error",`[iQiyi] \u65E0\u6CD5\u83B7\u53D6\u7535\u5F71\u7684\u89C6\u9891ID: qipuId=${p}`),[])}let r=/^\d+$/.test(e)?e:this._videoIdToEntityId(e);if(!r)return _("error",`[iQiyi] \u65E0\u6CD5\u5C06 media_id '${e}' \u8F6C\u6362\u4E3A entity_id`),[];let n={entity_id:r,device_id:"qd5fwuaj4hunxxdgzwkcqmefeb3ww5hx",auth_cookie:"",user_id:"0",vip_type:"-1",vip_status:"0",conduit_id:"",pcv:"13.082.22866",app_version:"13.082.22866",ext:"",app_mode:"standard",scale:"100",timestamp:String(Date.now()),src:"pca_tvg",os:"",ad_ext:'{"r":"2.2.0-ares6-pure"}'};n.sign=this._createSign(n);let i=`https://www.iqiyi.com/prelw/tvg/v2/lw/base_info?${Ai(n)}`,a=await ge(i,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.iqiyi.com/"}});if(!a||!a.data)return _("error","[iQiyi] \u83B7\u53D6\u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let o=typeof a.data=="string"?JSON.parse(a.data):a.data;if(o.status_code!==0||!o.data||!o.data.template)return _("error",`[iQiyi] API \u8FD4\u56DE\u9519\u8BEF\uFF0Cstatus_code: ${o.status_code}`),[];let c=[],u=o.data.template.tabs||[];if(u.length===0)return _("info","[iQiyi] \u672A\u627E\u5230\u5206\u96C6\u6807\u7B7E\u9875"),[];let l=u[0].blocks||[],d=!1;for(let p of l)if(p.bk_type==="video_list"&&p.data?.data){if(_("info",`[iQiyi] \u627E\u5230 video_list \u7C7B\u578B\u7684\u5206\u96C6\u6570\u636E\u5757, bk_id: ${p.bk_id}`),!p.tag||!p.tag.includes("episodes")){_("info",`[iQiyi] \u8DF3\u8FC7\u975E\u5206\u96C6\u5757: ${p.bk_id}`);continue}d=!0;let m=p.data.data;if(!Array.isArray(m)){_("warn","[iQiyi] data.data \u4E0D\u662F\u6570\u7EC4\uFF0C\u8DF3\u8FC7\u6B64\u5757");continue}for(let h of m)if(!(!h.videos||!Array.isArray(h.videos))){for(let A of h.videos)if(!(!A.data||!Array.isArray(A.data)))for(let g of A.data){if(g.content_type!==1)continue;let y=(g.play_url||"").match(/tvid=(\d+)/);if(!y)continue;let x=y[1],v=g.short_display_name||g.title||"\u672A\u77E5\u5206\u96C6",C=g.subtitle;C&&!v.includes(C)&&(v=`${v} ${C}`);let R=g.album_order,w=g.page_url;x&&v&&w&&c.push({id:x,title:v,order:R!==void 0?R:c.length,link:w})}}}else if(p.bk_type==="album_episodes"&&p.data?.data){_("info","[iQiyi] \u627E\u5230 album_episodes \u7C7B\u578B\u7684\u5206\u96C6\u6570\u636E\u5757"),d=!0;let m=p.data.data;for(let h of m){let A=h.videos;if(typeof A=="string"){_("info",`[iQiyi] \u53D1\u73B0\u5206\u5B63URL\uFF0C\u6B63\u5728\u83B7\u53D6: ${A}`);try{let g=await ge(A);A=typeof g.data=="string"?JSON.parse(g.data):g.data}catch(g){_("error",`[iQiyi] \u83B7\u53D6\u5206\u5B63\u6570\u636E\u5931\u8D25: ${g.message}`);continue}}if(A&&typeof A=="object"&&A.feature_paged)for(let g in A.feature_paged){let b=A.feature_paged[g];for(let y of b){if(y.content_type!==1)continue;let v=(y.play_url||"").match(/tvid=(\d+)/);if(!v)continue;let C=v[1],R=y.short_display_name||y.title||"\u672A\u77E5\u5206\u96C6",w=y.subtitle;w&&!R.includes(w)&&(R=`${R} ${w}`);let N=y.album_order,P=y.page_url;C&&R&&N&&P&&c.push({id:C,title:R,order:N,link:P})}}}}if(!d)return _("info","[iQiyi] \u672A\u627E\u5230\u5206\u96C6\u6570\u636E\u5757"),[];let f=Array.from(new Map(c.map(p=>[p.id,p])).values());return f.sort((p,m)=>p.order-m.order),_("info",`[iQiyi] \u6210\u529F\u83B7\u53D6 ${f.length} \u4E2A\u5206\u96C6`),f}catch(r){return _("error","[iQiyi] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async _getMovieVideoId(e){try{let r={entity_id:e,device_id:"qd5fwuaj4hunxxdgzwkcqmefeb3ww5hx",auth_cookie:"",user_id:"0",vip_type:"-1",vip_status:"0",conduit_id:"",pcv:"13.103.23529",app_version:"13.103.23529",ext:"",app_mode:"standard",scale:"125",timestamp:String(Date.now()),src:"pca_tvg",os:"",ad_ext:'{"r":"2.5.0-ares6-pure"}'};r.sign=this._createSign(r);let s=`https://mesh.if.iqiyi.com/tvg/v2/lw/base_info?${Ai(r)}`;_("info",`[iQiyi] \u8BF7\u6C42\u7535\u5F71\u8BE6\u60C5: ${s}`);let i=await ge(s,{headers:{accept:"*/*",origin:"https://www.iqiyi.com",referer:"https://www.iqiyi.com/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!i||!i.data)return _("error","[iQiyi] base_info API \u54CD\u5E94\u4E3A\u7A7A"),null;let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.data&&a.data.base_data){let o=a.data.base_data;if(o.share_url){let c=o.share_url.match(/v_(\w+)\.html/);if(c){let u=c[1];return _("info",`[iQiyi] \u4ECE share_url \u63D0\u53D6\u89C6\u9891ID: ${u}`),u}}if(o.page_url){let c=o.page_url.match(/v_(\w+)\.html/);if(c){let u=c[1];return _("info",`[iQiyi] \u4ECE page_url \u63D0\u53D6\u89C6\u9891ID: ${u}`),u}}}return _("error","[iQiyi] base_info API \u54CD\u5E94\u4E2D\u672A\u627E\u5230\u89C6\u9891ID"),_("info",`[iQiyi] \u54CD\u5E94\u6570\u636E\u7ED3\u6784: ${JSON.stringify(a).substring(0,1e3)}...`),null}catch(r){return _("error",`[iQiyi] \u83B7\u53D6\u7535\u5F71\u89C6\u9891ID\u65F6\u51FA\u9519: ${r.message}`),null}}_videoIdToEntityId(e){try{let r=parseInt(e,36),n=this._xorOperation(r),s=n<9e5?100*(n+9e5):n;return String(s)}catch(r){return _("error",`[iQiyi] \u5C06 video_id '${e}' \u8F6C\u6362\u4E3A entity_id \u65F6\u51FA\u9519: ${r.message}`),null}}_xorOperation(e){let r=e.toString(2),n=t.XOR_KEY.toString(2),s=r.split("").reverse(),i=n.split("").reverse(),a=[],o=Math.max(s.length,i.length);for(let u=0;u<o;u++){let l=u<s.length?s[u]:"0",d=u<i.length?i[u]:"0";l==="1"&&d==="1"?a.push("0"):l==="1"||d==="1"?a.push("1"):a.push("0")}let c=a.reverse().join("");return c?parseInt(c,2):0}_createSign(e){let r={};for(let o in e)o!=="sign"&&(r[o]=e[o]);let n=Object.keys(r).sort(),s=[];for(let o of n){let c=r[o]===null||r[o]===void 0?"":r[o];s.push(`${o}=${c}`)}let a=`${s.join("&")}&${t.KEY_NAME}=${t.SECRET_KEY}`;return Ls(a).toUpperCase()}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[iQiyi] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[iQiyi] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p of d){let m=p.link||`https://www.iqiyi.com/v_${l.mediaId}.html`;f.push({name:p.order.toString(),url:m,title:`\u3010qiyi\u3011 ${p.title}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from iqiyi`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"iqiyi"};a.push(m),Lt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[iQiyi] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[iQiyi] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u7231\u5947\u827A\u5F39\u5E55...",e);let r;try{r=await ge(e,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(u){return _("error","[iQiyi] \u8BF7\u6C42\u9875\u9762\u5931\u8D25:",u),[]}let n=r.data.match(/<title[^>]*>(.*?)<\/title>/i),s=n?n[1].split("_")[0]:"\u672A\u77E5\u6807\u9898";_("info",`[iQiyi] \u6807\u9898: ${s}`);let i=await this.getEpisodeDanmuSegments(e);if(!i||!i.segmentList||i.segmentList.length===0)return[];let a=i.segmentList;_("info",`[iQiyi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${a.length}`);let o=[];for(let u of a)o.push(this.getEpisodeSegmentDanmu(u));let c=[];try{(await Promise.allSettled(o)).filter(d=>d.status==="fulfilled").map(d=>d.value).filter(d=>d!==null).forEach(d=>{c.push(...d)})}catch(u){return _("error","[iQiyi] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",u),[]}return ts(c),c}async getEpisodeDanmuSegments(e){_("info","[iQiyi] \u83B7\u53D6\u7231\u5947\u827A\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r="https://pcw-api.iq.com/api/decode/",n="https://pcw-api.iqiyi.com/video/video/baseinfo/",s;try{let d=e.match(/v_(\w+)/);if(!d)return _("error","[iQiyi] \u65E0\u6CD5\u4ECE URL \u4E2D\u63D0\u53D6 tvid"),new vt({type:"qiyi",segmentList:[]});s=d[1],_("info",`[iQiyi] tvid: ${s}`);let f=`${r}${s}?platformId=3&modeCode=intl&langCode=sg`,p=await ge(f,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});s=(typeof p.data=="string"?JSON.parse(p.data):p.data).data.toString(),_("info",`[iQiyi] \u89E3\u7801\u540E tvid: ${s}`)}catch(d){return _("error","[iQiyi] \u8BF7\u6C42\u89E3\u7801\u4FE1\u606F\u5931\u8D25:",d),new vt({type:"qiyi",segmentList:[]})}let i;try{let d=`${n}${s}`,f=await ge(d,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),m=(typeof f.data=="string"?JSON.parse(f.data):f.data).data;if(i=Number(m.durationSec)||0,m.displayBarrage===!1)return _("info","[iQiyi] \u7231\u5947\u827A\u89C6\u9891\u672A\u5F00\u542F\u5F39\u5E55"),new vt({type:"qiyi",duration:i,segmentList:[]});_("info",`[iQiyi] \u65F6\u957F: ${i}`)}catch(d){return _("error","[iQiyi] \u8BF7\u6C42\u89C6\u9891\u57FA\u7840\u4FE1\u606F\u5931\u8D25:",d),new vt({type:"qiyi",segmentList:[]})}let a=60,o=Math.ceil(i/a);_("info",`[iQiyi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${o}`);let c=[],u=`0000${s}`,l=`${u.slice(-4,-2)}/${u.slice(-2)}`;for(let d=0;d<o;d++){let f=d+1,p=Ls(`${s}_${a}_${f}cbzuw1259a`).slice(-8),m=`https://cmts.iqiyi.com/bullet/${l}/${s}_${a}_${f}_${p}.br`;c.push({type:"qiyi",segment_start:d*a,segment_end:Math.min((d+1)*a,i),url:m})}return new vt({type:"qiyi",duration:i,segmentList:c})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Accept-Encoding":"br","Content-Type":"application/octet-stream","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},base64Data:!0,validStatusCodes:[404],retries:1});if(!r||r.status===404||!r.data)return[];let n=this._base64ToUint8Array(r.data),s=await this._decompressBrotli(n);return s[0]===60?this._parseIqiyiXmlDanmu(new TextDecoder("utf-8").decode(s)):this._parseIqiyiProtoDanmu(s)}catch(r){return _("error","[iQiyi] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}_base64ToUint8Array(e){if(typeof atob=="function"){let r=atob(e),n=new Uint8Array(r.length);for(let s=0;s<r.length;s++)n[s]=r.charCodeAt(s);return n}if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));throw new Error("\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301 base64 \u89E3\u7801")}async _decompressBrotli(e){if(typeof DecompressionStream<"u")try{let n=new Blob([e]).stream().pipeThrough(new DecompressionStream("brotli"));return new Uint8Array(await new Response(n).arrayBuffer())}catch{_("info","[iQiyi] DecompressionStream Brotli \u89E3\u538B\u5931\u8D25\uFF0C\u5C1D\u8BD5 Node zlib")}let{brotliDecompressSync:r}=await import("node:zlib");return new Uint8Array(r(e))}_parseIqiyiXmlDanmu(e){function r(o){let c=new RegExp(`<${o}>(.*?)</${o}>`,"g");return e.match(c)?.map(u=>u.substring(o.length+2,u.length-o.length-3))||[]}let n=r("content"),s=r("showTime"),i=r("color"),a=r("likeCount");return n.map((o,c)=>({content:o,showTime:s[c],color:i[c],like:parseInt(a[c],10)||0}))}_parseIqiyiProtoDanmu(e){let r=[],n=this._parseIqiyiProtoFields(e);for(let s of n){if(s.number!==6||!s.bytes)continue;let i=this._parseIqiyiProtoFields(s.bytes),a=this._getIqiyiProtoString(i,1);for(let o of i){if(o.number!==2||!o.bytes)continue;let c=this._parseIqiyiProtoFields(o.bytes),u=this._getIqiyiProtoString(c,2);u&&r.push({content:u,showTime:this._getIqiyiProtoString(c,6)||a||"0",color:this._getIqiyiProtoString(c,8)||"ffffff",like:parseInt(this._getIqiyiProtoString(c,14),10)||0})}}return r}_parseIqiyiProtoFields(e){let r=[],n=0,s=new TextDecoder("utf-8");for(;n<e.length;){let i=this._readIqiyiVarint(e,n),a=i.value;n=i.offset;let o=Number(a>>3n),c=Number(a&7n);if(o===0)break;if(c===0){let u=this._readIqiyiVarint(e,n);r.push({number:o,wireType:c,value:u.value.toString()}),n=u.offset}else if(c===1)r.push({number:o,wireType:c}),n+=8;else if(c===2){let u=this._readIqiyiVarint(e,n),l=Number(u.value);n=u.offset;let d=n+l;if(d>e.length)break;let f=e.subarray(n,d);r.push({number:o,wireType:c,bytes:f,value:s.decode(f)}),n=d}else if(c===5)r.push({number:o,wireType:c}),n+=4;else break}return r}_readIqiyiVarint(e,r){let n=0n,s=0n,i=r;for(;i<e.length;){let a=e[i++];if(n|=BigInt(a&127)<<s,!(a&128))return{value:n,offset:i};s+=7n}throw new Error("\u7231\u5947\u827A\u5F39\u5E55 protobuf varint \u4E0D\u5B8C\u6574")}_getIqiyiProtoString(e,r){return e.find(n=>n.number===r)?.value||""}formatComments(e){return e.map(r=>{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};return n.timepoint=parseFloat(r.showTime),n.color=parseInt(r.color,16),n.content=cf(r.content),n.size=25,n.like=r.like,n})}};Pt();St();ar();hn();Is();$n();hs();var Ng=class extends wt{transformV2Color(e){if(!e)return-1;let n=uK(e.color_left),s=uK(e.color_right);return n===-1&&s===-1?-1:n===-1?s:s===-1?n:Math.floor((n+s)/2)}_extractMediaType(e){let r=(e||"").toLowerCase();return r.includes("\u7535\u5F71")||r.includes("movie")?"\u7535\u5F71":r.includes("\u52A8\u6F2B")||r.includes("\u52A8\u753B")||r.includes("anime")?"\u52A8\u6F2B":r.includes("\u7EFC\u827A")||r.includes("\u771F\u4EBA\u79C0")||r.includes("variety")?"\u7EFC\u827A":r.includes("\u7EAA\u5F55\u7247")||r.includes("documentary")?"\u7EAA\u5F55\u7247":(r.includes("\u7535\u89C6\u5267")||r.includes("\u5267\u96C6")||r.includes("drama")||r.includes("tv"),"\u7535\u89C6\u5267")}async search(e){try{_("info",`[Mango] \u5F00\u59CB\u641C\u7D22: ${e}`);let n=`https://mobileso.bz.mgtv.com/msite/search/v2?q=${encodeURIComponent(e)}&pc=30&pn=1&sort=-99&ty=0&du=0&pt=0&corr=1&abroad=0&_support=10000000000000000`,s=await ge(n,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Accept:"application/json",Referer:"https://www.mgtv.com/"}});if(!s||!s.data)return _("info","[Mango] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let i=typeof s.data=="string"?JSON.parse(s.data):s.data;if(!i.data||!i.data.contents)return _("info","[Mango] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let a=[];for(let o of i.data.contents)if(o.type==="media")for(let c of o.data){if(c.source!=="imgo")continue;let u=c.url?c.url.match(/\/b\/(\d+)/):null;if(!u)continue;let l=u[1],d=c.title?c.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"):"",f=c.desc&&c.desc[0]?c.desc[0].match(/[12][890][0-9][0-9]/):null,p=f?parseInt(f[0]):null,m=c.desc&&c.desc[0]?c.desc[0].split("/")[0].replace("\u7C7B\u578B:","").trim():"",h=this._extractMediaType(m);a.push({provider:"imgo",mediaId:l,title:d,type:h,year:p,imageUrl:c.img||null,episodeCount:c.videoCount||null})}return _("info",`[Mango] \u641C\u7D22\u627E\u5230 ${a.length} \u4E2A\u6709\u6548\u7ED3\u679C`),a}catch(r){return _("error","[Mango] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Mango] \u83B7\u53D6\u5206\u96C6\u5217\u8868: collection_id=${e}`);let r=[],n="",s=0,i=1;for(;s<i;){let u=`https://pcweb.api.mgtv.com/variety/showlist?allowedRC=1&collection_id=${e}&month=${n}&page=1&_support=10000000`,l=await ge(u,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.mgtv.com/"}});if(!l||!l.data){_("info","[Mango] \u672A\u627E\u5230\u5206\u96C6\u4FE1\u606F");break}let d=typeof l.data=="string"?JSON.parse(l.data):l.data;if(!d.data||!d.data.list){_("info","[Mango] \u5206\u96C6\u5217\u8868\u4E3A\u7A7A");break}d.data.list&&d.data.list.length>0&&r.push(...d.data.list.filter(f=>f.src_clip_id===e)),s===0&&(i=d.data.tab_m&&d.data.tab_m.length>0?d.data.tab_m.length:1,_("info",`[Mango] \u68C0\u6D4B\u5230 ${i} \u4E2A\u6708\u4EFD\u5206\u9875`)),s++,s<i&&d.data.tab_m&&d.data.tab_m[s]&&(n=d.data.tab_m[s].m)}let a=/^(.*?)(抢先(看|版)|åŠ æ›´(版)?|花絮|预告|特辑|(特别|惊喜|纳凉)?企划|彩蛋|专访|幕后(花絮)?|ç›´æ’­|纯享|未播|衍生|番外|合伙人手记|会员(专享|åŠ é•¿)|片花|精华|看点|速看|解读|reaction|超前营业|超前(vlog)?|陪看(è®°)?|.{3,}篇|影评)(.*?)$/i,o=r.filter(u=>{let l=`${u.t2||""} ${u.t1||""}`.trim();return u.isnew==="2"?(_("info",`[Mango] \u8FC7\u6EE4\u9884\u544A\u7247: ${l}`),!1):a.test(l)?(_("info",`[Mango] \u9ED1\u540D\u5355\u8FC7\u6EE4: ${l}`),!1):!0}),c=this._processVarietyEpisodes(o);return _("info",`[Mango] \u5171\u83B7\u53D6 ${c.length} \u96C6`),c}catch(r){return _("error","[Mango] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async _getMovieEpisode(e){try{_("info",`[Mango] \u83B7\u53D6\u7535\u5F71\u6B63\u7247: collection_id=${e}`);let r=`https://pcweb.api.mgtv.com/variety/showlist?allowedRC=1&collection_id=${e}&month=&page=1&_support=10000000`,n=await ge(r,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.mgtv.com/"}});if(!n||!n.data)return _("info","[Mango] \u672A\u627E\u5230\u7535\u5F71\u4FE1\u606F"),null;let s=typeof n.data=="string"?JSON.parse(n.data):n.data;if(!s.data||!s.data.list||s.data.list.length===0)return _("info","[Mango] \u7535\u5F71\u5217\u8868\u4E3A\u7A7A"),null;let i=s.data.list.find(a=>a.isIntact==="1");return i||(i=s.data.list.find(a=>a.isnew!=="2")),i||(i=s.data.list[0]),_("info",`[Mango] \u627E\u5230\u7535\u5F71\u6B63\u7247: ${i.t3||i.t1||"\u6B63\u7247"}`),i}catch(r){return _("error","[Mango] \u83B7\u53D6\u7535\u5F71\u6B63\u7247\u51FA\u9519:",r.message),null}}_processVarietyEpisodes(e){if(!e||e.length===0)return[];_("info",`[Mango] \u7EFC\u827A\u5904\u7406\u5F00\u59CB\uFF0C\u539F\u59CB\u5206\u96C6\u6570: ${e.length}`);let r=e.some(i=>{let a=`${i.t2||""} ${i.t1||""}`.trim();return/第\d+期/.test(a)});_("info",`[Mango] \u7EFC\u827A\u683C\u5F0F\u5206\u6790: \u6709\u671F\u6570\u683C\u5F0F=${r}`);let n=[],s=new Map;for(let i of e){let a=`${i.t2||""} ${i.t1||""}`.trim();if(r){let o=a.match(/第(\d+)期([上中下])/),c=a.match(/第(\d+)期/),u=/第\d+期[上中下]/.test(a);if(o){let l=o[1],d=o[2],f=`\u7B2C${l}\u671F${d}`,p=a.substring(a.indexOf(f)+f.length);/^(åŠ æ›´|会员版|纯享版|特别版|独家版|Plus|\+|花絮|预告|彩蛋|抢先|精选|未播|回顾|特辑|幕后)/.test(p)?_("info",`[Mango] \u7EFC\u827A\u8FC7\u6EE4\u4E0A\u4E2D\u4E0B\u683C\u5F0F+\u540E\u7F00: ${a}`):(s.set(i,[parseInt(l),d]),n.push(i),_("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u4E0A\u4E2D\u4E0B\u683C\u5F0F: ${a}`))}else if(c&&!u&&!/会员版|纯享版|特别版|独家版|åŠ æ›´|Plus|\+|花絮|预告|彩蛋|抢先|精选|未播|回顾|特辑|幕后|访谈|采访|混剪|合集|盘点|总结|åˆ å‡|未播放|NG|番外|片段|看点|精彩|制作|导演|演员|拍摄|片尾曲|插曲|主题曲|背景音乐|OST|音乐|歌曲/.test(a)){let l=c[1];s.set(i,[parseInt(l),""]),n.push(i),_("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u6807\u51C6\u671F\u6570: ${a}`)}else _("info",`[Mango] \u7EFC\u827A\u8FC7\u6EE4\u975E\u6807\u51C6\u671F\u6570\u683C\u5F0F: ${a}`)}else{if(a.includes("\u5E7F\u544A")||a.includes("\u63A8\u5E7F")){_("info",`[Mango] \u8DF3\u8FC7\u5E7F\u544A\u5185\u5BB9: ${a}`);continue}n.push(i),_("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u539F\u59CB\u6807\u9898: ${a}`)}}return r?n.sort((i,a)=>{let o=s.get(i)||[0,""],c=s.get(a)||[0,""];if(o[0]!==c[0])return o[0]-c[0];let u={"":0,\u4E0A:1,\u4E2D:2,\u4E0B:3};return(u[o[1]]||0)-(u[c[1]]||0)}):n.sort((i,a)=>{let o=l=>{let f=`${l.t2||""} ${l.t1||""}`.trim().match(/第(\d+)集/);return f?parseInt(f[1]):999999},c=o(i),u=o(a);if(c===999999&&u===999999){let l=i.ts||"0",d=a.ts||"0";return l.localeCompare(d)}return c-u}),_("info",`[Mango] \u7EFC\u827A\u5904\u7406\u5B8C\u6210\uFF0C\u8FC7\u6EE4\u540E\u5206\u96C6\u6570: ${n.length}`),n}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Mango] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Mango] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{if(l.type==="\u7535\u5F71"){let p=await this._getMovieEpisode(l.mediaId);if(!p)return;let m=`https://www.mgtv.com/b/${l.mediaId}/${p.video_id}.html`,h=p.t3||p.t1||"\u6B63\u7247",A=[{name:"1",url:m,title:`\u3010imgo\u3011 ${h}`}],b={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from imgo`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:1,rating:0,isFavorited:!0,source:"imgo"};a.push(b),Lt({...b,links:A},s),O.animes.length>O.MAX_ANIMES&&Ft();return}let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=`https://www.mgtv.com/b/${l.mediaId}/${m.video_id}.html`,A=`${m.t2||""} ${m.t1||""}`.trim();f.push({name:String(p+1),url:h,title:`\u3010imgo\u3011 ${A}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from imgo`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"imgo"};a.push(m),Lt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Mango] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Mango] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u8292\u679CTV\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Mango] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=[];for(let a of n)s.push(ge(a.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}));let i=[];try{(await Promise.allSettled(s)).filter(c=>c.status==="fulfilled").map(c=>c.value&&c.value.data?c.value.data:null).filter(c=>c!==null).forEach(c=>{c=typeof c=="string"?JSON.parse(c):c,c.data?.items&&i.push(...c.data.items)})}catch(a){return _("error","[Mango] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",a),[]}return ts(i),i}async getEpisodeDanmuSegments(e){_("info","[Mango] \u83B7\u53D6\u8292\u679CTV\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r="https://pcweb.api.mgtv.com/video/info",n="https://galaxy.bz.mgtv.com/getctlbarrage",s="https://galaxy.bz.mgtv.com/rdbarrage",i=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,a=e.match(i),o;if(a)o=a[2].split("/").filter(Boolean);else return _("error","[Mango] Invalid URL"),new vt({type:"imgo",segmentList:[]});let c=o[o.length-2],u=o[o.length-1].split(".")[0];_("info",`[Mango] \u83B7\u53D6\u5F39\u5E55\u5206\u6BB5\u5217\u8868 - cid: ${c}, vid: ${u}`);let l;try{let m=`${r}?cid=${c}&vid=${u}`;l=await ge(m,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(m){return m.response?.status===404?new vt({type:"imgo",segmentList:[]}):(_("error","[Mango] \u8BF7\u6C42\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",m),new vt({type:"imgo",segmentList:[]}))}let f=(typeof l.data=="string"?JSON.parse(l.data):l.data).data.info.time,p=!0;try{let m=`${n}?version=8.1.39&abroad=0&uuid=&os=10.15.7&platform=0&mac=&vid=${u}&pid=&cid=${c}&ticket=`,h=await ge(m,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),A=typeof h.data=="string"?JSON.parse(h.data):h.data;(!A.data||!A.data.cdn_list||!A.data.cdn_version)&&(_("warn","[Mango] \u65B0API\u7F3A\u5C11\u5FC5\u8981\u5B57\u6BB5\uFF0C\u8FD4\u56DE\u7A7A\u5206\u6BB5\u5217\u8868"),p=!1);let g=[];if(p){let b=Math.ceil(Cg(f)/60),y=A.data.cdn_list.split(",")[0],x=A.data.cdn_version;for(let v=0;v<b;v++)g.push({type:"imgo",segment_start:v*60,segment_end:Math.min((v+1)*60,Cg(f)),url:`https://${y}/${x}/${v}.json`})}else{let y=Cg(f);for(let x=0;x<y;x+=60)g.push({type:"imgo",segment_start:x,segment_end:Math.min(x+60,Cg(f)),url:`${s}?vid=${u}&cid=${c}&time=${x*1e3}`})}return new vt({type:"imgo",segmentList:g})}catch(m){return _("error","[Mango] \u8BF7\u6C42\u5F39\u5E55\u5206\u6BB5\u6570\u636E\u5931\u8D25:",m),new vt({type:"imgo",segmentList:[]})}}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?JSON.parse(r.data):r.data;s.data?.items&&n.push(...s.data.items)}return n}catch(r){return _("error","[Mango] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};return r?.v2_color&&(n.color=this.transformV2Color(r?.v2_color)),r?.v2_position&&(r?.v2_position===1?n.ct=5:r?.v2_position===2&&(n.ct=4)),n.timepoint=r.time/1e3,n.content=r.content,n.uid=r.uid,n.like=r.v2_up_count,n})}};Pt();St();ar();Is();$n();hn();hs();no();var Og=class t extends wt{static WBI_MIXIN_KEY_CACHE={key:null,timestamp:0};static WBI_MIXIN_KEY_CACHE_TTL=3600;static WBI_MIXIN_KEY_TABLE=[46,47,18,2,53,8,23,32,15,50,10,31,58,3,45,35,27,43,5,49,33,9,42,19,29,28,14,39,12,38,41,13,37,48,7,16,24,55,40,61,26,17,0,1,60,51,30,4,22,25,54,21,56,59,6,63,57,62,11,36,20,34,44,52];static APP_KEY="1d8b6e7d45233436";static APP_SEC="560c52ccd288fed045859ed18bffd973";async resolveB23Link(e){let r;try{_("info",`[Bilibili] \u6B63\u5728\u89E3\u6790 b23.tv \u77ED\u94FE\u63A5: ${e}`);let n=parseInt(O.vodRequestTimeout||"5000",10)||5e3,s=new AbortController;r=setTimeout(()=>s.abort(),n);let a=await(typeof fetch=="function"?fetch:(await Promise.resolve().then(()=>(_C(),wL))).default)(e,{method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},signal:s.signal,redirect:"manual"}),o=a.headers?.get?.("location")||a.headers?.get?.("Location"),c=o?new URL(o,e).toString():a.url;return c&&c!==e?(_("info",`[Bilibili] b23.tv \u77ED\u94FE\u63A5\u5DF2\u89E3\u6790\u4E3A: ${c}`),c):(_("error","[Bilibili] \u65E0\u6CD5\u89E3\u6790 b23.tv \u77ED\u94FE\u63A5"),e)}catch(n){return _("error","[Bilibili] \u89E3\u6790 b23.tv \u77ED\u94FE\u63A5\u5931\u8D25:",n),e}finally{r&&clearTimeout(r)}}async _getWbiMixinKey(){let e=Math.floor(Date.now()/1e3),r=t.WBI_MIXIN_KEY_CACHE;if(r.key&&e-r.timestamp<t.WBI_MIXIN_KEY_CACHE_TTL)return r.key;_("info","[Bilibili] WBI mixin key \u5DF2\u8FC7\u671F\u6216\u4E0D\u5B58\u5728\uFF0C\u6B63\u5728\u83B7\u53D6\u65B0\u7684...");try{let n=await ge("https://api.bilibili.com/x/web-interface/nav",{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),s=typeof n.data=="string"?JSON.parse(n.data):n.data;if(s.code!==0)return _("error","[Bilibili] \u83B7\u53D6 WBI \u5BC6\u94A5\u5931\u8D25:",s.message),"dba4a5925b345b4598b7452c75070bca";let i=s.data?.wbi_img||{},a=i.img_url||"",o=i.sub_url||"",c=a.split("/").pop()?.split(".")[0]||"",u=o.split("/").pop()?.split(".")[0]||"",l=t.WBI_MIXIN_KEY_TABLE.map(d=>(c+u)[d]).join("").substring(0,32);return r.key=l,r.timestamp=e,_("info","[Bilibili] \u6210\u529F\u83B7\u53D6\u65B0\u7684 WBI mixin key"),l}catch(n){return _("error","[Bilibili] \u83B7\u53D6 WBI \u5BC6\u94A5\u5931\u8D25:",n.message),"dba4a5925b345b4598b7452c75070bca"}}_getWbiSignedParams(e,r){let n={...e};n.wts=Math.floor(Date.now()/1e3);let o=Object.keys(n).sort().map(u=>{let l=n[u]??"";return`${encodeURIComponent(u)}=${encodeURIComponent(l)}`}).join("&")+r,c=Ls(o);return n.w_rid=c,n}async _searchByType(e,r,n){try{_("info",`[Bilibili] \u641C\u7D22\u7C7B\u578B '${r}'\uFF0C\u5173\u952E\u8BCD '${e}'`);let s={keyword:e,search_type:r},i=this._getWbiSignedParams(s,n),o=`https://api.bilibili.com/x/web-interface/wbi/search/type?${Object.keys(i).map(d=>`${encodeURIComponent(d)}=${encodeURIComponent(i[d])}`).join("&")}`,c=await ge(o,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),u=typeof c.data=="string"?JSON.parse(c.data):c.data;if(u.code!==0||!u.data?.result)return _("info",`[Bilibili] \u7C7B\u578B '${r}' \u65E0\u7ED3\u679C (Code: ${u.code})`),[];let l=[];for(let d of u.data.result){let f=d.season_id?`ss${d.season_id}`:d.bvid?`bv${d.bvid}`:"";if(!f)continue;let p=this._extractMediaType(d.season_type_name),m=p==="\u7535\u5F71"?1:d.ep_size||0,h=null;try{d.pubdate?typeof d.pubdate=="number"?h=new Date(d.pubdate*1e3).getFullYear():typeof d.pubdate=="string"&&d.pubdate.length>=4&&(h=parseInt(d.pubdate.substring(0,4))):d.pubtime&&(h=new Date(d.pubtime*1e3).getFullYear())}catch{}let A=cf((d.title||"").replace(/<[^>]+>/g,"")).replace(/:/g,"\uFF1A").trim(),g=cf((d.org_title||"").replace(/<[^>]+>/g,"")).trim(),b={provider:"bilibili",mediaId:f,mdId:d.media_id?`md${d.media_id}`:null,title:A,org_title:g,type:p,year:h,imageUrl:d.cover||null,episodeCount:m};d.eps&&d.eps.length>0&&(b._eps=d.eps),l.push(b)}return _("info",`[Bilibili] \u7C7B\u578B '${r}' \u627E\u5230 ${l.length} \u4E2A\u7ED3\u679C`),l}catch(s){return _("error",`[Bilibili] \u641C\u7D22\u7C7B\u578B '${r}' \u5931\u8D25:`,s.message),[]}}_extractMediaType(e){let r=(e||"").toLowerCase();return r.includes("\u7535\u5F71")||r.includes("movie")?"\u7535\u5F71":r.includes("\u756A\u5267")||r.includes("\u56FD\u521B")||r.includes("\u52A8\u6F2B")||r.includes("anime")?"\u52A8\u6F2B":r.includes("\u7EAA\u5F55\u7247")||r.includes("documentary")?"\u7EAA\u5F55\u7247":r.includes("\u7EFC\u827A")||r.includes("variety")?"\u7EFC\u827A":(r.includes("\u7535\u89C6\u5267")||r.includes("\u5267\u96C6")||r.includes("drama")||r.includes("tv"),"\u7535\u89C6\u5267")}async search(e){let r=[];O.useBangumiData&&(r=await Au(e,["bilibili","bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"]),_("info",`[Bilibili] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`));let n=r.filter(s=>["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(s.matchedSiteKey));try{_("info",`[Bilibili] \u5F00\u59CB\u641C\u7D22: ${e}`);let s=await this._getWbiMixinKey(),i=this._searchByType(e,"media_bangumi",s),a=this._searchByType(e,"media_ft",s),o=Promise.resolve([]);this._hasBilibiliProxy()&&(_("info","[Bilibili] \u68C0\u6D4B\u5230\u4EE3\u7406\u914D\u7F6E\uFF0C\u542F\u7528\u6E2F\u6FB3\u53F0\u5E76\u884C\u641C\u7D22"),o=this._searchOversea(e,n.length>0));let c=(await Promise.all([i,a,o])).flat(),u=[],l=new Set,d=new Set;for(let p of c){if(!p||!p.mediaId&&!p.season_id)continue;let m=r.find(A=>p.mdId&&p.mdId===`md${A.siteId}`)||r.find(A=>p.org_title&&A.title===p.org_title);if(m){let g=(m.titles.find(b=>b&&b.includes(e))||m.titles[1]||m.title)+(m.titleSuffix||"");p.title=g,p._displayTitle=g,p.aliases=[...m.titles],p.type=m.typeStr||p.type,p.isLocalPriority=!0,d.add(`md${m.siteId}`),_("info",`[Bilibili] \u7F51\u7EDC\u7ED3\u679C [${p.title}] \u6210\u529F\u5BF9\u9F50\u672C\u5730 Bangumi-Data \u6570\u636E`)}let h=p.mediaId||(p.season_id?`ss${p.season_id}`:null);h&&l.has(h)||(h&&l.add(h),u.push(p))}let f=r.filter(p=>!d.has(`md${p.siteId}`));if(f.length>0){let p=f.filter(h=>h.season_id),m=f.filter(h=>!h.season_id);if(p.length>0){_("info",`[Bilibili] \u4ECE\u672C\u5730 Bangumi-Data \u8865\u5145 ${p.length} \u6761\u7F3A\u6F0F\u8BB0\u5F55\u5E76\u8BF7\u6C42\u8BE6\u60C5....\uFF08\u5305\u542B season_id \uFF09`);for(let h of p){let g=(h.titles.find(x=>x&&x.includes(e))||h.titles[1]||h.title)+(h.titleSuffix||""),b={provider:"bilibili",mediaId:`ss${h.season_id}`,mdId:`md${h.siteId}`,title:g,org_title:h.title,aliases:[...h.titles],_displayTitle:g,type:h.typeStr,year:h.begin?parseInt(h.begin.substring(0,4)):null,imageUrl:"",episodeCount:0,isOversea:["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(h.matchedSiteKey),isLocalPriority:!0},y=b.mediaId;y&&!l.has(y)&&(l.add(y),u.unshift(b))}}if(m.length>0){_("info",`[Bilibili] \u4ECE\u672C\u5730 Bangumi-Data \u8865\u5145 ${m.length} \u6761\u7F3A\u6F0F\u8BB0\u5F55\u5E76\u8BF7\u6C42\u8BE6\u60C5...`);let h=m.map(async g=>{let b=await this._resolveMediaInfo(g.siteId),x=(g.titles.find(v=>v&&v.includes(e))||g.titles[1]||g.title)+(g.titleSuffix||"");return{provider:"bilibili",mediaId:b.seasonId||`md${g.siteId}`,mdId:`md${g.siteId}`,title:x,org_title:g.title,aliases:[...g.titles],_displayTitle:x,type:g.typeStr,year:g.begin?parseInt(g.begin.substring(0,4)):null,imageUrl:b.cover,episodeCount:0,isOversea:["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(g.matchedSiteKey),isLocalPriority:!0}}),A=await Promise.all(h);for(let g of A){let b=g.mediaId;b&&l.has(b)||b&&(l.add(b),u.unshift(g))}}}return _("info",`[Bilibili] \u641C\u7D22\u5B8C\u6210\uFF0C\u627E\u5230 ${u.length} \u4E2A\u6709\u6548\u7ED3\u679C`),u}catch(s){return _("error","[Bilibili] \u641C\u7D22\u51FA\u9519:",s.message),[]}}async _resolveMediaInfo(e){try{let r=await ge(`https://api.bilibili.com/pgc/review/user?media_id=${e}`),n=typeof r.data=="string"?JSON.parse(r.data):r.data;if(n.code===0&&n.result&&n.result.media){let s=n.result.media;return{seasonId:`ss${s.season_id}`,cover:s.cover||s.horizontal_picture||""}}}catch(r){_("error",`[Bilibili] \u83B7\u53D6\u5A92\u4F53\u4FE1\u606F\u5931\u8D25 (md${e}):`,r.message)}return{seasonId:null,cover:""}}async _getPgcEpisodes(e){let r=[],n=[`https://api.bilibili.com/pgc/view/web/season?season_id=${e}`,`https://api.bilibili.com/pgc/web/season/section?season_id=${e}`];for(let i of n)try{let a=await ge(i,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),o=typeof a.data=="string"?JSON.parse(a.data):a.data;if(o.code===0&&o.result&&(r=o.result.main_section?.episodes||o.result.episodes||[],o.result.cover&&(r._cover=o.result.cover),r.length>0))break}catch{}if(r.length===0)return _("error",`[Bilibili] \u83B7\u53D6\u756A\u5267\u5206\u96C6\u5931\u8D25 (season_id=${e}): \u6240\u6709\u63A5\u53E3\u5747\u65E0\u6570\u636E`),[];let s=r.map((i,a)=>{let o="";if(i.show_title)o=i.show_title;else{let c=i.title||String(a+1),u=i.long_title||"";o=/^\d+(\.\d+)?$/.test(c)?`\u7B2C${c}\u8BDD`:c,u&&u!==c&&(o+=` ${u}`)}return{vid:`${i.aid},${i.cid}`,id:i.id,title:o.trim(),link:`https://www.bilibili.com/bangumi/play/ep${i.id}`}});return r._cover&&(s._cover=r._cover),_("info",`[Bilibili] \u83B7\u53D6\u5230 ${s.length} \u4E2A\u756A\u5267\u5206\u96C6`),s}async _getUgcEpisodes(e){try{let r=`https://api.bilibili.com/x/web-interface/view?bvid=${e}`,n=await ge(r,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),s=typeof n.data=="string"?JSON.parse(n.data):n.data;if(s.code!==0||!s.data)return _("error",`[Bilibili] \u83B7\u53D6\u89C6\u9891\u5206\u96C6\u5931\u8D25 (bvid=${e}):`,s.message),[];let i=s.data.pages||[];if(i.length===0)return _("info",`[Bilibili] \u89C6\u9891 bvid=${e} \u65E0\u5206\u96C6\u6570\u636E`),[];let a=i.map((o,c)=>({vid:`${s.data.aid},${o.cid}`,id:o.cid,title:(o.part||`P${o.page}`).trim(),link:`https://www.bilibili.com/video/${e}?p=${o.page}`}));return _("info",`[Bilibili] \u83B7\u53D6\u5230 ${a.length} \u4E2A\u89C6\u9891\u5206\u96C6`),a}catch(r){return _("error",`[Bilibili] \u83B7\u53D6\u89C6\u9891\u5206\u96C6\u51FA\u9519 (bvid=${e}):`,r.message),[]}}async getEpisodes(e){if(e.startsWith("md")){let r=e.substring(2),n=await this._resolveMediaInfo(r);if(n.seasonId){let s=await this._getPgcEpisodes(n.seasonId.substring(2));return s._cover=n.cover,s}return[]}if(e.startsWith("ss")){let r=e.substring(2);return await this._getPgcEpisodes(r)}else if(e.startsWith("bv")){let r=e.substring(2);return await this._getUgcEpisodes(r)}return _("error",`[Bilibili] \u4E0D\u652F\u6301\u7684 ID \u683C\u5F0F: ${e}`),[]}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Bilibili] sourceAnimes is not a valid array"),[];e.forEach(d=>{d.aliases=d.aliases||[],d.title&&!d.aliases.includes(d.title)&&d.aliases.push(d.title),d.org_title&&!d.aliases.includes(d.org_title)&&d.aliases.push(d.org_title)});let o=e.length>0?e[0]._tmdbCnAlias:null;eE(e,o);let c=e.filter(d=>d.isOversea||yt(d.title,r,i)||d.aliases&&d.aliases.some(f=>yt(f,r,i))),u=i!==null?i:$t(r);if(u!==null){let d=c.filter(f=>{let p=f._displayTitle||f.title,m=Tt(p).season;return m===u||u===1&&m===null});d.length>0&&(c=d,_("info",`[Bilibili] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${u}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l=c.map(async d=>{try{let f=[],p=d.checkMore?.content?.includes("\u67E5\u770B\u5168\u90E8");if(d._eps&&d._eps.length>0&&!p){f=d._eps.map((b,y)=>{let x;d.isOversea&&b.position?x=b.position.toString():x=b.index_title||b.index||(y+1).toString();let v=b.title||b.index_title||x,C=b.long_title||"",R=/^\d+(\.\d+)?$/.test(v)?`\u7B2C${v}\u8BDD`:v;C&&C!==v&&(R+=` ${C}`);let w=b.id||b.param,N=`https://www.bilibili.com/bangumi/play/ep${w}?season_id=${d.mediaId.substring(2)}`;return d.isOversea&&(N+="&area=hkmt"),{name:x,url:N,title:`\u3010bilibili1\u3011 ${R.trim()}`,_id:parseInt(w,10)||0}});let g=f.map(b=>lf(b.name));g.every(b=>b!==null)?(f.forEach((b,y)=>b._sortKey=g[y]),f.sort((b,y)=>b._sortKey-y._sortKey)):f.sort((b,y)=>b._id-y._id),_("info",`[Bilibili] \u76F4\u63A5\u4F7F\u7528\u641C\u7D22\u7ED3\u679C\u4E2D\u7684 ${f.length} \u96C6\u5206\u96C6`)}else{let g=await this.getEpisodes(d.mediaId);if(g.length===0){_("info",`[Bilibili] ${d.title} \u65E0\u5206\u96C6\uFF0C\u8DF3\u8FC7`);return}g._cover&&(d.imageUrl=g._cover),f=g.map((b,y)=>{let x=b.link+`?season_id=${d.mediaId.substring(2)}`;return d.isOversea&&(x+="&area=hkmt"),{name:`${y+1}`,url:x,title:`\u3010bilibili1\u3011 ${b.title}`,_id:parseInt(b.id,10)||0}}),f.sort((b,y)=>b._id-y._id)}if(f.length===0)return;let m=Yr(d.mediaId),h=d._displayTitle||Gt(d.title),A={animeId:m,bangumiId:d.mediaId,animeTitle:`${h}(${d.year||"N/A"})\u3010${d.type}\u3011from bilibili`,type:d.type,typeDescription:d.type,imageUrl:d.imageUrl,startDate:Pr(d.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"bilibili",aliases:d.aliases};a.push(A),Lt({...A,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}catch(f){_("error",`[Bilibili] \u5904\u7406 ${d.title} \u5931\u8D25:`,f.message)}});return await Promise.all(l),this.sortAndPushAnimesByYear(a,n),a}async _extractVideoInfo(e){_("info","[Bilibili] \u63D0\u53D6B\u7AD9\u89C6\u9891\u4FE1\u606F...",e);let r="https://api.bilibili.com/x/web-interface/view",n="https://api.bilibili.com/pgc/view/web/season",s=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,i=e.match(s),a;if(i)a=i[2].split("/").filter(Boolean),a.unshift(""),_("info","[Bilibili] ",a);else return _("error","[Bilibili] Invalid URL"),null;let o,c,u,l;if(e.includes("video/"))try{let d=e.split("?")[1],f=1;if(d){let A=d.split("&");for(let g of A){let[b,y]=g.split("=");b==="p"&&(f=y||1)}}_("info",`[Bilibili] p: ${f}`);let p;e.includes("BV")?p=`${r}?bvid=${a[2]}`:(c=a[2].substring(2),p=`${r}?aid=${a[2].substring(2)}`);let m=await ge(p,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),h=typeof m.data=="string"?JSON.parse(m.data):m.data;if(h.code!==0)return _("error","[Bilibili] \u83B7\u53D6\u666E\u901A\u6295\u7A3F\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",h.message),null;u=h.data.duration,o=h.data.pages[f-1].cid}catch(d){return _("error","[Bilibili] \u8BF7\u6C42\u666E\u901A\u6295\u7A3F\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else if(e.includes("bangumi/")&&e.includes("ep"))try{let d=a.slice(-1)[0].slice(2),f=e.split("?")[1]||"",p=null,m=!1;f.split("&").forEach(A=>{let[g,b]=A.split("=");g==="season_id"&&(p=b),g==="area"&&b==="hkmt"&&(m=!0)});let h=!1;if(!m){let A=await ge(`${n}?ep_id=${d}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0"}}),g=typeof A.data=="string"?JSON.parse(A.data):A.data;if(g.code===0&&g.result){let b=g.result.episodes.find(y=>y.id==d);b&&(o=b.cid,u=b.duration/1e3,l=b.share_copy,h=!0)}}if((!h||m)&&p&&this._hasBilibiliProxy()){try{let A=this._makeProxyUrl(`https://api.bilibili.com/pgc/view/web/season?season_id=${p}`),g=await ge(A,{headers:{Cookie:O.bilibliCookie||"","User-Agent":"Mozilla/5.0"}}),b=typeof g.data=="string"?JSON.parse(g.data):g.data;if(b.code===0&&b.result){let y=(b.result.episodes||b.result.main_section?.episodes||[]).find(x=>x.id==d);y&&(o=y.cid,c=y.aid,u=y.duration/1e3,l=y.long_title,h=!0)}}catch{}if(!h)try{let A=await ge(`https://api.bilibili.com/pgc/web/season/section?season_id=${p}`,{headers:{"User-Agent":"Mozilla/5.0",Cookie:O.bilibliCookie||""}}),g=typeof A.data=="string"?JSON.parse(A.data):A.data;if(g.code===0&&g.result?.main_section?.episodes){let b=g.result.main_section.episodes.find(y=>y.id==d);b&&(o=b.cid,c=b.aid,u=b.duration?b.duration/1e3:0,l=b.long_title,h=!0)}}catch{}}if(!o)return _("error","[Bilibili] \u672A\u627E\u5230\u5339\u914D\u7684\u756A\u5267\u96C6\u4FE1\u606F"),null;!u&&u!==0&&(u=0)}catch(d){return _("error","[Bilibili] \u8BF7\u6C42\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else if(e.includes("bangumi/")&&e.includes("ss"))try{let d=a.slice(-1)[0].slice(2).split("?")[0],f=`${n}?season_id=${d}`;_("info",`[Bilibili] \u83B7\u53D6\u756A\u5267\u4FE1\u606F: season_id=${d}`);let p=await ge(f,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),m=typeof p.data=="string"?JSON.parse(p.data):p.data;if(m.code!==0)return _("error","[Bilibili] \u83B7\u53D6\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",m.message),null;if(!m.result.episodes||m.result.episodes.length===0)return _("error","[Bilibili] \u756A\u5267\u6CA1\u6709\u53EF\u7528\u7684\u96C6\u6570"),null;let h=m.result.episodes[0];o=h.cid,u=h.duration/1e3,l=h.share_copy,_("info",`[Bilibili] \u4F7F\u7528\u7B2C\u4E00\u96C6: ${l}, cid=${o}`)}catch(d){return _("error","[Bilibili] \u8BF7\u6C42\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else return _("error","[Bilibili] \u4E0D\u652F\u6301\u7684B\u7AD9\u89C6\u9891\u7F51\u5740\uFF0C\u4EC5\u652F\u6301\u666E\u901A\u89C6\u9891(av,bv)\u3001\u5267\u96C6\u89C6\u9891(ep,ss)"),null;return _("info",`[Bilibili] \u63D0\u53D6\u89C6\u9891\u4FE1\u606F\u5B8C\u6210: cid=${o}, aid=${c}, duration=${u}`),{cid:o,aid:c,duration:u,title:l}}async getEpisodeDanmu(e){_("info","[Bilibili] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42B\u7AD9\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Bilibili] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=6,i=[];for(let a=0;a<n.length;a+=s){let c=n.slice(a,a+s).map(d=>this.getEpisodeSegmentDanmu(d).then(f=>({status:"ok",value:f})).catch(f=>({status:"err",error:f}))),u=await Promise.all(c),l=!1;for(let d of u)d.status==="ok"&&d.value?i.push(...d.value):(_("info","[Bilibili] \u6355\u83B7\u5230\u5206\u6BB5\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF4\u660E\u8BF7\u6C42\u5B8C\u6BD5\uFF0C\u505C\u6B62\u540E\u7EED\u8BF7\u6C42"),l=!0);if(l)break}return i}async getEpisodeDanmuSegments(e){if(_("info","[Bilibili] \u83B7\u53D6B\u7AD9\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),typeof e=="string"&&e.includes("/combine?")){let c=[],u=0,l=0,d=e.startsWith("http")?e:`https://www.bilibili.com${e}`,f=new URL(d);for(let[p,m]of f.searchParams.entries()){if(!p.startsWith("cid"))continue;let h=p.substring(3),[A,g]=m.split("-"),b=parseFloat(A)||0,y=parseFloat(g)||0,x=y-b;if(x<=0)continue;l+=x;let v=Math.ceil(y/360);for(let C=0;C<v;C++){let R=`#combine_start=${b}&combine_end=${y}&combine_offset=${u}`;c.push({type:"bilibili1",segment_start:C*360,segment_end:Math.min((C+1)*360,y),url:`https://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=${h}&segment_index=${C+1}${R}`})}u+=x}return new vt({type:"bilibili1",duration:l,segmentList:c})}let r=await this._extractVideoInfo(e);if(!r)return new vt({type:"bilibili1",segmentList:[]});let{cid:n,aid:s,duration:i}=r;_("info",`[Bilibili] \u89C6\u9891\u4FE1\u606F: cid=${n}, aid=${s}, duration=${i}`),i<=0&&_("info","[Bilibili] \u672A\u83B7\u53D6\u5230\u7CBE\u51C6\u65F6\u957F\uFF0C\u4F7F\u7528\u9884\u8BBE 36 \u5206\u6BB5");let a=i>0?Math.ceil(i/360):36;_("info",`[Bilibili] maxLen: ${a}`);let o=[];for(let c=0;c<a;c+=1){let u;s?u=`https://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=${n}&pid=${s}&segment_index=${c+1}`:u=`https://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=${n}&segment_index=${c+1}`,o.push({type:"bilibili1",segment_start:c*360,segment_end:i>0?Math.min((c+1)*360,i):(c+1)*360,url:u})}return new vt({type:"bilibili1",duration:i>0?i:0,segmentList:o})}async getEpisodeSegmentDanmu(e){try{let r=new URL(e.url),n=e.url.split("#")[0],s=await ge(n,{headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",Cookie:O.bilibliCookie},base64Data:!0,retries:1}),i=[];if(s&&s.data&&(i=O8e(s.data)),r.hash&&r.hash.includes("combine_offset")){let a=new URLSearchParams(r.hash.substring(1)),o=parseFloat(a.get("combine_start"))||0,c=parseFloat(a.get("combine_end"))||0,u=parseFloat(a.get("combine_offset"))||0,l=[];for(let d of i){let f=0;if(d.p&&typeof d.p=="string"?f=parseFloat(d.p.split(",")[0]):d.t!==void 0?f=Number(d.t):d.progress!==void 0&&(f=d.progress/1e3),!isNaN(f)&&f>=o&&f<=c){let p=f-o+u;if(d.p&&typeof d.p=="string"){let m=d.p.split(",");m[0]=p.toFixed(5),d.p=m.join(",")}d.t!==void 0&&(d.t=p),d.progress!==void 0&&(d.progress=Math.round(p*1e3)),l.push(d)}}return l}return i}catch(r){throw r}}formatComments(e){return e.map(r=>(O.danmuSimplifiedTraditional==="simplified"&&r.m&&(r.m=Gt(r.m)),r.like=r.like_num,r))}_makeProxyUrl(e){return O.makeProxyUrl(e)}_hasBilibiliProxy(){return(O.proxyUrl||"").split(",").some(e=>{let r=e.trim();return r.startsWith("bilibili@")||r.startsWith("@")})}_javaUrlEncode(e){return encodeURIComponent(e).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A").replace(/%20/g,"+")}async _searchOverseaRequest(e,r,n,s="Original",i=null){let o=(O.bilibliCookie||"").match(/([0-9a-fA-F]{32})/);if(!((O.proxyUrl||"").includes("bilibili@")||(O.proxyUrl||"").includes("@")))return[];if(o){_("info",`[Bilibili-Proxy][${s}] \u68C0\u6D4B\u5230 Access Key\uFF0C\u542F\u7528 APP \u7AEF\u63A5\u53E3\u6A21\u5F0F (Type: ${r})...`);try{let u={keyword:e,type:r,area:"tw",mobi_app:"android",platform:"android",build:"8140200",ts:Math.floor(Date.now()/1e3),appkey:t.APP_KEY,access_key:o[1],disable_rcmd:1},l=Object.keys(u).sort().map(h=>`${h}=${this._javaUrlEncode(String(u[h]))}`).join("&"),d=Ls(l+t.APP_SEC),f=`https://app.bilibili.com/x/v2/search/type?${l}&sign=${d}`,p=O.makeProxyUrl(f),m=await this._fetchAppSearchWithStream(p,{"User-Agent":"Mozilla/5.0 Android","X-From-Biliroaming":"1.0.0"},s,i);if(m&&m.code===0)return(m.data?.items||m.data?.result||m.data||[]).filter(h=>h.goto!=="recommend_tips"&&h.area!=="\u6F2B\u6E38"&&h.badge!=="\u516C\u544A").map(h=>({provider:"bilibili",mediaId:h.season_id?`ss${h.season_id}`:h.uri.match(/season\/(\d+)/)?.[1]?`ss${h.uri.match(/season\/(\d+)/)[1]}`:"",title:cf((h.title||"").replace(/<[^>]+>/g,"")).trim(),org_title:cf((h.org_title||"").replace(/<[^>]+>/g,"")).trim(),type:this._extractMediaType(h.season_type_name),year:h.ptime?new Date(h.ptime*1e3).getFullYear():null,imageUrl:h.cover||h.pic||"",episodeCount:0,_eps:h.episodes||h.episodes_new,checkMore:h.check_more,isOversea:!0})).filter(h=>h.mediaId);m&&m.code!==0&&_("warn",`[Bilibili-Proxy] App \u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF Code ${m.code}: ${m.message}`)}catch(u){if(u.name==="AbortError")throw u;_("error",`[Bilibili-Proxy] App \u63A5\u53E3\u8BF7\u6C42\u5F02\u5E38: ${u.message}`)}_("info","[Bilibili-Proxy] App \u63A5\u53E3\u8BF7\u6C42\u5931\u8D25\uFF0C\u81EA\u52A8\u964D\u7EA7\u81F3 Web \u63A5\u53E3...")}else _("info",`[Bilibili-Proxy][${s}] \u672A\u68C0\u6D4B\u5230 Access Key\uFF0C\u542F\u7528 Web \u7AEF\u63A5\u53E3\u6A21\u5F0F (Type: ${n})...`);try{let u={keyword:e,search_type:n,area:"tw",page:1,order:"totalrank",__refresh__:!0,_timestamp:Date.now()},d=`https://api.bilibili.com/x/web-interface/search/type?${Object.keys(u).map(h=>`${encodeURIComponent(h)}=${encodeURIComponent(u[h])}`).join("&")}`,f=O.makeProxyUrl(d),p=await ge(f,{headers:{"User-Agent":"Mozilla/5.0",Cookie:O.bilibliCookie||"","X-From-Biliroaming":"1.0.0"},signal:i}),m=typeof p.data=="string"?JSON.parse(p.data):p.data;if(m.code!==0)return _("warn",`[Bilibili-Proxy] Web \u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF Code ${m.code}: ${m.message}`),[];if(m.data?.result)return m.data.result.filter(h=>h.url?.includes("bilibili.com")&&!h.areas?.includes("\u6F2B\u6E38")).map(h=>({provider:"bilibili",mediaId:h.season_id?`ss${h.season_id}`:"",mdId:h.media_id?`md${h.media_id}`:null,title:cf((h.title||"").replace(/<[^>]+>/g,"")).trim(),org_title:cf((h.org_title||"").replace(/<[^>]+>/g,"")).trim(),type:this._extractMediaType(h.season_type_name),year:h.pubtime?new Date(h.pubtime*1e3).getFullYear():null,imageUrl:h.cover||null,episodeCount:h.ep_size||0,_eps:h.eps,isOversea:!0})).filter(h=>h.mediaId)}catch(u){if(u.name==="AbortError")throw u;_("error",`[Bilibili-Proxy] Web \u63A5\u53E3\u8BF7\u6C42\u5F02\u5E38: ${u.message}\uFF08\u5982\u679C\u662F-500/-502\u8BF4\u660E\u53EA\u662F\u98CE\u63A7\uFF09`)}return[]}async _searchOversea(e,r=!1){let n=new AbortController,s=r?[{appType:8,webType:"media_ft"}]:[{appType:7,webType:"media_bangumi"},{appType:8,webType:"media_ft"}],i=Promise.all(s.map(async(o,c)=>(c>0&&await new Promise(u=>setTimeout(u,c*300)),this._searchOverseaRequest(e,o.appType,o.webType,"Original")))).then(o=>{let c=o.flat();return c.length&&n.abort(),c.forEach(u=>u._originalQuery=e),c}).catch(()=>[]),a=O.tmdbApiKey?new Promise(o=>setTimeout(o,100)).then(async()=>{let o=await Zb(e,n.signal,"Bilibili");if(o&&o.title&&o.title!==e){let{title:c,cnAlias:u}=o,l=s.map(async(f,p)=>(p>0&&await new Promise(m=>setTimeout(m,p*300)),this._searchOverseaRequest(c,f.appType,f.webType,"TMDB",n.signal))),d=(await Promise.all(l)).flat();return d.forEach(f=>{f._originalQuery=e,f._searchUsedTitle=c,f._tmdbCnAlias=u}),d}return[]}).catch(()=>[]):Promise.resolve([]);return(await Promise.all([i,a])).flat()}async _fetchAppSearchWithStream(e,r,n,s){if(typeof Fz!="function")return null;let i=!1,a=!1,o=await Fz(e,{headers:r,sniffLimit:8192,signal:s},c=>i?!0:c.includes('"goto":"recommend_tips"')||c.includes("\u6682\u65E0\u641C\u7D22\u7ED3\u679C")?(_("info",`[Bilibili-Proxy][${n}] \u55C5\u63A2\u5230\u65E0\u6548\u6570\u636E\uFF0C\u4E2D\u65AD`),a=!0,!1):((c.includes('"season_id"')||c.includes('"episodes"'))&&(i=!0),!0));return a?{code:0,data:{items:[]}}:o}};Pt();St();ar();hn();Is();$n();hs();var Pg=class extends wt{convertYoukuUrl(e){let r=e.match(/vid=([^&]+)/);return!r||!r[1]?null:`https://v.youku.com/v_show/id_${r[1]}.html`}filterYoukuSearchItem(e,r){let n=e.commonData;if(!n||!n.titleDTO||n.isYouku!==1&&n.hasYouku!==1)return null;let s=n.titleDTO.displayName;if(["\u4E2D\u914D\u7248","\u62A2\u5148\u770B","\u975E\u6B63\u7247","\u89E3\u8BFB","\u63ED\u79D8","\u8D4F\u6790","\u300A"].some(f=>s.includes(f)))return null;let a=n.feature.match(/[12][890][0-9][0-9]/),o=a?parseInt(a[0]):null,c=s.replace(/<[^>]+>/g,"").replace(/【.+?】/g,"").trim().replace(/:/g,"\uFF1A"),u="\u7535\u89C6\u5267",l=(n.cats||"").toLowerCase(),d=(n.feature||"").toLowerCase();return l.includes("\u52A8\u6F2B")||l.includes("anime")?u="\u52A8\u6F2B":l.includes("\u7535\u5F71")||l.includes("movie")?u="\u7535\u5F71":l.includes("\u7535\u89C6\u5267")||l.includes("drama")?u="\u7535\u89C6\u5267":l.includes("\u7EFC\u827A")||l.includes("variety")?u="\u7EFC\u827A":d.includes("\u52A8\u6F2B")?u="\u52A8\u6F2B":d.includes("\u7535\u5F71")?u="\u7535\u5F71":d.includes("\u7535\u89C6\u5267")?u="\u7535\u89C6\u5267":d.includes("\u7EFC\u827A")&&(u="\u7EFC\u827A"),{provider:"youku",mediaId:n.showId,title:c,type:u,year:o,imageUrl:n.posterDTO?n.posterDTO.vThumbUrl:null,episodeCount:n.episodeTotal,cats:n.cats}}async search(e){try{_("info",`[Youku] \u5F00\u59CB\u641C\u7D22: ${e}`);let r=encodeURIComponent(e),n=encodeURIComponent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"),s=`https://search.youku.com/api/search?keyword=${r}&userAgent=${n}&site=1&categories=0&ftype=0&ob=0&pg=1`,i=await ge(s,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",Accept:"application/json",Referer:"https://www.youku.com/"}});if(!i||!i.data)return _("info","[Youku] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(!a.pageComponentList)return _("info","[Youku] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let o=[];for(let c of a.pageComponentList){let u=this.filterYoukuSearchItem(c,e);u&&o.push(u)}return _("info",`[Youku] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[Youku] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Youku] \u83B7\u53D6\u5206\u96C6\u5217\u8868: show_id=${e}`);let r=100,n=await this._getEpisodesPage(e,1,r);if(!n||!n.videos||n.videos.length===0)return _("info","[Youku] \u672A\u627E\u5230\u5206\u96C6\u4FE1\u606F"),[];let s=[...n.videos],i=n.total;if(i>r){let a=Math.ceil(i/r);_("info",`[Youku] \u68C0\u6D4B\u5230 ${i} \u4E2A\u5206\u96C6\uFF0C\u5C06\u5E76\u53D1\u8BF7\u6C42 ${a} \u9875`);let o=[];for(let u=2;u<=a;u++)o.push(this._getEpisodesPage(e,u,r));let c=await Promise.allSettled(o);for(let u=0;u<c.length;u++){let l=c[u];l.status==="fulfilled"&&l.value&&l.value.videos?s.push(...l.value.videos):l.status==="rejected"&&_("error",`[Youku] \u83B7\u53D6\u5206\u96C6\u9875\u9762 ${u+2} \u5931\u8D25:`,l.reason)}_("info",`[Youku] \u5E76\u53D1\u83B7\u53D6\u5B8C\u6210\uFF0C\u5171\u83B7\u53D6 ${s.length} \u4E2A\u5206\u96C6`)}return _("info",`[Youku] \u5171\u83B7\u53D6 ${s.length} \u96C6`),s}catch(r){return _("error","[Youku] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async _getEpisodesPage(e,r,n){let s=`https://openapi.youku.com/v2/shows/videos.json?client_id=53e6cc67237fc59a&package=com.huawei.hwvplayer.youku&ext=show&show_id=${e}&page=${r}&count=${n}`,i=await ge(s,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return!i||!i.data?null:typeof i.data=="string"?JSON.parse(i.data):i.data}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Youku] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Youku] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=this._extractMediaType(l.cats,l.type),p=this._processAndFormatEpisodes(d,f),m=[];for(let h of p){let A=h.link||`https://v.youku.com/v_show/id_${h.vid}.html`;m.push({name:h.episodeIndex.toString(),url:A,title:`\u3010youku\u3011 ${h.title}`})}if(m.length>0){let A={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from youku`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:m.length,rating:0,isFavorited:!0,source:"youku"};a.push(A),Lt({...A,links:m},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Youku] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}_processAndFormatEpisodes(e,r="variety"){return[...e].map((i,a)=>{let o=a+1,c=this._formatEpisodeTitle(i,o,r);return{vid:i.id,title:c,episodeIndex:o,link:i.link}})}_formatEpisodeTitle(e,r,n){let s=e.displayName||e.title,i=/^(?:\d{2,4}-\d{2}-\d{2}|\d{2}-\d{2})\s*(?=(?:第\d+期))|^(?:\d{2,4}-\d{2}-\d{2}|\d{2}-\d{2})\s*:\s*/;if(s=s.replace(i,"").trim(),n==="movie")return s;if(n==="variety"){let a=s.match(/第(\d+)期/);return a?`\u7B2C${a[1]}\u671F ${e.published?.split(" ")[0]??""} ${s}`:`\u7B2C${r}\u671F ${e.published?.split(" ")[0]??""} ${s}`}return/^第\d+集/.test(s)?s:`\u7B2C${r}\u96C6 ${s}`}_extractMediaType(e,r){let n=(e||"").toLowerCase(),s=(r||"").toLowerCase();return n.includes("\u7EFC\u827A")||n.includes("variety")?"variety":n.includes("\u7535\u5F71")||n.includes("movie")?"movie":n.includes("\u52A8\u6F2B")||n.includes("anime")?"anime":n.includes("\u7535\u89C6\u5267")||n.includes("drama")?"drama":s.includes("\u7EFC\u827A")?"variety":s.includes("\u7535\u5F71")?"movie":s.includes("\u52A8\u6F2B")?"anime":(s.includes("\u7535\u89C6\u5267"),"drama")}async getEpisodeDanmu(e){if(_("info","[Youku] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u4F18\u9177\u5F39\u5E55...",e),!e)return[];let n=(await this.getEpisodeDanmuSegments(e)).segmentList,s=[],i=O.youkuConcurrency,a=[...n];for(let o=0;o<a.length;o+=i){let c=a.slice(o,o+i).map(async u=>{let l=await Vr(u.url,Ai({data:u.data}),{headers:{Cookie:`_m_h5_tk=${u._m_h5_tk};_m_h5_tk_enc=${u._m_h5_tk_enc};`,Referer:"https://v.youku.com","Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1,retries:1}),d=[];if(l.data?.data&&l.data.data.result){let f=JSON.parse(l.data.data.result);f.code!=="-1"&&d.push(...f.data.result)}return d});try{let u=await Promise.allSettled(c);for(let l of u)l.status==="fulfilled"&&Array.isArray(l.value)&&(s=s.concat(l.value))}catch(u){_("error","[Youku] \u4F18\u9177\u5206\u6BB5\u6279\u91CF\u8BF7\u6C42\u5931\u8D25:",u.message)}}return ts(s),s}async getEpisodeDanmuSegments(e){if(_("info","[Youku] \u83B7\u53D6\u4F18\u9177\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),!e)return new vt({type:"youku",segmentList:[]});e.includes("youku.com/video?vid")&&(e=this.convertYoukuUrl(e));let r="https://openapi.youku.com/v2/videos/show.json",n="https://acs.youku.com/h5/mopen.youku.danmu.list/1.0/",s=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,i=e.match(s),a;if(i)a=i[2].split("/").filter(Boolean),a.unshift(""),_("info","[Youku]",a);else return _("error","[Youku] Invalid URL"),[];let o=a[a.length-1].split(".")[0].slice(3);_("info",`[Youku] video_id: ${o}`);let c;try{let x=`${r}?client_id=53e6cc67237fc59a&video_id=${o}&package=com.huawei.hwvplayer.youku&ext=show`;c=await ge(x,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1})}catch(x){return _("error","[Youku] \u8BF7\u6C42\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",x),[]}let u=typeof c.data=="string"?JSON.parse(c.data):c.data,l=u.title,d=u.duration;_("info",`[Youku] \u6807\u9898: ${l}, \u65F6\u957F: ${d}`);let f,p,m;try{let x="https://log.mmstat.com/eg.js",v="https://acs.youku.com/h5/mtop.com.youku.aplatform.weakget/1.0/?jsv=2.5.1&appKey=24679788",C=await ge(x,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1});_("info",`[Youku] cnaRes: ${JSON.stringify(C)}`),_("info",`[Youku] cnaRes.headers: ${JSON.stringify(C.headers)}`);let R=C.headers.etag||C.headers.Etag;_("info",`[Youku] etag: ${R}`),f=R.replace(/^"|"$/g,""),_("info",`[Youku] cna: ${f}`);let w;for(;!w;)w=await ge(v,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1});_("info",`[Youku] tkEncRes: ${JSON.stringify(w)}`),_("info",`[Youku] tkEncRes.headers: ${JSON.stringify(w.headers)}`);let N=w.headers["set-cookie"]||w.headers["Set-Cookie"];_("info",`[Youku] tkEncSetCookie: ${N}`);let P=N.match(/_m_h5_tk_enc=([^;]+)/);p=P?P[1]:null;let L=N.match(/_m_h5_tk=([^;]+)/);m=L?L[1]:null,_("info",`[Youku] _m_h5_tk_enc: ${p}`),_("info",`[Youku] _m_h5_tk: ${m}`)}catch(x){return _("error","[Youku] \u83B7\u53D6 cna \u6216 tk_enc \u5931\u8D25:",x),[]}let h=60,A=Math.floor(d/h)+1,g=[],b=async x=>{let v={ctime:Date.now(),ctype:10004,cver:"v1.0",guid:f,mat:x,mcount:1,pid:0,sver:"3.1.0",type:1,vid:o},C=JSON.stringify(v);function R(Z){let W="";for(let F=0;F<Z.length;F++)Z.charCodeAt(F)>255?W+=encodeURIComponent(Z[F]):W+=Z[F];return W}function w(Z){let W="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",F="",V=0,j=0;for(let J=0;J<Z.length;J++)for(V=V<<8|Z.charCodeAt(J),j+=8;j>=6;)F+=W[V>>j-6&63],j-=6;for(j>0&&(F+=W[V<<6-j&63]);F.length%4!==0;)F+="=";return F}let N=w(R(C));v.msg=N,v.sign=Ls(`${N}MkmC9SoIw6xCkSKHhJ7b5D2r51kBiREr`).toString().toLowerCase();let P=JSON.stringify(v),L=Date.now(),M={jsv:"2.5.6",appKey:"24679788",t:L,sign:Ls([m.slice(0,32),L,"24679788",P].join("&")).toString().toLowerCase(),api:"mopen.youku.danmu.list",v:"1.0",type:"originaljson",dataType:"jsonp",timeout:"20000",jsonpIncPrefix:"utility"},k=Ai(M),B=`${n}?${k}`;return _("info",`[Youku] piece_url: ${B}`),{type:"youku",segment_start:x*h,segment_end:Math.min((x+1)*h,d),url:B,data:P,_m_h5_tk:m,_m_h5_tk_enc:p}},y=Array.from({length:A},(x,v)=>v);for(let x=0;x<y.length;x++){let v=await b(y[x]);g.push(v)}return new vt({type:"youku",segmentList:g})}async getEpisodeSegmentDanmu(e){_("info","[Youku] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u4F18\u9177\u5206\u6BB5\u5F39\u5E55...",e.url);let r=await Vr(e.url,Ai({data:e.data}),{headers:{Cookie:`_m_h5_tk=${e._m_h5_tk};_m_h5_tk_enc=${e._m_h5_tk_enc};`,Referer:"https://v.youku.com","Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1,retries:1}),n=[];if(r.data?.data&&r.data.data.result){let s=JSON.parse(r.data.data.result);s.code!=="-1"&&n.push(...s.data.result)}return n}formatComments(e){return e.map(r=>{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};n.timepoint=r.playat/1e3;let s=JSON.parse(r.propertis);if(s?.color&&(n.color=typeof s.color=="string"?parseInt(s.color,10):s.color),s?.pos){let i=s.pos;i===1?n.ct=5:i===2&&(n.ct=4)}return n.content=r.content,n.like=r.extFields.voteUp,n})}};hn();var vsn=new wg,Csn=new Rg,Isn=new Ng,Tsn=new Og,wsn=new Pg,Rsn=new Tg,a4=`LogVar Danmu API/${O.version}`,ZT=class extends wt{async search(e,r=!1){if(O.useBangumiData&&!r){let n=await Au(e,["anidb"]);if(n.length>0)return _("info",`[Dandan] Bangumi-Data \u672C\u5730\u547D\u4E2D ${n.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`),n.map(s=>{let a=(s.titles.find(o=>o&&o.includes(e))||s.titles[1]||s.title)+(s.titleSuffix||"");return{animeId:parseInt(s.siteId),animeTitle:a,type:s.typeId,typeDescription:s.typeStr,imageUrl:"",startDate:s.begin,rating:0,aliases:[...s.titles]}})}try{_("info",`[Dandan] \u539F\u59CB\u641C\u7D22\u8BCD: ${e}`);let n=new AbortController,s=(async()=>{try{let c=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/search/anime?keyword=${e}`,{headers:{"Content-Type":"application/json","User-Agent":a4},retries:1});if(!c||!c.data)return _("info","[Dandan] \u539F\u59CB\u641C\u7D22\u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (source: original)"),{success:!1,source:"original"};if(!c.data.animes||c.data.animes.length===0)return _("info","[Dandan] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: original)"),{success:!1,source:"original"};n.abort();let u=c.data.animes;return _("info",`[Dandan] dandanSearchresp (original): ${JSON.stringify(u)}`),_("info",`[Dandan] \u8FD4\u56DE ${u.length} \u6761\u7ED3\u679C (source: original)`),{success:!0,data:u,source:"original"}}catch(c){return _("error","[Dandan] getDandanAnimes error:",{message:c.message,name:c.name,stack:c.stack}),{success:!1,source:"original"}}})(),i=(async()=>{try{await new Promise(p=>setTimeout(p,100));let c=await Zb(e,n.signal,"Dandan");if(!c||!c.title)return _("info","[Dandan] TMDB\u8F6C\u6362\u672A\u8FD4\u56DE\u7ED3\u679C\uFF0C\u53D6\u6D88\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb"};let{title:u,cnAlias:l}=c;_("info",`[Dandan] \u4F7F\u7528\u65E5\u8BED\u539F\u540D\u901A\u8FC7 episodes \u63A5\u53E3\u8FDB\u884C\u641C\u7D22: ${u}`);let d=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/search/episodes?anime=${encodeURIComponent(u)}`,{headers:{"Content-Type":"application/json","User-Agent":a4},signal:n.signal,retries:1});if(!d||!d.data)return _("info","[Dandan] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (source: tmdb)"),{success:!1,source:"tmdb"};if(!d.data.animes||d.data.animes.length===0)return _("info","[Dandan] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: tmdb)"),{success:!1,source:"tmdb"};let f=d.data.animes;for(let p of f)p.isTmdbSource=!0,p._tmdbCnAlias=l;return _("info",`[Dandan] dandanSearchresp (tmdb): ${JSON.stringify(f)}`),_("info",`[Dandan] \u8FD4\u56DE ${f.length} \u6761\u7ED3\u679C (source: tmdb)`),{success:!0,data:f,source:"tmdb"}}catch(c){if(c.name==="AbortError")return _("info","[Dandan] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4E2D\u65AD\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb",aborted:!0};throw c}})(),[a,o]=await Promise.all([s,i]);if(a.success)return a.data;if(o.success)return o.data;if(_("info",`[Dandan] \u539F\u59CB\u641C\u7D22\u548C\u57FA\u4E8ETMDB\u7684\u641C\u7D22\u5747\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (\u5F53\u524D\u641C\u7D22\u8BCD: ${e})`),!r){let c=e.replace(/(?:第\s*[0-9一二三四五六七八九十百千万]+\s*[季期部])|(?:S(?:eason)?\s*\d+)|(?:Part\s*\d+)/gi,"").trim();if(c&&c!==e)return _("info",`[Dandan] \u5C1D\u8BD5\u53BB\u9664\u5B63\u5EA6\u4FE1\u606F\u8FDB\u884C\u964D\u7EA7\u641C\u7D22: ${c}`),await this.search(c,!0)}return[]}catch(n){return _("error","[Dandan] getDandanAnimes error:",{message:n.message,name:n.name,stack:n.stack}),[]}}async getEpisodes(e){try{let r=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/bangumi/${e}`,{headers:{"Content-Type":"application/json","User-Agent":a4},retries:1});if(!r||!r.data)return _("info","[Dandan] getDandanEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null};if(!r.data.bangumi)return _("info","[Dandan] getDandanEposides: bangumi \u6570\u636E\u4E0D\u5B58\u5728"),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null};let n=r.data.bangumi,s=Array.isArray(n.episodes)?n.episodes:[],i=Array.isArray(n.titles)?n.titles.map(f=>f.title):[],a=Array.isArray(n.relateds)?n.relateds:[],o=n.type||null,c=n.typeDescription||null,u=!1,l=!1;n.tags&&Array.isArray(n.tags)&&n.tags.forEach(f=>{f.name&&f.name.toUpperCase().includes("3D")&&(u=!0),f.name&&f.name.toUpperCase().includes("2D")&&(l=!0)}),u?c="3D"+(c||""):l&&(c="2D"+(c||""));let d=n.imageUrl||null;return _("info",`[Dandan] getDandanEposides: ${JSON.stringify(r.data.bangumi.episodes)}`),{episodes:s,titles:i,relateds:a,type:o,typeDescription:c,imageUrl:d}}catch(r){return _("error","[Dandan] getDandanEposides error:",{message:r.message,name:r.name,stack:r.stack}),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null,imageUrl:null}}}calculateSimilarity(e,r){if(!e||!r)return 0;let n=new Set(e.toLowerCase()),s=new Set(r.toLowerCase()),i=[...n].filter(o=>s.has(o)).length,a=new Set([...n,...s]).size;return i/a}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Dandan] sourceAnimes is not a valid array"),[];e.forEach(m=>{m.title=m.animeTitle});let o=e.length>0?e[0]._tmdbCnAlias:null;eE(e,o);let c=e.length,u=new Set,l=[],d=i!==null?i:$t(r),f=e,p=!1;if(d!==null){let m=e.filter(h=>{let A=h._displayTitle||h.animeTitle,g=Tt(A).season;return g===d||d===1&&g===null});m.length>0&&(f=m,p=!0,_("info",`[Dandan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${d}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}for(let m of f)u.add(m.animeId),l.push({...m,isRelated:!1});for(;l.length>0;){let m=l.splice(0,l.length);await Promise.all(m.map(async h=>{try{let A=await this.getEpisodes(h.animeId),g=A.episodes,b=A.titles||[],y=this.calculateSimilarity(r,h.animeTitle),x=!p;if(y>=.1&&A.relateds&&Array.isArray(A.relateds)&&x)for(let w of A.relateds){let N=Tt(w.animeTitle).season!==null;!u.has(w.animeId)&&(N||c>=25)&&(u.add(w.animeId),l.push({animeId:w.animeId,animeTitle:w.animeTitle,imageUrl:w.imageUrl,rating:w.rating||0,isRelated:!0}))}let v=[h.animeTitle,...b,...h.aliases||[]],C=!1;if(h.isRelated||h.isTmdbSource)if(d!==null){let w=null;for(let N of v){if(!N)continue;let P=$t(N);if(P!==null){w=P;break}}d>1?C=(w||1)===d:d===1&&(C=w===null||w===1)}else C=!0;else C=v.some(w=>w&&yt(w,r,d));if(!C)return;let R=[];for(let w of g){let N=w.episodeTitle&&w.episodeTitle.trim()!==""?`${w.episodeTitle}`:`\u7B2C${w.episodeNumber}\u96C6`;R.push({name:N,url:w.episodeId.toString(),title:`\u3010dandan\u3011 ${N}`})}if(R.length>0){let w=h._displayTitle||h.animeTitle,N=[...new Set([...b,...h.aliases||[]])];h.animeTitle&&h.animeTitle!==w&&!N.includes(h.animeTitle)&&N.push(h.animeTitle);let P=A.type||h.type||"tvseries",L=A.typeDescription||h.typeDescription||"TV\u52A8\u753B",M=h.startDate||(g.length>0?g[0].airDate:null),k=M?new Date(M).getFullYear():"\u672A\u77E5",B={animeId:h.animeId,bangumiId:String(h.animeId),animeTitle:`${w}(${k})\u3010${L}\u3011from dandan`,aliases:N,type:P,typeDescription:L,imageUrl:A.imageUrl||h.imageUrl,startDate:M,episodeCount:R.length,rating:h.rating||0,isFavorited:!0,source:"dandan"};a.push(B),Lt({...B,links:R},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(A){_("error",`[Dandan] Error processing anime: ${A.message}`)}}))}return this.sortAndPushAnimesByYear(a,n),a}async getEpisodeDanmu(e,r=[]){let n=[],s={};try{let a=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=%2Fv2%2Fcomment%2F${e}%3Ffrom%3D0%26withRelated%3Dtrue%26chConvert%3D0`,{headers:{"Content-Type":"application/json","User-Agent":a4},retries:1}).catch(o=>(_("error",`[Dandan] dandan base comments error: ${o.message}`),null));a&&a.data&&a.data.comments?(n=a.data.comments,s.dandan=n.length):s.dandan=0}catch(i){_("error","[Dandan] getEpisodeDanmu error:",{message:i.message,name:i.name,stack:i.stack})}return n}async getEpisodeDanmuSegments(e){return _("info","[Dandan] \u83B7\u53D6\u5F39\u5F39play\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new vt({type:"dandan",segmentList:[{type:"dandan",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e.map(r=>r.isRealTimePulled?O.danmuSimplifiedTraditional==="simplified"&&r.m?{...r,m:Gt(r.m)}:r:{cid:r.cid,p:`${r.p.replace(/([A-Za-z]+)([0-9a-fA-F]{6})/,(n,s,i)=>{let a=parseInt(i.substring(0,2),16),o=parseInt(i.substring(2,4),16),c=parseInt(i.substring(4,6),16),u=a*256*256+o*256+c;return`${s}${u}`})}`,m:O.danmuSimplifiedTraditional==="simplified"?Gt(r.m):r.m})}};Pt();St();ar();$n();no();hs();var ew=class extends wt{async search(e){try{let r=await ge(`${O.customSourceApiUrl}/api/v2/search/anime?keyword=${e}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return!r||!r.data?(_("info","[Custom] customSourceSearchresp: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[]):r.data.animes?(_("info",`[Custom] \u641C\u7D22\u627E\u5230 ${r.data.animes.length} \u4E2A\u6709\u6548\u7ED3\u679C`),r.data.animes):(_("info","[Custom] customSourceSearchresp: seriesData \u6216 seriesList \u4E0D\u5B58\u5728"),[])}catch(r){return _("error","[Custom] getCustomSourceAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){try{let r=await ge(`${O.customSourceApiUrl}/api/v2/bangumi/${e}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return!r||!r.data?(_("info","[Custom] getCustomSourceEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[]):!r.data.bangumi||!r.data.bangumi.episodes?(_("info",`[Custom] getCustomSourceEposides: episodes \u4E0D\u5B58\u5728. Response: ${JSON.stringify(r.data)}`),[]):(_("info",`[Custom] getCustomSourceEposides: ${JSON.stringify(r.data.bangumi.episodes)}`),r.data.bangumi.episodes)}catch(r){return _("error","[Custom] getCustomSourceEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null){let i=[];if(!e||!Array.isArray(e))return _("error","[Custom] sourceAnimes is not a valid array"),[];let a=await Promise.all(e.map(async o=>{try{let c=await this.getEpisodes(o.bangumiId),u=[];for(let l of c){let d=l.episodeTitle&&l.episodeTitle.trim()!==""?`${l.episodeTitle}`:`\u7B2C${l.episodeNumber}\u96C6`;u.push({name:d,url:l.episodeId.toString(),title:`\u3010custom\u3011 ${d}`})}if(u.length>0){let l={animeId:o.animeId,bangumiId:String(o.bangumiId),animeTitle:`${o.animeTitle}(${new Date(o.startDate).getFullYear()})\u3010${o.typeDescription}\u3011from custom`,type:o.type,typeDescription:o.typeDescription,imageUrl:o.imageUrl,startDate:o.startDate,episodeCount:u.length,rating:o.rating,isFavorited:!0,source:"custom"};i.push(l),Lt({...l,links:u},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(c){_("error",`[Custom] Error processing anime: ${c.message}`)}}));return this.sortAndPushAnimesByYear(i,n),a}async getEpisodeDanmu(e){let r=[];try{let n=await ge(`${O.customSourceApiUrl}/api/v2/comment/${e}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1});return n.data&&n.data.comments&&(r=n.data.comments),r}catch(n){return _("error","[Custom] fetchCustomSourceEpisodeDanmu error:",{message:n.message,name:n.name,stack:n.stack}),r}}async getEpisodeDanmuSegments(e){return _("info","[Custom] \u83B7\u53D6Custom Source\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new vt({type:"custom",segmentList:[{type:"custom",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e.map(r=>({cid:r.cid,p:`${r.p.replace(/([A-Za-z]+)([0-9a-fA-F]{6})/,(n,s,i)=>{let a=parseInt(i.substring(0,2),16),o=parseInt(i.substring(2,4),16),c=parseInt(i.substring(4,6),16),u=a*256*256+o*256+c;return`${s}${u}`})}`,m:O.danmuSimplifiedTraditional==="simplified"?Gt(r.m):r.m}))}};Pt();St();ar();Is();$n();Is();var ymr=`
AGFzbQEAAAABWA5gAn9/AX9gA39/fwF/YAJ/fwBgA39/fwBgAX8Bf2ABfwBgBX9/f39/AX9gBX9/f39/AGAAAX9gBH9/f38AYAR/
f39/AX9gAn5/AX9gBn9/f39/fwBgAAACXAMDd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAUDd2JnFV9fd2JpbmRnZW5f
c3RyaW5nX25ldwAAA3diZxdfX3diaW5kZ2VuX2RlYnVnX3N0cmluZwACA4gBhgEEAgUBAAIGBQMFAQMBAgMCAwMCAgAGAAsABQIB
CAcHAAIHBgMJAwwDAAMDCQAAAAACBwIDAwMDAAIDAwUAAQIBAwAABg0CCgAAAgUFAwIFBAQCAQAFAAoDBAAAAAAAAgICAgQABAQE
BAIEAAAEBQAAAAQEBAQAAAIAAAECAgABAQgAAAQEBQQFAXABOTkFAwEAEQYJAX8BQYCAwAALB58BCQZtZW1vcnkCAAZlbnNpZ24A
JA9nYXRld2F5X2VuY3J5cHQAIA9nYXRld2F5X2RlY3J5cHQAIQdnZXRfa2V5AIMBEV9fd2JpbmRnZW5fbWFsbG9jAEUSX193Ymlu
ZGdlbl9yZWFsbG9jAEkfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgBvD19fd2JpbmRnZW5fZnJlZQBaCUgBAEEBCzhw
RF5fL4gBKzJXMYgBcnFfiAFKS247UUAZc2OIAWJBZE4jM4gBYYgBSlFCe3mIAVZ4UTptXWaIAWGIAQ8/fIABGyIKv+YChgG+IQIP
fwF+IwBBEGsiCyQAAkACQAJ/AkAgAEH1AU8EQEEIQQgQWCEGQRRBCBBYIQVBEEEIEFghAUEAQRBBCBBYQQJ0ayICQYCAfCABIAUg
Bmpqa0F3cUEDayIBIAEgAksbIABNDQQgAEEEakEIEFghBEG0psAAKAIARQ0DQQAgBGshAwJ/QQAgBEGAAkkNABpBHyAEQf///wdL
DQAaIARBBiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmoLIgZBAnRBmKPAAGooAgAiAUUEQEEAIQBBACEFDAILIAQgBhBTdCEHQQAhAEEA
IQUDQAJAIAEQdCICIARJDQAgAiAEayICIANPDQAgASEFIAIiAw0AQQAhAyABIQBBAAwECyABQRRqKAIAIgIgACACIAEgB0EddkEE
cWpBEGooAgAiAUcbIAAgAhshACAHQQF0IQcgAQ0ACwwBC0EQIABBBGpBEEEIEFhBBWsgAEsbQQgQWCEEQbCmwAAoAgAiASAEQQN2
IgB2IgJBA3EEQAJAIAJBf3NBAXEgAGoiA0EDdCIAQbCkwABqKAIAIgVBCGooAgAiAiAAQaikwABqIgBHBEAgAiAANgIMIAAgAjYC
CAwBC0GwpsAAIAFBfiADd3E2AgALIAUgA0EDdBBQIAUQhgEhAwwECyAEQbimwAAoAgBNDQICQAJAAkACQAJAAkAgAkUEQEG0psAA
KAIAIgBFDQkgABBpaEECdEGYo8AAaigCACIBEHQgBGshAyABEFIiAARAA0AgABB0IARrIgIgAyACIANJIgIbIQMgACABIAIbIQEg
ABBSIgANAAsLIAEgBBCEASEFIAEQHEEQQQgQWCADSw0CIAEgBBBrIAUgAxBUQbimwAAoAgAiAA0BDAULAkBBASAAQR9xIgB0EFsg
AiAAdHEQaWgiAkEDdCIAQbCkwABqKAIAIgNBCGooAgAiASAAQaikwABqIgBHBEAgASAANgIMIAAgATYCCAwBC0GwpsAAQbCmwAAo
AgBBfiACd3E2AgALIAMgBBBrIAMgBBCEASIFIAJBA3QgBGsiAhBUQbimwAAoAgAiAA0CDAMLIABBeHFBqKTAAGohB0HApsAAKAIA
IQYCf0GwpsAAKAIAIgJBASAAQQN2dCIAcUUEQEGwpsAAIAAgAnI2AgAgBwwBCyAHKAIICyEAIAcgBjYCCCAAIAY2AgwgBiAHNgIM
IAYgADYCCAwDCyABIAMgBGoQUAwDCyAAQXhxQaikwABqIQdBwKbAACgCACEGAn9BsKbAACgCACIBQQEgAEEDdnQiAHFFBEBBsKbA
ACAAIAFyNgIAIAcMAQsgBygCCAshACAHIAY2AgggACAGNgIMIAYgBzYCDCAGIAA2AggLQcCmwAAgBTYCAEG4psAAIAI2AgAgAxCG
ASEDDAULQcCmwAAgBTYCAEG4psAAIAM2AgALIAEQhgEiA0UNAgwDCyAAIAVyRQRAQQAhBUEBIAZ0EFtBtKbAACgCAHEiAEUNAiAA
EGloQQJ0QZijwABqKAIAIQALQQELIQEDQCABRQRAIAUgACAFIAAQdCIBIARrIgYgA0kiAhsgASAESSIBGyEFIAMgBiADIAIbIAEb
IQMgABBSIQBBASEBDAELIAAEQEEAIQEMAQUgBUUNAiAEQbimwAAoAgAiAE0gAyAAIARrT3ENAiAFIAQQhAEhBiAFEBwCQEEQQQgQ
WCADTQRAIAUgBBBrIAYgAxBUIANBgAJPBEAgBiADEB0MAgsgA0F4cUGopMAAaiECAn9BsKbAACgCACIBQQEgA0EDdnQiAHFFBEBB
sKbAACAAIAFyNgIAIAIMAQsgAigCCAshACACIAY2AgggACAGNgIMIAYgAjYCDCAGIAA2AggMAQsgBSADIARqEFALIAUQhgEiAw0D
CwsLAkACQCAEQbimwAAoAgAiAEsEQCAEQbymwAAoAgAiAE8EQEEIQQgQWCAEakEUQQgQWGpBEEEIEFhqQYCABBBYIgBBEHZAACEC
IAtBBGoiAUEANgIIIAFBACAAQYCAfHEgAkF/RiIAGzYCBCABQQAgAkEQdCAAGzYCACALKAIEIghFBEBBACEDDAULIAsoAgwhDEHI
psAAIAsoAggiCkHIpsAAKAIAaiIBNgIAQcymwABBzKbAACgCACIAIAEgACABSxs2AgACQEHEpsAAKAIABEBBmKTAACEAA0AgABBs
IAhGDQIgACgCCCIADQALDAQLQdSmwAAoAgAiAEEAIAAgCE0bRQRAQdSmwAAgCDYCAAtB2KbAAEH/HzYCAEGkpMAAIAw2AgBBnKTA
ACAKNgIAQZikwAAgCDYCAEG0pMAAQaikwAA2AgBBvKTAAEGwpMAANgIAQbCkwABBqKTAADYCAEHEpMAAQbikwAA2AgBBuKTAAEGw
pMAANgIAQcykwABBwKTAADYCAEHApMAAQbikwAA2AgBB1KTAAEHIpMAANgIAQcikwABBwKTAADYCAEHcpMAAQdCkwAA2AgBB0KTA
AEHIpMAANgIAQeSkwABB2KTAADYCAEHYpMAAQdCkwAA2AgBB7KTAAEHgpMAANgIAQeCkwABB2KTAADYCAEH0pMAAQeikwAA2AgBB
6KTAAEHgpMAANgIAQfCkwABB6KTAADYCAEH8pMAAQfCkwAA2AgBB+KTAAEHwpMAANgIAQYSlwABB+KTAADYCAEGApcAAQfikwAA2
AgBBjKXAAEGApcAANgIAQYilwABBgKXAADYCAEGUpcAAQYilwAA2AgBBkKXAAEGIpcAANgIAQZylwABBkKXAADYCAEGYpcAAQZCl
wAA2AgBBpKXAAEGYpcAANgIAQaClwABBmKXAADYCAEGspcAAQaClwAA2AgBBqKXAAEGgpcAANgIAQbSlwABBqKXAADYCAEG8pcAA
QbClwAA2AgBBsKXAAEGopcAANgIAQcSlwABBuKXAADYCAEG4pcAAQbClwAA2AgBBzKXAAEHApcAANgIAQcClwABBuKXAADYCAEHU
pcAAQcilwAA2AgBByKXAAEHApcAANgIAQdylwABB0KXAADYCAEHQpcAAQcilwAA2AgBB5KXAAEHYpcAANgIAQdilwABB0KXAADYC
AEHspcAAQeClwAA2AgBB4KXAAEHYpcAANgIAQfSlwABB6KXAADYCAEHopcAAQeClwAA2AgBB/KXAAEHwpcAANgIAQfClwABB6KXA
ADYCAEGEpsAAQfilwAA2AgBB+KXAAEHwpcAANgIAQYymwABBgKbAADYCAEGApsAAQfilwAA2AgBBlKbAAEGIpsAANgIAQYimwABB
gKbAADYCAEGcpsAAQZCmwAA2AgBBkKbAAEGIpsAANgIAQaSmwABBmKbAADYCAEGYpsAAQZCmwAA2AgBBrKbAAEGgpsAANgIAQaCm
wABBmKbAADYCAEGopsAAQaCmwAA2AgBBCEEIEFghBUEUQQgQWCECQRBBCBBYIQFBxKbAACAIIAgQhgEiAEEIEFggAGsiABCEASID
NgIAQbymwAAgCkEIaiABIAIgBWpqIABqayIFNgIAIAMgBUEBcjYCBEEIQQgQWCECQRRBCBBYIQFBEEEIEFghACADIAUQhAEgACAB
IAJBCGtqajYCBEHQpsAAQYCAgAE2AgAMBAsgABB2DQIgABB3IAxHDQIgACgCACICQcSmwAAoAgAiAU0EfyACIAAoAgRqIAFLBUEA
C0UNAiAAIAAoAgQgCmo2AgRBvKbAACgCACAKaiEBQcSmwAAoAgAiACAAEIYBIgBBCBBYIABrIgAQhAEhA0G8psAAIAEgAGsiBTYC
AEHEpsAAIAM2AgAgAyAFQQFyNgIEQQhBCBBYIQJBFEEIEFghAUEQQQgQWCEAIAMgBRCEASAAIAEgAkEIa2pqNgIEQdCmwABBgICA
ATYCAAwDC0G8psAAIAAgBGsiATYCAEHEpsAAQcSmwAAoAgAiAiAEEIQBIgA2AgAgACABQQFyNgIEIAIgBBBrIAIQhgEhAwwDC0HA
psAAKAIAIQJBEEEIEFggACAEayIBTQRAIAIgBBCEASEAQbimwAAgATYCAEHApsAAIAA2AgAgACABEFQgAiAEEGsgAhCGASEDDAML
QcCmwABBADYCAEG4psAAKAIAIQBBuKbAAEEANgIAIAIgABBQIAIQhgEhAwwCC0HUpsAAQdSmwAAoAgAiACAIIAAgCEkbNgIAIAgg
CmohAUGYpMAAIQACQANAIAEgACgCAEcEQCAAKAIIIgANAQwCCwsgABB2DQAgABB3IAxHDQAgACgCACEDIAAgCDYCACAAIAAoAgQg
Cmo2AgQgCBCGASIFQQgQWCECIAMQhgEiAUEIEFghACAIIAIgBWtqIgYgBBCEASEHIAYgBBBrIAMgACABa2oiACAEIAZqayEEAkBB
xKbAACgCACAARwRAIABBwKbAACgCAEYNASAAKAIEQQNxQQFGBEACQCAAEHQiBUGAAk8EQCAAEBwMAQsgAEEMaigCACICIABBCGoo
AgAiAUcEQCABIAI2AgwgAiABNgIIDAELQbCmwABBsKbAACgCAEF+IAVBA3Z3cTYCAAsgBCAFaiEEIAAgBRCEASEACyAHIAQgABBP
IARBgAJPBEAgByAEEB0gBhCGASEDDAULIARBeHFBqKTAAGohAgJ/QbCmwAAoAgAiAUEBIARBA3Z0IgBxRQRAQbCmwAAgACABcjYC
ACACDAELIAIoAggLIQAgAiAHNgIIIAAgBzYCDCAHIAI2AgwgByAANgIIIAYQhgEhAwwEC0HEpsAAIAc2AgBBvKbAAEG8psAAKAIA
IARqIgA2AgAgByAAQQFyNgIEIAYQhgEhAwwDC0HApsAAIAc2AgBBuKbAAEG4psAAKAIAIARqIgA2AgAgByAAEFQgBhCGASEDDAIL
QcSmwAAoAgAhCUGYpMAAIQACQANAIAkgACgCAE8EQCAAEGwgCUsNAgsgACgCCCIADQALQQAhAAsgCSAAEGwiBkEUQQgQWCIPa0EX
ayIBEIYBIgBBCBBYIABrIAFqIgAgAEEQQQgQWCAJakkbIg0QhgEhDiANIA8QhAEhAEEIQQgQWCEDQRRBCBBYIQVBEEEIEFghAkHE
psAAIAggCBCGASIBQQgQWCABayIBEIQBIgc2AgBBvKbAACAKQQhqIAIgAyAFamogAWprIgM2AgAgByADQQFyNgIEQQhBCBBYIQVB
FEEIEFghAkEQQQgQWCEBIAcgAxCEASABIAIgBUEIa2pqNgIEQdCmwABBgICAATYCACANIA8Qa0GYpMAAKQIAIRAgDkEIakGgpMAA
KQIANwIAIA4gEDcCAEGkpMAAIAw2AgBBnKTAACAKNgIAQZikwAAgCDYCAEGgpMAAIA42AgADQCAAQQQQhAEgAEEHNgIEIgBBBGog
BkkNAAsgCSANRg0AIAkgDSAJayIAIAkgABCEARBPIABBgAJPBEAgCSAAEB0MAQsgAEF4cUGopMAAaiECAn9BsKbAACgCACIBQQEg
AEEDdnQiAHFFBEBBsKbAACAAIAFyNgIAIAIMAQsgAigCCAshACACIAk2AgggACAJNgIMIAkgAjYCDCAJIAA2AggLQQAhA0G8psAA
KAIAIgAgBE0NAEG8psAAIAAgBGsiATYCAEHEpsAAQcSmwAAoAgAiAiAEEIQBIgA2AgAgACABQQFyNgIEIAIgBBBrIAIQhgEhAwsg
C0EQaiQAIAMLrRABGH8gACABKAIQIgkgASgCICIHIAEoAjAiCiABKAIAIgsgASgCJCIMIAEoAjQiDSABKAIEIg4gASgCFCIPIA0g
DCAPIA4gCiAHIAkgCyAAKAIAIhkgACgCCCIQIAAoAgQiCHFqIAAoAgwiGCAIQX9zcWpqQYi31cQCa0EHdyAIaiICaiAOIBhqIBAg
AkF/c3FqIAIgCHFqQaqR4bkBa0EMdyACaiIDIAggASgCDCIRaiACIAMgECABKAIIIhJqIAggA0F/c3FqIAIgA3FqQdvhgaECakER
d2oiBUF/c3FqIAMgBXFqQZLiiPIDa0EWdyAFaiIEQX9zcWogBCAFcWpB0eCP1ABrQQd3IARqIgJqIAMgD2ogBSACQX9zcWogAiAE
cWpBqoyfvARqQQx3IAJqIgMgASgCHCITIARqIAIgAyABKAIYIhQgBWogBCADQX9zcWogAiADcWpB7fO+vgVrQRF3aiIFQX9zcWog
AyAFcWpB/9XlFWtBFncgBWoiAkF/c3FqIAIgBXFqQdixgswGakEHdyACaiIEaiADIAxqIAUgBEF/c3FqIAIgBHFqQdGQ7KUHa0EM
dyAEaiIDIAEoAiwiFSACaiAEIAMgASgCKCIWIAVqIAIgA0F/c3FqIAMgBHFqQc/IAmtBEXdqIgJBf3NxaiACIANxakHC0Iy1B2tB
FncgAmoiBUF/c3FqIAIgBXFqQaKiwNwGakEHdyAFaiIGaiABKAI4IhcgAmogBSADIA1qIAIgBkF/c3FqIAUgBnFqQe2cnhNrQQx3
IAZqIgRBf3MiAnFqIAQgBnFqQfL4mswFa0ERdyAEaiIDIAJxaiAFIAEoAjwiBWogBiADQX9zIgFxaiADIARxakGhkNDNBGpBFncg
A2oiBiAEcWpBnrWHzwBrQQV3IAZqIgJqIAMgFWogAiAGQX9zcWogBCAUaiABIAZxaiACIANxakHAmf39A2tBCXcgAmoiBCAGcWpB
0bT5sgJqQQ53IARqIgMgBEF/c3FqIAYgC2ogBCACQX9zcWogAiADcWpB1vCksgFrQRR3IANqIgIgBHFqQaPfw84Ca0EFdyACaiIB
aiADIAVqIAEgAkF/c3FqIAQgFmogAiADQX9zcWogASADcWpB06iQEmpBCXcgAWoiBCACcWpB/7L4ugJrQQ53IARqIgMgBEF/c3Fq
IAIgCWogBCABQX9zcWogASADcWpBuIiwwQFrQRR3IANqIgIgBHFqQeabh48CakEFdyACaiIBaiADIBFqIAEgAkF/c3FqIAQgF2og
AiADQX9zcWogASADcWpBqvCj5gNrQQl3IAFqIgQgAnFqQfnkq9kAa0EOdyAEaiIDIARBf3NxaiACIAdqIAQgAUF/c3FqIAEgA3Fq
Qe2p6KoEakEUdyADaiICIARxakH7rfCwBWtBBXcgAmoiAWogAiAKaiAEIBJqIAIgA0F/c3FqIAEgA3FqQYi4wRhrQQl3IAFqIgYg
AUF/c3FqIAMgE2ogASACQX9zcWogAiAGcWpB2YW8uwZqQQ53IAZqIgQgAXFqQfbm1pYHa0EUdyAEaiIDIARzIgEgBnNqQb6NF2tB
BHcgA2oiAmogBCAVaiACIAYgB2ogASACc2pB/5K4xAdrQQt3IAJqIgJzIgEgA3NqQaLC9ewGakEQdyACaiIEIAJzIAMgF2ogASAE
c2pB9I/rEGtBF3cgBGoiB3NqQbyrhNoFa0EEdyAHaiIBaiAEIBNqIAIgCWogBCAHcyABc2pBqZ/73gRqQQt3IAFqIgQgASAHc3Nq
QaDpksoAa0EQdyAEaiIDIARzIAcgFmogASAEcyADc2pBkIeBigRrQRd3IANqIgJzakHG/e3EAmpBBHcgAmoiAWogAyARaiAEIAtq
IAIgA3MgAXNqQYaw+6oBa0ELdyABaiIEIAEgAnNzakH7nsPYAmtBEHcgBGoiAyAEcyACIBRqIAEgBHMgA3NqQYW6oCRqQRd3IANq
IgJzakHH36yxAmtBBHcgAmoiAWogAiASaiAEIApqIAIgA3MgAXNqQZvMkckBa0ELdyABaiIEIAFzIAMgBWogASACcyAEc2pB+PmJ
/QFqQRB3IARqIgNzakGb087aA2tBF3cgA2oiAiAEQX9zciADc2pBvLvb3gBrQQZ3IAJqIgFqIAIgD2ogAyAXaiAEIBNqIAEgA0F/
c3IgAnNqQZf/q5kEakEKdyABaiIEIAJBf3NyIAFzakHZuK+jBWtBD3cgBGoiAyABQX9zciAEc2pBx7+xG2tBFXcgA2oiAiAEQX9z
ciADc2pBw7PtqgZqQQZ3IAJqIgFqIAIgDmogAyAWaiAEIBFqIAEgA0F/c3IgAnNqQe7mzIcHa0EKdyABaiIEIAJBf3NyIAFzakGD
l8AAa0EPdyAEaiICIAFBf3NyIARzakGvxO7TB2tBFXcgAmoiASAEQX9zciACc2pBz/yh/QZqQQZ3IAFqIgNqIAEgDWogAiAUaiAE
IAVqIAMgAkF/c3IgAXNqQaCyzA5rQQp3IANqIgIgAUF/c3IgA3NqQez5+ucFa0EPdyACaiIBIANBf3NyIAJzakGho6DwBGpBFXcg
AWoiBCACQX9zciABc2pB/oKyxQBrQQZ3IARqIgMgGWo2AgAgACAYIAIgFWogAyABQX9zciAEc2pBy5uUlgRrQQp3IANqIgJqNgIM
IAAgECABIBJqIAIgBEF/c3IgA3NqQbul39YCakEPdyACaiIBajYCCCAAIAEgCGogBCAMaiABIANBf3NyIAJzakHv2OSjAWtBFXdq
NgIEC5IHAQV/IAAQhwEiACAAEHQiARCEASECAkACQAJAAkACQAJAAkACQAJAIAAQdQ0AIAAoAgAhAyAAEGoNASABIANqIQEgACAD
EIUBIgBBwKbAACgCAEYEQCACKAIEQQNxQQNHDQFBuKbAACABNgIAIAAgASACEE8MCQsgA0GAAk8EQCAAEBwMAQsgAEEMaigCACIE
IABBCGooAgAiBUcEQCAFIAQ2AgwgBCAFNgIIDAELQbCmwABBsKbAACgCAEF+IANBA3Z3cTYCAAsgAhBlDQIgAkHEpsAAKAIARg0E
IAJBwKbAACgCAEcNAUHApsAAIAA2AgBBuKbAAEG4psAAKAIAIAFqIgI2AgAgACACEFQPCyABIANqQRBqIQAMBgsgAhB0IgMgAWoh
AQJAIANBgAJPBEAgAhAcDAELIAJBDGooAgAiBCACQQhqKAIAIgJHBEAgAiAENgIMIAQgAjYCCAwBC0GwpsAAQbCmwAAoAgBBfiAD
QQN2d3E2AgALIAAgARBUIABBwKbAACgCAEcNAUG4psAAIAE2AgAPCyAAIAEgAhBPCyABQYACSQ0BIAAgARAdQdimwABB2KbAACgC
AEEBayIANgIAIAANAxAfGg8LQcSmwAAgADYCAEG8psAAQbymwAAoAgAgAWoiAjYCACAAIAJBAXI2AgRBwKbAACgCACAARgRAQbim
wABBADYCAEHApsAAQQA2AgALIAJB0KbAACgCAE0NAkEIQQgQWCEAQRRBCBBYIQJBEEEIEFghA0EAQRBBCBBYQQJ0ayIBQYCAfCAD
IAAgAmpqa0F3cUEDayIAIAAgAUsbRQ0CQcSmwAAoAgBFDQJBCEEIEFghAEEUQQgQWCECQRBBCBBYIQFBACEDQbymwAAoAgAiBCAB
IAIgAEEIa2pqIgBNDQEgBCAAa0H//wNqQYCAfHEiBEGAgARrIQJBxKbAACgCACEBQZikwAAhAAJAA0AgASAAKAIATwRAIAAQbCAB
Sw0CCyAAKAIIIgANAAtBACEACyAAEHYNASAAKAIMGgwBCyABQXhxQaikwABqIQICf0GwpsAAKAIAIgNBASABQQN2dCIBcUUEQEGw
psAAIAEgA3I2AgAgAgwBCyACKAIICyEDIAIgADYCCCADIAA2AgwgACACNgIMIAAgAzYCCA8LEB9BACADa0cNAEG8psAAKAIAQdCm
wAAoAgBNDQBB0KbAAEF/NgIACwv0BgEIfwJAIAAoAgAiCiAAKAIIIgNyBEACQCADRQ0AIAEgAmohCCAAQQxqKAIAQQFqIQcgASEF
A0ACQCAFIQMgB0EBayIHRQ0AIAMgCEYNAgJ/IAMsAAAiBkEATgRAIAZB/wFxIQYgA0EBagwBCyADLQABQT9xIQkgBkEfcSEFIAZB
X00EQCAFQQZ0IAlyIQYgA0ECagwBCyADLQACQT9xIAlBBnRyIQkgBkFwSQRAIAkgBUEMdHIhBiADQQNqDAELIAVBEnRBgIDwAHEg
Ay0AA0E/cSAJQQZ0cnIiBkGAgMQARg0DIANBBGoLIgUgBCADa2ohBCAGQYCAxABHDQEMAgsLIAMgCEYNACADLAAAIgVBAE4gBUFg
SXIgBUFwSXJFBEAgBUH/AXFBEnRBgIDwAHEgAy0AA0E/cSADLQACQT9xQQZ0IAMtAAFBP3FBDHRycnJBgIDEAEYNAQsCQAJAIARF
DQAgAiAETQRAQQAhAyACIARGDQEMAgtBACEDIAEgBGosAABBQEgNAQsgASEDCyAEIAIgAxshAiADIAEgAxshAQsgCkUNASAAKAIE
IQgCQCACQRBPBEAgASACEAchAwwBCyACRQRAQQAhAwwBCyACQQNxIQcCQCACQQRJBEBBACEDQQAhBgwBCyACQXxxIQVBACEDQQAh
BgNAIAMgASAGaiIELAAAQb9/SmogBEEBaiwAAEG/f0pqIARBAmosAABBv39KaiAEQQNqLAAAQb9/SmohAyAFIAZBBGoiBkcNAAsL
IAdFDQAgASAGaiEFA0AgAyAFLAAAQb9/SmohAyAFQQFqIQUgB0EBayIHDQALCwJAIAMgCEkEQCAIIANrIQRBACEDAkACQAJAIAAt
ACBBAWsOAgABAgsgBCEDQQAhBAwBCyAEQQF2IQMgBEEBakEBdiEECyADQQFqIQMgAEEYaigCACEFIAAoAhAhBiAAKAIUIQADQCAD
QQFrIgNFDQIgACAGIAUoAhARAABFDQALQQEPCwwCC0EBIQMgACABIAIgBSgCDBEBAAR/IAMFQQAhAwJ/A0AgBCADIARGDQEaIANB
AWohAyAAIAYgBSgCEBEAAEUNAAsgA0EBawsgBEkLDwsgACgCFCABIAIgAEEYaigCACgCDBEBAA8LIAAoAhQgASACIABBGGooAgAo
AgwRAQAL1wYBCH8CQAJAIAEgAEEDakF8cSICIABrIghJDQAgASAIayIGQQRJDQAgBkEDcSEHQQAhAQJAIAAgAkYiCQ0AAkAgAiAA
QX9zakEDSQRADAELA0AgASAAIARqIgMsAABBv39KaiADQQFqLAAAQb9/SmogA0ECaiwAAEG/f0pqIANBA2osAABBv39KaiEBIARB
BGoiBA0ACwsgCQ0AIAAgAmshAyAAIARqIQIDQCABIAIsAABBv39KaiEBIAJBAWohAiADQQFqIgMNAAsLIAAgCGohBAJAIAdFDQAg
BCAGQXxxaiIALAAAQb9/SiEFIAdBAUYNACAFIAAsAAFBv39KaiEFIAdBAkYNACAFIAAsAAJBv39KaiEFCyAGQQJ2IQYgASAFaiED
A0AgBCEAIAZFDQJBwAEgBiAGQcABTxsiBUEDcSEHIAVBAnQhBEEAIQIgBUEETwRAIAAgBEHwB3FqIQggACEBA0AgAiABKAIAIgJB
f3NBB3YgAkEGdnJBgYKECHFqIAFBBGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAUEIaigCACICQX9zQQd2IAJBBnZyQYGChAhx
aiABQQxqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIQIgAUEQaiIBIAhHDQALCyAGIAVrIQYgACAEaiEEIAJBCHZB/4H8B3EgAkH/
gfwHcWpBgYAEbEEQdiADaiEDIAdFDQALAn8gACAFQfwBcUECdGoiACgCACIBQX9zQQd2IAFBBnZyQYGChAhxIgEgB0EBRg0AGiAB
IAAoAgQiAUF/c0EHdiABQQZ2ckGBgoQIcWoiASAHQQJGDQAaIAAoAggiAEF/c0EHdiAAQQZ2ckGBgoQIcSABagsiAUEIdkH/gRxx
IAFB/4H8B3FqQYGABGxBEHYgA2oPCyABRQRAQQAPCyABQQNxIQQCQCABQQRJBEBBACECDAELIAFBfHEhBUEAIQIDQCADIAAgAmoi
ASwAAEG/f0pqIAFBAWosAABBv39KaiABQQJqLAAAQb9/SmogAUEDaiwAAEG/f0pqIQMgBSACQQRqIgJHDQALCyAERQ0AIAAgAmoh
AQNAIAMgASwAAEG/f0pqIQMgAUEBaiEBIARBAWsiBA0ACwsgAwunBgEGfyMAQeADayIFJAAgBUEAQeADEIEBIgUgASABEBQgBUEg
aiABQRBqIgEgARAUQcAAIQZBCCEHA0AgBSAHEDUgAyAFaiIBQUBrIgQQDCAEIAQoAgBBf3M2AgAgAUHEAGoiBCAEKAIAQX9zNgIA
IAFB1ABqIgQgBCgCAEF/czYCACABQdgAaiIEIAQoAgBBf3M2AgAgBSAGaiIEIAQoAgBBgIADczYCACAFIAdBCGoiB0EOECogA0GA
A0YEQCAFQeAAaiEHIAVBQGshAyAFQSBqIQZBAyEEA0AgBEEBayEEQQAhAQNAIAEgBmoiAiACKAIAIgIgAiACQQR2c0GAmLwYcSIC
QQR0cyACcyICIAIgAkECdnNBgOaAmANxIgJBAnRzIAJzNgIAIAFBBGoiAUEgRw0AC0EAIQEDQCABIANqIgIgAigCACICIAIgAkEE
dnNBgJ6A+ABxIgJBBHRzIAJzNgIAIAFBBGoiAUEgRw0AC0EAIQEDQCABIAdqIgIgAigCACICIAIgAkEEdnNBgIa84ABxIgJBBHRz
IAJzIgIgAiACQQJ2c0GA5oCYA3EiAkECdHMgAnM2AgAgAUEEaiIBQSBHDQALIAdBgAFqIQcgA0GAAWohAyAGQYABaiEGIAQNAAtB
oAMhAQNAIAEgBWoiAyADKAIAIgMgAyADQQR2c0GAmLwYcSIDQQR0cyADcyIDIAMgA0ECdnNBgOaAmANxIgNBAnRzIANzNgIAIAFB
BGoiAUHAA0cNAAtBACEDA0AgAyAFaiIBQSBqIgYgBigCAEF/czYCACABQSRqIgYgBigCAEF/czYCACABQTRqIgYgBigCAEF/czYC
ACABQThqIgEgASgCAEF/czYCACADQSBqIgNBwANHDQALIAAgBUHgAxCCARogBUHgA2okAAUgBSAHEDUgAUHgAGoiBBAMIAQgBCgC
AEF/czYCACABQeQAaiIEIAQoAgBBf3M2AgAgAUH0AGoiBCAEKAIAQX9zNgIAIAFB+ABqIgEgASgCAEF/czYCACAFIAdBCGoiB0EG
ECogBkHEAGohBiADQUBrIQMMAQsLC7QFAQh/QStBgIDEACAAKAIcIghBAXEiBhshDCAEIAZqIQYCQCAIQQRxRQRAQQAhAQwBCwJA
IAJBEE8EQCABIAIQByEFDAELIAJFBEAMAQsgAkEDcSEJAkAgAkEESQRADAELIAJBfHEhCgNAIAUgASAHaiILLAAAQb9/SmogC0EB
aiwAAEG/f0pqIAtBAmosAABBv39KaiALQQNqLAAAQb9/SmohBSAKIAdBBGoiB0cNAAsLIAlFDQAgASAHaiEHA0AgBSAHLAAAQb9/
SmohBSAHQQFqIQcgCUEBayIJDQALCyAFIAZqIQYLAkACQCAAKAIARQRAQQEhBSAAKAIUIgYgACgCGCIAIAwgASACEEYNAQwCCyAG
IAAoAgQiB08EQEEBIQUgACgCFCIGIAAoAhgiACAMIAEgAhBGDQEMAgsgCEEIcQRAIAAoAhAhCCAAQTA2AhAgAC0AICEKQQEhBSAA
QQE6ACAgACgCFCIJIAAoAhgiCyAMIAEgAhBGDQEgByAGa0EBaiEFAkADQCAFQQFrIgVFDQEgCUEwIAsoAhARAABFDQALQQEPC0EB
IQUgCSADIAQgCygCDBEBAA0BIAAgCjoAICAAIAg2AhBBACEFDAELIAcgBmshBgJAAkACQCAALQAgIgVBAWsOAwABAAILIAYhBUEA
IQYMAQsgBkEBdiEFIAZBAWpBAXYhBgsgBUEBaiEFIABBGGooAgAhCCAAKAIQIQogACgCFCEAAkADQCAFQQFrIgVFDQEgACAKIAgo
AhARAABFDQALQQEPC0EBIQUgACAIIAwgASACEEYNACAAIAMgBCAIKAIMEQEADQBBACEFA0AgBSAGRgRAQQAPCyAFQQFqIQUgACAK
IAgoAhARAABFDQALIAVBAWsgBkkPCyAFDwsgBiADIAQgACgCDBEBAAvYBAEcfyAAIAAoAggiBCAAKAIEIgVzIgwgACgCHCINIAAo
AhAiAXMiFiAAKAIYIgJzIhcgFnFzIAIgDXMiAyAAKAIMIgYgACgCACIHcyIIcyIJcyADIAUgB3MiCnMiEyABIAJzIg8gBCAAKAIU
IgRzIhBzIhlxIhRzIAYgF3MiFSABIAZzIgEgDHMiGHEgCSAYcyABcSILcyIOcyIRIA4gDyABIAdzIhpxIAIgBXMiBSAEIAZzcyIH
IAEgCnMiDnJzcyIScSICIAsgAyAJcXMiCyAHIA5xIAogD3MiCiAEcyIbIAUgCHMiHHFzIAFzIARzcyIGcyARIBQgCiANIBBzIhRx
IAhzcyALcyIEcyIIcSAEcyIFIAYgEnMiCyACIARzcSAGcyINcyIQIAFxIAogDXEiCnMgDSALIAQgEnFBf3NxIAJzIgFzIgQgE3Eg
AyACIAYgEXEgCHFzIAhzIgIgAXMiA3EiCHMiEXM2AgAgACAHIAIgBXMiB3EiBiAFIBtxIhJzIAMgEHMiEyAVcSIVIAMgCXEiA3Mi
CyAQIAkgDHNxIgwgByAOcSIHIAIgD3EiD3NzIg5zIglzNgIcIAAgDCACIBpxIgIgASAXcXMiDCAGIAUgHHFzc3MiBSADIA0gFHEi
AyABIBZxcyIBIA9zcyARc3M2AhggACABIApzIgEgB3MgC3MgBXM2AhQgACADIAQgGXEiA3MgCXM2AhAgACATIBhxIAJzIA5zIgIg
ASADIBJzIgEgCHNzczYCDCAAIAEgDHMgCXM2AgggACAGIBVzIAJzNgIEC9QFAgZ/An4CQCACRQ0AIAJBB2siA0EAIAIgA08bIQcg
AUEDakF8cSABayEIQQAhAwNAAkACQAJAIAEgA2otAAAiBcAiBkEATgRAIAggA2tBA3ENASADIAdPDQIDQCABIANqIgRBBGooAgAg
BCgCAHJBgIGChHhxDQMgA0EIaiIDIAdJDQALDAILQoCAgICAICEKQoCAgIAQIQkCQAJAAn4CQAJAAkACQAJAAkACQAJAAkAgBUGM
oMAAai0AAEECaw4DAAECCgsgA0EBaiIEIAJJDQJCACEKQgAhCQwJC0IAIQogA0EBaiIEIAJJDQJCACEJDAgLQgAhCiADQQFqIgQg
AkkNAkIAIQkMBwsgASAEaiwAAEG/f0oNBgwHCyABIARqLAAAIQQCQAJAIAVB4AFrIgUEQCAFQQ1GBEAMAgUMAwsACyAEQWBxQaB/
Rg0EDAMLIARBn39KDQIMAwsgBkEfakH/AXFBDE8EQCAGQX5xQW5HDQIgBEFASA0DDAILIARBQEgNAgwBCyABIARqLAAAIQQCQAJA
AkACQCAFQfABaw4FAQAAAAIACyAGQQ9qQf8BcUECSyAEQUBOcg0DDAILIARB8ABqQf8BcUEwTw0CDAELIARBj39KDQELIAIgA0EC
aiIETQRAQgAhCQwFCyABIARqLAAAQb9/Sg0CQgAhCSADQQNqIgQgAk8NBCABIARqLAAAQb9/TA0FQoCAgICA4AAMAwtCgICAgIAg
DAILQgAhCSADQQJqIgQgAk8NAiABIARqLAAAQb9/TA0DC0KAgICAgMAACyEKQoCAgIAQIQkLIAAgCiADrYQgCYQ3AgQgAEEBNgIA
DwsgBEEBaiEDDAILIANBAWohAwwBCyACIANNDQADQCABIANqLAAAQQBIDQEgAiADQQFqIgNHDQALDAILIAIgA0sNAAsLIAAgATYC
BCAAQQhqIAI2AgAgAEEANgIAC6YEARt/IAAgACgCHCIBIAAoAgQiBHMiByAAKAIQIgUgACgCCCIKcyIMcyIRIAAoAgxzIgggACgC
GCIGcyILIAEgBXMiEnMiCSAGIAAoAhRzIgJzIgMgBCACIAAoAgAiBHMiBnMiEyAGcXMgAyAHcSINcyAHcyAJIBJxIg4gAiAIIApz
IgJzIgggCXMiFyAMcXMiD3MiECAPIAIgEXEiDyALIAIgBHMiGCATIAEgCnMiCnMiGXFzc3MiFHEiCyAIIApxIA5zIg4gDyAFIAZz
Ig8gBHEgCnMgCHNzcyIFcyAOIA0gAyAEIAlzIg0gASAGcyIOcXNzIAFzcyIBIBBzcSIVIAtzIAFxIhYgEHMiECACcSIaIAQgASAV
cyIEcXMiFSAFIAEgC3MiAiAFIBRzIgVxcyIBIA1xcyADIAIgFnMgAXEgBXMiAyABcyILcSINcyIUIAMgE3FzIAwgAyAEIBBzIgJz
IgUgASAEcyIMcyITcSAMIBJxIhJzIhZzIhsgDSADIAZxcyIGIBMgF3FzIgMgByALcSIHIAUgCHEgFXNzcyIIczYCBCAAIAcgG3M2
AgAgACAWIAIgGXFzIgcgECARcXMiESADIAkgDHFzIglzNgIcIAAgCCABIA5xcyIDIAUgCnEgEnMgCXNzNgIUIAAgAiAYcSAacyAG
cyARcyIBNgIQIAAgByAEIA9xcyADczYCCCAAIAEgCXM2AhggACABIBRzNgIMC4YFAQp/IwBBMGsiAyQAIANBJGogATYCACADQQM6
ACwgA0EgNgIcIANBADYCKCADIAA2AiAgA0EANgIUIANBADYCDAJ/AkACQAJAIAIoAhAiCkUEQCACQQxqKAIAIgBFDQEgAigCCCEB
IABBA3QhBSAAQQFrQf////8BcUEBaiEHIAIoAgAhAANAIABBBGooAgAiBARAIAMoAiAgACgCACAEIAMoAiQoAgwRAQANBAsgASgC
ACADQQxqIAFBBGooAgARAAANAyABQQhqIQEgAEEIaiEAIAVBCGsiBQ0ACwwBCyACQRRqKAIAIgBFDQAgAEEFdCELIABBAWtB////
P3FBAWohByACKAIIIQggAigCACEAA0AgAEEEaigCACIBBEAgAygCICAAKAIAIAEgAygCJCgCDBEBAA0DCyADIAUgCmoiAUEQaigC
ADYCHCADIAFBHGotAAA6ACwgAyABQRhqKAIANgIoIAFBDGooAgAhBkEAIQlBACEEAkACQAJAIAFBCGooAgBBAWsOAgACAQsgBkED
dCAIaiIMKAIEQS1HDQEgDCgCACgCACEGC0EBIQQLIAMgBjYCECADIAQ2AgwgAUEEaigCACEEAkACQAJAIAEoAgBBAWsOAgACAQsg
BEEDdCAIaiIGKAIEQS1HDQEgBigCACgCACEEC0EBIQkLIAMgBDYCGCADIAk2AhQgCCABQRRqKAIAQQN0aiIBKAIAIANBDGogASgC
BBEAAA0CIABBCGohACALIAVBIGoiBUcNAAsLIAcgAigCBE8NASADKAIgIAIoAgAgB0EDdGoiACgCACAAKAIEIAMoAiQoAgwRAQBF
DQELQQEMAQtBAAsgA0EwaiQAC4cVARV/IwBBIGsiAyQAIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIANCADcDACADIAIg
AkEQahAUIAFBwANqIQpBACECA0AgAiADaiITIBMoAgAgAiAKaigCAHM2AgAgAkEEaiICQSBHDQALIAMQCkEAIQIDQCACIANqIgog
CigCACIKIAogCkEEdnNBgJ6A+ABxIgpBBHRzIApzNgIAIAJBBGoiAkEgRw0ACyABQcACaiETIAFB4AJqIRQgAUGAA2ohFSABQaAD
aiEWQegAIQoCQANAQQAhAgNAIAIgA2oiBiAGKAIAIAIgFmooAgBzNgIAIAJBBGoiAkEgRw0ACyADIAMoAhgiBkEWd0G//vz5A3Eg
BkEed0HAgYOGfHFyIAZzIgkgAygCHCICcyIHIAJBFndBv/78+QNxIAJBHndBwIGDhnxxciACcyICIAMoAhAiBUEWd0G//vz5A3Eg
BUEed0HAgYOGfHFyIAVzIgwgAygCFCIEcyINcyILQQx3QY+evPgAcSALQRR3QfDhw4d/cXJzIAtzNgIcIAMgBiAEIARBFndBv/78
+QNxIARBHndBwIGDhnxxcnMiCHMiBiADKAIAIgRBFndBv/78+QNxIARBHndBwIGDhnxxciAEcyIPcyILIAtBDHdBj568+ABxIAtB
FHdB8OHDh39xcnMgAiAEcyILczYCACADIAYgCSAFIAMoAgwiBEEWd0G//vz5A3EgBEEed0HAgYOGfHFyIARzIg5zIAJzIhBzIgVB
DHdBj568+ABxIAVBFHdB8OHDh39xcnMgBXM2AhggAyANIAQgAygCCCIFQRZ3Qb/+/PkDcSAFQR53QcCBg4Z8cXIgBXMiCXMgAnMi
ESAHIAhzcyIEQQx3QY+evPgAcSAEQRR3QfDhw4d/cXJzIARzNgIUIAMgECAGIAdzIg0gDCAFIAMoAgQiBEEWd0G//vz5A3EgBEEe
d0HAgYOGfHFyIARzIghzIhJzcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIQIAMgESAEIA9zIAJzIgUgBiAOc3MiAkEM
d0GPnrz4AHEgAkEUd0Hw4cOHf3FycyACczYCDCADIBIgByAJcyALcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAJzNgIIIAMg
BSAIIA1zIgJBDHdBj568+ABxIAJBFHdB8OHDh39xcnMgAnM2AgQgAxAKIApBCEYEQEEAIQIDQCACIANqIgogCigCACABIAJqKAIA
czYCACACQQRqIgJBIEcNAAsgACADEBUgA0EgaiQADwtBACECA0AgAiADaiIGIAYoAgAgAiAVaigCAHM2AgAgAkEEaiICQSBHDQAL
IApBEGshCyADIAMoAhgiB0EYdyAHcyIJIAMoAhwiAnMiBiACQRh3IAJzIgIgAygCECIFQRh3IAVzIgwgAygCFCIEcyINcyIIQRB3
cyAIczYCHCADIAcgBCAEQRh3cyIIcyIHIAMoAgAiBEEYdyAEcyIPcyIOQRB3IA5zIAIgBHMiDnM2AgAgAyAHIAkgBSADKAIMIgRB
GHcgBHMiEHMgAnMiEXMiBUEQd3MgBXM2AhggAyANIAQgAygCCCIFQRh3IAVzIglzIAJzIhIgBiAIc3MiBEEQd3MgBHM2AhQgAyAR
IAYgB3MiDSAMIAUgAygCBCIEQRh3IARzIghzIgVzcyIMQRB3cyAMczYCECADIBIgBCAPcyACcyICIAcgEHNzIgdBEHdzIAdzNgIM
IAMgBSAGIAlzIA5zIgZBEHdzIAZzNgIIIAMgAiAIIA1zIgZBEHdzIAZzNgIEIAMQCkEAIQIDQCACIANqIgYgBigCACACIBRqKAIA
czYCACACQQRqIgJBIEcNAAsgAyADKAIYIgZBEndBg4aMGHEgBkEad0H8+fNncXIgBnMiDCADKAIcIgJzIgcgAkESd0GDhowYcSAC
QRp3Qfz582dxciACcyICIAMoAhAiBUESd0GDhowYcSAFQRp3Qfz582dxciAFcyINIAMoAhQiBHMiCHMiCUEMd0GPnrz4AHEgCUEU
d0Hw4cOHf3FycyAJczYCHCADIAYgBCAEQRJ3QYOGjBhxIARBGndB/PnzZ3FycyIPcyIGIAMoAgAiBEESd0GDhowYcSAEQRp3Qfz5
82dxciAEcyIOcyIJIAlBDHdBj568+ABxIAlBFHdB8OHDh39xcnMgAiAEcyIJczYCACADIAYgDCAFIAMoAgwiBEESd0GDhowYcSAE
QRp3Qfz582dxciAEcyIQcyACcyIRcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIYIAMgCCAEIAMoAggiBUESd0GDhowY
cSAFQRp3Qfz582dxciAFcyIMcyACcyISIAcgD3NzIgRBDHdBj568+ABxIARBFHdB8OHDh39xcnMgBHM2AhQgAyARIAYgB3MiCCAN
IAUgAygCBCIEQRJ3QYOGjBhxIARBGndB/PnzZ3FyIARzIg9zIhdzcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIQIAMg
EiAEIA5zIAJzIgUgBiAQc3MiAkEMd0GPnrz4AHEgAkEUd0Hw4cOHf3FycyACczYCDCADIBcgByAMcyAJcyICQQx3QY+evPgAcSAC
QRR3QfDhw4d/cXJzIAJzNgIIIAMgBSAIIA9zIgJBDHdBj568+ABxIAJBFHdB8OHDh39xcnMgAnM2AgQgAxAKIApBGGsiCSALSw0B
QQAhAgNAIAIgA2oiBiAGKAIAIAIgE2ooAgBzNgIAIAJBBGoiAkEgRw0ACyATQYABayETIBRBgAFrIRQgFUGAAWshFSAWQYABayEW
IAMgAygCGCIGQRR3QY+evPgAcSAGQRx3QfDhw4d/cXIgBnMiCyADKAIcIgJzIgcgAkEUd0GPnrz4AHEgAkEcd0Hw4cOHf3FyIAJz
IgIgAygCECIFQRR3QY+evPgAcSAFQRx3QfDhw4d/cXIgBXMiDCADKAIUIgRzIg1zIghBEHdzIAhzNgIcIAMgBiAEIARBFHdBj568
+ABxIARBHHdB8OHDh39xcnMiCHMiBiADKAIAIgRBFHdBj568+ABxIARBHHdB8OHDh39xciAEcyIPcyIOQRB3IA5zIAIgBHMiDnM2
AgAgAyAGIAsgBSADKAIMIgRBFHdBj568+ABxIARBHHdB8OHDh39xciAEcyIQcyACcyIRcyIFQRB3cyAFczYCGCADIA0gBCADKAII
IgVBFHdBj568+ABxIAVBHHdB8OHDh39xciAFcyILcyACcyISIAcgCHNzIgRBEHdzIARzNgIUIAMgESAGIAdzIg0gDCAFIAMoAgQi
BEEUd0GPnrz4AHEgBEEcd0Hw4cOHf3FyIARzIghzIgVzcyIMQRB3cyAMczYCECADIBIgBCAPcyACcyICIAYgEHNzIgZBEHdzIAZz
NgIMIAMgBSAHIAtzIA5zIgZBEHdzIAZzNgIIIAMgAiAIIA1zIgZBEHdzIAZzNgIEIAMQCiAKQSBrIgpBeEcNAAtBeCAJQYyWwAAQ
OQALIAkgC0GclsAAEDkAC5UEAQt/IAAoAgQhCiAAKAIAIQsgACgCCCEMAkADQCAFDQECQAJAIAIgBEkNAANAIAEgBGohBQJAAkAC
QAJAIAIgBGsiBkEITwRAIAVBA2pBfHEiACAFRg0BIAAgBWsiAEUNAUEAIQMDQCADIAVqLQAAQQpGDQUgACADQQFqIgNHDQALIAAg
BkEIayIDSw0DDAILIAIgBEYEQCACIQQMBgtBACEDA0AgAyAFai0AAEEKRg0EIAYgA0EBaiIDRw0ACyACIQQMBQsgBkEIayEDQQAh
AAsDQCAAIAVqIgdBBGooAgAiCUGKlKjQAHNBgYKECGsgCUF/c3EgBygCACIHQYqUqNAAc0GBgoQIayAHQX9zcXJBgIGChHhxDQEg
AEEIaiIAIANNDQALCyAAIAZGBEAgAiEEDAMLA0AgACAFai0AAEEKRgRAIAAhAwwCCyAGIABBAWoiAEcNAAsgAiEEDAILIAMgBGoi
AEEBaiEEAkAgACACTw0AIAAgAWotAABBCkcNAEEAIQUgBCEDIAQhAAwDCyACIARPDQALC0EBIQUgAiIAIAgiA0YNAgsCQCAMLQAA
BEAgC0HUnMAAQQQgCigCDBEBAA0BCyABIAhqIQYgACAIayEHQQAhCSAMIAAgCEcEfyAGIAdqQQFrLQAAQQpGBSAJCzoAACADIQgg
CyAGIAcgCigCDBEBAEUNAQsLQQEhDQsgDQvPBAEEfyAAIAEQhAEhAgJAAkACQAJAAkACQAJAIAAQdQ0AIAAoAgAhAyAAEGoNASAB
IANqIQEgACADEIUBIgBBwKbAACgCAEYEQCACKAIEQQNxQQNHDQFBuKbAACABNgIAIAAgASACEE8PCyADQYACTwRAIAAQHAwBCyAA
QQxqKAIAIgQgAEEIaigCACIFRwRAIAUgBDYCDCAEIAU2AggMAQtBsKbAAEGwpsAAKAIAQX4gA0EDdndxNgIACyACEGUNAiACQcSm
wAAoAgBGDQQgAkHApsAAKAIARw0BQcCmwAAgADYCAEG4psAAQbimwAAoAgAgAWoiATYCACAAIAEQVA8LIAEgA2pBEGohAAwECyAC
EHQiAyABaiEBAkAgA0GAAk8EQCACEBwMAQsgAkEMaigCACIEIAJBCGooAgAiAkcEQCACIAQ2AgwgBCACNgIIDAELQbCmwABBsKbA
ACgCAEF+IANBA3Z3cTYCAAsgACABEFQgAEHApsAAKAIARw0BQbimwAAgATYCAA8LIAAgASACEE8LIAFBgAJPBEAgACABEB0PCyAB
QXhxQaikwABqIQICf0GwpsAAKAIAIgNBASABQQN2dCIBcUUEQEGwpsAAIAEgA3I2AgAgAgwBCyACKAIICyEBIAIgADYCCCABIAA2
AgwgACACNgIMIAAgATYCCA8LQcSmwAAgADYCAEG8psAAQbymwAAoAgAgAWoiATYCACAAIAFBAXI2AgQgAEHApsAAKAIARw0AQbim
wABBADYCAEHApsAAQQA2AgALC5ASAQ5/IwBBIGsiAyQAIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIANCADcDACADIAIg
AkEQahAUQQAhAgNAIAIgA2oiCiAKKAIAIAEgAmooAgBzNgIAIAJBBGoiAkEgRw0ACyABQYABaiEKIAFB4ABqIQ0gAUFAayEOIAFB
IGohD0EIIRADQCADEAwgAyADKAIYIgJBFndBv/78+QNxIAJBHndBwIGDhnxxciIGIAJzIgQgAygCHCICQRZ3Qb/+/PkDcSACQR53
QcCBg4Z8cXIiBSACcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAVzNgIcIAMgBiADKAIUIgVBFndBv/78+QNxIAVBHndBwIGD
hnxxciIHIAVzIgUgBEEMd0GPnrz4AHEgBEEUd0Hw4cOHf3Fyc3M2AhggAyADKAIQIgRBFndBv/78+QNxIARBHndBwIGDhnxxciIJ
IARzIgQgBUEMd0GPnrz4AHEgBUEUd0Hw4cOHf3FycyAHczYCFCADIAMoAgQiBUEWd0G//vz5A3EgBUEed0HAgYOGfHFyIgsgBXMi
BSADKAIIIgZBFndBv/78+QNxIAZBHndBwIGDhnxxciIHIAZzIgZBDHdBj568+ABxIAZBFHdB8OHDh39xcnMgB3M2AgggAyADKAIA
IgdBFndBv/78+QNxIAdBHndBwIGDhnxxciIIIAdzIgdBDHdBj568+ABxIAdBFHdB8OHDh39xciAIcyACczYCACADIAkgAygCDCII
QRZ3Qb/+/PkDcSAIQR53QcCBg4Z8cXIiDCAIcyIIIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzIAJzNgIQIAMgBiAIQQx3QY+e
vPgAcSAIQRR3QfDhw4d/cXJzIAxzIAJzNgIMIAMgByAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAtzIAJzNgIEQQAhAgNAIAIg
A2oiBCAEKAIAIAIgD2ooAgBzNgIAIAJBBGoiAkEgRw0ACyAQQegARgRAQQAhAgNAIAIgA2oiCiAKKAIAIgogCiAKQQR2c0GAnoD4
AHEiCkEEdHMgCnM2AgAgAkEEaiICQSBHDQALIAFBwANqIQEgAxAMQQAhAgNAIAIgA2oiCiAKKAIAIAEgAmooAgBzNgIAIAJBBGoi
AkEgRw0ACyAAIAMQFSADQSBqJAAFIAMQDCADIAMoAhgiAkEUd0GPnrz4AHEgAkEcd0Hw4cOHf3FyIgUgAnMiBiADKAIcIgJBFHdB
j568+ABxIAJBHHdB8OHDh39xciIEIAJzIgJBEHdzIARzNgIcIAMgBSADKAIUIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIHIARz
IgggBkEQd3NzNgIYIAMgByADKAIQIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIFIARzIgYgCEEQd3NzNgIUIAMgAygCBCIEQRR3
QY+evPgAcSAEQRx3QfDhw4d/cXIiByAEcyIIIAMoAggiBEEUd0GPnrz4AHEgBEEcd0Hw4cOHf3FyIgkgBHMiC0EQd3MgCXM2Aggg
AyADKAIAIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIJIARzIgxBEHcgCXMgAnM2AgAgAyAFIAMoAgwiBEEUd0GPnrz4AHEgBEEc
d0Hw4cOHf3FyIgkgBHMiBCAGQRB3c3MgAnM2AhAgAyALIARBEHdzIAlzIAJzNgIMIAMgDCAIQRB3cyAHcyACczYCBEEAIQIDQCAC
IANqIgQgBCgCACACIA5qKAIAczYCACACQQRqIgJBIEcNAAsgAxAMIAMgAygCGCICQRJ3QYOGjBhxIAJBGndB/PnzZ3FyIgYgAnMi
BCADKAIcIgJBEndBg4aMGHEgAkEad0H8+fNncXIiBSACcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAVzNgIcIAMgBiADKAIU
IgVBEndBg4aMGHEgBUEad0H8+fNncXIiByAFcyIFIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzNgIYIAMgAygCECIEQRJ3QYOG
jBhxIARBGndB/PnzZ3FyIgkgBHMiBCAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAdzNgIUIAMgAygCBCIFQRJ3QYOGjBhxIAVB
GndB/PnzZ3FyIgsgBXMiBSADKAIIIgZBEndBg4aMGHEgBkEad0H8+fNncXIiByAGcyIGQQx3QY+evPgAcSAGQRR3QfDhw4d/cXJz
IAdzNgIIIAMgAygCACIHQRJ3QYOGjBhxIAdBGndB/PnzZ3FyIgggB3MiB0EMd0GPnrz4AHEgB0EUd0Hw4cOHf3FyIAhzIAJzNgIA
IAMgCSADKAIMIghBEndBg4aMGHEgCEEad0H8+fNncXIiDCAIcyIIIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzIAJzNgIQIAMg
BiAIQQx3QY+evPgAcSAIQRR3QfDhw4d/cXJzIAxzIAJzNgIMIAMgByAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAtzIAJzNgIE
QQAhAgNAIAIgA2oiBCAEKAIAIAIgDWooAgBzNgIAIAJBBGoiAkEgRw0ACyADEAwgAyADKAIYIgJBGHciBCACcyIFIAMoAhwiAkEY
dyIGIAJzIgJBEHdzIAZzNgIcIAMgBCADKAIUIgZBGHciByAGcyIGIAVBEHdzczYCGCADIAcgAygCECIEQRh3IgUgBHMiBCAGQRB3
c3M2AhQgAyADKAIEIgZBGHciByAGcyIGIAMoAggiCEEYdyIJIAhzIghBEHdzIAlzNgIIIAMgAygCACIJQRh3IgsgCXMiCUEQdyAL
cyACczYCACADIAUgAygCDCILQRh3IgwgC3MiCyAEQRB3c3MgAnM2AhAgAyAIIAtBEHdzIAxzIAJzNgIMIAMgCSAGQRB3cyAHcyAC
czYCBEEAIQIDQCACIANqIgQgBCgCACACIApqKAIAczYCACACQQRqIgJBIEcNAAsgCkGAAWohCiANQYABaiENIA5BgAFqIQ4gD0GA
AWohDyAQQSBqIRAMAQsLC4gEAQh/IAEoAgQiBQRAIAEoAgAhBANAAkAgA0EBaiECAn8gAiADIARqLQAAIgjAIglBAE4NABoCQAJA
AkACQAJAAkACQAJAAkACQAJAIAhBjKDAAGotAABBAmsOAwABAgwLQYyiwAAgAiAEaiACIAVPGy0AAEHAAXFBgAFHDQsgA0ECagwK
C0GMosAAIAIgBGogAiAFTxssAAAhByAIQeABayIGRQ0BIAZBDUYNAgwDC0GMosAAIAIgBGogAiAFTxssAAAhBiAIQfABaw4FBAMD
AwUDCyAHQWBxQaB/Rw0IDAYLIAdBn39KDQcMBQsgCUEfakH/AXFBDE8EQCAJQX5xQW5HIAdBQE5yDQcMBQsgB0FATg0GDAQLIAlB
D2pB/wFxQQJLIAZBQE5yDQUMAgsgBkHwAGpB/wFxQTBPDQQMAQsgBkGPf0oNAwtBjKLAACAEIANBAmoiAmogAiAFTxstAABBwAFx
QYABRw0CQYyiwAAgBCADQQNqIgJqIAIgBU8bLQAAQcABcUGAAUcNAiADQQRqDAELQYyiwAAgBCADQQJqIgJqIAIgBU8bLQAAQcAB
cUGAAUcNASADQQNqCyIDIgIgBUkNAQsLIAAgAzYCBCAAIAQ2AgAgASAFIAJrNgIEIAEgAiAEajYCACAAIAIgA2s2AgwgACADIARq
NgIIDwsgAEEANgIAC/QGAgx/AX4jAEHQAGsiAyQAIANBPGogASACECYCQCADKAI8BEAgA0EoaiADQcQAaiILKAIAIgE2AgAgAyAD
KQI8Ig83AyBBACECIANBGGogAUEAEDwgA0EANgJEIAMgAykDGDcCPCADQRBqIgQgASAPpyIFajYCBCAEIAU2AgAgAygCECIBIAMo
AhQiDEcEQANAIAEtAAAiBEEEdkHkiMAAai0AAEEEdCAEQQ9xQeSIwABqLQAAciENIAMoAkAgAkYEfyMAQRBrIggkACAIQQhqIQog
A0E8aiEJQQAhBiMAQSBrIgUkAAJAIAIgAkEBaiIESw0AQQggCSgCBCICQQF0IgYgBCAEIAZJGyIEIARBCE0bIgRBf3NBH3YhBgJA
IAJFBEAgBUEANgIYDAELIAUgAjYCHCAFQQE2AhggBSAJKAIANgIUCyAFQRRqIQcgBUEIaiICAn8CQAJ/AkACQCAGBEAgBEEASA0B
IAcoAgQEQCAHQQhqKAIAIg4EQCAHKAIAIA4gBiAEEFkMBQsLIARFDQJB3aLAAC0AABogBCAGEGAMAwsgAkEANgIEIAJBCGogBDYC
AAwDCyACQQA2AgQMAgsgBgsiBwRAIAIgBzYCBCACQQhqIAQ2AgBBAAwCCyACIAY2AgQgAkEIaiAENgIAC0EBCzYCACAFKAIMIQYg
BSgCCARAIAVBEGooAgAhBAwBCyAJIAQ2AgQgCSAGNgIAQYGAgIB4IQYLIAogBDYCBCAKIAY2AgAgBUEgaiQAAkACQCAIKAIIIgJB
gYCAgHhHBEAgAkUNASACIAgoAgwQegALIAhBEGokAAwBCxBHAAsgAygCRAUgAgsgAygCPGogDToAACADIAMoAkRBAWoiAjYCRCAB
QQFqIgEgDEcNAAsLIANBOGogCygCACIBNgIAIAMgAykCPCIPNwMwIANBPGogD6cgARALIAMoAjwNASADKAJAIQIgA0EIaiADQcQA
aigCACIBQQAQPCADKAIMIQQgAygCCCACIAEQggEhAiAAIAE2AgggACAENgIEIAAgAjYCACADQTBqEFEgA0EgahBRIANB0ABqJAAP
CyADIAMpAkA3AzBB3IfAAEErIANBMGpBmIjAAEHUiMAAEDQACyADIAMpAkA3A0hB3IfAAEErIANByABqQYiIwABB9IjAABA0AAuk
AwENfyAAIAIoAAwiAyABKAAMIgRBAXZzQdWq1aoFcSIIIANzIgMgAigACCIFIAEoAAgiBkEBdnNB1arVqgVxIgkgBXMiBUECdnNB
s+bMmQNxIgsgA3MiAyACKAAEIgcgASgABCIKQQF2c0HVqtWqBXEiDCAHcyIHIAIoAAAiAiABKAAAIgFBAXZzQdWq1aoFcSINIAJz
IgJBAnZzQbPmzJkDcSIOIAdzIgdBBHZzQY+evPgAcSIPIANzNgIcIAAgBCAIQQF0cyIDIAYgCUEBdHMiBEECdnNBs+bMmQNxIggg
A3MiAyAKIAxBAXRzIgYgASANQQF0cyIBQQJ2c0Gz5syZA3EiCSAGcyIGQQR2c0GPnrz4AHEiCiADczYCGCAAIAtBAnQgBXMiAyAO
QQJ0IAJzIgJBBHZzQY+evPgAcSIFIANzNgIUIAAgD0EEdCAHczYCDCAAIAhBAnQgBHMiAyAJQQJ0IAFzIgFBBHZzQY+evPgAcSIE
IANzNgIQIAAgCkEEdCAGczYCCCAAIAVBBHQgAnM2AgQgACAEQQR0IAFzNgIAC6QDAQ5/IAAgASgCHCICIAEoAhgiBEEBdnNB1arV
qgVxIgcgAnMiAiABKAIUIgUgASgCECIGQQF2c0HVqtWqBXEiCCAFcyIFQQJ2c0Gz5syZA3EiCSACcyICIAEoAgwiAyABKAIIIgtB
AXZzQdWq1aoFcSIMIANzIgMgASgCBCIKIAEoAgAiAUEBdnNB1arVqgVxIg0gCnMiCkECdnNBs+bMmQNxIg4gA3MiA0EEdnNBj568
+ABxIg8gAnM2ABwgACAJQQJ0IAVzIgIgDkECdCAKcyIFQQR2c0GPnrz4AHEiCSACczYAGCAAIA9BBHQgA3M2ABQgACAEIAdBAXRz
IgIgBiAIQQF0cyIEQQJ2c0Gz5syZA3EiByACcyICIAsgDEEBdHMiBiABIA1BAXRzIgFBAnZzQbPmzJkDcSIIIAZzIgZBBHZzQY+e
vPgAcSIDIAJzNgAMIAAgCUEEdCAFczYAECAAIAdBAnQgBHMiAiAIQQJ0IAFzIgFBBHZzQY+evPgAcSIEIAJzNgAIIAAgA0EEdCAG
czYABCAAIARBBHQgAXM2AAAL+wIBB38jAEEQayIEJAACQAJAAkACQAJAAkAgASgCBCICRQ0AIAEoAgAhBiACQQNxIQcCQCACQQRJ
BEBBACECDAELIAZBHGohAyACQXxxIQhBACECA0AgAygCACADQQhrKAIAIANBEGsoAgAgA0EYaygCACACampqaiECIANBIGohAyAI
IAVBBGoiBUcNAAsLIAcEQCAFQQN0IAZqQQRqIQMDQCADKAIAIAJqIQIgA0EIaiEDIAdBAWsiBw0ACwsgAUEMaigCAARAIAJBAEgN
ASAGKAIERSACQRBJcQ0BIAJBAXQhAgsgAg0BC0EBIQNBACECDAELIAJBAEgNAUHdosAALQAAGiACQQEQYCIDRQ0CCyAEQQA2Aggg
BCACNgIEIAQgAzYCACAEQbiZwAAgARANRQ0CQZiawABBMyAEQQ9qQcyawABB9JrAABA0AAsQRwALQQEgAhB6AAsgACAEKQIANwIA
IABBCGogBEEIaigCADYCACAEQRBqJAAL4wIBBX9BEEEIEFggAEsEQEEQQQgQWCEAC0EIQQgQWCEDQRRBCBBYIQJBEEEIEFghBAJA
QQBBEEEIEFhBAnRrIgVBgIB8IAQgAiADamprQXdxQQNrIgMgAyAFSxsgAGsgAU0NACAAQRAgAUEEakEQQQgQWEEFayABSxtBCBBY
IgNqQRBBCBBYakEEaxADIgJFDQAgAhCHASEBAkAgAEEBayIEIAJxRQRAIAEhAAwBCyACIARqQQAgAGtxEIcBIQJBEEEIEFghBCAB
EHQgAiAAQQAgAiABayAETRtqIgAgAWsiAmshBCABEGpFBEAgACAEEEwgASACEEwgASACEBAMAQsgASgCACEBIAAgBDYCBCAAIAEg
Amo2AgALAkAgABBqDQAgABB0IgJBEEEIEFggA2pNDQAgACADEIQBIQEgACADEEwgASACIANrIgMQTCABIAMQEAsgABCGASEGIAAQ
ahoLIAYLigMCBX8BfiMAQUBqIgUkAEEBIQcCQCAALQAEDQAgAC0ABSEJIAAoAgAiBigCHCIIQQRxRQRAIAYoAhRB25zAAEHYnMAA
IAkbQQJBAyAJGyAGQRhqKAIAKAIMEQEADQEgBigCFCABIAIgBigCGCgCDBEBAA0BIAYoAhRBqJzAAEECIAYoAhgoAgwRAQANASAD
IAYgBCgCDBEAACEHDAELIAlFBEAgBigCFEHdnMAAQQMgBkEYaigCACgCDBEBAA0BIAYoAhwhCAsgBUEBOgAbIAVBNGpBvJzAADYC
ACAFIAYpAhQ3AgwgBSAFQRtqNgIUIAUgBikCCDcCJCAGKQIAIQogBSAINgI4IAUgBigCEDYCLCAFIAYtACA6ADwgBSAKNwIcIAUg
BUEMaiIINgIwIAggASACEA8NACAFQQxqQaicwABBAhAPDQAgAyAFQRxqIAQoAgwRAAANACAFKAIwQeCcwABBAiAFKAI0KAIMEQEA
IQcLIABBAToABSAAIAc6AAQgBUFAayQAIAALiAQBBX8jAEEQayIDJAACQAJ/AkAgAUGAAU8EQCADQQA2AgwgAUGAEEkNASABQYCA
BEkEQCADIAFBP3FBgAFyOgAOIAMgAUEMdkHgAXI6AAwgAyABQQZ2QT9xQYABcjoADUEDDAMLIAMgAUE/cUGAAXI6AA8gAyABQQZ2
QT9xQYABcjoADiADIAFBDHZBP3FBgAFyOgANIAMgAUESdkEHcUHwAXI6AAxBBAwCCyAAKAIIIgIgACgCBEYEQCMAQSBrIgQkAAJA
AkAgAkEBaiICRQ0AQQggACgCBCIGQQF0IgUgAiACIAVJGyICIAJBCE0bIgVBf3NBH3YhAgJAIAZFBEAgBEEANgIYDAELIAQgBjYC
HCAEQQE2AhggBCAAKAIANgIUCyAEQQhqIAIgBSAEQRRqEC4gBCgCDCECIAQoAghFBEAgACAFNgIEIAAgAjYCAAwCCyACQYGAgIB4
Rg0BIAJFDQAgAiAEQRBqKAIAEHoACxBHAAsgBEEgaiQAIAAoAgghAgsgACACQQFqNgIIIAAoAgAgAmogAToAAAwCCyADIAFBP3FB
gAFyOgANIAMgAUEGdkHAAXI6AAxBAgshASABIAAoAgQgACgCCCICa0sEQCAAIAIgARAsIAAoAgghAgsgACgCACACaiADQQxqIAEQ
ggEaIAAgASACajYCCAsgA0EQaiQAQQALvgICBX8BfiMAQTBrIgQkAEEnIQICQCAAQpDOAFQEQCAAIQcMAQsDQCAEQQlqIAJqIgNB
BGsgACAAQpDOAIAiB0KQzgB+faciBUH//wNxQeQAbiIGQQF0QaqdwABqLwAAOwAAIANBAmsgBSAGQeQAbGtB//8DcUEBdEGqncAA
ai8AADsAACACQQRrIQIgAEL/wdcvViAHIQANAAsLIAenIgNB4wBLBEAgAkECayICIARBCWpqIAenIgMgA0H//wNxQeQAbiIDQeQA
bGtB//8DcUEBdEGqncAAai8AADsAAAsCQCADQQpPBEAgAkECayICIARBCWpqIANBAXRBqp3AAGovAAA7AAAMAQsgAkEBayICIARB
CWpqIANBMGo6AAALIAFBxJvAAEEAIARBCWogAmpBJyACaxAJIARBMGokAAuyAgEDfyMAQYABayIEJAACQAJAAn8CQCABKAIcIgJB
EHFFBEAgAkEgcQ0BIAA1AgAgARAaDAILIAAoAgAhAEEAIQIDQCACIARqQf8AakEwQdcAIABBD3EiA0EKSRsgA2o6AAAgAkEBayEC
IABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQCQwBCyAAKAIAIQBBACECA0AgAiAE
akH/AGpBMEE3IABBD3EiA0EKSRsgA2o6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIg
BGpBgAFqQQAgAmsQCQsgBEGAAWokAA8LIABBgAFBmJ3AABA2AAsgAEGAAUGYncAAEDYAC7sCAQV/IAAoAhghAwJAAkAgACAAKAIM
RgRAIABBFEEQIABBFGoiASgCACIEG2ooAgAiAg0BQQAhAQwCCyAAKAIIIgIgACgCDCIBNgIMIAEgAjYCCAwBCyABIABBEGogBBsh
BANAIAQhBSACIgFBFGoiAiABQRBqIAIoAgAiAhshBCABQRRBECACG2ooAgAiAg0ACyAFQQA2AgALAkAgA0UNAAJAIAAgACgCHEEC
dEGYo8AAaiICKAIARwRAIANBEEEUIAMoAhAgAEYbaiABNgIAIAENAQwCCyACIAE2AgAgAQ0AQbSmwABBtKbAACgCAEF+IAAoAhx3
cTYCAA8LIAEgAzYCGCAAKAIQIgIEQCABIAI2AhAgAiABNgIYCyAAQRRqKAIAIgBFDQAgAUEUaiAANgIAIAAgATYCGAsLnwIBBH8g
AEIANwIQIAACf0EAIAFBgAJJDQAaQR8gAUH///8HSw0AGiABQQYgAUEIdmciAmt2QQFxIAJBAXRrQT5qCyIDNgIcIANBAnRBmKPA
AGohAgJAQbSmwAAoAgAiBEEBIAN0IgVxRQRAQbSmwAAgBCAFcjYCACACIAA2AgAMAQsgAigCACECIAMQUyEDAkACQCACEHQgAUYE
QCACIQMMAQsgASADdCEEA0AgAiAEQR12QQRxakEQaiIFKAIAIgNFDQIgBEEBdCEEIAMiAhB0IAFHDQALCyADKAIIIgEgADYCDCAD
IAA2AgggACADNgIMIAAgATYCCCAAQQA2AhgPCyAFIAA2AgALIAAgAjYCGCAAIAA2AgggACAANgIMC8QCAgR/AX4jAEFAaiIDJAAg
ACgCACEFIAACf0EBIAAtAAgNABogACgCBCIEKAIcIgZBBHFFBEBBASAEKAIUQducwABB5ZzAACAFG0ECQQEgBRsgBEEYaigCACgC
DBEBAA0BGiABIAQgAigCDBEAAAwBCyAFRQRAQQEgBCgCFEHmnMAAQQIgBEEYaigCACgCDBEBAA0BGiAEKAIcIQYLIANBAToAGyAD
QTRqQbycwAA2AgAgAyAEKQIUNwIMIAMgA0EbajYCFCADIAQpAgg3AiQgBCkCACEHIAMgBjYCOCADIAQoAhA2AiwgAyAELQAgOgA8
IAMgBzcCHCADIANBDGo2AjBBASABIANBHGogAigCDBEAAA0AGiADKAIwQeCcwABBAiADKAI0KAIMEQEACzoACCAAIAVBAWo2AgAg
A0FAayQAIAALXQEMf0GgpMAAKAIAIgIEQEGYpMAAIQYDQCACIgEoAgghAiABKAIEIQMgASgCACEEIAEoAgwaIAEhBiAFQQFqIQUg
Ag0ACwtB2KbAAEH/HyAFIAVB/x9NGzYCACAIC8YeAhB/A34jAEEgayIIJAAgCCACNgIYIAggAjYCFCAIIAE2AhAgCEEQahA+IAgo
AhghEyAIKAIQIQEgCCADBH8gCCAENgIYIAggBDYCFCAIIAM2AhAgCEEQahA+IAggCCgCGCICNgIMIAggAjYCCCAIKAIQBUEACzYC
BCAIQRBqIREjAEGgCWsiBSQAAkACQAJAAkACQCAIQQRqIgMoAgBFBEAgBUHwBGpB4InAAEEsEBMgBSgC8AQiAkUNASAFIAUoAvgE
Igc2AiwgBSAFKAL0BDYCKCAFIAI2AiQMAgsgBUGYAWogA0EIaigCACICNgIAIAUgAykCACIWNwOQASAFQfAEaiAWpyACEBMgBSgC
8AQiAgRAIAUgBSgC+AQiBzYCLCAFIAUoAvQENgIoIAUgAjYCJCAFQZABahBRDAILIAUoAvQEIQIgEUEANgIAIBEgAjYCBCAFQZAB
ahBRDAILIAUoAvQEIQIgEUEANgIAIBEgAjYCBAwBCyAHQSBHBEBBnIrAAEEJEAEhAiARQQA2AgAgESACNgIEIAVBJGoQUQwBCyAF
QcgAaiIHIAJBGGopAAA3AwAgBUFAayIEIAJBEGopAAA3AwAgBUE4aiIDIAJBCGopAAA3AwAgBSACKQAANwMwIAVBGGogE0EAEDwg
BSgCHCECIAUoAhggASATEIIBIQogBSATNgJcIAUgAjYCWCAFIAo2AlQgBUH4AGogBykDADcDACAFQfAAaiAEKQMANwMAIAVB6ABq
IAMpAwA3AwAgBSAFKQMwNwNgIAVBkAFqIAVB4ABqEAggBUEQaiATQXBxIg1BEGoiDkEBEDwgBSAONgKMASAFIAUoAhQ2AogBIAUg
BSgCECISNgKEASAOIBNJDQEgBUHwBGoiECAFQZABakHgAxCCARogBUGACWoiA0IANwAAIANBCGpCADcAACADIAogDWogE0EPcSIC
EIIBGiACIANqQRAgAmsiAiACEIEBGiAFQdgIaiAFQYgJaikAADcDACAFIAUpAIAJNwPQCCAFIBNBBHY2AogJIAUgEjYChAkgBSAK
NgKACSMAQUBqIgkkACADKAIIIhRBAXEgAygCBCEHIAMoAgAhBCAUQQJPBEAgFEEBdiEGIAQhAyAHIQIDQCAJQSBqIBAgAxARIAJB
GGogCUE4aikDADcAACACQRBqIAlBMGopAwA3AAAgAkEIaiAJQShqKQMANwAAIAIgCSkDIDcAACADQSBqIQMgAkEgaiECIAZBAWsi
Bg0ACwsEQCAJEE0gCUEIaiAEIBRB/v///wBxQQR0IgNqIgJBCGopAAA3AwAgCSACKQAANwMAIAlBIGogECAJEBEgAyAHaiICQQhq
IAlBKGopAAA3AAAgAiAJKQAgNwAACyAJQUBrJAAgEkUNASAFQeAIaiICEE0gBUHoCGogBUHYCGopAwA3AwAgBSAFKQPQCDcD4Agg
BUGACWogBUHwBGoiFCACEBEgDSASaiICQQhqIAVBiAlqKQAANwAAIAIgBSkAgAk3AAAgBUEIaiAOQQAQPCAFKAIMIQMgBSgCCCAS
IA4QggEhAiAFIA42AvgEIAUgAzYC9AQgBSACNgLwBCMAQTBrIgwkACAMQRBqIQYgFCgCCCIPIRBBqILAAC0AACEKIwBBIGsiDSQA
IBBBgICAgHxJIQQgEEEDbiICQQJ0IQMCQCAQIAJBA2xrIgdFBEAgAyECDAELAkACQAJAIApFBEBBAiECIAdBAWsOAgMCAQsgEEGA
gICAfEkgA0EEaiICIANPcSEEDAMLIA1BEGpCADcCACANQQE2AgggDUHgjsAANgIEIA0gDUEcajYCDCANQQRqQcyPwAAQSAALQQMh
AgsgAiADciECCyAGIAI2AgQgBiAENgIAIA1BIGokAAJAAkAgDCgCEARAIAxBCGogDCgCFCILQQEQPCAMKAIMIRAgDCgCCCEJQQAh
B0EAIQQCQAJAAkACfyAUKAIAIQ5BACECAkAgD0EbSQ0AIA9BGmsiAkEAIAIgD00bIQoCQANAIA8gB0Eaak8EQCAEQWBGDQIgCyAE
QSBqIgJJBEAgAiALQZSVwAAQOAALIAQgCWoiBiAHIA5qIgQpAAAiFUI4hiIWQjqIp0GrgsAAai0AADoAACAGQQRqIBVCgICA+A+D
QgiGIhdCIoinQauCwABqLQAAOgAAIAZBAWogFiAVQoD+A4NCKIaEIhZCNIinQT9xQauCwABqLQAAOgAAIAZBAmogFiAVQoCA/AeD
QhiGIBeEhCIXQi6Ip0E/cUGrgsAAai0AADoAACAGQQNqIBdCKIinQT9xQauCwABqLQAAOgAAIAZBBmogFUIIiEKAgID4D4MgFUIY
iEKAgPwHg4QgFUIoiEKA/gODIBVCOIiEhCIWpyIDQRZ2QT9xQauCwABqLQAAOgAAIAZBB2ogA0EQdkE/cUGrgsAAai0AADoAACAG
QQVqIBYgF4RCHIinQT9xQauCwABqLQAAOgAAIAZBCGogBEEGaikAACIVQjiGIhZCOoinQauCwABqLQAAOgAAIAZBCWogFiAVQoD+
A4NCKIaEIhdCNIinQT9xQauCwABqLQAAOgAAIAZBCmogFyAVQoCAgPgPg0IIhiIWIBVCgID8B4NCGIaEhCIXQi6Ip0E/cUGrgsAA
ai0AADoAACAGQQtqIBdCKIinQT9xQauCwABqLQAAOgAAIAZBDGogFkIiiKdBq4LAAGotAAA6AAAgBkENaiAXIBVCCIhCgICA+A+D
IBVCGIhCgID8B4OEIBVCKIhCgP4DgyAVQjiIhIQiFoRCHIinQT9xQauCwABqLQAAOgAAIAZBDmogFqciA0EWdkE/cUGrgsAAai0A
ADoAACAGQQ9qIANBEHZBP3FBq4LAAGotAAA6AAAgBkEQaiAEQQxqKQAAIhVCOIYiFkI6iKdBq4LAAGotAAA6AAAgBkERaiAWIBVC
gP4Dg0IohoQiF0I0iKdBP3FBq4LAAGotAAA6AAAgBkESaiAXIBVCgICA+A+DQgiGIhYgFUKAgPwHg0IYhoSEIhdCLoinQT9xQauC
wABqLQAAOgAAIAZBE2ogF0IoiKdBP3FBq4LAAGotAAA6AAAgBkEUaiAWQiKIp0GrgsAAai0AADoAACAGQRZqIBVCCIhCgICA+A+D
IBVCGIhCgID8B4OEIBVCKIhCgP4DgyAVQjiIhIQiFqciA0EWdkE/cUGrgsAAai0AADoAACAGQRdqIANBEHZBP3FBq4LAAGotAAA6
AAAgBkEVaiAWIBeEQhyIp0E/cUGrgsAAai0AADoAACAGQRhqIARBEmopAAAiFUI4hiIWQjqIp0GrgsAAai0AADoAACAGQRlqIBYg
FUKA/gODQiiGhCIXQjSIp0E/cUGrgsAAai0AADoAACAGQRpqIBcgFUKAgID4D4NCCIYiFiAVQoCA/AeDQhiGhIQiF0IuiKdBP3FB
q4LAAGotAAA6AAAgBkEbaiAXQiiIp0E/cUGrgsAAai0AADoAACAGQRxqIBZCIoinQauCwABqLQAAOgAAIAZBHWogFyAVQgiIQoCA
gPgPgyAVQhiIQoCA/AeDhCAVQiiIQoD+A4MgFUI4iISEIhaEQhyIp0E/cUGrgsAAai0AADoAACAGQR5qIBanIgNBFnZBP3FBq4LA
AGotAAA6AAAgBkEfaiADQRB2QT9xQauCwABqLQAAOgAAIAIhBCAKIAdBGGoiB08NAQwDCwsgB0EaaiAPQYSVwAAQOAALQWBBAEGU
lcAAEDkACwJAAkACQAJAAkACfwJAAkACQAJAAkACQCAPIA9BA3AiBmsiEiAHTQRAIAIhAwwBCwNAIAdBfEsNAiAHQQNqIgQgD0sN
AyACQQRqIQMgAkF7Sw0EIAMgC0sEQCADIAtB9JTAABA4AAsgAiAJaiINIAcgDmoiAi0AACIKQQJ2QauCwABqLQAAOgAAIA1BA2og
AkECai0AACIHQT9xQauCwABqLQAAOgAAIA1BAmogAkEBai0AACICQQJ0IAdBBnZyQT9xQauCwABqLQAAOgAAIA1BAWogCkEEdCAC
QQR2ckE/cUGrgsAAai0AADoAACADIQIgBCIHIBJJDQALCyAGQQFrDgIDBAYLIAcgB0EDakHklMAAEDkACyAHQQNqIA9B5JTAABA4
AAsgAiADQfSUwAAQOQALIAMgC0kEQEECIQcgAyAJaiAOIBJqLQAAIgJBAnZBq4LAAGotAAA6AAAgAkEEdEEwcSALIANBAWoiBEsN
AhogBCALQdSUwAAQNwALIAMgC0HElMAAEDcACyADIAtPDQIgAyAJaiAOIBJqLQAAIgJBAnZBq4LAAGotAAA6AAAgEkEBaiIKIA9P
DQMgA0EBaiIEIAtPDQRBAyEHIAQgCWogAkEEdCAKIA5qLQAAIgJBBHZyQT9xQauCwABqLQAAOgAAIANBAmoiBCALTw0FIAJBAnRB
PHELIQIgBCAJaiACQauCwABqLQAAOgAAIAMgB2ohAwsgAwwECyADIAtBhJTAABA3AAsgCiAPQZSUwAAQNwALIAQgC0GklMAAEDcA
CyAEIAtBtJTAABA3AAsiCkGogsAALQAABH8gCiALSw0BAn8gCSAKaiECIAsgCmshB0EAIQMCQEEAIAprQQNxIgQEQANAIAMgB0YN
AiACIANqQT06AAAgBCADQQFqIgNHDQALCyAEDAELIAcgB0Hcj8AAEDcACwVBAAsgCmpLDQEMAgsgCiALQdCFwAAQNgALQeCFwABB
KkGMhsAAED0ACyAMQRxqIAkgCxALIAwoAhwEQCAMKQIgIhZCgICAgPAfg0KAgICAIFINAgsgESALNgIIIBEgEDYCBCARIAk2AgAg
FBBRIAxBMGokAAwCC0GCh8AAQS1BsIfAABA9AAsgDCAWNwIoIAwgCzYCJCAMIBA2AiAgDCAJNgIcQcCHwABBDCAMQRxqQZCBwABB
zIfAABA0AAsgBUGEAWoQUSAFQdQAahBRIAVBJGoQUQsgBUGgCWokAAwBC0Hch8AAQSsgBUHwBGpBuIjAAEGMisAAEDQACyAIKAIY
IQIgCCgCFCEDIAgoAhAhBCATBEAgARAFCyAAIAQEfyAIIAI2AhggCCADNgIUIAggBDYCECAIQRBqED4gCCgCGCEBIAgoAhAhBEEA
IQNBAAVBAQs2AgwgACADNgIIIAAgATYCBCAAIAQ2AgAgCEEgaiQAC9wRAg1/AX4jAEEgayIHJAAgByACNgIYIAcgAjYCFCAHIAE2
AhAgB0EQahA+IAcoAhghDyAHKAIQIQEgByADBH8gByAENgIYIAcgBDYCFCAHIAM2AhAgB0EQahA+IAcgBygCGCICNgIMIAcgAjYC
CCAHKAIQBUEACzYCBCAHQRBqIQsjAEHgCGsiBSQAAkACQAJAIAdBBGoiAigCAEUEQCAFQfQEakHgicAAQSwQEyAFKAL0BCIDRQ0B
IAUgBSgC/AQiBDYCLCAFIAUoAvgENgIoIAUgAzYCJAwCCyAFQZgBaiACQQhqKAIAIgM2AgAgBSACKQIAIhI3A5ABIAVB9ARqIBKn
IAMQEyAFKAL0BCIDBEAgBSAFKAL8BCIENgIsIAUgBSgC+AQ2AiggBSADNgIkIAVBkAFqEFEMAgsgBSgC+AQhAiALQQA2AgAgCyAC
NgIEIAVBkAFqEFEMAgsgBSgC+AQhAiALQQA2AgAgCyACNgIEDAELAkACQAJAIARBIEYEQCAFQcgAaiIEIANBGGopAAA3AwAgBUFA
ayIJIANBEGopAAA3AwAgBUE4aiIGIANBCGopAAA3AwAgBSADKQAANwMwIAVB9ARqIAEgDxAmIAUoAvQEIgINAUG4isAAQRwQASEC
IAtBADYCACALIAI2AgQMAgtBnIrAAEEJEAEhAiALQQA2AgAgCyACNgIEDAELIAUgBSgC/AQiCjYCXCAFIAUoAvgENgJYIAUgAjYC
VCAFQfgAaiAEKQMANwMAIAVB8ABqIAkpAwA3AwAgBUHoAGogBikDADcDACAFIAUpAzA3A2AgBUGQAWoiAyAFQeAAahAIIAVBGGog
CkEBEDwgBSAKNgKMASAFIAUoAhw2AogBIAUgBSgCGCIJNgKEASAFQfQEaiADQeADEIIBGgJAIApBD3ENACAFIAk2AtgIIAUgAjYC
1AggBSAKQQR2Igw2AtwIIAVB9ARqIQ4jAEFAaiIIJAAgBUHUCGoiAigCCCINQQFxIAIoAgQhAyACKAIAIQYgDUECTwRAIA1BAXYh
ECAGIQQgAyECA0AgCEEgaiAOIAQQDiACQRhqIAhBOGopAwA3AAAgAkEQaiAIQTBqKQMANwAAIAJBCGogCEEoaikDADcAACACIAgp
AyA3AAAgBEEgaiEEIAJBIGohAiAQQQFrIhANAAsLBEAgCBBNIAhBCGogBiANQf7///8AcUEEdCICaiIEQQhqKQAANwMAIAggBCkA
ADcDACAIQSBqIA4gCBAOIAIgA2oiAkEIaiAIQShqKQAANwAAIAIgCCkAIDcAAAsgCEFAayQAIAVBEGohCCAJIQJBACEDQQAhBgJA
AkACQCAMRQ0AIAxBBHQgAmpBEGstAA8iBEERa0H/AXFB8AFJDQBBACAEayEDQRAgBGsgAiAMQQR0aiEOAkADQCADQX9GDQEgAyAO
aiEGIANBAWohAyAGLQAAIARGDQALQQAhAwwBC0ERTw0BIAxBBHQgBGshBiACIQMLIAggBjYCBCAIIAM2AgAMAQtB5YDAAEEZQYCB
wAAQQwALIAUoAhBFDQACQCAKRQRAQQAhBgwBCyAKIAkgCmpBAWstAAAiAmshBiACIApLDQMLIAVB9ARqIQhBACEEIwBB8ABrIgMk
ACADQShqIgIgBjYCBCACIAk2AgAgAyADKQMoNwI0IANB0ABqIANBNGoQEgJAAkACQAJAIAMoAlAEQCADQegAaiADQdgAaikCADcD
ACADIAMpAlA3A2AgA0EgaiADQeAAaiICEH4gAygCJCEJIAMoAiAhCiADQRhqIAIQfyADKAIcRQRAIAggCjYCBCAIQQA2AgAgCEEI
aiAJNgIADAILAkAgBkUEQEEBIQIMAQsgBkEASA0DQd2iwAAtAAAaIAZBARBgIgJFDQQLIANBADYCRCADIAI2AjwgAyAGNgJAIAYg
CUkEfyADQTxqQQAgCRAtIAMoAkQhBCADKAI8BSACCyAEaiAKIAkQggEaIAMgBCAJaiIGNgJEIAMoAkAgBmtBAk0EQCADQTxqIAZB
AxAtIAMoAkQhBgsgAygCPCICIAZqIgRBhJvAAC8AACIJOwAAIARBAmpBhpvAAC0AACIKOgAAIAMgBkEDaiIGNgJEIAMgAykCNDcC
SCADQdAAaiADQcgAahASIAMoAlAEQANAIANB6ABqIANB2ABqKQIANwMAIAMgAykCUDcDYCADQRBqIANB4ABqEH4gAygCECEMIAMo
AhQiBCADKAJAIAZrSwRAIANBPGogBiAEEC0gAygCRCEGIAMoAjwhAgsgAiAGaiAMIAQQggEaIAMgBCAGaiIGNgJEIANBCGogA0Hg
AGoQfyADKAIMBEAgAygCQCAGa0ECTQRAIANBPGogBkEDEC0gAygCRCEGCyADKAI8IgIgBmoiBCAJOwAAIARBAmogCjoAACADIAZB
A2oiBjYCRAsgA0HQAGogA0HIAGoQEiADKAJQDQALCyAIIAMpAjw3AgAgCEEIaiADQcQAaigCADYCAAwBCyAIQbiZwAA2AgQgCEEA
NgIAIAhBCGpBADYCAAsgA0HwAGokAAwCCxBHAAtBASAGEHoACwJAIAUoAvQEIgNFBEAgBSgC+AQhBCAFQQhqIAVB/ARqKAIAIgZB
ABA8IAUoAgwhAiAFKAIIIgMgBCAGEIIBGgwBCyAFKAL8BCEGIAUoAvgEIQILIAsgBjYCCCALIAI2AgQgCyADNgIAIAVBhAFqEFEg
BUHUAGoQUSAFQSRqEFEMAwtB1IrAAEEeEAEhAiALQQA2AgAgCyACNgIEIAVBhAFqEFEgBUHUAGoQUQsgBUEkahBRDAELIAYgCkGo
isAAEDgACyAFQeAIaiQAIAcoAhghAiAHKAIUIQMgBygCECEEIA8EQCABEAULIAAgBAR/IAcgAjYCGCAHIAM2AhQgByAENgIQIAdB
EGoQPiAHKAIYIQEgBygCECEEQQAhA0EABUEBCzYCDCAAIAM2AgggACABNgIEIAAgBDYCACAHQSBqJAALjQIBAn8jAEEQayICJAAC
QCAAKAIAIgMtAABFBEAgASgCFEGNosAAQQQgAUEYaigCACgCDBEBACEADAELQQEhACACIANBAWo2AgAgAiABKAIUQZGiwABBBCAB
QRhqKAIAKAIMEQEAOgAMIAIgATYCCCACQQA6AA0gAkEANgIEIAJBBGogAkHsnMAAEB4gAi0ADCEBKAIAIgNFBEAgAUEARyEADAEL
IAENACACKAIIIQECQCADQQFHDQAgAi0ADUUNACABLQAcQQRxDQAgASgCFEHonMAAQQEgAUEYaigCACgCDBEBAA0BCyABKAIUQcSb
wABBASABQRhqKAIAKAIMEQEAIQALIAJBEGokACAAC/ABAgR/AX4jAEEwayICJAAgAUEEaiEEIAEoAgRFBEAgASgCACEDIAJBLGoi
BUEANgIAIAJCATcCJCACQSRqQaCXwAAgAxANGiACQSBqIAUoAgAiAzYCACACIAIpAiQiBjcDGCAEQQhqIAM2AgAgBCAGNwIACyAC
QRBqIgMgBEEIaigCADYCACABQQxqQQA2AgAgBCkCACEGIAFCATcCBEHdosAALQAAGiACIAY3AwhBDEEEEGAiAUUEQEEEQQwQegAL
IAEgAikDCDcCACABQQhqIAMoAgA2AgAgAEHQmMAANgIEIAAgATYCACACQTBqJAAL1wYBCn8jAEEQayIFJAAgBSACNgIIIAUgAjYC
BCAFIAE2AgAgBRA+IAUoAgghCyAFKAIAIQEgBSAENgIIIAUgBDYCBCAFIAM2AgAgBRA+IAUoAgAiDCEEIAUoAgghAyMAQfABayIC
JAAgAiALNgIEIAIgATYCACACIAM2AgwgAiAENgIIIAJBmAFqQYSJwABBLBATIAIoApgBRQRAIAIgAigCnAE2AkBB3IfAAEErIAJB
QGtBqIjAAEGwicAAEDQACyACQRhqIAJBoAFqKAIANgIAIAIgAikCmAE3AxAgAkHMAGpCAzcCACACQawBakEDNgIAIAJBpAFqIg1B
BDYCACACQQM2AkQgAkHAicAANgJAIAJBAzYCnAEgAiACQZgBaiIHNgJIIAIgAkEIajYCqAEgAiACQRBqIg42AqABIAIgAjYCmAEg
AkEcaiIEIAJBQGsiCRAWIAlBAEHAABCBARogAkGIAWpC/rnrxemOlZkQNwIAIAJCgcaUupbx6uZvNwKAASACQgA3ApABIAkgAigC
HCACKAIkECggBBBRIAcgCUHYABCCARogAkEoaiEKQQAhBCMAQdAAayIGJAAgBkEAQTgQgQEiBiAHKAJQIgg2AjggBiAHQdQAaigC
ADYCPCAHQfKKwABBOEH4ACAIQQN2QT9xIghBOEkbIAhrECgDQCAEIAZqIAQgB2ooAgA2AgAgBEEEaiIEQThHDQALIAdBQGsiCCAG
EAQgBkIANwNIIAZCADcDQEFwIQQDQCAEIAZqQdAAaiAEIAhqQRBqKAIANgIAIARBBGoiBA0ACyAKIAYpA0g3AAggCiAGKQNANwAA
IAZB0ABqJAAgDUIBNwIAIAJBATYCnAEgAkHYicAANgKYASACQQU2AjwgAiACQThqNgKgASACIAo2AjggCSAHEBYgBUEIaiACQcgA
aigCADYCACAFIAIpA0A3AgAgDhBRIAJB8AFqJAAgBSgCCCEGIAUoAgQhBCAFKAIAIQIgAwRAIAwQBQsgCwRAIAEQBQsgACACBH8g
BSAGNgIIIAUgBDYCBCAFIAI2AgAgBRA+IAUoAgghASAFKAIAIQNBACEEQQAFQQELNgIMIAAgBDYCCCAAIAE2AgQgACADNgIAIAVB
EGokAAvaAQEBfyMAQRBrIgUkACAFIAAoAhQgASACIABBGGooAgAoAgwRAQA6AAwgBSAANgIIIAUgAkU6AA0gBUEANgIEIAVBBGog
A0Hsj8AAEB4gBEHYi8AAEB4hAAJ/IAUtAAwiAUEARyAAKAIAIgJFDQAaQQEgAQ0AGiAFKAIIIQACQCACQQFHDQAgBS0ADUUNACAA
LQAcQQRxDQBBASAAKAIUQeicwABBASAAQRhqKAIAKAIMEQEADQEaCyAAKAIUQcSbwABBASAAQRhqKAIAKAIMEQEACyAFQRBqJAAL
jSICEX8IfiMAQTBrIgkkACAJQQhqIhEgAkEDdiACQQdxIgNBAEdqNgIAIBEgAkECdiACQQNxQQBHakEDbDYCBCAJIAkpAwg3AhAg
CSAJQRBqKAIEIg5BARA8IAkgDjYCICAJIAkoAgQ2AhwgCSAJKAIAIhE2AhggCUEkaiEGIAEhDCAJKAIQIQogCSgCFBpBqoLAAC0A
ACETQamCwAAtAAAhEgJAAkACQAJAAkACQAJAAkACQAJAAkAgAw4GAAUBAgMFBAtBCCEDDAMLQQohAwwCC0ELIQMMAQtBDCEDC0EA
IQEgAiADayIEQQAgAiAETxsiD0EgTw0BDAMLIAJFDQEgDCACQQFrIgFqLQAAIgJBPUYNASACQeuCwABqLQAAQf8BRw0BIAZBADoA
BCAGQQI2AgAgBkEIaiABNgIAIAZBBWogAjoAAAwECyAPQSBrIQsCQAJAAkACQANAIAVBYEYNASAFQSBqIgEgAksNAiAIQRpqIA5L
DQMCQAJAIAUgDGoiBy0AACIDQeuCwABqMQAAIhlC/wFRDQAgB0EBai0AACIDQeuCwABqMQAAIhdC/wFRBEAgBUEBaiEFDAELIAdB
AmotAAAiA0HrgsAAajEAACIYQv8BUQRAIAVBAmohBQwBCyAHQQNqLQAAIgNB64LAAGoxAAAiGkL/AVEEQCAFQQNqIQUMAQsgB0EE
ai0AACIDQeuCwABqMQAAIhRC/wFRBEAgBUEEaiEFDAELIAdBBWotAAAiA0HrgsAAajEAACIVQv8BUQRAIAVBBWohBQwBCyAHQQZq
LQAAIgNB64LAAGoxAAAiG0L/AVEEQCAFQQZqIQUMAQsgB0EHai0AACIDQeuCwABqMQAAIhZC/wFSDQEgBUEHaiEFCyAGQQI2AgAg
BiADrUIIhiAFrUIghoQ3AgQMCQsgCCARaiINIBdCNIYgGUI6hoQiFyAYQi6GhCIYIBpCKIaEIBRCIoaEIhQgFUIchoQiFSAbQhaG
hCAWQhCGhCIWQoD+A4NCKIYgFkKAgPwHg0IYhiAWQoCAgPgPg0IIhoSEIBVCCIhCgICA+A+DIBRCGIhCgID8B4OEIBhCKIhCgP4D
gyAXQjiIhISENwAAQQghAyAHQQhqLQAAIgRB64LAAGoxAAAiGUL/AVENBEEJIQMgB0EJai0AACIEQeuCwABqMQAAIhdC/wFRDQRB
CiEDIAdBCmotAAAiBEHrgsAAajEAACIYQv8BUQ0EQQshAyAHQQtqLQAAIgRB64LAAGoxAAAiGkL/AVENBEEMIQMgB0EMai0AACIE
QeuCwABqMQAAIhRC/wFRDQRBDSEDIAdBDWotAAAiBEHrgsAAajEAACIVQv8BUQ0EQQ4hAyAHQQ5qLQAAIgRB64LAAGoxAAAiG0L/
AVENBEEPIQMgB0EPai0AACIEQeuCwABqMQAAIhZC/wFRDQQgDUEGaiAXQjSGIBlCOoaEIhcgGEIuhoQiGCAaQiiGhCAUQiKGhCIU
IBVCHIaEIhUgG0IWhoQgFkIQhoQiFkKA/gODQiiGIBZCgID8B4NCGIYgFkKAgID4D4NCCIaEhCAVQgiIQoCAgPgPgyAUQhiIQoCA
/AeDhCAYQiiIQoD+A4MgF0I4iISEhDcAAEEQIQMCQCAHQRBqLQAAIgRB64LAAGoxAAAiGUL/AVENAEERIQMgB0ERai0AACIEQeuC
wABqMQAAIhdC/wFRDQBBEiEDIAdBEmotAAAiBEHrgsAAajEAACIYQv8BUQ0AQRMhAyAHQRNqLQAAIgRB64LAAGoxAAAiGkL/AVEN
AEEUIQMgB0EUai0AACIEQeuCwABqMQAAIhRC/wFRDQBBFSEDIAdBFWotAAAiBEHrgsAAajEAACIVQv8BUQ0AQRYhAyAHQRZqLQAA
IgRB64LAAGoxAAAiG0L/AVENAEEXIQMgB0EXai0AACIEQeuCwABqMQAAIhZC/wFRDQAgDUEMaiAXQjSGIBlCOoaEIhcgGEIuhoQi
GCAaQiiGhCAUQiKGhCIUIBVCHIaEIhUgG0IWhoQgFkIQhoQiFkKA/gODQiiGIBZCgID8B4NCGIYgFkKAgID4D4NCCIaEhCAVQgiI
QoCAgPgPgyAUQhiIQoCA/AeDhCAYQiiIQoD+A4MgF0I4iISEhDcAAEEYIQMgB0EYai0AACIEQeuCwABqMQAAIhlC/wFRDQhBGSED
IAdBGWotAAAiBEHrgsAAajEAACIXQv8BUQ0IQRohAyAHQRpqLQAAIgRB64LAAGoxAAAiGEL/AVENCEEbIQMgB0Ebai0AACIEQeuC
wABqMQAAIhpC/wFRDQhBHCEDIAdBHGotAAAiBEHrgsAAajEAACIUQv8BUQ0IQR0hAyAHQR1qLQAAIgRB64LAAGoxAAAiFUL/AVEN
CEEeIQMgB0Eeai0AACIEQeuCwABqMQAAIhtC/wFRDQhBHyEDIAdBH2otAAAiBEHrgsAAajEAACIWQv8BUQ0IIA1BEmogF0I0hiAZ
QjqGhCIXIBhCLoaEIhggGkIohoQgFEIihoQiFCAVQhyGhCIVIBtCFoaEIBZCEIaEIhZCgP4Dg0IohiAWQoCA/AeDQhiGIBZCgICA
+A+DQgiGhIQgFUIIiEKAgID4D4MgFEIYiEKAgPwHg4QgGEIoiEKA/gODIBdCOIiEhIQ3AAAgCkEEayEKIAhBGGohCCALIAEiBUkN
BwwBCwsMBgtBYEEAQayRwAAQOQALIAEgAkGskcAAEDgACyAIQRpqIA5BvJHAABA4AAsMAgsgBkECNgIAIAZBAToABAwCCwJAAkAg
D0EISQ0AIAEgD0EIayIFTw0AAkACQAJAAkACQANAIAFBCGohBCABQXhGDQIgAiAESQ0DIAhBd0sNBCAIQQhqIA5LDQUgASAMaiIL
LQAAIgNB64LAAGoxAAAiGUL/AVENASALQQFqLQAAIgNB64LAAGoxAAAiF0L/AVEEQCABQQFyIQEMAgsgC0ECai0AACIDQeuCwABq
MQAAIhhC/wFRBEAgAUECciEBDAILIAtBA2otAAAiA0HrgsAAajEAACIaQv8BUQRAIAFBA3IhAQwCCyALQQRqLQAAIgNB64LAAGox
AAAiFEL/AVEEQCABQQRyIQEMAgsgC0EFai0AACIDQeuCwABqMQAAIhVC/wFRBEAgAUEFciEBDAILIAtBBmotAAAiA0HrgsAAajEA
ACIbQv8BUQRAIAFBBnIhAQwCCyALQQdqLQAAIgNB64LAAGoxAAAiFkL/AVIEQCAIIBFqIBdCNIYgGUI6hoQiFyAYQi6GhCIYIBpC
KIaEIBRCIoaEIhQgFUIchoQiFSAbQhaGhCAWQhCGhCIWQoD+A4NCKIYgFkKAgPwHg0IYhiAWQoCAgPgPg0IIhoSEIBVCCIhCgICA
+A+DIBRCGIhCgID8B4OEIBhCKIhCgP4DgyAXQjiIhISENwAAIApBAWshCiAIQQZqIQggBSAEIgFNDQgMAQsLIAFBB3IhAQsgBkEC
NgIAIAYgAa1CIIYgA61CCIaENwIEDAcLQXggBEHMkcAAEDkACyAEIAJBzJHAABA4AAsgCCAIQQhqQdyRwAAQOQALIAhBCGogDkHc
kcAAEDgACyABIQQLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgCkECSQRAIAghCgwBCyAKQQFrIQUgAiAE
ayEDA0AgAiAESQ0DIAhBBmohCiAIQXlLDQQgCiAOSw0FIAIgBEYNBiAEIAxqIgstAAAiAUHrgsAAajEAACIZQv8BUQ0TIANBAkkN
ByALQQFqLQAAIgFB64LAAGoxAAAiGkL/AVENAiADQQJNDQggC0ECai0AACIBQeuCwABqMQAAIhtC/wFRDQkgA0EDTQ0KIAtBA2ot
AAAiAUHrgsAAajEAACIWQv8BUQ0LIANBBE0NDCALQQRqLQAAIgFB64LAAGoxAAAiF0L/AVENDSADQQVNDQ4gC0EFai0AACIBQeuC
wABqMQAAIhhC/wFRDQ8gA0EGTQ0QIAtBBmotAAAiAUHrgsAAajEAACIUQv8BUQ0RIANBB00NEiALQQdqLQAAIgFB64LAAGoxAAAi
FUL/AVEEQCAEQQdqIQQMFAsgCCARaiIBIBpCNIYgGUI6hoQgG0IuhoQgFkIohoQgF0IihoQgGEIchoQgFEIWhoQiFEIIiEKAgID4
D4MgFEIYiEKAgPwHg4QgFEIoiEKA/gODIBRCOIiEhD4AACABQQRqIBQgFUIQhoQiFUKAgPwHg0IYhiAVQoCAgPgPg0IIhoRCIIg9
AAAgA0EIayEDIARBCGohBCAKIQggBUEBayIFDQALCyASQQBHIRJBACENQQAhCEEAIQNCACEUQQAhB0EAIQEjAEEgayIQJAACQAJA
AkACQAJAIAIgBE8EQCACIARGBEBBACECDAMLIAIgDGohDyAEIAxqIQwDQEEAIQUDQCAFIAdqIQ0gBSAMaiILLQAAIgJBPUcEQAJA
IAVFBEAgAkHrgsAAajEAACIVQv8BUQ0BIA1BAWohByAVIAhBAWoiCEE6bEE+ca2GIBSEIRRBACENIAIhASALQQFqIgwgD0cNBAwH
CyAGQYD6ADsBBCAGQQI2AgAgBkEIaiADIARqNgIADAcLIAZBADoABCAGQQI2AgAgBkEFaiACOgAAIAZBCGogBCAHaiAFajYCAAwG
CyADIA0gBRshAyANQQJxBEAgDCAFQQFqIgVqIA9GDQQMAQsLCyAGQYD6ADsBBCAGQQI2AgAgBkEIaiADIARqNgIADAMLIAQgAkHo
jMAAEDYACyAPIAxrIQ0gASECCwJAAkACQAJAIBNBAWsOAgEAAwsgDQ0BDAILIAggDWpBA3FFDQEgBkECNgIAIAZBAzoABAwCCyAG
QQI2AgAgBkEDOgAEDAELQQAhBQJAAn8CQAJAAkACQAJAAkACQCAIIgwOCQgAAQIDAAQFBgALIBBBEGpCADcCACAQQQE2AgggEEGI
jsAANgIEIBAgEEEcajYCDCAQQQRqQZCOwAAQSAALQQgMBQtBEAwEC0EYDAMLQSAMAgtBKAwBC0EwCyEMQQEhBQsgEkUgFCAMrYZC
AFJxRQRAIAUEQCAKIA4gCiAOSxshAUEAIQJBOCEFA0AgASAKRg0EIAogEWogFCAFQThxrYg8AAAgBUEIayEFIApBAWohCiACQQhq
IgIgDEkNAAsLIAYgCjYCCCAGIAMgBGo2AgQgBiANQQBHNgIADAELIAZBAjoABCAGQQI2AgAgBkEFaiACOgAAIAZBCGogBCAIakEB
azYCAAsgEEEgaiQADAELIAEgDkH4jMAAEDcACwwTCyAEQQFqIQQMEAsgBCACQeyRwAAQNgALIAggCkH8kcAAEDkACyAKIA5B/JHA
ABA4AAtBAEEAQYySwAAQNwALQQFBAUGcksAAEDcAC0ECQQJBrJLAABA3AAsgBEECaiEEDAkLQQNBA0G8ksAAEDcACyAEQQNqIQQM
BwtBBEEEQcySwAAQNwALIARBBGohBAwFC0EFQQVB3JLAABA3AAsgBEEFaiEEDAMLQQZBBkHsksAAEDcACyAEQQZqIQQMAQtBB0EH
QfySwAAQNwALIAZBAjYCACAGIAGtQgiGIAStQiCGhDcCBAwBCyAGQQI2AgAgBiAErUIIhiADIAVqrUIghoQ3AgQLAkAgCSgCJEEC
RwRAIAlBLGooAgAiASAOTQRAIAkgATYCIAsgACAJKQIYNwIAIABBCGogCUEgaigCADYCAAwBCyAJKQIoIRUgAEEANgIAIAAgFTcC
BCAJQRhqEFELIAlBMGokAAvKAQACQAJAIAEEQCACQQBIDQECQAJAAn8gAygCBARAIANBCGooAgAiAUUEQCACRQRAQQEhAQwEC0Hd
osAALQAAGiACQQEQYAwCCyADKAIAIAFBASACEFkMAQsgAkUEQEEBIQEMAgtB3aLAAC0AABogAkEBEGALIgFFDQELIAAgATYCBCAA
QQhqIAI2AgAgAEEANgIADwsgAEEBNgIEDAILIABBADYCBAwBCyAAQQA2AgQgAEEBNgIADwsgAEEIaiACNgIAIABBATYCAAvFAQEE
fyMAQUBqIgMkACADQQBBwAAQgQEhAyAAIAAoAlAiBiACQQN0aiIENgJQIABB1ABqIgUgBSgCACACQR12aiAEIAZJajYCACACBEAg
ASACaiEEIABBQGshBSAGQQN2QT9xIQIDQCAAIAJqIAEtAAA6AAAgAkEBaiICQcAARgRAQQAhAgNAIAIgA2ogACACaigCADYCACAC
QQRqIgJBwABHDQALIAUgAxAEQQAhAgsgAUEBaiIBIARHDQALCyADQUBrJAALhAIBAn8jAEEgayIGJABBlKPAAEGUo8AAKAIAIgdB
AWo2AgACQAJAIAdBAEgNAEHgpsAALQAADQBB4KbAAEEBOgAAQdymwABB3KbAACgCAEEBajYCACAGIAU6AB0gBiAEOgAcIAYgAzYC
GCAGIAI2AhQgBkGYmcAANgIQIAZB9JbAADYCDEGEo8AAKAIAIgJBAEgNAEGEo8AAIAJBAWo2AgBBhKPAAEGMo8AAKAIABH8gBiAA
IAEoAhARAgAgBiAGKQMANwIMQYyjwAAoAgAgBkEMakGQo8AAKAIAKAIUEQIAQYSjwAAoAgBBAWsFIAILNgIAQeCmwABBADoAACAE
DQELAAsAC70BAQR/QXAhBCAAIAFBAnRqIQBB+AAgASABQfgATxtB+ABrIQYCQAJAA0AgASAEaiIDQfgATw0CIAUgBkYNASAAIABB
QGooAgAgACgCACACeEGDhowYcXMiA0ECdEH8+fNncSADQQR0QfDhw4d/cXMgA0EGdEHAgYOGfHFzIANzNgIAIARBAWohBCAAQQRq
IQAgBUEBayIFQXhHDQALDwsgASAFa0H4AEG8lsAAEDcACyADQfgAQayWwAAQNwAL2QEBAn8jAEEQayICJAAgAiAAQQRqNgIEIAEo
AhRBraLAAEEJIAFBGGooAgAoAgwRAQAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQbaiwABBCyAAQZiiwAAQGEHBosAAQQkg
AkEEakHMosAAEBghAyACLQAMIQACfyAAQQBHIAItAA1FDQAaQQEgAA0AGiADKAIAIgAtABxBBHFFBEAgACgCFEHjnMAAQQIgACgC
GCgCDBEBAAwBCyAAKAIUQeKcwABBASAAKAIYKAIMEQEACyACQRBqJAALyAEBAn8jAEEgayIDJAACQAJAIAEgASACaiIBSw0AQQgg
ACgCBCICQQF0IgQgASABIARJGyIBIAFBCE0bIgRBf3NBH3YhAQJAIAJFBEAgA0EANgIYDAELIAMgAjYCHCADQQE2AhggAyAAKAIA
NgIUCyADQQhqIAEgBCADQRRqEC4gAygCDCEBIAMoAghFBEAgACAENgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASADQRBq
KAIAEHoACxBHAAsgA0EgaiQAC8gBAQJ/IwBBIGsiAyQAAkACQCABIAEgAmoiAUsNAEEIIAAoAgQiAkEBdCIEIAEgASAESRsiASAB
QQhNGyIEQX9zQR92IQECQCACRQRAIANBADYCGAwBCyADIAI2AhwgA0EBNgIYIAMgACgCADYCFAsgA0EIaiABIAQgA0EUahAnIAMo
AgwhASADKAIIRQRAIAAgBDYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgA0EQaigCABB6AAsQRwALIANBIGokAAusAQEB
fwJAAkAgAQRAIAJBAEgNAQJ/IAMoAgQEQAJAIANBCGooAgAiBEUEQAwBCyADKAIAIAQgASACEFkMAgsLIAEgAkUNABpB3aLAAC0A
ABogAiABEGALIgMEQCAAIAM2AgQgAEEIaiACNgIAIABBADYCAA8LIAAgATYCBCAAQQhqIAI2AgAMAgsgAEEANgIEIABBCGogAjYC
AAwBCyAAQQA2AgQLIABBATYCAAusAQEDfyMAQdAAayICJAADQAJAIAIgACADajYCDCACQQ02AiwgAkEBNgIkIAJBATYCFCACQbSL
wAA2AhAgAkEBNgIcIAIgAkEMajYCKCACQQM6AEwgAkEINgJIIAJCIDcCQCACQoCAgIAgNwI4IAJBAjYCMCACIAJBMGo2AiAgAiAC
QShqNgIYIAEgAkEQahBcIgQNACADQQFqIgNBEEcNAQsLIAJB0ABqJAAgBAuPAQEDfyMAQYABayIDJAAgAC0AACECQQAhAANAIAAg
A2pB/wBqQTBB1wAgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAiIEQQR2IQIgBEEQTw0ACyAAQYABaiICQYABSwRAIAJBgAFBmJ3A
ABA2AAsgAUGoncAAQQIgACADakGAAWpBACAAaxAJIANBgAFqJAALkgEBAX8jAEFAaiICJAAgAkIANwM4IAJBOGogACgCABACIAJB
GGpCATcCACACIAIoAjwiADYCNCACIAA2AjAgAiACKAI4NgIsIAJBDjYCKCACQQI2AhAgAkHIi8AANgIMIAIgAkEsajYCJCACIAJB
JGo2AhQgASACQQxqEFwgAigCMARAIAIoAiwQBQsgAkFAayQAC4sBAQF/IwBBEGsiAiQAAn8CQAJAAkACQCAALQAAQQFrDgMBAgMA
CyACIABBAWo2AgggAUGJkMAAQQsgAEEEaiACQQhqECUMAwsgAUH8j8AAQQ0QVQwCCyACIABBAWo2AgwgAUGUkMAAQREgAEEEaiAC
QQxqECUMAQsgAUGlkMAAQQ4QVQsgAkEQaiQAC4wBAgN/AX4jAEEgayICJAAgAUEEaiEDIAEoAgRFBEAgASgCACEBIAJBHGoiBEEA
NgIAIAJCATcCFCACQRRqQaCXwAAgARANGiACQRBqIAQoAgAiATYCACACIAIpAhQiBTcDCCADQQhqIAE2AgAgAyAFNwIACyAAQdCY
wAA2AgQgACADNgIAIAJBIGokAAt9AQF/IwBBQGoiBSQAIAUgATYCDCAFIAA2AgggBSADNgIUIAUgAjYCECAFQSRqQgI3AgAgBUE8
akEuNgIAIAVBAjYCHCAFQaycwAA2AhggBUEvNgI0IAUgBUEwajYCICAFIAVBEGo2AjggBSAFQQhqNgIwIAVBGGogBBBIAAt4AQJ/
IAFBD2ohAiAAIAFBAnRqIQBBICEBAkACQANAIAJBCGtB+ABPDQIgAkH4AE8NASAAIAFqIgNBHGogA0EEaygCADYCACACQQFrIQIg
AUEEayIBDQALDwsgAkH4AEHclsAAEDcACyACQQhrQfgAQcyWwAAQNwALbAEBfyMAQTBrIgMkACADIAA2AgAgAyABNgIEIANBFGpC
AjcCACADQSxqQRI2AgAgA0ECNgIMIANBqJ/AADYCCCADQRI2AiQgAyADQSBqNgIQIAMgA0EEajYCKCADIAM2AiAgA0EIaiACEEgA
C2wBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRRqQgI3AgAgA0EsakESNgIAIANBAjYCDCADQZicwAA2AgggA0ESNgIkIAMg
A0EgajYCECADIAM2AiggAyADQQRqNgIgIANBCGogAhBIAAtsAQF/IwBBMGsiAyQAIAMgADYCACADIAE2AgQgA0EUakICNwIAIANB
LGpBEjYCACADQQI2AgwgA0HIn8AANgIIIANBEjYCJCADIANBIGo2AhAgAyADQQRqNgIoIAMgAzYCICADQQhqIAIQSAALbAEBfyMA
QTBrIgMkACADIAA2AgAgAyABNgIEIANBFGpCAjcCACADQSxqQRI2AgAgA0ECNgIMIANB/J/AADYCCCADQRI2AiQgAyADQSBqNgIQ
IAMgA0EEajYCKCADIAM2AiAgA0EIaiACEEgAC/sDAgd/AX4jAEEQayIEJAAgACgCCCEGIAAoAgAhACABKAIUQdCbwABBASABQRhq
KAIAKAIMEQEAIQMgBEEEaiICQQA6AAUgAiADOgAEIAIgATYCACAGBEADQCAEIAA2AgwgBEEMaiEIIwBBQGoiASQAQQEhAwJAIARB
BGoiBS0ABA0AIAUtAAUhAwJAIAUoAgAiAigCHCIHQQRxRQRAIANFDQFBASEDIAIoAhRB25zAAEECIAJBGGooAgAoAgwRAQBFDQEM
AgsgA0UEQEEBIQMgAigCFEHpnMAAQQEgAkEYaigCACgCDBEBAA0CIAIoAhwhBwtBASEDIAFBAToAGyABQTRqQbycwAA2AgAgASAC
KQIUNwIMIAEgAUEbajYCFCABIAIpAgg3AiQgAikCACEJIAEgBzYCOCABIAIoAhA2AiwgASACLQAgOgA8IAEgCTcCHCABIAFBDGo2
AjAgCCABQRxqQbSZwAAoAgARAAANASABKAIwQeCcwABBAiABKAI0KAIMEQEAIQMMAQsgCCACQbSZwAAoAgARAAAhAwsgBUEBOgAF
IAUgAzoABCABQUBrJAAgAEEBaiEAIAZBAWsiBg0ACwsgBEEEaiIALQAEBH9BAQUgACgCACIAKAIUQfycwABBASAAQRhqKAIAKAIM
EQEACyAEQRBqJAALZwAjAEEwayIAJABB3KLAAC0AAARAIABBGGpCATcCACAAQQI2AhAgAEHcl8AANgIMIABBEjYCKCAAIAE2Aiwg
ACAAQSRqNgIUIAAgAEEsajYCJCAAQQxqQYSYwAAQSAALIABBMGokAAt3AAJAAkACQCABRQRAQQEhAgwBCyABQQBIDQECfyACRQRA
Qd2iwAAtAAAaIAFBARBgDAELAkAgARADIgJFDQAgAhCHARBqDQAgAkEAIAEQgQEaCyACCyICRQ0CCyAAIAE2AgQgACACNgIADwsQ
RwALQQEgARB6AAtbAQF/IwBBMGsiAyQAIAMgATYCDCADIAA2AgggA0EcakIBNwIAIANBATYCFCADQcibwAA2AhAgA0EvNgIsIAMg
A0EoajYCGCADIANBCGo2AiggA0EQaiACEEgAC7sCAQd/IwBBEGsiBSQAAkAgACgCCCIEIAAoAgRPDQAgBUEIaiEGIwBBIGsiASQA
AkAgBCAAKAIETQRAIAFBCGohAgJAIAAoAgQiA0UEQCACQQA2AgQMAQsgAiADNgIIIAJBATYCBCACIAAoAgA2AgALAkACQCABKAIM
IgJFDQAgAUEQaigCACEDIAEoAgghByAERQRAIAMEQCAHEAULIABCATcCAAwBCyAHIAMgAiAEEFkiA0UNASAAIAQ2AgQgACADNgIA
C0GBgICAeCECCyAGIAQ2AgQgBiACNgIAIAFBIGokAAwBCyABQRRqQgA3AgAgAUEBNgIMIAFBxIHAADYCCCABQZCBwAA2AhAgAUEI
akGYgsAAEEgACyAFKAIIIgBBgYCAgHhGDQAgACAFKAIMEHoACyAFQRBqJAALTwECfyAAKAIEIQIgACgCACEDAkAgACgCCCIALQAA
RQ0AIANB1JzAAEEEIAIoAgwRAQBFDQBBAQ8LIAAgAUEKRjoAACADIAEgAigCEBEAAAtCAQF/IAIgACgCBCAAKAIIIgNrSwRAIAAg
AyACECwgACgCCCEDCyAAKAIAIANqIAEgAhCCARogACACIANqNgIIQQALTQECf0HdosAALQAAGiABKAIEIQIgASgCACEDQQhBBBBg
IgFFBEBBBEEIEHoACyABIAI2AgQgASADNgIAIABB4JjAADYCBCAAIAE2AgALQgEBfyACIAAoAgQgACgCCCIDa0sEQCAAIAMgAhAt
IAAoAgghAwsgACgCACADaiABIAIQggEaIAAgAiADajYCCEEAC0cBAX8jAEEgayIDJAAgA0EMakIANwIAIANBATYCBCADQcSbwAA2
AgggAyABNgIcIAMgADYCGCADIANBGGo2AgAgAyACEEgAC+cBAQN/IwBBEGsiAyQAIAMgAEEMajYCDCMAQRBrIgIkACABKAIUQaSb
wABBDSABQRhqKAIAKAIMEQEAIQQgAkEAOgANIAIgBDoADCACIAE2AgggAkEIakGHm8AAQQUgAEG0m8AAEBhBjJvAAEEFIANBDGpB
lJvAABAYIQACfyACLQAMIgFBAEcgAi0ADUUNABpBASABDQAaIAAoAgAiAC0AHEEEcUUEQCAAKAIUQeOcwABBAiAAKAIYKAIMEQEA
DAELIAAoAhRB4pzAAEEBIAAoAhgoAgwRAQALIAJBEGokACADQRBqJAALNwACQCABaUEBR0GAgICAeCABayAASXINACAABEBB3aLA
AC0AABogACABEGAiAUUNAQsgAQ8LAAs5AAJAAn8gAkGAgMQARwRAQQEgACACIAEoAhARAAANARoLIAMNAUEACw8LIAAgAyAEIAEo
AgwRAQALPwEBfyMAQSBrIgAkACAAQRRqQgA3AgAgAEEBNgIMIABBgJrAADYCCCAAQbiZwAA2AhAgAEEIakGImsAAEEgAC8kCAQJ/
IwBBIGsiAiQAIAJBATsBHCACIAE2AhggAiAANgIUIAJB1JvAADYCECACQcSbwAA2AgwjAEEQayIBJAACQCACQQxqIgAoAgwiAgRA
IAAoAggiA0UNASABIAI2AgwgASAANgIIIAEgAzYCBCMAQRBrIgAkACABQQRqIgEoAgAiAkEMaigCACEDAkACfwJAAkAgAigCBA4C
AAEDCyADDQJBACECQfSWwAAMAQsgAw0BIAIoAgAiAygCBCECIAMoAgALIQMgACACNgIEIAAgAzYCACAAQfCYwAAgASgCBCIAKAII
IAEoAgggAC0AECAALQARECkACyAAQQA2AgQgACACNgIAIABBhJnAACABKAIEIgAoAgggASgCCCAALQAQIAAtABEQKQALQfSWwABB
K0GwmMAAEEMAC0H0lsAAQStBwJjAABBDAAstAAJAIANpQQFHQYCAgIB4IANrIAFJckUEQCAAIAEgAyACEFkiAA0BCwALIAALsgEB
A38gACgCACEAIAEQZ0UEQCABEGhFBEAgADEAACABEBoPCyMAQYABayIDJAAgAC0AACEAA0AgAiADakH/AGpBMEE3IABBD3EiBEEK
SRsgBGo6AAAgAkEBayECIAAiBEEEdiEAIARBEE8NAAsgAkGAAWoiAEGAAUsEQCAAQYABQZidwAAQNgALIAFBqJ3AAEECIAIgA2pB
gAFqQQAgAmsQCSADQYABaiQADwsgACABEDALpwIBA38gARBnRQRAIAEQaEUEQCAAIAEQbg8LIwBBgAFrIgMkACAAKAIAIQADQCAC
IANqQf8AakEwQTcgAEEPcSIEQQpJGyAEajoAACACQQFrIQIgAEEQSSAAQQR2IQBFDQALIAJBgAFqIgBBgAFLBEAgAEGAAUGYncAA
EDYACyABQaidwABBAiACIANqQYABakEAIAJrEAkgA0GAAWokAA8LIwBBgAFrIgMkACAAKAIAIQADQCACIANqQf8AakEwQdcAIABB
D3EiBEEKSRsgBGo6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSwRAIABBgAFBmJ3AABA2AAsgAUGoncAAQQIg
AiADakGAAWpBACACaxAJIANBgAFqJAALJwAgACAAKAIEQQFxIAFyQQJyNgIEIAAgAWoiACAAKAIEQQFyNgIECycAIABCADcAACAA
QRhqQgA3AAAgAEEQakIANwAAIABBCGpCADcAAAsgAQF/AkAgACgCBCIBRQ0AIABBCGooAgBFDQAgARAFCwsjACACIAIoAgRBfnE2
AgQgACABQQFyNgIEIAAgAWogATYCAAseACAAIAFBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQLEQAgACgCBARAIAAoAgAQBQsLGQEB
fyAAKAIQIgEEfyABBSAAQRRqKAIACwsSAEEZIABBAXZrQQAgAEEfRxsLFgAgACABQQFyNgIEIAAgAWogATYCAAsZACAAKAIUIAEg
AiAAQRhqKAIAKAIMEQEACxwAIAEoAhRBqKLAAEEFIAFBGGooAgAoAgwRAQALFAAgACgCACIAQYQBTwRAIAAQAAsLEAAgACABakEB
a0EAIAFrcQuLBgEGfwJ/IAAhBQJAAkACQAJAAkAgAkEJTwRAIAIgAxAXIgcNAUEADAYLQQhBCBBYIQBBFEEIEFghAUEQQQgQWCEC
QQBBEEEIEFhBAnRrIgRBgIB8IAIgACABamprQXdxQQNrIgAgACAESxsgA00NA0EQIANBBGpBEEEIEFhBBWsgA0sbQQgQWCECIAUQ
hwEiACAAEHQiBBCEASEBAkACQAJAAkACQAJAIAAQakUEQCACIARNDQQgAUHEpsAAKAIARg0GIAFBwKbAACgCAEYNAyABEGUNCSAB
EHQiBiAEaiIIIAJJDQkgCCACayEEIAZBgAJJDQEgARAcDAILIAAQdCEBIAJBgAJJDQggASACa0GBgAhJIAJBBGogAU1xDQQgASAA
KAIAIgFqQRBqIQQgAkEfakGAgAQQWCECDAgLIAFBDGooAgAiCSABQQhqKAIAIgFHBEAgASAJNgIMIAkgATYCCAwBC0GwpsAAQbCm
wAAoAgBBfiAGQQN2d3E2AgALQRBBCBBYIARNBEAgACACEIQBIQEgACACEEwgASAEEEwgASAEEBAgAA0JDAcLIAAgCBBMIAANCAwG
C0G4psAAKAIAIARqIgQgAkkNBQJAQRBBCBBYIAQgAmsiAUsEQCAAIAQQTEEAIQFBACEEDAELIAAgAhCEASIEIAEQhAEhBiAAIAIQ
TCAEIAEQVCAGIAYoAgRBfnE2AgQLQcCmwAAgBDYCAEG4psAAIAE2AgAgAA0HDAULQRBBCBBYIAQgAmsiAUsNACAAIAIQhAEhBCAA
IAIQTCAEIAEQTCAEIAEQEAsgAA0FDAMLQbymwAAoAgAgBGoiBCACSw0BDAILIAcgBSABIAMgASADSRsQggEaIAUQBQwCCyAAIAIQ
hAEhASAAIAIQTCABIAQgAmsiAkEBcjYCBEG8psAAIAI2AgBBxKbAACABNgIAIAANAgsgAxADIgFFDQAgASAFIAAQdEF4QXwgABBq
G2oiACADIAAgA0kbEIIBIAUQBQwCCyAHDAELIAAQahogABCGAQsLCwAgAQRAIAAQBQsLDwAgAEEBdCIAQQAgAGtyCxMAIAAoAhQg
AEEYaigCACABEA0LFAAgACgCACABIAAoAgQoAgwRAAALEAAgACgCACAAKAIEIAEQfQsQACAAKAIAIAAoAgggARB9CxkAAn8gAUEJ
TwRAIAEgABAXDAELIAAQAwsLIQAgAEKYo6rL4I761NYANwMIIABCq6qJm/b22twaNwMACyAAIABC5N7HhZDQhd59NwMIIABCwff5
6MyTstFBNwMACyIAIABCqrDurabN4qqqfzcDCCAAQrusqeeAuviazQA3AwALEwAgAEHgmMAANgIEIAAgATYCAAsNACAALQAEQQJx
QQF2CxAAIAEgACgCACAAKAIEEAYLDQAgAC0AHEEQcUEEdgsNACAALQAcQSBxQQV2CwoAQQAgAGsgAHELCwAgAC0ABEEDcUULDAAg
ACABQQNyNgIECw0AIAAoAgAgACgCBGoLDgAgACgCABoDQAwACwALCwAgADUCACABEBoLCwAgACMAaiQAIwALBgAgABBRCwsAIAAo
AgAgARAwCw0AIAFB7JbAAEEIEFULDQAgAEGgl8AAIAEQDQsKACAAKAIEQXhxCwoAIAAoAgRBAXELCgAgACgCDEEBcQsKACAAKAIM
QQF2CwsAIAAoAgAgARArCw0AIABBuJnAACABEA0LGQAgACABQYCjwAAoAgAiAEETIAAbEQIAAAuIBAEFfyMAQRBrIgMkAAJAAn8C
QCABQYABTwRAIANBADYCDCABQYAQSQ0BIAFBgIAESQRAIAMgAUE/cUGAAXI6AA4gAyABQQx2QeABcjoADCADIAFBBnZBP3FBgAFy
OgANQQMMAwsgAyABQT9xQYABcjoADyADIAFBBnZBP3FBgAFyOgAOIAMgAUEMdkE/cUGAAXI6AA0gAyABQRJ2QQdxQfABcjoADEEE
DAILIAAoAggiAiAAKAIERgRAIwBBIGsiBCQAAkACQCACQQFqIgJFDQBBCCAAKAIEIgZBAXQiBSACIAIgBUkbIgIgAkEITRsiBUF/
c0EfdiECAkAgBkUEQCAEQQA2AhgMAQsgBCAGNgIcIARBATYCGCAEIAAoAgA2AhQLIARBCGogAiAFIARBFGoQJyAEKAIMIQIgBCgC
CEUEQCAAIAU2AgQgACACNgIADAILIAJBgYCAgHhGDQEgAkUNACACIARBEGooAgAQegALEEcACyAEQSBqJAAgACgCCCECCyAAIAJB
AWo2AgggACgCACACaiABOgAADAILIAMgAUE/cUGAAXI6AA0gAyABQQZ2QcABcjoADEECCyEBIAEgACgCBCAAKAIIIgJrSwRAIAAg
AiABEC0gACgCCCECCyAAKAIAIAJqIANBDGogARCCARogACABIAJqNgIICyADQRBqJABBAAsNACAAQbycwAAgARANCwoAIAIgACAB
EAYLDAAgACABKQIANwMACwwAIAAgASkCCDcDAAu3AgEDfwJ/IAAoAgAhACMAQYABayIEJAACQAJAAn8CQCABKAIcIgNBEHFFBEAg
A0EgcQ0BIAAxAAAgARAaDAILIAAtAAAhAANAIAIgBGpB/wBqQTBB1wAgAEEPcSIDQQpJGyADajoAACACQQFrIQIgACIDQQR2IQAg
A0EQTw0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQCQwBCyAALQAAIQADQCACIARqQf8AakEwQTcgAEEP
cSIDQQpJGyADajoAACACQQFrIQIgACIDQQR2IQAgA0EQTw0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQ
CQsgBEGAAWokAAwCCyAAQYABQZidwAAQNgALIABBgAFBmJ3AABA2AAsLrwEBA38gASEFAkAgAkEQSQRAIAAhAQwBCyAAQQAgAGtB
A3EiA2ohBCADBEAgACEBA0AgASAFOgAAIAFBAWoiASAESQ0ACwsgBCACIANrIgJBfHEiA2ohASADQQBKBEAgBUH/AXFBgYKECGwh
AwNAIAQgAzYCACAEQQRqIgQgAUkNAAsLIAJBA3EhAgsgAgRAIAEgAmohAgNAIAEgBToAACABQQFqIgEgAkkNAAsLIAALuAIBB38C
QCACIgRBEEkEQCAAIQIMAQsgAEEAIABrQQNxIgNqIQUgAwRAIAAhAiABIQYDQCACIAYtAAA6AAAgBkEBaiEGIAJBAWoiAiAFSQ0A
CwsgBSAEIANrIghBfHEiB2ohAgJAIAEgA2oiA0EDcQRAIAdBAEwNASADQQN0IgRBGHEhCSADQXxxIgZBBGohAUEAIARrQRhxIQQg
BigCACEGA0AgBSAGIAl2IAEoAgAiBiAEdHI2AgAgAUEEaiEBIAVBBGoiBSACSQ0ACwwBCyAHQQBMDQAgAyEBA0AgBSABKAIANgIA
IAFBBGohASAFQQRqIgUgAkkNAAsLIAhBA3EhBCADIAdqIQELIAQEQCACIARqIQMDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiAD
SQ0ACwsgAAsLAEGEicAAQSwQAQsHACAAIAFqCwcAIAAgAWsLBwAgAEEIagsHACAAQQhrCwMAAQsL7SEEAEGAgMAAC/MKL1VzZXJz
L21hZ3Vhbmd6aGkvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9ibG9jay1wYWRk
aW5nLTAuMy4zL3NyYy9saWIucnNhc3NlcnRpb24gZmFpbGVkOiBuIDw9IGJzAAAAABAAZQAAAFEAAAARAAAAAQAAABQAAAAEAAAA
AgAAAFRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eaAAEAAkAAAAL3J1c3RjLzc5ZTk3MTZjOTgwNTcwYmZkMWY2
NjZlM2IxNmFjNTgzZjAxNjg5NjIvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc8wAEABMAAAArgEAAAkAAAABAAFBQkNERUZH
SElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsv////////////////////////
/////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf//
/////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////y9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJi
YmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5jb2RlLnJzAAAAawIQAGIAAABQAAAAMwAAAHVzaXplIG92ZXJmbG93IHdoZW4g
Y2FsY3VsYXRpbmcgYjY0IGxlbmd0aAAAawIQAGIAAABXAAAACgAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9z
cmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5naW5lL21vZC5yc2ludGVnZXIg
b3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyBidWZmZXIgc2l6ZQAcAxAAZgAAAHcAAAAOAAAASW52YWxpZCBVVEY4HAMQAGYAAAB8
AAAAIAAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUABgAAAAgAAAAEAAAABwAAAAYAAAAIAAAA
BAAAAAgAAAAJAAAABAAAAAQAAAAKAAAACwAAAAAAAAABAAAADAAAAHNyYy9saWIucnMAAEgEEAAKAAAAeQAAACUAAAADBQcADwoN
AQsOBAYJDAgCSAQQAAoAAAB7AAAAJwAAAEFMc1BEcnNPQjdDN0RBZTN1cjhNQ3dzQnNBRUh1Z0M2QXdBQUI3OEtBQTg9SAQQAAoA
AAAVAAAALwAAANwDEAAAAAAA3AMQAAAAAADcAxAAAAAAANwDEAAAAAAAdnd3THU3ZTZ1ZzRIQVFNQXVnOENzQThIRDdvSER3dXhB
ZzRIQVFHNkRMQT1IBBAACgAAADcAAAAKAAAARXJyb3IgS2V5AAAASAQQAAoAAABaAAAANgAAAEVycm9yIGRlY29kaW5nIGNpcGhl
ciB0ZXh0IDFFcnJvciBkZWNyeXB0aW5nIGNpcGhlciB0ZXh0IDKAAEG0i8AAC9gVsgUQAAAAAABKc1ZhbHVlKCkAAAC8BRAACAAA
AMQFEAABAAAADwAAAAQAAAAEAAAAEAAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVz
LmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5naW5lL2dlbmVyYWxfcHVycG9zZS9kZWNvZGVfc3VmZml4
LnJz6AUQAIAAAAAdAAAAGQAAAOgFEACAAAAAmgAAAAkAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2Rl
OiBJbXBvc3NpYmxlOiBtdXN0IG9ubHkgaGF2ZSAwIHRvIDggaW5wdXQgYnl0ZXMgaW4gbGFzdCBjaHVuaywgd2l0aCBubyBpbnZh
bGlkIGxlbmd0aHMAAIgGEAB+AAAA6AUQAIAAAACFAAAADgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNv
ZGU6IEltcG9zc2libGUgcmVtYWluZGVyAAAgBxAAPgAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5k
ZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5jb2RlLnJzAABoBxAAYgAAAG4AAAAWAAAA
aAcQAGIAAACCAAAACQAAAA8AAAAEAAAABAAAABEAAABJbnZhbGlkTGVuZ3RoSW52YWxpZEJ5dGVJbnZhbGlkTGFzdFN5bWJvbElu
dmFsaWRQYWRkaW5nL1VzZXJzL21hZ3Vhbmd6aGkvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJi
YTE1MDAxZi9iYXNlNjQtMC4yMS4yL3NyYy9lbmdpbmUvZ2VuZXJhbF9wdXJwb3NlL2RlY29kZS5yczMIEAB5AAAAcgAAACkAAAAz
CBAAeQAAAHMAAAAvAAAAMwgQAHkAAACZAAAAGwAAADMIEAB5AAAAnQAAABkAAAAzCBAAeQAAALAAAAATAAAAMwgQAHkAAACzAAAA
GAAAADMIEAB5AAAA2gAAAB8AAAAzCBAAeQAAAOAAAAAfAAAAMwgQAHkAAADpAAAAHwAAADMIEAB5AAAA8gAAAB8AAAAzCBAAeQAA
APsAAAAfAAAAMwgQAHkAAAAEAQAAHwAAADMIEAB5AAAADQEAAB8AAAAzCBAAeQAAABYBAAAfAAAAL1VzZXJzL21hZ3Vhbmd6aGkv
LmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9iYXNlNjQtMC4yMS4yL3NyYy9lbmdp
bmUvZ2VuZXJhbF9wdXJwb3NlL21vZC5ycwAAjAkQAHYAAACUAAAADQAAAIwJEAB2AAAAlgAAAEAAAACMCRAAdgAAAJUAAAANAAAA
jAkQAHYAAACYAAAADQAAAIwJEAB2AAAAnAAAAA0AAACMCRAAdgAAAJ0AAAANAAAAjAkQAHYAAACFAAAAJQAAAIwJEAB2AAAAhgAA
ACsAAACMCRAAdgAAAD4AAAAbAAAAjAkQAHYAAABAAAAAIAAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMv
aW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWVzLTAuOC4zL3NyYy9zb2Z0L2ZpeHNsaWNlMzIucnMApAoQAGcAAADd
AQAAKQAAAKQKEABnAAAA8gEAAC0AAACkChAAZwAAAIkEAAASAAAApAoQAGcAAACJBAAAPQAAAKQKEABnAAAAFAUAACIAAACkChAA
ZwAAABQFAAAJAAAAUGFkRXJyb3JjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlABQAAAAMAAAABAAA
ABUAAAAWAAAAFwAAAG1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQAALgLEAAVAAAAzQsQAA0AAABsaWJyYXJ5L3N0
ZC9zcmMvYWxsb2MucnPsCxAAGAAAAGIBAAAJAAAAbGlicmFyeS9zdGQvc3JjL3Bhbmlja2luZy5ycxQMEAAcAAAAUwIAAB8AAAAU
DBAAHAAAAFQCAAAeAAAAFAAAAAwAAAAEAAAAGAAAABkAAAAIAAAABAAAABoAAAAZAAAACAAAAAQAAAAbAAAAHAAAAB0AAAAQAAAA
BAAAAB4AAAAfAAAAIAAAAAAAAAABAAAAIQAAACIAAAAEAAAABAAAACMAAAAkAAAADAAAAAQAAAAlAAAAJgAAACcAAABsaWJyYXJ5
L2FsbG9jL3NyYy9yYXdfdmVjLnJzY2FwYWNpdHkgb3ZlcmZsb3cAAADsDBAAEQAAANAMEAAcAAAAFgIAAAUAAABhIGZvcm1hdHRp
bmcgdHJhaXQgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IAKAAAAAAAAAABAAAAKQAAAGxpYnJhcnkvYWxsb2Mvc3Jj
L2ZtdC5yc1wNEAAYAAAAYgIAACAAAADvv71ieXRlc2Vycm9yAAAAIgAAAAQAAAAEAAAAKgAAAEZyb21VdGY4RXJyb3IAAAArAAAA
DAAAAAQAAAAsAAAAKQAAAMQNEAAAAAAAWwAAADAAAAAAAAAAAQAAADEAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlz
ICBidXQgdGhlIGluZGV4IGlzIAAA5A0QACAAAAAEDhAAEgAAADogAADEDRAAAAAAACgOEAACAAAAMgAAAAwAAAAEAAAAMwAAADQA
AAA1AAAAICAgICB7ICwgIHsKLAp9IH0oKAosCgAAMgAAAAQAAAAEAAAANgAAAF1saWJyYXJ5L2NvcmUvc3JjL2ZtdC9udW0ucnN9
DhAAGwAAAGkAAAAXAAAAMHgwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4
MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2
NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OXJhbmdlIHN0
YXJ0IGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCAAAHIPEAASAAAAhA8QACIAAAByYW5nZSBlbmQgaW5k
ZXgguA8QABAAAACEDxAAIgAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgANgPEAAWAAAA7g8QAA0AAAABAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBzqHAAAszAgICAgICAgICAgICAgICAgIC
AgICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwQEBAQEAEGNosAAC0xOb25lU29tZQAAADIAAAAEAAAABAAAADcAAABFcnJvclV0
ZjhFcnJvcnZhbGlkX3VwX3RvZXJyb3JfbGVuAAAyAAAABAAAAAQAAAA4AHsJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJv
Y2Vzc2VkLWJ5AwVydXN0Yx0xLjc0LjAgKDc5ZTk3MTZjOSAyMDIzLTExLTEzKQZ3YWxydXMGMC4xOS4wDHdhc20tYmluZGdlbhIw
LjIuODcgKGYwYThhZTNiOSkALA90YXJnZXRfZmVhdHVyZXMCKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0
`,ko=null,tw=null,rw=null,Oie=null,c4=0,jf=new Array(132).fill(void 0);jf.push(void 0,null,!0,!1);var nw=jf.length;function pst(t){let e=jf[t];return t>=132&&(jf[t]=nw,nw=t),e}function Nie(){return(rw===null||rw.byteLength===0)&&(rw=new Uint8Array(Oie.buffer)),rw}function o4(){return(tw===null||tw.byteLength===0)&&(tw=new Int32Array(Oie.buffer)),tw}function mst(t,e){return t=t>>>0,Cc(Nie().subarray(t,t+e))}function fst(t,e,r){if(r===void 0){let i=eg(t),a=e(i.length,1)>>>0;return Nie().subarray(a,a+i.length).set(i),c4=i.length,a}let n=eg(t),s=e(n.length,1)>>>0;return Nie().subarray(s,s+n.length).set(n),c4=n.length,s}function xmr(t){return t==null}function bmr(t){let e=atob(t.replace(/\s+/g,"")),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r}async function Emr(){if(ko!==null)return ko;let t=bmr(ymr),e={wbg:{__wbindgen_object_drop_ref:n=>pst(n),__wbindgen_string_new:(n,s)=>{let i=mst(n,s);nw===jf.length&&jf.push(jf.length+1);let a=nw;return nw=jf[a],jf[a]=i,a},__wbindgen_debug_string:()=>{}}};return ko=(await WebAssembly.instantiate(t,e)).instance.exports,Oie=ko.memory,tw=null,rw=null,ko}function _mr(t,e){let r,n;try{let s=ko.__wbindgen_add_to_stack_pointer(-16),i=fst(t,ko.__wbindgen_malloc,ko.__wbindgen_realloc),a=c4,o=xmr(e)?0:fst(e,ko.__wbindgen_malloc,ko.__wbindgen_realloc),c=c4;ko.gateway_decrypt(s,i,a,o,c);let u=o4()[s/4+0],l=o4()[s/4+1],d=o4()[s/4+2],f=o4()[s/4+3],p=u,m=l;if(f)throw p=0,m=0,pst(d);return r=p,n=m,mst(p,m)}finally{ko.__wbindgen_add_to_stack_pointer(16),r!==void 0&&n!==void 0&&ko.__wbindgen_free(r,n,1)}}async function hst(t,e){return t=t.replace(/\s+/g,""),await Emr(),_mr(t,e)}hn();hs();var Pie=class extends wt{async search(e){try{let r="https://jadeite.migu.cn/search/v3/open-search",n={appVersion:"6.1.1.00",ct:101,isCorrectWord:1,k:e,mediaSource:9e6,packId:"1002581,1002601,1003861,1003862,1003863,1003864,1003865,1003866,1004041,1004121,1004261,1004262,1004281,1004321,1004262,1004281,1004322,1004261,1004421,1004422,1002781,1004301,1004641,1004761,1005061,1005261,1005301,1005321,1005361,1005362,1005341,1005342,1005521,1005722,1005721,1015749,1015761,1015760,1015762,1015763,1015768,1015786,1015790,1015812,1015813,1015814,1015815,1015816,1015817,1015820,1015819,1015821",pageIdx:1,pageSize:20,sid:"1X4A395AL3XS3UV5MT8PQ1L5JUYK6KFM8VKDSDD48S5Y7YX5WY1MOUHRT6512988",copyrightTerminal:3,searchScene:2,uiVersion:"A3.26.0"},s={Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9",Connection:"keep-alive","Content-Type":"application/json",Origin:"https://www.miguvideo.com",Referer:"https://www.miguvideo.com/","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"cross-site","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",appId:"miguvideo","sec-ch-ua":'Not(A:Brand";v="8", "Chromium";v="144", "Google Chrome";v="144"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"Windows",terminalId:"www"},i=await Vr(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return _("info","[Migu] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let o=(typeof i.data=="string"?JSON.parse(i.data):i.data)?.body?.contentInfoList,c=[];return o.forEach(u=>{let l=u?.shortMediaAsset;if(l&&l.isLong){let d;l?.extraData?d=l?.extraData?.episodes?.[0]:d=l?.pID,c.push({name:l.name,type:l.contDisplayName,year:l.year.trim(),img:l.h5pics?.highResolutionV,url:`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${d}/1`,epsId:d})}}),_("info",`[Migu] \u641C\u7D22\u627E\u5230 ${c.length} \u4E2A\u6709\u6548\u7ED3\u679C`),c}catch(r){return _("error","[Migu] getMiguAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}extractEpId(e){let n=e.split("?")[0].split("/").filter(s=>s!=="");return n[n.length-1]||""}async getDetail(e){try{let r=await ge(`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${e}/1`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"}});if(!r||!r.data)return _("info","[Migu] getMiguDetail: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),{duration:0,epsID:null};let n=r.data?.body?.data?.playing?.duration||0,s=r.data?.body?.data?.epsID||null;return{duration:n,epsID:s}}catch(r){return _("error","[Migu] getMiguDetail error:",{message:r.message,name:r.name,stack:r.stack}),{duration:0,epsID:null}}}async getEpisodes(e){try{let r=await ge(e,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"}});if(!r||!r.data)return _("info","[Migu] getMiguEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];let n=r.data?.body?.data?.datas;if(n)return n;{let s=r.data?.body?.data?.name,i=r.data?.body?.data?.playing?.pID;return i?[{name:s,pID:i}]:(_("info","[Migu] getMiguEposides: eps \u4E0D\u5B58\u5728"),[])}}catch(r){return _("error","[Migu] getMiguEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Migu] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.name||l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=d.name||d.title,p=Tt(f).season;return p===c||c===1&&p===null});l.length>0&&(o=l,_("info",`[Migu] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.url||l.mediaId),f=[];for(let p of d)f.push({name:p.name,url:`https://webapi.miguvideo.com/gateway/live_barrage/videox/barrage/v2/list/${l.epsId??p.pID}/${p.pID}`,title:`\u3010migu\u3011 ${p.name}`});if(f.length>0){let p={animeId:Yr(l.epsId??d[0]?.pID),bangumiId:String(l.epsId??d[0]?.pID),animeTitle:`${l.name||l.title}(${l.year})\u3010${l.type}\u3011from migu`,type:l.type,typeDescription:l.type,imageUrl:l.img??l.imageUrl,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"migu"};a.push(p),Lt({...p,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Migu] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Migu] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u54AA\u5495\u89C6\u9891\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Migu] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=100,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;h&&h.length>0&&i.push(...h)}else _("error",`[Migu] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Migu] \u54AA\u5495\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getEpisodeDanmuSegments(e){_("info","[Migu] \u83B7\u53D6\u54AA\u5495\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r=this.extractEpId(e),n=await this.getDetail(r),s=Cg(n.duration);_("info","[Migu] itemId:",r),_("info","[Migu] durationSec:",s),_("info","[Migu] epsID:",n.epsID);let i=30,a=[];for(let o=0;o<s;o+=i){let c=o,u=Math.min(o+i,s),l=`https://webapi.miguvideo.com/gateway/live_barrage/videox/barrage/v2/list/${n.epsID??r}/${r}/${c}/${u}/020`;a.push({type:"migu",segment_start:c,segment_end:u,url:l})}return new vt({type:"migu",segmentList:a})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",appCode:"miguvideo_default_h5"},retries:1}),n=[];if(r&&r.data){let s=await hst(r.data),a=(typeof r.data=="string"?JSON.parse(s):s)?.body?.result??[];n.push(...a)}return n}catch(r){return _("error","[Migu] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>({cid:Number(r.cid),p:`${r.playtime},1,${gb(r.textcolor)},[migu]`,m:r.msg,t:r.playtime,like:r.praiseCount}))}},gst=Pie;Pt();St();ar();Is();$n();hn();hs();var sw=class extends wt{constructor(){super(),this.positionMap={1:1,4:5,5:4}}filterSohuSearchItem(e,r){if(!e.aid||!e.album_name||e.is_trailer===1||e.corner_mark&&e.corner_mark.text==="\u9884\u544A")return null;let n=e.album_name.replace("<<<","").replace(">>>",""),s=null;if(e.meta&&Array.isArray(e.meta)){for(let i of e.meta)if(i.txt&&i.txt.includes("|")){let a=i.txt.split("|");if(a.length>0){let o=a[0].trim();o.includes("\u522B\u540D")&&a.length>1?s=a[1].trim():s=o;break}}}return{mediaId:String(e.aid),title:n,type:s,year:e.year||null,imageUrl:e.ver_big_pic||null,episodeCount:e.total_video_count||0}}async search(e){try{_("info",`[Sohu] \u5F00\u59CB\u641C\u7D22: ${e}`);let r={key:e,type:"1",page:"1",page_size:"20",user_id:"",tabsChosen:"0",poster:"4",tuple:"6",extSource:"1",show_star_detail:"3",pay:"1",hl:"3",uid:String(Math.floor(Date.now()*1e3)),passport:"",plat:"-1",ssl:"0"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:"https://so.tv.sohu.com/",Origin:"https://so.tv.sohu.com"},s=`https://m.so.tv.sohu.com/search/pc/keyword?${Ai(r)}`,i=await ge(s,{headers:n});if(!i||!i.data)return _("info","[Sohu] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(!a.data||!a.data.items)return _("info","[Sohu] \u641C\u7D22\u54CD\u5E94\u4E2D\u65E0\u6570\u636E"),[];let o=[];for(let c of a.data.items){let u=this.filterSohuSearchItem(c,e);u&&o.push(u)}return _("info",`[Sohu] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[Sohu] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getPlaylistData(e){let r={playlistid:e,api_key:"f351515304020cad28c92f70f002261c"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",Referer:"https://tv.sohu.com/"},s=`https://pl.hd.sohu.com/videolist?${Ai(r)}`,i=await ge(s,{headers:n,timeout:15e3});if(!i||!i.data)return null;let a=i.data;if(typeof a=="string"&&a.startsWith("jsonp")){let o=a.indexOf("(")+1,c=a.lastIndexOf(")");if(o>0&&c>o)a=JSON.parse(a.substring(o,c));else return _("error","[Sohu] \u641C\u72D0\u89C6\u9891: \u65E0\u6CD5\u89E3\u6790JSONP\u54CD\u5E94"),null}else typeof a=="string"&&(a=JSON.parse(a));return a}async getEpisodes(e){try{_("info",`[Sohu] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${e}`);let r=await this.getPlaylistData(e);if(!r)return _("info","[Sohu] \u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let n=r.videos||[];if(!n||n.length===0)return _("warn",`[Sohu] \u641C\u72D0\u89C6\u9891: \u672A\u627E\u5230\u5206\u96C6\u5217\u8868 (media_id=${e})`),[];let s=[];for(let i=0;i<n.length;i++){let a=n[i],o,c,u;typeof a=="object"?(o=String(a.vid||""),c=a.video_name||`\u7B2C${i+1}\u96C6`,u=a.url_html5||""):(o=String(a.vid||a.vid||""),c=a.name||a.video_name||`\u7B2C${i+1}\u96C6`,u=a.pageUrl||a.url_html5||""),u&&u.startsWith("http://")&&(u=u.replace("http://","https://"));let l={vid:o,title:c,url:u,episodeId:`${o}:${e}`};s.push(l)}return _("info",`[Sohu] \u6210\u529F\u83B7\u53D6 ${s.length} \u4E2A\u5206\u96C6 (media_id=${e})`),s}catch(r){return _("error","[Sohu] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Sohu] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Sohu] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=m.title||`\u7B2C${p+1}\u96C6`,A=`https://tv.sohu.com/item/${l.mediaId}.html`;f.push({name:(p+1).toString(),url:`${m.url}`,title:`\u3010sohu\u3011 ${h}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||new Date().getFullYear()})\u3010${l.type}\u3011from sohu`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year||new Date().getFullYear()),episodeCount:f.length,rating:0,isFavorited:!0,source:"sohu"};a.push(m),Lt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Sohu] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDuration(e,r){if(!e)return 0;try{let n=await this.getPlaylistData(e),s=Array.isArray(n?.videos)?n.videos:[];if(!s.length)return 0;let i=s.find(o=>String(o?.vid||"")===String(r||""))||(s.length===1?s[0]:null),a=Number(i?.playLength||0);return Number.isFinite(a)&&a>0?a:0}catch(n){return _("warn",`[Sohu] \u83B7\u53D6\u771F\u5B9E\u65F6\u957F\u5931\u8D25: ${n.message}`),0}}async extractVidAndAid(e){let r,n="0",s=await ge(e,{headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),i=s.data.match(/vid="(\d+)"/);return i&&(r=i[1]),n=s.data.match(/id="aid"[^>]*value=['"](\d+)['"]/)?.[1],n||(n=s.data.match(/playlistId="(\d+)"/)?.[1]),{vid:r,aid:n}}async getEpisodeDanmu(e){_("info","[Sohu] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u641C\u72D0\u89C6\u9891\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Sohu] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=10,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getDanmuSegment(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;if(h&&h.length>0)i.push(...h);else if(p>600)break}else _("error",`[Sohu] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Sohu] \u641C\u72D0\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getDanmuSegment(e){try{let r={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Referer:"https://tv.sohu.com/"},n=await ge(e.url,{headers:r,timeout:1e4});if(!n||!n.data)return _("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u5F39\u5E55\u6BB5\u54CD\u5E94\u4E3A\u7A7A (${e.segment_start}-${e.segment_end}s)`),[];try{let i=(typeof n.data=="string"?JSON.parse(n.data):n.data).info?.comments||[];return i&&i.length>0&&_("info",`[Sohu] \u641C\u72D0\u89C6\u9891: \u83B7\u53D6\u5230 ${i.length} \u6761\u5F39\u5E55 (${e.segment_start}-${e.segment_end}s)`),i||[]}catch(s){return _("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u89E3\u6790\u5F39\u5E55\u54CD\u5E94\u5931\u8D25: ${s.message}`),[]}}catch(r){return _("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (vid=${vid}, ${start}-${end}s): ${r.message}`),[]}}async getEpisodeDanmuSegments(e){_("info","[Sohu] \u83B7\u53D6\u641C\u72D0\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let{vid:r,aid:n}=await this.extractVidAndAid(e),s=await this.getEpisodeDuration(n,r),i=s>0?Math.ceil(s):10800,a=300,o=[];for(let c=0;c<i;c+=a){let u=Math.min(c+a,i);o.push({type:"sohu",segment_start:c,segment_end:u,url:`https://api.danmu.tv.sohu.com/dmh5/dmListAll?act=dmlist_v2&vid=${r}&aid=${n}&pct=2&time_begin=${c}&time_end=${u}&dct=1&request_from=h5_js`})}return new vt({type:"sohu",duration:s>0?s:0,segmentList:o})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?JSON.parse(r.data):r.data;n.push(...s.info?.comments||[])}return n}catch(r){return _("error","[Sohu] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>{try{let n=16777215;if(r.t&&r.t.c){let l=r.t.c;typeof l=="string"&&l.startsWith("#")?n=parseInt(l.substring(1),16):n=parseInt(String(l),16)}let s=r.v||0,i=Math.floor(parseFloat(r.created||Date.now()/1e3)),a=r.uid||"",o=r.i||"",c=1;r.t&&r.t.p&&(c=this.positionMap[r.t.p]||1);let u=`${s},1,25,${n},${i},0,${a},${o}`;return{cid:String(o),p:u,m:r.c||"",t:parseFloat(s),like:r.fcount}}catch(n){return _("error",`[Sohu] \u683C\u5F0F\u5316\u5F39\u5E55\u5931\u8D25: ${n.message}, \u5F39\u5E55\u6570\u636E:`,r),null}}).filter(r=>r!==null)}};Pt();St();ar();Is();$n();hn();hs();var Ast={tv:"\u7535\u89C6\u5267",movie:"\u7535\u5F71",cartoon:"\u52A8\u6F2B",comic:"\u52A8\u6F2B"},iw=class extends wt{constructor(){super(),this.positionMap={4:1,3:4,1:5,2:1}}filterLeshiSearchItem(e,r){if(!e.pid||!e.title)return null;let n=e.title,s=Ast[e.type]||"\u7535\u89C6\u5267";return{mediaId:String(e.pid),title:n,type:s,year:e.year||null,imageUrl:e.imageUrl||null,episodeCount:e.episodeCount||0}}async search(e){try{_("info",`[Leshi] \u5F00\u59CB\u641C\u7D22: ${e}`);let r={wd:e,from:"pc",ref:"click",click_area:"search_button",query:e,is_default_query:"0",module:"search_rst_page"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8","Accept-Encoding":"gzip, deflate, br",Referer:"https://so.le.com/",Connection:"keep-alive","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin"},s=`https://so.le.com/s?${Ai(r)}`,i=await ge(s,{headers:n,timeout:15e3});if(!i||!i.data)return _("info","[Leshi] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=i.data;_("info",`[Leshi] \u641C\u7D22\u8BF7\u6C42\u6210\u529F\uFF0C\u54CD\u5E94\u957F\u5EA6: ${a.length} \u5B57\u7B26`);let o=[],c=/<div class="So-detail[^"]*"[^>]*data-info="({.*?})"[^>]*>/g,u,l=[];for(;(u=c.exec(a))!==null;)l.push(u);_("info",`[Leshi] \u4ECEHTML\u4E2D\u627E\u5230 ${l.length} \u4E2A data-info \u5757`);for(let d of l)try{let f=d[1];_("info",`[Leshi] \u63D0\u53D6\u5230 data-info \u539F\u59CB\u5B57\u7B26\u4E32: ${f.substring(0,200)}...`),f=f.replace(/'/g,'"'),f=f.replace(/([{,])(\w+):/g,'$1"$2":');let p=JSON.parse(f);_("info",`[Leshi] \u6210\u529F\u89E3\u6790 data-info\uFF0Cpid=${p.pid}, type=${p.type}`);let m=p.pid||"",h=p.type||"",A=p.total||"0";if(!m)continue;let g=d.index,b=[`</div>
</div>`,`</div>
</div>`,"</div></div>"],y=-1;for(let B of b){let Z=a.indexOf(B,g);if(Z!==-1){y=Z;break}}if(y===-1){let B=a.indexOf('<div class="So-detail',g+100);if(B!==-1)y=B;else continue}let x=a.substring(g,y),v="",C=/<h1>[\s\S]*?<a[^>]*title="([^"]*)"[^>]*>/.exec(x);if(C&&C[1]&&(v=C[1].trim()),!v&&p.keyWord){let B=/(.*?)(?:\d{4})?(?:电影|电视剧|综艺)?$/.exec(p.keyWord);B&&B[1]&&(v=B[1].replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g,"").trim())}if(!v){let B=/<a[^>]*title="([^"]*?)[^0-9\u4e00-\u9fa5][^"]*"/.exec(x);B&&B[1]&&(v=B[1].trim())}v||_("info","[Leshi] \u672A\u627E\u5230\u6807\u9898\uFF0C\u5C1D\u8BD5\u4ECE\u5176\u4ED6\u6765\u6E90\u83B7\u53D6");let R=/<img[^>]*(?:src|data-src|alt)="([^"]+)"/.exec(x),w=R?R[1]:"",N=null,P=/<b>年份:<\/b>.*?>(\d{4})<\/a>/.exec(x);P||(P=/<b>ä¸Šæ˜ æ—¶é—´ï¼š<\/b>.*?>(\d{4})<\/a>/.exec(x)),P||(P=/_y(\d{4})_/.exec(x)),P||(P=/(\d{4})/.exec(p.keyWord||"")),P&&(N=parseInt(P[1]));let L=Ast[h]||"\u7535\u89C6\u5267",M=A&&/^\d+$/.test(A)?parseInt(A):0,k={mediaId:m,title:v,type:L,year:N,imageUrl:w&&w.startsWith("http")?w:w?`https:${w}`:null,episodeCount:M};o.push(k),_("info",`[Leshi] \u89E3\u6790\u6210\u529F - ${v} (pid=${m}, type=${L}, episodes=${M})`)}catch(f){_("warn",`[Leshi] \u89E3\u6790\u641C\u7D22\u7ED3\u679C\u9879\u5931\u8D25: ${f}`);continue}if(o.length>0){_("info",`[Leshi] \u7F51\u7EDC\u641C\u7D22 '${e}' \u5B8C\u6210\uFF0C\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C\u3002`),_("info","[Leshi] \u641C\u7D22\u7ED3\u679C\u5217\u8868:");for(let d of o)_("info",`[Leshi] - ${d.title} (ID: ${d.mediaId}, \u7C7B\u578B: ${d.type}, \u5E74\u4EFD: ${d.year})`)}else _("info",`[Leshi] \u7F51\u7EDC\u641C\u7D22 '${e}' \u5B8C\u6210\uFF0C\u627E\u5230 0 \u4E2A\u7ED3\u679C\u3002`);return o}catch(r){return _("error","[Leshi] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Leshi] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${e}`);let r=[`https://www.le.com/tv/${e}.html`,`https://www.le.com/comic/${e}.html`,`https://www.le.com/playlet/${e}.html`,`https://www.le.com/movie/${e}.html`],n=null;for(let l of r)try{let d=await ge(l,{timeout:1e4});if(d&&d.data&&d.status===200){n=d.data,_("info",`[Leshi] \u6210\u529F\u83B7\u53D6\u9875\u9762: ${l}`);break}}catch(d){_("info",`[Leshi] \u5C1D\u8BD5URL\u5931\u8D25 ${l}: ${d}`);continue}if(!n)return _("error",`[Leshi] \u65E0\u6CD5\u83B7\u53D6\u4F5C\u54C1\u9875\u9762: media_id=${e}`),[];let s=/<div class="show_cnt twxj-[^"]*">[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/.exec(n);if(s)return _("info","[Leshi] \u627E\u5230\u56FE\u6587\u9009\u96C6\u5BB9\u5668"),this.parseEpisodesFromHtml(s[0],e);let i=/<div class="show_cnt sjxj-[^"]*">[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/.exec(n);if(i)return _("info","[Leshi] \u627E\u5230\u6570\u5B57\u9009\u96C6\u5BB9\u5668"),this.parseEpisodesFromHtml(i[0],e);_("info","[Leshi] \u672A\u627E\u5230\u7279\u5B9A\u9009\u96C6\u5BB9\u5668\uFF0C\u5C1D\u8BD5\u67E5\u627E\u7B2C\u4E00\u96C6\u89C6\u9891\u5217\u8868...");let a=/<div class="show_play first_videolist[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/.exec(n);if(a){let l=a[0];return this.parseEpisodesFromHtml(l,e)}_("error",`[Leshi] \u65E0\u6CD5\u627E\u5230\u5267\u96C6\u5217\u8868\u5BB9\u5668: media_id=${e}`);let o=/https:\/\/www\.le\.com\/ptv\/vplay\/(\d+)\.html/g,c=n.matchAll(o),u=[];for(let l of c){let d=l[1],f=l[0],p={vid:d,title:`\u7B2C${u.length+1}\u96C6`,url:f,episodeId:`${d}:${e}`};u.push(p)}return u.length>0?(_("info",`[Leshi] \u4ECEHTML\u5185\u5BB9\u4E2D\u5339\u914D\u5230 ${u.length} \u4E2A\u5267\u96C6\u94FE\u63A5`),u):[]}catch(r){return _("error","[Leshi] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}parseEpisodesFromHtml(e,r){try{let n=/<div class="col_4"[^>]*>[\s\S]*?<\/div>/g,s=e.match(n);if(!s||s.length===0){_("info","[Leshi] \u5728HTML\u4E2D\u672A\u627E\u5230\u5267\u96C6\u5BB9\u5668div.col_4\uFF0C\u5C1D\u8BD5\u67E5\u627Edl.dl_temp\u5143\u7D20");let a=/<dl class="dl_temp">[\s\S]*?<\/dl>/g,o=e.match(a);if(!o||o.length===0){_("info","[Leshi] \u5728HTML\u4E2D\u672A\u627E\u5230\u5267\u96C6\u5143\u7D20\uFF0C\u5C1D\u8BD5\u66F4\u5E7F\u6CDB\u7684\u9009\u62E9\u5668");let c=/<dl[^>]*class="[^"]*dl_temp[^"]*"[^>]*>[\s\S]*?<\/dl>/g,u=e.match(c);return!u||u.length===0?(_("error",`[Leshi] \u65E0\u6CD5\u4ECEHTML\u4E2D\u89E3\u6790\u5230\u4EFB\u4F55\u5267\u96C6: media_id=${r}`),[]):this.extractEpisodes(u,r)}return this.extractEpisodes(o,r)}let i=[];for(let a of s){let o=/<dl class="dl_temp">[\s\S]*?<\/dl>/.exec(a);o&&i.push(o[0])}return i.length===0?(_("error",`[Leshi] \u4ECE\u5BB9\u5668\u4E2D\u672A\u80FD\u63D0\u53D6\u5230\u4EFB\u4F55dl.dl_temp\u5143\u7D20: media_id=${r}`),[]):this.extractEpisodes(i,r)}catch(n){return _("error",`[Leshi] \u89E3\u6790\u5267\u96C6HTML\u5931\u8D25: ${n.message}`),[]}}extractEpisodes(e,r){let n=[];for(let s of e)try{let i=/<a[^>]+href="(\/\/www\.le\.com\/ptv\/vplay\/(\d+)\.html)"[^>]*>/.exec(s);if(!i){_("info","[Leshi] \u8DF3\u8FC7\u65E0\u6CD5\u89E3\u6790\u94FE\u63A5\u7684\u5267\u96C6\u5143\u7D20");continue}let a=i[1],o=i[2],c=`https:${a}`,u="",l=/<dt class="d_tit">[\s\n\r]*<a[^>]*title="([^"]*)"[^>]*>([^<]*)<\/a>/.exec(s);if(l&&l[1])u=l[1].trim();else if(l&&l[2])u=l[2].trim();else{let p=/<a[^>]*title="([^"]*)"[^>]*>[\s\S]*?<dt class="d_tit">/.exec(s)||/<dt class="d_tit">[\s\S]*?<a[^>]*title="([^"]*)"/.exec(s);if(p&&p[1])u=p[1].trim();else{let m=/<dd class="d_cnt"[^>]*>([^<]*)/.exec(s);if(m&&m[1])u=m[1].trim();else{let h=/<a[^>]*title="[^"]*"[^>]*>([^<]*)/.exec(s);h&&h[1]&&(u=h[1].trim())}}}if(!u){let p=/第(\d+)集|(\d+)(?:\s*预告)?/.exec(s);p?u=`\u7B2C${p[1]||p[2]}\u96C6`:u=`\u7B2C${n.length+1}\u96C6`}if(/预告|Preview|preview/.test(u)){_("info",`[Leshi] \u8DF3\u8FC7\u9884\u544A\u7247: ${u}`);continue}let f={vid:o,title:u,url:c,episodeId:`${o}:${r}`};n.push(f)}catch(i){_("warn",`[Leshi] \u89E3\u6790\u5355\u4E2A\u5267\u96C6\u5931\u8D25: ${i.message}`);continue}return _("info",`[Leshi] \u6210\u529F\u89E3\u6790\u5267\u96C6\u5217\u8868: media_id=${r}, \u5171 ${n.length} \u96C6`),n}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Leshi] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Leshi] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=m.title||`\u7B2C${p+1}\u96C6`;f.push({name:(p+1).toString(),url:`${m.url}`,title:`\u3010leshi\u3011 ${h}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||new Date().getFullYear()})\u3010${l.type}\u3011from leshi`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year||new Date().getFullYear()),episodeCount:f.length,rating:0,isFavorited:!0,source:"leshi"};a.push(m),Lt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Leshi] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Leshi] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u4E50\u89C6\u7F51\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Leshi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=10,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getDanmuSegment(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;if(h&&h.length>0)i.push(...h);else if(p>600)break}else _("error",`[Leshi] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Leshi] \u4E50\u89C6\u7F51: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getDanmuSegment(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?r.data:JSON.stringify(r.data),i=/vjs_\d+\((.*)\)/.exec(s);if(i){let a=JSON.parse(i[1]);a.code===200&&a.data&&n.push(...a.data.list||[])}}return n}catch(r){return _("error","[Leshi] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}async getEpisodeDanmuSegments(e){_("info","[Leshi] \u83B7\u53D6\u4E50\u89C6\u7F51\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r=e,n=e.match(/\/vplay\/(\d+)\.html/);n&&(r=n[1]);let s=await this.getVideoDuration(r),i=[];for(let a=0;a<Math.ceil(s/300);a++){let o=a*300,c=Math.min((a+1)*300,s);i.push({type:"leshi",segment_start:o,segment_end:c,url:`https://hd-my.le.com/danmu/list?vid=${r}&start=${o}&end=${c}&callback=vjs_${Date.now()}`})}return _("info",`[Leshi] \u4E50\u89C6\u7F51: \u89C6\u9891\u65F6\u957F ${s}\u79D2\uFF0C\u5206\u4E3A ${i.length} \u4E2A\u65F6\u95F4\u6BB5`),new vt({type:"leshi",segmentList:i})}async getEpisodeSegmentDanmu(e){return this.getDanmuSegment(e)}async getVideoDuration(e){try{let r=await ge(`https://www.le.com/ptv/vplay/${e}.html`,{timeout:1e4});if(!r||!r.data)return _("warn","[Leshi] \u4E50\u89C6\u7F51: \u83B7\u53D6\u89C6\u9891\u65F6\u957F\u5931\u8D25\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u503C2400\u79D2"),2400;let n=/duration['"]?\s*:\s*['"]?(\d{2}):(\d{2}):(\d{2})['"]?|duration['"]?\s*:\s*['"]?(\d{2}):(\d{2})['"]?|duration['"]?\s*:\s*(\d+)['"]?/.exec(r.data);if(n){if(n[1]&&n[2]&&n[3]){let s=parseInt(n[1]),i=parseInt(n[2]),a=parseInt(n[3]);return s*3600+i*60+a}else if(n[4]&&n[5]){let s=parseInt(n[4]),i=parseInt(n[5]);return s*60+i}else if(n[6])return parseInt(n[6])}return 2400}catch(r){return _("warn",`[Leshi] \u83B7\u53D6\u89C6\u9891\u65F6\u957F\u5931\u8D25: ${r}\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u503C2400\u79D2`),2400}}formatComments(e){return e.map(r=>{try{let n=this.positionMap[parseInt(r.position)]||1,s=parseFloat(r.start||0),i=r.color||"FFFFFF",a=parseInt(i,16),o=r.id||r._id||"",c=r.txt||"",u=`${s.toFixed(2)},${n},25,${a},[${this.constructor.name.toLowerCase()}]`;return{cid:String(o),p:u,m:c,t:Math.round(s*100)/100}}catch(n){return _("error",`[Leshi] \u683C\u5F0F\u5316\u5F39\u5E55\u5931\u8D25: ${n.message}, \u5F39\u5E55\u6570\u636E:`,r),null}}).filter(r=>r!==null)}};Pt();St();ar();Is();$n();hn();hs();var Die=class extends wt{async search(e){try{let r=`https://m.ixigua.com/s/${e}`,s=(await ge(r,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}})).data,i=[],a=/<section class="search-section">[\s\S]*?<h2 class="search-section-title">[\s\S]*?相关视频[\s\S]*?<\/h2>[\s\S]*?<div class="s-long-video-card">([\s\S]*?)<\/div><\/div><\/div>/,o=s.match(a);if(o){let c=o[1],u=/<div class="s-long-video">[\s\S]*?(?=<div class="s-long-video">|$)/g;(c.match(u)||[]).forEach(d=>{let f=d.match(/href="(\/video\/\d+)"/),p=f?`https://m.ixigua.com${f[1]}`:"",m=d.match(/<h3 class="s-long-video-info-title">[\s\S]*?title="([^"]+)"/),h=m?m[1]:"",A=d.match(/<img src="([^"]+)"/),g=A?A[1]:"";g&&g.startsWith("//")&&(g="https:"+g),g=g.replace(/&amp;/g,"&");let b=d.match(/<p>([^<]+\/[^<]+\/\d{4})<\/p>/),y="",x="";if(b){let v=b[1].split("/");y=v[0]||"",x=v[2]||""}p&&h&&i.push({name:h,type:y,year:x,img:g,url:p})})}else return _("info","[Xigua] xiguaSearchresp: \u76F8\u5173\u89C6\u9891\u7684section \u4E0D\u5B58\u5728"),[];return _("info",`[Xigua] \u641C\u7D22\u627E\u5230 ${i.length} \u4E2A\u6709\u6548\u7ED3\u679C`),i}catch(r){return _("error","[Xigua] getXiguaAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getDetail(e){try{let n=`https://m.ixigua.com/video/${e.split("/").pop()}`,s=await ge(n,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}});if(!s||!s.data)return _("info","[Xigua] getXiguaDetail: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),0;let i=s.data.match(/"duration"\s*:\s*([\d.]+)/);return i?parseFloat(i[1]):0}catch(r){return _("error","[Xigua] getXiguaDetail error:",{message:r.message,name:r.name,stack:r.stack}),0}}async getEpisodes(e){try{let r=`https://m.ixigua.com/video/${e}`,n=await ge(r,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}});if(!n||!n.data)return _("info","[Xigua] getXiguaEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];let s=n.data.match(/"episodes_list"\s*:\s*(\[[\s\S]*?\})\s*\]/);if(s)try{let i=s[0].replace(/"episodes_list"\s*:\s*/,"");return JSON.parse(i).map(c=>({seq_num:c.seq_num,title:c.title||`\u7B2C${c.seq_num}\u96C6`,url:`https://m.ixigua.com/video/${c.gid}`,gid:c.gid,cover_image_url:c.cover_image_url}))}catch(i){_("error","[Xigua] \u89E3\u6790episodes_list\u5931\u8D25:",i)}else return _("info","[Xigua] getXiguaEposides: episodes_list \u4E0D\u5B58\u5728"),[]}catch(r){return _("error","[Xigua] getXiguaEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Xigua] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.name,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.name).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Xigua] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=l.url.split("/").pop(),f=await this.getEpisodes(d),p=[];for(let m of f){let h=m.title;p.push({name:h,url:m.url,title:`\u3010xigua\u3011 ${h}`})}if(p.length>0){let m={animeId:Yr(d),bangumiId:String(d),animeTitle:`${l.name}(${l.year})\u3010${l.type}\u3011from xigua`,type:l.type,typeDescription:l.type,imageUrl:l.img,startDate:Pr(l.year),episodeCount:p.length,rating:0,isFavorited:!0,source:"xigua"};a.push(m),Lt({...m,links:p},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Xigua] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Xigua] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u897F\u74DC\u89C6\u9891\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Xigua] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=100,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;h&&h.length>0&&i.push(...h)}else _("error",`[Xigua] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Xigua] \u897F\u74DC\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getEpisodeDanmuSegments(e){_("info","[Xigua] \u83B7\u53D6\u897F\u74DC\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r=e.split("/").pop(),n=await this.getDetail(e)*1e3;_("info","[Xigua] itemId:",r),_("info","[Xigua] duration:",n);let s=3e5,i=[];for(let a=0;a<n;a+=s){let o=a,c=Math.min(a+s,n),l=`https://ib.snssdk.com/vapp/danmaku/list/v1/?${Ai({item_id:r,start_time:o,end_time:c,format:"json"})}`;i.push({type:"xigua",segment_start:o,segment_end:c,url:l})}return new vt({type:"xigua",segmentList:i})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"},retries:1}),n=[];if(r&&r.data){let i=(typeof r.data=="string"?JSON.parse(r.data):r.data).data??[];n.push(...i)}return n}catch(r){return _("error","[Xigua] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>({cid:Number(r.danmaku_id),p:`${(r.offset_time/1e3).toFixed(2)},1,16777215,[xigua]`,m:r.text,t:Math.round(r.offset_time/1e3)}))}},yst=Die;Pt();St();ar();Is();$n();hn();hs();var kie=class extends wt{constructor(){super(),this.domain="https://mob.mddcloud.com.cn",this.headers={"user-agent":"Mdd/5.8.00 (Android+32+)","Content-Type":"application/json",version:"5.8.00",Referer:"mdd"}}getPlayload(e,r){let n=Date.now(),s=Ai(r,!1),i=`os:Android|version:5.8.00|action:${e}|time:${n}|appToken:|privateKey:e1be6b4cf4021b3d181170d1879a530a9e4130b69032144d5568abfd6cd6c1c2|data:${s}&`;return{channel:"1000",data:r,deviceNum:"853BDD7A1DC011F1C341455071C03AEB",deviceType:0,jsonSign:0,os:"Android",sign:Ls(i),sourceVersion:0,terminalType:"APP",thirdStatus:0,time:n,version:"5.8.00",visitorStatus:0}}extractByRegex(e){let r=e.match(/\/video\/([a-f0-9]+)\.html/i),n=e.match(/[?&]uuid=([a-f0-9]+)/i);return{vodUuid:r?r[1]:null,uuid:n?n[1]:null,success:!!(r&&n)}}async search(e){try{let r="/searchApi/search/getAllSearchResult4820.action",n=`${this.domain}${r}`,s={keyWord:e},i=await Vr(n,JSON.stringify(this.getPlayload(r,s)),{headers:this.headers});if(!i||!i.data)return _("info","[Maiduidui] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data,o=[],c=a?.data;for(let u of c)if(u?.typeName==="\u5267\u96C6"||u?.typeName==="\u7535\u5F71"||u?.typeName==="\u7EFC\u827A")for(let l of u?.vodList)o.push({name:l.name,type:u.typeName,year:l.yearName,img:l.downImage,url:l.uuid});return _("info",`[Maiduidui] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[Maiduidui] getMaiduiduiAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getDetail(e){try{let r=this.extractByRegex(e),n=r.uuid,s=r.vodUuid,i="/api/vod/listVodSactions.action",a=`${this.domain}${i}`,o={hasIntroduction:0,vodUuid:s},c=await Vr(a,JSON.stringify(this.getPlayload(i,o)),{headers:this.headers});if(!c||!c.data)return _("info","[Maiduidui] \u83B7\u53D6\u8BE6\u60C5\u4FE1\u606F\u54CD\u5E94\u4E3A\u7A7A"),[];let u=typeof c.data=="string"?JSON.parse(c.data):c.data;for(let l of u?.data)if(l.uuid===n)return l.duration;return 0}catch(r){return _("error","[Maiduidui] getMaiduiduiDetail error:",{message:r.message,name:r.name,stack:r.stack}),0}}async getEpisodes(e){try{let r="/api/vod/listVodSactions.action",n=`${this.domain}${r}`,s={hasIntroduction:0,vodUuid:e},i=await Vr(n,JSON.stringify(this.getPlayload(r,s)),{headers:this.headers});if(!i||!i.data)return _("info","[Maiduidui] \u83B7\u53D6\u96C6\u4FE1\u606F\u54CD\u5E94\u4E3A\u7A7A"),[];let a=[];return(typeof i.data=="string"?JSON.parse(i.data):i.data)?.data.forEach(c=>{a.push({title:c.name,episodeId:c.uuid})}),a}catch(r){return _("error","[Maiduidui] getMaiduiduiEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Maiduidui] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.name,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.name).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Maiduidui] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.url),f=[];for(let p of d){let m=p.title;f.push({name:m,url:`https://www.mddcloud.com.cn/video/${l.url}.html?uuid=${p.episodeId}`,title:`\u3010maiduidui\u3011 ${m}`})}if(f.length>0){let p={animeId:Yr(l.url),bangumiId:l.url,animeTitle:`${l.name}(${l.year})\u3010${l.type}\u3011from maiduidui`,type:l.type,typeDescription:l.type,imageUrl:l.img,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"maiduidui"};a.push(p),Lt({...p,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Maiduidui] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Maiduidui] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u57CB\u5806\u5806\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Maiduidui] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=20,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;h&&h.length>0&&i.push(...h)}else _("error",`[Maiduidui] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Maiduidui] \u57CB\u5806\u5806: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getEpisodeDanmuSegments(e){_("info","[Maiduidui] \u83B7\u53D6\u57CB\u5806\u5806\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let n=this.extractByRegex(e).uuid,s=await this.getDetail(e);_("info","[Maiduidui] uuid:",n),_("info","[Maiduidui] duration:",s);let i=60,a=[];for(let o=0;o<s;o+=i){let c=o,u=Math.min(o+i,s);a.push({type:"maiduidui",segment_start:c,segment_end:u,url:e})}return new vt({type:"maiduidui",segmentList:a})}async getEpisodeSegmentDanmu(e){try{let r=this.extractByRegex(e.url),n=r.uuid,s=r.vodUuid,i="/api/barrage/vodBarrage396.action",a=`${this.domain}${i}`,o={sactionUuid:n,times:e.segment_start,vodUuid:s},c=await Vr(a,JSON.stringify(this.getPlayload(i,o)),{headers:this.headers,retries:1}),u=[];return c&&c.data&&((typeof c.data=="string"?JSON.parse(c.data):c.data).data??[]).forEach(f=>{u.push(...f.barrageList)}),u}catch(r){return _("error","[Maiduidui] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>({cid:Number(r.uuid),p:`${r.times.toFixed(2)},1,${gb(r.color.replace("#",""))},[maiduidui]`,m:r.content,t:r.times}))}},xst=kie;St();ar();Is();$n();hn();no();Pt();Pt();St();Is();ar();var Smr="https://www.yfsp.tv/",vmr="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0 Safari/537.36",Cmr=60*1e3;function aw(t,e,r){if(t==null)return r;let n=e.split("."),s=t;for(let i=0;i<n.length;i++){if(s==null)return r;let a=n[i],o=a.match(/^(.+)\[(\d+)\]$/);if(o){let c=o[1],u=parseInt(o[2],10);if(s=s[c],Array.isArray(s)&&u<s.length)s=s[u];else return r}else s=s[a]}return s!==void 0?s:r}function Imr(t,e){let n=new RegExp("\\b(?:var|let|const)\\s+"+e+"\\s*=\\s*").exec(t);if(!n)return null;let s=t.indexOf("{",n.index+n[0].length);if(s===-1)return null;let i=0,a=!1,o="",c=!1;for(let u=s;u<t.length;u++){let l=t[u];if(a){c?c=!1:l==="\\"?c=!0:l===o&&(a=!1,o="");continue}if(l==='"'||l==="'"){a=!0,o=l;continue}if(l==="{"){i+=1;continue}if(l==="}"&&(i-=1,i===0))return t.slice(s,u+1)}return null}function Tmr(t){let e=t.match(/"pConfig"\s*:\s*\{\s*"publicKey"\s*:\s*"([^"]+)"\s*,\s*"privateKey"\s*:\s*\[(.*?)\]\s*\}/s);if(!e)return null;let r=[];try{r=JSON.parse("["+e[2]+"]")}catch{return null}return!e[1]||!r.length?null:{publicKey:e[1],privateKey:r[0]}}function wmr(t){let e=aw(t,"config[0]",null),r=e?e.pConfig:null;if(!r)return null;let n=r.publicKey,s=Array.isArray(r.privateKey)?r.privateKey[0]:r.privateKey;return!n||!s?null:{publicKey:n,privateKey:s}}function Rmr(t){let e=Imr(t,"injectJson");if(e)try{let r=JSON.parse(e),n=wmr(r);if(n)return n}catch(r){_("warn","[Utils] [Aiyifan] \u89E3\u6790 injectJson \u5931\u8D25\uFF0C\u56DE\u9000\u5230 pConfig \u63D0\u53D6: "+(r.message||"\u672A\u77E5\u9519\u8BEF"))}return Tmr(t)}function bst(t){return t==null?null:String(t)}function Nmr(t){return t==="vv"||t==="pub"}function Omr(t){return t?t.split("&").filter(Boolean).map(function(e){let r=e.indexOf("="),n=r===-1?e:e.slice(0,r),s=r===-1?"":e.slice(r+1);function i(c){try{return decodeURIComponent(c.replace(/\+/g,"%20"))}catch{return c}}let a=i(n),o=i(s);return[a,o]}):[]}function Pmr(t){if(!t)return[];if(typeof t=="string"){let n=t.trim();if(!n)return[];let s=n,i=n.indexOf("?");if(i!==-1){let a=n.indexOf("#",i);s=n.slice(i+1,a===-1?void 0:a)}else n.charAt(0)==="?"&&(s=n.slice(1));return Omr(s)}if(typeof t=="object"&&t!==null){if(typeof t.entries=="function")try{var e=t.entries();if(Array.isArray(e))return e;var r=[];if(typeof t.forEach=="function")return t.forEach(function(n,s){r.push([s,bst(n)])}),r.filter(function(n){return n[1]!==null})}catch{}return Object.keys(t).map(function(n){return[n,bst(t[n])]}).filter(function(n){return n[1]!==null})}return[]}function Dmr(t){return Pmr(t).filter(function(e){return!Nmr(e[0])}).map(function(e){return e[0]+"="+e[1]}).join("&")}function kmr(t,e){let r=Dmr(t),n=e.publicKey+"&"+r.toLowerCase()+"&"+e.privateKey;return Ls(n)}function Lmr(t){return typeof t=="string"?JSON.parse(t):t}function Bmr(t){var e=aw(t,"ret",null),r=aw(t,"data.code",null);return e===200&&r===0}function Est(t,e){var r=aw(t,"data.msg",null)||aw(t,"msg",null);return r||"HTTP "+e}var u4=class{constructor(e){e=e||{},this.proxyUrlBuilder=e.proxyUrlBuilder||function(r){return O.makeProxyUrl(r)},this.userAgent=e.userAgent||vmr,this.configPageUrl=e.configPageUrl||Smr,this.ttlMs=e.ttlMs||Cmr,this.now=e.now||function(){return Date.now()},this.signingConfig=null,this.signingConfigFetchedAt=0}async getSigningConfig(e){e=e||!1;var r=this.now(),n=this.signingConfig&&r-this.signingConfigFetchedAt<this.ttlMs;if(!e&&n)return this.signingConfig;var s=await ge(this.proxyUrlBuilder(this.configPageUrl),{headers:{"User-Agent":this.userAgent,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}}),i=typeof s.data=="string"?s.data:String(s.data||""),a=Rmr(i);if(!a)throw new Error("\u672A\u80FD\u4ECE\u684C\u9762\u7AD9\u9875\u9762\u89E3\u6790\u5230 pConfig");return this.signingConfig=a,this.signingConfigFetchedAt=r,_("info","[Utils] [Aiyifan] \u5DF2\u66F4\u65B0\u684C\u9762\u7AD9\u7B7E\u540D\u914D\u7F6E: "+a.publicKey.slice(0,12)+"..."),a}buildSignedParams(e,r){var n={};for(var s in e)e.hasOwnProperty(s)&&(n[s]=e[s]);return n.vv=kmr(e,r),n.pub=r.publicKey,n}async signedGetJson(e,r,n,s,i){n=n||{},s=s||"Aiyifan",i=i||!1;var a=await this.getSigningConfig(i),o=this.buildSignedParams(r,a),c=db(e,o),u=await ge(this.proxyUrlBuilder(c),{headers:n}),l;try{l=Lmr(u.data)}catch(f){if(!i)return _("warn","["+s+"] \u54CD\u5E94\u65E0\u6CD5\u89E3\u6790\u4E3A JSON\uFF0C\u5237\u65B0\u7B7E\u540D\u914D\u7F6E\u540E\u91CD\u8BD5: "+(f.message||"\u672A\u77E5\u9519\u8BEF")),this.signedGetJson(e,r,n,s,!0);throw f}var d=u.status!=null?u.status:200;if(d!==200||!Bmr(l)){if(!i)return _("warn","["+s+"] \u5F53\u524D\u7B7E\u540D\u8BF7\u6C42\u5931\u8D25\uFF0C\u5237\u65B0 pConfig \u540E\u91CD\u8BD5: "+Est(l,d)),this.signedGetJson(e,r,n,s,!0);throw new Error(Est(l,d))}return{data:l,vv:o.vv,signingConfig:a}}};var ow=class extends wt{constructor(){super(),this.USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0 Safari/537.36",this.SEARCH_API="https://rankv21.tripdata.app/v3/list/briefsearch",this.PLAYLIST_API="https://m10.yfsp.tv/v3/video/languagesplaylist",this.VIDEO_API="https://m10.yfsp.tv/v3/video/play",this.DANMU_API="https://m10.yfsp.tv/api/video/getBarrage",this.DOMAIN_API="https://www.yfsp.tv/play",this.CONFIG_PAGE_API="https://www.yfsp.tv/",this.signingProvider=new u4({userAgent:this.USER_AGENT,configPageUrl:this.CONFIG_PAGE_API}),this.inflightDanmuRequests=new Map}extractEpisodeRequestKey(e){try{return new URL(e).searchParams.get("id")??e}catch{return e}}async searchDrama(e,r=1,n=10){let s={tags:e,orderby:4,page:r,size:n,desc:1,isserial:-1},i={"User-Agent":this.USER_AGENT,Accept:"application/json"};_("info",`[Aiyifan] [\u641C\u7D22] \u5173\u952E\u8BCD: ${e}, \u9875\u7801: ${r}`);try{let a=db(this.SEARCH_API,s),o=await ge(O.makeProxyUrl(a),{headers:i});return typeof o.data=="string"?JSON.parse(o.data):o.data}catch(a){return _("error",`[Aiyifan] [\u641C\u7D22\u5931\u8D25] \u9519\u8BEF: ${a.message}`),null}}extractDramaList(e){let r=[],n=e?.data?.info||[];if(!n.length)return _("warn","[Aiyifan] [\u8B66\u544A] \u641C\u7D22\u7ED3\u679C\u4E3A\u7A7A"),r;for(let s of n){let i=s.result||[];if(i.length)for(let a of i){let o=a.contxt,c=a.title;r.push({contxt:o,title:c,...a}),_("info",`[Aiyifan] [\u53D1\u73B0\u5267\u76EE] ${c} vid=${o}`)}}return r}async getPlaylist(e){let r={cinema:1,vid:e,lsk:1,taxis:0,cid:"0,1,4,152"},n={"User-Agent":this.USER_AGENT,Accept:"application/json"};_("info",`[Aiyifan] [\u64AD\u653E\u5217\u8868] \u8BF7\u6C42 vid: ${e}`);try{let{data:s}=await this.signingProvider.signedGetJson(this.PLAYLIST_API,r,n,"\u64AD\u653E\u5217\u8868"),i=[],a=s.data?.info||[];for(let o of a)for(let c of o.playList||[])i.push(c);return _("info",`[Aiyifan] [\u64AD\u653E\u5217\u8868] \u5171\u83B7\u53D6\u5230 ${i.length} \u96C6`),i}catch(s){return _("error",`[Aiyifan] [\u64AD\u653E\u5217\u8868\u5931\u8D25] \u9519\u8BEF: ${s.message}`),[]}}async getVideoInfo(e,r=null){let n={cinema:1,id:e,a:0,lang:"none",usersign:1,region:"GL.",device:0,isMasterSupport:1},s={"User-Agent":this.USER_AGENT,Accept:"application/json"},i=r?`(ID:${r})`:"";_("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] \u8BF7\u6C42 key: ${e} ${i}`);try{let{data:a,vv:o}=await this.signingProvider.signedGetJson(this.VIDEO_API,n,s,"\u89C6\u9891\u4FE1\u606F");return _("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] vv\u7B7E\u540D: ${o.substring(0,16)}...`),a.data||{}}catch(a){return _("error",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F\u5931\u8D25] \u9519\u8BEF: ${a.message}`),null}}extractUniqueKey(e){let n=(e.info?.[0]||{}).uniqueKey;return n&&_("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] \u83B7\u53D6\u5230 uniqueKey: ${n}`),n}async fetchBarrage(e,r=1,n=3e4){let s={cinema:1,page:r,size:n,uniqueKey:e},i={"User-Agent":this.USER_AGENT};_("info",`[Aiyifan] [\u5F39\u5E55] \u8BF7\u6C42 uniqueKey: ${e}`);try{let{data:a,vv:o}=await this.signingProvider.signedGetJson(this.DANMU_API,s,i,"\u5F39\u5E55");_("info",`[Aiyifan] [\u5F39\u5E55] vv\u7B7E\u540D: ${o.substring(0,16)}...`);let c=a.data?.info||[];return _("info",`[Aiyifan] [\u5F39\u5E55] \u83B7\u53D6\u5230 ${c.length} \u6761\u5F39\u5E55`),c}catch(a){return _("error",`[Aiyifan] [\u5F39\u5E55\u5931\u8D25] \u9519\u8BEF: ${a.message}`),[]}}async search(e){_("info",`[Aiyifan] \u5F00\u59CB\u641C\u7D22: ${e}`);let r=await this.searchDrama(e);if(!r)return _("error","[Aiyifan] \u641C\u7D22\u5931\u8D25\uFF0C\u9000\u51FA"),[];let n=this.extractDramaList(r);if(!n.length)return _("warn","[Aiyifan] \u672A\u627E\u5230\u5267\u76EE\u4FE1\u606F\uFF0C\u9000\u51FA"),[];let s=n.map(i=>({provider:"aiyifan",mediaId:i.contxt,title:i.title,type:i.atypeName,year:new Date(i.postTime).getFullYear(),imageUrl:i.imgPath||null,episodeCount:0}));return _("info",`[Aiyifan] \u641C\u7D22\u5B8C\u6210\uFF0C\u627E\u5230 ${s.length} \u4E2A\u7ED3\u679C`),s}async getEpisodes(e){_("info",`[Aiyifan] \u83B7\u53D6\u5267\u96C6\u8BE6\u60C5: ${e}`);let r=await this.getPlaylist(e);if(!r.length)return _("error","[Aiyifan] \u83B7\u53D6\u64AD\u653E\u5217\u8868\u5931\u8D25"),[];let n=r.map((s,i)=>({vid:s.key,id:s.id,title:s.name||`\u7B2C${i+1}\u96C6`,link:`${this.DOMAIN_API}/${e}?id=${s.key}`}));return _("info",`[Aiyifan] \u83B7\u53D6\u5230 ${n.length} \u4E2A\u5267\u96C6`),n}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Aiyifan] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Aiyifan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId);if(d.length===0){_("info",`[Aiyifan] ${l.title} \u65E0\u5206\u96C6\uFF0C\u8DF3\u8FC7`);return}let f=d.map((h,A)=>({name:h.title||`${A+1}`,url:h.link,title:`\u3010aiyifan\u3011 ${h.title}`}));if(f.length===0)return;let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from aiyifan`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"aiyifan"};a.push(m),Lt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}catch(d){_("error",`[Aiyifan] \u5904\u7406 ${l.title} \u5931\u8D25:`,d.message)}});return await Promise.all(u),this.sortAndPushAnimesByYear(a,n),a}async getEpisodeDanmu(e){_("info",`[Aiyifan] \u83B7\u53D6\u5F39\u5E55: ${e}`);let r=this.extractEpisodeRequestKey(e),n=this.inflightDanmuRequests.get(r);if(n)return _("info",`[Aiyifan] \u590D\u7528\u8FDB\u884C\u4E2D\u7684\u5F39\u5E55\u8BF7\u6C42: ${r}`),await n;let s=(async()=>{let i=r,a=await this.getVideoInfo(i);if(!a)return _("error","[Aiyifan] \u83B7\u53D6\u89C6\u9891\u4FE1\u606F\u5931\u8D25"),[];let o=this.extractUniqueKey(a);if(!o)return _("error","[Aiyifan] \u672A\u83B7\u53D6\u5230uniqueKey"),[];let c=await this.fetchBarrage(o);return c.length===0?(_("info","[Aiyifan] \u672A\u83B7\u53D6\u5230\u5F39\u5E55"),[]):(c.sort((u,l)=>(u.second||0)-(l.second||0)),_("info",`[Aiyifan] \u83B7\u53D6\u5230 ${c.length} \u6761\u5F39\u5E55`),c)})();this.inflightDanmuRequests.set(r,s);try{return await s}finally{this.inflightDanmuRequests.delete(r)}}async getEpisodeDanmuSegments(e){let r=await this.getEpisodeDanmu(e),n=[{type:"aiyifan",segment_start:0,segment_end:Math.max(...r.map(s=>s.second||0),0),url:`${this.DANMU_API}?uniqueKey=${e}`}];return{type:"aiyifan",duration:Math.max(...r.map(s=>s.second||0),0),segmentList:n}}async getEpisodeSegmentDanmu(e){let r=e.url?.split("uniqueKey=")[1];return r?await this.getEpisodeDanmu(r):[]}formatComments(e){return e.map(r=>({p:`${r.second||0},${r.position===1?5:1},25,${gb(r.color.replace("#",""))},0,0,0,0`,m:r.contxt||r.content||"",like:r.good,...r})).map(r=>(O.danmuSimplifiedTraditional==="simplified"&&r.m&&(r.m=Gt(r.m)),r))}};Pt();St();ar();$n();no();hs();hn();var wc={danmu:null,subject:null},cw=new Map,Mmr=3*60*1e3,Wmr=100,uw=class extends wt{get headers(){return{"Content-Type":"application/json","User-Agent":`huangxd-/danmu_api/${O.version}(https://github.com/huangxd-/danmu_api)`}}_applyProxyForSearch(e){return O.makeProxyUrl(e)}_getDanmuServerPriority(){return new Date().getTimezoneOffset()===-480?["https://api.animeko.org","https://danmaku-global.myani.org","https://danmaku-cn.myani.org","https://s1.animeko.openani.org"]:["https://danmaku-global.myani.org","https://api.animeko.org","https://s1.animeko.openani.org","https://danmaku-cn.myani.org"]}_getSubjectServerPriority(){let e="https://api.bgm.tv",r="https://api.bangumi.lol",n=this._applyProxyForSearch(e),i=new Date().getTimezoneOffset()===-480?[{type:"V2",url:"https://api.animeko.org"},{type:"V2",url:"https://danmaku-global.myani.org"},{type:"V2",url:"https://danmaku-cn.myani.org"},{type:"V2",url:"https://s1.animeko.openani.org"}]:[{type:"V2",url:"https://danmaku-global.myani.org"},{type:"V2",url:"https://api.animeko.org"},{type:"V2",url:"https://s1.animeko.openani.org"},{type:"V2",url:"https://danmaku-cn.myani.org"}];return n!==e?[...i,{type:"V0",url:n},{type:"V0",url:r}]:[...i,{type:"V0",url:r},{type:"V0",url:e}]}async _fetchV0AllEpisodes(e,r){let n=[],s=0,i=200;try{for(;;){let a=`${e}/v0/episodes?subject_id=${r}&limit=${i}&offset=${s}`,o=await ge(a,{headers:this.headers,timeout:3e3});if(!o||!o.data||!Array.isArray(o.data.data)){s===0&&_("info",`[Animeko] Subject ${r} \u65E0\u5267\u96C6\u6570\u636E\u6216\u54CD\u5E94\u5F02\u5E38`);break}let c=o.data.data;if(c.length===0||(n=n.concat(c),c.length===i&&_("info",`[Animeko] ID:${r} \u6B63\u52A0\u8F7D\u66F4\u591A\u5267\u96C6 (\u5F53\u524D\u5DF2\u83B7: ${n.length})`),c.length<i))break;if(s+=i,s>1600){_("warn",`[Animeko] ID:${r} \u5267\u96C6\u6570\u91CF\u8D85\u8FC7\u5B89\u5168\u9650\u5236(1600)\uFF0C\u505C\u6B62\u7FFB\u9875`);break}}return n}catch(a){return _("error","[Animeko] V0\u5267\u96C6\u83B7\u53D6\u5F02\u5E38:",{message:a.message,id:r,offset:s}),[]}}async _fetchAnimekoSubject(e){let r=cw.get(e);if(r&&Date.now()-r.timestamp<Mmr)return r.data;let n=this._getSubjectServerPriority(),s=wc.subject,i=n.findIndex(a=>a.url===s);(!s||i===-1)&&(i=0,s=n[0].url,wc.subject=s);for(let a=0;a<n.length;a++){let o=n[(i+a)%n.length];try{let c=null;if(o.type==="V2"){_("info",`[Animeko] \u8BE6\u60C5\u63A5\u53E3\u8BF7\u6C42 V2 \u8282\u70B9: ${o.url} (${e})`);let u=await ge(`${o.url}/v2/subjects/${e}`,{headers:this.headers,timeout:3e3});u&&u.data&&u.data.id&&(c=u.data)}else if(o.type==="V0"){_("info",`[Animeko] \u8BE6\u60C5\u8865\u5168\u8BF7\u6C42 V0 \u8282\u70B9: ${o.url} (${e})`);let[u,l]=await Promise.all([this._fetchV0AllEpisodes(o.url,e),ge(`${o.url}/v0/subjects/${e}/subjects`,{headers:this.headers,timeout:3e3}).catch(d=>(_("warn",`[Animeko] V0\u5173\u8054\u83B7\u53D6\u5F02\u5E38: ${d.message}`),null))]);(u&&u.length>0||l)&&(c={id:e},u&&u.length>0&&(c.episodes=u.map(d=>({episodeId:d.id,sort:d.sort,ep:d.ep,type:d.type===0?"MAIN":d.type===1?"SP":String(d.type),name:d.name,nameCn:d.name_cn,airdate:d.airdate}))),l&&l.data&&Array.isArray(l.data)&&(c.relations=l.data))}if(c){if(wc.subject!==o.url&&(_("info",`[Animeko] \u8BE6\u60C5\u8282\u70B9\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${wc.subject} -> ${o.url}`),wc.subject=o.url),cw.set(e,{data:c,timestamp:Date.now()}),cw.size>Wmr){let u=cw.keys().next().value;cw.delete(u)}return c}_("warn",`[Animeko] \u8282\u70B9 ${o.url} \u8FD4\u56DE\u65E0\u6548\u6570\u636E`)}catch(c){_("warn",`[Animeko] \u8282\u70B9\u8BF7\u6C42\u5931\u8D25: ${o.url} - ${c.message}`)}}return _("warn","[Animeko] \u6240\u6709\u8BE6\u60C5\u8282\u70B9\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3\u4F18\u5148\u7EA7\u9996\u4F4D"),wc.subject=n[0].url,null}async search(e){if(O.useBangumiData){let r=await Au(e,["bangumi"]);if(r.length>0){_("info",`[Animeko] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`);let n=r.map(s=>{let a=(s.titles.find(o=>o&&o.includes(e))||s.titles[1]||s.title)+(s.titleSuffix||"");return{id:parseInt(s.siteId),name:s.title,name_cn:a,imageUrl:"",date:s.begin,score:0,platform:s.typeStr,aliases:[...s.titles]}});if(n.length>1){let s=await this.checkRelationsAndModifyTitles(n);return _("info",`[Animeko] \u641C\u7D22\u5B8C\u6210\uFF08Bangumi-Data + \u5173\u7CFB\u68C0\u6D4B\uFF09\uFF0C\u5171\u627E\u5230 ${s.length} \u4E2A\u6709\u6548\u7ED3\u679C`),this.transformResults(s)}return this.transformResults(n)}}try{let r=e.replace(/[._]/g," ").replace(/\s+/g," ").trim();_("info",`[Animeko] \u5F00\u59CB\u641C\u7D22 (V0): ${r}`);let n=[],s=0,i=20;for(;;){let o=`/v0/search/subjects?limit=${i}&offset=${s}`,c=`https://api.bgm.tv${o}`,u=`https://api.bangumi.lol${o}`,l=this._applyProxyForSearch(c),d=[];l!==c?d=[{id:"PROXY_OFFICIAL",url:l},{id:"MIRROR",url:u}]:d=[{id:"MIRROR",url:u},{id:"OFFICIAL",url:c}];let f={keyword:r,filter:{type:[2]}},p=null;for(let A of d)try{if(p=await Vr(A.url,JSON.stringify(f),{headers:this.headers,timeout:5e3}),p&&p.data){_("info",`[Animeko] \u641C\u7D22\u8282\u70B9 [${A.id}] \u8BF7\u6C42\u6210\u529F (offset: ${s})`);break}}catch(g){_("warn",`[Animeko] \u641C\u7D22\u8282\u70B9 [${A.id}] \u8BF7\u6C42\u5931\u8D25: ${g.message}`)}if(!p||!p.data){_("info",`[Animeko] \u641C\u7D22\u8BF7\u6C42\u6240\u6709\u8282\u70B9\u5747\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (offset: ${s})`);break}let m=p.data.data||[];if(m.length===0)break;let h=this.filterSearchResults(m,e);if(h.length>0&&(n=n.concat(h)),h.length<i){_("info",`[Animeko] \u8FC7\u6EE4\u540E\u5F53\u524D\u6279\u6B21\u5269 ${h.length} \u4E2A\u7ED3\u679C\uFF0C\u505C\u6B62\u7FFB\u9875`);break}if(s+=i,s>=60){_("warn","[Animeko] \u641C\u7D22\u7FFB\u9875\u8FBE\u5230\u5B89\u5168\u4E0A\u9650(60)\uFF0C\u5F3A\u5236\u505C\u6B62");break}}if(n.length===0)return _("info","[Animeko] \u8FC7\u6EE4\u540E\u65E0\u5339\u914D\u7ED3\u679C"),[];let a=Array.from(new Map(n.map(o=>[o.id,o])).values());return a.length>1&&(a=await this.checkRelationsAndModifyTitles(a)),_("info",`[Animeko] \u641C\u7D22\u5B8C\u6210\uFF0C\u5171\u627E\u5230 ${a.length} \u4E2A\u6709\u6548\u7ED3\u679C`),this.transformResults(a)}catch(r){return _("error","[Animeko] Search error:",{message:r.message,name:r.name,stack:r.stack}),[]}}filterSearchResults(e,r){return e.filter(n=>{let s=[n.name,n.name_cn];return n.infobox&&Array.isArray(n.infobox)&&n.infobox.forEach(i=>{i.key==="\u522B\u540D"&&Array.isArray(i.value)&&i.value.forEach(a=>{a&&a.v&&s.push(a.v)}),i.key==="\u4E2D\u6587\u540D"&&typeof i.value=="string"&&s.push(n.value)}),s.some(i=>i&&yt(i,r))})}hasExplicitSeasonInfo(e){return e?/第?\s*(?:\d+|[一二三四五六七八九十]+)\s*[季期部]|Season\s*\d+|S\d+|Part\s*\d+|Act\s*\d+|Phase\s*\d+|The\s+Final\s+Season|OVA|OAD|剧场版|åŠ‡å ´ç‰ˆ|Movie|Film|ç»­[篇集]|å¤–ä¼ |SP|(?<!\d)\d+$|\S+[ç¯‡ç« ]/i.test(e):!1}async checkRelationsAndModifyTitles(e){let r=Math.min(e.length,3);for(let n=0;n<r;n++)for(let s=0;s<r;s++){if(n===s)continue;let i=e[n],a=e[s],o=i.name_cn||i.name,c=a.name_cn||a.name;if(c.includes(o)&&c.length>o.length){if(this.hasExplicitSeasonInfo(c))continue;let u=await this._fetchAnimekoSubject(i.id),d=this._extractRelations(u).find(f=>f.id===a.id);if(d&&(_("info",`[Animeko] \u68C0\u6D4B\u5230\u5173\u7CFB: [${o}] -> ${d.relation} -> [${c}]`),["\u7EED\u96C6","\u756A\u5916\u7BC7","\u4E3B\u7EBF\u6545\u4E8B","\u524D\u4F20","\u4E0D\u540C\u6F14\u7ECE","\u884D\u751F"].includes(d.relation))){let p=d.relation;p==="\u7EED\u96C6"&&(p="\u7EED\u7BC7"),a._relation_mark=`(${p})`}}}return e}_extractRelations(e){if(!e||!e.relations)return[];let r=e.relations;if(Array.isArray(r))return r.filter(i=>i.type===2).map(i=>({id:i.id,name:i.name_cn||i.name,relation:i.relation}));let n=[],s=(i,a)=>{Array.isArray(i)&&i.forEach(o=>{o&&n.push({id:o,name:"",relation:a})})};return s(r.sequelSubjects,"\u7EED\u96C6"),s(r.prequelSubjects,"\u524D\u4F20"),s(r.sideStorySubjects,"\u756A\u5916\u7BC7"),s(r.alternativeSettingSubjects,"\u4E0D\u540C\u6F14\u7ECE"),s(r.characterSubjects,"\u884D\u751F"),n}_extractInfoboxValue(e,r){if(!e||!e.fields||!Array.isArray(e.fields))return null;let n=e.fields.find(s=>s.key===r);return n&&n.values&&n.values.length>0&&n.values[0].v||null}_ExtractInfoboxAliases(e){let r=[];return!e||!e.fields||!Array.isArray(e.fields)||e.fields.forEach(n=>{n.key==="\u522B\u540D"&&Array.isArray(n.values)&&n.values.forEach(s=>{s&&s.v&&!r.includes(s.v)&&r.push(s.v)})}),r}transformResults(e){return e.map(r=>{let n="\u52A8\u6F2B";if(r.platform)switch(r.platform){case"TV":case 1:n="TV\u52A8\u753B";break;case"Web":n="Web\u52A8\u753B";break;case"OVA":n="OVA";break;case"Movie":n="\u5267\u573A\u7248";break;default:n=typeof r.platform=="number"?"TV\u52A8\u753B":r.platform}let s=!1,i=!1;r.tags&&Array.isArray(r.tags)&&r.tags.forEach(u=>{let l=u.name||u;l==="3D"&&(s=!0),l==="2D"&&(i=!0)}),s?n="3D"+n:i&&(n="2D"+n);let a=r._relation_mark?` ${r._relation_mark}`:"",o=Array.isArray(r.aliases)?[...r.aliases]:[];r.infobox&&(Array.isArray(r.infobox)?r.infobox.forEach(u=>{u.key==="\u522B\u540D"&&Array.isArray(u.value)&&u.value.forEach(l=>{l&&l.v&&!o.includes(l.v)&&o.push(l.v)})}):r.infobox.fields&&this._ExtractInfoboxAliases(r.infobox).forEach(l=>{o.includes(l)||o.push(l)})),r.name_cn&&r.name_cn!==r.name&&o.push(r.name_cn),r.nameCn&&r.nameCn!==r.name&&(o.includes(r.nameCn)||o.push(r.nameCn));let c=r.airDate||r.date||"";return{id:r.id,name:r.name,name_cn:(r.name_cn||r.nameCn||r.name)+a,aliases:o,images:r.images,air_date:c,score:r.score?parseFloat(r.score):0,typeDescription:n}})}async getEpisodes(e){try{let r=await this._fetchAnimekoSubject(e);return!r||!r.episodes||!Array.isArray(r.episodes)?(r&&_("info",`[Animeko] Subject ${e} \u65E0\u5267\u96C6\u6570\u636E`),[]):r.episodes.map(n=>({id:n.episodeId,sort:parseInt(n.sort)||0,ep:n.ep,type:n.type==="MAIN"?0:n.type==="SP"?1:n.type,name:n.name||"",name_cn:n.nameCn||"",airdate:n.airdate||""}))}catch(r){return _("error","[Animeko] GetEpisodes error:",{message:r.message,id:e}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return e&&_("error","[Animeko] sourceAnimes is not a valid array"),[];let o=e,c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=d.name_cn||d.name,p=Tt(f).season;return p===c||c===1&&p===null});l.length>0&&(o=l,_("info",`[Animeko] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.id),f=[],p=l.air_date||"";if(Array.isArray(d)){d.sort((m,h)=>(m.sort||0)-(h.sort||0));for(let m of d){if(m.type!==0)continue;!p&&m.airdate&&(p=m.airdate);let h=m.sort||m.ep,A=m.name_cn||m.name||"",g=`\u7B2C${h}\u8BDD ${A}`.trim();f.push({name:`${h}`,url:m.id.toString(),title:`\u3010animeko\u3011 ${g}`})}}if(f.length>0){let m=p?new Date(p).getFullYear():"",h={animeId:l.id,bangumiId:String(l.id),animeTitle:`${l.name_cn||l.name}(${m})\u3010${l.typeDescription||"\u52A8\u6F2B"}\u3011from animeko`,aliases:l.aliases||[],type:"\u52A8\u6F2B",typeDescription:l.typeDescription||"\u52A8\u6F2B",imageUrl:l.images?l.images.common||l.images.large:"",startDate:p,episodeCount:f.length,rating:l.score||0,isFavorited:!0,source:"animeko"};a.push(h),Lt({...h,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Animeko] Error processing anime ${l.id}: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){let r=String(e).trim();if(r.includes("/")){let a=r.split("/");r=a[a.length-1]}if(r.includes("?")&&(r=r.split("?")[0]),!r)return _("error","[Animeko] \u65E0\u6548\u7684 episodeId"),[];let n=this._getDanmuServerPriority(),s=wc.danmu,i=n.indexOf(s);(!s||i===-1)&&(i=0,s=n[0],wc.danmu=s);for(let a=0;a<n.length;a++){let o=(i+a)%n.length,c=n[o],u=`${c}/v1/danmaku/${r}`;_("info",`[Animeko] \u5C1D\u8BD5\u4F7F\u7528 ${c} \u8282\u70B9\u83B7\u53D6\u5F39\u5E55`);try{let l=await ge(u,{headers:this.headers,timeout:3e3});if(l&&l.data){let d=l.data.danmakuList;if(d&&Array.isArray(d))return wc.danmu!==c&&(_("info",`[Animeko] \u5F39\u5E55\u57DF\u8282\u70B9\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${wc.danmu} -> ${c}`),wc.danmu=c),_("info",`[Animeko] \u6210\u529F\u83B7\u53D6\u5F39\u5E55\uFF0C\u5171 ${d.length} \u6761 (${c}\u8282\u70B9)`),d}_("info",`[Animeko] ${c} \u8282\u70B9\u83B7\u53D6\u5931\u8D25/\u65E0\u6570\u636E\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(l){_("warn",`[Animeko] \u8BF7\u6C42\u8282\u70B9\u5931\u8D25: ${c} - ${l.message}`)}}return _("info","[Animeko] \u5F39\u5E55\u57DF\u6240\u6709\u964D\u7EA7\u8282\u70B9\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3\u9996\u9009\u8282\u70B9"),wc.danmu=n[0],[]}async getEpisodeDanmuSegments(e){return new vt({type:"animeko",segmentList:[{type:"animeko",segment_start:0,segment_end:3e4,url:String(e)}]})}async getEpisodeSegmentDanmu(e){let r=(e.url||"").trim();return r?this.getEpisodeDanmu(r):[]}formatComments(e){if(!Array.isArray(e))return[];let r={NORMAL:1,TOP:5,BOTTOM:4};return e.filter(n=>n&&n.danmakuInfo).map(n=>{let s=n.danmakuInfo,i=(Number(s.playTime)/1e3).toFixed(2),a=r[s.location]||1,o=s.color===-1?16777215:s.color,c=O.danmuSimplifiedTraditional==="simplified"?Gt(s.text):s.text;return{cid:n.id,p:`${i},${a},${o},[animeko]`,m:c}})}};Pt();St();ar();hn();hs();var lw=class extends wt{async search(e){}async getEpisodes(e){}async handleAnimes(e,r,n,s=null){}async getEpisodeDanmu(e){try{let r=await ge(`${O.otherServer}/?url=${e}&ac=dm`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return _("info",`[Other] danmu response from ${O.otherServer}: \u2193\u2193\u2193`),ts(r.data),r.data}catch(r){return _("error",`[Other] \u8BF7\u6C42 ${O.otherServer} \u5931\u8D25:`,r),[]}}async getEpisodeDanmuSegments(e){return _("info","[Other] \u83B7\u53D6\u7B2C\u4E09\u65B9\u670D\u52A1\u5668\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new vt({type:"other_server",segmentList:[{type:"other_server",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e}};hs();var vst=new QT,Cst=new GT,dw=new JT,fw=new XT,pw=new Tg,mw=new ZT,g4=new ew,z0=new wg,K0=new Pg,Y0=new Rg,Dg=new Ng,Tu=new Og,J0=new gst,kg=new sw,Lg=new iw,Bg=new yst,Mg=new xst,Wg=new ow,hw=new uw,Bie=new lw,Mie=new zT(z0,Y0,K0,Tu,J0),Ist=new VT(Mie),l4=new Map;function _st(t){let e=Number(t||0);return!Number.isFinite(e)||e<=0?0:e>6*60*60?e/1e3:e}function Tst(t,e=!1){return e?String(t||O.danmuOutputFormat||"json").toLowerCase()==="json":!1}function d4(t,e=null){return e===null?t:{videoDuration:e,...t}}function $mr(t){let e=_st(t?.duration||t?.videoDuration||0);if(e>0)return e;let r=Array.isArray(t?.segmentList)?t.segmentList:[];if(!r.length)return 0;let n=0;return r.forEach(s=>{let i=_st(s?.segment_end||0);i<=0||i>n&&(n=i)}),n>0?n:0}async function Wie(t){if(!/^https?:\/\//i.test(t))return 0;try{let e=t,r=null;return e.includes(".qq.com")?r=await be.run("tencent",()=>z0.getComments(e,"qq",!0)):e.includes(".iqiyi.com")?r=await be.run("iqiyi",()=>Y0.getComments(e,"qiyi",!0)):e.includes(".mgtv.com")?r=await be.run("mango",()=>Dg.getComments(e,"imgo",!0)):e.includes(".bilibili.com")||e.includes("b23.tv")?(e.includes("b23.tv")&&(e=await be.run("bilibili",()=>Tu.resolveB23Link(e))),r=await be.run("bilibili",()=>Tu.getComments(e,"bilibili1",!0))):e.includes(".youku.com")?r=await be.run("youku",()=>K0.getComments(e,"youku",!0)):e.includes(".miguvideo.com")?r=await be.run("migu",()=>J0.getComments(e,"migu",!0)):e.includes(".sohu.com")?r=await be.run("sohu",()=>kg.getComments(e,"sohu",!0)):e.includes(".le.com")?r=await be.run("leshi",()=>Lg.getComments(e,"leshi",!0)):e.includes(".douyin.com")||e.includes(".ixigua.com")?r=await be.run("xigua",()=>Bg.getComments(e,"xigua",!0)):e.includes(".mddcloud.com.cn")?r=await be.run("maiduidui",()=>Mg.getComments(e,"maiduidui",!0)):e.includes(".yfsp.tv")&&(r=await be.run("aiyifan",()=>Wg.getComments(e,"aiyifan",!0))),$mr(r)}catch(e){return _("warn",`[system] [Duration] \u83B7\u53D6\u65F6\u957F\u5931\u8D25: ${e.message}`),0}}function Fmr(t){return String(t||"").split(Iu).map(e=>{let r=e.indexOf(":");return r===-1?e.trim():e.slice(r+1).trim()}).filter(Boolean)}async function f4(t){if(!t)return 0;try{let e=t.includes(Iu)?Fmr(t):[t];return(await Promise.all(e.map(Wie))).reduce((n,s)=>Math.max(n,s||0),0)}catch(e){return _("warn",`[system] [Duration] \u83B7\u53D6\u65F6\u957F\u5931\u8D25: ${e.message}`),0}}function p4(t,e){if(!e)return!0;let r=W0(t.animeTitle);return r?r===e:!0}function Umr(t,e,r){let n=t.animeTitle.match(/^(.*?)\(\d{4}\)/),s=n?n[1].trim():t.animeTitle.split("(")[0].trim(),i=Fr(s),a=Fr(e);if(i.includes(a)){if(i.startsWith(a)){let o=i.substring(a.length).trim();if(o===""&&r===1)return!0;let c=o.match(/\d+/);if(c&&c[0]===r.toString())return!0;let u=o.match(/[一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]+/);if(u&&tg(u[0])===r)return!0}return!1}else return!1}function Lie(t,e,r,n,s){if(r===null||e===null)return!0;let i=[];s&&(i=s.split("&").map(o=>o.trim().toLowerCase()).filter(o=>o)),i.length===0&&(i=["_any_"]);let a=!0;for(let o of i){let c=!1,u=new Map,l=!1;for(let d of t){let f=m4(d.animeTitle)||d.source;if(o!=="_any_"&&Hf(f,o)===0)continue;l=!0;let p=Fg(d,n);if(p?.success&&p.bangumi?.episodes){let m=p.bangumi.episodes.filter(y=>!O.episodeTitleFilter.test(y.episodeTitle)),h=$g(m);if(h.some(y=>lf(y.episodeTitle)===r)){c=!0;break}let A=[d.animeTitle];d.aliases&&Array.isArray(d.aliases)&&A.push(...d.aliases);let g=null;for(let y of A){if(!y)continue;let x=Tt(y).season;if(x!==null){g=x;break}}g===null&&(g=1);let b=u.get(g)||0;h.length>b&&u.set(g,h.length)}}if(l&&!c){let d=0;for(let f of u.values())d+=f;if(d<r){a=!1;break}}}return a}async function Sst(t,e,r,n,s,i=null,a=null){let{vod:o,360:c,tmdb:u,douban:l,renren:d,hanjutv:f,bahamut:p,dandan:m,custom:h,tencent:A,youku:g,iqiyi:b,imgo:y,bilibili:x,migu:v,sohu:C,leshi:R,xigua:w,maiduidui:N,aiyifan:P,animeko:L}=t,M=O.sourceOrderArr.filter(W=>t[W]!==void 0),k=[];for(let W of M){let F=[],V=new Map;if(W==="360")k.push({key:W,animes:F,detailStore:V,promise:be.run(Cn(W),()=>vst.handleAnimes(c,e,F,V,s))});else if(W==="vod"){if(o&&Array.isArray(o)){let j=be.run(W,()=>(async()=>{for(let J of o)J&&J.list&&J.list.length>0&&await Cst.handleAnimes(J.list,e,F,J.serverName,V,s)})());k.push({key:W,animes:F,detailStore:V,promise:j})}}else W==="tmdb"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Ist.handleAnimes(u,e,F,V,s))}):W==="douban"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Mie.handleAnimes(l,e,F,V,s))}):W==="renren"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>dw.handleAnimes(d,e,F,V,s))}):W==="hanjutv"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>fw.handleAnimes(f,e,F,V,s))}):W==="bahamut"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>pw.handleAnimes(p,e,F,V,s))}):W==="dandan"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>mw.handleAnimes(m,e,F,V,s))}):W==="custom"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>g4.handleAnimes(h,e,F))}):W==="tencent"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>z0.handleAnimes(A,e,F,V,s))}):W==="youku"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>K0.handleAnimes(g,e,F,V,s))}):W==="iqiyi"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Y0.handleAnimes(b,e,F,V,s))}):W==="imgo"?k.push({key:W,animes:F,detailStore:V,promise:be.run(Cn(W),()=>Dg.handleAnimes(y,e,F,V,s))}):W==="bilibili"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Tu.handleAnimes(x,e,F,V,s))}):W==="migu"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>J0.handleAnimes(v,e,F,V,s))}):W==="sohu"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>kg.handleAnimes(C,e,F,V,s))}):W==="leshi"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Lg.handleAnimes(R,e,F,V,s))}):W==="xigua"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Bg.handleAnimes(w,e,F,V,s))}):W==="maiduidui"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Mg.handleAnimes(N,e,F,V,s))}):W==="aiyifan"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Wg.handleAnimes(P,e,F,V,s))}):W==="animeko"&&k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>hw.handleAnimes(L,e,F,V,s))})}let B=await Promise.allSettled(k.map(W=>W.promise)),Z=new Set(r.map(W=>W.animeId));for(let W=0;W<k.length;W++){if(B[W].status==="rejected"){_("error",`[system] [executeSourceHandlers] \u6E90 ${k[W].key} \u5904\u7406\u5931\u8D25: ${B[W].reason}`);continue}let{animes:F,detailStore:V}=k[W];for(let j of F)Z.has(j.animeId)||(r.push(j),Z.add(j.animeId));for(let[j,J]of V)n.has(j)||n.set(j,J)}}async function sE(t,e=null,r=null,n=null,s=null){let i=t.searchParams.get("keyword"),a=t.searchParams.get("season");a=a?parseInt(a,10):null;let o=t.searchParams.get("episode");if(o=o?parseInt(o,10):null,_("info",`[system] [searchAnime] Search anime with keyword: ${i}, target season: ${a}, target episode: ${o}`),i==="")return Be({errorCode:0,success:!0,errorMessage:"",animes:[]});if(O.animeTitleSimplified){let A=Gt(i);_("info",`[system] [searchAnime] searchAnime converted traditional to simplified: ${i} -> ${A}`),i=A}let c=n instanceof Map?n:new Map,u=a!==null?`${i}_S${a}`:i,l=DC(u,c);if(l===null&&a!==null){let A=DC(i,c);A!==null&&(_("info",`[system] [searchAnime] Cache miss for ${u}, fallback to generic cache for ${i}`),l=A)}if(l!==null){let A=Lie(l,a,o,c,s);if(A)return Be({errorCode:0,success:!0,errorMessage:"",animes:l});{let g=a+1,b=[...l],y=!1;for(;!A&&!y;){let x=`${i}_S${g}`,v=DC(x,c);v!==null&&v.length>0?(b.push(...v),A=Lie(b,a,o,c,s),g++):y=!0}if(A)return _("info",`[system] [LogVar-API] Episode ${o} satisfied by combining cached seasons S${a} to S${g-1}`),Be({errorCode:0,success:!0,errorMessage:"",animes:b});_("info",`[system] [LogVar-API] Episode ${o} not satisfied in cache. Proceeding to network search.`)}}let d=[];if(/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}(:\d+)?(\/[^\s]*)?$/.test(i)){let A=F0.fromJson({animeId:0,bangumiId:"0",animeTitle:i,type:"",typeDescription:"\u94FE\u63A5\u89E3\u6790",imageUrl:"",startDate:"",episodeCount:1,rating:0,isFavorited:!0}),g="unknown";i.includes(".qq.com")?g="qq":i.includes(".iqiyi.com")?g="qiyi":i.includes(".mgtv.com")?g="imgo":i.includes(".youku.com")?g="youku":i.includes(".bilibili.com")?g="bilibili1":i.includes(".miguvideo.com")?g="migu":i.includes(".sohu.com")?g="sohu":i.includes(".le.com")?g="leshi":i.includes(".douyin.com")||i.includes(".ixigua.com")?g="xigua":i.includes(".mddcloud.com.cn")?g="maiduidui":i.includes(".yfsp.tv")&&(g="aiyifan");let b=await be.run(Cn(g),()=>C8e(i)),y=[{name:"\u624B\u52A8\u89E3\u6790\u94FE\u63A5\u5F39\u5E55",url:i,title:`\u3010${g}\u3011 ${b}`}];d.push(A),Lt(F0.fromJson({...A,links:y}),c),O.animes.length>O.MAX_ANIMES&&Ft(),O.localCacheValid&&d.length!==0&&await GL(),O.redisValid&&d.length!==0&&await DL(),O.localRedisValid&&d.length!==0&&await YB();let x=d.map(({links:v,...C})=>C);return Be({errorCode:0,success:!0,errorMessage:"",animes:x})}try{_("info",`[system] [LogVar-API] Search sourceOrderArr: ${O.sourceOrderArr}`);let A={},g={};for(let C of O.sourceOrderArr)C==="360"?g[C]=be.run(Cn(C),()=>vst.search(i)):C==="vod"?g[C]=be.run(Cn(C),()=>Cst.search(i,e,r)):C==="tmdb"?g[C]=be.run(Cn(C),()=>Ist.search(i)):C==="douban"?g[C]=be.run(Cn(C),()=>Mie.search(i)):C==="renren"?g[C]=be.run(Cn(C),()=>dw.search(i)):C==="hanjutv"?g[C]=be.run(Cn(C),()=>fw.search(i)):C==="bahamut"?g[C]=be.run(Cn(C),()=>pw.search(i)):C==="dandan"?g[C]=be.run(Cn(C),()=>mw.search(i)):C==="custom"?g[C]=be.run(Cn(C),()=>g4.search(i)):C==="tencent"?g[C]=be.run(Cn(C),()=>z0.search(i)):C==="youku"?g[C]=be.run(Cn(C),()=>K0.search(i)):C==="iqiyi"?g[C]=be.run(Cn(C),()=>Y0.search(i)):C==="imgo"?g[C]=be.run(Cn(C),()=>Dg.search(i)):C==="bilibili"?g[C]=be.run(Cn(C),()=>Tu.search(i)):C==="migu"?g[C]=be.run(Cn(C),()=>J0.search(i)):C==="sohu"?g[C]=be.run(Cn(C),()=>kg.search(i)):C==="leshi"?g[C]=be.run(Cn(C),()=>Lg.search(i)):C==="xigua"?g[C]=be.run(Cn(C),()=>Bg.search(i)):C==="maiduidui"?g[C]=be.run(Cn(C),()=>Mg.search(i)):C==="aiyifan"?g[C]=be.run(Cn(C),()=>Wg.search(i)):C==="animeko"&&(g[C]=be.run(Cn(C),()=>hw.search(i)));let b=O.sourceOrderArr.map(C=>{let R=[],w=new Map,N=g[C].then(async P=>{A[C]=P,await Sst({[C]:P},i,R,w,a,e,r)});return{key:C,animes:R,detailStore:w,promise:N}}),y=await Promise.allSettled(b.map(C=>C.promise)),x=new Set(d.map(C=>C.animeId));for(let C=0;C<b.length;C++){if(y[C].status==="rejected"){_("error",`[system] [searchAnime] \u6E90 ${b[C].key} \u7BA1\u9053\u5904\u7406\u5931\u8D25: ${y[C].reason}`);continue}let{animes:R,detailStore:w}=b[C];for(let N of R)x.has(N.animeId)||(d.push(N),x.add(N.animeId));for(let[N,P]of w)c.has(N)||c.set(N,P)}if(d.length>0&&kC(u,d.map(({links:C,...R})=>R),c),!Lie(d,a,o,c,s)&&a!==null){let C=a;for(let R of O.sourceOrderArr){let w=A[R];if(Array.isArray(w))for(let N of w){let P=N&&Array.isArray(N.list)?N.list:[N];for(let L of P){if(!L)continue;let M=Tt(L.animeTitle||L.title||"").season;M!==null&&M>C&&(C=M)}}}if(C>a){_("info",`[system] [LogVar-API] Episode ${o} not satisfied in Season ${a}. Parallel mapping to S${a+1}~S${C}...`);let R=[];for(let N=a+1;N<=C;N++)R.push((async()=>{let P=[];return await Sst(A,i,P,c,N,e,r),P.length>0&&kC(`${i}_S${N}`,P.map(({links:L,...M})=>M),c),P})());let w=await Promise.all(R);for(let N of w)d.push(...N)}}}catch(A){_("error","[system] [LogVar-API] \u53D1\u751F\u9519\u8BEF:",A)}let p=O.mergeSourcePairs&&O.mergeSourcePairs.length>0,m=O.customMergeRules&&O.customMergeRules.length>0;if((p||m)&&await Lnt(d,c),sK(d,i),O.enableAnimeEpisodeFilter){let A=[];for(let g of d){let b=g.animeTitle||"";if(O.animeTitleFilter&&O.animeTitleFilter.test(b)){_("info",`[searchAnime] Anime ${g.animeId} filtered by name: ${b}`);continue}let y=ig(g?.bangumiId,c,g?.source)||ig(g?.animeId,c,g?.source)||sg(g?.bangumiId,c,g?.source)||sg(g?.animeId,c,g?.source);if(y&&y.links){let x=y.links.map((v,C)=>({episodeId:v.id,episodeTitle:v.title,episodeNumber:C+1}));x=x.filter(v=>!O.episodeTitleFilter.test(v.episodeTitle)),_("info",`[searchAnime] Anime ${g.animeId} filtered episodes: ${x.length}/${y.links.length}`),x.length>0&&A.push(g)}}d.length=0,d.push(...A)}O.localCacheValid&&d.length!==0&&await GL(),O.redisValid&&d.length!==0&&await DL(),O.localRedisValid&&d.length!==0&&await YB();let h=d.map(({links:A,...g})=>g);if(h.length>0){let A=a!==null?`${i}_S${a}`:i;kC(A,h,c)}return Be({errorCode:0,success:!0,errorMessage:"",animes:h})}function $g(t){return t.filter((r,n,s)=>!s.slice(0,n).some(i=>i.episodeTitle===r.episodeTitle))}function Hf(t,e){if(!t||!e)return 0;let r=t.split("&").map(i=>i.trim().toLowerCase()).filter(i=>i),n=e.split("&").map(i=>i.trim().toLowerCase()).filter(i=>i),s=0;for(let i of n)r.some(o=>o===i||o.includes(i)&&i.length>2||i.includes(o)&&o.length>2)&&s++;return s===0?0:s*1e3-r.length}function m4(t){let e=t.match(/from\s+([a-zA-Z0-9&]+)/i);return e?e[1]:null}function h4(t,e,r,n=null){if(!t||t.length===0)return null;let s=t;if(n&&(s=t.filter(i=>{let a=rg(i.episodeTitle);return Hf(a,n)>0})),s.length===0)return null;for(let i of s){let a=lf(i.episodeTitle);if(e===r&&a===r)return _("info",`Found episode by title number: ${i.episodeTitle} (extracted: ${a})`),i}if(s.length>=r){let i=s[r-1];return _("info",`Using fallback array index for episode ${r}: ${i.episodeTitle}`),i}for(let i of s)if(i.episodeNumber&&parseInt(i.episodeNumber,10)===r)return _("info",`Found episode by episodeNumber: ${i.episodeTitle} (episodeNumber: ${i.episodeNumber})`),i;return null}async function qmr(t,e,r,n,s,i,a,o,c=null){let u=O.aiBaseUrl,l=O.aiModel,d=O.aiApiKey,f=O.aiMatchPrompt;if(!O.aiValid||!f)return _("warn","AI configuration is incomplete, falling back to normal matching"),{resEpisode:null,resAnime:null};let p=new ff({apiKey:d,baseURL:u,model:l,systemPrompt:f}),m={title:s,season:t,episode:e,year:r,dynamicPlatformOrder:a,preferAnimeId:o,animes:n.animes.map(h=>{let A=h.animeTitle||"",g=A.match(/^(.*?)\(\d{4}\)/),b=g?g[1].trim():A.split("(")[0].trim();return{animeId:h.animeId,animeTitle:b,aliases:h.aliases||[],type:h.type,year:h.startDate?h.startDate.slice(0,4):null,episodeCount:h.episodeCount,source:h.source}})};try{let h=JSON.stringify(m,null,2),A=await p.ask(h);_("info",`AI match response: ${A}`);let g;try{let C=A.match(/```json\s*([\s\S]*?)\s*```|```([\s\S]*?)\s*```|({[\s\S]*})/),R=C?C[1]||C[2]||C[3]:A;g=JSON.parse(R.trim())}catch(C){return _("error",`Failed to parse AI response: ${C.message}`),{resEpisode:null,resAnime:null}}let b=g.animeIndex;if(b==null)return{resEpisode:null,resAnime:null};let y=n.animes[b];if(!y)return _("error",`AI returned invalid anime index: ${b}`),{resEpisode:null,resAnime:null};let x=Fg(y,c);if(!x?.success||!x?.bangumi?.episodes)return{resEpisode:null,resAnime:null};let v=null;if(t&&e){let C=x.bangumi.episodes.filter(w=>!O.episodeTitleFilter.test(w.episodeTitle)),R=$g(C);_("info","\u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",R.map(w=>w.episodeTitle)),v=h4(R,e,e)}else x.bangumi.episodes.length>0&&(v=x.bangumi.episodes[0]);return{resEpisode:v,resAnime:y}}catch(h){return _("error",`AI matching failed: ${h.message}`),{resEpisode:null,resAnime:null}}}function Fg(t,e=null){let r=ig(t?.bangumiId,e,t?.source)||ig(t?.animeId,e,t?.source);return r?Fie(r,t?.bangumiId||t?.animeId||""):(_("warn",`[matchAnime] Missing request detail snapshot for anime ${t?.animeId??t?.bangumiId}`),null)}function wst(t,e,r,n,s){let i=String(e),a=t[i].match(/^([^:]+):(.+)$/),o=Number(a?.[1])||0,c=a?.[2]||"",u=r-o,l=n.findIndex(d=>d.episodeTitle===c);return l!==-1&&(s=l+u+1,_("info",`Applying offset "${t[i]}" for S${e}E${r} -> ${s}`)),s}function Rst(t,e,r,n,s,i,a){if(!n||!s)return{resEpisode:null,resAnime:null};_("info",`[system] [Spillover] \u5F53\u524D\u5B63\u96C6\u5339\u914D\u7B56\u7565\u5931\u8D25 (S${n}E${s})\uFF0C\u6B63\u5728\u8FDB\u884C\u8DE8\u5B63\u96C6\u6570\u6620\u5C04\u5339\u914D...`);let o=Fr(e),c=new Map;for(let f of t.animes){let p=[f.animeTitle];f.aliases&&Array.isArray(f.aliases)&&p.push(...f.aliases);let m=!1;for(let A of p)if(A&&Fr(A).includes(o)){if(!p4(f,r))continue;m=!0;break}if(!m)continue;let h=null;for(let A of p){if(!A)continue;let g=Tt(A).season;if(g!==null){h=g;break}}if(h===null&&(h=1),!c.has(h)){let A=Fg(f,a);if(A?.success&&A?.bangumi?.episodes){let g=A.bangumi.episodes.filter(y=>!O.episodeTitleFilter.test(y.episodeTitle)),b=$g(g);b.length>0&&c.set(h,{anime:f,episodes:b,actualPlatform:m4(f.animeTitle)||f.source})}}}let u=s,l=n,d={anime:null,episode:null,score:0};for(;c.has(l);){let f=c.get(l),p=f.episodes,m=null;for(let h of p)if(lf(h.episodeTitle)===s){m=h;break}if(m){if(i&&Hf(rg(m.episodeTitle),i)===0)break;_("info",`[system] [Spillover] \u8DE8\u5B63\u6EA2\u51FA\u67E5\u627E\u547D\u4E2D (\u6309\u7EDD\u5BF9\u6807\u9898\u6570\u5B57) -> \u6240\u5728\u5B63\uFF1AS${l} \u96C6\u6807\u9898\uFF1A${m.episodeTitle}`),d={anime:f.anime,episode:m,score:i?Hf(f.actualPlatform,i):1};break}if(u<=p.length){let h=p[u-1];if(i&&Hf(rg(h.episodeTitle),i)===0)break;_("info",`[system] [Spillover] \u8DE8\u5B63\u6EA2\u51FA\u67E5\u627E\u547D\u4E2D (\u6309\u76F8\u5BF9\u6392\u4F4D\u8BA1\u7B97) -> \u6240\u5728\u5B63\uFF1AS${l} \u96C6\u6807\u9898\uFF1A${h.episodeTitle}`),d={anime:f.anime,episode:h,score:i?Hf(f.actualPlatform,i):1};break}_("info",`[system] [Spillover] S${l} \u5171\u6709 ${p.length} \u96C6(\u5DF2\u8FC7\u6EE4\u756A\u5916)\uFF0C\u5269\u4F59\u76EE\u6807\u96C6\u6570\u4E3A ${u}\uFF0C\u6620\u5C04\u81F3 S${l+1} \u7EE7\u7EED\u67E5\u627E`),u-=p.length,l++}return{resEpisode:d.episode,resAnime:d.anime}}async function jmr(t,e,r,n,s,i,a,o,c,u=null){let l={anime:null,episode:null,score:-9999},d=Fr(s);for(let f of n.animes){if(O.rememberLastSelect&&o&&String(f.bangumiId)!==String(o)&&String(f.animeId)!==String(o))continue;let m=!1,h=[f.animeTitle];f.aliases&&Array.isArray(f.aliases)&&h.push(...f.aliases);for(let y of h)if(y){if(t&&e){if(Fr(y).includes(d)){if(!p4(f,r)){_("info",`Year mismatch: anime year ${W0(f.animeTitle)} vs query year ${r}`);continue}let x=O.rememberLastSelect&&o&&(String(f.bangumiId)===String(o)||String(f.animeId)===String(o)),v={...f,animeTitle:y};if(Umr(v,s,t)||x){m=!0;break}}}else if(y.split("(")[0].trim()===s){if(!p4(f,r)){_("info",`Year mismatch: anime year ${W0(f.animeTitle)} vs query year ${r}`);continue}m=!0;break}}if(!m)continue;let A=Fg(f,u);if(!A?.success||!A?.bangumi?.episodes)continue;_("info","\u5224\u65AD\u5267\u96C6",`Anime: ${f.animeTitle}`),_("info",A);let g=null,b=O.rememberLastSelect&&o!=null&&(String(f.bangumiId)===String(o)||String(f.animeId)===String(o));if(t&&e){let y=A.bangumi.episodes.filter(C=>!O.episodeTitleFilter.test(C.episodeTitle)),x=$g(y);_("info","\u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",x.map(C=>C.episodeTitle));let v=e;c&&c[String(t)]!==void 0&&(v=wst(c,t,e,x,v)),g=h4(x,e,v,a),!g&&b&&(_("info",`[system] [Match] \u4F18\u9009\u5267\u96C6\u672A\u547D\u4E2D\u76EE\u6807\u5E73\u53F0 ${a}\uFF0C\u653E\u5BBD\u6761\u4EF6\u63D0\u53D6\u96C6\u6570`),g=h4(x,e,v,null))}else if(A.bangumi.episodes.length>0)if(a){let y=A.bangumi.episodes.find(x=>{let v=rg(x.episodeTitle);return Hf(v,a)>0});y?g=y:b&&(_("info",`[system] [Match] \u4F18\u9009\u7535\u5F71\u672A\u547D\u4E2D\u76EE\u6807\u5E73\u53F0 ${a}\uFF0C\u653E\u5BBD\u6761\u4EF6\u63D0\u53D6\u8D44\u6E90`),g=A.bangumi.episodes[0])}else g=A.bangumi.episodes[0];if(g){let y=m4(f.animeTitle)||f.source,x=0;if(a?x=Hf(y,a):x=1,b&&(x+=9999),x>l.score&&(l={anime:f,episode:g,score:x}),!a||b)break}}if(!l.episode&&t&&e){let f=Rst(n,s,r,t,e,a,u);f.resEpisode&&(l={episode:f.resEpisode,anime:f.resAnime,score:a?Hf(m4(f.resAnime.animeTitle)||f.resAnime.source,a):1})}return{resEpisode:l.episode,resAnime:l.anime}}async function Hmr(t,e,r,n,s,i,a,o,c,u=null){for(let d of t.animes){if(s&&!p4(d,s)){_("info",`Fallback: Year mismatch: anime year ${W0(d.animeTitle)} vs query year ${s}`);continue}let f=Fg(d,u);if(!(!f?.success||!f?.bangumi?.episodes)){if(_("info",f),r&&n){let p=f.bangumi.episodes.filter(g=>!O.episodeTitleFilter.test(g.episodeTitle)),m=$g(p);_("info","[system] [LogVar-API] \u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",m.map(g=>g.episodeTitle));let h=n;c&&c[String(r)]!==void 0&&(h=wst(c,r,n,m,h));let A=h4(m,n,h,null);if(A){a=A,o=d;break}}else if(f.bangumi.episodes.length>0){a=f.bangumi.episodes[0],o=d;break}}}let l=!1;if(!a&&r&&n){let d=Rst(t,i,s,r,n,null,u);d.resEpisode&&(a=d.resEpisode,o=d.resAnime,l=!0)}return{resEpisode:a,resAnime:o,isSpillover:l}}async function Qmr(t){let e=/^(.+?)[.\s]+S(\d+)E(\d+)/i,r=t.match(e),n,s,i,a;if(r){n=r[1].trim(),s=parseInt(r[2],10),i=parseInt(r[3],10);let o=t.match(/(?:\.|\(|()((?:19|20)\d{2})(?:\)|)|\.|$)/);o&&(a=parseInt(o[1],10));let c=n.match(/^[\u4e00-\u9fa5·]+[^.\r\n]*/);if(c)n=c[0];else if(/^[A-Za-z0-9]/.test(n)){let u=n.match(/^([A-Za-z0-9.&\s]+?)(?=\.\d{4}|$)/);u&&(n=u[1].trim().replace(/[._]/g," "))}else{let u=n.split(/\.(?:19|20)\d{2}|2160p|1080p|720p|H265|iPhone/)[0],l=u.match(/^[\u4e00-\u9fa5·]+/);n=l?l[0]:u.trim()}n=n.replace(/\.\d{4}$/i,"").trim()}else{let o=/^([^.\s]+(?:[.\s][^.\s]+)*?)(?:[.\s](?:\d{4}|(?:19|20)\d{2}|\d{3,4}p|S\d+|E\d+|WEB|BluRay|Blu-ray|HDTV|DVDRip|BDRip|x264|x265|H\.?264|H\.?265|AAC|AC3|DDP|TrueHD|DTS|10bit|HDR|60FPS))/i,c=t.match(o);n=c?c[1].replace(/[._]/g," ").trim():t,s=null,i=null;let u=t.match(/(?:\.|\(|()((?:19|20)\d{2})(?:\)|)|\.|$)/);u&&(a=parseInt(u[1],10))}return O.titleToChinese&&(n=await xnt(n.replace("."," "),s,i)),_("info","[system] [Match] Parsed title, season, episode, year",{title:n,season:s,episode:i,year:a}),{title:n,season:s,episode:i,year:a}}function Nst(t,e,r,n){let s=new URL(t),i=s.pathname.replace(/\/(?:match|search\/episodes)$/,"");return s.pathname=`${i}/search/anime`,s.search="",s.searchParams.set("keyword",e||""),r!==void 0&&s.searchParams.set("season",r||""),n!==void 0&&s.searchParams.set("episode",n||""),s}async function Ost(t,e,r){try{let n=await e.json();if(!n)return _("error","[system] [Match] Request body is empty"),Be({errorCode:400,success:!1,errorMessage:"Empty request body"},400);let{fileName:s}=n;if(!s)return _("error","[system] [Match] Missing fileName parameter in request body"),Be({errorCode:400,success:!1,errorMessage:"Missing fileName parameter"},400);let{cleanFileName:i,preferredPlatform:a}=M8e(s);_("info",`[system] [Match] Processing anime match for query: ${s}`),_("info",`[system] [Match] Parsed cleanFileName: ${i}, preferredPlatform: ${a}`);let{title:o,season:c,episode:u,year:l}=await Qmr(i);if(O.titleMappingTable&&O.titleMappingTable.size>0){let N=O.titleMappingTable.get(o);N&&(o=N,_("info",`[system] [Match] Title mapped from original: ${t.searchParams.get("keyword")} to: ${o}`))}if(O.animeTitleSimplified){let N=Gt(o);_("info",`[system] [Match] matchAnime converted traditional to simplified: ${o} -> ${N}`),o=N}let[d,f,p]=aK(o,c);_("info",`[system] [Match] prefer animeId: ${d} from ${f}`);let m=W8e(a),h=m.length>0?m[0]:null,A=new Map,g=Nst(e.url,o,c,u),y=await(await sE(g,d,f,A,h)).json();_("info",`[system] [Match] searchData: ${y.animes}`);let x,v,C=!1,R={errorCode:0,success:!0,errorMessage:"",isMatched:!1,matches:[]};_("info",`[system] [Match] Original platformOrderArr: ${O.platformOrderArr}`),_("info",`[system] [Match] Dynamic platformOrder: ${m}`),_("info",`[system] [Match] Preferred platform: ${a||"none"}`);let w=await qmr(c,u,l,y,o,e,m,d,A);if(w.resAnime&&w.resEpisode)x=w.resAnime,v=w.resEpisode,R.isMatched=!0,_("info",`[system] [Match] AI match found: ${x.animeTitle}; episode: ${v.episodeTitle}`);else{for(let N of m){let P=await jmr(c,u,l,y,o,e,N,d,p,A);if(v=P.resEpisode,x=P.resAnime,x){R.isMatched=!0,_("info",`[system] [Match] Found match with platform: ${N||"default"}`);break}}if(!x){let N=await Hmr(y,e,c,u,l,o,v,x,p,A);v=N.resEpisode,x=N.resAnime,C=N.isSpillover}}return v&&(R.isMatched=!0,r&&!C&&eK(r,{title:o,season:c,episode:u,episodeId:v.episodeId}),R.matches=[BL.fromJson({episodeId:v.episodeId,animeId:x.animeId,animeTitle:x.animeTitle,episodeTitle:v.episodeTitle,type:x.type,typeDescription:x.typeDescription,shift:0,imageUrl:x.imageUrl})]),_("info",`[system] [Match] resMatchData: ${R}`),Be(R)}catch(n){return _("error",`[system] [Match] Failed to parse request body: ${n.message}`),Be({errorCode:400,success:!1,errorMessage:"Invalid JSON body"},400)}}async function Pst(t){let e=t.searchParams.get("anime"),r=t.searchParams.get("episode")||"";if(O.animeTitleSimplified){let c=Gt(e);_("info",`[system] [Episodes] searchEpisodes converted traditional to simplified: ${e} -> ${c}`),e=c}if(_("info",`[system] [Episodes] Search episodes with anime: ${e}, episode: ${r}`),!e)return _("error","[system] [Episodes] Missing anime parameter"),Be({errorCode:400,success:!1,errorMessage:"Missing anime parameter"},400);let n=Nst(t,e),s=new Map,a=await(await sE(n,null,null,s)).json();if(!a.success||!a.animes||a.animes.length===0)return _("info","[system] [Episodes] No anime found for the given title"),Be({errorCode:0,success:!0,errorMessage:"",hasMore:!1,animes:[]});let o=[];for(let c of a.animes){let u=sg(c.bangumiId,s,c.source)||sg(c.animeId,s,c.source),l=null;if(u)l=Fie(u,c.bangumiId);else{let d=new URL(`/bangumi/${c.bangumiId}`,t.origin);l=await(await $ie(d.pathname)).json()}if(l.success&&l.bangumi&&l.bangumi.episodes){let d=l.bangumi.episodes;if(r){if(r==="movie")d=l.bangumi.episodes.filter(f=>c.typeDescription&&(c.typeDescription.includes("\u7535\u5F71")||c.typeDescription.includes("\u5267\u573A\u7248")||f.episodeTitle.toLowerCase().includes("movie")||f.episodeTitle.includes("\u5267\u573A\u7248")));else if(/^\d+$/.test(r)){let f=parseInt(r);d=l.bangumi.episodes.filter(p=>parseInt(p.episodeNumber)===f)}}d.length>0&&o.push(WL.fromJson({animeId:c.animeId,animeTitle:c.animeTitle,type:c.type,typeDescription:c.typeDescription,episodes:d.map(f=>({episodeId:f.episodeId,episodeTitle:f.episodeTitle}))}))}}return _("info",`[system] [Episodes] Found ${o.length} animes with filtered episodes`),Be({errorCode:0,success:!0,errorMessage:"",animes:o})}async function $ie(t,e=null,r=null){let n=t.split("/").pop(),s=ig(n,e,r)||sg(n);return s?Be(Fie(s,n)):(_("error",`[system] [Bangumi] Anime with ID ${n} not found`),Be({errorCode:404,success:!1,errorMessage:"Anime not found",bangumi:null},404))}function Fie(t,e=""){_("info",`[system] [Bangumi] Fetched details for anime ID: ${e||t.bangumiId}`);let r=[];for(let s=0;s<t.links.length;s++){let i=t.links[s];r.push({seasonId:`season-${t.animeId}`,episodeId:i.id,episodeTitle:`${i.title}`,episodeNumber:`${s+1}`,airDate:t.startDate})}if(O.enableAnimeEpisodeFilter){if(r=r.filter(s=>!O.episodeTitleFilter.test(s.episodeTitle)),_("info",`[system] [getBangumi] Episode filter enabled. Filtered episodes: ${r.length}/${t.links.length}`),r.length===0)return _("warn",`[system] [getBangumi] No valid episodes after filtering for anime ID ${e||t.bangumiId}`),{errorCode:404,success:!1,errorMessage:"No valid episodes after filtering",bangumi:null};r=r.map((s,i)=>({...s,episodeNumber:`${i+1}`}))}return{errorCode:0,success:!0,errorMessage:"",bangumi:$L.fromJson({animeId:t.animeId,bangumiId:t.bangumiId,animeTitle:t.animeTitle,imageUrl:t.imageUrl,isOnAir:!0,airDay:1,isFavorited:t.isFavorited,rating:t.rating,type:t.type,typeDescription:t.typeDescription,seasons:[{id:`season-${t.animeId}`,airDate:t.startDate,name:"Season 1",episodeCount:t.episodeCount}],episodes:r})}}async function Gmr(t,e,r){let n=t.split(Iu),s=n.map(m=>{let h=m.indexOf(":");if(h===-1)return{realId:"",logicalSource:"",sourceLabel:""};let A=m.substring(0,h),g=m.substring(h+1);return A!=="hanjutv"?{realId:g,logicalSource:A,sourceLabel:A}:{realId:g,logicalSource:"hanjutv",sourceLabel:i4(g)}}),i=s.map(m=>m.logicalSource).filter(Boolean),a=s.map(m=>m.realId),o=s.map(m=>m.sourceLabel).filter(Boolean).join("\uFF06");_("info",`[Merge] \u5F00\u59CB\u83B7\u53D6 [${o}] \u805A\u5408\u5F39\u5E55...`);let c=df(t);if(c)return _("info",`[Merge] \u547D\u4E2D\u7F13\u5B58 [${o}]\uFF0C\u8FD4\u56DE ${c.length} \u6761`),c;let u={},l=s.map(async m=>{let h=m.logicalSource,A=m.sourceLabel||m.logicalSource,g=m.realId;if(!h||!g)return[];let b=`${h}:${g}`;if(l4.has(b)){_("info",`[Merge] \u590D\u7528\u6B63\u5728\u8FDB\u884C\u7684\u8BF7\u6C42: ${b}`);try{return await l4.get(b)||[]}catch{return[]}}let y=be.run(Cn(h),async()=>{let x=null;if(h==="renren"?x=dw:h==="hanjutv"?x=fw:h==="bahamut"?x=pw:h==="dandan"?x=mw:h==="tencent"?x=z0:h==="youku"?x=K0:h==="iqiyi"?x=Y0:h==="imgo"?x=Dg:h==="bilibili"?x=Tu:h==="migu"?x=J0:h==="sohu"?x=kg:h==="leshi"?x=Lg:h==="xigua"?x=Bg:h==="maiduidui"?x=Mg:h==="aiyifan"?x=Wg:h==="animeko"&&(x=hw),x)try{let v=await x.getEpisodeDanmu(g,n),C=x.formatComments(v);return _("info",`[${A}] \u83B7\u53D6\u5F39\u5E55 ${C.length} \u6761`),C&&Array.isArray(C)&&C.forEach(R=>{R._sourceLabel||(R._sourceLabel=A)}),u[A]=C.length,C}catch(v){return _("error",`[Merge] \u83B7\u53D6 ${A} \u5931\u8D25: ${v.message}`),u[A]=0,[]}return[]});l4.set(b,y);try{return await y}finally{l4.delete(b)}}),d=await Promise.all(l);if(Mnt(d,i,a),O.danmuOffsetRules?.length>0&&e&&r){let[,,m]=qL(r);if(m){let{baseTitle:h,season:A,episode:g}=Jz(e,m);A||=1,g||=UL(r)+1;let b=`S${A.toString().padStart(2,"0")}`,y=`E${g.toString().padStart(2,"0")}`;for(let x=0;x<d.length;x++){let v=d[x],C=Ez(O.danmuOffsetRules,{anime:h,season:b,episode:y,source:i[x]}),R=C?.offset||0;if(R!==0){let w=a[x],N=C?.usePercent?await Wie(w):0,P=C?.usePercent?"%":"s";_("info",`[Merge] \u5E94\u7528\u504F\u79FB ${R}${P} -> ${i[x]} (${h}/${b}/${y})${C?.usePercent?`, duration=${N}s`:""}`),d[x]=_z(v,R,{usePercent:C?.usePercent,videoDuration:N})}}}}let f=[];d.forEach(m=>{f=Bnt(f,m)});let p=Object.entries(u).map(([m,h])=>`${m}: ${h}`).join(", ");return _("info",`[Merge] \u805A\u5408\u539F\u59CB\u6570\u636E\u5B8C\u6210: \u603B\u8BA1 ${f.length} \u6761 (${p})`),MC(f,o)}async function Uie(t,e,r,n,s=!1){let i=parseInt(t.split("/").pop()),a=nK(i),o=BC(i),c=rK(i),u=c?(c.match(/【(.*?)】/)||[null])[0]?.replace(/[【】]/g,""):null,l=Tst(e,s);if(_("info","[system] [LogVar-API] comment url...",o),_("info","[system] [LogVar-API] comment title...",c),_("info","[system] [LogVar-API] comment platform...",u),!o)return _("error",`[system] [LogVar-API] Comment with ID ${i} not found`),Be({count:0,comments:[]},404);_("info",`[system] [LogVar-API] Fetched comment ID: ${i}`);let d=df(o);if(d!==null){let y=d4({count:d.length,comments:d},l?await f4(o):null);return ag(y,e)}_("info","[system] [LogVar-API] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5F39\u5E55...",o);let f=[],p=l?f4(o):null;if(o&&o.includes(Iu))f=await Gmr(o,a,i);else{o.includes(".qq.com")?f=await be.run("tencent",()=>z0.getComments(o,u,r)):o.includes(".iqiyi.com")?f=await be.run("iqiyi",()=>Y0.getComments(o,u,r)):o.includes(".mgtv.com")?f=await be.run("mango",()=>Dg.getComments(o,u,r)):o.includes(".bilibili.com")||o.includes("b23.tv")?(o.includes("b23.tv")&&(o=await be.run("bilibili",()=>Tu.resolveB23Link(o))),f=await be.run("bilibili",()=>Tu.getComments(o,u,r))):o.includes(".youku.com")?f=await be.run("youku",()=>K0.getComments(o,u,r)):o.includes(".miguvideo.com")?f=await be.run("migu",()=>J0.getComments(o,u,r)):o.includes(".sohu.com")?f=await be.run("sohu",()=>kg.getComments(o,u,r)):o.includes(".le.com")?f=await be.run("leshi",()=>Lg.getComments(o,u,r)):o.includes(".douyin.com")||o.includes(".ixigua.com")?f=await be.run("xigua",()=>Bg.getComments(o,u,r)):o.includes(".mddcloud.com.cn")?f=await be.run("maiduidui",()=>Mg.getComments(o,u,r)):o.includes(".yfsp.tv")&&(f=await be.run("aiyifan",()=>Wg.getComments(o,u,r)));let y=/^(https?:\/\/)?([\w.-]+)\.([a-z]{2,})(\/.*)?$/i;y.test(o)||(u==="renren"?f=await be.run("renren",()=>dw.getComments(o,u,r)):u==="hanjutv"?f=await be.run("hanjutv",()=>fw.getComments(o,u,r)):u==="bahamut"?f=await be.run("bahamut",()=>pw.getComments(o,u,r)):u==="dandan"?f=await be.run("dandan",()=>mw.getComments(o,u,r)):u==="custom"?f=await be.run("custom",()=>g4.getComments(o,u,r)):u==="animeko"&&(f=await be.run("animeko",()=>hw.getComments(o,u,r)))),(!f||f.length===0)&&y.test(o)&&(f=await be.run("other",()=>Bie.getComments(o,"other_server",r)))}let[m,h,A,g]=qL(i);if(m&&h){let y=null,x=null,v=null;if(n){let R=tK(n);R&&R.title&&R.season&&R.episode&&A&&(y=R.title,x=R.season,v=`${R.episode}:${A}`,_("info",`[system] [LogVar-API] Calculated episode offset for IP ${n}: Query E${R.episode}, Selected ${A} -> Offset ${v} (Season ${x})`))}_("info",`[system] [LogVar-API] animeTitle\uFF1A${a}; lastTitle\uFF1A${y}; titleMatches\uFF1A${yt(a,y)}`),(yt(a,y)||Array.isArray(g)&&g.some(R=>yt(R,y)))&&(_("info","[system] [LogVar-API] excute setPreferByAnimeId"),iK(m,h,x,v)),O.localCacheValid&&m&&QL("lastSelectMap",JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.redisValid&&m&&Hz("lastSelectMap",O.lastSelectMap).catch(R=>_("error","[system] [LogVar-API] Redis set error",R)),O.localRedisValid&&m&&KB("lastSelectMap",O.lastSelectMap)}if(a&&A&&O.danmuOffsetRules?.length>0&&!(o&&o.includes(Iu))){let{baseTitle:y,season:x,episode:v}=Jz(a,A);x||=1,v||=UL(i)+1;let C=`S${x.toString().padStart(2,"0")}`,R=`E${v.toString().padStart(2,"0")}`,w=Ez(O.danmuOffsetRules,{anime:y,season:C,episode:R,source:h}),N=w?.offset||0;if(N!==0){let P=w?.usePercent?await Wie(o):0;_("info",`[system] [LogVar-API] Applying danmu offset: ${N}${w?.usePercent?"%":"s"} for ${y}/${C}/${R}${w?.usePercent?`, duration=${P}s`:""}`),f=_z(f,N,{usePercent:w?.usePercent,videoDuration:P})}}r||(f&&f.comments&&(f=f.comments),Array.isArray(f)||(f=[]),f.length>0&&LC(o,f));let b=d4({count:f.length,comments:f},p?await p:null);return ag(b,e)}async function qie(t,e,r,n=!1){try{if(!t||typeof t!="string")return _("error","[system] [LogVar-API] Missing or invalid url parameter"),Be({errorCode:400,success:!1,errorMessage:"Missing or invalid url parameter",count:0,comments:[]},400);if(t=t.trim(),!t.startsWith("http"))return _("error","[system] [LogVar-API] Invalid url format, must start with http or https"),Be({errorCode:400,success:!1,errorMessage:"Invalid url format, must start with http or https",count:0,comments:[]},400);_("info",`[system] [LogVar-API] Processing comment request for URL: ${t}`);let s=t,i=Tst(e,n),a=df(s);if(a!==null){let l=d4({errorCode:0,success:!0,errorMessage:"",count:a.length,comments:a},i?await f4(s):null);return ag(l,e)}_("info","[system] [LogVar-API] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5F39\u5E55...",s);let o=[],c=i?f4(s):null;s.includes(".qq.com")?o=await be.run("tencent",()=>z0.getComments(s,"qq",r)):s.includes(".iqiyi.com")?o=await be.run("iqiyi",()=>Y0.getComments(s,"qiyi",r)):s.includes(".mgtv.com")?o=await be.run("mango",()=>Dg.getComments(s,"imgo",r)):s.includes(".bilibili.com")||s.includes("b23.tv")?(s.includes("b23.tv")&&(s=await be.run("bilibili",()=>Tu.resolveB23Link(s))),o=await be.run("bilibili",()=>Tu.getComments(s,"bilibili1",r))):s.includes(".youku.com")?o=await be.run("youku",()=>K0.getComments(s,"youku",r)):s.includes(".miguvideo.com")?o=await be.run("migu",()=>J0.getComments(s,"migu",r)):s.includes(".sohu.com")?o=await be.run("sohu",()=>kg.getComments(s,"sohu",r)):s.includes(".le.com")?o=await be.run("leshi",()=>Lg.getComments(s,"leshi",r)):s.includes(".douyin.com")||s.includes(".ixigua.com")?o=await be.run("xigua",()=>Bg.getComments(s,"xigua",r)):s.includes(".mddcloud.com.cn")?o=await be.run("maiduidui",()=>Mg.getComments(s,"maiduidui",r)):s.includes(".yfsp.tv")?o=await be.run("aiyifan",()=>Wg.getComments(s,"aiyifan",r)):/^(https?:\/\/)?([\w.-]+)\.([a-z]{2,})(\/.*)?$/i.test(s)&&(o=await be.run("other",()=>Bie.getComments(s,"other_server",r))),_("info",`[system] [LogVar-API] Successfully fetched ${o.length} comments from URL`),o.length>0&&LC(s,o);let u=d4({errorCode:0,success:!0,errorMessage:"",count:o.length,comments:o},c?await c:null);return ag(u,e)}catch(s){return _("error",`[system] [LogVar-API] Failed to process comment by URL request: ${s.message}`),Be({errorCode:500,success:!1,errorMessage:"Internal server error",count:0,comments:[]},500)}}async function Dst(t,e){try{let r=t.url,n=t.type;if(!r||typeof r!="string")return _("error","[system] [SegmentComment] Missing or invalid url parameter"),Be({errorCode:400,success:!1,errorMessage:"Missing or invalid url parameter",count:0,comments:[]},400);r=r.trim(),_("info",`[system] [SegmentComment] Processing segment comment request for URL: ${r}`);let s=df(r);if(s!==null){let o={errorCode:0,success:!0,errorMessage:"",count:s.length,comments:s};return ag(o,e)}_("info",`[system] [SegmentComment] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5206\u6BB5\u5F39\u5E55... URL: ${r}`);let i=[];n==="qq"?i=await be.run("tencent",()=>z0.getSegmentComments(t)):n==="qiyi"?i=await be.run("iqiyi",()=>Y0.getSegmentComments(t)):n==="imgo"?i=await be.run("mango",()=>Dg.getSegmentComments(t)):n==="bilibili1"?i=await be.run("bilibili",()=>Tu.getSegmentComments(t)):n==="youku"?i=await be.run("youku",()=>K0.getSegmentComments(t)):n==="migu"?i=await be.run("migu",()=>J0.getSegmentComments(t)):n==="sohu"?i=await be.run("sohu",()=>kg.getSegmentComments(t)):n==="leshi"?i=await be.run("leshi",()=>Lg.getSegmentComments(t)):n==="xigua"?i=await be.run("xigua",()=>Bg.getSegmentComments(t)):n==="maiduidui"?i=await be.run("maiduidui",()=>Mg.getSegmentComments(t)):n==="aiyifan"?i=await be.run("aiyifan",()=>Wg.getSegmentComments(t)):n==="hanjutv"?i=await be.run("hanjutv",()=>fw.getSegmentComments(t)):n==="bahamut"?i=await be.run("bahamut",()=>pw.getSegmentComments(t)):n==="renren"?i=await be.run("renren",()=>dw.getSegmentComments(t)):n==="dandan"?i=await be.run("dandan",()=>mw.getSegmentComments(t)):n==="animeko"?i=await be.run("animeko",()=>hw.getSegmentComments(t)):n==="custom"?i=await be.run("custom",()=>g4.getSegmentComments(t)):n==="other_server"&&(i=await be.run("other",()=>Bie.getSegmentComments(t))),_("info",`[system] [SegmentComment] Successfully fetched ${i.length} segment comments from URL`),i.length>0&&LC(r,i);let a={errorCode:0,success:!0,errorMessage:"",count:i.length,comments:i};return ag(a,e)}catch(r){return _("error",`[system] [SegmentComment] Failed to process segment comment request: ${r.message}`),Be({errorCode:500,success:!1,errorMessage:"Internal server error",count:0,comments:[]},500)}}Pt();ar();St();no();hn();var Vmr=[[/[\(\[(【]\s*(19|20)\d{2}\s*[\)\])】]/g," "],[/\b(19|20)\d{2}\b/g," "],[/\b(?:2160p|1080p|720p|4k|web-?dl|web-?rip|blu-?ray|hdr|dv|x265|x264|h\.?265|h\.?264|60fps)\b/gi," "],[/[_.-]+/g," "]],zmr=[[/\[[^\]]*\]/g," "],[/[【((][^】))]*[】))]/g," "],[/\.(mp4|mkv|avi|rmvb|ts|flv|mov|m4v)$/gi," "],[/\b(?:2160p|1080p|720p|4k|web-?dl|web-?rip|blu-?ray|hdr|dv|x265|x264|h\.?265|h\.?264|60fps|aac|flac|dts)\b/gi," "],[/[_~.-]+/g," "]],Kmr=[{pattern:/[Ss]\d{1,2}\s*[Ee](\d{1,4})/,group:1},{pattern:/第\s*([零一二三四五六七八九十百零〇两\d]+)\s*[é›†æœŸè¯ç« å›žæ®µç¯‡]/,group:1,chinese:!0},{pattern:/[Ee][Pp]?\.?\s*(\d{1,4})/,group:1},{pattern:/[Ee](\d{1,4})(?:\s|$|\.)/,group:1},{pattern:/Episode\s*(\d{1,4})/i,group:1},{pattern:/(?:正在)?播放[::]\s*(\d{1,4})/,group:1},{pattern:/(?:第\s*)?[零一二三四五六七八九十百\d]+\s*å­£\s*[||]\s*(\d{1,4})/,group:1},{pattern:/[\[【\((](\d{1,4})[\]】\))]/,group:1},{pattern:/@@@(\d{1,4})/,group:1},{pattern:/(?:^|[\s_\-])(\d{1,4})x(?:[\s_\-]|$)/i,group:1},{pattern:/\s(\d{1,4})\.(?:mp4|mkv|avi|mov|mp3|1080|720|4k|2k)/i,group:1},{pattern:/[_\-](\d{1,4})(?:\s|$|\.)/,group:1},{pattern:/\s(\d{1,4})\s/,group:1},{pattern:/\s(\d{1,4})$/,group:1},{pattern:/^(\d{1,4})\s/,group:1},{pattern:/(\d{1,4})(?:\s|$)$/,group:1}],Ymr=[{pattern:/(\d{4})[.\-\/å¹´](\d{1,2})[.\-\/月](\d{1,2})/,type:"ymd"},{pattern:/(\d{4})(\d{2})(\d{2})/,type:"ymd_compact"}];function A4(t){let e=String(t||"").trim();if(!e)return"";if(O.animeTitleSimplified)try{e=Gt(e)}catch{}return Fr(e.toLowerCase())}function kst(t){let e=String(t||"").replace(/\D/g,"");return e.length>=8?e.slice(0,8):""}function Jmr(t){let e=String(t||"");return Vmr.forEach(([r,n])=>{e=e.replace(r,n)}),e}function Bst(t){let e=String(t||"");return zmr.forEach(([n,s],i)=>{e=e.replace(n,s)}),e.replace(/\s+/g," ").trim()}function Lst(t){if(!t)return null;let e=String(t);for(let{pattern:s,group:i,chinese:a}of Kmr){let o=e.match(s);if(o&&o[i]!==void 0){let c=o[i];if(a){let u=tg(c);if(u!==null&&!isNaN(u))return u}else{let u=parseInt(c,10);if(!isNaN(u)&&u>0&&u<1e4)return u}}}for(let{pattern:s,type:i}of Ymr){let a=e.match(s);if(a){if(i==="ymd"){let o=parseInt(a[1],10),c=parseInt(a[2],10),u=parseInt(a[3],10);if(o>=2e3&&o<=2099&&c>=1&&c<=12&&u>=1&&u<=31)return o*1e4+c*100+u}else if(i==="ymd_compact"){let o=parseInt(a[1],10),c=parseInt(a[2],10),u=parseInt(a[3],10);if(o>=2e3&&o<=2099&&c>=1&&c<=12&&u>=1&&u<=31)return o*1e4+c*100+u}}}let r=Bst(t),n=lf(r);return n!==null?n:null}function Xmr(t){let e=String(t||"").trim();if(!e)return[];let r=[],n=a=>{let o=Fr(String(a||"").trim());!o||r.includes(o)||r.push(o)};n(e);let s=Fr(Jmr(e)).trim();s&&s!==e&&n(s);let i=Fr(e.replace(/[\(\[(【].*$/,"")).trim();return i&&i!==e&&n(i),r.sort((a,o)=>a.length-o.length)}function Zmr(t){let e=new URL(t.url),r=e.pathname.replace(/\/+$/,""),n="/api/v2/",s="/danmaku",i="",a=r.indexOf(n);if(a>=0)i=r.slice(0,a);else{let o=r.indexOf(s);o>=0?i=r.slice(0,o):i=r}return`${e.origin}${i}`}async function ehr(t,e){if(e.method==="GET")return{name:t.searchParams.get("name")||"",episode:t.searchParams.get("episode")||""};try{let r=e.clone(),n=(r.headers.get("content-type")||"").toLowerCase();if(n.includes("application/json")){let i=await r.json();return{name:i?.name||"",episode:i?.episode||""}}if(n.includes("application/x-www-form-urlencoded")||n.includes("multipart/form-data")){let i=await r.formData();return{name:i.get("name")||"",episode:i.get("episode")||""}}let s=await r.text();if(s)try{let i=JSON.parse(s);return{name:i?.name||"",episode:i?.episode||""}}catch{let a=new URLSearchParams(s);return{name:a.get("name")||"",episode:a.get("episode")||""}}}catch(r){_("warn",`[system] [Fongmi] \u89E3\u6790\u8BF7\u6C42\u53C2\u6570\u5931\u8D25: ${r.message}`)}return{name:"",episode:""}}function thr(t,e,r,n){let s=Math.max(0,200-n),i=Bst(r),a=A4(i);if(!a)return s;let o=e?.episodeTitle||"",c=A4(o),u=A4(rg(o)),l=A4(t?.animeTitle||"");(c===a||u===a)&&(s+=1e4),(c.includes(a)||a.includes(c))&&(s+=4500),u&&(u.includes(a)||a.includes(u))&&(s+=2500);let d=Lst(i),f=Lst(o),p=parseInt(e?.episodeNumber||`${n+1}`,10);d!==null&&f!==null&&d===f&&(s+=7e3),d!==null&&Number.isFinite(p)&&d===p&&(s+=4e3);let m=kst(i),h=kst(o);return m&&h&&m===h&&(s+=9e3),m&&a.includes(m)&&(s+=800),l.includes("\u7EFC\u827A")&&m&&h&&(s+=1200),l.includes("\u7EFC\u827A")&&m&&!h&&d===null&&(s-=1500),s}function rhr(t,e,r){let n=[];for(let s of t){let i=Fg(s,e);if(!i?.success||!i?.bangumi?.episodes?.length)continue;let a=i.bangumi.episodes;O.enableAnimeEpisodeFilter&&(a=a.filter(o=>!O.episodeTitleFilter.test(o.episodeTitle))),a=$g(a),a.forEach((o,c)=>{let u=`${r}/api/v2/comment/${encodeURIComponent(o.episodeId)}?format=xml`;n.push({anime:s,episode:o,index:c,commentUrl:u})})}return n}async function jie(t,e){let{name:r,episode:n}=await ehr(t,e);if(!r)return Be([],200);if(O.titleMappingTable&&O.titleMappingTable.size>0){let f=O.titleMappingTable.get(r);f&&(_("info",`[system] [Fongmi] Title mapped from original: ${r} to: ${f}`),r=f)}let s=new URL(t.toString()),i=new Map,a=Xmr(r),o=[];for(let f of a){s.searchParams.set("keyword",f);let m=await(await sE(s,null,null,i)).json();if(o=Array.isArray(m?.animes)?m.animes:[],o.length){f!==r&&_("info",`[system] [Fongmi] Search fallback hit: raw=${r}, keyword=${f}, episode=${n}`);break}}if(!o.length)return _("info",`[system] [Fongmi] No danmaku candidates for name=${r}, episode=${n}`),Be([],200);let c=Zmr(e),u=rhr(o,i,c).map(f=>({...f,score:thr(f.anime,f.episode,n,f.index)})).sort((f,p)=>p.score-f.score),l=new Set,d=[];for(let f of u)if(!(!f?.commentUrl||l.has(f.commentUrl))&&(l.add(f.commentUrl),d.push({name:`${f.anime.animeTitle} - ${f.episode.episodeTitle}`,url:f.commentUrl}),d.length>=1e3))break;return _("info",`[system] [Fongmi] name=${r}, episode=${n}, candidates=${d.length}`),Be(d,200)}Pt();ar();Pt();var Mst=`
/* \u57FA\u7840\u6837\u5F0F - Zen-iOS Hybrid Design */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;800&display=swap');
:root {
--bg-base: #F2F2F7;
--bg-card: rgba(255, 255, 255, 0.65);
--bg-glass: rgba(255, 255, 255, 0.4);
--text-primary: #1C1C1E;
--text-secondary: #6C6C70;
--primary-color: #1C1C1E; /* \u6DF1\u7A7A\u9ED1 */
--accent-color: #007AFF; /* iOS Blue for interactions */
--danger-color: #FF3B30;
--success-color: #34C759;
--warning-color: #FFCC00;
--shadow-floating: 0 24px 48px -12px rgba(0, 0, 0, 0.08);
--shadow-card: 0 4px 12px rgba(0, 0, 0, 0.03);
--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
--radius-xl: 40px;
--radius-lg: 24px;
--radius-md: 16px;
--radius-sm: 8px;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;
background-color: var(--bg-base);
color: var(--text-primary);
min-height: 100vh;
padding: 20px;
line-height: 1.5;
}
/* \u5BB9\u5668\uFF1A\u6781\u81F4\u6BDB\u73BB\u7483 + \u53CC\u5C42\u7269\u7406\u63CF\u8FB9 */
.container {
max-width: 1200px;
margin: 0 auto;
background: var(--bg-card);
backdrop-filter: blur(50px);
-webkit-backdrop-filter: blur(50px);
border-radius: var(--radius-xl);
box-shadow: var(--shadow-floating);
border: 1px solid rgba(255, 255, 255, 0.6); /* \u5185\u63CF\u8FB9 */
position: relative;
overflow: hidden;
}
/* \u6A21\u62DF\u5916\u63CF\u8FB9 (\u901A\u8FC7\u4F2A\u5143\u7D20\u6216 box-shadow \u4E5F\u53EF\u4EE5\uFF0C\u8FD9\u91CC\u7528 outline \u4FDD\u6301 dom \u5E72\u51C0) */
.container::after {
content: '';
position: absolute;
inset: -1px;
border-radius: var(--radius-xl);
padding: 1px;
background: linear-gradient(to bottom, rgba(0,0,0,0.05), rgba(0,0,0,0.02));
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
pointer-events: none;
z-index: 1;
}
.header {
background: rgba(255, 255, 255, 0.5);
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
padding: 30px 40px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 20px;
}
.header-left {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 12px;
}
.logo-title-container {
display: flex;
align-items: center;
gap: 18px;
}
.logo {
width: 56px;
height: 56px;
background: #fff;
border-radius: 16px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
overflow: hidden;
border: 1px solid rgba(0,0,0,0.03);
}
.logo img {
width: 100%;
height: 100%;
object-fit: cover;
}
.header h1 {
font-size: 28px;
font-weight: 800;
color: var(--text-primary);
letter-spacing: -0.02em;
margin: 0;
}
.version-info {
display: flex;
align-items: center;
gap: 12px;
font-size: 12px;
font-weight: 600;
color: var(--text-secondary);
}
.version-badge {
background: rgba(0, 0, 0, 0.04);
padding: 4px 12px;
border-radius: 100px;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.update-badge {
background: rgba(255, 204, 0, 0.15);
color: #997a00;
padding: 4px 12px;
border-radius: 100px;
cursor: pointer;
transition: all 0.2s;
}
.update-badge:hover {
background: rgba(255, 204, 0, 0.25);
}
.api-endpoint-badge span {
font-family: 'SF Mono', 'Menlo', monospace;
font-size: 11px;
}
.content {
padding: 40px;
}
.section {
display: none;
animation: fadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1); /* iOS easeOut */
}
.section.active {
display: block;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px) scale(0.98); }
to { opacity: 1; transform: translateY(0) scale(1); }
}
h2 {
font-size: 24px;
font-weight: 700;
letter-spacing: -0.01em;
margin-bottom: 24px;
color: var(--text-primary);
}
/* Footer */
.footer {
padding: 40px;
text-align: center;
font-size: 12px;
color: var(--text-secondary);
border-top: 1px solid rgba(0,0,0,0.05);
background: rgba(255,255,255,0.3);
}
.footer-text {
color: var(--text-secondary);
margin: 8px 0;
max-width: 600px;
margin-left: auto;
margin-right: auto;
line-height: 1.6;
}
.footer-links {
margin-top: 20px;
display: flex;
justify-content: center;
gap: 20px;
}
.footer-link {
color: var(--text-primary);
text-decoration: none;
font-weight: 600;
opacity: 0.7;
transition: opacity 0.2s;
}
.footer-link:hover {
opacity: 1;
}
.github-link {
display: inline-flex;
align-items: center;
gap: 6px;
}
.github-icon {
width: 14px;
height: 14px;
opacity: 0.8;
}
.tg-link {
display: inline-flex;
align-items: center;
gap: 6px;
}
.tg-icon {
width: 14px;
height: 14px;
opacity: 0.8;
}
/* \u6EDA\u52A8\u6761\u7F8E\u5316 */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.1);
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: rgba(0, 0, 0, 0.2);
}
/* \u5DE5\u5177\u7C7B */
.text-gray {
color: var(--text-secondary);
}
.text-dark-gray {
color: #333;
}
.text-red {
color: var(--danger-color);
}
.text-center {
text-align: center;
}
.font-size-12 {
font-size: 12px;
}
.margin-top-3 {
margin-top: 3px;
}
.margin-bottom-15 {
margin-bottom: 15px;
}
.padding-20 {
padding: 20px;
}
.text-monospace {
font-family: 'SF Mono', 'Menlo', monospace;
}
`;var Wst=`
/* \u7EC4\u4EF6\u6837\u5F0F - Zen-iOS Hybrid Design */
/* \u5BFC\u822A\u6309\u94AE\uFF1A\u80F6\u56CA\u5F0F\u8BBE\u8BA1 */
.nav-buttons {
display: flex;
gap: 8px;
background: rgba(118, 118, 128, 0.12);
padding: 4px;
border-radius: 14px; /* iOS Segmented Control style */
flex-wrap: wrap;
}
.nav-btn {
padding: 8px 16px;
background: transparent;
border: none;
color: var(--text-secondary);
border-radius: 10px;
cursor: pointer;
font-size: 13px;
font-weight: 600;
transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
user-select: none;
}
.nav-btn:hover {
color: var(--text-primary);
background: rgba(255, 255, 255, 0.5);
}
.nav-btn.active {
background: #FFFFFF;
color: #000000;
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12), 0 3px 1px rgba(0, 0, 0, 0.04);
}
.nav-btn:active {
transform: scale(0.97);
}
/* \u73AF\u5883\u53D8\u91CF\u5206\u7C7B\u5207\u6362 */
.env-categories {
display: flex;
gap: 12px;
margin-bottom: 30px;
flex-wrap: wrap;
}
.category-btn {
padding: 10px 20px;
background: #FFFFFF;
border: 1px solid rgba(0,0,0,0.05);
border-radius: 100px; /* Fully rounded */
cursor: pointer;
font-size: 13px;
font-weight: 600;
color: var(--text-secondary);
transition: all 0.2s;
box-shadow: var(--shadow-card);
}
.category-btn:hover {
transform: translateY(-1px);
background: #FAFAFA;
}
.category-btn.active {
background: var(--primary-color);
color: white;
border-color: var(--primary-color);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.category-btn:active {
transform: scale(0.95);
}
/* \u5361\u7247\u5217\u8868 (Layering) */
.env-list {
display: grid;
gap: 16px;
margin-bottom: 30px;
}
.env-item {
background: rgba(255, 255, 255, 0.6);
backdrop-filter: blur(20px);
padding: 24px;
border-radius: var(--radius-lg);
border: 1px solid rgba(255, 255, 255, 0.8); /* Inner light stroke */
box-shadow:
0 4px 6px -1px rgba(0, 0, 0, 0.02),
0 2px 4px -1px rgba(0, 0, 0, 0.02),
inset 0 0 0 1px rgba(255, 255, 255, 0.5);
display: flex;
justify-content: space-between;
align-items: flex-start; /* Align to top for better look with descriptions */
flex-wrap: wrap;
gap: 20px;
transition: transform 0.2s;
overflow: hidden;
}
.env-item:hover {
transform: translateY(-1px);
background: rgba(255, 255, 255, 0.8);
}
.env-item .env-info {
flex: 1;
min-width: 240px;
overflow: hidden;
}
.env-item .env-info strong {
color: var(--text-primary);
font-size: 15px;
font-weight: 700;
margin-bottom: 8px;
display: block;
letter-spacing: -0.01em;
overflow-wrap: break-word;
word-break: break-word;
}
.env-item .env-info div.text-dark-gray {
background: rgba(0, 0, 0, 0.03);
padding: 8px 12px;
border-radius: 8px;
font-family: 'SF Mono', 'Menlo', monospace;
font-size: 14px;
color: #333;
display: block;
border: 1px solid rgba(0,0,0,0.04);
overflow-wrap: break-word;
word-break: break-all;
}
.env-item .env-actions {
display: flex;
gap: 10px;
flex-shrink: 0;
}
/* \u6309\u94AE\u4F53\u7CFB */
.btn {
padding: 10px 20px;
border: none;
border-radius: 12px; /* iOS medium radius */
cursor: pointer;
font-size: 14px;
font-weight: 600;
transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1);
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
letter-spacing: 0.01em;
}
.btn:active {
transform: scale(0.95); /* Tactile feedback */
}
/* Primary: Dark Space Black */
.btn-primary {
background: var(--primary-color);
color: white;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.btn-primary:hover {
background: #333;
}
/* Success: iOS Green */
.btn-success {
background: var(--success-color);
color: white;
box-shadow: 0 4px 12px rgba(52, 199, 89, 0.2);
}
.btn-success:hover {
background: #2db54e;
}
/* Danger: iOS Red */
.btn-danger {
background: var(--danger-color);
color: white;
box-shadow: 0 4px 12px rgba(255, 59, 48, 0.2);
}
.btn-danger:hover {
background: #e03328;
}
/* \u9884\u89C8\u533A\u57DF */
.preview-area {
display: grid;
gap: 30px;
margin-top: 20px;
}
.preview-category {
background: rgba(255, 255, 255, 0.6);
backdrop-filter: blur(20px);
border-radius: var(--radius-lg);
border: 1px solid rgba(255, 255, 255, 0.8);
box-shadow:
0 4px 6px -1px rgba(0, 0, 0, 0.02),
0 2px 4px -1px rgba(0, 0, 0, 0.02),
inset 0 0 0 1px rgba(255, 255, 255, 0.5);
padding: 24px;
transition: transform 0.2s;
overflow: hidden;
}
.preview-category:hover {
transform: translateY(-2px);
background: rgba(255, 255, 255, 0.75);
box-shadow: var(--shadow-floating);
}
.preview-category h3 {
font-size: 18px;
font-weight: 800;
margin-bottom: 20px;
color: var(--text-primary);
border-bottom: 1px solid rgba(0,0,0,0.05);
padding-bottom: 12px;
}
.preview-item {
padding: 16px;
background: rgba(255, 255, 255, 0.5);
margin-bottom: 12px;
border-radius: 12px;
border-left: 4px solid var(--primary-color);
box-shadow: 0 2px 8px rgba(0,0,0,0.02);
transition: all 0.2s;
overflow: hidden;
}
.preview-item:last-child {
margin-bottom: 0;
}
.preview-item:hover {
transform: translateX(4px);
background: #FFFFFF;
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.preview-item .preview-key {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--text-secondary);
margin-bottom: 6px;
font-weight: 700;
overflow-wrap: break-word;
word-break: break-word;
}
.preview-item .preview-value {
background: transparent;
padding: 0;
font-family: 'SF Mono', 'Menlo', monospace;
color: var(--text-primary);
font-size: 13px;
word-break: break-all;
overflow-wrap: break-word;
}
/* \u65E5\u5FD7\u6837\u5F0F */
.log-controls {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
flex-wrap: wrap;
gap: 10px;
}
@keyframes pulse {
0% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.5); }
70% { box-shadow: 0 0 0 10px rgba(40, 167, 69, 0); }
100% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0); }
}
/* \u65E5\u5FD7\u4E0E\u54CD\u5E94\u5BB9\u5668 */
.log-container, .api-response, .json-response, .error-response {
background: #1C1C1E; /* Deep Dark */
color: #F2F2F7;
padding: 20px;
border-radius: 16px;
border: 1px solid rgba(255,255,255,0.1);
box-shadow: inset 0 2px 10px rgba(0,0,0,0.2);
font-family: 'SF Mono', 'Menlo', monospace;
font-size: 12px;
line-height: 1.6;
max-height: 400px;
overflow: auto;
white-space: pre-wrap;
word-wrap: break-word;
}
.log-container {
max-height: 500px;
}
/* \u65E5\u5FD7\u8FC7\u6EE4\u4EA4\u4E92\u9762\u677F\u53CA\u6807\u7B7E\u6837\u5F0F */
.log-filters-container {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 10px;
}
.filter-btn {
background: transparent;
color: #888;
border: 1px solid #555;
padding: 4px 14px;
border-radius: 20px;
font-size: 12px;
cursor: pointer;
transition: all 0.3s;
text-transform: capitalize;
}
.filter-btn:hover {
border-color: #999;
background: rgba(255, 255, 255, 0.05);
}
.filter-btn.active {
background: rgba(191, 161, 255, 0.1);
color: #bfa1ff;
border-color: #bfa1ff;
text-shadow: 0.3px 0 0 currentColor, -0.3px 0 0 currentColor;
}
.log-tag {
color: #bfa1ff;
font-weight: bold;
margin-right: 4px;
display: inline-block;
}
.log-entry.error .log-tag {
color: #ffb74d;
}
/* \u8868\u5355\u5E2E\u52A9\u6587\u672C */
.form-help {
font-size: 12px;
color: #666;
margin-top: 5px;
font-style: italic;
}
/* API\u8C03\u8BD5\u6837\u5F0F */
.api-selector {
margin-bottom: 20px;
}
.api-params {
background: rgba(255, 255, 255, 0.6);
padding: 20px;
border-radius: 16px;
border: 1px solid rgba(255,255,255,0.8);
box-shadow:
0 4px 6px -1px rgba(0, 0, 0, 0.02),
0 2px 4px -1px rgba(0, 0, 0, 0.02),
inset 0 0 0 1px rgba(255, 255, 255, 0.5);
margin-bottom: 20px;
}
.api-response.xml {
color: #88ccff;
}
/* JSON\u9AD8\u4EAE\u6837\u5F0F */
.json-response .key {
color: #9cdcfe;
}
.json-response .string {
color: #ce9178;
}
.json-response .number {
color: #b5cea8;
}
.json-response .boolean {
color: #569cd6;
}
.json-response .null {
color: #569cd6;
}
.json-response .undefined {
color: #569cd6;
}
.error-response {
color: #f48771;
}
.log-entry {
padding: 4px 8px;
border-radius: 4px;
margin-bottom: 2px;
}
.log-entry.info { color: #4fc3f7; }
.log-entry.warn { color: #ffb74d; }
.log-entry.error { color: #e57373; }
.log-entry.success { color: #81c784; }
.log-entry:hover {
background: rgba(255,255,255,0.05);
}
/* \u6A21\u6001\u6846 */
.modal {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.25);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
z-index: 1000;
padding: 20px;
overflow-y: auto;
}
.modal.active {
display: flex;
justify-content: center;
align-items: center;
}
.modal-content {
background: rgba(255, 255, 255, 0.85);
backdrop-filter: blur(50px);
-webkit-backdrop-filter: blur(50px);
border-radius: 32px;
box-shadow: 0 40px 80px rgba(0,0,0,0.2);
border: 1px solid rgba(255,255,255,0.5);
padding: 40px;
width: 100%;
max-width: 600px;
max-height: calc(100vh - 40px);
overflow-y: auto;
position: relative;
top: 0;
left: 0;
}
/* \u914D\u7F6E\u7F16\u8F91\u5F39\u7A97\u4E13\u7528\u6837\u5F0F - \u66F4\u5BBD\u66F4\u534F\u8C03\u7684\u6BD4\u4F8B */
#env-modal .modal-content {
width: 90vw;
max-width: 680px;
max-height: 85vh;
overflow-y: auto;
padding: 32px 36px;
}
#env-modal .modal-content::-webkit-scrollbar {
width: 6px;
}
#env-modal .modal-content::-webkit-scrollbar-track {
background: transparent;
}
#env-modal .modal-content::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.15);
border-radius: 3px;
}
#env-modal .modal-content::-webkit-scrollbar-thumb:hover {
background: rgba(0, 0, 0, 0.25);
}
/* \u591A\u9009\u6807\u7B7E\u533A\u57DF\u4F18\u5316 - \u9650\u5236\u9AD8\u5EA6\u5E76\u652F\u6301\u6EDA\u52A8 */
#env-modal .selected-tags {
max-height: 140px;
overflow-y: auto;
}
#env-modal .available-tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
max-height: 180px;
overflow-y: auto;
padding: 12px;
background: rgba(245, 245, 247, 0.5);
border-radius: 12px;
margin-top: 12px;
}
.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid rgba(0,0,0,0.06);
padding-bottom: 20px;
margin-bottom: 30px;
}
.modal-header h3 {
font-size: 20px;
font-weight: 700;
color: var(--text-primary);
}
.close-btn {
width: 32px;
height: 32px;
border-radius: 50%;
background: rgba(0,0,0,0.05);
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s;
font-size: 18px;
}
.close-btn:hover {
background: rgba(0,0,0,0.1);
transform: rotate(90deg);
}
/* \u8FDB\u5EA6\u6761 */
.progress-container {
height: 2px;
background: transparent;
}
.progress-bar {
background: linear-gradient(90deg, var(--primary-color), var(--text-secondary));
box-shadow: none;
}
/* Bilibili Status */
.bili-cookie-status {
background: rgba(255,255,255,0.5);
border: 1px solid rgba(0,0,0,0.05);
border-left: 4px solid var(--primary-color);
border-radius: 12px;
}
/* Tag Styles */
.value-type-badge {
padding: 4px 10px;
border-radius: 100px;
background: var(--text-primary);
color: #FFFFFF;
font-weight: 600;
text-transform: uppercase;
font-size: 10px;
letter-spacing: 0.05em;
}
/* \u52A0\u8F7D\u63D0\u793A */
.loading-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.2);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
display: none;
justify-content: center;
align-items: center;
z-index: 9998;
}
.loading-overlay.active {
display: flex;
}
.loading-content {
background: rgba(255, 255, 255, 0.8);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
padding: 32px;
border-radius: 24px;
text-align: center;
box-shadow: 0 20px 40px rgba(0,0,0,0.15);
max-width: 320px;
border: 1px solid rgba(255,255,255,0.4);
}
.loading-spinner {
width: 48px;
height: 48px;
border: 4px solid rgba(0,0,0,0.05);
border-top: 4px solid var(--primary-color);
border-radius: 50%;
animation: spin 0.8s cubic-bezier(0.6, 0.2, 0.4, 0.8) infinite;
margin: 0 auto 20px;
}
.loading-spinner-small {
display: inline-block;
width: 16px;
height: 16px;
border: 2px solid rgba(255,255,255,0.3);
border-top: 2px solid white;
border-radius: 50%;
animation: spin 0.8s cubic-bezier(0.6, 0.2, 0.4, 0.8) infinite;
}
.btn-success .loading-spinner-small {
border: 2px solid rgba(255,255,255,0.3);
border-top: 2px solid white;
}
.loading-text {
font-size: 16px;
color: var(--text-primary);
font-weight: 600;
margin-bottom: 8px;
}
.loading-detail {
font-size: 13px;
color: var(--text-secondary);
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* \u52A8\u6F2B\u641C\u7D22\u7ED3\u679C\u7F51\u683C */
.anime-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
gap: 20px;
margin-top: 16px;
}
.anime-item {
background: rgba(255, 255, 255, 0.6);
backdrop-filter: blur(20px);
border-radius: 16px;
border: 1px solid rgba(255, 255, 255, 0.8);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
overflow: hidden;
cursor: pointer;
transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1);
}
.anime-item:hover {
transform: translateY(-4px);
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
background: rgba(255, 255, 255, 0.85);
}
.anime-item:active {
transform: scale(0.98);
}
.anime-item-img {
width: 100%;
aspect-ratio: 3 / 4;
object-fit: cover;
display: block;
background: rgba(0, 0, 0, 0.03);
}
.anime-title {
padding: 12px;
font-size: 13px;
font-weight: 600;
color: var(--text-primary);
line-height: 1.4;
margin: 0;
word-break: normal;
overflow-wrap: break-word;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
/* \u5267\u96C6\u5217\u8868 */
.episode-list-container {
display: grid;
gap: 10px;
margin-top: 16px;
}
.episode-item {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 16px 20px;
background: rgba(255, 255, 255, 0.6);
backdrop-filter: blur(20px);
border-radius: 14px;
border: 1px solid rgba(255, 255, 255, 0.8);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
transition: all 0.2s;
}
.episode-item:hover {
background: rgba(255, 255, 255, 0.85);
transform: translateX(4px);
}
.episode-item-content {
flex: 1;
font-size: 14px;
color: var(--text-primary);
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.episode-item-content strong {
font-weight: 700;
color: var(--text-primary);
}
.episode-push-btn {
flex-shrink: 0;
padding: 8px 16px;
font-size: 13px;
}
/* \u6587\u5B57\u989C\u8272\u5DE5\u5177\u7C7B */
.text-yellow-gold {
color: #997a00;
}
/* \u63A8\u9001\u5F39\u5E55\u533A\u57DF\u6807\u9898 */
#push-anime-list h3,
#push-episode-list h3 {
font-size: 18px;
font-weight: 700;
margin-bottom: 8px;
color: var(--text-primary);
}
#push-anime-list,
#push-episode-list {
margin-top: 24px;
padding: 24px;
background: rgba(255, 255, 255, 0.4);
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.6);
}
/* \u8BF7\u6C42\u8BB0\u5F55\u6837\u5F0F */
.request-records-container {
border-radius: 8px;
}
.no-records {
text-align: center;
color: #fff;
padding: 60px;
font-style: italic;
font-size: 16px;
}
.record-item {
background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
border: none;
border-radius: 16px;
padding: 10px;
margin-bottom: 10px;
box-shadow: 0 8px 32px rgba(0,0,0,0.15);
transition: transform 0.2s, box-shadow 0.2s;
}
.record-item:hover {
transform: translateY(-2px);
box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}
.record-header {
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: 15px;
flex-wrap: wrap;
gap: 15px;
}
.record-method {
background: linear-gradient(135deg, #00b4db 0%, #0083b0 100%);
color: white;
padding: 8px 16px;
border-radius: 10px;
font-size: 14px;
font-weight: bold;
min-width: 60px;
text-align: center;
box-shadow: 0 4px 15px rgba(0,180,219,0.3);
}
.record-interface {
flex: 1;
font-family: 'Courier New', monospace;
font-weight: 600;
color: #2d3748;
word-break: break-all;
font-size: 15px;
background: #edf2f7;
padding: 8px 16px;
border-radius: 8px;
}
.record-ip {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
color: white;
padding: 8px 16px;
border-radius: 10px;
font-size: 13px;
min-width: 120px;
text-align: center;
font-weight: 500;
box-shadow: 0 4px 15px rgba(245,87,108,0.3);
}
.record-timestamp {
color: #718096;
font-size: 14px;
margin-bottom: 15px;
padding-bottom: 15px;
border-bottom: 2px dashed #e2e8f0;
display: flex;
align-items: center;
gap: 8px;
}
.record-timestamp.no-params {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
.record-timestamp::before {
content: '\u{1F550}';
font-size: 16px;
}
.record-params {
background: #f5f5f5;
border-radius: 12px;
padding: 15px;
border: 1px solid #e0e0e0;
}
.record-params-title {
color: #667eea;
font-weight: 600;
font-size: 14px;
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 8px;
}
.record-params-title::before {
content: '\u{1F4CB}';
font-size: 16px;
}
.record-params pre {
margin: 0;
padding: 15px;
background: #ffffff;
color: #333;
border-radius: 8px;
font-family: 'Courier New', monospace;
font-size: 13px;
white-space: pre-wrap;
word-wrap: break-word;
overflow-x: auto;
line-height: 1.6;
border: 1px solid #ddd;
}
/* \u8BF7\u6C42\u8BB0\u5F55\u79FB\u52A8\u7AEF\u9002\u914D */
@media (max-width: 768px) {
.record-header {
flex-direction: column;
align-items: stretch;
}
.record-method,
.record-interface,
.record-ip {
width: 100%;
box-sizing: border-box;
}
}
/* ===================== */
/* \u5F39\u5E55\u6D4B\u8BD5\u76F8\u5173\u6837\u5F0F */
/* ===================== */
/* \u9876\u7EA7\u6807\u7B7E\u9875 */
.api-top-tabs {
display: flex;
gap: 0;
margin-bottom: 20px;
border-bottom: 2px solid #e0e0e0;
}
.api-top-tab {
padding: 10px 24px;
background: none;
border: none;
border-bottom: 3px solid transparent;
cursor: pointer;
font-size: 15px;
font-weight: 500;
color: #666;
transition: all 0.3s;
margin-bottom: -2px;
}
.api-top-tab:hover {
color: #667eea;
}
.api-top-tab.active {
color: #667eea;
border-bottom-color: #667eea;
font-weight: bold;
}
.api-tab-content {
display: none;
}
.api-tab-content.active {
display: block;
}
/* \u5F39\u5E55\u6D4B\u8BD5\u5B50\u6807\u7B7E */
.danmu-test-tabs {
display: flex;
gap: 10px;
margin-bottom: 20px;
}
.danmu-test-tab {
padding: 8px 20px;
background: #f0f0f0;
border: 2px solid transparent;
border-radius: 20px;
cursor: pointer;
font-size: 14px;
font-weight: 500;
transition: all 0.3s;
color: #555;
}
.danmu-test-tab:hover {
background: #e0e0e0;
}
.danmu-test-tab.active {
background: #667eea;
color: white;
border-color: #667eea;
}
.danmu-test-panel {
display: none;
}
.danmu-test-panel.active {
display: block;
}
/* \u5F39\u5E55\u7EDF\u8BA1\u5361\u7247 */
.danmu-stats {
margin-bottom: 15px;
}
.danmu-stats-title {
font-size: 16px;
font-weight: bold;
color: #667eea;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom: 1px solid #eee;
}
.danmu-stats-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 12px;
}
.danmu-stat-card {
background: #f8f9fa;
border-radius: 10px;
padding: 15px;
text-align: center;
border: 1px solid #eee;
transition: transform 0.2s;
}
.danmu-stat-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.stat-value {
font-size: 20px;
font-weight: bold;
color: #333;
margin-bottom: 4px;
word-break: break-all;
}
.stat-label {
font-size: 12px;
color: #999;
}
.danmu-result-error {
margin-bottom: 15px;
background: #fff8f8;
border: 1px solid #ffcdd2;
color: #c62828;
border-radius: 10px;
padding: 12px 15px;
font-size: 13px;
}
/* \u5F39\u5E55\u70ED\u529B\u56FE */
.danmu-heatmap-container {
margin-bottom: 15px;
background: #f8f9fa;
border-radius: 10px;
padding: 15px;
}
.danmu-section-title {
margin: 0 0 10px;
font-size: 15px;
}
.danmu-section-title-spaced {
margin-top: 15px;
}
.danmu-empty-text {
color: #999;
}
.danmu-empty-list {
text-align: center;
padding: 20px;
}
.heatmap-bars {
display: flex;
align-items: flex-end;
gap: 2px;
height: 100px;
padding: 0 2px;
}
.danmu-heatmap-interactive {
position: relative;
padding-top: 34px;
touch-action: pan-y;
user-select: none;
}
.danmu-heatmap-tooltip {
position: absolute;
top: 0;
left: 0;
transform: translateX(-50%) translateY(-4px);
display: flex;
align-items: baseline;
gap: 4px;
padding: 5px 9px;
border-radius: 999px;
background: rgba(51, 51, 51, 0.92);
color: white;
font-size: 12px;
line-height: 1.2;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity 0.12s ease, transform 0.12s ease;
z-index: 2;
}
.danmu-heatmap-tooltip.active {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
.danmu-heatmap-tooltip strong {
font-size: 15px;
}
.danmu-heatmap-tooltip em {
color: rgba(255,255,255,0.72);
font-style: normal;
margin-left: 3px;
}
.danmu-heatmap-indicator {
position: absolute;
top: 34px;
bottom: 0;
width: 2px;
transform: translateX(-50%);
border-radius: 999px;
background: rgba(102, 126, 234, 0.88);
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.14);
opacity: 0;
pointer-events: none;
transition: opacity 0.12s ease;
z-index: 1;
}
.danmu-heatmap-indicator.active {
opacity: 1;
}
.heatmap-bar {
flex: 1;
min-width: 3px;
height: var(--heatmap-height, 2%);
background: var(--heatmap-color, #667eea);
border-radius: 2px 2px 0 0;
transition: opacity 0.2s, transform 0.12s ease, box-shadow 0.12s ease;
cursor: pointer;
}
.heatmap-bar.active {
opacity: 0.95;
transform: translateY(-2px);
box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.24);
}
.heatmap-bar:hover {
opacity: 0.8;
}
.heatmap-axis {
display: flex;
justify-content: space-between;
margin-top: 6px;
font-size: 11px;
color: #999;
}
/* \u5F39\u5E55\u8FC7\u6EE4\u6807\u7B7E */
.danmu-filter-tabs {
display: flex;
flex-wrap: nowrap;
gap: 8px;
margin-bottom: 12px;
overflow-x: auto;
overflow-y: hidden;
padding-bottom: 2px;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.danmu-filter-tabs::-webkit-scrollbar {
display: none;
}
.danmu-filter-tab {
flex: 0 0 auto;
display: inline-flex;
align-items: center;
gap: 6px;
white-space: nowrap;
padding: 6px 12px;
background: #f0f0f0;
border: 1px solid #ddd;
border-radius: 15px;
cursor: pointer;
font-size: 13px;
transition: all 0.2s;
color: #555;
}
.danmu-filter-tab:hover {
background: #e0e0e0;
}
.danmu-filter-tab.active {
background: #667eea;
color: white;
border-color: #667eea;
}
.danmu-filter-count {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 20px;
height: 18px;
padding: 0 6px;
border-radius: 999px;
background: rgba(0,0,0,0.08);
color: inherit;
font-size: 11px;
font-weight: 600;
line-height: 1;
}
.danmu-filter-tab.active .danmu-filter-count {
background: rgba(255,255,255,0.22);
}
/* \u5F39\u5E55\u5217\u8868 */
.danmu-list-area {
background: #f8f9fa;
border-radius: 10px;
padding: 15px;
}
.danmu-list-area h3 {
margin: 0 0 10px;
font-size: 15px;
}
.danmu-list {
max-height: 500px;
overflow-y: auto;
border: 1px solid #eee;
border-radius: 8px;
background: white;
}
.danmu-item {
display: flex;
align-items: center;
gap: 10px;
padding: 8px 12px;
border-bottom: 1px solid #f0f0f0;
font-size: 13px;
transition: background 0.15s;
}
.danmu-item:last-child {
border-bottom: none;
}
.danmu-item:hover {
background: #f8f9ff;
}
.danmu-time {
color: #999;
font-family: 'Courier New', monospace;
font-size: 12px;
min-width: 50px;
flex-shrink: 0;
}
.danmu-color-dot {
width: 12px;
height: 12px;
border-radius: 50%;
flex-shrink: 0;
border: 1px solid rgba(0,0,0,0.1);
background: var(--danmu-color-dot, #fff);
}
.danmu-mode-tag {
font-size: 11px;
padding: 2px 6px;
border-radius: 8px;
flex-shrink: 0;
font-weight: 500;
}
.danmu-mode-scroll {
background: #e3f2fd;
color: #1976d2;
}
.danmu-mode-top {
background: #fce4ec;
color: #c62828;
}
.danmu-mode-bottom {
background: #e8f5e9;
color: #2e7d32;
}
.danmu-text {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #333;
}
.danmu-load-more {
display: none;
width: 100%;
margin-top: 10px;
}
.jump-to-episode {
margin-top: 15px;
margin-bottom: 15px;
padding: 10px;
background: #f8f9fa;
border-radius: 12px;
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
}
.jump-episode-input {
padding: 8px;
width: 90px;
border: 1px solid #ccc;
border-radius: 8px;
}
.jump-episode-btn {
margin-left: 5px;
border-radius: 8px;
}
.jump-episode-total {
margin-left: 5px;
color: #666;
font-size: 14px;
}
.episode-item.episode-item-highlight {
background: #fff3cd;
}
/* \u8FD4\u56DE\u6309\u94AE */
.btn-back {
padding: 8px 16px;
background: #f0f0f0;
border: 1px solid #ddd;
border-radius: 6px;
cursor: pointer;
font-size: 14px;
color: #555;
transition: all 0.2s;
margin-bottom: 15px;
display: inline-block;
}
.btn-back:hover {
background: #e0e0e0;
color: #333;
}
/* \u5F39\u5E55\u52A0\u8F7D\u52A8\u753B */
.danmu-loading {
text-align: center;
padding: 60px 20px;
}
.danmu-loading .loading-spinner {
margin: 0 auto 15px;
}
.danmu-loading .loading-text {
color: #666;
font-size: 15px;
}
/* \u5F39\u5E55\u7ED3\u679C\u5DE5\u5177\u680F\uFF08\u8FD4\u56DE+\u5BFC\u51FA\u540C\u884C\uFF09 */
.danmu-result-toolbar {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
flex-wrap: wrap;
gap: 10px;
}
.danmu-result-toolbar .btn-back {
margin-bottom: 0;
}
.danmu-export-btns {
display: flex;
gap: 8px;
margin-left: auto;
}
/* \u5F39\u5E55\u6D4B\u8BD5\u79FB\u52A8\u7AEF\u9002\u914D */
@media (max-width: 768px) {
.danmu-stats-grid {
grid-template-columns: repeat(2, 1fr);
}
.api-top-tab {
padding: 8px 16px;
font-size: 14px;
}
.danmu-test-tabs {
flex-wrap: wrap;
}
.stat-value {
font-size: 16px;
}
.heatmap-bars {
height: 70px;
gap: 1px;
padding: 0 1px;
}
.heatmap-bar {
min-width: 2px;
}
}
/* \u989C\u8272\u6C60\u914D\u7F6E */
.color-pool-display {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 12px;
min-height: 36px;
padding: 8px;
border: 1px solid #e0e0e0;
border-radius: 8px;
background: #f9f9f9;
}
.color-pool-item {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 3px 8px;
border: 1px solid #ddd;
border-radius: 6px;
background: #fff;
font-size: 12px;
}
.color-pool-swatch {
display: inline-block;
width: 18px;
height: 18px;
border-radius: 3px;
border: 1px solid #ccc;
}
.color-pool-value {
color: #666;
font-family: monospace;
font-size: 11px;
}
.color-pool-remove {
border: none;
background: none;
color: #999;
cursor: pointer;
padding: 0 2px;
font-size: 14px;
line-height: 1;
}
.color-pool-empty {
color: #999;
font-size: 12px;
align-self: center;
}
.color-pool-picker {
padding: 14px;
border: 1px solid #e0e0e0;
border-radius: 10px;
background: #fafafa;
margin-bottom: 12px;
}
.color-pool-picker-inner {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
}
.color-wheel {
width: 120px;
height: 120px;
border-radius: 50%;
background: conic-gradient(hsl(0,100%,50%),hsl(60,100%,50%),hsl(120,100%,50%),hsl(180,100%,50%),hsl(240,100%,50%),hsl(300,100%,50%),hsl(360,100%,50%));
cursor: crosshair;
position: relative;
box-shadow: 0 1px 4px rgba(0,0,0,0.1);
flex-shrink: 0;
}
.color-wheel-center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
width: 44%;
height: 44%;
border-radius: 50%;
background: #fafafa;
}
.color-wheel-dot {
position: absolute;
width: 14px;
height: 14px;
border-radius: 50%;
border: 2.5px solid #fff;
box-shadow: 0 0 4px rgba(0,0,0,0.35);
pointer-events: none;
}
.color-pool-preview {
display: flex;
align-items: center;
gap: 10px;
}
.color-pool-preview-swatch {
width: 32px;
height: 32px;
border-radius: 6px;
border: 1px solid #ddd;
flex-shrink: 0;
}
.color-pool-preview-hex {
font-family: monospace;
font-size: 13px;
color: #555;
}
.color-pool-lightness {
display: flex;
align-items: center;
gap: 8px;
width: 100%;
max-width: 240px;
}
.color-pool-lightness span {
font-size: 12px;
color: #888;
flex-shrink: 0;
}
.color-pool-lightness input {
flex: 1;
accent-color: #667eea;
}
.color-pool-actions {
display: flex;
gap: 8px;
flex-wrap: nowrap;
}
.color-pool-actions .btn {
white-space: nowrap;
flex-shrink: 0;
}
.color-pool-actions .spacer {
flex: 1;
}
/* \u6279\u91CF\u6DFB\u52A0\u989C\u8272\u5F39\u7A97 */
.batch-color-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.4);
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
}
.batch-color-dialog {
background: #fff;
border-radius: 12px;
padding: 20px;
width: 90%;
max-width: 420px;
box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.batch-color-input {
width: 100%;
padding: 8px 10px;
border: 1px solid #ddd;
border-radius: 6px;
font-size: 13px;
font-family: monospace;
resize: vertical;
box-sizing: border-box;
}
.batch-color-preview {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 10px;
min-height: 24px;
}
.batch-color-preview-swatch {
display: inline-block;
width: 22px;
height: 22px;
border-radius: 4px;
border: 1px solid #ccc;
}
.batch-color-actions {
display: flex;
gap: 8px;
justify-content: flex-end;
margin-top: 14px;
}
/* \u504F\u79FB\u89C4\u5219\u5FEB\u901F\u914D\u7F6E */
.offset-rule-panel {
display: none;
margin-top: 10px;
padding: 12px;
border: 1px solid #e0e0e0;
border-radius: 8px;
background: #f9f9f9;
}
.offset-form-row {
display: flex;
gap: 8px;
flex-wrap: wrap;
margin-bottom: 10px;
}
.offset-label {
font-size: 12px;
color: #666;
}
.offset-input {
width: 100%;
padding: 6px 8px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 13px;
box-sizing: border-box;
}
.offset-sources {
display: flex;
flex-wrap: wrap;
gap: 5px;
margin-top: 5px;
}
.offset-source-tag {
padding: 3px 10px;
border: 1px solid #ddd;
border-radius: 12px;
font-size: 12px;
cursor: pointer;
user-select: none;
background: #fff;
color: #666;
transition: all 0.15s;
}
.offset-source-tag.selected {
background: #1a73e8;
color: #fff;
border-color: #1a73e8;
}
.offset-actions {
display: flex;
gap: 8px;
justify-content: flex-end;
}
/* \u6700\u8FD1\u6570\u636E\u4E0Eanimes\u7F13\u5B58\u9762\u677F\u6837\u5F0F */
/* \u9762\u677F\u5BB9\u5668 */
.recent-data-panel {
display: none;
max-height: 350px;
overflow-y: auto;
}
.anime-cache-list {
display: flex;
flex-direction: column;
gap: 8px;
}
.anime-cache-card {
background: #fff;
border-radius: 6px;
border: 1px solid #eaeaea;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
overflow: hidden;
}
.anime-cache-card-body {
display: flex;
gap: 12px;
align-items: center;
padding: 10px;
}
.anime-cache-cover {
width: 44px;
height: 60px;
border-radius: 4px;
background-color: #e2e3e5;
background-size: cover;
background-position: center;
flex-shrink: 0;
box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}
.anime-cache-info,
.anime-cache-child-info {
flex: 1;
min-width: 0;
}
.anime-cache-title {
font-weight: 600;
font-size: 13px;
line-height: 1.4;
margin-bottom: 4px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
word-break: break-all;
}
.anime-cache-meta {
color: #888;
font-size: 11px;
}
.anime-cache-actions,
.anime-cache-child-actions {
display: flex;
flex-direction: column;
flex-shrink: 0;
}
.anime-cache-actions { gap: 6px; }
.btn-xs {
padding: 2px 6px;
font-size: 11px;
}
/* \u5361\u7247\u5E95\u90E8\u6807\u7B7E\u5207\u6362\u680F(Tab \u98CE\u683C) */
.anime-cache-footer {
display: flex;
gap: 8px;
padding: 8px 10px;
background: #fdfdfd;
border-top: 1px solid #f0f0f0;
}
.cache-badge {
font-size: 11px;
padding: 4px 10px;
border-radius: 12px;
cursor: pointer;
user-select: none;
display: inline-flex;
align-items: center;
font-weight: 500;
transition: all 0.2s;
}
.cache-badge.badge-sources { background: #e3f2fd; color: #0d47a1; border: 1px solid #bbdefb; }
.cache-badge.badge-episodes { background: #e8f5e9; color: #1b5e20; border: 1px solid #c8e6c9; }
.cache-badge.active { filter: brightness(0.9); box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); }
/* \u6298\u53E0\u5217\u8868\u5BB9\u5668 */
.merged-children-container,
.episodes-list-container {
display: none;
flex-direction: column;
gap: 6px;
padding: 8px 10px;
background: #fafafa;
border-top: 1px solid #f0f0f0;
}
.episodes-list-container {
max-height: 200px;
overflow-y: auto;
}
/* \u5B50\u8282\u70B9\u5361\u7247 */
.anime-cache-child-item {
display: flex;
flex-direction: column;
background: #fff;
padding: 8px;
border-radius: 4px;
border: 1px dashed #ccc;
}
.anime-cache-child-main {
display: flex;
gap: 10px;
align-items: center;
width: 100%;
}
.anime-cache-child-cover {
width: 33px;
height: 45px;
border-radius: 3px;
background-color: #e2e3e5;
background-size: cover;
background-position: center;
flex-shrink: 0;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.anime-cache-child-title {
font-weight: 500;
font-size: 12px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.anime-cache-child-actions { gap: 4px; }
/* \u5408\u5E76\u6620\u5C04\u8BE6\u60C5 */
.child-mapping-toggle {
font-size: 10px;
color: #666;
cursor: pointer;
margin-top: 8px;
padding-top: 6px;
border-top: 1px dashed #eee;
text-align: center;
}
.child-mapping-toggle:hover {
color: #0066cc;
}
.child-mapping-container {
display: none;
flex-direction: column;
gap: 4px;
margin-top: 6px;
background: #fdfdfd;
padding: 6px;
border-radius: 4px;
border: 1px solid #f0f0f0;
max-height: 150px;
overflow-y: auto;
}
.mapping-row {
font-size: 10px;
display: flex;
gap: 6px;
align-items: flex-start;
}
.mapping-status { flex-shrink: 0; font-weight: bold; }
.mapping-status.success { color: #28a745; }
.mapping-status.warning { color: #d39e00; }
.mapping-text { color: #555; word-break: break-all; }
`;var $st=`
/* \u8868\u5355\u6837\u5F0F - Zen-iOS Hybrid Design */
.form-group {
margin-bottom: 24px;
}
.form-group label {
display: block;
margin-bottom: 8px;
font-size: 11px;
font-weight: 700;
color: var(--text-secondary);
text-transform: uppercase;
letter-spacing: 0.08em;
}
.form-group input,
.form-group select,
.form-group textarea {
width: 100%;
padding: 12px 16px;
border: 1px solid rgba(0,0,0,0.06);
border-radius: 12px; /* Smooth corners */
font-size: 14px;
background-color: rgba(245, 245, 247, 0.5); /* #F5F5F7 50% */
color: var(--text-primary);
box-shadow: var(--shadow-inner); /* Inner shadow for depth */
transition: all 0.2s;
outline: none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
background-color: #FFFFFF;
border-color: var(--primary-color);
box-shadow: 0 0 0 4px rgba(28, 28, 30, 0.1); /* Focus ring */
}
.form-group textarea {
resize: vertical;
min-height: 100px;
font-family: 'SF Mono', 'Menlo', monospace;
line-height: 1.5;
}
/* \u5F00\u5173\u6309\u94AE (iOS style) */
.switch-container {
display: flex;
align-items: center;
gap: 12px;
}
.switch {
position: relative;
display: inline-block;
width: 52px;
height: 32px;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(120, 120, 128, 0.16); /* iOS gray */
transition: .3s cubic-bezier(0.25, 1, 0.5, 1);
border-radius: 32px;
}
.slider:before {
position: absolute;
content: "";
height: 28px;
width: 28px;
left: 2px;
bottom: 2px;
background-color: white;
transition: .3s cubic-bezier(0.25, 1, 0.5, 1);
border-radius: 50%;
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 3px 1px rgba(0, 0, 0, 0.06);
}
input:checked + .slider {
background-color: var(--success-color); /* Green for on */
}
input:checked + .slider:before {
transform: translateX(20px);
}
.switch-label {
font-weight: 600;
color: var(--text-primary);
font-size: 14px;
}
/* \u6570\u5B57\u6EDA\u8F6E */
.number-picker {
display: flex;
align-items: center;
gap: 20px;
background: rgba(255, 255, 255, 0.5);
padding: 20px;
border-radius: 16px;
border: 1px solid rgba(0,0,0,0.05);
}
.number-display {
font-size: 40px;
font-weight: 800;
color: var(--text-primary);
min-width: 70px;
text-align: center;
font-variant-numeric: tabular-nums;
}
.number-controls {
display: flex;
flex-direction: column;
gap: 8px;
}
.number-btn {
width: 36px;
height: 36px;
border: 1px solid rgba(0,0,0,0.1);
background: white;
color: var(--text-primary);
border-radius: 10px;
cursor: pointer;
font-size: 18px;
font-weight: bold;
transition: all 0.2s;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.number-btn:hover {
background: #F5F5F7;
transform: translateY(-1px);
}
.number-btn:active {
transform: scale(0.95);
background: #E5E5EA;
}
/* Range Slider */
.number-range input[type="range"] {
-webkit-appearance: none;
width: 100%;
height: 6px;
border-radius: 3px;
background: rgba(120, 120, 128, 0.16);
outline: none;
padding: 0;
box-shadow: none;
border: none;
}
.number-range input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 28px;
height: 28px;
border-radius: 50%;
background: white;
cursor: pointer;
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 3px 1px rgba(0, 0, 0, 0.06);
border: 0.5px solid rgba(0,0,0,0.04);
}
/* \u6807\u7B7E\u9009\u62E9 */
.tag-selector {
display: flex;
flex-wrap: wrap;
gap: 12px;
}
.tag-option {
padding: 8px 16px;
background: #FFFFFF;
border: 1px solid rgba(0,0,0,0.1);
border-radius: 100px;
cursor: pointer;
transition: all 0.2s;
font-size: 13px;
font-weight: 600;
color: var(--text-secondary);
}
.tag-option:hover {
background: #F5F5F7;
color: var(--text-primary);
}
.tag-option.selected {
background: var(--primary-color);
color: white;
border-color: var(--primary-color);
box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}
/* \u591A\u9009\u533A\u57DF */
.selected-tags {
min-height: 80px;
background: rgba(245, 245, 247, 0.5);
border: 1px dashed rgba(0,0,0,0.15);
border-radius: 16px;
padding: 16px;
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: flex-start;
box-shadow: var(--shadow-inner);
}
.selected-tag {
display: inline-flex;
align-items: center;
gap: 8px;
background: var(--primary-color);
color: white;
padding: 8px 16px;
border-radius: 100px;
font-size: 13px;
font-weight: 600;
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
cursor: move;
}
.selected-tag .remove-btn {
width: 20px;
height: 20px;
background: rgba(255,255,255,0.2);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: background 0.2s;
font-size: 12px;
}
.selected-tag .remove-btn:hover {
background: rgba(255,255,255,0.4);
}
.available-tags {
margin-top: 15px;
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.available-tag {
padding: 6px 14px;
background: #FFFFFF;
border: 1px solid rgba(0,0,0,0.1);
border-radius: 100px;
font-size: 12px;
font-weight: 500;
color: var(--text-secondary);
transition: all 0.2s;
display: inline-flex;
cursor: pointer;
}
.available-tag:hover {
transform: translateY(-1px);
border-color: rgba(0,0,0,0.2);
}
.available-tag.disabled {
opacity: 0.4;
cursor: not-allowed;
pointer-events: none;
}
/* \u5408\u5E76\u6A21\u5F0F\u63A7\u5236\u533A */
.merge-mode-controls {
display: flex;
align-items: center;
margin-top: 16px;
margin-bottom: 12px;
gap: 0;
}
.merge-mode-btn {
display: inline-flex;
align-items: center;
padding: 0;
background: transparent;
border: none;
color: var(--accent-color);
font-size: 13px;
font-weight: 600;
cursor: pointer;
transition: all 0.2s;
text-decoration: none;
position: relative;
}
.merge-mode-btn:hover {
color: #005ecb;
}
.merge-mode-btn:active {
opacity: 0.6;
}
.merge-mode-btn.active {
color: var(--success-color);
}
.merge-mode-controls .form-help {
font-size: 12px;
color: var(--text-secondary);
margin: 0;
margin-left: 10px;
}
/* \u6682\u5B58\u533A */
.staging-area {
display: none;
min-height: 60px;
background: rgba(255, 243, 205, 0.3);
border: 1px dashed rgba(255, 193, 7, 0.4);
border-radius: 12px;
padding: 12px;
margin-top: 12px;
margin-bottom: 12px;
flex-wrap: wrap;
gap: 8px;
align-items: center;
position: relative;
}
.staging-area.active {
display: flex;
}
.staging-tag {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(255, 193, 7, 0.15);
color: var(--text-primary);
padding: 6px 12px;
border-radius: 100px;
font-size: 12px;
font-weight: 600;
border: 1px solid rgba(255, 193, 7, 0.3);
cursor: move;
}
.staging-tag.dragging {
opacity: 0.5;
}
.staging-tag.drag-over {
border-color: var(--accent-color);
background: rgba(0, 122, 255, 0.1);
}
.staging-tag .remove-btn {
width: 16px;
height: 16px;
background: rgba(0, 0, 0, 0.1);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: background 0.2s;
font-size: 11px;
line-height: 1;
}
.staging-tag .remove-btn:hover {
background: rgba(0, 0, 0, 0.2);
}
.confirm-merge-btn {
width: 32px;
height: 32px;
background: var(--success-color);
color: white;
border: none;
border-radius: 50%;
cursor: pointer;
font-size: 16px;
font-weight: bold;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s;
box-shadow: 0 2px 8px rgba(52, 199, 89, 0.3);
margin-left: auto;
}
.confirm-merge-btn:hover {
background: #2fb350;
transform: scale(1.05);
}
.confirm-merge-btn:active {
transform: scale(0.95);
}
/* Map items */
.map-item {
background: #FFFFFF;
border: 1px solid rgba(0,0,0,0.06);
border-radius: 12px;
padding: 12px;
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 12px;
box-shadow: 0 2px 6px rgba(0,0,0,0.02);
}
.map-input-left, .map-input-right {
background: #F5F5F7;
border: none;
border-radius: 8px;
padding: 8px 12px;
font-family: 'SF Mono', monospace;
font-size: 13px;
}
`;var Fst=`
/* \u54CD\u5E94\u5F0F\u6837\u5F0F - Zen-iOS Hybrid Design */
@media (max-width: 768px) {
body {
padding: 10px;
}
.container {
border-radius: 24px; /* Slightly smaller radius on mobile */
}
.header {
padding: 20px;
flex-direction: column;
align-items: stretch;
}
.header-left {
width: 100%;
align-items: center;
text-align: center;
}
.logo-title-container {
flex-direction: column;
gap: 10px;
}
.logo {
width: 48px;
height: 48px;
font-size: 20px;
}
.header h1 {
font-size: 20px;
}
.version-info {
justify-content: center;
margin-top: 8px;
width: 100%;
font-size: 11px;
}
.nav-buttons {
width: 100%;
justify-content: stretch;
gap: 4px;
background: rgba(118, 118, 128, 0.12);
border-radius: 12px;
padding: 4px;
}
.nav-btn {
flex: 1;
text-align: center;
font-size: 12px;
padding: 6px 2px;
border-radius: 8px;
}
.content {
padding: 20px;
}
.env-item {
flex-direction: column;
align-items: stretch;
padding: 16px;
}
.env-item .env-info {
min-width: 0; /* Fix flex overflow */
width: 100%;
}
.env-item .env-info div.text-dark-gray {
font-size: 13px;
max-width: 100%;
}
.env-actions {
width: 100%;
margin-top: 12px;
display: flex;
}
.env-actions .btn {
flex: 1;
}
/* \u9884\u89C8\u5361\u7247\u79FB\u52A8\u7AEF */
.preview-category {
padding: 16px;
}
.preview-item {
padding: 12px;
}
.preview-item .preview-value {
font-size: 12px;
}
.api-selector select {
font-size: 16px; /* Prevent auto-zoom on iOS */
}
/* \u914D\u7F6E\u7F16\u8F91\u5F39\u7A97\u79FB\u52A8\u7AEF\u9002\u914D */
#env-modal .modal-content {
width: 95vw;
max-width: none;
padding: 24px 20px;
border-radius: 24px;
max-height: 90vh;
}
#env-modal .selected-tags {
max-height: 120px;
}
#env-modal .available-tags {
max-height: 150px;
}
#env-modal .modal-header {
padding-bottom: 16px;
margin-bottom: 20px;
}
#env-modal .modal-header h3 {
font-size: 18px;
}
/* \u63A8\u9001\u5F39\u5E55\u79FB\u52A8\u7AEF\u9002\u914D */
.anime-grid {
grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
gap: 12px;
}
.anime-item-img {
aspect-ratio: 3 / 4;
}
.anime-title {
padding: 10px;
font-size: 12px;
}
.episode-item {
flex-direction: column;
align-items: stretch;
gap: 12px;
padding: 14px 16px;
}
.episode-item-content {
white-space: normal;
}
.episode-push-btn {
width: 100%;
}
#push-anime-list,
#push-episode-list {
padding: 16px;
margin-top: 16px;
}
}
`;var Ust=`
// \u81EA\u5B9A\u4E49\u5F39\u7A97\u7EC4\u4EF6
function createCustomAlert() {
// \u68C0\u67E5\u662F\u5426\u5DF2\u5B58\u5728\u81EA\u5B9A\u4E49\u5F39\u7A97\u5143\u7D20
if (document.getElementById('custom-alert-overlay')) {
return;
}
// \u521B\u5EFA\u5F39\u7A97HTML\u5143\u7D20
const alertHTML = '<div class="modal" id="custom-alert-overlay"><div class="modal-content" id="custom-alert-content"><div class="modal-header"><h3 id="custom-alert-title">\u63D0\u793A</h3><button class="close-btn" id="custom-alert-close">&times;</button></div><div class="modal-body"><p id="custom-alert-message"></p></div><div class="modal-footer"><button class="btn btn-primary" id="custom-alert-confirm">\u786E\u5B9A</button></div></div></div>';
// \u6DFB\u52A0\u5230body
document.body.insertAdjacentHTML('beforeend', alertHTML);
// \u83B7\u53D6\u5143\u7D20
const overlay = document.getElementById('custom-alert-overlay');
const closeBtn = document.getElementById('custom-alert-close');
const confirmBtn = document.getElementById('custom-alert-confirm');
// \u5173\u95ED\u5F39\u7A97\u51FD\u6570
function closeAlert() {
overlay.classList.remove('active');
// \u91CD\u7F6E\u6807\u9898\u548C\u6D88\u606F
document.getElementById('custom-alert-title').textContent = '\u63D0\u793A';
}
// \u4E8B\u4EF6\u76D1\u542C\u5668
closeBtn.addEventListener('click', closeAlert);
confirmBtn.addEventListener('click', closeAlert);
// \u70B9\u51FB\u906E\u7F69\u5C42\u5173\u95ED\u5F39\u7A97
overlay.addEventListener('click', function(e) {
if (e.target === overlay) {
closeAlert();
}
});
}
// \u81EA\u5B9A\u4E49alert\u51FD\u6570
function customAlert(message, title = '\u63D0\u793A') {
// \u786E\u4FDD\u5F39\u7A97\u5143\u7D20\u5DF2\u521B\u5EFA
createCustomAlert();
// \u83B7\u53D6\u5143\u7D20
const overlay = document.getElementById('custom-alert-overlay');
const titleElement = document.getElementById('custom-alert-title');
const messageElement = document.getElementById('custom-alert-message');
// \u8BBE\u7F6E\u6807\u9898\u548C\u6D88\u606F
titleElement.textContent = title;
messageElement.innerHTML = message;
// \u663E\u793A\u5F39\u7A97
overlay.classList.add('active');
}
// \u81EA\u5B9A\u4E49confirm\u51FD\u6570\uFF08\u5982\u679C\u9700\u8981\uFF09
function customConfirm(message, title = '\u786E\u8BA4') {
return new Promise((resolve) => {
// \u786E\u4FDD\u5F39\u7A97\u5143\u7D20\u5DF2\u521B\u5EFA
createCustomAlert();
// \u83B7\u53D6\u5143\u7D20
const overlay = document.getElementById('custom-alert-overlay');
const titleElement = document.getElementById('custom-alert-title');
const messageElement = document.getElementById('custom-alert-message');
const confirmBtn = document.getElementById('custom-alert-confirm');
// \u79FB\u9664\u4E4B\u524D\u7684\u4E8B\u4EF6\u76D1\u542C\u5668\uFF08\u5982\u679C\u6709\uFF09
const newConfirmBtn = confirmBtn.cloneNode(true);
confirmBtn.parentNode.replaceChild(newConfirmBtn, confirmBtn);
// \u8BBE\u7F6E\u6807\u9898\u548C\u6D88\u606F
titleElement.textContent = title;
messageElement.innerHTML = message;
// \u786E\u5B9A\u6309\u94AE\u4E8B\u4EF6
newConfirmBtn.addEventListener('click', () => {
overlay.classList.remove('active');
resolve(true);
});
// \u5173\u95ED\u6309\u94AE\u4E8B\u4EF6
document.getElementById('custom-alert-close').addEventListener('click', () => {
overlay.classList.remove('active');
resolve(false);
});
// \u70B9\u51FB\u906E\u7F69\u5C42\u5173\u95ED
overlay.addEventListener('click', function(e) {
if (e.target === overlay) {
overlay.classList.remove('active');
resolve(false);
}
});
// \u663E\u793A\u5F39\u7A97
overlay.classList.add('active');
});
}
// \u521D\u59CB\u5316\u81EA\u5B9A\u4E49\u5F39\u7A97
document.addEventListener('DOMContentLoaded', createCustomAlert);
// \u6570\u636E\u5B58\u50A8
let envVariables = {};
let currentCategory = 'api'; // \u9ED8\u8BA4\u5206\u7C7B\u6539\u4E3Aapi
let editingKey = null;
let logs = []; // \u4FDD\u7559\u672C\u5730\u65E5\u5FD7\u6570\u7EC4\uFF0C\u7528\u4E8EUI\u663E\u793A
// \u7248\u672C\u4FE1\u606F
let currentVersion = '';
let latestVersion = '';
let currentToken = 'globals.currentToken';
let currentAdminToken = ''; // admin token\uFF0C\u7528\u4E8E\u7CFB\u7EDF\u7BA1\u7406
let originalToken = '';
// \u53CD\u5411\u4EE3\u7406/API\u57FA\u7840\u8DEF\u5F84\u914D\u7F6E
// \u4ECELocalStorage\u83B7\u53D6\u7528\u6237\u81EA\u5B9A\u4E49\u7684Base URL
let customBaseUrl = localStorage.getItem('logvar_api_base_url') || '';
// \u4FDD\u5B58\u81EA\u5B9A\u4E49Base URL (\u4E3A\u7A7A\u5219\u6E05\u9664)
function saveBaseUrl() {
const input = document.getElementById('custom-base-url').value.trim();
if (input) {
// \u786E\u4FDDURL\u4E0D\u4EE5\u659C\u6760\u7ED3\u5C3E\uFF0C\u65B9\u4FBF\u540E\u7EED\u62FC\u63A5
let formattedUrl = input;
if (formattedUrl.endsWith('/')) {
formattedUrl = formattedUrl.slice(0, -1);
}
localStorage.setItem('logvar_api_base_url', formattedUrl);
customBaseUrl = formattedUrl;
customAlert('API\u5730\u5740\u914D\u7F6E\u5DF2\u4FDD\u5B58\uFF0C\u5373\u5C06\u5237\u65B0\u9875\u9762\u3002', '\u4FDD\u5B58\u6210\u529F');
setTimeout(() => {
location.reload();
}, 1000);
} else {
// \u8F93\u5165\u4E3A\u7A7A\uFF0C\u89C6\u4E3A\u6E05\u9664\u914D\u7F6E/\u91CD\u7F6E\u4E3A\u9ED8\u8BA4
localStorage.removeItem('logvar_api_base_url');
customBaseUrl = '';
customAlert('\u914D\u7F6E\u5DF2\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u72B6\u6001\uFF0C\u5373\u5C06\u5237\u65B0\u9875\u9762\u3002', '\u64CD\u4F5C\u6210\u529F');
setTimeout(() => {
location.reload();
}, 1000);
}
}
// \u6784\u5EFA\u5E26token\u7684API\u8BF7\u6C42\u8DEF\u5F84
function buildApiUrl(path, isSystemPath = false) {
let res;
// \u5982\u679C\u662F\u7CFB\u7EDF\u7BA1\u7406\u8DEF\u5F84\u4E14\u6709admin token,\u5219\u4F7F\u7528admin token
if (isSystemPath && currentAdminToken && currentAdminToken.trim() !== '' && currentAdminToken.trim() !== '*'.repeat(currentAdminToken.length)) {
res = '/' + currentAdminToken + path;
} else {
// \u5426\u5219\u4F7F\u7528\u666E\u901Atoken
res = (currentToken ? '/' + currentToken : "") + path;
}
// \u5982\u679C\u914D\u7F6E\u4E86\u81EA\u5B9A\u4E49\u57FA\u7840URL (\u89E3\u51B3\u53CD\u4EE3\u95EE\u9898)
if (customBaseUrl) {
// \u786E\u4FDD\u8DEF\u5F84\u4EE5/\u5F00\u5934
const cleanPath = res.startsWith('/') ? res : '/' + res;
return customBaseUrl + cleanPath;
}
return res;
}
// \u4ECEAPI\u52A0\u8F7D\u771F\u5B9E\u73AF\u5883\u53D8\u91CF\u6570\u636E
function loadEnvVariables() {
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u914D\u7F6E\u6570\u636E
fetch(buildApiUrl('/api/config', true))
.then(response => response.json())
.then(config => {
// \u4ECE\u914D\u7F6E\u4E2D\u83B7\u53D6admin token
currentAdminToken = config.originalEnvVars?.ADMIN_TOKEN || '';
originalToken = config.originalEnvVars?.TOKEN || '';
// \u4F7F\u7528\u4ECEAPI\u83B7\u53D6\u7684\u539F\u59CB\u73AF\u5883\u53D8\u91CF\uFF0C\u7528\u4E8E\u7CFB\u7EDF\u8BBE\u7F6E
const originalEnvVars = config.originalEnvVars || {};
// \u91CD\u65B0\u7EC4\u7EC7\u6570\u636E\u7ED3\u6784\u4EE5\u9002\u914D\u73B0\u6709UI
envVariables = {};
// \u5C06\u539F\u59CB\u73AF\u5883\u53D8\u91CF\u8F6C\u6362\u4E3AUI\u6240\u9700\u683C\u5F0F
// \u8FD9\u91CC\u9700\u8981\u5C06\u539F\u59CB\u73AF\u5883\u53D8\u91CF\u6309\u7C7B\u522B\u7EC4\u7EC7
Object.keys(originalEnvVars).forEach(key => {
// \u4ECEenvVarConfig\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F
const varConfig = config.envVarConfig?.[key] || { category: 'system', type: 'text', description: '\u672A\u5206\u7C7B\u914D\u7F6E\u9879' };
const category = varConfig.category || 'system';
// \u5982\u679C\u8BE5\u5206\u7C7B\u4E0D\u5B58\u5728\uFF0C\u521B\u5EFA\u5B83
if (!envVariables[category]) {
envVariables[category] = [];
}
// \u6DFB\u52A0\u5230\u5BF9\u5E94\u5206\u7C7B\uFF0C\u5305\u542B\u5B8C\u6574\u7684\u914D\u7F6E\u4FE1\u606F
envVariables[category].push({
key: key,
value: originalEnvVars[key],
description: varConfig.description || '',
type: varConfig.type || 'text',
min: varConfig.min,
max: varConfig.max,
options: varConfig.options || [], // \u4EC5\u5BF9 select \u548C multi-select \u7C7B\u578B\u6709\u6548
sources: varConfig.sources || null // \u4EC5\u5BF9 DANMU_OFFSET \u7B49\u9700\u8981\u6765\u6E90\u914D\u7F6E\u7684\u6709\u6548
});
});
// \u6E32\u67D3\u73AF\u5883\u53D8\u91CF\u5217\u8868
renderEnvList();
})
.catch(error => {
console.error('Failed to load env variables:', error);
});
}
// \u66F4\u65B0API\u7AEF\u70B9\u4FE1\u606F
function updateApiEndpoint() {
return fetch(buildApiUrl('/api/config', true))
.then(response => {
// \u68C0\u67E5ContentType\uFF0C\u5982\u679C\u662FHTML\u8BF4\u660E\u53EF\u80FD\u662F404\u9875\u9762\u6216\u53CD\u4EE3\u9519\u8BEF\u9875\u9762
const contentType = response.headers.get("content-type");
if (contentType && contentType.indexOf("application/json") === -1) {
throw new Error("Received HTML instead of JSON. Possible 404 or Proxy Error.");
}
if (!response.ok) {
throw new Error(\`HTTP error! status: \${response.status}\`);
}
return response.json();
})
.then(config => {
let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u914D\u7F6E
// \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3
const protocol = window.location.protocol;
const host = window.location.host;
const token = config.originalEnvVars?.TOKEN || '87654321'; // \u9ED8\u8BA4token\u503C
const adminToken = config.originalEnvVars?.ADMIN_TOKEN;
// \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token
let urlPath = window.location.pathname;
if(_reverseProxy) {
try {
let proxyPath = _reverseProxy.startsWith('http')
? new URL(_reverseProxy).pathname
: _reverseProxy;
if (proxyPath.endsWith('/')) {
proxyPath = proxyPath.slice(0, -1);
}
if(proxyPath && urlPath.startsWith(proxyPath)) {
urlPath = urlPath.substring(proxyPath.length);
}
} catch(e) { /* ignore */ }
}
const pathParts = urlPath.split('/').filter(part => part !== '');
const urlToken = pathParts.length > 0 ? pathParts[0] : '';
let apiToken = '********';
// \u5224\u65AD\u662F\u5426\u4F7F\u7528\u9ED8\u8BA4token
if (token === '87654321') {
// \u5982\u679C\u662F\u9ED8\u8BA4token\uFF0C\u5219\u663E\u793A\u771F\u5B9Etoken
apiToken = token;
} else {
// \u5982\u679C\u4E0D\u662F\u9ED8\u8BA4token\uFF0C\u5219\u68C0\u67E5URL\u4E2D\u7684token\u662F\u5426\u5339\u914D\uFF0C\u5339\u914D\u5219\u663E\u793A\u771F\u5B9Etoken\uFF0C\u5426\u5219\u663E\u793A\u661F\u53F7
if (urlToken === token || (adminToken !== "" && urlToken === adminToken)) {
apiToken = token; // \u66F4\u65B0\u5168\u5C40token\u53D8\u91CF
}
}
// \u6784\u9020API\u7AEF\u70B9URL
let baseUrlStr;
if (_reverseProxy) {
// \u5982\u679C\u914D\u7F6E\u4E86\u53CD\u4EE3\uFF0C\u4E14\u662F\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u5219\u8865\u5168\u534F\u8BAE\u548C\u4E3B\u673A\uFF0C\u786E\u4FDD\u663E\u793A\u4E3A\u7EDD\u5BF9\u8DEF\u5F84
baseUrlStr = _reverseProxy.startsWith('http')
? _reverseProxy
: (protocol + '//' + host + _reverseProxy);
} else {
baseUrlStr = protocol + '//' + host;
}
// \u786E\u4FDD baseUrlStr \u4E0D\u4EE5\u659C\u6760\u7ED3\u5C3E
let cleanBaseUrl = baseUrlStr;
if (cleanBaseUrl.endsWith('/')) {
cleanBaseUrl = cleanBaseUrl.slice(0, -1);
}
const apiEndpoint = cleanBaseUrl + '/' + apiToken;
const apiEndpointElement = document.getElementById('api-endpoint');
if (apiEndpointElement) {
apiEndpointElement.textContent = apiEndpoint;
}
return config; // \u8FD4\u56DE\u914D\u7F6E\u4FE1\u606F\uFF0C\u4EE5\u4FBF\u94FE\u5F0F\u8C03\u7528
})
.catch(error => {
console.error('\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F\u5931\u8D25:', error);
// \u51FA\u9519\u65F6\u663E\u793A\u9ED8\u8BA4\u503C
const protocol = window.location.protocol;
const host = window.location.host;
let _reverseProxy = customBaseUrl;
// \u6784\u9020\u663E\u793A\u7528\u7684BaseUrl
let baseUrlStr;
if (_reverseProxy) {
baseUrlStr = _reverseProxy.startsWith('http')
? _reverseProxy
: (protocol + '//' + host + _reverseProxy);
} else {
baseUrlStr = protocol + '//' + host;
}
let cleanBaseUrl = baseUrlStr;
if (cleanBaseUrl.endsWith('/')) {
cleanBaseUrl = cleanBaseUrl.slice(0, -1);
}
const apiEndpoint = cleanBaseUrl + '/********';
const apiEndpointElement = document.getElementById('api-endpoint');
if (apiEndpointElement) {
apiEndpointElement.textContent = apiEndpoint;
}
// \u5982\u679C\u662F\u56E0\u4E3A\u53CD\u4EE3\u5BFC\u81F4\u7684\u95EE\u9898\uFF0C\u663E\u793A\u8F93\u5165\u6846 (\u4EA4\u7531renderPreview\u5904\u7406\uFF0C\u6216\u8005\u5728\u8FD9\u91CC\u4E5F\u53EF\u4EE5\u89E6\u53D1)
const proxyContainer = document.getElementById('proxy-config-container');
if(proxyContainer) {
proxyContainer.style.display = 'block';
// \u586B\u5145\u5F53\u524D\u8F93\u5165\u6846\uFF08\u5982\u679C\u6709\u503C\uFF09
if(customBaseUrl) {
document.getElementById('custom-base-url').value = customBaseUrl;
}
}
throw error; // \u629B\u51FA\u9519\u8BEF\uFF0C\u4EE5\u4FBF\u8C03\u7528\u8005\u53EF\u4EE5\u5904\u7406
});
}
function getDockerVersion() {
const url = "https://img.shields.io/docker/v/logvar/danmu-api?sort=semver";
fetch(url)
.then(response => response.text())
.then(svgContent => {
// \u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F\u4ECE SVG \u4E2D\u63D0\u53D6\u7248\u672C\u53F7
const versionMatch = svgContent.match(/version<\\/text><text.*?>(v[\\d\\.]+)/);
if (versionMatch && versionMatch[1]) {
console.log("Version:", versionMatch[1]);
const latestVersionElement = document.getElementById('latest-version');
if (latestVersionElement) {
latestVersionElement.textContent = versionMatch[1];
}
} else {
console.log("Version not found");
}
})
.catch(error => {
console.error("Error fetching the SVG:", error);
});
}
// \u5207\u6362\u5BFC\u822A
function switchSection(section, event = null) {
// \u68C0\u67E5\u662F\u5426\u5C1D\u8BD5\u8BBF\u95EE\u53D7token\u4FDD\u62A4\u7684section\uFF08\u65E5\u5FD7\u67E5\u770B\u3001\u63A5\u53E3\u8C03\u8BD5\u3001\u63A8\u9001\u5F39\u5E55\u3001\u8BF7\u6C42\u8BB0\u5F55\u3001\u7CFB\u7EDF\u914D\u7F6E\u9700\u8981token\u8BBF\u95EE\uFF09
if (section === 'logs' || section === 'api' || section === 'env' || section === 'push' || section === 'request-records') {
let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u914D\u7F6E
// \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token
let urlPath = window.location.pathname;
if(_reverseProxy) {
// \u4E25\u8C28\u5730\u79FB\u9664BaseUrl\u4E2D\u7684path\u90E8\u5206
try {
// \u5982\u679C_reverseProxy\u5305\u542B\u5B8C\u6574URL\uFF0C\u63D0\u53D6pathname
// \u5982\u679C\u53EA\u662F\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u76F4\u63A5\u4F7F\u7528
let proxyPath = _reverseProxy.startsWith('http')
? new URL(_reverseProxy).pathname
: _reverseProxy;
// \u786E\u4FDD\u79FB\u9664\u5C3E\u90E8\u659C\u6760\uFF0C\u9632\u6B62\u5339\u914D\u5931\u8D25
if (proxyPath.endsWith('/')) {
proxyPath = proxyPath.slice(0, -1);
}
if(proxyPath && urlPath.startsWith(proxyPath)) {
urlPath = urlPath.substring(proxyPath.length);
}
} catch(e) {
console.error("\u89E3\u6790\u53CD\u4EE3\u8DEF\u5F84\u5931\u8D25", e);
}
}
const pathParts = urlPath.split('/').filter(part => part !== '');
const urlToken = pathParts.length > 0 ? pathParts[0] : '';
// \u68C0\u67E5URL\u4E2D\u662F\u5426\u6709token
if (!urlToken && originalToken !== "87654321") {
// \u63D0\u793A\u7528\u6237\u9700\u8981\u5728URL\u4E2D\u914D\u7F6ETOKEN
setTimeout(() => {
// \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3
const protocol = window.location.protocol;
const host = window.location.host;
// \u6784\u9020\u663E\u793A\u7684BaseUrl\uFF0C\u786E\u4FDD\u662F\u7EDD\u5BF9\u8DEF\u5F84
let displayBase;
if (_reverseProxy) {
displayBase = _reverseProxy.startsWith('http')
? _reverseProxy
: (protocol + '//' + host + _reverseProxy);
} else {
displayBase = protocol + '//' + host;
}
if (displayBase.endsWith('/')) {
displayBase = displayBase.slice(0, -1);
}
// \u6839\u636Esection\u7C7B\u578B\u663E\u793A\u4E0D\u540C\u7684token\u63D0\u793A
const tokenType = section === 'env' ? 'ADMIN_TOKEN' : 'TOKEN';
customAlert('\u8BF7\u5728URL\u4E2D\u914D\u7F6E\u76F8\u5E94\u7684' + tokenType + '\u4EE5\u8BBF\u95EE\u6B64\u529F\u80FD\uFF01\\n\\n\u8BBF\u95EE\u65B9\u5F0F\uFF1A' + displayBase + '/{' + tokenType + '}');
}, 100);
return;
}
// \u5982\u679C\u662F\u7CFB\u7EDF\u914D\u7F6E\u9875\u9762\uFF0C\u8FD8\u9700\u8981\u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN\u4E14URL\u4E2D\u7684token\u7B49\u4E8EcurrentAdminToken
if (section === 'env') {
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
checkDeployPlatformConfig().then(result => {
if (!result.success) {
// \u5982\u679C\u914D\u7F6E\u68C0\u67E5\u4E0D\u901A\u8FC7\uFF0C\u53EA\u663E\u793A\u63D0\u793A\uFF0C\u4E0D\u5207\u6362\u9875\u9762
setTimeout(() => {
customAlert(result.message);
}, 100);
} else {
// \u5982\u679C\u914D\u7F6E\u68C0\u67E5\u901A\u8FC7\uFF0C\u624D\u5207\u6362\u5230env\u9875\u9762
document.querySelectorAll('.section').forEach(s => s.classList.remove('active'));
document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active'));
document.getElementById(\`\${section}-section\`).classList.add('active');
// \u5728\u5F02\u6B65\u56DE\u8C03\u4E2D\u4F7F\u7528\u4F20\u5165\u7684event\u53C2\u6570\u6765\u8BBE\u7F6E\u6309\u94AE\u7684active\u72B6\u6001
if (event && event.target) {
event.target.classList.add('active');
}
addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : section === 'request-records' ? '\u8BF7\u6C42\u8BB0\u5F55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info');
}
});
} else {
// \u5BF9\u4E8E\u65E5\u5FD7\u67E5\u770B\u3001\u63A5\u53E3\u8C03\u8BD5\u548C\u63A8\u9001\u5F39\u5E55\u9875\u9762\uFF0C\u53EA\u8981URL\u4E2D\u6709token\u5C31\u53EF\u4EE5\u8BBF\u95EE
document.querySelectorAll('.section').forEach(s => s.classList.remove('active'));
document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active'));
document.getElementById(\`\${section}-section\`).classList.add('active');
if (event && event.target) {
event.target.classList.add('active');
}
addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : section === 'request-records' ? '\u8BF7\u6C42\u8BB0\u5F55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info');
// \u5982\u679C\u5207\u6362\u5230\u65E5\u5FD7\u67E5\u770B\u9875\u9762\uFF0C\u5219\u7ACB\u5373\u5237\u65B0\u65E5\u5FD7
if (section === 'logs') {
if (typeof fetchRealLogs === 'function') {
fetchRealLogs();
}
}
}
} else {
// \u5BF9\u4E8E\u975E\u53D7\u4FDD\u62A4\u9875\u9762\uFF08\u5982\u914D\u7F6E\u9884\u89C8\uFF09\uFF0C\u6B63\u5E38\u5207\u6362
document.querySelectorAll('.section').forEach(s => s.classList.remove('active'));
document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active'));
document.getElementById(\`\${section}-section\`).classList.add('active');
if (event && event.target) {
event.target.classList.add('active');
}
addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info');
}
}
// \u5207\u6362\u7C7B\u522B
function switchCategory(category, event = null) {
currentCategory = category;
document.querySelectorAll('.category-btn').forEach(b => b.classList.remove('active'));
if (event && event.target) {
event.target.classList.add('active');
}
renderEnvList();
}
// \u5173\u95ED\u6A21\u6001\u6846
function closeModal() {
document.getElementById('env-modal').classList.remove('active');
// \u91CD\u7F6E\u8868\u5355\u5B57\u6BB5\u72B6\u6001
document.getElementById('env-category').disabled = false;
document.getElementById('env-key').readOnly = false;
document.getElementById('value-type').disabled = false;
document.getElementById('env-description').readOnly = false;
}
// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316\u65F6\u83B7\u53D6\u4E00\u6B21\u65E5\u5FD7
async function init() {
try {
await updateApiEndpoint(); // \u7B49\u5F85API\u7AEF\u70B9\u66F4\u65B0\u5B8C\u6210
getDockerVersion();
// \u4ECEAPI\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F\uFF0C\u5305\u62EC\u68C0\u67E5\u662F\u5426\u6709admin token
const config = await fetchAndSetConfig();
// \u8BBE\u7F6E\u9ED8\u8BA4\u63A8\u9001\u5730\u5740
setDefaultPushUrl(config);
// \u68C0\u67E5\u5E76\u5904\u7406\u7BA1\u7406\u5458\u4EE4\u724C
checkAndHandleAdminToken();
loadEnvVariables(); // \u4ECEAPI\u52A0\u8F7D\u771F\u5B9E\u73AF\u5883\u53D8\u91CF\u6570\u636E
renderEnvList();
renderPreview();
addLog('\u7CFB\u7EDF\u521D\u59CB\u5316\u5B8C\u6210', 'success');
// \u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E
fetchRealLogs();
// \u521D\u59CB\u5316\u63A8\u9001\u5F39\u5E55\u754C\u9762
if (typeof initPushDanmuInterface === 'function') {
initPushDanmuInterface();
}
// \u521D\u59CB\u5316\u63A5\u53E3\u8C03\u8BD5\u754C\u9762
if (typeof initApiTestInterface === 'function') {
initApiTestInterface();
}
} catch (error) {
console.error('\u521D\u59CB\u5316\u5931\u8D25:', error);
addLog('\u7CFB\u7EDF\u521D\u59CB\u5316\u5931\u8D25: ' + error.message, 'error');
// \u786E\u4FDD\u53CD\u4EE3\u914D\u7F6E\u6846\u663E\u793A
const proxyContainer = document.getElementById('proxy-config-container');
if(proxyContainer) {
proxyContainer.style.display = 'block';
if(customBaseUrl) {
document.getElementById('custom-base-url').value = customBaseUrl;
}
}
// \u5373\u4F7F\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u4E5F\u8981\u5C1D\u8BD5\u83B7\u53D6\u65E5\u5FD7
fetchRealLogs();
}
}
// \u590D\u5236API\u7AEF\u70B9\u5230\u526A\u8D34\u677F
function copyApiEndpoint() {
const apiEndpointElement = document.getElementById('api-endpoint');
if (apiEndpointElement) {
const apiEndpoint = apiEndpointElement.textContent;
navigator.clipboard.writeText(apiEndpoint)
.then(() => {
// \u4E34\u65F6\u6539\u53D8\u663E\u793A\u6587\u672C\u4EE5\u63D0\u4F9B\u53CD\u9988
const originalText = apiEndpointElement.textContent;
apiEndpointElement.textContent = '\u5DF2\u590D\u5236!';
apiEndpointElement.style.color = '#ff6b6b';
// 2\u79D2\u540E\u6062\u590D\u539F\u59CB\u6587\u672C
setTimeout(() => {
apiEndpointElement.textContent = originalText;
apiEndpointElement.style.color = '#4CAF50';
}, 2000);
addLog('API\u7AEF\u70B9\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F: ' + apiEndpoint, 'success');
})
.catch(err => {
console.error('\u590D\u5236\u5931\u8D25:', err);
customAlert('\u590D\u5236\u5931\u8D25: ' + err);
addLog('\u590D\u5236API\u7AEF\u70B9\u5931\u8D25: ' + err, 'error');
});
}
}
function escapeHtml(text) {
// \u5982\u679C\u662F null \u6216 undefined\uFF0C\u8FD4\u56DE\u7A7A\u5B57\u7B26\u4E32
if (text === null || text === undefined) {
return '';
}
// \u5C06\u975E\u5B57\u7B26\u4E32\u503C\u8F6C\u6362\u4E3A\u5B57\u7B26\u4E32
const str = String(text);
const map = {
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#039;'
};
return str.replace(/[&<>"']/g, m => map[m]);
}
// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316
init();
`;var qst=`
// \u6E32\u67D3\u914D\u7F6E\u9884\u89C8
let currentPreviewCategory = 'api';
function renderPreview() {
const preview = document.getElementById('preview-area');
const proxyConfigContainer = document.getElementById('proxy-config-container');
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u914D\u7F6E\u6570\u636E
fetch(buildApiUrl('/api/config'))
.then(response => {
const contentType = response.headers.get("content-type");
if (contentType && contentType.indexOf("application/json") === -1) {
// \u8FD4\u56DE\u6587\u672C\u4EE5\u4FBF\u540E\u7EED\u5904\u7406\uFF08\u4F8B\u5982\u663E\u793AHTML\u9519\u8BEF\u7684\u524D\u51E0\u4E2A\u5B57\u7B26\uFF09
return response.text().then(text => {
throw new Error('Expected JSON, got ' + contentType + '. Content: ' + text.substring(0, 50) + '...');
});
}
if (!response.ok) {
throw new Error('HTTP error! status: ' + response.status);
}
return response.json();
})
.then(config => {
// \u6210\u529F\u52A0\u8F7D\uFF0C\u9690\u85CF\u53CD\u4EE3\u914D\u7F6E\u6846
if(proxyConfigContainer) {
proxyConfigContainer.style.display = 'none';
}
// \u4F7F\u7528\u4ECEAPI\u83B7\u53D6\u7684\u5206\u7C7B\u73AF\u5883\u53D8\u91CF
const categorizedVars = config.categorizedEnvVars || {};
// \u6E32\u67D3\u5F53\u524D\u9009\u4E2D\u7684\u9884\u89C8\u5185\u5BB9
let html = '';
const items = categorizedVars[currentPreviewCategory];
if (items && items.length > 0) {
html += '<div class="preview-category">' +
'<h3>' + getCategoryName(currentPreviewCategory) + '</h3>';
items.forEach(item => {
const escapedValue = escapeHtml(item.value);
html += '<div class="preview-item">' +
'<div class="preview-item-content">' +
'<div class="preview-key"><strong>' + item.key + '</strong></div>' +
'<div class="preview-value">' + escapedValue + '</div>' +
'</div>' +
(item.description ? '<div class="text-gray font-size-12 margin-top-3">' + item.description + '</div>' : '') +
'</div>';
});
html += '</div>';
}
preview.innerHTML = html || '<p class="text-gray padding-20 text-center">\u6682\u65E0\u914D\u7F6E</p>';
})
.catch(error => {
console.error('Failed to load config for preview:', error);
// \u663E\u793A\u53CD\u4EE3\u914D\u7F6E\u6846
if(proxyConfigContainer) {
proxyConfigContainer.style.display = 'block';
// \u5982\u679C\u6709\u5DF2\u4FDD\u5B58\u7684URL\uFF0C\u586B\u5145\u5B83
const savedUrl = localStorage.getItem('logvar_api_base_url');
if(savedUrl) {
document.getElementById('custom-base-url').value = savedUrl;
}
}
preview.innerHTML = '<p class="text-red">\u52A0\u8F7D\u914D\u7F6E\u5931\u8D25: ' + error.message + '</p>';
addLog('\u52A0\u8F7D\u914D\u7F6E\u5931\u8D25: ' + error.message, 'error');
});
}
// \u5207\u6362\u9884\u89C8\u7C7B\u522B
function switchPreviewCategory(category, event = null) {
currentPreviewCategory = category;
// \u66F4\u65B0\u6309\u94AE\u72B6\u6001
const section = document.getElementById('preview-section');
if (section) {
section.querySelectorAll('.category-btn').forEach(b => b.classList.remove('active'));
}
if (event && event.target) {
event.target.classList.add('active');
}
renderPreview();
}
// \u83B7\u53D6\u7C7B\u522B\u540D\u79F0
function getCategoryName(category) {
const names = {
api: 'API\u914D\u7F6E',
source: '\u6E90\u914D\u7F6E',
match: '\u5339\u914D\u914D\u7F6E',
danmu: '\u5F39\u5E55\u914D\u7F6E',
cache: '\u7F13\u5B58\u914D\u7F6E',
system: '\u7CFB\u7EDF\u914D\u7F6E'
};
return names[category] || category;
}
`;var jst=`
// \u65E5\u5FD7\u5168\u5C40\u8FC7\u6EE4\u72B6\u6001
let currentLogFilter = 'ALL';
// \u83B7\u53D6\u65E5\u5FD7\u7684\u4E25\u683C\u5F52\u5C5E\u5206\u7C7B
function getLogCategory(message) {
// \u5339\u914D\u884C\u9996\u7684\u8FDE\u7EED\u65B9\u62EC\u53F7\u6807\u7B7E (\u9700\u53CC\u91CD\u8F6C\u4E49)
const prefixMatch = message.match(/^(?:\\s*\\[[^\\]]+\\])+/);
if (!prefixMatch) {
// \u65E0\u6807\u7B7E\u884C\u4F5C\u4E3A\u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u884C\u7684\u5206\u7C7B
return '_inherit_';
}
const tags = prefixMatch[0].match(/\\[([^\\]]+)\\]/g).map(t => t.replace(/[\\[\\]]/g, '').trim());
// \u5F52\u7C7B\u5408\u5E76\u5DE5\u5177\u65E5\u5FD7
// \u53EA\u8981\u884C\u9996\u5305\u542B Merge\uFF0C\u6216\u8005\u5305\u542B\u5408\u5E76\u6620\u5C04\u72EC\u6709\u7684\u5B50\u6807\u7B7E\uFF0C\u5F3A\u884C\u5C06\u5176\u6536\u675F\u81F3 Merge \u4E13\u5C5E\u5206\u7C7B
if (tags.some(t => t.toLowerCase() === 'merge' || ['\u5339\u914D', '\u843D\u5355', '\u8865\u5168', '\u5408\u96C6', '\u7565\u8FC7', 'Merge-Check'].some(key => t.includes(key)))) {
return 'merge';
}
// \u6392\u9664\u65F6\u95F4\u6233\u548C\u5E95\u5C42\u65E0\u610F\u4E49\u6807\u7B7E\uFF0C\u6293\u53D6\u771F\u6B63\u7684\u4E1A\u52A1\u6E90
const validTags = tags.filter(t =>
!/^\\d{4}-\\d{2}-\\d{2}[T ]/.test(t) && // \u6392\u9664 ISO \u65F6\u95F4\u6233\u683C\u5F0F\uFF08YYYY-MM-DDTHH:MM:SS\uFF09
!/^\\d{2}:\\d{2}(:\\d{2})?$/.test(t) && // \u6392\u9664 HH:MM:SS \u65F6\u95F4\u683C\u5F0F\uFF08JSON \u7EED\u884C\uFF09
!t.includes('08:00') &&
t !== '\u8BF7\u6C42\u6A21\u62DF' &&
t !== '\u7F51\u7EDC\u8BF7\u6C42'
);
if (validTags.length === 0) {
// \u5168\u90E8\u6807\u7B7E\u88AB\u65F6\u95F4\u6233\u7B49\u8FC7\u6EE4\u89C4\u5219\u6392\u9664\uFF0C\u4F5C\u4E3A\u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u884C\u7684\u5206\u7C7B
return '_inherit_';
}
// \u7EDF\u4E00\u8F6C\u6362\u4E3A\u5C0F\u5199\uFF0C\u786E\u4FDD\u5927\u5C0F\u5199\u53D8\u4F53(\u5982 Bahamut \u548C bahamut)\u6536\u675F\u81F3\u540C\u4E00\u5185\u90E8\u6807\u8BC6\u7B26
let category = validTags[0].toLowerCase();
// \u6807\u7B7E\u5F52\u4E00\u5316\uFF1A\u5C06\u53D8\u4F53\u6807\u7B7E\u6620\u5C04\u5230\u6807\u51C6\u5206\u7C7B
const normalizationMap = {
'vod fastest mode': 'vod',
'custom source': 'custom',
'bilibili-proxy': 'bilibili',
'tmdb-source': 'tmdb',
'path check': 'system',
'path fix': 'system',
'base': 'system',
'fongmi': 'system',
};
if (normalizationMap[category]) {
category = normalizationMap[category];
}
return category;
}
// \u65E5\u5FD7\u76F8\u5173
function addLog(message, type = 'info') {
const timestamp = new Date().toLocaleTimeString();
logs.push({ timestamp, message, type });
if (logs.length > 100) logs.shift();
renderLogs();
}
function renderLogs() {
const container = document.getElementById('log-container');
const filterContainer = document.getElementById('log-filters') || createFilterContainer();
let filteredLogs = logs;
if (currentLogFilter !== 'ALL') {
// \u91C7\u7528\u4E25\u683C\u5F52\u5C5E\u6821\u9A8C\uFF0C\u540C\u65F6\u652F\u6301\u7EED\u884C\u4E0A\u4E0B\u6587\u7EE7\u627F
let lastCategory = 'system';
filteredLogs = logs.filter(log => {
let category = getLogCategory(log.message);
if (category === '_inherit_') {
// \u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u4E2A\u660E\u786E\u5206\u7C7B\u884C
category = lastCategory;
} else {
lastCategory = category;
}
return category === currentLogFilter;
});
}
container.innerHTML = filteredLogs.map(log => {
let highlightedMessage = log.message;
// \u884C\u9996\u8FDE\u7EED\u6807\u7B7E\u9AD8\u4EAE (\u9700\u53CC\u91CD\u8F6C\u4E49)
const prefixMatch = log.message.match(/^(?:\\s*\\[[^\\]]+\\])+/);
if (prefixMatch) {
const prefix = prefixMatch[0];
const rest = log.message.slice(prefix.length);
const coloredPrefix = prefix.replace(/\\[([^\\]]+)\\]/g, '<span class="log-tag">[$1]</span>');
highlightedMessage = coloredPrefix + rest;
}
return \`<div class="log-entry \${log.type}">[\${log.timestamp}] \${highlightedMessage}</div>\`;
}).join('');
container.scrollTop = container.scrollHeight;
updateFilterUI();
}
function createFilterContainer() {
const controls = document.querySelector('.log-controls');
const filterDiv = document.createElement('div');
filterDiv.id = 'log-filters';
filterDiv.className = 'log-filters-container';
controls.parentNode.insertBefore(filterDiv, document.getElementById('log-container'));
return filterDiv;
}
// \u6807\u7B7E\u663E\u793A\u987A\u5E8F\uFF1AALL \u2192 \u7CFB\u7EDF \u2192 \u5DE5\u5177 \u2192 \u6E90\uFF0C\u7EC4\u5185\u5B57\u6BCD\u5E8F
const tagGroupOrder = [
['system', 'ai'],
['utils', 'cache', 'merge'],
['360kan', 'aiyifan', 'animeko', 'bahamut', 'bilibili', 'custom', 'dandan', 'douban', 'hanjutv', 'iqiyi', 'leshi', 'maiduidui', 'mango', 'migu', 'other', 'renren', 'sohu', 'tencent', 'tmdb', 'vod', 'xigua', 'youku'],
];
const tagOrderMap = {};
tagGroupOrder.forEach((group, gi) => group.forEach((tag, ti) => tagOrderMap[tag] = gi * 1000 + ti));
function updateFilterUI() {
const filterContainer = document.getElementById('log-filters');
let html = \`<button class="filter-btn \${currentLogFilter === 'ALL' ? 'active' : ''}" onclick="setLogFilter('ALL')">ALL</button>\`;
const currentTags = new Set();
let lastCategory = 'system';
logs.forEach(log => {
let category = getLogCategory(log.message);
// \u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u4E2A\u660E\u786E\u5206\u7C7B\u884C
if (category === '_inherit_') {
category = lastCategory;
} else {
lastCategory = category;
}
// \u6240\u6709\u5206\u7C7B\u6807\u7B7E\u5747\u751F\u6210\u7B5B\u9009\u6309\u94AE
currentTags.add(category);
});
[...currentTags].sort((a, b) => {
const ai = tagOrderMap[a] ?? 99999, bi = tagOrderMap[b] ?? 99999;
return ai !== bi ? ai - bi : a.localeCompare(b);
}).forEach(tag => {
html += \`<button class="filter-btn \${currentLogFilter === tag ? 'active' : ''}" onclick="setLogFilter('\${tag}')">\${tag}</button>\`;
});
filterContainer.innerHTML = html;
}
window.setLogFilter = function(tag) {
currentLogFilter = tag;
renderLogs();
};
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E
async function fetchRealLogs() {
try {
// \u65E5\u5FD7\u67E5\u770B\u4F7F\u7528\u666E\u901Atoken\u8BBF\u95EE\uFF0C\u4E0D\u9700\u8981admin token
const response = await fetch(buildApiUrl('/api/logs')); // \u4E0D\u4F7F\u7528admin token
if (!response.ok) {
throw new Error(\`HTTP error! status: \${response.status}\`);
}
const logText = await response.text();
// \u89E3\u6790\u65E5\u5FD7\u6587\u672C\u4E3A\u6570\u7EC4
const logLines = logText.split('\\n').filter(line => line.trim() !== '');
// \u8F6C\u6362\u4E3Alogs\u6570\u7EC4\u683C\u5F0F
logs = logLines.map(line => {
// \u89E3\u6790\u65E5\u5FD7\u884C\uFF0C\u63D0\u53D6\u65F6\u95F4\u6233\u3001\u7EA7\u522B\u548C\u6D88\u606F
const match = line.match(/\\[([^\\]]+)\\] (\\w+): (.*)/);
if (match) {
return {
timestamp: match[1],
type: match[2],
message: match[3]
};
}
// \u5982\u679C\u65E0\u6CD5\u89E3\u6790\uFF0C\u8FD4\u56DE\u539F\u59CB\u884C
return {
timestamp: new Date().toLocaleTimeString(),
type: 'info',
message: line
};
});
renderLogs();
} catch (error) {
console.error('Failed to fetch logs:', error);
addLog(\`\u83B7\u53D6\u65E5\u5FD7\u5931\u8D25: \${error.message}\`, 'error');
}
}
function refreshLogs() {
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E
fetchRealLogs();
}
async function clearLogs() {
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
const configCheck = await checkDeployPlatformConfig();
if (!configCheck.success) {
customAlert(configCheck.message);
return;
}
customConfirm('\u786E\u5B9A\u8981\u6E05\u7A7A\u6240\u6709\u65E5\u5FD7\u5417?', '\u6E05\u7A7A\u786E\u8BA4').then(async confirmed => {
if (confirmed) {
try {
const response = await fetch(buildApiUrl('/api/logs/clear', true), { // \u4F7F\u7528admin token
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
});
if (!response.ok) {
throw new Error(\`HTTP error! status: \${response.status}\`);
}
const result = await response.json();
if (result.success) {
// \u6E05\u7A7A\u524D\u7AEF\u663E\u793A\u7684\u65E5\u5FD7
logs = [];
renderLogs();
addLog('\u65E5\u5FD7\u5DF2\u6E05\u7A7A', 'warn');
} else {
addLog(\`\u6E05\u7A7A\u65E5\u5FD7\u5931\u8D25: \${result.message}\`, 'error');
}
} catch (error) {
console.error('Failed to clear logs:', error);
addLog(\`\u6E05\u7A7A\u65E5\u5FD7\u5931\u8D25: \${error.message}\`, 'error');
}
}
});
}
// JSON\u9AD8\u4EAE\u51FD\u6570
function highlightJSON(obj) {
let json = JSON.stringify(obj, null, 2);
// \u8F6C\u4E49HTML\u7279\u6B8A\u5B57\u7B26
json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
// \u9AD8\u4EAEJSON\u8BED\u6CD5
return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(s*:)?|\b(true|false|null)\b|-?d+(?:.d*)?(?:[eE][+-]?d+)?)/g, function (match) {
let cls = 'number';
if (/^"/.test(match)) {
if (/:$/.test(match)) {
cls = 'key';
} else {
cls = 'string';
}
} else if (/true|false/.test(match)) {
cls = 'boolean';
} else if (/null/.test(match)) {
cls = 'null';
}
return '<span class="' + cls + '">' + match + '</span>';
});
}
`;var Hst=`
// API \u914D\u7F6E
const apiConfigs = {
searchAnime: {
name: '\u641C\u7D22\u52A8\u6F2B',
method: 'GET',
path: '/api/v2/search/anime',
params: [
{ name: 'keyword', label: '\u5173\u952E\u8BCD \u6216 \u64AD\u653E\u94FE\u63A5URL', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269 \u6216 http://v.qq.com/x/cover/rjae621myqca41h/j0032ubhl9s.html' }
]
},
searchEpisodes: {
name: '\u641C\u7D22\u5267\u96C6',
method: 'GET',
path: '/api/v2/search/episodes',
params: [
{ name: 'anime', label: '\u52A8\u6F2B\u540D\u79F0', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269' },
{ name: 'episode', label: '\u96C6', type: 'text', required: false, placeholder: '\u793A\u4F8B: 1, movie' }
]
},
matchAnime: {
name: '\u5339\u914D\u52A8\u6F2B',
method: 'POST',
path: '/api/v2/match',
params: [
{ name: 'fileName', label: '\u6587\u4EF6\u540D', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269 S02E08, \u65E0\u5FE7\u6E21.S02E08.2160p.WEB-DL.H265.DDP.5.1, \u7231\u60C5\u516C\u5BD3.ipartment.2009.S02E08.H.265.25fps.mkv, \u4EB2\u7231\u7684X S02E08, \u5B87\u5B99Marry Me? S02E08' }
]
},
getBangumi: {
name: '\u83B7\u53D6\u756A\u5267\u8BE6\u60C5',
method: 'GET',
path: '/api/v2/bangumi/:animeId',
params: [
{ name: 'animeId', label: '\u52A8\u6F2BID', type: 'text', required: true, placeholder: '\u793A\u4F8B: 236379' }
]
},
getComment: {
name: '\u83B7\u53D6\u5F39\u5E55',
method: 'GET',
path: '/api/v2/comment/:commentId',
params: [
{ name: 'commentId', label: '\u5F39\u5E55ID', type: 'text', required: true, placeholder: '\u793A\u4F8B: 10009' },
{ name: 'format', label: '\u683C\u5F0F', type: 'select', required: false, placeholder: '\u53EF\u9009: json\u6216xml', options: ['json', 'xml'] },
{ name: 'duration', label: '\u9644\u5E26\u65F6\u957F', type: 'select', required: false, placeholder: '\u53EF\u9009: true\u6216false', options: ['true', 'false'] },
{ name: 'segmentflag', label: '\u5206\u7247\u6807\u5FD7', type: 'select', required: false, placeholder: '\u53EF\u9009: true\u6216false', options: ['true', 'false'] }
]
},
getSegmentComment: {
name: '\u83B7\u53D6\u5206\u7247\u5F39\u5E55',
method: 'POST',
path: '/api/v2/segmentcomment',
params: [
{ name: 'format', label: '\u683C\u5F0F', type: 'select', required: false, placeholder: '\u53EF\u9009: json\u6216xml', options: ['json', 'xml'] },
],
hasBody: true,
bodyType: 'json'
}
};
// \u5F39\u5E55\u6D4B\u8BD5\u5168\u5C40\u72B6\u6001
let danmuTestState = {
allComments: [],
filteredComments: [],
currentFilter: 'all',
displayedCount: 0,
pageSize: 100,
currentEpisodeId: null,
currentTitle: '',
currentDuration: 0,
currentCallTrace: null,
currentManualSearchCallTraceBase: null,
currentManualEpisodeCallTraceBase: null,
nextDanmuRequestId: 0,
activeDanmuRequestId: 0,
nextDanmuFlowRequestId: 0,
activeDanmuFlowRequestId: 0,
nextManualBangumiRequestId: 0,
activeManualBangumiRequestId: 0
};
// \u521D\u59CB\u5316\u63A5\u53E3\u8C03\u8BD5\u754C\u9762
function initApiTestInterface() {
const apiSelect = document.getElementById('api-select');
if (apiSelect) {
apiSelect.addEventListener('keypress', function(event) {
if (event.key === 'Enter') { loadApiParams(); }
});
}
const autoInput = document.getElementById('auto-match-filename');
if (autoInput) {
autoInput.addEventListener('keypress', function(event) {
if (event.key === 'Enter') { autoMatchTest(); }
});
}
const manualInput = document.getElementById('manual-search-keyword');
if (manualInput) {
manualInput.addEventListener('keypress', function(event) {
if (event.key === 'Enter') { manualSearchAnime(); }
});
}
}
// \u4E3A\u53C2\u6570\u8F93\u5165\u6846\u6DFB\u52A0\u56DE\u8F66\u4E8B\u4EF6\u76D1\u542C
function attachEnterEventToParams() {
// \u5EF6\u8FDF\u6267\u884C\uFF0C\u786E\u4FDDDOM\u5143\u7D20\u5DF2\u7ECF\u6E32\u67D3
setTimeout(() => {
// \u83B7\u53D6\u6240\u6709\u53C2\u6570\u8F93\u5165\u6846
const paramInputs = document.querySelectorAll('#params-form input[type="text"], #params-form textarea, #params-form select');
paramInputs.forEach(input => {
// \u79FB\u9664\u4E4B\u524D\u7684\u4E8B\u4EF6\u76D1\u542C\u5668\uFF08\u907F\u514D\u91CD\u590D\u7ED1\u5B9A\uFF09
input.removeEventListener('keypress', handleParamInputEnter);
// \u6DFB\u52A0\u65B0\u7684\u4E8B\u4EF6\u76D1\u542C\u5668
input.addEventListener('keypress', handleParamInputEnter);
});
}, 100);
}
function updateCommentDurationFieldVisibility() {
const apiSelect = document.getElementById('api-select');
const durationGroup = document.querySelector('#params-form [data-param-name="duration"]');
const durationInput = document.getElementById('param-duration');
const formatInput = document.getElementById('param-format');
if (!durationGroup) return;
const isCommentApi = apiSelect && apiSelect.value === 'getComment';
const formatValue = formatInput ? formatInput.value.toLowerCase() : '';
const shouldShowDuration = isCommentApi && (formatValue === '' || formatValue === 'json');
durationGroup.style.display = shouldShowDuration ? '' : 'none';
if (!shouldShowDuration && durationInput) {
durationInput.value = '';
}
}
function bindCommentDurationFieldVisibility() {
const formatInput = document.getElementById('param-format');
if (!formatInput) return;
formatInput.addEventListener('change', updateCommentDurationFieldVisibility);
updateCommentDurationFieldVisibility();
}
// \u5904\u7406\u53C2\u6570\u8F93\u5165\u6846\u7684\u56DE\u8F66\u4E8B\u4EF6
function handleParamInputEnter(event) {
if (event.key === 'Enter') {
// \u89E6\u53D1\u6D4B\u8BD5API\u6309\u94AE\u7684\u70B9\u51FB\u4E8B\u4EF6
const testButton = document.querySelector('#api-params .btn-success');
if (testButton) {
testButton.click();
}
}
}
// \u63A5\u53E3\u8C03\u8BD5\u76F8\u5173
function loadApiParams() {
const select = document.getElementById('api-select');
const apiKey = select.value;
const paramsDiv = document.getElementById('api-params');
const formDiv = document.getElementById('params-form');
if (!apiKey) {
paramsDiv.style.display = 'none';
return;
}
const config = apiConfigs[apiKey];
paramsDiv.style.display = 'block';
let html = '';
// \u6DFB\u52A0\u67E5\u8BE2\u53C2\u6570\u90E8\u5206
if (config.params && config.params.length > 0) {
html += '<div class="params-section">';
html += '<h4>\u67E5\u8BE2\u53C2\u6570</h4>';
html += config.params.map(param => {
if (param.type === 'select') {
// \u4E3Aselect\u7C7B\u578B\u53C2\u6570\u6DFB\u52A0\u9ED8\u8BA4\u9009\u9879
let optionsHtml = '<option value="">-- \u8BF7\u9009\u62E9 --</option>';
if (param.options) {
optionsHtml += param.options.map(opt => \`<option value="\${opt}">\${opt}</option>\`).join('');
}
return \`
<div class="form-group" data-param-name="\${param.name}">
<label>\${param.label}\${param.required ? ' *' : ''}</label>
<select id="param-\${param.name}">
\${optionsHtml}
</select>
\${param.placeholder ? \`<div class="form-help">\${param.placeholder}</div>\` : ''}
</div>
\`;
}
// \u4F7F\u7528placeholder\u5C5E\u6027\u663E\u793A\u793A\u4F8B\u53C2\u6570
const placeholder = param.placeholder ? param.placeholder : "\u8BF7\u8F93\u5165" + param.label;
return \`
<div class="form-group" data-param-name="\${param.name}">
<label>\${param.label}\${param.required ? ' *' : ''}</label>
<input type="\${param.type}" id="param-\${param.name}" placeholder="\${placeholder}" \${param.required ? 'required' : ''}>
</div>
\`;
}).join('');
html += '</div>';
}
// \u6DFB\u52A0\u8BF7\u6C42\u4F53\u90E8\u5206\uFF08\u5982\u679C\u63A5\u53E3\u6709\u8BF7\u6C42\u4F53\uFF09
if (config.hasBody) {
html += '<div class="body-section">';
html += '<h4>\u8BF7\u6C42\u4F53</h4>';
html += \`<div class="form-group">
<label>\u8BF7\u6C42\u4F53\u5185\u5BB9 * (JSON\u683C\u5F0F)</label>
<textarea id="body-content" rows="6" placeholder='\u8F93\u5165JSON\u683C\u5F0F\u7684\u8BF7\u6C42\u4F53\uFF0C\u4F8B\u5982\uFF1A{"type": "qq","segment_start":0,"segment_end":30000,"url":"https://dm.video.qq.com/barrage/segment/j0032ubhl9s/t/v1/0/30000"}'></textarea>
<div class="form-help">\u8F93\u5165JSON\u683C\u5F0F\u7684\u8BF7\u6C42\u4F53\u5185\u5BB9</div>
</div>\`;
html += '</div>';
}
if (!html) {
html = '<p class="text-gray">\u6B64\u63A5\u53E3\u65E0\u9700\u53C2\u6570</p>';
}
formDiv.innerHTML = html;
// \u4E3A\u53C2\u6570\u8F93\u5165\u6846\u6DFB\u52A0\u56DE\u8F66\u4E8B\u4EF6\u76D1\u542C
attachEnterEventToParams();
bindCommentDurationFieldVisibility();
}
function testApi() {
const select = document.getElementById('api-select');
const apiKey = select.value;
const sendButton = document.querySelector('#api-params .btn-success'); // \u83B7\u53D6\u53D1\u9001\u8BF7\u6C42\u6309\u94AE
if (!apiKey) {
addLog('\u8BF7\u5148\u9009\u62E9\u63A5\u53E3', 'error');
return;
}
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
const originalText = sendButton.innerHTML;
sendButton.innerHTML = '<span class="loading-spinner-small"></span>';
sendButton.disabled = true;
const config = apiConfigs[apiKey];
const params = {};
// \u83B7\u53D6\u67E5\u8BE2\u53C2\u6570
if (config.params) {
config.params.forEach(param => {
const value = document.getElementById(\`param-\${param.name}\`).value;
if (value) params[param.name] = value;
});
}
addLog(\`\u8C03\u7528\u63A5\u53E3: \${config.name} (\${config.method} \${config.path})\`, 'info');
addLog(\`\u8BF7\u6C42\u53C2\u6570: \${JSON.stringify(params)}\`, 'info');
// \u6784\u5EFA\u8BF7\u6C42URL
let url = config.path;
// \u68C0\u67E5\u662F\u5426\u4E3A\u8DEF\u5F84\u53C2\u6570\u63A5\u53E3
const isPathParameterApi = config.path.includes(':');
if (isPathParameterApi) {
// \u5904\u7406\u8DEF\u5F84\u53C2\u6570\u63A5\u53E3 (/api/v2/comment \u548C /api/v2/bangumi)
// \u5148\u5206\u79BB\u8DEF\u5F84\u53C2\u6570\u548C\u67E5\u8BE2\u53C2\u6570
const pathParams = {};
const queryParams = {};
// \u5206\u7C7B\u53C2\u6570
for (const [key, value] of Object.entries(params)) {
// \u68C0\u67E5\u53C2\u6570\u662F\u5426\u4E3A\u8DEF\u5F84\u53C2\u6570
if (config.path.includes(':' + key)) {
pathParams[key] = value;
} else {
// \u5176\u4ED6\u53C2\u6570\u4F5C\u4E3A\u67E5\u8BE2\u53C2\u6570
queryParams[key] = value;
}
}
// \u66FF\u6362\u8DEF\u5F84\u53C2\u6570
for (const [key, value] of Object.entries(pathParams)) {
url = url.replace(':' + key, encodeURIComponent(value));
}
// \u6DFB\u52A0\u67E5\u8BE2\u53C2\u6570
if (config.method === 'GET' && Object.keys(queryParams).length > 0) {
const queryString = new URLSearchParams(queryParams).toString();
url = url + '?' + queryString;
}
} else {
// \u4FDD\u6301\u539F\u6765\u7684\u903B\u8F91\uFF0C\u7528\u4E8E search/anime \u7B49\u63A5\u53E3
if (config.method === 'GET') {
const queryString = new URLSearchParams(params).toString();
url = url + '?' + queryString;
} else if (config.method === 'POST' && apiKey === 'getSegmentComment') {
// \u5BF9\u4E8E getSegmentComment \u63A5\u53E3\uFF0C\u9700\u8981\u5C06 format \u53C2\u6570\u6DFB\u52A0\u5230 URL \u67E5\u8BE2\u53C2\u6570\u4E2D
const queryParams = {};
if (params.format) {
queryParams.format = params.format;
}
if (Object.keys(queryParams).length > 0) {
const queryString = new URLSearchParams(queryParams).toString();
url = url + '?' + queryString;
}
}
}
// \u914D\u7F6E\u8BF7\u6C42\u9009\u9879
const requestOptions = {
method: config.method,
headers: {
'Content-Type': 'application/json'
}
};
// \u5904\u7406\u8BF7\u6C42\u4F53
if (config.hasBody) {
// \u4ECE\u8BF7\u6C42\u4F53\u8F93\u5165\u6846\u83B7\u53D6\u5185\u5BB9
const bodyContent = document.getElementById('body-content').value;
if (bodyContent) {
try {
// \u5C1D\u8BD5\u89E3\u6790\u7528\u6237\u8F93\u5165\u7684JSON
const bodyData = JSON.parse(bodyContent);
requestOptions.body = JSON.stringify(bodyData);
} catch (e) {
addLog('\u8BF7\u6C42\u4F53JSON\u683C\u5F0F\u9519\u8BEF: ' + e.message, 'error');
sendButton.innerHTML = originalText;
sendButton.disabled = false;
return;
}
} else {
// \u5982\u679C\u6CA1\u6709\u5728\u8BF7\u6C42\u4F53\u8F93\u5165\u6846\u4E2D\u8F93\u5165\u5185\u5BB9\uFF0C\u5219\u4F7F\u7528\u53C2\u6570\u6784\u5EFA\u8BF7\u6C42\u4F53\uFF08\u5411\u540E\u517C\u5BB9\uFF09
if (apiKey === 'getSegmentComment') {
// \u5BF9\u4E8E getSegmentComment \u63A5\u53E3\uFF0C\u521B\u5EFA segment \u5BF9\u8C61
const segmentData = { url: params.url };
if (params.format) {
segmentData.format = params.format;
}
requestOptions.body = JSON.stringify(segmentData);
} else {
requestOptions.body = JSON.stringify(params);
}
}
} else if (config.method === 'POST') {
// \u5BF9\u4E8E\u6CA1\u6709\u7279\u6B8A\u8BF7\u6C42\u4F53\u914D\u7F6E\u7684POST\u63A5\u53E3\uFF0C\u4F7F\u7528\u53C2\u6570\u6784\u5EFA\u8BF7\u6C42\u4F53
requestOptions.body = JSON.stringify(params);
}
// \u53D1\u9001\u771F\u5B9EAPI\u8BF7\u6C42
fetch(buildApiUrl(url), requestOptions)
.then(response => {
if (!response.ok) {
throw new Error(\`HTTP error! status: \${response.status}\`);
}
// \u68C0\u67E5format\u53C2\u6570\u4EE5\u786E\u5B9A\u5982\u4F55\u5904\u7406\u54CD\u5E94
const formatParam = params.format || 'json';
if (formatParam.toLowerCase() === 'xml') {
// \u5BF9\u4E8EXML\u683C\u5F0F\uFF0C\u8FD4\u56DE\u6587\u672C\u5185\u5BB9
return response.text().then(text => ({
data: text,
format: 'xml'
}));
} else {
// \u5BF9\u4E8EJSON\u683C\u5F0F\u6216\u5176\u4ED6\u60C5\u51B5\uFF0C\u8FD4\u56DEJSON\u5BF9\u8C61
return response.json().then(json => ({
data: json,
format: 'json'
}));
}
})
.then(result => {
// \u663E\u793A\u54CD\u5E94\u7ED3\u679C
document.getElementById('api-response-container').style.display = 'block';
if (result.format === 'xml') {
// \u663E\u793AXML\u54CD\u5E94
document.getElementById('api-response').textContent = result.data;
document.getElementById('api-response').className = 'api-response xml'; // \u4F7F\u7528XML\u4E13\u7528\u6837\u5F0F\u7C7B
} else {
// \u663E\u793AJSON\u54CD\u5E94
document.getElementById('api-response').className = 'json-response';
document.getElementById('api-response').innerHTML = highlightJSON(result.data);
}
addLog('\u63A5\u53E3\u8C03\u7528\u6210\u529F', 'success');
})
.catch(error => {
// \u5904\u7406\u9519\u8BEF
const errorMessage = \`API\u8BF7\u6C42\u5931\u8D25: \${error.message}\`;
document.getElementById('api-response-container').style.display = 'block';
document.getElementById('api-response').textContent = errorMessage;
// \u6DFB\u52A0\u9519\u8BEF\u4FE1\u606F\u7684CSS\u7C7B
document.getElementById('api-response').className = 'error-response';
addLog(errorMessage, 'error');
})
.finally(() => {
// \u6062\u590D\u6309\u94AE\u72B6\u6001
sendButton.innerHTML = originalText;
sendButton.disabled = false;
});
}
// =====================
// \u6807\u7B7E\u9875\u5207\u6362
// =====================
function switchApiTopTab(tab, event) {
document.querySelectorAll('.api-top-tab').forEach(btn => btn.classList.remove('active'));
document.querySelectorAll('.api-tab-content').forEach(el => el.classList.remove('active'));
event.target.classList.add('active');
if (tab === 'debug') {
document.getElementById('api-debug-content').classList.add('active');
} else {
document.getElementById('danmu-test-content').classList.add('active');
}
}
function switchDanmuTestTab(tab, event) {
document.querySelectorAll('.danmu-test-tab').forEach(btn => btn.classList.remove('active'));
document.querySelectorAll('.danmu-test-panel').forEach(el => el.classList.remove('active'));
event.target.classList.add('active');
if (tab === 'auto') {
document.getElementById('auto-match-panel').classList.add('active');
} else {
document.getElementById('manual-match-panel').classList.add('active');
}
}
// =====================
// \u5DE5\u5177\u51FD\u6570
// =====================
function decColorToHex(dec) {
const n = parseInt(dec) || 16777215;
return '#' + n.toString(16).padStart(6, '0');
}
function parseDanmuMode(p) {
const parts = p.split(',');
return parseInt(parts[1]) || 1;
}
function parseDanmuColor(p) {
const parts = p.split(',');
return parseInt(parts[2]) || 16777215;
}
function parseDanmuTime(p) {
return parseFloat(p.split(',')[0]) || 0;
}
function getModeLabel(mode) {
switch (mode) {
case 4: return '\u5E95\u90E8';
case 5: return '\u9876\u90E8';
default: return '\u6EDA\u52A8';
}
}
function formatDuration(seconds) {
const s = Math.floor(seconds);
const h = Math.floor(s / 3600);
const m = Math.floor((s % 3600) / 60);
const sec = s % 60;
if (h > 0) return h + ':' + String(m).padStart(2,'0') + ':' + String(sec).padStart(2,'0');
return m + ':' + String(sec).padStart(2,'0');
}
function getValidDanmuTimes(comments) {
return comments
.map(c => c.t !== undefined ? Number(c.t) : parseDanmuTime(c.p))
.filter(time => Number.isFinite(time) && time >= 0)
.sort((a, b) => a - b);
}
function getPercentileValue(sortedValues, percentile) {
if (!sortedValues.length) return 0;
const safePercentile = Math.min(Math.max(percentile, 0), 1);
const index = Math.floor((sortedValues.length - 1) * safePercentile);
return sortedValues[index] || 0;
}
function getMedian(values) {
if (!values.length) return 0;
const sorted = [...values].sort((a, b) => a - b);
const mid = Math.floor(sorted.length / 2);
return sorted.length % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid];
}
function buildTailGapThreshold(sortedValues) {
if (sortedValues.length < 2) return 45;
const gaps = [];
const startIndex = Math.max(1, sortedValues.length - 80);
for (let i = startIndex; i < sortedValues.length; i++) {
const gap = sortedValues[i] - sortedValues[i - 1];
if (gap > 0) {
gaps.push(gap);
}
}
if (!gaps.length) return 45;
const sortedGaps = [...gaps].sort((a, b) => a - b);
const medianGap = getMedian(sortedGaps);
const p90Gap = getPercentileValue(sortedGaps, 0.9);
return Math.min(240, Math.max(45, medianGap * 12, p90Gap * 3));
}
function estimateVideoDurationFromComments(comments) {
const validTimes = getValidDanmuTimes(comments);
if (!validTimes.length) return 0;
if (validTimes.length < 200) return validTimes[validTimes.length - 1];
const p995Time = getPercentileValue(validTimes, 0.995);
const p998Time = getPercentileValue(validTimes, 0.998);
const gapThreshold = buildTailGapThreshold(validTimes);
const trimBaseline = p998Time + Math.max(90, gapThreshold * 2);
let endIndex = validTimes.length - 1;
while (endIndex > 0) {
let tailStartIndex = endIndex;
while (tailStartIndex > 0) {
const gap = validTimes[tailStartIndex] - validTimes[tailStartIndex - 1];
if (gap > gapThreshold) break;
tailStartIndex--;
}
const tailClusterSize = endIndex - tailStartIndex + 1;
const tailClusterSpan = validTimes[endIndex] - validTimes[tailStartIndex];
const previousGap = tailStartIndex > 0 ? validTimes[tailStartIndex] - validTimes[tailStartIndex - 1] : 0;
const isIsolatedTail = tailStartIndex > 0
&& tailClusterSize <= 2
&& tailClusterSpan <= 15
&& previousGap > gapThreshold;
if (!isIsolatedTail || validTimes[endIndex] <= trimBaseline) {
break;
}
endIndex = tailStartIndex - 1;
}
return Math.max(validTimes[Math.max(endIndex, 0)] || 0, p995Time);
}
function getEffectiveDuration(comments, explicitDuration) {
if (Number.isFinite(explicitDuration) && explicitDuration > 0) {
return explicitDuration;
}
return estimateVideoDurationFromComments(comments);
}
function setBtnLoading(btn, loading) {
if (!btn) return;
if (loading) {
btn._origText = btn.innerHTML;
btn.innerHTML = '<span class="loading-spinner-small"></span>';
btn.disabled = true;
} else {
btn.innerHTML = btn._origText || '\u6309\u94AE';
btn.disabled = false;
}
}
// \u901A\u7528\uFF1A\u663E\u793A\u6307\u5B9A\u9762\u677F\uFF0C\u9690\u85CF\u540C\u7EA7\u5176\u4ED6\u9762\u677F
function showDanmuView(showIds, hideIds) {
hideIds.forEach(id => { const el = document.getElementById(id); if (el) el.style.display = 'none'; });
showIds.forEach(id => { const el = document.getElementById(id); if (el) el.style.display = 'block'; });
}
// \u751F\u6210\u8FD4\u56DE\u6309\u94AEHTML
function backBtnHtml(text, onclick) {
return '<button class="btn btn-back" onclick="' + onclick + '">&larr; ' + escapeHtml(text) + '</button>';
}
function inlineJsString(value) {
return escapeHtml(JSON.stringify(String(value || '')));
}
function createDanmuCallTrace(mode, inputText) {
return {
mode: mode || 'manual',
inputText: inputText || '',
steps: [],
startedAt: performance.now()
};
}
function cloneDanmuCallTrace(trace) {
if (!trace) return null;
return {
mode: trace.mode,
inputText: trace.inputText,
startedAt: performance.now(),
steps: (trace.steps || []).map(step => Object.assign({}, step))
};
}
function createDanmuCallStep(step) {
return Object.assign({
name: '',
method: 'GET',
url: '',
params: '',
result: '',
elapsed: 0,
status: 'success'
}, step);
}
function addDanmuCallStep(trace, step) {
if (!trace) return;
trace.steps.push(createDanmuCallStep(step));
}
function finishDanmuCallStep(trace, startedAt, step) {
addDanmuCallStep(trace, Object.assign({}, step, {
elapsed: performance.now() - startedAt
}));
}
function finishDanmuCallFailure(trace, startedAt, step, error) {
const message = error && error.message ? error.message : String(error || '\u672A\u77E5\u9519\u8BEF');
finishDanmuCallStep(trace, startedAt, Object.assign({
status: 'error',
result: '\u5931\u8D25\uFF1A' + message
}, step));
}
function finishDanmuCallEmpty(trace, startedAt, step, message) {
finishDanmuCallStep(trace, startedAt, Object.assign({
status: 'empty',
result: message || '\u65E0\u7ED3\u679C'
}, step));
}
function safeDanmuApiPath(path) {
return String(path || '').replace(new RegExp('^/[^/]+/api/'), '/<TOKEN>/api/');
}
function renderDanmuCallTrace(trace) {
return '';
}
function getDanmuCallTraceTotalMs(trace) {
if (!trace || !Array.isArray(trace.steps) || trace.steps.length === 0) return 0;
return trace.steps.reduce((sum, step) => sum + (Number(step.elapsed) || 0), 0);
}
function renderDanmuCallFailure(trace, title, message, source) {
let html = '<div class="danmu-result-toolbar">';
if (source === 'manual-episode') {
html += backBtnHtml('\u8FD4\u56DE\u5217\u8868', 'backToEpisodeList()');
} else if (source === 'manual-anime') {
html += backBtnHtml('\u8FD4\u56DE\u641C\u7D22\u7ED3\u679C', 'backToManualSearch()');
}
html += '</div>';
html += '<div class="danmu-result-error">' + escapeHtml(title || '\u8C03\u7528\u5931\u8D25') + '\uFF1A' + escapeHtml(message || '\u8BF7\u6C42\u5931\u8D25') + '</div>';
html += renderDanmuCallTrace(trace);
return html;
}
function showDanmuCallTraceFailure(trace, title, message, source) {
const resultArea = document.getElementById('danmu-result-area');
if (!resultArea) return;
resultArea.innerHTML = renderDanmuCallFailure(trace, title, message, source);
resultArea.style.display = 'block';
}
function getDanmuCallTraceTotalSeconds(trace, fallbackSeconds) {
const totalMs = getDanmuCallTraceTotalMs(trace);
if (totalMs > 0) return (totalMs / 1000).toFixed(2);
return fallbackSeconds || '0.00';
}
function formatCallElapsed(ms) {
if (!Number.isFinite(ms)) return '--';
return ms >= 1000 ? (ms / 1000).toFixed(2) + 's' : Math.round(ms) + 'ms';
}
function startDanmuFlowRequest() {
const requestId = ++danmuTestState.nextDanmuFlowRequestId;
danmuTestState.activeDanmuFlowRequestId = requestId;
danmuTestState.activeManualBangumiRequestId = 0;
invalidateActiveDanmuRequest();
return requestId;
}
function isCurrentDanmuFlowRequest(requestId) {
return danmuTestState.activeDanmuFlowRequestId === requestId;
}
function startManualBangumiRequest() {
const requestId = ++danmuTestState.nextManualBangumiRequestId;
danmuTestState.activeManualBangumiRequestId = requestId;
danmuTestState.activeDanmuFlowRequestId = 0;
invalidateActiveDanmuRequest();
return requestId;
}
function isCurrentManualBangumiRequest(requestId) {
return danmuTestState.activeManualBangumiRequestId === requestId;
}
function invalidateActiveDanmuRequest() {
danmuTestState.activeDanmuRequestId = 0;
}
function setDanmuFlowButtonLoading(btn, requestId, loading) {
if (!btn) return;
if (loading) {
btn._danmuFlowRequestId = requestId;
setBtnLoading(btn, true);
return;
}
if (btn._danmuFlowRequestId === requestId) {
setBtnLoading(btn, false);
btn._danmuFlowRequestId = 0;
}
}
// =====================
// \u81EA\u52A8\u5339\u914D\u6D4B\u8BD5
// =====================
async function autoMatchTest() {
const fileName = document.getElementById('auto-match-filename').value.trim();
if (!fileName) { customAlert('\u8BF7\u8F93\u5165\u6587\u4EF6\u540D'); return; }
const flowRequestId = startDanmuFlowRequest();
const btn = document.getElementById('auto-match-btn');
setDanmuFlowButtonLoading(btn, flowRequestId, true);
document.getElementById('danmu-result-area').style.display = 'none';
addLog('\u81EA\u52A8\u5339\u914D\u6D4B\u8BD5: ' + fileName, 'info');
const trace = createDanmuCallTrace('auto', fileName);
danmuTestState.currentCallTrace = trace;
danmuTestState.currentManualSearchCallTraceBase = null;
danmuTestState.currentManualEpisodeCallTraceBase = null;
let matchStartedAt = 0;
try {
matchStartedAt = performance.now();
const resp = await fetch(buildApiUrl('/api/v2/match'), {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ fileName: fileName })
});
if (!resp.ok) throw new Error('HTTP ' + resp.status);
const data = await resp.json();
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
if (data.isMatched && data.matches && data.matches.length > 0) {
const best = data.matches[0];
const title = (best.animeTitle || '') + ' ' + (best.episodeTitle || '');
finishDanmuCallStep(trace, matchStartedAt, {
name: '\u5339\u914D',
method: 'POST',
url: '/api/v2/match',
params: '\u6587\u4EF6\u540D\uFF1A' + fileName,
result: '\u547D\u4E2D ' + data.matches.length + ' \u4E2A\u7ED3\u679C\uFF0CepisodeId: ' + best.episodeId
});
addLog('\u81EA\u52A8\u5339\u914D\u547D\u4E2D: ' + title + ' (\u5171' + data.matches.length + '\u4E2A\u7ED3\u679C\uFF0C\u53D6\u7B2C1\u4E2A)', 'success');
setDanmuFlowButtonLoading(btn, flowRequestId, false);
fetchDanmuForTest(best.episodeId, title, 'auto', trace);
return;
} else {
finishDanmuCallEmpty(trace, matchStartedAt, {
name: '\u5339\u914D',
method: 'POST',
url: '/api/v2/match',
params: '\u6587\u4EF6\u540D\uFF1A' + fileName
}, '\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C');
customAlert('\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C');
addLog('\u81EA\u52A8\u5339\u914D\u65E0\u7ED3\u679C', 'warn');
showDanmuCallTraceFailure(trace, '\u81EA\u52A8\u5339\u914D\u65E0\u7ED3\u679C', '\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C', 'auto');
}
} catch (e) {
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
finishDanmuCallFailure(trace, matchStartedAt || performance.now(), {
name: '\u5339\u914D',
method: 'POST',
url: '/api/v2/match',
params: '\u6587\u4EF6\u540D\uFF1A' + fileName
}, e);
customAlert('\u5339\u914D\u5931\u8D25: ' + e.message);
addLog('\u81EA\u52A8\u5339\u914D\u5931\u8D25: ' + e.message, 'error');
showDanmuCallTraceFailure(trace, '\u81EA\u52A8\u5339\u914D\u5931\u8D25', e.message, 'auto');
} finally {
setDanmuFlowButtonLoading(btn, flowRequestId, false);
}
}
// =====================
// \u624B\u52A8\u5339\u914D\u6D4B\u8BD5
// =====================
async function manualSearchAnime() {
const keyword = document.getElementById('manual-search-keyword').value.trim();
if (!keyword) { customAlert('\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57'); return; }
const flowRequestId = startDanmuFlowRequest();
const btn = document.getElementById('manual-search-btn');
setDanmuFlowButtonLoading(btn, flowRequestId, true);
document.getElementById('manual-anime-list').style.display = 'none';
document.getElementById('manual-episode-list').style.display = 'none';
document.getElementById('danmu-result-area').style.display = 'none';
addLog('\u624B\u52A8\u641C\u7D22: ' + keyword, 'info');
const trace = createDanmuCallTrace('manual', keyword);
danmuTestState.currentCallTrace = trace;
danmuTestState.currentManualSearchCallTraceBase = null;
danmuTestState.currentManualEpisodeCallTraceBase = null;
let searchStartedAt = 0;
let searchUrl = '';
try {
searchUrl = '/api/v2/search/anime?keyword=' + encodeURIComponent(keyword);
searchStartedAt = performance.now();
const resp = await fetch(buildApiUrl(searchUrl));
if (!resp.ok) throw new Error('HTTP ' + resp.status);
const data = await resp.json();
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
if (data.success && data.animes && data.animes.length > 0) {
finishDanmuCallStep(trace, searchStartedAt, {
name: '\u641C\u7D22',
method: 'GET',
url: searchUrl,
params: '\u5173\u952E\u8BCD\uFF1A' + keyword,
result: '\u627E\u5230 ' + data.animes.length + ' \u4E2A\u52A8\u6F2B'
});
danmuTestState.currentManualSearchCallTraceBase = cloneDanmuCallTrace(trace);
displayManualAnimeList(data.animes);
addLog('\u641C\u7D22\u5230 ' + data.animes.length + ' \u4E2A\u52A8\u6F2B', 'success');
} else {
finishDanmuCallEmpty(trace, searchStartedAt, {
name: '\u641C\u7D22',
method: 'GET',
url: searchUrl,
params: '\u5173\u952E\u8BCD\uFF1A' + keyword
}, '\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B');
customAlert('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B');
addLog('\u641C\u7D22\u65E0\u7ED3\u679C', 'warn');
showDanmuCallTraceFailure(trace, '\u641C\u7D22\u65E0\u7ED3\u679C', '\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B', 'manual-search');
}
} catch (e) {
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
finishDanmuCallFailure(trace, searchStartedAt || performance.now(), {
name: '\u641C\u7D22',
method: 'GET',
url: searchUrl || '/api/v2/search/anime',
params: '\u5173\u952E\u8BCD\uFF1A' + keyword
}, e);
customAlert('\u641C\u7D22\u5931\u8D25: ' + e.message);
addLog('\u641C\u7D22\u5931\u8D25: ' + e.message, 'error');
showDanmuCallTraceFailure(trace, '\u641C\u7D22\u5931\u8D25', e.message, 'manual-search');
} finally {
setDanmuFlowButtonLoading(btn, flowRequestId, false);
}
}
function displayManualAnimeList(animes) {
const container = document.getElementById('manual-anime-list');
let html = '<h3 class="danmu-section-title danmu-section-title-spaced">\u641C\u7D22\u7ED3\u679C</h3><div class="anime-grid">';
animes.forEach(anime => {
const animeId = Number.parseInt(anime.animeId, 10);
if (!Number.isFinite(animeId)) return;
const img = escapeHtml(anime.imageUrl || 'https://placehold.co/150x200?text=No+Image');
html += '<div class="anime-item" onclick="manualGetBangumi(' + animeId + ')">';
html += '<img src="' + img + '" alt="' + escapeHtml(anime.animeTitle) + '" referrerpolicy="no-referrer" class="anime-item-img">';
html += '<h4 class="anime-title">' + escapeHtml(anime.animeTitle) + ' - \u5171' + (anime.episodeCount || '?') + '\u96C6</h4>';
html += '</div>';
});
html += '</div>';
container.innerHTML = html;
container.style.display = 'block';
}
async function manualGetBangumi(animeId) {
const detailRequestId = startManualBangumiRequest();
const requestTrace = danmuTestState.currentManualSearchCallTraceBase
? cloneDanmuCallTrace(danmuTestState.currentManualSearchCallTraceBase)
: createDanmuCallTrace('manual', String(animeId || ''));
danmuTestState.currentCallTrace = requestTrace;
addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5: ' + animeId, 'info');
// \u9690\u85CF\u641C\u7D22\u7ED3\u679C\uFF0C\u663E\u793A\u5267\u96C6\u5217\u8868\u533A\u57DF
showDanmuView(['manual-episode-list'], ['manual-anime-list', 'danmu-result-area']);
let bangumiStartedAt = 0;
const bangumiUrl = '/api/v2/bangumi/' + animeId;
try {
bangumiStartedAt = performance.now();
const resp = await fetch(buildApiUrl(bangumiUrl));
if (!resp.ok) throw new Error('HTTP ' + resp.status);
const data = await resp.json();
if (!isCurrentManualBangumiRequest(detailRequestId)) return;
const episodes = data && data.bangumi && Array.isArray(data.bangumi.episodes) ? data.bangumi.episodes : [];
if (data.success && data.bangumi && episodes.length > 0) {
finishDanmuCallStep(requestTrace, bangumiStartedAt, {
name: '\u756A\u5267\u8BE6\u60C5',
method: 'GET',
url: bangumiUrl,
params: 'animeId: ' + animeId,
result: '\u83B7\u53D6\u5230 ' + episodes.length + ' \u4E2A\u5267\u96C6'
});
danmuTestState.currentManualEpisodeCallTraceBase = cloneDanmuCallTrace(requestTrace);
displayManualEpisodeList(data.bangumi.animeTitle, episodes);
addLog('\u83B7\u53D6\u5230 ' + episodes.length + ' \u4E2A\u5267\u96C6', 'success');
} else {
finishDanmuCallEmpty(requestTrace, bangumiStartedAt, {
name: '\u756A\u5267\u8BE6\u60C5',
method: 'GET',
url: bangumiUrl,
params: 'animeId: ' + animeId
}, '\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F');
customAlert('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F');
showDanmuCallTraceFailure(requestTrace, '\u756A\u5267\u8BE6\u60C5\u65E0\u5267\u96C6', '\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F', 'manual-anime');
// \u6062\u590D\u641C\u7D22\u7ED3\u679C
showDanmuView(['manual-anime-list'], ['manual-episode-list']);
}
} catch (e) {
if (!isCurrentManualBangumiRequest(detailRequestId)) return;
finishDanmuCallFailure(requestTrace, bangumiStartedAt || performance.now(), {
name: '\u756A\u5267\u8BE6\u60C5',
method: 'GET',
url: bangumiUrl,
params: 'animeId: ' + animeId
}, e);
customAlert('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + e.message);
addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + e.message, 'error');
showDanmuCallTraceFailure(requestTrace, '\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25', e.message, 'manual-anime');
showDanmuView(['manual-anime-list'], ['manual-episode-list']);
}
}
function displayManualEpisodeList(animeTitle, episodes) {
const container = document.getElementById('manual-episode-list');
let html = backBtnHtml('\u8FD4\u56DE\u641C\u7D22\u7ED3\u679C', 'backToManualSearch()');
html += '<h3 class="danmu-section-title danmu-section-title-spaced">\u5267\u96C6\u5217\u8868</h3>';
html += '<h4 class="text-yellow-gold">' + escapeHtml(animeTitle) + '</h4>';
// \u6DFB\u52A0\u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\u7684\u529F\u80FD
html += \`
<div class="jump-to-episode">
<span>\u8DF3\u8F6C\u5230\u7B2C</span>
<input type="number" id="jump-episode-input" class="jump-episode-input" placeholder="\u8F93\u5165\u96C6\u6570" min="1">
<span>\u96C6</span>
<button class="btn btn-primary btn-sm jump-episode-btn" onclick="jumpToEpisode()">\u8DF3\u8F6C</button>
<span class="jump-episode-total">\u5171\${episodes.length}\u96C6</span>
</div>\`;
html += '<div class="episode-list-container">';
episodes.forEach(ep => {
const episodeId = Number.parseInt(ep.episodeId, 10);
const episodeNumber = Number.parseInt(ep.episodeNumber, 10);
if (!Number.isFinite(episodeId) || !Number.isFinite(episodeNumber)) return;
const title = String(animeTitle || '') + ' \u7B2C' + episodeNumber + '\u96C6';
html += '<div class="episode-item" id="episode-item-' + episodeNumber + '">';
html += '<div class="episode-item-content"><strong>\u7B2C' + episodeNumber + '\u96C6</strong> - ' + escapeHtml(ep.episodeTitle || '\u65E0\u6807\u9898') + '</div>';
html += '<button class="btn btn-success btn-sm" onclick="fetchDanmuForTest(' + episodeId + ', ' + inlineJsString(title) + ', \\'manual\\')">\u83B7\u53D6\u5F39\u5E55</button>';
html += '</div>';
});
html += '</div>';
container.innerHTML = html;
container.style.display = 'block';
setTimeout(() => container.scrollIntoView({ behavior: 'smooth', block: 'start' }), 10);
}
// \u8FD4\u56DE\u641C\u7D22\u7ED3\u679C
function backToManualSearch() {
showDanmuView(['manual-anime-list'], ['manual-episode-list', 'danmu-result-area']);
}
// \u8FD4\u56DE\u5267\u96C6\u5217\u8868
function backToEpisodeList() {
showDanmuView(['manual-episode-list'], ['danmu-result-area']);
}
// \u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570
function jumpToEpisode() {
const episodeInput = document.getElementById('jump-episode-input');
const episodeNumber = parseInt(episodeInput.value);
if (!episodeNumber || episodeNumber <= 0) {
customAlert('\u8BF7\u8F93\u5165\u6709\u6548\u7684\u96C6\u6570\uFF08\u6B63\u6574\u6570\uFF09');
return;
}
// \u67E5\u627E\u5BF9\u5E94\u96C6\u6570\u7684\u5143\u7D20
const episodeElement = document.getElementById('episode-item-' + episodeNumber);
if (episodeElement) {
// \u6EDA\u52A8\u5230\u6307\u5B9A\u5143\u7D20\u4F4D\u7F6E
episodeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
// \u6DFB\u52A0\u9AD8\u4EAE\u6548\u679C\u4EE5\u4FBF\u8BC6\u522B
episodeElement.classList.add('episode-item-highlight');
setTimeout(() => {
episodeElement.classList.remove('episode-item-highlight');
}, 2000);
} else {
customAlert('\u627E\u4E0D\u5230\u7B2C' + episodeNumber + '\u96C6');
}
}
function isCurrentDanmuRequest(requestId) {
return danmuTestState.activeDanmuRequestId === requestId;
}
// =====================
// \u83B7\u53D6\u5F39\u5E55\u5E76\u5C55\u793A\u7ED3\u679C
// =====================
async function fetchDanmuForTest(episodeId, title, source, traceBase) {
addLog('\u83B7\u53D6\u5F39\u5E55: ' + episodeId + ' (' + title + ')', 'info');
const requestId = ++danmuTestState.nextDanmuRequestId;
danmuTestState.activeDanmuRequestId = requestId;
let requestTrace = null;
if (traceBase) {
requestTrace = cloneDanmuCallTrace(traceBase);
danmuTestState.currentCallTrace = requestTrace;
} else if (source === 'manual' && danmuTestState.currentManualEpisodeCallTraceBase) {
danmuTestState.currentCallTrace = cloneDanmuCallTrace(danmuTestState.currentManualEpisodeCallTraceBase);
requestTrace = danmuTestState.currentCallTrace;
} else {
requestTrace = cloneDanmuCallTrace(danmuTestState.currentCallTrace);
danmuTestState.currentCallTrace = requestTrace;
}
danmuTestState.currentEpisodeId = episodeId;
danmuTestState.currentTitle = title;
danmuTestState.currentDuration = 0;
// \u9690\u85CF\u4E0A\u7EA7\u9762\u677F
if (source === 'manual') {
showDanmuView([], ['manual-episode-list', 'manual-anime-list', 'danmu-result-area']);
} else {
showDanmuView([], ['danmu-result-area']);
}
// \u663E\u793A\u52A0\u8F7D\u52A8\u753B
const resultArea = document.getElementById('danmu-result-area');
resultArea.innerHTML = '<div class="danmu-loading"><div class="loading-spinner"></div><div class="loading-text">\u6B63\u5728\u83B7\u53D6\u5F39\u5E55\u6570\u636E...</div></div>';
resultArea.style.display = 'block';
const startTime = performance.now();
try {
const commentUrl = '/api/v2/comment/' + episodeId + '?format=json&duration=true';
const data = await fetch(buildApiUrl(commentUrl))
.then(resp => {
if (!resp.ok) throw new Error('HTTP ' + resp.status);
return resp.json();
});
if (!isCurrentDanmuRequest(requestId)) return;
const elapsed = ((performance.now() - startTime) / 1000).toFixed(2);
const durationSeconds = Number((data && data.videoDuration) || 0);
if (!data.comments || data.comments.length === 0) {
finishDanmuCallEmpty(requestTrace, startTime, {
name: '\u5F39\u5E55',
method: 'GET',
url: commentUrl,
params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true'
}, '\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E');
customAlert('\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E');
addLog('\u65E0\u5F39\u5E55\u6570\u636E', 'warn');
const failureSource = source === 'manual' ? 'manual-episode' : source;
resultArea.innerHTML = renderDanmuCallFailure(requestTrace, '\u65E0\u5F39\u5E55\u6570\u636E', '\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E', failureSource);
resultArea.style.display = 'block';
return;
}
finishDanmuCallStep(requestTrace, startTime, {
name: '\u5F39\u5E55',
method: 'GET',
url: commentUrl,
params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true',
result: data.comments.length + ' \u6761\u5F39\u5E55'
});
addLog('\u83B7\u53D6\u5230 ' + data.comments.length + ' \u6761\u5F39\u5E55, \u8017\u65F6 ' + elapsed + 's', 'success');
danmuTestState.allComments = data.comments;
danmuTestState.currentFilter = 'all';
danmuTestState.displayedCount = 0;
danmuTestState.currentDuration = durationSeconds;
// \u91CD\u5EFA\u7ED3\u679C\u533A\u5185\u5BB9\uFF1Aauto\u6A21\u5F0F\u53EA\u6709\u5BFC\u51FA\u6309\u94AE\uFF0Cmanual\u6A21\u5F0F\u6709\u8FD4\u56DE+\u5BFC\u51FA
let toolbarHtml = '<div class="danmu-result-toolbar">';
if (source === 'manual') {
toolbarHtml += backBtnHtml('\u8FD4\u56DE\u5217\u8868', 'backToEpisodeList()');
}
toolbarHtml += '<div class="danmu-export-btns">' +
'<button class="btn btn-sm btn-primary" onclick="exportDanmu(\\'json\\')">\u5BFC\u51FA JSON</button>' +
'<button class="btn btn-sm btn-primary" onclick="exportDanmu(\\'xml\\')">\u5BFC\u51FA XML</button>' +
'</div></div>';
const filterCounts = getDanmuFilterCounts(data.comments);
resultArea.innerHTML =
toolbarHtml +
'<div class="danmu-stats" id="danmu-stats"></div>' +
renderDanmuCallTrace(requestTrace) +
'<div class="danmu-heatmap-container"><h3 class="danmu-section-title">\u5F39\u5E55\u70ED\u529B\u56FE</h3><div class="danmu-heatmap" id="danmu-heatmap"></div></div>' +
'<div class="danmu-list-area"><h3 class="danmu-section-title">\u5F39\u5E55\u5217\u8868</h3>' +
renderDanmuFilterTabs(filterCounts) +
'<div class="danmu-list" id="danmu-list"></div>' +
'<button class="btn btn-primary danmu-load-more" id="danmu-load-more" onclick="loadMoreDanmu()">\u52A0\u8F7D\u66F4\u591A</button>' +
'</div>';
applyDanmuFilter();
renderDanmuStats(data, elapsed, title, durationSeconds, filterCounts);
renderDanmuHeatmap(data.comments, durationSeconds);
renderDanmuList();
setTimeout(() => resultArea.scrollIntoView({ behavior: 'smooth', block: 'start' }), 10);
} catch (e) {
if (!isCurrentDanmuRequest(requestId)) return;
const commentUrl = '/api/v2/comment/' + episodeId + '?format=json&duration=true';
finishDanmuCallFailure(requestTrace, startTime, {
name: '\u5F39\u5E55',
method: 'GET',
url: commentUrl,
params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true'
}, e);
customAlert('\u83B7\u53D6\u5F39\u5E55\u5931\u8D25: ' + e.message);
addLog('\u83B7\u53D6\u5F39\u5E55\u5931\u8D25: ' + e.message, 'error');
const failureSource = source === 'manual' ? 'manual-episode' : source;
resultArea.innerHTML = renderDanmuCallFailure(requestTrace, '\u83B7\u53D6\u5F39\u5E55\u5931\u8D25', e.message, failureSource);
resultArea.style.display = 'block';
}
}
// =====================
// \u5BFC\u51FA\u5F39\u5E55\uFF08\u76F4\u63A5\u8BF7\u6C42\u540E\u7AEF\u83B7\u53D6\u683C\u5F0F\u5316\u6570\u636E\uFF09
// =====================
async function exportDanmu(format) {
const id = danmuTestState.currentEpisodeId;
if (!id) { customAlert('\u65E0\u5F39\u5E55\u6570\u636E\u53EF\u5BFC\u51FA'); return; }
const title = danmuTestState.currentTitle || ('danmu_' + id);
// \u6E05\u7406\u6587\u4EF6\u540D\u4E2D\u7684\u975E\u6CD5\u5B57\u7B26
const safeTitle = title.replace(/[\\\\/:*?"<>|]/g, '_');
addLog('\u5BFC\u51FA\u5F39\u5E55 ' + format.toUpperCase() + '...', 'info');
try {
const resp = await fetch(buildApiUrl('/api/v2/comment/' + id + '?format=' + format));
if (!resp.ok) throw new Error('HTTP ' + resp.status);
let content, mimeType;
if (format === 'xml') {
content = await resp.text();
mimeType = 'application/xml';
} else {
const data = await resp.json();
content = JSON.stringify(data, null, 2);
mimeType = 'application/json';
}
const blob = new Blob([content], { type: mimeType });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = safeTitle + '.' + format;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
addLog('\u5BFC\u51FA\u5F39\u5E55 ' + format.toUpperCase() + ' \u6210\u529F', 'success');
} catch (e) {
customAlert('\u5BFC\u51FA\u5931\u8D25: ' + e.message);
addLog('\u5BFC\u51FA\u5931\u8D25: ' + e.message, 'error');
}
}
// =====================
// \u5F39\u5E55\u7EDF\u8BA1
// =====================
function renderDanmuStats(data, elapsed, title, durationSeconds, filterCounts) {
const comments = data.comments;
const count = comments.length;
const maxTime = getEffectiveDuration(comments, durationSeconds);
// \u5E73\u5747\u5BC6\u5EA6
const durationMin = maxTime / 60;
const avgDensity = durationMin > 0 ? (count / durationMin).toFixed(1) : '0';
// \u9AD8\u80FD\u65F6\u523B\uFF1A\u627E\u5BC6\u5EA6\u6700\u9AD8\u768430\u79D2\u533A\u95F4
const segLen = 30;
const segCount = Math.ceil(maxTime / segLen) || 1;
const segs = new Array(segCount).fill(0);
comments.forEach(c => {
const t = c.t !== undefined ? c.t : parseDanmuTime(c.p);
if (t > maxTime) return; // \u8DF3\u8FC7\u5F02\u5E38\u65F6\u95F4\u70B9
const idx = Math.min(Math.floor(t / segLen), segCount - 1);
segs[idx]++;
});
let hotIdx = 0;
for (let i = 1; i < segs.length; i++) {
if (segs[i] > segs[hotIdx]) hotIdx = i;
}
const hotStart = hotIdx * segLen;
const hotMoment = formatDuration(hotStart) + ' - ' + formatDuration(hotStart + segLen);
const coloredCount = comments.reduce((sum, comment) => {
if (!comment || !comment.p) return sum;
const color = parseInt(String(comment.p).split(',')[2], 10);
return Number.isFinite(color) && color !== 16777215 ? sum + 1 : sum;
}, 0);
const coloredRatio = count > 0 ? ((coloredCount / count) * 100).toFixed(1) + '%' : '--';
const container = document.getElementById('danmu-stats');
container.innerHTML =
'<div class="danmu-stats-title">' + escapeHtml(title) + '</div>' +
'<div class="danmu-stats-grid">' +
'<div class="danmu-stat-card"><div class="stat-value">' + count + '</div><div class="stat-label">\u5F39\u5E55\u6570</div></div>' +
'<div class="danmu-stat-card"><div class="stat-value">' + formatDuration(maxTime) + '</div><div class="stat-label">\u65F6\u957F</div></div>' +
'<div class="danmu-stat-card"><div class="stat-value">' + hotMoment + '</div><div class="stat-label">\u9AD8\u80FD\u65F6\u523B</div></div>' +
'<div class="danmu-stat-card"><div class="stat-value">' + avgDensity + ' \u6761/\u5206</div><div class="stat-label">\u5E73\u5747\u5BC6\u5EA6</div></div>' +
'<div class="danmu-stat-card"><div class="stat-value">' + elapsed + 's</div><div class="stat-label">\u8BF7\u6C42\u8017\u65F6</div></div>' +
'<div class="danmu-stat-card"><div class="stat-value">' + coloredRatio + '</div><div class="stat-label">\u5F69\u8272\u5360\u6BD4</div></div>' +
'</div>';
}
// =====================
// \u5F39\u5E55\u70ED\u529B\u56FE
// =====================
function renderDanmuHeatmap(comments, durationSeconds) {
const container = document.getElementById('danmu-heatmap');
const maxTime = getEffectiveDuration(comments, durationSeconds);
if (maxTime === 0) { container.innerHTML = '<p class="danmu-empty-text">\u65E0\u6570\u636E</p>'; return; }
const barCount = Math.min(60, Math.max(20, Math.ceil(maxTime / 30)));
const segLen = maxTime / barCount;
const segs = new Array(barCount).fill(0);
comments.forEach(c => {
const t = c.t !== undefined ? c.t : parseDanmuTime(c.p);
if (t > maxTime) return; // \u8DF3\u8FC7\u5F02\u5E38\u65F6\u95F4\u70B9
const idx = Math.min(Math.floor(t / segLen), barCount - 1);
segs[idx]++;
});
const maxSeg = Math.max(...segs, 1);
let html = '<div class="danmu-heatmap-interactive">';
html += '<div class="heatmap-bars">';
for (let i = 0; i < barCount; i++) {
const pct = Math.max(2, (segs[i] / maxSeg) * 100);
const intensity = segs[i] / maxSeg;
// \u4ECE\u84DD\u5230\u7EA2\u7684\u6E10\u53D8
const r = Math.round(66 + intensity * 189);
const g = Math.round(126 - intensity * 80);
const b = Math.round(234 - intensity * 180);
const start = i * segLen;
const end = Math.min((i + 1) * segLen, maxTime);
const timeLabel = formatDuration(start) + ' - ' + formatDuration(end);
html += '<div class="heatmap-bar" data-index="' + i + '" data-count="' + segs[i] + '" style="--heatmap-height:' + pct + '%;--heatmap-color:rgb(' + r + ',' + g + ',' + b + ');" aria-label="' + timeLabel + ' | ' + segs[i] + '\u6761\u5F39\u5E55"></div>';
}
html += '</div>';
html += '<div class="danmu-heatmap-indicator"></div><div class="danmu-heatmap-tooltip"></div>';
html += '</div>';
html += '<div class="heatmap-axis"><span>00:00</span><span>' + formatDuration(maxTime / 2) + '</span><span>' + formatDuration(maxTime) + '</span></div>';
container.innerHTML = html;
bindDanmuHeatmapScrub(container, segs, segLen, maxTime);
}
function bindDanmuHeatmapScrub(container, segs, segLen, maxTime) {
const interactive = container.querySelector('.danmu-heatmap-interactive');
const bars = container.querySelector('.heatmap-bars');
const tooltip = container.querySelector('.danmu-heatmap-tooltip');
const indicator = container.querySelector('.danmu-heatmap-indicator');
if (!interactive || !bars || !tooltip || !indicator) return;
let rafId = null;
let latestEvent = null;
const scheduleUpdate = event => {
latestEvent = event;
if (rafId) return;
rafId = requestAnimationFrame(() => {
rafId = null;
if (!latestEvent) return;
updateDanmuHeatmapTooltip(latestEvent, interactive, bars, tooltip, indicator, segs, segLen, maxTime);
});
};
const hideTooltip = () => hideDanmuHeatmapTooltip(bars, tooltip, indicator, () => {
if (rafId) {
cancelAnimationFrame(rafId);
rafId = null;
}
latestEvent = null;
});
interactive.addEventListener('pointermove', scheduleUpdate, { passive: true });
interactive.addEventListener('pointerdown', scheduleUpdate, { passive: true });
interactive.addEventListener('pointerup', hideTooltip, { passive: true });
interactive.addEventListener('pointercancel', hideTooltip, { passive: true });
interactive.addEventListener('pointerleave', hideTooltip);
}
function hideDanmuHeatmapTooltip(bars, tooltip, indicator, beforeHide) {
if (beforeHide) beforeHide();
tooltip.classList.remove('active');
indicator.classList.remove('active');
const activeBar = bars.querySelector('.heatmap-bar.active');
if (activeBar) activeBar.classList.remove('active');
}
function updateDanmuHeatmapTooltip(event, interactive, bars, tooltip, indicator, segs, segLen, maxTime) {
if (!event) return;
const rect = bars.getBoundingClientRect();
if (!rect.width) return;
const ratio = Math.max(0, Math.min(1, (event.clientX - rect.left) / rect.width));
const index = Math.max(0, Math.min(segs.length - 1, Math.floor(ratio * segs.length)));
const start = index * segLen;
const end = Math.min((index + 1) * segLen, maxTime);
const leftPct = ((index + 0.5) / segs.length) * 100;
const activeBar = bars.querySelector('.heatmap-bar.active');
if (activeBar) activeBar.classList.remove('active');
const currentBar = bars.querySelector('.heatmap-bar[data-index="' + index + '"]');
if (currentBar) currentBar.classList.add('active');
tooltip.innerHTML = '<strong>' + segs[index] + '</strong><span>\u6761\u5F39\u5E55</span><em>' + formatDuration(start) + ' - ' + formatDuration(end) + '</em>';
tooltip.classList.add('active');
indicator.classList.add('active');
const clampedLeft = clampHeatmapTooltipLeft(interactive, tooltip, leftPct);
tooltip.style.left = clampedLeft + 'px';
indicator.style.left = leftPct + '%';
}
function clampHeatmapTooltipLeft(interactive, tooltip, leftPct) {
const width = interactive.clientWidth || 0;
const tooltipWidth = tooltip.offsetWidth || 0;
const padding = 8;
const rawLeft = (leftPct / 100) * width;
const minLeft = (tooltipWidth / 2) + padding;
const maxLeft = width - (tooltipWidth / 2) - padding;
if (width <= tooltipWidth + padding * 2) return width / 2;
return Math.max(minLeft, Math.min(maxLeft, rawLeft));
}
function getDanmuFilterCounts(comments) {
const counts = { all: comments.length, scroll: 0, top: 0, bottom: 0 };
comments.forEach(c => {
const mode = parseDanmuMode(c.p);
if (mode === 5) counts.top++;
else if (mode === 4) counts.bottom++;
else counts.scroll++;
});
return counts;
}
function renderDanmuFilterTabs(counts) {
const items = [
{ key: 'all', label: '\u5168\u90E8' },
{ key: 'scroll', label: '\u6EDA\u52A8' },
{ key: 'top', label: '\u9876\u90E8' },
{ key: 'bottom', label: '\u5E95\u90E8' }
];
let html = '<div class="danmu-filter-tabs">';
items.forEach(item => {
const active = item.key === 'all' ? ' active' : '';
html += '<button class="danmu-filter-tab' + active + '" data-count="' + counts[item.key] + '" onclick="filterDanmuList(\\'' + item.key + '\\', event)">' + item.label + '<span class="danmu-filter-count">' + counts[item.key] + '</span></button>';
});
html += '</div>';
return html;
}
// =====================
// \u5F39\u5E55\u5217\u8868\u8FC7\u6EE4\u4E0E\u61D2\u52A0\u8F7D
// =====================
function applyDanmuFilter() {
const filter = danmuTestState.currentFilter;
if (filter === 'all') {
danmuTestState.filteredComments = danmuTestState.allComments;
} else {
const modeMap = { scroll: 1, top: 5, bottom: 4 };
const targetMode = modeMap[filter];
danmuTestState.filteredComments = danmuTestState.allComments.filter(c => {
const mode = parseDanmuMode(c.p);
if (filter === 'scroll') return mode !== 4 && mode !== 5;
return mode === targetMode;
});
}
danmuTestState.displayedCount = 0;
}
function filterDanmuList(type, event) {
document.querySelectorAll('.danmu-filter-tab').forEach(btn => btn.classList.remove('active'));
const tab = event.currentTarget || event.target.closest('.danmu-filter-tab');
if (tab) tab.classList.add('active');
danmuTestState.currentFilter = type;
applyDanmuFilter();
renderDanmuList();
}
function renderDanmuList() {
const list = danmuTestState.filteredComments;
const end = Math.min(danmuTestState.displayedCount + danmuTestState.pageSize, list.length);
let html = '';
for (let i = danmuTestState.displayedCount; i < end; i++) {
const c = list[i];
const time = c.t !== undefined ? c.t : parseDanmuTime(c.p);
const mode = parseDanmuMode(c.p);
const color = parseDanmuColor(c.p);
const hexColor = decColorToHex(color);
const modeLabel = getModeLabel(mode);
html += '<div class="danmu-item">' +
'<span class="danmu-time">' + formatDuration(time) + '</span>' +
'<span class="danmu-color-dot" style="--danmu-color-dot:' + hexColor + ';" title="' + hexColor + '"></span>' +
'<span class="danmu-mode-tag danmu-mode-' + (mode === 5 ? 'top' : mode === 4 ? 'bottom' : 'scroll') + '">' + modeLabel + '</span>' +
'<span class="danmu-text">' + escapeHtml(c.m) + '</span>' +
'</div>';
}
const container = document.getElementById('danmu-list');
if (danmuTestState.displayedCount === 0) {
container.innerHTML = html || '<p class="danmu-empty-text danmu-empty-list">\u65E0\u5F39\u5E55\u6570\u636E</p>';
} else {
container.insertAdjacentHTML('beforeend', html);
}
danmuTestState.displayedCount = end;
// \u63A7\u5236\u52A0\u8F7D\u66F4\u591A\u6309\u94AE
const loadMoreBtn = document.getElementById('danmu-load-more');
if (end < list.length) {
loadMoreBtn.style.display = 'block';
loadMoreBtn.textContent = '\u52A0\u8F7D\u66F4\u591A (' + end + '/' + list.length + ')';
} else {
loadMoreBtn.style.display = 'none';
}
}
function loadMoreDanmu() {
renderDanmuList();
}
`;var Qst=`
// \u63A8\u9001\u5F39\u5E55\u529F\u80FD\u76F8\u5173
// \u4ECE\u73AF\u5883\u53D8\u91CF\u83B7\u53D6\u9ED8\u8BA4\u63A8\u9001\u5730\u5740
function getDefaultPushUrl(config) {
const pushUrl = config.originalEnvVars?.DANMU_PUSH_URL || '';
return pushUrl.trim();
}
// \u8BBE\u7F6E\u9ED8\u8BA4\u63A8\u9001\u5730\u5740
function setDefaultPushUrl(config) {
const defaultPushUrl = getDefaultPushUrl(config);
if (defaultPushUrl) {
const pushUrlInput = document.getElementById('push-url');
if (pushUrlInput && !pushUrlInput.value) {
pushUrlInput.value = defaultPushUrl;
}
}
}
// \u521D\u59CB\u5316\u63A8\u9001\u5F39\u5E55\u754C\u9762
function initPushDanmuInterface() {
const searchKeywordInput = document.getElementById('push-search-keyword');
if (searchKeywordInput) {
// \u6DFB\u52A0\u56DE\u8F66\u952E\u641C\u7D22\u4E8B\u4EF6\u76D1\u542C
searchKeywordInput.addEventListener('keypress', function(event) {
if (event.key === 'Enter') {
searchAnimeForPush();
}
});
}
}
// \u641C\u7D22\u52A8\u6F2B\u7528\u4E8E\u63A8\u9001
function searchAnimeForPush() {
const keyword = document.getElementById('push-search-keyword').value.trim();
const pushUrl = document.getElementById('push-url').value.trim();
const searchBtn = document.querySelector('#push-section .btn-primary');
if (!keyword) {
customAlert('\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57');
return;
}
// \u641C\u7D22\u65F6\u4E0D\u518D\u6821\u9A8CpushUrl\u662F\u5426\u4E3A\u7A7A\uFF0C\u53EA\u5728\u63A8\u9001\u65F6\u6821\u9A8C
// \u6DFB\u52A0\u52A0\u8F7D\u72B6\u6001
const originalText = searchBtn.textContent;
searchBtn.innerHTML = '<span class="loading-spinner-small"></span>';
searchBtn.disabled = true;
// \u6784\u5EFA\u641C\u7D22API\u8BF7\u6C42URL
const searchUrl = buildApiUrl('/api/v2/search/anime?keyword=' + encodeURIComponent(keyword));
addLog(\`\u5F00\u59CB\u641C\u7D22\u52A8\u6F2B: \${keyword}\`, 'info');
// \u53D1\u9001\u641C\u7D22\u8BF7\u6C42
fetch(searchUrl)
.then(response => {
if (!response.ok) {
throw new Error(\`HTTP error! status: \${response.status}\`);
}
return response.json();
})
.then(data => {
if (data.success && data.animes.length > 0) {
displayAnimeListForPush(data.animes, pushUrl);
} else {
document.getElementById('push-anime-list').style.display = 'none';
document.getElementById('push-episode-list').style.display = 'none';
customAlert('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B');
addLog('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B', 'warn');
}
})
.catch(error => {
console.error('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25:', error);
customAlert('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25: ' + error.message);
addLog('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25: ' + error.message, 'error');
})
.finally(() => {
// \u6062\u590D\u6309\u94AE\u72B6\u6001
searchBtn.innerHTML = originalText;
searchBtn.disabled = false;
});
}
// \u5C55\u793A\u52A8\u6F2B\u5217\u8868\u7528\u4E8E\u63A8\u9001
function displayAnimeListForPush(animes, pushUrl) {
const container = document.getElementById('push-anime-list');
let html = '<h3>\u641C\u7D22\u7ED3\u679C</h3><div class="anime-grid">';
animes.forEach(anime => {
const imageUrl = anime.imageUrl || 'https://placehold.co/150x200?text=No+Image';
html += \`
<div class="anime-item" onclick="getBangumiForPush(\${anime.animeId}, '\${pushUrl}')">
<img src="\${imageUrl}" alt="\${anime.animeTitle}" referrerpolicy="no-referrer" class="anime-item-img">
<h4 class="anime-title">\${anime.animeTitle} - \u5171\${anime.episodeCount}\u96C6</h4>
</div>
\`;
});
html += '</div>';
container.innerHTML = html;
container.style.display = 'block';
addLog(\`\u663E\u793A \${animes.length} \u4E2A\u52A8\u6F2B\u7ED3\u679C\`, 'info');
}
// \u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u7528\u4E8E\u63A8\u9001
function getBangumiForPush(animeId, pushUrl) {
const bangumiUrl = buildApiUrl('/api/v2/bangumi/' + animeId);
addLog(\`\u83B7\u53D6\u756A\u5267\u8BE6\u60C5: \${animeId}\`, 'info');
fetch(bangumiUrl)
.then(response => {
if (!response.ok) {
throw new Error(\`HTTP error! status: \${response.status}\`);
}
return response.json();
})
.then(data => {
if (data.success && data.bangumi && data.bangumi.episodes) {
displayEpisodeListForPush(data.bangumi.animeTitle, data.bangumi.episodes, pushUrl);
} else {
customAlert('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F');
addLog('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F', 'warn');
}
})
.catch(error => {
console.error('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25:', error);
customAlert('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + error.message);
addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + error.message, 'error');
});
}
// \u5C55\u793A\u5267\u96C6\u5217\u8868\u7528\u4E8E\u63A8\u9001
function displayEpisodeListForPush(animeTitle, episodes, pushUrl) {
const container = document.getElementById('push-episode-list');
let html = \`<h3>\u5267\u96C6\u5217\u8868</h3><h4 class="text-yellow-gold">\${animeTitle}</h4>\`;
// \u6DFB\u52A0\u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\u7684\u529F\u80FD
html += \`
<div class="jump-to-episode" style="margin-top: 15px; margin-bottom: 15px; padding: 10px; background: #f8f9fa; border-radius: 12px; display: flex; align-items: center; gap: 10px;">
<span>\u8DF3\u8F6C\u5230\u7B2C</span>
<input type="number" id="jump-episode-input-push" placeholder="\u8F93\u5165\u96C6\u6570" min="1" style="padding: 8px; width: 90px; border: 1px solid #ccc; border-radius: 8px;">
<span>\u96C6</span>
<button class="btn btn-primary btn-sm" onclick="jumpToEpisodeForPushDanmu()" style="margin-left: 5px; border-radius: 8px;">\u8DF3\u8F6C</button>
<span style="margin-left: 5px; color: #666; font-size: 14px;">\u5171\${episodes.length}\u96C6</span>
</div>\`;
html += '<div class="episode-list-container">';
episodes.forEach(episode => {
// \u751F\u6210\u5F39\u5E55URL
const commentUrl = window.location.origin + buildApiUrl('/api/v2/comment/' + episode.episodeId + '?format=xml');
html += \`
<div class="episode-item" id="episode-item-push-\${episode.episodeNumber}">
<div class="episode-item-content">
<strong>\u7B2C\${episode.episodeNumber}\u96C6</strong> - \${episode.episodeTitle || '\u65E0\u6807\u9898'}
</div>
<button class="btn btn-success btn-sm episode-push-btn" onclick="pushDanmu('\${pushUrl}', '\${commentUrl}', '\${episode.episodeTitle || '\u7B2C' + episode.episodeNumber + '\u96C6'}')">\u63A8\u9001</button>
</div>
\`;
});
html += '</div>';
container.innerHTML = html;
container.style.display = 'block';
addLog(\`\u663E\u793A \${episodes.length} \u4E2A\u5267\u96C6\`, 'info');
// \u81EA\u52A8\u6EDA\u52A8\u5230\u5267\u96C6\u5217\u8868\u5904
setTimeout(() => {
container.scrollIntoView({ behavior: 'smooth', block: 'start' });
}, 10);
}
// \u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\uFF08\u63A8\u9001\u5F39\u5E55\u7248\uFF09
function jumpToEpisodeForPushDanmu() {
const episodeInput = document.getElementById('jump-episode-input-push');
const episodeNumber = parseInt(episodeInput.value);
if (!episodeNumber || episodeNumber <= 0) {
customAlert('\u8BF7\u8F93\u5165\u6709\u6548\u7684\u96C6\u6570\uFF08\u6B63\u6574\u6570\uFF09');
return;
}
// \u67E5\u627E\u5BF9\u5E94\u96C6\u6570\u7684\u5143\u7D20
const episodeElement = document.getElementById('episode-item-push-' + episodeNumber);
if (episodeElement) {
// \u6EDA\u52A8\u5230\u6307\u5B9A\u5143\u7D20\u4F4D\u7F6E
episodeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
// \u6DFB\u52A0\u9AD8\u4EAE\u6548\u679C\u4EE5\u4FBF\u8BC6\u522B
episodeElement.style.backgroundColor = '#fff3cd'; // \u9EC4\u8272\u80CC\u666F\u9AD8\u4EAE
setTimeout(() => {
episodeElement.style.backgroundColor = ''; // \u6062\u590D\u539F\u8272
}, 2000);
} else {
customAlert('\u627E\u4E0D\u5230\u7B2C' + episodeNumber + '\u96C6');
}
}
// \u63A8\u9001\u5F39\u5E55
async function pushDanmu(pushUrl, commentUrl, episodeTitle) {
// \u83B7\u53D6\u63A8\u9001\u6309\u94AE\u5143\u7D20
const pushButton = event.target; // \u901A\u8FC7\u4E8B\u4EF6\u5BF9\u8C61\u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u6309\u94AE
// \u6821\u9A8C\u63A8\u9001\u5730\u5740\u662F\u5426\u4E3A\u7A7A
if (!pushUrl || pushUrl.trim() === '') {
customAlert('\u8BF7\u8F93\u5165\u63A8\u9001\u5730\u5740');
if (pushButton) {
pushButton.innerHTML = '\u63A8\u9001';
pushButton.disabled = false;
}
return;
}
if (pushButton) {
const originalText = pushButton.innerHTML;
pushButton.innerHTML = '<span class="loading-spinner-small"></span>';
pushButton.disabled = true;
}
try {
// \u5411\u63A8\u9001\u5730\u5740\u53D1\u9001\u5F39\u5E55\u6570\u636E
const pushResponse = await fetch(pushUrl + encodeURIComponent(commentUrl), {
method: 'GET',
mode: 'no-cors', // \u7531\u4E8E\u8DE8\u57DF\u9650\u5236\uFF0C\u4F7F\u7528no-cors\u6A21\u5F0F
});
customAlert('\u5F39\u5E55\u63A8\u9001\u6210\u529F\uFF01' + episodeTitle);
addLog('\u5F39\u5E55\u63A8\u9001\u6210\u529F - ' + episodeTitle, 'success');
} catch (error) {
console.error('\u63A8\u9001\u5F39\u5E55\u5931\u8D25:', error);
customAlert('\u63A8\u9001\u5F39\u5E55\u5931\u8D25: ' + error.message);
addLog('\u63A8\u9001\u5F39\u5E55\u5931\u8D25: ' + error.message, 'error');
} finally {
// \u6062\u590D\u6309\u94AE\u72B6\u6001
if (pushButton) {
pushButton.innerHTML = '\u63A8\u9001';
pushButton.disabled = false;
}
}
}
`;var Gst=`
// \u8BF7\u6C42\u8BB0\u5F55\u76F8\u5173\u529F\u80FD
async function renderRequestRecords() {
const recordsContainer = document.getElementById('request-records-list');
if (!recordsContainer) {
console.error('\u672A\u627E\u5230\u8BF7\u6C42\u8BB0\u5F55\u5BB9\u5668');
return;
}
try {
// \u4ECEAPI\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55
const response = await fetch(buildApiUrl('/api/reqrecords'));
if (!response.ok) {
throw new Error('\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u5931\u8D25');
}
const data = await response.json();
const records = data.records;
const todayReqNum = data.todayReqNum;
// \u663E\u793A\u4ECA\u65E5\u8BF7\u6C42\u603B\u6570
const totalRequestsElement = document.getElementById('total-requests-today');
if (totalRequestsElement) {
totalRequestsElement.textContent = \`\u4ECA\u65E5\u8BF7\u6C42\u603B\u6570: \${todayReqNum}\`;
}
if (records.length === 0) {
recordsContainer.innerHTML = '<div class="no-records">\u6682\u65E0\u8BF7\u6C42\u8BB0\u5F55</div>';
return;
}
// \u751F\u6210\u8BB0\u5F55HTML
const recordsHtml = records.map(record => {
const interfaceName = decodeURIComponent(record.interface) || '\u672A\u77E5\u63A5\u53E3';
const params = record.params || {};
const timestamp = record.timestamp ? new Date(record.timestamp).toLocaleString('zh-CN') : '\u672A\u77E5\u65F6\u95F4';
const method = record.method || 'GET';
const clientIp = record.clientIp || '\u672A\u77E5IP';
// \u683C\u5F0F\u5316\u53C2\u6570\u663E\u793A
const hasParams = Object.keys(params).length > 0;
const paramsHtml = hasParams
? \`<div class="record-params">
<div class="record-params-title">\u8BF7\u6C42\u53C2\u6570</div>
<pre>\${JSON.stringify(params, null, 2)}</pre>
</div>\`
: '';
// \u5982\u679C\u6CA1\u6709\u53C2\u6570\uFF0C\u7ED9\u65F6\u95F4\u6233\u6DFB\u52A0 no-params \u7C7B\u4EE5\u9690\u85CF\u865A\u7EBF
const timestampClass = hasParams ? 'record-timestamp' : 'record-timestamp no-params';
return \`
<div class="record-item">
<div class="record-header">
<div class="record-method">\${method}</div>
<div class="record-interface">\${interfaceName}</div>
<div class="record-ip">\${clientIp}</div>
</div>
<div class="\${timestampClass}">\${timestamp}</div>
\${paramsHtml}
</div>\`;
}).join('');
recordsContainer.innerHTML = recordsHtml;
} catch (error) {
console.error('\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u65F6\u51FA\u9519:', error);
recordsContainer.innerHTML = '<div class="no-records">\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u5931\u8D25: ' + error.message + '</div>';
}
}
// \u521D\u59CB\u5316\u8BF7\u6C42\u8BB0\u5F55\u754C\u9762
function initRequestRecordsInterface() {
// \u786E\u4FDD\u5728\u5207\u6362\u5230\u8BF7\u6C42\u8BB0\u5F55\u6807\u7B7E\u9875\u65F6\u4E5F\u66F4\u65B0\u8BB0\u5F55
const originalSwitchSection = window.switchSection;
if (originalSwitchSection && typeof originalSwitchSection === 'function') {
window.switchSection = function(section, event = null) {
// \u8C03\u7528\u539F\u51FD\u6570
originalSwitchSection(section, event);
// \u5982\u679C\u5207\u6362\u5230\u8BF7\u6C42\u8BB0\u5F55\u9875\u9762\uFF0C\u5219\u5237\u65B0\u8BB0\u5F55
if (section === 'request-records') {
setTimeout(renderRequestRecords, 100);
}
};
}
// \u9996\u6B21\u521D\u59CB\u5316
if (document.getElementById('request-records-section') &&
document.querySelector('.nav-btn[data-section="request-records"]') &&
document.querySelector('.nav-btn[data-section="request-records"]').classList.contains('active')) {
renderRequestRecords();
}
}
// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316
document.addEventListener('DOMContentLoaded', function() {
if (typeof initRequestRecordsInterface === 'function') {
initRequestRecordsInterface();
}
// \u6DFB\u52A0\u5237\u65B0\u6309\u94AE\u529F\u80FD
const refreshBtn = document.getElementById('refresh-request-records');
if (refreshBtn) {
refreshBtn.onclick = function() {
renderRequestRecords();
};
}
});
`;var Vst=`
// \u5168\u5C40\u53D8\u91CF\u5B9A\u4E49
let isMergeMode = false;
let stagingTags = [];
// \u663E\u793A\u6E05\u7406\u7F13\u5B58\u786E\u8BA4\u6A21\u6001\u6846
function showClearCacheModal() {
document.getElementById('clear-cache-modal').classList.add('active');
}
// \u9690\u85CF\u6E05\u7406\u7F13\u5B58\u786E\u8BA4\u6A21\u6001\u6846
function hideClearCacheModal() {
document.getElementById('clear-cache-modal').classList.remove('active');
}
// \u786E\u8BA4\u6E05\u7406\u7F13\u5B58
async function confirmClearCache() {
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
const configCheck = await checkDeployPlatformConfig();
if (!configCheck.success) {
hideClearCacheModal();
customAlert(configCheck.message);
return;
}
hideClearCacheModal();
showLoading('\u6B63\u5728\u6E05\u7406\u7F13\u5B58...', '\u6E05\u9664\u4E2D\uFF0C\u8BF7\u7A0D\u5019');
addLog('\u5F00\u59CB\u6E05\u7406\u7F13\u5B58', 'info');
try {
// \u8C03\u7528\u771F\u5B9E\u7684\u6E05\u7406\u7F13\u5B58API
const response = await fetch(buildApiUrl('/api/cache/clear', true), { // \u4F7F\u7528admin token
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
});
const result = await response.json();
if (result.success) {
updateLoadingText('\u6E05\u7406\u5B8C\u6210', '\u7F13\u5B58\u5DF2\u6210\u529F\u6E05\u9664');
addLog('\u7F13\u5B58\u6E05\u7406\u5B8C\u6210', 'success');
addLog('\u7F13\u5B58\u6E05\u7406\u6210\u529F\uFF01\u5DF2\u6E05\u7406: ' + JSON.stringify(result.clearedItems), 'success');
} else {
updateLoadingText('\u6E05\u7406\u5931\u8D25', '\u8BF7\u67E5\u770B\u65E5\u5FD7\u4E86\u89E3\u8BE6\u60C5');
addLog('\u7F13\u5B58\u6E05\u7406\u5931\u8D25: ' + result.message, 'error');
}
} catch (error) {
updateLoadingText('\u6E05\u7406\u5931\u8D25', '\u7F51\u7EDC\u9519\u8BEF\u6216\u670D\u52A1\u4E0D\u53EF\u7528');
addLog('\u7F13\u5B58\u6E05\u7406\u8BF7\u6C42\u5931\u8D25: ' + error.message, 'error');
} finally {
setTimeout(() => {
hideLoading();
}, 10);
}
}
// \u663E\u793A\u91CD\u65B0\u90E8\u7F72\u786E\u8BA4\u6A21\u6001\u6846
function showDeploySystemModal() {
document.getElementById('deploy-system-modal').classList.add('active');
}
// \u9690\u85CF\u91CD\u65B0\u90E8\u7F72\u786E\u8BA4\u6A21\u6001\u6846
function hideDeploySystemModal() {
document.getElementById('deploy-system-modal').classList.remove('active');
}
// \u786E\u8BA4\u91CD\u65B0\u90E8\u7F72\u7CFB\u7EDF
function confirmDeploySystem() {
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
checkDeployPlatformConfig().then(configCheck => {
if (!configCheck.success) {
hideDeploySystemModal();
customAlert(configCheck.message);
return;
}
hideDeploySystemModal();
showLoading('\u51C6\u5907\u90E8\u7F72...', '\u6B63\u5728\u68C0\u67E5\u7CFB\u7EDF\u72B6\u6001');
addLog('===== \u5F00\u59CB\u7CFB\u7EDF\u90E8\u7F72 =====', 'info');
// \u83B7\u53D6\u5F53\u524D\u90E8\u7F72\u5E73\u53F0
fetch(buildApiUrl('/api/config', true))
.then(response => response.json())
.then(config => {
const deployPlatform = config.envs.deployPlatform || 'node';
addLog(\`\u68C0\u6D4B\u5230\u90E8\u7F72\u5E73\u53F0: \${deployPlatform}\`, 'info');
if (deployPlatform.toLowerCase() === 'node') {
// Node\u90E8\u7F72\u4E0D\u9700\u8981\u91CD\u65B0\u90E8\u7F72
setTimeout(() => {
hideLoading();
addLog('===== \u90E8\u7F72\u5B8C\u6210 =====', 'success');
addLog('Node\u90E8\u7F72\u6A21\u5F0F\uFF0C\u73AF\u5883\u53D8\u91CF\u5DF2\u751F\u6548', 'info');
addLog('Node\u90E8\u7F72\u6A21\u5F0F - \u5728Node\u90E8\u7F72\u6A21\u5F0F\u4E0B\uFF0C\u73AF\u5883\u53D8\u91CF\u4FEE\u6539\u540E\u4F1A\u81EA\u52A8\u751F\u6548\uFF0C\u65E0\u9700\u91CD\u65B0\u90E8\u7F72\u3002\u7CFB\u7EDF\u5DF2\u66F4\u65B0\u914D\u7F6E', 'success');
}, 150);
} else {
// \u8C03\u7528\u771F\u5B9E\u7684\u90E8\u7F72API
fetch(buildApiUrl('/api/deploy', true), { // \u4F7F\u7528admin token
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(result => {
if (result.success) {
addLog('\u4E91\u7AEF\u90E8\u7F72\u89E6\u53D1\u6210\u529F', 'success');
// \u6A21\u62DF\u4E91\u7AEF\u90E8\u7F72\u8FC7\u7A0B
simulateDeployProcess();
} else {
hideLoading();
addLog(\`\u4E91\u7AEF\u90E8\u7F72\u5931\u8D25: \${result.message}\`, 'error');
}
})
.catch(error => {
hideLoading();
addLog(\`\u4E91\u7AEF\u90E8\u7F72\u8BF7\u6C42\u5931\u8D25: \${error.message}\`, 'error');
});
}
})
.catch(error => {
hideLoading();
addLog(\`\u83B7\u53D6\u90E8\u7F72\u5E73\u53F0\u4FE1\u606F\u5931\u8D25: \${error.message}\`, 'error');
console.error('\u83B7\u53D6\u90E8\u7F72\u5E73\u53F0\u4FE1\u606F\u5931\u8D25:', error);
});
});
}
// \u6A21\u62DF\u4E91\u7AEF\u90E8\u7F72\u8FC7\u7A0B
function simulateDeployProcess() {
let progress = 0;
const progressInterval = setInterval(() => {
progress += Math.random() * 8;
if (progress >= 100) {
progress = 10;
clearInterval(progressInterval);
}
updateProgress(progress);
}, 300);
// \u6A21\u62DF\u90E8\u7F72\u6B65\u9AA4
const steps = [
{ delay: 100, text: '\u68C0\u67E5\u73AF\u5883\u53D8\u91CF...', detail: '\u9A8C\u8BC1\u914D\u7F6E\u6587\u4EF6', log: '\u914D\u7F6E\u6587\u4EF6\u9A8C\u8BC1\u901A\u8FC7' },
{ delay: 5000, text: '\u89E6\u53D1\u4E91\u7AEF\u90E8\u7F72...', detail: '\u90E8\u7F72\u5230\u5F53\u524D\u5E73\u53F0', log: '\u4E91\u7AEF\u90E8\u7F72\u5DF2\u89E6\u53D1' },
{ delay: 9500, text: '\u6784\u5EFA\u9879\u76EE...', detail: '\u4E91\u7AEF\u6784\u5EFA\u4E2D', log: '\u4E91\u7AEF\u6784\u5EFA\u5B8C\u6210' },
{ delay: 5000, text: '\u90E8\u7F72\u66F4\u65B0...', detail: '\u53D1\u5E03\u5230\u751F\u4EA7\u73AF\u5883', log: '\u66F4\u65B0\u5DF2\u90E8\u7F72' },
{ delay: 5500, text: '\u670D\u52A1\u91CD\u542F...', detail: '\u5E94\u7528\u65B0\u914D\u7F6E', log: '\u670D\u52A1\u5DF2\u91CD\u542F' },
{ delay: 5000, text: '\u5065\u5EB7\u68C0\u67E5...', detail: '\u9A8C\u8BC1\u670D\u52A1\u72B6\u6001', log: '\u6240\u6709\u670D\u52A1\u8FD0\u884C\u6B63\u5E38' },
];
steps.forEach(step => {
setTimeout(() => {
updateLoadingText(step.text, step.detail);
addLog(step.log, 'success');
}, step.delay);
});
// \u90E8\u7F72\u540E\u68C0\u67E5\u670D\u52A1\u662F\u5426\u53EF\u7528
setTimeout(() => {
checkDeploymentStatus();
}, 900); // \u5EF6\u957F\u5EF6\u8FDF\u4EE5\u786E\u4FDD\u6A21\u62DF\u90E8\u7F72\u8FC7\u7A0B\u5B8C\u6210
}
// \u68C0\u67E5\u90E8\u7F72\u72B6\u6001\uFF0C\u6BCF\u96945\u79D2\u8BF7\u6C42/api/logs\u63A5\u53E3\u76F4\u5230\u8BF7\u6C42\u6210\u529F
function checkDeploymentStatus() {
const checkInterval = setInterval(() => {
updateLoadingText('\u90E8\u7F72\u5B8C\u6210\uFF0C\u68C0\u67E5\u670D\u52A1\u72B6\u6001...', '\u6B63\u5728\u8BF7\u6C42 /api/logs \u63A5\u53E3');
addLog('\u6B63\u5728\u68C0\u67E5\u670D\u52A1\u72B6\u6001...', 'info');
fetch(buildApiUrl('/api/logs'))
.then(response => {
if (response.ok) {
// \u8BF7\u6C42\u6210\u529F\uFF0C\u505C\u6B62\u68C0\u67E5
clearInterval(checkInterval);
// \u66F4\u65B0\u52A0\u8F7D\u72B6\u6001\u800C\u4E0D\u662F\u7ACB\u5373\u9690\u85CF
updateLoadingText('\u90E8\u7F72\u6210\u529F\uFF01', '\u670D\u52A1\u5DF2\u91CD\u542F\u5E76\u6B63\u5E38\u8FD0\u884C');
addLog('===== \u90E8\u7F72\u5B8C\u6210 =====', 'success');
addLog('\u90E8\u7F72\u7248\u672C: ' + latestVersion, 'info');
addLog('\u7CFB\u7EDF\u5DF2\u66F4\u65B0\u5E76\u91CD\u542F', 'success');
// \u90E8\u7F72\u5B8C\u6210\u540E\u518D\u6B21\u786E\u8BA4\uFF0C\u8BBF\u95EE/api/logs\u63A5\u53E3\u6765\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
confirmDeploymentByLogs();
} else {
addLog('\u670D\u52A1\u68C0\u67E5\u4E2D - \u72B6\u6001\u7801: ' + response.status, 'info');
}
})
.catch(error => {
addLog('\u670D\u52A1\u68C0\u67E5\u4E2D - \u8FDE\u63A5\u5931\u8D25: ' + error.message, 'info');
});
}, 500); // \u6BCF5\u79D2\u68C0\u67E5\u4E00\u6B21
}
// \u90E8\u7F72\u5B8C\u6210\u540E\u901A\u8FC7\u8BBF\u95EE/api/logs\u63A5\u53E3\u6765\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
function confirmDeploymentByLogs() {
// \u90E8\u7F72\u5B8C\u6210\u540E\u7684\u786E\u8BA4\u68C0\u67E5
let confirmationAttempts = 0;
const maxAttempts = 3; // \u6700\u591A\u5C1D\u8BD53\u6B21\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
const confirmationInterval = setInterval(() => {
confirmationAttempts++;
updateLoadingText('\u90E8\u7F72\u5B8C\u6210\u786E\u8BA4\u4E2D...', '\u6B63\u5728\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210 (' + confirmationAttempts + '/' + maxAttempts + ')');
addLog('\u90E8\u7F72\u5B8C\u6210\u786E\u8BA4 - \u5C1D\u8BD5 ' + confirmationAttempts + '/' + maxAttempts, 'info');
fetch(buildApiUrl('/api/logs'))
.then(response => {
if (response.ok) {
// \u8BF7\u6C42\u6210\u529F\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5
clearInterval(confirmationInterval);
// \u663E\u793A\u6210\u529F\u4FE1\u606F\u540E\u5EF6\u8FDF\u9690\u85CF\u52A0\u8F7D\u906E\u7F69
updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u6210\u529F\uFF01', '\u670D\u52A1\u5DF2\u91CD\u542F\u5E76\u6B63\u5E38\u8FD0\u884C');
addLog('\u90E8\u7F72\u786E\u8BA4\u6210\u529F - /api/logs \u63A5\u53E3\u8BBF\u95EE\u6B63\u5E38', 'success');
setTimeout(() => {
hideLoading();
// \u663E\u793A\u6210\u529F\u5F39\u7A97
customAlert('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548');
addLog('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success');
}, 200);
} else if (confirmationAttempts >= maxAttempts) {
// \u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5
clearInterval(confirmationInterval);
updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210', '\u670D\u52A1\u5DF2\u91CD\u542F');
addLog('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210 - \u5DF2\u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570', 'warn');
setTimeout(() => {
hideLoading();
// \u663E\u793A\u6210\u529F\u5F39\u7A97
customAlert('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548');
addLog('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success');
}, 200);
} else {
addLog('\u90E8\u7F72\u786E\u8BA4\u4E2D - \u72B6\u6001\u7801: ' + response.status, 'info');
}
})
.catch(error => {
if (confirmationAttempts >= maxAttempts) {
// \u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5
clearInterval(confirmationInterval);
updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210', '\u670D\u52A1\u5DF2\u91CD\u542F');
addLog('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210 - \u5DF2\u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570', 'warn');
setTimeout(() => {
hideLoading();
// \u663E\u793A\u6210\u529F\u5F39\u7A97
customAlert('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548');
addLog('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success');
}, 200);
} else {
addLog('\u90E8\u7F72\u786E\u8BA4\u4E2D - \u8FDE\u63A5\u5931\u8D25: ' + error.message, 'info');
}
});
}, 5000); // \u6BCF5\u79D2\u68C0\u67E5\u4E00\u6B21\uFF0C\u7528\u4E8E\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
}
// \u68C0\u67E5URL\u4E2D\u7684token\u662F\u5426\u4E0EcurrentAdminToken\u5339\u914D
function checkAdminToken() {
let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u53D8\u91CF customBaseUrl
// \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token
let urlPath = window.location.pathname;
// \u5982\u679C\u914D\u7F6E\u4E86\u53CD\u4EE3\u8DEF\u5F84\uFF0C\u5FC5\u987B\u5148\u5265\u79BB\u5B83
if(_reverseProxy) {
try {
// \u89E3\u6790\u914D\u7F6E\u4E2D\u7684\u8DEF\u5F84\u90E8\u5206\uFF0C\u4F8B\u5982 http://192.168.8.1:2333/danmu_api => /danmu_api
let proxyPath = _reverseProxy.startsWith('http')
? new URL(_reverseProxy).pathname
: _reverseProxy;
// \u786E\u4FDD\u79FB\u9664\u5C3E\u90E8\u659C\u6760
if (proxyPath.endsWith('/')) {
proxyPath = proxyPath.slice(0, -1);
}
// \u5982\u679C\u5F53\u524DURL\u5305\u542B\u6B64\u524D\u7F00\uFF0C\u5219\u79FB\u9664\u5B83
if(proxyPath && urlPath.startsWith(proxyPath)) {
urlPath = urlPath.substring(proxyPath.length);
}
} catch(e) {
console.error("\u89E3\u6790\u53CD\u4EE3\u8DEF\u5F84\u5931\u8D25", e);
}
}
const pathParts = urlPath.split('/').filter(part => part !== '');
const urlToken = pathParts.length > 0 ? pathParts[0] : currentToken; // \u5982\u679C\u6CA1\u6709\u8DEF\u5F84\u6BB5\uFF0C\u4F7F\u7528\u9ED8\u8BA4token
// \u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN\u4E14URL\u4E2D\u7684token\u7B49\u4E8EcurrentAdminToken
return currentAdminToken && currentAdminToken.trim() !== '' && urlToken === currentAdminToken;
}
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u914D\u7F6E
async function checkDeployPlatformConfig() {
// \u9996\u5148\u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN
if (!checkAdminToken()) {
// \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3
const protocol = window.location.protocol;
const host = window.location.host;
let displayBase;
if (customBaseUrl) {
displayBase = customBaseUrl.startsWith('http')
? customBaseUrl
: (protocol + '//' + host + customBaseUrl);
} else {
displayBase = protocol + '//' + host;
}
if (displayBase.endsWith('/')) {
displayBase = displayBase.slice(0, -1);
}
return { success: false, message: \`<div style="text-align: left;">
<p style="margin-bottom: 12px; font-weight: 500;">\u68C0\u6D4B\u5230\u672A\u914D\u7F6E\u7CFB\u7EDF\u7BA1\u7406\u4EE4\u724C (ADMIN_TOKEN)\uFF0C\u65E0\u6CD5\u4F7F\u7528\u7CFB\u7EDF\u914D\u7F6E\u529F\u80FD\u3002</p>
<div style="background: rgba(0,0,0,0.03); padding: 16px; border-radius: 12px; font-size: 13px; border: 1px solid rgba(0,0,0,0.05);">
<p style="margin-bottom: 8px; font-weight: bold; color: var(--text-primary);">\u5982\u4F55\u4FEE\u590D\uFF1A</p>
<ol style="padding-left: 20px; margin-bottom: 12px; color: var(--text-secondary); line-height: 1.6;">
<li>\u5728\u90E8\u7F72\u5E73\u53F0\u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF <code>ADMIN_TOKEN</code></li>
<li>\u91CD\u65B0\u90E8\u7F72\u670D\u52A1</li>
<li>\u4F7F\u7528\u5E26Token\u7684\u94FE\u63A5\u8BBF\u95EE</li>
</ol>
<p style="margin-bottom: 6px; font-weight: bold; color: var(--text-primary);">\u8BBF\u95EE\u793A\u4F8B\uFF1A</p>
<code style="display: block; background: #fff; padding: 10px; border-radius: 8px; border: 1px solid rgba(0,0,0,0.08); word-break: break-all; font-family: 'SF Mono', monospace; color: var(--primary-color);">\${displayBase}/{ADMIN_TOKEN}</code>
</div>
</div>\` };
}
try {
const response = await fetch(buildApiUrl('/api/config', true));
if (!response.ok) {
throw new Error('HTTP error! status: ' + response.status);
}
const config = await response.json();
const deployPlatform = config.envs.deployPlatform || 'node';
// \u5982\u679C\u662Fnode\u90E8\u7F72\u5E73\u53F0\uFF0C\u53EA\u9700\u8981\u68C0\u67E5ADMIN_TOKEN
if (deployPlatform.toLowerCase() === 'node') {
return { success: true, message: 'Node\u90E8\u7F72\u5E73\u53F0\uFF0C\u4EC5\u9700\u914D\u7F6EADMIN_TOKEN' };
}
// \u5BF9\u4E8E\u5176\u4ED6\u90E8\u7F72\u5E73\u53F0\uFF0C\u6536\u96C6\u6240\u6709\u7F3A\u5931\u7684\u73AF\u5883\u53D8\u91CF
const missingVars = [];
const deployPlatformProject = config.originalEnvVars.DEPLOY_PLATFROM_PROJECT;
const deployPlatformToken = config.originalEnvVars.DEPLOY_PLATFROM_TOKEN;
const deployPlatformAccount = config.originalEnvVars.DEPLOY_PLATFROM_ACCOUNT;
if (!deployPlatformProject || deployPlatformProject.trim() === '') {
missingVars.push('DEPLOY_PLATFROM_PROJECT');
}
if (!deployPlatformToken || deployPlatformToken.trim() === '') {
missingVars.push('DEPLOY_PLATFROM_TOKEN');
}
// \u5BF9\u4E8E\u9700\u8981\u8D26\u53F7ID\u7684\u90E8\u7F72\u5E73\u53F0\uFF0C\u8FD8\u9700\u8981\u68C0\u67E5DEPLOY_PLATFROM_ACCOUNT
if (['netlify', 'cloudflare', 'huggingface'].includes(deployPlatform.toLowerCase())) {
if (!deployPlatformAccount || deployPlatformAccount.trim() === '') {
missingVars.push('DEPLOY_PLATFROM_ACCOUNT');
}
}
if (missingVars.length > 0) {
const missingVarsStr = missingVars.join('\u3001');
return { success: false, message: '\u90E8\u7F72\u5E73\u53F0\u4E3A' + deployPlatform + '\uFF0C\u8BF7\u914D\u7F6E\u4EE5\u4E0B\u7F3A\u5931\u7684\u73AF\u5883\u53D8\u91CF\uFF1A' + missingVarsStr };
}
return { success: true, message: deployPlatform + '\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5B8C\u6574' };
} catch (error) {
console.error('\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5931\u8D25:', error);
return { success: false, message: '\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5931\u8D25: ' + error.message };
}
}
// \u83B7\u53D6\u5E76\u8BBE\u7F6E\u914D\u7F6E\u4FE1\u606F
async function fetchAndSetConfig() {
const config = await fetch(buildApiUrl('/api/config', true)).then(response => response.json());
const hasAdminToken = config.hasAdminToken;
currentAdminToken = config.originalEnvVars?.ADMIN_TOKEN || '';
return config;
}
// \u68C0\u67E5\u5E76\u5904\u7406\u7BA1\u7406\u5458\u4EE4\u724C
function checkAndHandleAdminToken() {
if (!checkAdminToken()) {
// \u7981\u7528\u7CFB\u7EDF\u914D\u7F6E\u6309\u94AE\u5E76\u6DFB\u52A0\u63D0\u793A
const envNavBtn = document.getElementById('env-nav-btn');
if (envNavBtn) {
envNavBtn.title = '\u8BF7\u5148\u914D\u7F6EADMIN_TOKEN\u5E76\u4F7F\u7528\u6B63\u786E\u7684admin token\u8BBF\u95EE\u4EE5\u542F\u7528\u7CFB\u7EDF\u7BA1\u7406\u529F\u80FD';
}
}
}
// \u6E32\u67D3\u503C\u8F93\u5165\u63A7\u4EF6
function renderValueInput(item) {
const container = document.getElementById('value-input-container');
const type = item ? item.type : document.getElementById('value-type').value;
const value = item ? item.value : '';
const currentKey = item ? item.key : document.getElementById('env-key').value;
if (type === 'boolean') {
// \u5E03\u5C14\u5F00\u5173
// \u5BF9\u4E8ELIKE_SWITCH\u53D8\u91CF\uFF0C\u9ED8\u8BA4\u503C\u8BBE\u4E3Atrue\uFF08\u5F00\u542F\u72B6\u6001\uFF09
let checked;
if (currentKey === 'LIKE_SWITCH' || currentKey === 'REMEMBER_LAST_SELECT') {
// \u5982\u679C\u503C\u4E3A\u7A7A\u6216\u672A\u5B9A\u4E49\uFF0CLIKE_SWITCH\u548CREMEMBER_LAST_SELECT\u9ED8\u8BA4\u4E3Atrue\uFF08\u5F00\u542F\uFF09
checked = value === 'true' || value === true || (value === '' || value === undefined || value === null);
} else {
checked = value === 'true' || value === true;
}
container.innerHTML = \`
<label>\u503C</label>
<div class="switch-container">
<label class="switch">
<input type="checkbox" id="bool-value" \${checked ? 'checked' : ''}>
<span class="slider"></span>
</label>
<span class="switch-label" id="bool-label">\${checked ? '\u542F\u7528' : '\u7981\u7528'}</span>
</div>
\`;
document.getElementById('bool-value').addEventListener('change', function(e) {
document.getElementById('bool-label').textContent = e.target.checked ? '\u542F\u7528' : '\u7981\u7528';
});
} else if (type === 'number') {
// \u6570\u5B57\u6EDA\u8F6E
const min = item && item.min !== undefined ? item.min : 1;
const max = item && item.max !== undefined ? item.max : 100;
const currentValue = value || min;
container.innerHTML = \`
<label>\u503C (\${min}-\${max})</label>
<div class="number-picker">
<div class="number-controls">
<button type="button" class="number-btn" onclick="adjustNumber(1)">\u25B2</button>
<button type="button" class="number-btn" onclick="adjustNumber(-1)">\u25BC</button>
</div>
<div class="number-display" id="num-value">\${currentValue}</div>
</div>
<div class="number-range">
<input type="range" id="num-slider" min="\${min}" max="\${max}" value="\${currentValue}"
oninput="updateNumberDisplay(this.value)">
</div>
\`;
} else if (type === 'select') {
// \u6807\u7B7E\u9009\u62E9
const options = item && item.options ? item.options : ['option1', 'option2', 'option3'];
const optionsInput = item ? '' : \`
<div class="form-group margin-bottom-15">
<label>\u53EF\u9009\u9879 (\u9017\u53F7\u5206\u9694)</label>
<input type="text" id="select-options" placeholder="\u4F8B\u5982: debug,info,warn,error"
value="\${options.join(',')}" onchange="updateTagOptions()">
</div>
\`;
container.innerHTML = \`
\${optionsInput}
<label>\u9009\u62E9\u503C</label>
<div class="tag-selector" id="tag-selector">
\${options.map(opt => \`
<div class="tag-option \${opt === value ? 'selected' : ''}"
data-value="\${opt}" onclick="selectTag(this)">
\${opt}
</div>
\`).join('')}
</div>
\`;
} else if (type === 'multi-select') {
// \u591A\u9009\u6807\u7B7E\uFF08\u53EF\u62D6\u52A8\u6392\u5E8F\uFF09
const options = item && item.options ? item.options : ['option1', 'option2', 'option3', 'option4'];
// \u786E\u4FDDvalue\u662F\u5B57\u7B26\u4E32\u7C7B\u578B\u540E\u518D\u8FDB\u884Csplit\u64CD\u4F5C
const stringValue = typeof value === 'string' ? value : String(value || '');
const selectedValues = stringValue ? stringValue.split(',').map(v => v.trim()).filter(v => v) : [];
// \u68C0\u67E5\u662F\u5426\u4E3A SOURCE_ORDER\uFF0C\u5982\u679C\u662F\u5219\u4E0D\u663E\u793A\u5408\u5E76\u6A21\u5F0F
const shouldShowMergeMode = currentKey === 'MERGE_SOURCE_PAIRS' || currentKey === 'PLATFORM_ORDER';
// \u6BCF\u6B21\u6E32\u67D3\u65F6\u91CD\u7F6E\u5408\u5E76\u6A21\u5F0F\u72B6\u6001
isMergeMode = false;
stagingTags = [];
const optionsInput = item ? '' : \`
<div class="form-group margin-bottom-15">
<label>\u53EF\u9009\u9879 (\u9017\u53F7\u5206\u9694)</label>
<input type="text" id="multi-options" placeholder="\u4F8B\u5982: auth,payment,analytics"
value="\${options.join(',')}" onchange="updateMultiOptions()">
</div>
\`;
container.innerHTML = \`
\${optionsInput}
<label>\u5DF2\u9009\u62E9 (\u62D6\u52A8\u8C03\u6574\u987A\u5E8F)</label>
<div class="multi-select-container">
<div class="selected-tags \${selectedValues.length === 0 ? 'empty' : ''}" id="selected-tags">
\${selectedValues.map(val => \`
<div class="selected-tag" draggable="true" data-value="\${val}">
<span class="tag-text">\${val}</span>
<button type="button" class="remove-btn" onclick="removeSelectedTag(this)">\xD7</button>
</div>
\`).join('')}
</div>
\${shouldShowMergeMode ? \`
<div class="merge-mode-controls">
<div class="merge-mode-btn" id="merge-mode-toggle" onclick="toggleMergeMode()">
\u5F00\u542F\u5408\u5E76\u6A21\u5F0F
</div>
<div class="form-help" style="margin: 0; margin-left: 10px;">
\u5F00\u542F\u540E\u70B9\u51FB\u4E0B\u65B9\u9009\u9879\u5C06\u6DFB\u52A0\u5230\u6682\u5B58\u533A,\u7EC4\u5408\u540E\u70B9\u51FB \u221A \u786E\u8BA4
</div>
</div>
<div class="staging-area" id="staging-area">
<button type="button" class="confirm-merge-btn" onclick="confirmMergeGroup()" title="\u786E\u8BA4\u6DFB\u52A0\u8BE5\u7EC4">\u2713</button>
</div>
\` : ''}
<label>\u53EF\u9009\u9879 (\u70B9\u51FB\u6DFB\u52A0)</label>
<div class="available-tags" id="available-tags">
\${options.map(opt => {
return \`
<div class="available-tag"
data-value="\${opt}" onclick="addSelectedTag(this)">
\${opt}
</div>
\`;
}).join('')}
</div>
</div>
\${currentKey === 'MERGE_SOURCE_PAIRS' ? \`
<div style="margin-top: 15px; margin-bottom: 8px;">
<button type="button" class="btn btn-primary btn-sm" onclick="fetchAndShowRecentData()">
\u{1F4CA} \u67E5\u770B\u6700\u8FD1\u6570\u636E
</button>
</div>
<div id="recent-data-panel" class="recent-data-panel">
<div id="recent-data-list"></div>
</div>
\` : ''}
\`;
// \u8BBE\u7F6E\u62D6\u52A8\u4E8B\u4EF6
// \u7ACB\u5373\u6267\u884C\u4E00\u6B21\u72B6\u6001\u68C0\u67E5\uFF0C\u786E\u4FDD\u5DF2\u9009\u9879\u53D8\u7070
setTimeout(updateTagStates, 0);
setupDragAndDrop();
} else if (type === 'map') {
// \u6620\u5C04\u8868\u7C7B\u578B
const pairs = value ? value.split(';').map(pair => pair.trim()).filter(pair => pair) : [];
const mapItems = pairs.map(pair => {
if (pair.includes('->')) {
const [left, right] = pair.split('->').map(s => s.trim());
return { left, right };
}
return { left: pair, right: '' };
});
container.innerHTML = \`
<label>\u6620\u5C04\u914D\u7F6E</label>
<div class="map-container" id="map-container">
\${mapItems.map((item, index) => \`
<div class="map-item" data-index="\${index}">
<input type="text" class="map-input-left" placeholder="\u539F\u59CB\u503C" value="\${item.left}">
<span class="map-separator">-></span>
<input type="text" class="map-input-right" placeholder="\u6620\u5C04\u503C" value="\${item.right}">
<button type="button" class="btn btn-danger map-remove-btn" onclick="removeMapItem(this)">\u5220\u9664</button>
</div>
\`).join('')}
<div class="map-item-template" style="display: none;">
<input type="text" class="map-input-left" placeholder="\u539F\u59CB\u503C">
<span class="map-separator">-></span>
<input type="text" class="map-input-right" placeholder="\u6620\u5C04\u503C">
<button type="button" class="btn btn-danger map-remove-btn" onclick="removeMapItem(this)">\u5220\u9664</button>
</div>
</div>
<button type="button" class="btn btn-primary" onclick="addMapItem()">\u6DFB\u52A0\u6620\u5C04\u9879</button>
\`;
} else {
// \u6587\u672C\u8F93\u5165
const currentKey = document.getElementById('env-key') ? document.getElementById('env-key').value : '';
const isBilibiliCookie = currentKey === 'BILIBILI_COOKIE';
const isAiApiKey = currentKey === 'AI_API_KEY';
const isColorPool = currentKey === 'COLOR_POOL';
const isDanmuOffset = currentKey === 'DANMU_OFFSET';
const isCustomMergeRules = currentKey === 'CUSTOM_MERGE_RULES';
const offsetSources = item && item.sources ? item.sources : [];
if (isColorPool) {
// \u81EA\u5B9A\u4E49\u989C\u8272\u6C60\u4E13\u7528\u7F16\u8F91\u754C\u9762
const colors = parseColorPool(value);
container.innerHTML = \`
<label>\u989C\u8272\u6C60\u914D\u7F6E (CONVERT_COLOR \u4E3A color \u65F6\u751F\u6548)</label>
<div id="color-pool-display" class="color-pool-display">
\${renderColorItems(colors)}
</div>
<div class="color-pool-picker">
<div class="color-pool-picker-inner">
<div id="color-wheel" class="color-wheel">
<div class="color-wheel-center"></div>
<div id="wheel-dot" class="color-wheel-dot" style="top: 2px; left: 53px; background: hsl(0,100%,50%);"></div>
</div>
<div class="color-pool-preview">
<div id="color-preview-swatch" class="color-pool-preview-swatch" style="background: #ff0000;"></div>
<span id="color-preview-hex" class="color-pool-preview-hex">#ff0000</span>
</div>
<div class="color-pool-lightness">
<span>\u4EAE\u5EA6</span>
<input type="range" id="color-lightness" min="10" max="100" value="50">
</div>
<div class="color-pool-actions">
<button type="button" class="btn btn-primary btn-sm" onclick="addColorToPool()">\u6DFB\u52A0\u5230\u989C\u8272\u6C60</button>
<button type="button" class="btn btn-primary btn-sm" onclick="addRandomColorToPool()">\u968F\u673A\u6DFB\u52A0</button>
</div>
</div>
</div>
<div class="color-pool-actions">
<button type="button" class="btn btn-primary btn-sm" onclick="showBatchColorDialog()">\u6279\u91CF\u6DFB\u52A0</button>
<div class="spacer"></div>
<button type="button" class="btn btn-primary btn-sm" onclick="resetColorPool()">\u6062\u590D\u9ED8\u8BA4</button>
</div>
<textarea id="text-value" style="display: none;">\${value}</textarea>
\`;
setTimeout(initColorWheel, 0);
} else if (isDanmuOffset) {
// DANMU_OFFSET \u4E13\u7528\u7F16\u8F91\u754C\u9762
const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 10) : 3;
container.innerHTML = \`
<label>\u53D8\u91CF\u503C</label>
<textarea id="text-value" placeholder="\u683C\u5F0F\uFF1A\u5267\u540D:\u79D2 \u6216 \u5267\u540D/S01:\u79D2 \u6216 \u5267\u540D@\u6765\u6E90:\u79D2 \u6216 \u5267\u540D/S01/E01@\u6765\u6E90%:\u79D2" rows="\${rows}" class="text-monospace">\${value}</textarea>
<div style="margin-top: 8px; display: flex; gap: 10px;">
<button type="button" class="btn btn-primary btn-sm" id="offset-rule-toggle" onclick="toggleOffsetRulePanel()">
\u6DFB\u52A0\u89C4\u5219
</button>
<button type="button" class="btn btn-primary btn-sm" onclick="fetchAndShowRecentData()">
\u{1F4CA} \u67E5\u770B\u6700\u8FD1\u6570\u636E
</button>
</div>
<div id="recent-data-panel" class="recent-data-panel">
<div class="form-help" style="margin: 0 0 8px 0;">\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u53EF\u5FEB\u6377\u586B\u5165\u89C4\u5219\u8868\u5355\uFF1A</div>
<div id="recent-data-list"></div>
</div>
<div id="offset-rule-panel" class="offset-rule-panel">
<div class="form-help" style="margin: 0 0 8px 0;">\u5B63\u548C\u96C6\u4E0D\u586B\u5219\u5BF9\u6240\u6709\u5B63/\u96C6\u751F\u6548</div>
<div class="offset-form-row">
<div style="flex: 2; min-width: 100px;">
<label class="offset-label">\u5267\u540D *</label>
<input type="text" id="offset-anime" class="offset-input" placeholder="\u4F8B\u5982: overlord">
</div>
<div style="width: 65px;">
<label class="offset-label">\u5B63</label>
<input type="number" id="offset-season" class="offset-input" placeholder="" min="1" max="99">
</div>
<div style="width: 65px;">
<label class="offset-label">\u96C6</label>
<input type="number" id="offset-episode" class="offset-input" placeholder="" min="1" max="999">
</div>
<div style="width: 85px;">
<label class="offset-label">\u504F\u79FB\u79D2 *</label>
<input type="number" id="offset-seconds" class="offset-input" placeholder="90">
</div>
</div>
<div style="margin-bottom: 10px; display: flex; align-items: center; width: 100%;">
<label class="offset-label" style="display: flex; align-items: center; gap: 8px; cursor: pointer; margin: 0; white-space: nowrap;">
\u542F\u7528\u767E\u5206\u6BD4\u6A21\u5F0F\uFF08\u6309\u89C6\u9891\u65F6\u957F\u7F29\u653E\u5168\u90E8\u5F39\u5E55\u65F6\u95F4\uFF09
<input type="checkbox" id="offset-use-percent" style="width: 16px; height: 16px; margin: 0; flex-shrink: 0;">
</label>
</div>
\${offsetSources.length > 0 ? \`
<div style="margin-bottom: 10px;">
<label class="offset-label">\u6765\u6E90 (\u53EF\u9009\uFF0C\u4E0D\u9009\u5219\u5BF9\u6240\u6709\u6765\u6E90\u751F\u6548)</label>
<div id="offset-sources" class="offset-sources">
\${offsetSources.map(src => \`
<div class="offset-source-tag" data-value="\${src}" onclick="toggleOffsetSource(this)">
\${src}
</div>
\`).join('')}
</div>
</div>
\` : ''}
<div class="offset-actions">
<button type="button" class="btn btn-sm" onclick="toggleOffsetRulePanel()">\u53D6\u6D88</button>
<button type="button" class="btn btn-primary btn-sm" onclick="appendOffsetRule()">\u786E\u8BA4\u6DFB\u52A0</button>
</div>
</div>
\`;
} else if (isAiApiKey) {
// AI API Key \u4E13\u7528\u7F16\u8F91\u754C\u9762
container.innerHTML = \`
<div class="ai-apikey-editor">
<label>API Key \u503C</label>
<textarea class="form-group" id="text-value" placeholder="\u8BF7\u8F93\u5165 AI API Key" rows="3">\${value}</textarea>
<div class="form-help">\u652F\u6301 OpenAI \u517C\u5BB9\u7684 API\uFF0C\u9700\u914D\u5408 AI_BASE_URL \u548C AI_MODEL \u914D\u7F6E\u4F7F\u7528</div>
<div class="ai-apikey-status" id="ai-apikey-status">
<span class="ai-status-icon">\u{1F50D}</span>
<span class="ai-status-text">\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u6D4B\u8BD5\u8FDE\u901A\u6027</span>
</div>
<div class="ai-apikey-actions" style="margin-bottom: 15px;">
<button type="button" class="btn btn-primary btn-sm" id="ai-verify-btn" onclick="verifyAiConnection()">
\u{1F9EA} \u6D4B\u8BD5\u8FDE\u901A\u6027
</button>
</div>
</div>
\`;
} else if (isBilibiliCookie) {
// Bilibili Cookie \u4E13\u7528\u7F16\u8F91\u754C\u9762
const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 8) : 3;
container.innerHTML = \`
<div class="bili-cookie-editor">
<div class="bili-cookie-status" id="bili-cookie-status">
<span class="bili-status-text">\u68C0\u6D4B\u4E2D...</span>
</div>
<div class="bili-cookie-actions">
<button type="button" class="btn btn-primary btn-sm" onclick="startBilibiliQRLogin()">
\u626B\u7801\u767B\u5F55
</button>
</div>
<label>Cookie \u503C</label>
<textarea class="form-group" id="text-value" placeholder="SESSDATA=xxx; bili_jct=xxx; DedeUserID=xxx;" rows="\${rows}">\${value}</textarea>
<div class="form-help">\u63A8\u8350\u4F7F\u7528\u626B\u7801\u767B\u5F55\u81EA\u52A8\u83B7\u53D6\uFF0C\u6216\u624B\u52A8\u7C98\u8D34\u5305\u542B SESSDATA \u548C bili_jct \u7684\u5B8C\u6574 Cookie</div>
</div>
\`;
// \u81EA\u52A8\u68C0\u6D4B Cookie \u72B6\u6001 + \u76D1\u542C\u8F93\u5165\u53D8\u5316\uFF08\u9632\u6296\uFF09
setTimeout(() => {
autoCheckBilibiliCookieStatus();
const inputEl = document.getElementById('text-value');
if (inputEl) {
let debounceTimer = null;
inputEl.addEventListener('input', () => {
if (debounceTimer) clearTimeout(debounceTimer);
debounceTimer = setTimeout(() => {
autoCheckBilibiliCookieStatus();
}, 600);
});
}
}, 120);
} else if (isCustomMergeRules) {
// CUSTOM_MERGE_RULES \u4E13\u7528\u7F16\u8F91\u754C\u9762
const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 10) : 3;
container.innerHTML = \`
<label>\u53D8\u91CF\u503C</label>
<textarea id="text-value" placeholder="\u683C\u5F0F\uFF1A\u526F\u6E90 -> \u4E3B\u6E90 | \u8DEF\u7531\u89C4\u5219 \u6216 \u526F\u6E90 \xD7 \u4E3B\u6E90" rows="\${rows}" class="text-monospace">\${value || ''}</textarea>
<div style="margin-top: 8px; display: flex; gap: 10px;">
<button type="button" class="btn btn-primary btn-sm" id="merge-rule-toggle" onclick="toggleMergeRulePanel()">
\u6DFB\u52A0\u89C4\u5219
</button>
<button type="button" class="btn btn-primary btn-sm" onclick="fetchAndShowRecentData()">
\u{1F4CA} \u67E5\u770B\u6700\u8FD1\u6570\u636E
</button>
</div>
<div id="recent-data-panel" class="recent-data-panel">
<div class="form-help" style="margin: 0 0 8px 0;">\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u53EF\u5FEB\u6377\u586B\u5165\u89C4\u5219\u8868\u5355\uFF1A</div>
<div id="recent-data-list"></div>
</div>
<div id="merge-rule-panel" class="offset-rule-panel">
<div class="offset-form-row">
<div style="flex: 1; min-width: 120px;">
<label class="offset-label">\u526F\u6E90\u5B9E\u4F53\uFF08\u526F\u6E90\u5267\u540D@\u6E90\uFF09</label>
<input type="text" id="merge-sec-entity" class="offset-input" placeholder="\u4F8B: \u6211\u63A8\u7684\u5B69\u5B50/S01@bahamut" onfocus="setMergeFocus('sec')">
</div>
<div style="width: 60px;">
<label class="offset-label" style="text-align: center; display: block;">\u5173\u7CFB</label>
<select id="merge-action" class="offset-input" onchange="onMergeActionChange()" style="cursor: pointer; padding: 6px; text-align: center; font-weight: bold; font-size: 14px;">
<option value="->">-&gt;</option>
<option value="\xD7">\xD7</option>
</select>
<div id="merge-action-hint" style="font-size: 11px; color: #666; text-align: center; margin-top: 4px;">\u5408\u5E76</div>
</div>
<div style="flex: 1; min-width: 120px;">
<label class="offset-label">\u4E3B\u6E90\u5B9E\u4F53\uFF08\u4E3B\u6E90\u5267\u540D@\u6E90\uFF09</label>
<input type="text" id="merge-prim-entity" class="offset-input" placeholder="\u4F8B: \u6211\u63A8\u7684\u5B69\u5B50/S03@dandan" onfocus="setMergeFocus('prim')">
</div>
</div>
<div class="offset-form-row" id="merge-route-row">
<div style="flex: 1;">
<label class="offset-label">\u96C6\u6570\u8DEF\u7531\u89C4\u5219 (\u9009\u586B\uFF0C\u53EF\u591A\u7EC4\u3002\u4F8B\u5982: E01>E01,E25~E35>E25~E35)</label>
<input type="text" id="merge-route-rule" class="offset-input" placeholder="\u7559\u7A7A\u5219\u4EA4\u7531\u7CFB\u7EDF\u81EA\u52A8\u8BA1\u7B97\u504F\u79FB">
</div>
</div>
<div style="margin-bottom: 10px;">
<label class="offset-label">\u5FEB\u901F\u8FFD\u52A0\u6765\u6E90\u81F3\u5F53\u524D\u805A\u7126\u7684\u8F93\u5165\u6846 (\u6CA1\u6709 @ \u5219\u8FFD\u52A0 @xxx\uFF0C\u5DF2\u5B58\u5728 @ \u5219\u8FFD\u52A0 &xxx \u5408\u5E76\u5199\u6CD5)</label>
<div class="offset-sources">
\${offsetSources.map(src => \`
<div class="offset-source-tag" onclick="appendSourceToMerge('\${src}')">\${src}</div>
\`).join('')}
</div>
</div>
<div class="offset-actions">
<button type="button" class="btn btn-sm" onclick="toggleMergeRulePanel()">\u53D6\u6D88</button>
<button type="button" class="btn btn-primary btn-sm" onclick="appendMergeRule()">\u786E\u8BA4\u6DFB\u52A0</button>
</div>
</div>
\`;
} else if (value && value.length > 50) {
const rows = Math.min(Math.max(Math.ceil(value.length / 50), 3), 10);
container.innerHTML = \`
<label>\u53D8\u91CF\u503C *</label>
<textarea id="text-value" placeholder="\u4F8B\u5982: localhost" rows="\${rows}" class="text-monospace">\${value}</textarea>
\`;
} else {
container.innerHTML = \`
<label>\u53D8\u91CF\u503C *</label>
<input type="text" id="text-value" placeholder="\u4F8B\u5982: localhost" value="\${value}" required>
\`;
}
}
}
// ===== \u989C\u8272\u6C60\u64CD\u4F5C\u51FD\u6570 =====
// \u8272\u8F6E\u72B6\u6001
let wheelHue = 0;
let wheelLightness = 50;
let wheelCleanup = null;
// \u89E3\u6790\u989C\u8272\u6C60\u5B57\u7B26\u4E32\u4E3A\u5341\u8FDB\u5236\u6570\u7EC4
function parseColorPool(str) {
if (!str) return [];
return str.split(',').map(c => parseInt(c.trim(), 10)).filter(c => !isNaN(c) && c >= 0 && c <= 16777215);
}
// \u6E32\u67D3\u989C\u8272\u6C60\u8272\u5757 HTML
function renderColorItems(colors) {
if (colors.length === 0) return '<span class="color-pool-empty">\u672A\u914D\u7F6E\uFF0C\u5C06\u4F7F\u7528\u9ED8\u8BA4\u989C\u8272\u6C60</span>';
return colors.map((c, i) => \`
<div class="color-pool-item">
<span class="color-pool-swatch" style="background: #\${c.toString(16).padStart(6, '0')};"></span>
<span class="color-pool-value">\${c}</span>
<button type="button" class="color-pool-remove" onclick="removeColorFromPool(\${i})">&times;</button>
</div>
\`).join('');
}
// HSL -> RGB -> \u5341\u8FDB\u5236
function hslToDecimal(h, s, l) {
s /= 100;
l /= 100;
const k = n => (n + h / 30) % 12;
const a = s * Math.min(l, 1 - l);
const f = n => l - a * Math.max(-1, Math.min(k(n) - 3, 9 - k(n), 1));
const r = Math.round(f(0) * 255);
const g = Math.round(f(8) * 255);
const b = Math.round(f(4) * 255);
return (r << 16) | (g << 8) | b;
}
// \u66F4\u65B0\u8272\u8F6E\u9884\u89C8
function updateWheelPreview() {
const dec = hslToDecimal(wheelHue, 100, wheelLightness);
const hex = '#' + dec.toString(16).padStart(6, '0');
const swatch = document.getElementById('color-preview-swatch');
const hexLabel = document.getElementById('color-preview-hex');
const dot = document.getElementById('wheel-dot');
if (swatch) swatch.style.background = hex;
if (hexLabel) hexLabel.textContent = hex;
if (dot) dot.style.background = hex;
}
// \u521D\u59CB\u5316\u8272\u8F6E\u4EA4\u4E92
function initColorWheel() {
if (wheelCleanup) wheelCleanup();
const wheel = document.getElementById('color-wheel');
const slider = document.getElementById('color-lightness');
if (!wheel) return;
let dragging = false;
function handleWheelEvent(e) {
const rect = wheel.getBoundingClientRect();
const cx = rect.width / 2;
const cy = rect.height / 2;
const x = e.clientX - rect.left - cx;
const y = e.clientY - rect.top - cy;
const dist = Math.sqrt(x * x + y * y);
const outerR = rect.width / 2;
const innerR = outerR * 0.22;
if (dist < innerR || dist > outerR) return;
let angle = Math.atan2(y, x) * 180 / Math.PI + 90;
if (angle < 0) angle += 360;
wheelHue = Math.round(angle % 360);
const dot = document.getElementById('wheel-dot');
if (dot) {
const r = (innerR + outerR) / 2;
const rad = (wheelHue - 90) * Math.PI / 180;
dot.style.left = (cx + r * Math.cos(rad) - 7) + 'px';
dot.style.top = (cy + r * Math.sin(rad) - 7) + 'px';
}
updateWheelPreview();
}
const onMove = e => {
if (dragging) handleWheelEvent(e);
};
const onTouchMove = e => {
if (dragging) handleWheelEvent(e.touches[0]);
};
const onUp = () => {
dragging = false;
};
wheel.addEventListener('mousedown', e => {
dragging = true;
handleWheelEvent(e);
});
wheel.addEventListener('touchstart', e => {
dragging = true;
handleWheelEvent(e.touches[0]);
e.preventDefault();
}, { passive: false });
document.addEventListener('mousemove', onMove);
document.addEventListener('touchmove', onTouchMove, { passive: false });
document.addEventListener('mouseup', onUp);
document.addEventListener('touchend', onUp);
if (slider) {
slider.addEventListener('input', function() {
wheelLightness = parseInt(this.value, 10);
updateWheelPreview();
});
}
wheelCleanup = () => {
document.removeEventListener('mousemove', onMove);
document.removeEventListener('touchmove', onTouchMove);
document.removeEventListener('mouseup', onUp);
document.removeEventListener('touchend', onUp);
wheelCleanup = null;
};
updateWheelPreview();
}
// \u989C\u8272\u6C60 - \u8FFD\u52A0\u989C\u8272\u503C
function appendColorToPool(decimal) {
const textarea = document.getElementById('text-value');
const current = textarea.value.trim();
textarea.value = current ? current + ',' + decimal : String(decimal);
syncColorPoolDisplay();
}
// \u989C\u8272\u6C60 - \u4ECE\u8272\u8F6E\u6DFB\u52A0
function addColorToPool() {
appendColorToPool(hslToDecimal(wheelHue, 100, wheelLightness));
}
// \u989C\u8272\u6C60 - \u968F\u673A\u6DFB\u52A0\uFF08crypto \u771F\u968F\u673A\uFF09
function addRandomColorToPool() {
const arr = new Uint32Array(1);
crypto.getRandomValues(arr);
appendColorToPool(arr[0] % 16777216);
}
// \u989C\u8272\u6C60 - \u5220\u9664\u6307\u5B9A\u989C\u8272
function removeColorFromPool(index) {
const textarea = document.getElementById('text-value');
const colors = textarea.value.split(',').map(c => c.trim()).filter(c => c);
colors.splice(index, 1);
textarea.value = colors.join(',');
syncColorPoolDisplay();
}
// \u989C\u8272\u6C60 - \u6062\u590D\u9ED8\u8BA4\uFF08\u6E05\u7A7A\u503C\uFF0C\u540E\u7AEF\u9ED8\u8BA4\u503C\u81EA\u52A8\u751F\u6548\uFF09
function resetColorPool() {
const textarea = document.getElementById('text-value');
textarea.value = '';
syncColorPoolDisplay();
}
// \u989C\u8272\u6C60 - \u540C\u6B65\u8272\u5757\u5C55\u793A
function syncColorPoolDisplay() {
const textarea = document.getElementById('text-value');
const display = document.getElementById('color-pool-display');
if (!textarea || !display) return;
display.innerHTML = renderColorItems(parseColorPool(textarea.value));
}
// \u989C\u8272\u6C60 - \u6279\u91CF\u6DFB\u52A0\u5F39\u7A97
function showBatchColorDialog() {
const overlay = document.createElement('div');
overlay.id = 'batch-color-overlay';
overlay.className = 'batch-color-overlay';
overlay.innerHTML = \`
<div class="batch-color-dialog">
<div style="font-size: 15px; font-weight: 600; margin-bottom: 12px;">\u6279\u91CF\u6DFB\u52A0\u989C\u8272</div>
<div class="form-help" style="margin: 0 0 10px 0;">\u652F\u6301\u5341\u8FDB\u5236\uFF08\u5982 16777215\uFF09\u548C\u5341\u516D\u8FDB\u5236\uFF08\u5982 #ffffff\uFF09\uFF0C\u9017\u53F7\u5206\u9694</div>
<textarea id="batch-color-input" class="batch-color-input" placeholder="\u4F8B\u5982: #ff0000, 65280, #0000ff, 16776960" rows="4"></textarea>
<div id="batch-color-preview" class="batch-color-preview"></div>
<div class="batch-color-actions">
<button type="button" class="btn btn-sm" onclick="closeBatchColorDialog()">\u53D6\u6D88</button>
<button type="button" class="btn btn-primary btn-sm" onclick="confirmBatchColor()">\u786E\u8BA4\u6DFB\u52A0</button>
</div>
</div>
\`;
document.body.appendChild(overlay);
overlay.addEventListener('click', function(e) {
if (e.target === overlay) closeBatchColorDialog();
});
const input = document.getElementById('batch-color-input');
if (input) input.addEventListener('input', updateBatchColorPreview);
}
// \u989C\u8272\u6C60 - \u5173\u95ED\u6279\u91CF\u5F39\u7A97
function closeBatchColorDialog() {
const overlay = document.getElementById('batch-color-overlay');
if (overlay) overlay.remove();
}
// \u989C\u8272\u6C60 - \u89E3\u6790\u5355\u4E2A\u989C\u8272\u503C\uFF08\u652F\u6301\u5341\u8FDB\u5236\u548C #hex\uFF09
function parseColorValue(raw) {
const s = raw.trim();
if (!s) return NaN;
if (s.startsWith('#')) {
const hex = s.slice(1);
if (/^[0-9a-fA-F]{3}$/.test(hex)) {
const full = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
return parseInt(full, 16);
}
if (/^[0-9a-fA-F]{6}$/.test(hex)) {
return parseInt(hex, 16);
}
return NaN;
}
const n = parseInt(s, 10);
if (isNaN(n) || n < 0 || n > 16777215) return NaN;
return n;
}
// \u989C\u8272\u6C60 - \u6279\u91CF\u9884\u89C8
function updateBatchColorPreview() {
const input = document.getElementById('batch-color-input');
const preview = document.getElementById('batch-color-preview');
if (!input || !preview) return;
const parts = input.value.split(',');
const html = parts.map(raw => {
const c = parseColorValue(raw);
if (isNaN(c)) return '';
return \`<span class="batch-color-preview-swatch" style="background: #\${c.toString(16).padStart(6, '0')};"></span>\`;
}).filter(Boolean).join('');
preview.innerHTML = html || '<span class="color-pool-empty">\u8F93\u5165\u989C\u8272\u540E\u9884\u89C8</span>';
}
// \u989C\u8272\u6C60 - \u786E\u8BA4\u6279\u91CF\u6DFB\u52A0
function confirmBatchColor() {
const input = document.getElementById('batch-color-input');
if (!input) return;
const parts = input.value.split(',');
const valid = parts.map(raw => parseColorValue(raw)).filter(c => !isNaN(c));
if (valid.length === 0) {
customAlert('\u672A\u8BC6\u522B\u5230\u6709\u6548\u989C\u8272\u503C');
return;
}
const textarea = document.getElementById('text-value');
const current = textarea.value.trim();
const newVal = valid.map(String).join(',');
textarea.value = current ? current + ',' + newVal : newVal;
syncColorPoolDisplay();
closeBatchColorDialog();
}
// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u89C4\u5219\u9762\u677F
function toggleOffsetRulePanel() {
const panel = document.getElementById('offset-rule-panel');
if (panel) {
const isHidden = getComputedStyle(panel).display === 'none';
panel.style.display = isHidden ? 'block' : 'none';
const btn = document.getElementById('offset-rule-toggle');
if (btn) btn.textContent = isHidden ? '\u6536\u8D77' : '\u6DFB\u52A0\u89C4\u5219';
}
}
// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u6765\u6E90\u9009\u4E2D\u72B6\u6001
function toggleOffsetSource(el) {
el.classList.toggle('selected');
}
// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u786E\u8BA4\u6DFB\u52A0\u89C4\u5219
function appendOffsetRule() {
const anime = document.getElementById('offset-anime').value.trim();
const season = document.getElementById('offset-season').value.trim();
const episode = document.getElementById('offset-episode').value.trim();
const seconds = document.getElementById('offset-seconds').value.trim();
const usePercent = !!document.getElementById('offset-use-percent')?.checked;
if (!anime) {
customAlert('\u8BF7\u8F93\u5165\u5267\u540D');
return;
}
if (!seconds) {
customAlert('\u8BF7\u8F93\u5165\u504F\u79FB\u79D2\u6570');
return;
}
if (episode && !season) {
customAlert('\u6307\u5B9A\u96C6\u65F6\u9700\u8981\u540C\u65F6\u6307\u5B9A\u5B63');
return;
}
let path = anime;
if (season) {
path += '/S' + season.padStart(2, '0');
if (episode) {
path += '/E' + episode.padStart(2, '0');
}
}
const sourcesEl = document.getElementById('offset-sources');
if (sourcesEl) {
const selectedSources = Array.from(sourcesEl.querySelectorAll('.offset-source-tag.selected'))
.map(el => el.dataset.value);
if (selectedSources.length > 0) {
path += '@' + selectedSources.join('&');
}
}
if (usePercent) {
path += '%';
}
const rule = path + ':' + seconds;
const textarea = document.getElementById('text-value');
const current = textarea.value.trim();
textarea.value = current ? current + ',' + rule : rule;
document.getElementById('offset-anime').value = '';
document.getElementById('offset-season').value = '';
document.getElementById('offset-episode').value = '';
document.getElementById('offset-seconds').value = '';
const usePercentEl = document.getElementById('offset-use-percent');
if (usePercentEl) {
usePercentEl.checked = false;
}
if (sourcesEl) {
sourcesEl.querySelectorAll('.offset-source-tag.selected').forEach(el => {
el.classList.remove('selected');
});
}
toggleOffsetRulePanel();
}
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u7126\u70B9\u72B6\u6001\u8BB0\u5F55
let currentMergeFocus = 'sec';
function setMergeFocus(type) {
currentMergeFocus = type;
}
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5FEB\u6377\u8FFD\u52A0\u6765\u6E90
function appendSourceToMerge(source) {
const inputId = currentMergeFocus === 'sec' ? 'merge-sec-entity' : 'merge-prim-entity';
const inputEl = document.getElementById(inputId);
if (!inputEl) return;
let val = inputEl.value.trim();
if (val.includes('@')) {
val += '&' + source;
} else {
val += '@' + source;
}
inputEl.value = val;
inputEl.focus(); // \u4FDD\u6301\u7126\u70B9\uFF0C\u65B9\u4FBF\u7528\u6237\u8FDE\u7EED\u70B9\u51FB\u591A\u4E2A\u6765\u6E90
}
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u89C4\u5219\u9762\u677F
function toggleMergeRulePanel() {
const panel = document.getElementById('merge-rule-panel');
if (panel) {
const isHidden = getComputedStyle(panel).display === 'none';
panel.style.display = isHidden ? 'block' : 'none';
const btn = document.getElementById('merge-rule-toggle');
if (btn) btn.textContent = isHidden ? '\u6536\u8D77' : '\u6DFB\u52A0\u89C4\u5219';
}
}
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u64CD\u4F5C\u7B26\u8054\u52A8
function onMergeActionChange() {
const action = document.getElementById('merge-action').value;
const routeRow = document.getElementById('merge-route-row');
const hint = document.getElementById('merge-action-hint');
if (action === '\xD7') {
if (routeRow) routeRow.style.display = 'none';
if (hint) hint.textContent = '\u963B\u65AD';
} else {
if (routeRow) routeRow.style.display = 'flex';
if (hint) hint.textContent = '\u5408\u5E76';
}
}
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u786E\u8BA4\u6DFB\u52A0\u89C4\u5219
function appendMergeRule() {
const secEntity = document.getElementById('merge-sec-entity').value.trim();
const action = document.getElementById('merge-action').value;
const primEntity = document.getElementById('merge-prim-entity').value.trim();
const routeRule = document.getElementById('merge-route-rule').value.trim();
if (!secEntity || !primEntity) {
customAlert('\u526F\u6E90\u5B9E\u4F53\u548C\u4E3B\u6E90\u5B9E\u4F53\u4E0D\u80FD\u4E3A\u7A7A');
return;
}
let rule = secEntity + ' ' + action + ' ' + primEntity;
if (action === '->' && routeRule) {
rule += ' | ' + routeRule;
}
const textarea = document.getElementById('text-value');
const current = textarea.value.trim();
if (current && !current.endsWith(';')) {
textarea.value = current + ';' + rule;
} else {
textarea.value = current ? current + rule : rule;
}
// \u6E05\u7A7A\u8868\u5355
document.getElementById('merge-sec-entity').value = '';
document.getElementById('merge-prim-entity').value = '';
document.getElementById('merge-route-rule').value = '';
toggleMergeRulePanel();
}
// \u8C03\u6574\u6570\u5B57
function adjustNumber(delta) {
const display = document.getElementById('num-value');
const slider = document.getElementById('num-slider');
let value = parseInt(display.textContent) + delta;
value = Math.max(parseInt(slider.min), Math.min(parseInt(slider.max), value));
display.textContent = value;
slider.value = value;
}
// \u66F4\u65B0\u6570\u5B57\u663E\u793A
function updateNumberDisplay(value) {
document.getElementById('num-value').textContent = value;
}
// \u9009\u62E9\u6807\u7B7E
function selectTag(element) {
document.querySelectorAll('.tag-option').forEach(el => el.classList.remove('selected'));
element.classList.add('selected');
}
// \u66F4\u65B0\u6807\u7B7E\u9009\u9879
function updateTagOptions() {
const input = document.getElementById('select-options');
const options = input.value.split(',').map(s => s.trim()).filter(s => s);
const container = document.getElementById('tag-selector');
container.innerHTML = options.map(opt => \`
<div class="tag-option" data-value="\${opt}" onclick="selectTag(this)">
\${opt}
</div>
\`).join('');
}
// \u7EDF\u4E00\u7684\u72B6\u6001\u68C0\u67E5\u51FD\u6570
function updateTagStates() {
// \u786E\u4FDD DOM \u5143\u7D20\u5B58\u5728\uFF0C\u9632\u6B62\u5728\u6E32\u67D3\u8FC7\u7A0B\u4E2D\u88AB\u8C03\u7528\u51FA\u9519
const keyInput = document.getElementById('env-key');
if (!keyInput) return;
const currentKey = keyInput.value;
const isMergeSourcePairs = currentKey === 'MERGE_SOURCE_PAIRS';
// 1. \u83B7\u53D6\u5F53\u524D\u6682\u5B58\u533A\u4E2D\u7684Token (\u9632\u6B62\u540C\u7EC4\u5185\u91CD\u590D)
const stagingTokens = new Set(stagingTags);
// 2. \u83B7\u53D6\u5DF2\u786E\u8BA4\u7684 Selected Tags (\u4EC5\u5728\u975E\u5408\u5E76\u6A21\u5F0F\u4E0B\u9700\u8981\u68C0\u67E5)
const selectedTagElements = Array.from(document.querySelectorAll('.selected-tag'));
// 3. \u66F4\u65B0\u6240\u6709\u53EF\u9009\u9879\u7684\u72B6\u6001
const availableTags = document.querySelectorAll('.available-tag');
availableTags.forEach(tag => {
const value = tag.dataset.value;
let shouldDisable = false;
if (isMergeMode) {
// [\u5408\u5E76\u6A21\u5F0F\u903B\u8F91]
// \u53EA\u8981\u4E0D\u5728\u5F53\u524D\u7684\u6682\u5B58\u533A\u4E2D\uFF0C\u5C31\u53EF\u4EE5\u9009\uFF08\u5141\u8BB8 bilibili&a \u548C bilibili&b\uFF09
// \u4E5F\u5C31\u662F\u8BF4\uFF0C\u6211\u4EEC\u5B8C\u5168\u4E0D\u68C0\u67E5 selectedTagElements
if (stagingTokens.has(value)) {
shouldDisable = true;
}
} else {
// [\u666E\u901A\u6A21\u5F0F\u903B\u8F91]
// \u53EA\u8981\u5DF2\u7ECF\u88AB\u9009\u4E86\uFF0C\u5C31\u7981\u7528 (\u7CBE\u51C6\u5339\u914D)
const isAlreadySelected = selectedTagElements.some(el => el.dataset.value === value);
if (isAlreadySelected) {
shouldDisable = true;
}
// \u7279\u6B8A\u60C5\u51B5\uFF1A\u5982\u679C\u662F MERGE_SOURCE_PAIRS \u4F46\u6CA1\u5F00\u5408\u5E76\u6A21\u5F0F\uFF0C\u4E14\u8FD8\u6CA1\u88AB\u9009\uFF0C\u4E5F\u7981\u7528\uFF08\u5F3A\u8FEB\u7528\u6237\u5F00\u5F00\u5173\uFF09
if (isMergeSourcePairs && !isAlreadySelected) {
shouldDisable = true;
}
}
if (shouldDisable) {
tag.classList.add('disabled');
} else {
tag.classList.remove('disabled');
}
});
}
// \u6DFB\u52A0\u5DF2\u9009\u6807\u7B7E
function addSelectedTag(element) {
const value = element.dataset.value;
if (isMergeMode) {
if (!stagingTags.includes(value)) {
stagingTags.push(value);
renderStagingArea();
updateTagStates(); // \u7ACB\u5373\u66F4\u65B0\u72B6\u6001 (\u8BE5\u9009\u9879\u53D8\u7070\uFF0C\u9632\u6B62\u540C\u7EC4\u91CD\u590D)
}
return;
}
if (element.classList.contains('disabled')) return;
const container = document.getElementById('selected-tags');
// \u79FB\u9664empty\u7C7B
container.classList.remove('empty');
// \u521B\u5EFA\u65B0\u6807\u7B7E
const tag = document.createElement('div');
tag.className = 'selected-tag';
tag.draggable = true;
tag.dataset.value = value;
tag.innerHTML = \`
<span class="tag-text">\${value}</span>
<button type="button" class="remove-btn" onclick="removeSelectedTag(this)">\xD7</button>
\`;
container.appendChild(tag);
updateTagStates(); // \u7ACB\u5373\u66F4\u65B0\u72B6\u6001
setupDragAndDrop();
}
// \u79FB\u9664\u5DF2\u9009\u6807\u7B7E
function removeSelectedTag(button) {
const tag = button.parentElement;
tag.remove();
const container = document.getElementById('selected-tags');
if (container.children.length === 0) {
container.classList.add('empty');
}
updateTagStates(); // \u79FB\u9664\u540E\u7ACB\u5373\u91CA\u653E\u72B6\u6001
setupDragAndDrop();
}
// \u66F4\u65B0\u591A\u9009\u9009\u9879
function updateMultiOptions() {
const input = document.getElementById('multi-options');
const options = input.value.split(',').map(s => s.trim()).filter(s => s);
const container = document.getElementById('available-tags');
container.innerHTML = options.map(opt => {
return \`
<div class="available-tag"
data-value="\${opt}" onclick="addSelectedTag(this)">
\${opt}
</div>
\`;
}).join('');
updateTagStates(); // \u521D\u59CB\u5316\u65F6\u66F4\u65B0\u72B6\u6001
}
// \u5207\u6362\u5408\u5E76\u6A21\u5F0F
function toggleMergeMode() {
isMergeMode = !isMergeMode;
const btn = document.getElementById('merge-mode-toggle');
const stagingArea = document.getElementById('staging-area');
if (isMergeMode) {
btn.classList.add('active');
btn.innerHTML = '\u5173\u95ED\u5408\u5E76\u6A21\u5F0F';
stagingArea.classList.add('active');
renderStagingArea();
} else {
btn.classList.remove('active');
btn.innerHTML = '\u5F00\u542F\u5408\u5E76\u6A21\u5F0F';
stagingArea.classList.remove('active');
stagingTags = [];
}
// \u5207\u6362\u6A21\u5F0F\u65F6\u7ACB\u5373\u5237\u65B0\u6240\u6709\u53EF\u9009\u9879\u72B6\u6001
updateTagStates();
}
// \u6E32\u67D3\u6682\u5B58\u533A
function renderStagingArea() {
const container = document.getElementById('staging-area');
const confirmBtn = container.querySelector('.confirm-merge-btn');
while (container.firstChild && container.firstChild !== confirmBtn) {
container.removeChild(container.firstChild);
}
if (stagingTags.length === 0) {
const hint = document.createElement('span');
hint.textContent = '\u8BF7\u70B9\u51FB\u4E0B\u65B9\u9009\u9879\u8FDB\u884C\u7EC4\u5408...';
hint.style.color = '#666';
hint.style.fontSize = '12px';
container.insertBefore(hint, confirmBtn);
confirmBtn.disabled = true;
} else {
stagingTags.forEach((tag, index) => {
if (index > 0) {
const sep = document.createElement('span');
sep.className = 'staging-separator';
sep.textContent = '&';
container.insertBefore(sep, confirmBtn);
}
const tagEl = document.createElement('div');
tagEl.className = 'staging-tag';
tagEl.draggable = true;
tagEl.dataset.value = tag;
tagEl.dataset.index = index;
tagEl.innerHTML = \`\${tag}<span class="remove-btn" onclick="removeFromStaging(\${index})">\xD7</span>\`;
container.insertBefore(tagEl, confirmBtn);
});
confirmBtn.disabled = false;
setupStagingDragAndDrop();
}
}
// \u4ECE\u6682\u5B58\u533A\u79FB\u9664
function removeFromStaging(index) {
stagingTags.splice(index, 1);
renderStagingArea();
updateTagStates(); // \u79FB\u9664\u540E\u5237\u65B0\u72B6\u6001
}
// \u786E\u8BA4\u6DFB\u52A0\u5408\u5E76\u7EC4
function confirmMergeGroup() {
if (stagingTags.length === 0) return;
const groupValue = stagingTags.join('&');
const container = document.getElementById('selected-tags');
container.classList.remove('empty');
const tag = document.createElement('div');
tag.className = 'selected-tag';
tag.draggable = true;
tag.dataset.value = groupValue;
tag.innerHTML = \`<span class="tag-text">\${groupValue}</span><button type="button" class="remove-btn" onclick="removeSelectedTag(this)">\xD7</button>\`;
container.appendChild(tag);
setupDragAndDrop();
stagingTags = []; // \u6E05\u7A7A\u6682\u5B58\u533A
renderStagingArea();
updateTagStates(); // \u5173\u952E\uFF1A\u786E\u8BA4\u540E\u7ACB\u5373\u91CD\u65B0\u8BA1\u7B97\u6240\u6709\u53EF\u9009\u9879\u7684\u7981\u7528\u72B6\u6001 (\u91CD\u7F6E\u4E3A\u53EF\u7528)
}
// \u8BBE\u7F6E\u6682\u5B58\u533A\u62D6\u653E\u529F\u80FD
function setupStagingDragAndDrop() {
const container = document.getElementById('staging-area');
const tags = container.querySelectorAll('.staging-tag');
tags.forEach(tag => {
tag.addEventListener('dragstart', handleStagingDragStart);
tag.addEventListener('dragend', handleStagingDragEnd);
tag.addEventListener('dragover', handleStagingDragOver);
tag.addEventListener('drop', handleStagingDrop);
tag.addEventListener('dragenter', handleStagingDragEnter);
tag.addEventListener('dragleave', handleStagingDragLeave);
tag.addEventListener('touchstart', handleStagingTouchStart);
tag.addEventListener('touchmove', handleStagingTouchMove);
tag.addEventListener('touchend', handleStagingTouchEnd);
});
}
let stagingDraggedElement = null;
function handleStagingDragStart(e) {
stagingDraggedElement = this;
this.classList.add('dragging');
e.dataTransfer.effectAllowed = 'move';
}
function handleStagingDragEnd(e) {
this.classList.remove('dragging');
document.querySelectorAll('.staging-tag').forEach(tag => {
tag.classList.remove('drag-over');
});
}
function handleStagingDragOver(e) {
if (e.preventDefault) {
e.preventDefault();
}
e.dataTransfer.dropEffect = 'move';
return false;
}
function handleStagingDragEnter(e) {
if (this !== stagingDraggedElement) {
this.classList.add('drag-over');
}
}
function handleStagingDragLeave(e) {
this.classList.remove('drag-over');
}
function handleStagingDrop(e) {
if (e.stopPropagation) {
e.stopPropagation();
}
if (stagingDraggedElement !== this) {
const draggedIndex = parseInt(stagingDraggedElement.dataset.index);
const targetIndex = parseInt(this.dataset.index);
const [movedItem] = stagingTags.splice(draggedIndex, 1);
stagingTags.splice(targetIndex, 0, movedItem);
renderStagingArea();
}
this.classList.remove('drag-over');
return false;
}
function handleStagingTouchStart(e) {
if (e.target.classList.contains('remove-btn')) {
return;
}
e.preventDefault();
stagingDraggedElement = this;
this.classList.add('dragging');
this.style.transform = 'rotate(5deg)';
this.style.opacity = '0.8';
this.style.zIndex = '1000';
}
function handleStagingTouchMove(e) {
if (!stagingDraggedElement) return;
e.preventDefault();
const touch = e.touches[0];
const elementRect = stagingDraggedElement.getBoundingClientRect();
if (!document.getElementById('staging-touch-drag-ghost')) {
const ghostElement = stagingDraggedElement.cloneNode(true);
ghostElement.id = 'staging-touch-drag-ghost';
ghostElement.style.position = 'fixed';
ghostElement.style.left = '0';
ghostElement.style.top = '0';
ghostElement.style.pointerEvents = 'none';
ghostElement.style.zIndex = '9999';
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
ghostElement.style.opacity = '0.8';
ghostElement.style.boxSizing = 'border-box';
ghostElement.style.width = elementRect.width + 'px';
ghostElement.style.height = elementRect.height + 'px';
document.body.appendChild(ghostElement);
} else {
const ghostElement = document.getElementById('staging-touch-drag-ghost');
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
}
const container = document.getElementById('staging-area');
const tags = Array.from(container.querySelectorAll('.staging-tag')).filter(tag => tag !== stagingDraggedElement);
let targetElement = null;
for (const tag of tags) {
const rect = tag.getBoundingClientRect();
if (touch.clientX >= rect.left && touch.clientX <= rect.right &&
touch.clientY >= rect.top && touch.clientY <= rect.bottom) {
targetElement = tag;
break;
}
}
document.querySelectorAll('.staging-tag').forEach(tag => {
if (tag !== stagingDraggedElement) {
tag.classList.remove('drag-over');
}
});
if (targetElement) {
targetElement.classList.add('drag-over');
}
}
function handleStagingTouchEnd(e) {
if (!stagingDraggedElement) return;
e.preventDefault();
const ghostElement = document.getElementById('staging-touch-drag-ghost');
if (ghostElement) {
document.body.removeChild(ghostElement);
}
const touch = e.changedTouches[0];
const targetElement = document.elementFromPoint(touch.clientX, touch.clientY);
const targetTag = targetElement.closest('.staging-tag');
if (targetTag && targetTag !== stagingDraggedElement) {
const draggedIndex = parseInt(stagingDraggedElement.dataset.index);
const targetIndex = parseInt(targetTag.dataset.index);
const [movedItem] = stagingTags.splice(draggedIndex, 1);
stagingTags.splice(targetIndex, 0, movedItem);
renderStagingArea();
}
stagingDraggedElement.style.transform = '';
stagingDraggedElement.style.opacity = '';
stagingDraggedElement.style.zIndex = '';
stagingDraggedElement.classList.remove('dragging');
document.querySelectorAll('.staging-tag').forEach(tag => {
tag.classList.remove('drag-over');
});
stagingDraggedElement = null;
}
// \u8BBE\u7F6E\u62D6\u653E\u529F\u80FD
let draggedElement = null;
let touchDragging = false;
// \u4E3A\u5220\u9664\u6309\u94AE\u6DFB\u52A0\u89E6\u6478\u4E8B\u4EF6\u76D1\u542C\u5668\uFF0C\u4EE5\u786E\u4FDD\u5176\u53EF\u4EE5\u88AB\u70B9\u51FB
function setupDragAndDrop() {
const container = document.getElementById('selected-tags');
const tags = container.querySelectorAll('.selected-tag');
tags.forEach(tag => {
// \u9F20\u6807\u62D6\u653E\u4E8B\u4EF6
tag.addEventListener('dragstart', handleDragStart);
tag.addEventListener('dragend', handleDragEnd);
tag.addEventListener('dragover', handleDragOver);
tag.addEventListener('drop', handleDrop);
tag.addEventListener('dragenter', handleDragEnter);
tag.addEventListener('dragleave', handleDragLeave);
// \u89E6\u6478\u62D6\u653E\u4E8B\u4EF6
tag.addEventListener('touchstart', handleTouchStart);
tag.addEventListener('touchmove', handleTouchMove);
tag.addEventListener('touchend', handleTouchEnd);
// \u786E\u4FDD\u5220\u9664\u6309\u94AE\u53EF\u4EE5\u88AB\u70B9\u51FB
const removeBtn = tag.querySelector('.remove-btn');
if (removeBtn) {
// \u963B\u6B62\u5220\u9664\u6309\u94AE\u4E0A\u7684\u89E6\u6478\u4E8B\u4EF6\u5192\u6CE1\u5230\u7236\u5143\u7D20
removeBtn.addEventListener('touchstart', function(e) {
e.stopPropagation();
});
removeBtn.addEventListener('touchend', function(e) {
e.stopPropagation();
});
}
});
}
function handleDragStart(e) {
draggedElement = this;
this.classList.add('dragging');
e.dataTransfer.effectAllowed = 'move';
}
function handleDragEnd(e) {
this.classList.remove('dragging');
document.querySelectorAll('.selected-tag').forEach(tag => {
tag.classList.remove('drag-over');
});
}
function handleDragOver(e) {
if (e.preventDefault) {
e.preventDefault();
}
e.dataTransfer.dropEffect = 'move';
return false;
}
function handleDragEnter(e) {
if (this !== draggedElement) {
this.classList.add('drag-over');
}
}
function handleDragLeave(e) {
this.classList.remove('drag-over');
}
function handleDrop(e) {
if (e.stopPropagation) {
e.stopPropagation();
}
if (draggedElement !== this) {
const container = document.getElementById('selected-tags');
const allTags = Array.from(container.querySelectorAll('.selected-tag'));
const draggedIndex = allTags.indexOf(draggedElement);
const targetIndex = allTags.indexOf(this);
if (draggedIndex < targetIndex) {
this.parentNode.insertBefore(draggedElement, this.nextSibling);
} else {
this.parentNode.insertBefore(draggedElement, this);
}
}
this.classList.remove('drag-over');
return false;
}
// \u89E6\u6478\u62D6\u52A8\u4E8B\u4EF6\u5904\u7406
function handleTouchStart(e) {
// \u68C0\u67E5\u70B9\u51FB\u7684\u662F\u5426\u662F\u5220\u9664\u6309\u94AE
if (e.target.classList.contains('remove-btn')) {
// \u5982\u679C\u70B9\u51FB\u7684\u662F\u5220\u9664\u6309\u94AE\uFF0C\u5219\u4E0D\u6267\u884C\u62D6\u52A8\u64CD\u4F5C
return;
}
// \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A
e.preventDefault();
// \u83B7\u53D6\u89E6\u6478\u70B9
const touch = e.touches[0];
// \u6A21\u62DF\u62D6\u52A8\u5F00\u59CB
draggedElement = this;
this.classList.add('dragging');
touchDragging = true;
// \u6DFB\u52A0\u62D6\u52A8\u6837\u5F0F
this.style.transform = 'rotate(5deg)';
this.style.opacity = '0.8';
this.style.zIndex = '1000';
// \u6DFB\u52A0\u89E6\u6478\u79FB\u52A8\u548C\u7ED3\u675F\u4E8B\u4EF6\u76D1\u542C\u5668\u5230\u6587\u6863
document.addEventListener('touchmove', handleTouchMove, { passive: false });
document.addEventListener('touchend', handleTouchEnd, { passive: false });
}
function handleTouchMove(e) {
if (!touchDragging || !draggedElement) return;
// \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A
e.preventDefault();
// \u4F7F\u7528 requestAnimationFrame \u6765\u4F18\u5316\u6027\u80FD
if (window.requestAnimationFrame) {
window.requestAnimationFrame(() => {
// \u83B7\u53D6\u89E6\u6478\u70B9\u4F4D\u7F6E
const touch = e.touches[0];
// \u83B7\u53D6\u62D6\u52A8\u5143\u7D20\u7684\u5C3A\u5BF8
const elementRect = draggedElement.getBoundingClientRect();
// \u521B\u5EFA\u4E00\u4E2A\u4E34\u65F6\u7684\u62D6\u52A8\u5143\u7D20\uFF0C\u800C\u4E0D\u662F\u79FB\u52A8\u539F\u59CB\u5143\u7D20
if (!document.getElementById('touch-drag-ghost')) {
const ghostElement = draggedElement.cloneNode(true);
ghostElement.id = 'touch-drag-ghost';
ghostElement.style.position = 'fixed'; // \u4F7F\u7528 fixed \u800C\u4E0D\u662F absolute
ghostElement.style.left = '0';
ghostElement.style.top = '0';
ghostElement.style.pointerEvents = 'none'; // \u9632\u6B62\u5E72\u6270\u89E6\u6478\u4E8B\u4EF6
ghostElement.style.zIndex = '9999';
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
ghostElement.style.opacity = '0.8';
ghostElement.style.boxSizing = 'border-box'; // \u786E\u4FDD\u5C3A\u5BF8\u8BA1\u7B97\u6B63\u786E
ghostElement.style.width = elementRect.width + 'px'; // \u56FA\u5B9A\u5BBD\u5EA6
ghostElement.style.height = elementRect.height + 'px'; // \u56FA\u5B9A\u9AD8\u5EA6
document.body.appendChild(ghostElement);
} else {
const ghostElement = document.getElementById('touch-drag-ghost');
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
}
// \u68C0\u67E5\u4E0E\u5176\u4ED6\u5143\u7D20\u7684\u78B0\u649E
const container = document.getElementById('selected-tags');
const tags = Array.from(container.querySelectorAll('.selected-tag')).filter(tag => tag !== draggedElement);
let targetElement = null;
for (const tag of tags) {
const rect = tag.getBoundingClientRect();
if (touch.clientX >= rect.left && touch.clientX <= rect.right &&
touch.clientY >= rect.top && touch.clientY <= rect.bottom) {
targetElement = tag;
break;
}
}
// \u9AD8\u4EAE\u76EE\u6807\u5143\u7D20
document.querySelectorAll('.selected-tag').forEach(tag => {
if (tag !== draggedElement) {
tag.classList.remove('drag-over');
}
});
if (targetElement) {
targetElement.classList.add('drag-over');
}
});
} else {
// \u964D\u7EA7\u5904\u7406\uFF0C\u5982\u679C\u4E0D\u652F\u6301 requestAnimationFrame
const touch = e.touches[0];
// \u83B7\u53D6\u62D6\u52A8\u5143\u7D20\u7684\u5C3A\u5BF8
const elementRect = draggedElement.getBoundingClientRect();
// \u521B\u5EFA\u4E00\u4E2A\u4E34\u65F6\u7684\u62D6\u52A8\u5143\u7D20\uFF0C\u800C\u4E0D\u662F\u79FB\u52A8\u539F\u59CB\u5143\u7D20
if (!document.getElementById('touch-drag-ghost')) {
const ghostElement = draggedElement.cloneNode(true);
ghostElement.id = 'touch-drag-ghost';
ghostElement.style.position = 'fixed'; // \u4F7F\u7528 fixed \u800C\u4E0D\u662F absolute
ghostElement.style.left = '0';
ghostElement.style.top = '0';
ghostElement.style.pointerEvents = 'none'; // \u9632\u6B62\u5E72\u6270\u89E6\u6478\u4E8B\u4EF6
ghostElement.style.zIndex = '9999';
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
ghostElement.style.opacity = '0.8';
ghostElement.style.boxSizing = 'border-box'; // \u786E\u4FDD\u5C3A\u5BF8\u8BA1\u7B97\u6B63\u786E
ghostElement.style.width = elementRect.width + 'px'; // \u56FA\u5B9A\u5BBD\u5EA6
ghostElement.style.height = elementRect.height + 'px'; // \u56FA\u5B9A\u9AD8\u5EA6
document.body.appendChild(ghostElement);
} else {
const ghostElement = document.getElementById('touch-drag-ghost');
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
}
// \u68C0\u67E5\u4E0E\u5176\u4ED6\u5143\u7D20\u7684\u78B0\u649E
const container = document.getElementById('selected-tags');
const tags = Array.from(container.querySelectorAll('.selected-tag')).filter(tag => tag !== draggedElement);
let targetElement = null;
for (const tag of tags) {
const rect = tag.getBoundingClientRect();
if (touch.clientX >= rect.left && touch.clientX <= rect.right &&
touch.clientY >= rect.top && touch.clientY <= rect.bottom) {
targetElement = tag;
break;
}
}
// \u9AD8\u4EAE\u76EE\u6807\u5143\u7D20
document.querySelectorAll('.selected-tag').forEach(tag => {
if (tag !== draggedElement) {
tag.classList.remove('drag-over');
}
});
if (targetElement) {
targetElement.classList.add('drag-over');
}
}
}
function handleTouchEnd(e) {
if (!touchDragging || !draggedElement) return;
// \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A
e.preventDefault();
// \u79FB\u9664\u4E34\u65F6\u62D6\u52A8\u5143\u7D20
const ghostElement = document.getElementById('touch-drag-ghost');
if (ghostElement) {
document.body.removeChild(ghostElement);
}
// \u627E\u5230\u76EE\u6807\u5143\u7D20\uFF08\u5982\u679C\u6709\uFF09
const touch = e.changedTouches[0];
const targetElement = document.elementFromPoint(touch.clientX, touch.clientY);
const container = document.getElementById('selected-tags');
const targetTag = targetElement.closest('.selected-tag');
// \u5982\u679C\u76EE\u6807\u662F\u53E6\u4E00\u4E2A\u6807\u7B7E\uFF0C\u6267\u884C\u4EA4\u6362
if (targetTag && targetTag !== draggedElement && container.contains(targetTag)) {
const allTags = Array.from(container.querySelectorAll('.selected-tag'));
const draggedIndex = allTags.indexOf(draggedElement);
const targetIndex = allTags.indexOf(targetTag);
if (draggedIndex < targetIndex) {
targetTag.parentNode.insertBefore(draggedElement, targetTag.nextSibling);
} else {
targetTag.parentNode.insertBefore(draggedElement, targetTag);
}
}
// \u91CD\u7F6E\u5143\u7D20\u6837\u5F0F
draggedElement.style.transform = '';
draggedElement.style.opacity = '';
draggedElement.style.zIndex = '';
// \u79FB\u9664\u62D6\u52A8\u7C7B
draggedElement.classList.remove('dragging');
document.querySelectorAll('.selected-tag').forEach(tag => {
tag.classList.remove('drag-over');
});
// \u91CD\u7F6E\u53D8\u91CF
touchDragging = false;
draggedElement = null;
// \u79FB\u9664\u4E8B\u4EF6\u76D1\u542C\u5668
document.removeEventListener('touchmove', handleTouchMove);
document.removeEventListener('touchend', handleTouchEnd);
}
// \u663E\u793A\u52A0\u8F7D\u906E\u7F69
function showLoading(text, detail) {
document.getElementById('loading-text').textContent = text;
document.getElementById('loading-detail').textContent = detail;
document.getElementById('loading-overlay').classList.add('active');
document.getElementById('progress-container').classList.add('active');
updateProgress(0);
}
// \u9690\u85CF\u52A0\u8F7D\u906E\u7F69
function hideLoading() {
document.getElementById('loading-overlay').classList.remove('active');
setTimeout(() => {
document.getElementById('progress-container').classList.remove('active');
updateProgress(0);
}, 300);
}
// \u66F4\u65B0\u52A0\u8F7D\u6587\u672C
function updateLoadingText(text, detail) {
document.getElementById('loading-text').textContent = text;
document.getElementById('loading-detail').textContent = detail;
}
// \u66F4\u65B0\u8FDB\u5EA6\u6761
function updateProgress(percent) {
document.getElementById('progress-bar').style.width = percent + '%';
}
// \u6E32\u67D3\u73AF\u5883\u53D8\u91CF\u5217\u8868
function renderEnvList() {
const list = document.getElementById('env-list');
const items = envVariables[currentCategory] || [];
if (items.length === 0) {
list.innerHTML = '<p class="text-gray padding-20 text-center">\u6682\u65E0\u914D\u7F6E\u9879</p>';
return;
}
list.innerHTML = items.map((item, index) => {
const typeLabel = item.type === 'boolean' ? '\u5E03\u5C14' :
item.type === 'number' ? '\u6570\u5B57' :
item.type === 'select' ? '\u5355\u9009' :
item.type === 'map' ? '\u6620\u5C04' :
item.type === 'multi-select' ? '\u591A\u9009' : '\u6587\u672C';
const badgeClass = item.type === 'multi-select' ? 'multi' : '';
const escapedValue = escapeHtml(item.value);
return \`
<div class="env-item">
<div class="env-info">
<strong>\${item.key}<span class="value-type-badge \${badgeClass}">\${typeLabel}</span></strong>
<div class="text-dark-gray">\${escapedValue}</div>
<div class="text-gray font-size-12 margin-top-3">\${item.description || '\u65E0\u63CF\u8FF0'}</div>
</div>
<div class="env-actions">
<button class="btn btn-primary" onclick="editEnv(\${index})">\u7F16\u8F91</button>
<button class="btn btn-danger" onclick="deleteEnv(\${index})">\u5220\u9664</button>
</div>
</div>
\`;
}).join('');
}
// \u7F16\u8F91\u73AF\u5883\u53D8\u91CF
function editEnv(index) {
const item = envVariables[currentCategory][index];
const editButton = event.target; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u7F16\u8F91\u6309\u94AE
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
const originalText = editButton.innerHTML;
editButton.innerHTML = '<span class="loading-spinner-small"></span>';
editButton.disabled = true;
editingKey = index;
document.getElementById('modal-title').textContent = '\u7F16\u8F91\u914D\u7F6E\u9879';
document.getElementById('env-category').value = currentCategory;
document.getElementById('env-key').value = item.key;
document.getElementById('env-description').value = item.description || '';
document.getElementById('value-type').value = item.type || 'text';
// \u8BBE\u7F6E\u5B57\u6BB5\u4E3A\u53EA\u8BFB\uFF08\u7F16\u8F91\u6A21\u5F0F\u4E0B\uFF09
document.getElementById('env-category').disabled = true;
document.getElementById('env-key').readOnly = true;
document.getElementById('value-type').disabled = true;
document.getElementById('env-description').readOnly = true;
// \u6E32\u67D3\u5BF9\u5E94\u7684\u503C\u8F93\u5165\u63A7\u4EF6
renderValueInput(item);
document.getElementById('env-modal').classList.add('active');
// \u6062\u590D\u6309\u94AE\u72B6\u6001\uFF08\u5728\u5B9E\u9645\u573A\u666F\u4E2D\uFF0C\u8FD9\u4F1A\u5728\u7F16\u8F91\u5B8C\u6210\u540E\u53D1\u751F\uFF0C\u6BD4\u5982\u5728\u4FDD\u5B58\u540E\u6216\u53D6\u6D88\u540E\uFF09
// \u4E3A\u4E86\u6F14\u793A\uFF0C\u8FD9\u91CC\u7ACB\u5373\u6062\u590D\u6309\u94AE\u72B6\u6001\uFF0C\u5B9E\u9645\u4F7F\u7528\u4E2D\u5E94\u8BE5\u5728\u9002\u5F53\u7684\u5730\u65B9\u6062\u590D\u6309\u94AE\u72B6\u6001
editButton.innerHTML = originalText;
editButton.disabled = false;
}
// \u5220\u9664\u73AF\u5883\u53D8\u91CF
function deleteEnv(index) {
customConfirm('\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u914D\u7F6E\u9879\u5417?', '\u5220\u9664\u786E\u8BA4').then(confirmed => {
if (confirmed) {
const item = envVariables[currentCategory][index];
const key = item.key;
const deleteButton = event.target; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u5220\u9664\u6309\u94AE
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
const originalText = deleteButton.innerHTML;
deleteButton.innerHTML = '<span class="loading-spinner-small"></span>';
deleteButton.disabled = true;
// \u8C03\u7528API\u5220\u9664\u73AF\u5883\u53D8\u91CF
fetch(buildApiUrl('/api/env/del'), {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ key })
})
.then(response => response.json())
.then(result => {
if (result.success) {
// \u4ECE\u672C\u5730\u6570\u636E\u4E2D\u5220\u9664
envVariables[currentCategory].splice(index, 1);
renderEnvList();
renderPreview();
addLog(\`\u5220\u9664\u914D\u7F6E\u9879: \${key}\`, 'warn');
} else {
addLog(\`\u5220\u9664\u914D\u7F6E\u9879\u5931\u8D25: \${result.message}\`, 'error');
}
})
.catch(error => {
addLog(\`\u5220\u9664\u914D\u7F6E\u9879\u5931\u8D25: \${error.message}\`, 'error');
})
.finally(() => {
// \u6062\u590D\u6309\u94AE\u72B6\u6001
deleteButton.innerHTML = originalText;
deleteButton.disabled = false;
});
}
});
}
// \u8868\u5355\u63D0\u4EA4
document.getElementById('env-form').addEventListener('submit', async function(e) {
e.preventDefault();
const category = document.getElementById('env-category').value;
const key = document.getElementById('env-key').value.trim();
const description = document.getElementById('env-description').value.trim();
const type = document.getElementById('value-type').value;
const existingItem = editingKey !== null && envVariables[currentCategory]
? envVariables[currentCategory][editingKey]
: null;
// \u6839\u636E\u7C7B\u578B\u83B7\u53D6\u503C
let value, itemData;
if (type === 'boolean') {
value = document.getElementById('bool-value').checked ? 'true' : 'false';
itemData = { key, value, description, type };
} else if (type === 'number') {
value = document.getElementById('num-value').textContent;
const min = parseInt(document.getElementById('num-slider').min);
const max = parseInt(document.getElementById('num-slider').max);
itemData = { key, value, description, type, min, max };
} else if (type === 'select') {
const selected = document.querySelector('.tag-option.selected');
value = selected ? selected.dataset.value : '';
const options = Array.from(document.querySelectorAll('.tag-option')).map(el => el.dataset.value);
itemData = { key, value, description, type, options };
} else if (type === 'multi-select') {
// \u5982\u679C\u5F00\u542F\u4E86\u5408\u5E76\u6A21\u5F0F\uFF0C\u4E14\u6682\u5B58\u533A\u8FD8\u6709\u5185\u5BB9\uFF0C\u81EA\u52A8\u5C06\u5176\u89C6\u4E3A\u786E\u8BA4\u6DFB\u52A0
if (isMergeMode && stagingTags && stagingTags.length > 0) {
confirmMergeGroup();
}
const selectedTags = Array.from(document.querySelectorAll('.selected-tag'))
.map(el => el.dataset.value);
value = selectedTags.join(',');
const options = Array.from(document.querySelectorAll('.available-tag')).map(el => el.dataset.value);
itemData = { key, value, description, type, options };
} else if (type === 'map') {
// \u83B7\u53D6\u6620\u5C04\u8868\u503C
const mapItems = document.querySelectorAll('#map-container .map-item');
const pairs = [];
mapItems.forEach(item => {
const leftInput = item.querySelector('.map-input-left');
const rightInput = item.querySelector('.map-input-right');
const leftValue = leftInput.value.trim();
const rightValue = rightInput.value.trim();
if (leftValue && rightValue) {
pairs.push(leftValue + '->' + rightValue);
}
});
value = pairs.join(';');
itemData = { key, value, description, type };
} else {
value = document.getElementById('text-value').value.trim();
itemData = { key, value, description, type };
}
// \u8C03\u7528API\u66F4\u65B0\u73AF\u5883\u53D8\u91CF - \u5148\u5C1D\u8BD5set\u63A5\u53E3\uFF0C\u5931\u8D25\u5219\u8C03\u7528add\u63A5\u53E3
try {
// \u9996\u5148\u5C1D\u8BD5\u4F7F\u7528set\u63A5\u53E3\u66F4\u65B0
let response = await fetch(buildApiUrl('/api/env/set'), {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ key, value })
});
let result = await response.json();
if (!result.success) {
// \u5982\u679Cset\u63A5\u53E3\u5931\u8D25\uFF0C\u5C1D\u8BD5\u4F7F\u7528add\u63A5\u53E3
response = await fetch(buildApiUrl('/api/env/add'), {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ key, value })
});
result = await response.json();
}
if (result.success) {
// \u66F4\u65B0\u672C\u5730\u6570\u636E
if (!envVariables[category]) {
envVariables[category] = [];
}
if (editingKey !== null) {
envVariables[currentCategory][editingKey] = {
...(existingItem || {}),
...itemData
};
addLog(\`\u66F4\u65B0\u914D\u7F6E\u9879: \${key} = \${value}\`, 'success');
} else {
envVariables[category].push(itemData);
addLog(\`\u6DFB\u52A0\u914D\u7F6E\u9879: \${key} = \${value}\`, 'success');
}
if (category !== currentCategory) {
currentCategory = category;
document.querySelectorAll('.category-btn').forEach((btn, i) => {
btn.classList.toggle('active', ['api', 'source', 'match', 'danmu', 'cache', 'system'][i] === category);
});
}
renderEnvList();
renderPreview();
closeModal();
} else {
addLog(\`\u64CD\u4F5C\u5931\u8D25: \${result.message}\`, 'error');
customAlert(result.message + '\uFF0C\u8BF7\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u73AF\u5883\u53D8\u91CF\u914D\u7F6E\u662F\u5426\u6B63\u786E');
}
} catch (error) {
addLog(\`\u66F4\u65B0\u73AF\u5883\u53D8\u91CF\u5931\u8D25: \${error.message}\`, 'error');
customAlert(error.message + '\uFF0C\u8BF7\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u73AF\u5883\u53D8\u91CF\u914D\u7F6E\u662F\u5426\u6B63\u786E');
}
});
// \u6DFB\u52A0\u6620\u5C04\u9879
function addMapItem() {
const container = document.getElementById('map-container');
const template = document.querySelector('.map-item-template');
const newItem = template.cloneNode(true);
newItem.style.display = 'flex';
newItem.classList.remove('map-item-template');
newItem.classList.add('map-item');
const index = container.querySelectorAll('.map-item').length;
newItem.setAttribute('data-index', index);
container.appendChild(newItem);
}
// \u5220\u9664\u6620\u5C04\u9879
function removeMapItem(button) {
const item = button.closest('.map-item');
if (item) {
item.remove();
}
}
/* ========================================
Bilibili Cookie \u626B\u7801\u767B\u5F55\u529F\u80FD
======================================== */
let biliQRCheckInterval = null;
let biliBiliQRKey = null;
async function startBilibiliQRLogin() {
// \u521B\u5EFA\u626B\u7801\u767B\u5F55\u6A21\u6001\u6846
if (!document.getElementById('bili-qr-modal')) {
const modalHTML = \`
<div class="modal" id="bili-qr-modal">
<div class="modal-content" style="max-width: 400px;">
<div class="modal-header">
<h3>\u626B\u7801\u767B\u5F55 Bilibili</h3>
<button class="close-btn" onclick="closeBiliQRModal()">\xD7</button>
</div>
<div class="modal-body" style="text-align: center;">
<div id="bili-qr-container">
<div class="loading-spinner" id="bili-qr-loading"></div>
<p id="bili-qr-status">\u6B63\u5728\u751F\u6210\u4E8C\u7EF4\u7801...</p>
<div id="bili-qr-code" style="display: none;"></div>
</div>
</div>
</div>
</div>
\`;
document.body.insertAdjacentHTML('beforeend', modalHTML);
}
const modal = document.getElementById('bili-qr-modal');
const qrCode = document.getElementById('bili-qr-code');
const qrLoading = document.getElementById('bili-qr-loading');
const qrStatus = document.getElementById('bili-qr-status');
modal.classList.add('active');
qrCode.style.display = 'none';
qrCode.innerHTML = '';
qrLoading.style.display = 'block';
qrStatus.textContent = '\u6B63\u5728\u751F\u6210\u4E8C\u7EF4\u7801...';
if (biliQRCheckInterval) {
clearInterval(biliQRCheckInterval);
}
try {
const response = await fetch(buildApiUrl('/api/cookie/qr/generate', true), {
method: 'POST'
});
const result = await response.json();
if (result.success && result.data) {
biliBiliQRKey = result.data.qrcode_key;
const qrUrl = result.data.url;
qrCode.innerHTML = '<img src="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=' + encodeURIComponent(qrUrl) + '" alt="\u4E8C\u7EF4\u7801">';
qrCode.style.display = 'block';
qrLoading.style.display = 'none';
qrStatus.textContent = '\u8BF7\u4F7F\u7528 Bilibili APP \u626B\u63CF';
startBiliQRCheck();
} else {
throw new Error(result.message || '\u751F\u6210\u4E8C\u7EF4\u7801\u5931\u8D25');
}
} catch (error) {
qrLoading.style.display = 'none';
qrStatus.textContent = error.message;
}
}
function startBiliQRCheck() {
if (!biliBiliQRKey) return;
const qrStatus = document.getElementById('bili-qr-status');
biliQRCheckInterval = setInterval(async () => {
try {
const response = await fetch(buildApiUrl('/api/cookie/qr/check', true), {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ qrcode_key: biliBiliQRKey })
});
const result = await response.json();
if (result.success && result.data) {
const code = result.data.code;
switch (code) {
case 86101:
qrStatus.textContent = '\u7B49\u5F85\u626B\u7801...';
break;
case 86090:
qrStatus.textContent = '\u5DF2\u626B\u7801\uFF0C\u8BF7\u786E\u8BA4';
break;
case 86038:
qrStatus.textContent = '\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F';
clearInterval(biliQRCheckInterval);
break;
case 0:
qrStatus.textContent = '\u767B\u5F55\u6210\u529F\uFF01';
clearInterval(biliQRCheckInterval);
if (result.data.cookie) {
fillBilibiliCookie(result.data.cookie);
}
setTimeout(() => {
closeBiliQRModal();
}, 1000);
break;
}
}
} catch (error) {
console.error('\u68C0\u67E5\u626B\u7801\u72B6\u6001\u5931\u8D25:', error);
}
}, 2000);
}
function fillBilibiliCookie(cookie) {
const textInput = document.getElementById('text-value');
if (textInput) {
textInput.value = cookie;
textInput.dispatchEvent(new Event('input', { bubbles: true }));
textInput.style.borderColor = 'var(--success-color, #28a745)';
setTimeout(() => {
textInput.style.borderColor = '';
// \u586B\u5165\u540E\u89E6\u53D1\u68C0\u6D4B\u4E00\u6B21\uFF08\u4F1A\u63D0\u793A\u7528\u6237\u4FDD\u5B58\uFF09
autoCheckBilibiliCookieStatus();
}, 2000);
}
}
function closeBiliQRModal() {
const modal = document.getElementById('bili-qr-modal');
if (modal) {
modal.classList.remove('active');
}
if (biliQRCheckInterval) {
clearInterval(biliQRCheckInterval);
}
}
async function autoCheckBilibiliCookieStatus() {
const textInput = document.getElementById('text-value');
const statusEl = document.getElementById('bili-cookie-status');
if (!textInput || !statusEl) return;
const cookie = textInput.value.trim();
// \u5982\u679C\u8F93\u5165\u6846\u4E3A\u7A7A,\u63D0\u793A\u672A\u914D\u7F6E
if (!cookie) {
statusEl.innerHTML = '<span class="bili-status-text">\u672A\u914D\u7F6E</span>';
return;
}
statusEl.innerHTML = '<span class="bili-status-text">\u68C0\u6D4B\u4E2D...</span>';
// \u8131\u654F\u540E\u7684 *...* \u65E0\u6CD5\u76F4\u63A5\u6821\u9A8C\uFF0C\u540E\u7AEF\u4F1A\u81EA\u52A8\u6539\u4E3A\u6821\u9A8C\u201C\u5DF2\u4FDD\u5B58\u201D\u7684 Cookie
const isMasked = /^[*]+$/.test(cookie);
const payload = isMasked ? {} : { cookie };
try {
const response = await fetch(buildApiUrl('/api/cookie/verify', true), {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
});
const result = await response.json();
if (result && result.success && result.data) {
if (result.data.isValid) {
const uname = result.data.uname || '\u5DF2\u767B\u5F55';
const expiresAt = result.data.expiresAt;
const now = Math.floor(Date.now() / 1000);
let leftText = '';
if (typeof expiresAt === 'number' && expiresAt > now) {
const daysLeft = Math.ceil((expiresAt - now) / (24 * 60 * 60));
leftText = \` (\u5269\u4F59 \${daysLeft} \u5929)\`;
}
// \u7528\u6237\u624B\u52A8\u8F93\u5165/\u626B\u7801\u586B\u5165\u7684 Cookie \u2192 \u63D0\u793A\u4FDD\u5B58
if (!isMasked) {
statusEl.innerHTML = \`<span class="bili-status-text">\${uname}\${leftText} \xB7 \u8BF7\u70B9\u51FB\u4FDD\u5B58\u6309\u94AE\uFF08Vercel\u7B49\u5E73\u53F0\u9700\u91CD\u65B0\u90E8\u7F72\u540E\u751F\u6548\uFF09</span>\`;
} else {
// \u8131\u654F\u663E\u793A\u65F6\u53EA\u5C55\u793A\u5F53\u524D\u5DF2\u4FDD\u5B58 Cookie \u7684\u72B6\u6001
statusEl.innerHTML = \`<span class="bili-status-text">\${uname}\${leftText}</span>\`;
}
} else {
const err = result.data.error || 'Cookie\u65E0\u6548\u6216\u5DF2\u5931\u6548';
statusEl.innerHTML = \`<span class="bili-status-text">\${err}\uFF0C\u8BF7\u91CD\u65B0\u626B\u7801\u767B\u5F55\u5E76\u4FDD\u5B58</span>\`;
}
} else {
statusEl.innerHTML = '<span class="bili-status-text">\u68C0\u6D4B\u5931\u8D25</span>';
}
} catch (error) {
statusEl.innerHTML = '<span class="bili-status-text">\u68C0\u6D4B\u5931\u8D25</span>';
}
}
// \u663E\u793A Bilibili Cookie \u4FDD\u5B58\u63D0\u793A
function showBilibiliCookieSaveHint(text) {
const statusEl = document.getElementById('bili-cookie-status');
if (!statusEl) return;
const msg = text || '\u8BF7\u70B9\u51FB\u4FDD\u5B58\u6309\u94AE,Vercel\u7B49\u5E73\u53F0\u9700\u91CD\u65B0\u90E8\u7F72\u540E\u751F\u6548';
statusEl.innerHTML = \`<span class="bili-status-text">\${msg}</span>\`;
}
/* ========================================
AI API Key \u8FDE\u901A\u6027\u6D4B\u8BD5\u529F\u80FD
======================================== */
async function verifyAiConnection() {
const statusEl = document.getElementById('ai-apikey-status');
const btn = document.getElementById('ai-verify-btn');
const textInput = document.getElementById('text-value');
if (!statusEl || !textInput) return;
const apiKey = textInput.value.trim();
// \u5982\u679C\u8F93\u5165\u6846\u4E3A\u7A7A\uFF0C\u63D0\u793A\u672A\u914D\u7F6E
if (!apiKey) {
statusEl.innerHTML = '<span class="ai-status-icon">\u26A0\uFE0F</span><span class="ai-status-text">\u8BF7\u5148\u8F93\u5165 API Key</span>';
return;
}
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
const originalText = btn.innerHTML;
btn.innerHTML = '<span class="loading-spinner-small"></span>';
btn.disabled = true;
statusEl.innerHTML = '<span class="ai-status-icon">\u{1F50D}</span><span class="ai-status-text">\u6B63\u5728\u6D4B\u8BD5\u8FDE\u901A\u6027...</span>';
// \u68C0\u67E5\u662F\u5426\u4E3A\u8131\u654F\u540E\u7684 *...*
const isMasked = /^[*]+$/.test(apiKey);
try {
const response = await fetch(buildApiUrl('/api/ai/verify', true), {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(isMasked ? {} : { 'aiApiKey': apiKey })
});
const result = await response.json();
if (result.ok) {
statusEl.innerHTML = '<span class="ai-status-icon">\u2705</span><span class="ai-status-text">' + (result.message || 'AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u6210\u529F') + '</span>';
statusEl.style.color = 'var(--success-color, #28a745)';
} else {
statusEl.innerHTML = '<span class="ai-status-icon">\u274C</span><span class="ai-status-text">' + (result.message || '\u8FDE\u901A\u6027\u6D4B\u8BD5\u5931\u8D25') + '</span>';
statusEl.style.color = 'var(--danger-color, #dc3545)';
}
} catch (error) {
statusEl.innerHTML = '<span class="ai-status-icon">\u26A0\uFE0F</span><span class="ai-status-text">\u6D4B\u8BD5\u8BF7\u6C42\u5931\u8D25: ' + error.message + '</span>';
statusEl.style.color = 'var(--warning-color, #ffc107)';
} finally {
// \u6062\u590D\u6309\u94AE\u72B6\u6001
btn.innerHTML = originalText;
btn.disabled = false;
}
}
/* ========================================
\u6700\u8FD1\u6570\u636E\u4E0Eanimes\u7F13\u5B58\u9762\u677F\u529F\u80FD
======================================== */
// \u7EDF\u4E00\u5207\u6362\u5361\u7247\u5185\u7684\u6298\u53E0\u533A\u57DF
function toggleCardSection(btnEl, targetSelector, openText, closeText) {
if (!btnEl) return;
const card = btnEl.closest('.anime-cache-card');
if (!card) return;
const container = card.querySelector(targetSelector);
if (!container) return;
const isHidden = window.getComputedStyle(container).display === 'none';
if (isHidden) {
container.style.display = 'flex';
btnEl.innerHTML = closeText;
btnEl.classList.add('active');
} else {
container.style.display = 'none';
btnEl.innerHTML = openText;
btnEl.classList.remove('active');
}
}
// \u5207\u6362\u5B50\u8282\u70B9\u5185\u7684\u6620\u5C04\u8BE6\u60C5
function toggleMapping(btnEl) {
if (!btnEl) return;
const parentItem = btnEl.closest('.anime-cache-child-item');
if (!parentItem) return;
const container = parentItem.querySelector('.child-mapping-container');
if (!container) return;
const isHidden = window.getComputedStyle(container).display === 'none';
if (isHidden) {
container.style.display = 'flex';
btnEl.innerHTML = '\u{1F4CA} \u6536\u8D77\u6620\u5C04\u8BE6\u60C5';
btnEl.classList.add('active');
} else {
container.style.display = 'none';
btnEl.innerHTML = '\u{1F4CA} \u5C55\u5F00\u6620\u5C04\u8BE6\u60C5';
btnEl.classList.remove('active');
}
}
// \u5FEB\u6377\u6570\u636E\u9762\u677F\u4E1A\u52A1\u903B\u8F91
async function fetchAndShowRecentData() {
const panel = document.getElementById('recent-data-panel');
const listContainer = document.getElementById('recent-data-list');
if (!panel || !listContainer) return;
if (window.getComputedStyle(panel).display !== 'none') {
panel.style.display = 'none';
return;
}
panel.style.display = 'block';
listContainer.innerHTML = '<span class="loading-spinner-small"></span> \u6570\u636E\u52A0\u8F7D\u4E2D...';
try {
const response = await fetch(buildApiUrl('/api/cache/animes', true));
const result = await response.json();
if (result.success && result.data && result.data.length > 0) {
renderAnimeCachePanel(result.data, listContainer);
} else {
listContainer.innerHTML = '<div class="text-gray font-size-12" style="padding: 10px 0;">\u7F13\u5B58\u4E2D\u6682\u65E0\u756A\u5267\u6570\u636E\uFF0C\u8BF7\u5148\u901A\u8FC7\u5BA2\u6237\u7AEF\u8BF7\u6C42\u5F39\u5E55\u63A5\u53E3\u4EE5\u751F\u6210\u7F13\u5B58\u3002</div>';
}
} catch (error) {
listContainer.innerHTML = \`<div class="text-red font-size-12">\u8BF7\u6C42\u5931\u8D25: \${error.message}</div>\`;
}
}
// \u6E32\u67D3animes\u7F13\u5B58\u9762\u677F (\u542B\u96C6\u6570\u89E3\u6790\u4E0E\u6620\u5C04\u8BE6\u60C5)
function renderAnimeCachePanel(data, listContainer) {
const keyInput = document.getElementById('env-key');
if (!listContainer || !keyInput) return;
const currentKey = keyInput.value;
// \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u751F\u6210\u64CD\u4F5C\u6309\u94AE
const generateButtons = (title, source) => {
if (currentKey === 'CUSTOM_MERGE_RULES') {
return \`
<button type="button" class="btn btn-sm btn-xs" onclick="fillMergeEntity('sec', '\${title}', '\${source}')">\u8BBE\u4E3A\u526F</button>
<button type="button" class="btn btn-sm btn-primary btn-xs" onclick="fillMergeEntity('prim', '\${title}', '\${source}')">\u8BBE\u4E3A\u4E3B</button>
\`;
} else if (currentKey === 'DANMU_OFFSET') {
return \`
<button type="button" class="btn btn-sm btn-primary btn-xs" onclick="fillOffsetEntity('\${title}', '\${source}')">\u586B\u5165</button>
\`;
}
return '';
};
// \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u6E05\u6D17\u6807\u9898
const cleanTitleStr = (rawTitle) => rawTitle.replace(/\\s*from\\s+.*$/i, '').trim().replace(/'/g, '&apos;');
let html = '<div class="anime-cache-list">';
data.forEach(item => {
const cleanTitle = cleanTitleStr(item.animeTitle);
const coverStyle = item.imageUrl ? \`background-image: url('\${item.imageUrl}');\` : '';
// 1. \u6784\u5EFA\u5408\u5E76\u5B50\u6E90\u6A21\u5757
let childrenHtml = '';
let childrenCount = 0;
if (item.mergedChildren && item.mergedChildren.length > 0) {
childrenCount = item.mergedChildren.length;
const childItems = item.mergedChildren.map(child => {
const childCleanTitle = cleanTitleStr(child.animeTitle);
const childCoverStyle = child.imageUrl ? \`background-image: url('\${child.imageUrl}');\` : '';
// \u89E3\u6790\u6620\u5C04\u6570\u636E\u5E76\u6309\u5339\u914D\u72B6\u6001\u6392\u5E8F
let mappingHtml = '';
if (item.links && item.links.length > 0) {
const parsedRows = [];
item.links.forEach((link, idx) => {
const urlStr = String(link.url || '');
const hasMainMatch = urlStr.includes(item.source + ':') || !urlStr.includes(':');
const hasChildMatch = urlStr.includes(child.source + ':');
if (!hasMainMatch && !hasChildMatch) return;
let mainSide = '(\u4E3B\u6E90\u8D8A\u754C)';
if (hasMainMatch) {
const cleanMainEpTitle = (link.title || '\u672A\u77E5\u5267\u96C6').replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, '&apos;').replace(/"/g, '&quot;');
mainSide = \`\u3010\${item.source}\u3011\${cleanMainEpTitle}\`;
}
let childSide = '(\u526F\u6E90\u7F3A\u5931)';
let childNum = NaN;
if (hasChildMatch) {
const regex = new RegExp(child.source + ':([^$]+)');
const match = urlStr.match(regex);
let childTitleStr = '(\u6E90ID\u672A\u77E5)';
if (match) {
const childId = match[1];
childTitleStr = \`(\u6E90ID: \${childId})\`;
if (child.links && child.links.length > 0) {
const childLink = child.links.find(l => String(l.url) === String(childId));
if (childLink && childLink.title) {
childTitleStr = childLink.title.replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, '&apos;').replace(/"/g, '&quot;');
}
}
} else {
childTitleStr = (link.title || '').replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, '&apos;').replace(/"/g, '&quot;');
}
childSide = \`\u3010\${child.source}\u3011\${childTitleStr}\`;
const numMatch = childTitleStr.match(/\\d+/);
if (numMatch) {
childNum = parseInt(numMatch[0], 10);
}
}
let rowHtml = '';
if (hasMainMatch && hasChildMatch) {
rowHtml = \`<div class="mapping-row"><span class="mapping-status success">\u2713 \u5339\u914D</span> <span class="mapping-text">\${mainSide} \u2194 \${childSide}</span></div>\`;
} else {
rowHtml = \`<div class="mapping-row"><span class="mapping-status warning">\u2717 \u843D\u5355</span> <span class="mapping-text">\${mainSide} \u2194 \${childSide}</span></div>\`;
}
parsedRows.push({
originalIndex: idx,
hasChildMatch: hasChildMatch,
childNum: childNum,
html: rowHtml
});
});
const matchedRows = parsedRows.filter(r => r.hasChildMatch).sort((a, b) => {
if (!isNaN(a.childNum) && !isNaN(b.childNum)) {
return a.childNum - b.childNum;
}
return a.originalIndex - b.originalIndex;
});
const lonelyRows = parsedRows.filter(r => !r.hasChildMatch).sort((a, b) => a.originalIndex - b.originalIndex);
const finalRows = [...matchedRows, ...lonelyRows];
const mappingRowsHtml = finalRows.map(r => r.html).join('');
if (mappingRowsHtml) {
mappingHtml = \`
<div class="child-mapping-toggle" onclick="toggleMapping(this)">\u{1F4CA} \u5C55\u5F00\u6620\u5C04\u8BE6\u60C5</div>
<div class="child-mapping-container">
\${mappingRowsHtml}
</div>
\`;
}
}
return \`
<div class="anime-cache-child-item">
<div class="anime-cache-child-main">
<div class="anime-cache-child-cover" style="\${childCoverStyle}"></div>
<div class="anime-cache-child-info">
<div class="anime-cache-child-title" title="\${child.animeTitle}">\${childCleanTitle}</div>
<div class="anime-cache-meta">[\${child.source}] (\${child.episodes}\u96C6)</div>
</div>
<div class="anime-cache-child-actions">
\${generateButtons(childCleanTitle, child.source)}
</div>
</div>
\${mappingHtml}
</div>
\`;
}).join('');
childrenHtml = \`
<div class="merged-children-container">
\${childItems}
</div>
\`;
}
// 2. \u6784\u5EFA\u5267\u96C6\u53C2\u8003\u5217\u8868\u6A21\u5757
let episodesHtml = '';
let episodesCount = 0;
if (item.links && item.links.length > 0) {
episodesCount = item.links.length;
const epItems = item.links.map(link => {
const safeTitle = link.title ? link.title.replace(/'/g, '&apos;').replace(/"/g, '&quot;') : '\u672A\u77E5\u5267\u96C6';
return \`
<div class="anime-cache-child-item" style="padding: 6px;">
<div class="anime-cache-child-main">
<div class="anime-cache-child-info">
<div class="anime-cache-child-title" title="\${safeTitle}">\${safeTitle}</div>
</div>
</div>
</div>
\`;
}).join('');
episodesHtml = \`
<div class="episodes-list-container">
\${epItems}
</div>
\`;
}
// 3. \u6784\u5EFA\u5361\u7247\u5E95\u90E8\u4E13\u5C5E\u5207\u6362\u680F (Tab Bar)
let footerHtml = '';
if (childrenCount > 0 || episodesCount > 0) {
let badges = '';
if (episodesCount > 0) {
badges += \`<div class="cache-badge badge-episodes" onclick="toggleCardSection(this, '.episodes-list-container', '\u{1F4FA} \${episodesCount} \u4E2A\u5267\u96C6', '\u{1F4FA} \u6536\u8D77\u5267\u96C6')">\u{1F4FA} \${episodesCount} \u4E2A\u5267\u96C6</div>\`;
}
if (childrenCount > 0) {
badges += \`<div class="cache-badge badge-sources" onclick="toggleCardSection(this, '.merged-children-container', '\u{1F517} \${childrenCount} \u4E2A\u88AB\u5408\u5E76\u6E90', '\u{1F517} \u6536\u8D77\u88AB\u5408\u5E76\u6E90')">\u{1F517} \${childrenCount} \u4E2A\u88AB\u5408\u5E76\u6E90</div>\`;
}
footerHtml = \`<div class="anime-cache-footer">\${badges}</div>\`;
}
// 4. \u7EC4\u88C5\u5B8C\u6574\u5361\u7247
html += \`
<div class="anime-cache-card">
<div class="anime-cache-card-body">
<div class="anime-cache-cover" style="\${coverStyle}"></div>
<div class="anime-cache-info">
<div class="anime-cache-title" title="\${item.animeTitle}">\${cleanTitle}</div>
<div class="anime-cache-meta">[\${item.source}] (\${item.episodes}\u96C6)</div>
</div>
<div class="anime-cache-actions">
\${generateButtons(cleanTitle, item.source)}
</div>
</div>
\${footerHtml}
\${childrenHtml}
\${episodesHtml}
</div>
\`;
});
html += '</div>';
listContainer.innerHTML = html;
}
/* ========================================
\u8868\u5355\u586B\u5145\u5FEB\u6377\u64CD\u4F5C\u529F\u80FD
======================================== */
// \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u8F93\u5165\u6846\u89C6\u89C9\u53CD\u9988\u7EDF\u4E00\u5904\u7406
function applyInputFeedback(inputEl) {
if (!inputEl) return;
const oldBorder = inputEl.style.borderColor;
inputEl.style.borderColor = '#28a745';
setTimeout(() => inputEl.style.borderColor = oldBorder, 800);
inputEl.focus();
}
// \u8868\u5355\u586B\u5145\u903B\u8F91\uFF1A\u5408\u5E76\u6620\u5C04\u8868
function fillMergeEntity(type, title, source) {
const panel = document.getElementById('merge-rule-panel');
if (panel && window.getComputedStyle(panel).display === 'none') {
toggleMergeRulePanel();
}
const inputId = type === 'sec' ? 'merge-sec-entity' : 'merge-prim-entity';
const inputEl = document.getElementById(inputId);
if (inputEl) {
inputEl.value = \`\${title}@\${source}\`;
applyInputFeedback(inputEl);
setMergeFocus(type);
}
}
// \u8868\u5355\u586B\u5145\u903B\u8F91\uFF1A\u5F39\u5E55\u504F\u79FB
function fillOffsetEntity(title, source) {
const panel = document.getElementById('offset-rule-panel');
if (panel && window.getComputedStyle(panel).display === 'none') {
toggleOffsetRulePanel();
}
// \u89C6\u56FE\u5C42\u6570\u636E\u6E05\u6D17\uFF1A\u53BB\u9664\u5E74\u4EFD\u548C\u7C7B\u578B\u540E\u7F00
const cleanTitle = title
.replace(/[\\u200B-\\u200F\\uFEFF]/g, '')
.replace(/\\s*[\uFF08(\u3014\\[]\\s*[0-9\uFF10-\uFF19]{4}\\s*\u5E74?\\s*[\uFF09)\u3015\\]]/g, '')
.replace(/(.+?)\\s*\u3010[^\u3011]+\u3011$/, '$1')
.trim();
const inputEl = document.getElementById('offset-anime');
if (inputEl) {
inputEl.value = cleanTitle;
// \u57FA\u4E8E data-value \u5C5E\u6027\u5339\u914D\u5E76\u9009\u4E2D\u5BF9\u5E94\u6765\u6E90\u6807\u7B7E
const sourceTags = document.querySelectorAll('#offset-sources .offset-source-tag');
if (sourceTags.length > 0) {
sourceTags.forEach(el => el.classList.remove('selected'));
const targetTag = Array.from(sourceTags).find(el => el.dataset.value === source);
if (targetTag) targetTag.classList.add('selected');
}
applyInputFeedback(inputEl);
}
}
`;var zst=`
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LogVar\u5F39\u5E55API</title>
<link rel="icon" type="image/jpg" href="https://i.mji.rip/2025/09/27/eedc7b701c0fa5c1f7c175b22f441ad9.jpeg">
<link rel="apple-touch-icon" href="https://i.mji.rip/2025/09/27/eedc7b701c0fa5c1f7c175b22f441ad9.jpeg">
<style>${Mst}</style>
<style>${Wst}</style>
<style>${$st}</style>
<style>${Fst}</style>
</head>
<body>
<div class="container">
<!-- \u8FDB\u5EA6\u6761 -->
<div class="progress-container" id="progress-container">
<div class="progress-bar" id="progress-bar"></div>
</div>
<div class="header">
<div class="header-left">
<div class="logo-title-container">
<div class="logo"><img src="https://i.mji.rip/2025/09/27/eedc7b701c0fa5c1f7c175b22f441ad9.jpeg" width="500"/></div>
<h1>LogVar\u5F39\u5E55API</h1>
</div>
<div class="version-info">
<span class="version-badge">\u5F53\u524D\u7248\u672C: <span id="current-version">v${O.version}</span></span>
<span class="update-badge" id="update-badge">
\u6700\u65B0\u7248\u672C: <span id="latest-version">\u52A0\u8F7D\u4E2D...</span>
</span>
<span class="api-endpoint-badge">
API\u7AEF\u70B9: <span id="api-endpoint" title="\u70B9\u51FB\u590D\u5236API\u7AEF\u70B9" style="cursor: pointer; color: var(--success-color); font-weight: bold;" onclick="copyApiEndpoint()">\u52A0\u8F7D\u4E2D...</span>
</span>
</div>
</div>
<div class="nav-buttons">
<button class="nav-btn active" onclick="switchSection('preview', event)">\u914D\u7F6E\u9884\u89C8</button>
<button class="nav-btn" onclick="switchSection('logs', event)">\u65E5\u5FD7\u67E5\u770B</button>
<button class="nav-btn" onclick="switchSection('api', event)">\u63A5\u53E3\u8C03\u8BD5</button>
<button class="nav-btn" onclick="switchSection('push', event)">\u63A8\u9001\u5F39\u5E55</button>
<button class="nav-btn" onclick="switchSection('request-records', event)">\u8BF7\u6C42\u8BB0\u5F55</button>
<button class="nav-btn" onclick="switchSection('env', event)" id="env-nav-btn">\u7CFB\u7EDF\u914D\u7F6E</button>
</div>
</div>
<div class="content">
<!-- \u914D\u7F6E\u9884\u89C8 -->
<div class="section active" id="preview-section">
<h2>\u914D\u7F6E\u9884\u89C8</h2>
<div id="proxy-config-container" style="display: none; background: rgba(255, 204, 0, 0.08); border: 1px solid rgba(255, 204, 0, 0.2); padding: 24px; border-radius: 16px; margin-bottom: 24px;">
<h3 style="color: #997a00; margin-top: 0; font-size: 16px; margin-bottom: 12px;">\u83B7\u53D6\u914D\u7F6E\u5931\u8D25</h3>
<p style="color: #997a00; margin-bottom: 16px; font-size: 14px; opacity: 0.9;">
\u68C0\u6D4B\u5230\u65E0\u6CD5\u83B7\u53D6\u914D\u7F6E\u3002\u5982\u679C\u60A8\u4F7F\u7528\u4E86\u590D\u6742\u7684\u53CD\u5411\u4EE3\u7406\uFF1A\u4F8B\u5982\u5C06 <code>http://{ip}:9321/</code> \u4EE3\u7406\u5230\u4E86 <code>http://{ip}:9321/danmu_api/</code>\uFF0C\u8BF7\u5728\u6B64\u5904\u624B\u52A8\u8F93\u5165\u5B8C\u6574\u7684\u53CD\u4EE3\u540E\u94FE\u63A5\uFF08\u4E0D\u5305\u542BTOKEN\u548CADMIN_TOKEN\u7684\uFF09
</p>
<div style="display: flex; gap: 10px; flex-wrap: wrap;">
<input type="text" id="custom-base-url" placeholder="\u4F8B\u5982: http://192.168.8.1:2333/danmu_api/ (\u7559\u7A7A\u4FDD\u5B58\u5373\u6062\u590D\u9ED8\u8BA4)" style="flex: 1; min-width: 200px; padding: 12px; border: 1px solid rgba(0,0,0,0.1); border-radius: 12px;">
<button class="btn btn-primary" onclick="saveBaseUrl()">\u4FDD\u5B58\u5E76\u5237\u65B0</button>
</div>
<p style="color: var(--text-secondary); font-size: 12px; margin-top: 10px; opacity: 0.8;">* \u8BBE\u7F6E\u5C06\u4FDD\u5B58\u5728\u6D4F\u89C8\u5668\u672C\u5730\u5B58\u50A8\u4E2D\uFF0C\u6E05\u9664\u7F51\u9875\u7684\u2018\u672C\u5730\u5B58\u50A8\u7A7A\u95F4\u2019\u6216\u8005\u8F93\u5165\u6846\u4E2D\u7559\u7A7A\u5E76\u4FDD\u5B58\u53EF\u6062\u590D\u9ED8\u8BA4</p>
</div>
<div class="env-categories">
<button class="category-btn active" onclick="switchPreviewCategory('api', event)">API\u914D\u7F6E</button>
<button class="category-btn" onclick="switchPreviewCategory('source', event)">\u6E90\u914D\u7F6E</button>
<button class="category-btn" onclick="switchPreviewCategory('match', event)">\u5339\u914D\u914D\u7F6E</button>
<button class="category-btn" onclick="switchPreviewCategory('danmu', event)">\u5F39\u5E55\u914D\u7F6E</button>
<button class="category-btn" onclick="switchPreviewCategory('cache', event)">\u7F13\u5B58\u914D\u7F6E</button>
<button class="category-btn" onclick="switchPreviewCategory('system', event)">\u7CFB\u7EDF\u914D\u7F6E</button>
</div>
<p style="color: var(--text-secondary); margin-bottom: 20px; font-size: 14px;">\u5F53\u524D\u751F\u6548\u7684\u73AF\u5883\u53D8\u91CF\u914D\u7F6E</p>
<div class="preview-area" id="preview-area"></div>
</div>
<!-- \u65E5\u5FD7\u67E5\u770B -->
<div class="section" id="logs-section">
<h2>\u65E5\u5FD7\u67E5\u770B</h2>
<div class="log-controls">
<div>
<button class="btn btn-primary" onclick="refreshLogs()">\u5237\u65B0\u65E5\u5FD7</button>
<button class="btn btn-danger" onclick="clearLogs()">\u6E05\u7406\u65E5\u5FD7</button>
</div>
<span style="color: var(--text-secondary); font-size: 13px;">\u5B9E\u65F6\u65E5\u5FD7\u76D1\u63A7</span>
</div>
<div class="log-container" id="log-container"></div>
</div>
<!-- \u63A5\u53E3\u8C03\u8BD5 -->
<div class="section" id="api-section">
<h2>\u63A5\u53E3\u8C03\u8BD5</h2>
<div class="api-top-tabs">
<button class="api-top-tab active" onclick="switchApiTopTab('debug', event)">\u63A5\u53E3\u8C03\u8BD5</button>
<button class="api-top-tab" onclick="switchApiTopTab('danmu-test', event)">\u5F39\u5E55\u6D4B\u8BD5</button>
</div>
<div class="api-tab-content active" id="api-debug-content">
<div class="api-selector">
<div class="form-group">
<label>\u9009\u62E9\u63A5\u53E3</label>
<select id="api-select" onchange="loadApiParams()">
<option value="">-- \u8BF7\u9009\u62E9\u63A5\u53E3 --</option>
<option value="searchAnime">\u641C\u7D22\u52A8\u6F2B - /api/v2/search/anime</option>
<option value="searchEpisodes">\u641C\u7D22\u5267\u96C6 - /api/v2/search/episodes</option>
<option value="matchAnime">\u5339\u914D\u52A8\u6F2B - /api/v2/match</option>
<option value="getBangumi">\u83B7\u53D6\u756A\u5267\u8BE6\u60C5 - /api/v2/bangumi/:animeId</option>
<option value="getComment">\u83B7\u53D6\u5F39\u5E55 - /api/v2/comment/:commentId</option>
<option value="getSegmentComment">\u83B7\u53D6\u5206\u7247\u5F39\u5E55 - /api/v2/segmentcomment</option>
</select>
</div>
</div>
<div class="api-params" id="api-params" style="display: none;">
<h3 style="margin-bottom: 15px;">\u63A5\u53E3\u53C2\u6570</h3>
<div id="params-form"></div>
<button class="btn btn-success" onclick="testApi()">\u53D1\u9001\u8BF7\u6C42</button>
</div>
<div id="api-response-container" style="display: none;">
<h3 style="margin: 20px 0 10px;">\u54CD\u5E94\u7ED3\u679C</h3>
<div class="api-response" id="api-response"></div>
</div>
</div>
<div class="api-tab-content" id="danmu-test-content">
<div class="danmu-test-tabs">
<button class="danmu-test-tab active" onclick="switchDanmuTestTab('auto', event)">\u81EA\u52A8\u5339\u914D\u6D4B\u8BD5</button>
<button class="danmu-test-tab" onclick="switchDanmuTestTab('manual', event)">\u624B\u52A8\u5339\u914D\u6D4B\u8BD5</button>
</div>
<div class="danmu-test-panel active" id="auto-match-panel">
<p style="color: #666; margin-bottom: 15px;">\u6A21\u62DF\u64AD\u653E\u5668\u81EA\u52A8\u5339\u914D\u6D41\u7A0B\uFF1A\u8F93\u5165\u6587\u4EF6\u540D \u2192 \u5339\u914D\u5267\u96C6 \u2192 \u83B7\u53D6\u5F39\u5E55</p>
<div class="form-group" style="margin-bottom: 15px;">
<label>\u6587\u4EF6\u540D</label>
<div style="display:flex;gap:10px;margin-top:5px;">
<input type="text" id="auto-match-filename" placeholder="\u793A\u4F8B: \u751F\u4E07\u7269 S02E08, \u65E0\u5FE7\u6E21.S02E08.2160p.WEB-DL" style="flex:1;">
<button class="btn btn-success" id="auto-match-btn" onclick="autoMatchTest()">\u5F00\u59CB\u5339\u914D</button>
</div>
</div>
</div>
<div class="danmu-test-panel" id="manual-match-panel">
<p style="color: #666; margin-bottom: 15px;">\u6A21\u62DF\u64AD\u653E\u5668\u624B\u52A8\u641C\u7D22\u6D41\u7A0B\uFF1A\u641C\u7D22\u52A8\u6F2B \u2192 \u9009\u62E9\u756A\u5267 \u2192 \u9009\u62E9\u5267\u96C6 \u2192 \u83B7\u53D6\u5F39\u5E55</p>
<div class="form-group" style="margin-bottom: 15px;">
<label>\u641C\u7D22\u5173\u952E\u5B57</label>
<div style="display:flex;gap:10px;margin-top:5px;">
<input type="text" id="manual-search-keyword" placeholder="\u8BF7\u8F93\u5165\u52A8\u6F2B\u540D\u79F0" style="flex:1;">
<button class="btn btn-primary" id="manual-search-btn" onclick="manualSearchAnime()">\u641C\u7D22</button>
</div>
</div>
<div id="manual-anime-list" style="display:none;"></div>
<div id="manual-episode-list" style="display:none;"></div>
</div>
<div id="danmu-result-area" style="display:none;"></div>
</div>
</div>
<!-- \u63A8\u9001\u5F39\u5E55 -->
<div class="section" id="push-section">
<h2>\u63A8\u9001\u5F39\u5E55</h2>
<p style="color: var(--text-secondary); margin-bottom: 24px; font-size: 13px;">\u652F\u6301OK\u5F71\u89C6\u7B49\u64AD\u653E\u5668\uFF0C\u4E24\u7AEF\u9700\u8981\u5728\u540C\u4E00\u5C40\u57DF\u7F51\u6216\u4F7F\u7528\u516C\u7F51ip\uFF0C\u63A8\u9001\u5730\u5740\u683C\u5F0F\u5982 http://127.0.0.1:9978/action?do=refresh&type=danmaku&path=</p>
<div class="push-controls" style="margin-bottom: 24px;">
<div class="form-group" style="margin-bottom: 20px;">
<label>\u63A8\u9001\u5730\u5740</label>
<input type="text" id="push-url" placeholder="\u8BF7\u8F93\u5165\u63A8\u9001\u5730\u5740\uFF0C\u4F8B\u5982: http://127.0.0.1:9978/action?do=refresh&type=danmaku&path=">
</div>
<div class="form-group" style="margin-bottom: 20px;">
<label>\u641C\u7D22\u5173\u952E\u5B57</label>
<div style="margin-top: 8px; display: flex; gap: 10px;">
<input type="text" id="push-search-keyword" placeholder="\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57" style="flex: 1;">
<button class="btn btn-primary" onclick="searchAnimeForPush()" style="width: auto; padding: 0 24px;">\u641C\u7D22</button>
</div>
</div>
</div>
<div id="push-anime-list" class="anime-list" style="display: none;"></div>
<div id="push-episode-list" class="episode-list" style="display: none; margin-top: 24px;"></div>
</div>
<!-- \u8BF7\u6C42\u8BB0\u5F55 -->
<div class="section" id="request-records-section">
<h2>\u8BF7\u6C42\u8BB0\u5F55</h2>
<div class="log-controls">
<div>
<button class="btn btn-primary" id="refresh-request-records">\u{1F504} \u5237\u65B0\u8BB0\u5F55</button>
<span id="total-requests-today" style="color: #ff5722; margin-left: 15px; vertical-align: middle; font-size: 1.2em; font-weight: bold;"></span>
</div>
<span style="color: #666;">\u4E91\u670D\u52A1\u90E8\u7F72\u9700\u8981\u914D\u7F6Eredis</span>
</div>
<div class="request-records-container" id="request-records-list"></div>
</div>
<!-- \u7CFB\u7EDF\u914D\u7F6E -->
<div class="section" id="env-section">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; flex-wrap: wrap; gap: 16px;">
<div>
<h2 style="margin: 0;">\u73AF\u5883\u53D8\u91CF\u914D\u7F6E</h2>
<p style="margin: 8px 0 0 0; color: var(--text-secondary); font-size: 13px;">vercel/netlify/edgeone\u5E73\u53F0\u4FEE\u6539\u53D8\u91CF\u540E\u9700\u8981\u91CD\u65B0\u90E8\u7F72</p>
</div>
<div style="display: flex; gap: 12px; flex-wrap: wrap;">
<button class="btn btn-danger" onclick="showClearCacheModal()" title="\u6E05\u7406\u7CFB\u7EDF\u7F13\u5B58">
\u6E05\u7406\u7F13\u5B58
</button>
<button class="btn btn-success" onclick="showDeploySystemModal()" title="\u91CD\u65B0\u90E8\u7F72\u7CFB\u7EDF">
\u91CD\u65B0\u90E8\u7F72
</button>
</div>
<!-- \u6E05\u7406\u7F13\u5B58\u786E\u8BA4\u6A21\u6001\u6846 -->
<div class="modal" id="clear-cache-modal">
<div class="modal-content">
<div class="modal-header">
<h3>\u786E\u8BA4\u6E05\u7406\u7F13\u5B58</h3>
<button class="close-btn" onclick="hideClearCacheModal()">&times;</button>
</div>
<div class="modal-body">
<p style="margin-bottom: 20px;">\u786E\u5B9A\u8981\u6E05\u7406\u6240\u6709\u7F13\u5B58\u5417\uFF1F\u8FD9\u5C06\u6E05\u9664\uFF1A</p>
<ul class="confirmation-list">
<li>\u52A8\u6F2B\u641C\u7D22\u7F13\u5B58 (animes)</li>
<li>\u5267\u96C6ID\u7F13\u5B58 (episodeIds)</li>
<li>\u5267\u96C6\u7F16\u53F7\u7F13\u5B58 (episodeNum)</li>
<li>\u6700\u540E\u9009\u62E9\u6620\u5C04\u7F13\u5B58 (lastSelectMap)</li>
<li>\u52A8\u753B\u5143\u6570\u636E\u7F13\u5B58 (Bangumi Data)</li>
<li>\u641C\u7D22\u7ED3\u679C\u7F13\u5B58</li>
<li>\u5F39\u5E55\u5185\u5BB9\u7F13\u5B58</li>
<li>\u8BF7\u6C42\u5386\u53F2\u8BB0\u5F55</li>
</ul>
<p style="color: var(--text-secondary); margin-top: 20px; font-size: 13px;">\u6E05\u7406\u540E\u53EF\u80FD\u9700\u8981\u91CD\u65B0\u767B\u5F55</p>
</div>
<div class="modal-footer">
<button class="btn btn-success" onclick="confirmClearCache()">\u786E\u8BA4\u6E05\u7406</button>
<button class="btn btn-danger" onclick="hideClearCacheModal()">\u53D6\u6D88</button>
</div>
</div>
</div>
<!-- \u91CD\u65B0\u90E8\u7F72\u786E\u8BA4\u6A21\u6001\u6846 -->
<div class="modal" id="deploy-system-modal">
<div class="modal-content">
<div class="modal-header">
<h3>\u786E\u8BA4\u91CD\u65B0\u90E8\u7F72</h3>
<button class="close-btn" onclick="hideDeploySystemModal()">&times;</button>
</div>
<div class="modal-body">
<p style="margin-bottom: 20px;">\u786E\u5B9A\u8981\u91CD\u65B0\u90E8\u7F72\u7CFB\u7EDF\u5417\uFF1F</p>
<div class="warning-box" style="background: rgba(255, 204, 0, 0.08); border-left: 4px solid #FFCC00;">
<p style="margin: 0; font-weight: bold;">\u90E8\u7F72\u8FC7\u7A0B\u4E2D\uFF1A</p>
<ul class="confirmation-list">
<li>\u7CFB\u7EDF\u5C06\u77ED\u6682\u4E0D\u53EF\u7528</li>
<li>\u6240\u6709\u914D\u7F6E\u5C06\u91CD\u65B0\u52A0\u8F7D</li>
<li>\u670D\u52A1\u5C06\u81EA\u52A8\u91CD\u542F</li>
</ul>
<p style="margin-top: 10px; font-size: 13px;">\u9884\u8BA1\u8017\u65F6\uFF1A30-90\u79D2</p>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-success" onclick="confirmDeploySystem()">\u786E\u8BA4\u90E8\u7F72</button>
<button class="btn btn-danger" onclick="hideDeploySystemModal()">\u53D6\u6D88</button>
</div>
</div>
</div>
</div>
<div class="env-categories">
<button class="category-btn active" onclick="switchCategory('api', event)">API\u914D\u7F6E</button>
<button class="category-btn" onclick="switchCategory('source', event)">\u6E90\u914D\u7F6E</button>
<button class="category-btn" onclick="switchCategory('match', event)">\u5339\u914D\u914D\u7F6E</button>
<button class="category-btn" onclick="switchCategory('danmu', event)">\u5F39\u5E55\u914D\u7F6E</button>
<button class="category-btn" onclick="switchCategory('cache', event)">\u7F13\u5B58\u914D\u7F6E</button>
<button class="category-btn" onclick="switchCategory('system', event)">\u7CFB\u7EDF\u914D\u7F6E</button>
</div>
<div class="env-list" id="env-list"></div>
</div>
</div>
</div>
<!-- \u52A0\u8F7D\u906E\u7F69\u5C42 -->
<div class="loading-overlay" id="loading-overlay">
<div class="loading-content">
<div class="loading-spinner"></div>
<div class="loading-text" id="loading-text">\u6B63\u5728\u5904\u7406...</div>
<div class="loading-detail" id="loading-detail">\u8BF7\u7A0D\u5019</div>
</div>
</div>
<!-- \u7F16\u8F91\u6A21\u6001\u6846 -->
<div class="modal" id="env-modal">
<div class="modal-content">
<div class="modal-header">
<h3 id="modal-title">\u7F16\u8F91\u914D\u7F6E\u9879</h3>
<button class="close-btn" onclick="closeModal()">&times;</button>
</div>
<form id="env-form">
<div class="form-group">
<label>\u53D8\u91CF\u7C7B\u522B</label>
<select id="env-category" disabled>
<option value="api">API\u914D\u7F6E</option>
<option value="source">\u6E90\u914D\u7F6E</option>
<option value="match">\u5339\u914D\u914D\u7F6E</option>
<option value="danmu">\u5F39\u5E55\u914D\u7F6E</option>
<option value="cache">\u7F13\u5B58\u914D\u7F6E</option>
<option value="system">\u7CFB\u7EDF\u914D\u7F6E</option>
</select>
</div>
<div class="form-group">
<label>\u53D8\u91CF\u540D</label>
<input type="text" id="env-key" placeholder="\u4F8B\u5982: DB_HOST" required readonly>
</div>
<div class="form-group">
<label>\u503C\u7C7B\u578B</label>
<select id="value-type" onchange="renderValueInput()" disabled>
<option value="text">\u6587\u672C</option>
<option value="boolean">\u5E03\u5C14\u503C</option>
<option value="number">\u6570\u5B57 (1-100)</option>
<option value="select">\u5355\u9009</option>
<option value="multi-select">\u591A\u9009 (\u53EF\u6392\u5E8F)</option>
<option value="map">\u6620\u5C04</option>
</select>
</div>
<div class="form-group" id="value-input-container">
<!-- \u52A8\u6001\u6E32\u67D3\u7684\u503C\u8F93\u5165\u63A7\u4EF6 -->
</div>
<div class="form-group">
<label>\u63CF\u8FF0</label>
<textarea id="env-description" placeholder="\u914D\u7F6E\u9879\u8BF4\u660E" readonly></textarea>
</div>
<div style="display: flex; gap: 10px;">
<button type="submit" class="btn btn-success" style="flex: 1;">\u4FDD\u5B58</button>
<button type="button" class="btn btn-danger" onclick="closeModal()" style="flex: 1;">\u53D6\u6D88</button>
</div>
</form>
</div>
</div>
<!-- \u9879\u76EE\u58F0\u660E -->
<footer class="footer">
<p class="footer-text">
\u4E00\u4E2A\u4EBA\u4EBA\u90FD\u80FD\u90E8\u7F72\u7684\u57FA\u4E8E js \u7684\u5F39\u5E55 API \u670D\u52A1\u5668\uFF0C\u652F\u6301\u7231\u4F18\u817E\u8292\u54D4\u54AA\u4EBA\u97E9\u5DF4\u72D0\u4E50\u897F\u57CB\u5E06\u5F39\u5E55\u76F4\u63A5\u83B7\u53D6\uFF0C\u517C\u5BB9\u5F39\u5F39play\u7684\u641C\u7D22\u3001\u8BE6\u60C5\u67E5\u8BE2\u548C\u5F39\u5E55\u83B7\u53D6\u63A5\u53E3\u89C4\u8303\uFF0C\u5E76\u63D0\u4F9B\u65E5\u5FD7\u8BB0\u5F55\uFF0C\u652F\u6301vercel/netlify/edgeone/cloudflare/docker/hf\u7B49\u90E8\u7F72\u65B9\u5F0F\uFF0C\u4E0D\u7528\u63D0\u524D\u4E0B\u8F7D\u5F39\u5E55\uFF0C\u6CA1\u6709nas\u6216\u5C0F\u9E21\u4E5F\u80FD\u4E00\u952E\u90E8\u7F72\u3002
</p>
<p class="footer-text">\u672C\u9879\u76EE\u4EC5\u4E3A\u4E2A\u4EBA\u5B66\u4E60\u7231\u597D\u5F00\u53D1\uFF0C\u4EE3\u7801\u5F00\u6E90\u3002\u5982\u6709\u4EFB\u4F55\u4FB5\u6743\u884C\u4E3A\uFF0C\u8BF7\u8054\u7CFB\u672C\u4EBA\u5220\u9664\u3002</p>
<p class="footer-text">\u672C\u9879\u76EE\u5B8C\u5168\u514D\u8D39\uFF0C\u4E0D\u6536\u53D6\u4EFB\u4F55\u8D39\u7528\uFF0C\u8BF7\u52FF\u4E0A\u5F53\u53D7\u9A97\u3002</p>
<p class="footer-links">
<a href="https://t.me/ddjdd_bot" target="_blank" class="footer-link tg-link">
<svg class="tg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>
TG MSG ROBOT
</a>
<a href="https://t.me/logvar_danmu_group" target="_blank" class="footer-link tg-link">
<svg class="tg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>
TG GROUP
</a>
<a href="https://t.me/logvar_danmu_channel" target="_blank" class="footer-link tg-link">
<svg class="tg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>
TG CHANNEL
</a>
<a href="https://github.com/huangxd-/danmu_api" target="_blank" class="footer-link github-link">
<img src="https://upload.wikimedia.org/wikipedia/commons/9/91/Octicons-mark-github.svg" alt="GitHub" class="github-icon">
GitHub Repo
</a>
</p>
<p>\u6709\u95EE\u9898\u63D0issue\u6216\u79C1\u4FE1\u673A\u5668\u4EBA\u90FDok</p>
</footer>
<script>
${Ust}
${qst}
${jst}
${Hst}
${Qst}
${Gst}
${Vst}
</script>
</body>
</html>
`;St();var ya=class{static async getHandler(e){switch(e?.toLowerCase()){case"cloudflare":let{CloudflareHandler:r}=await Promise.resolve().then(()=>(Yst(),Kst));return new r;case"vercel":let{VercelHandler:n}=await Promise.resolve().then(()=>(Xst(),Jst));return new n;case"netlify":let{NetlifyHandler:s}=await Promise.resolve().then(()=>(eit(),Zst));return new s;case"edgeone":let{EdgeoneHandler:i}=await Promise.resolve().then(()=>(rit(),tit));return new i;case"huggingface":let{HuggingfaceHandler:a}=await Promise.resolve().then(()=>(sit(),nit));return new a;case"node":let{NodeHandler:o}=await import(["./node-handler",".js"].join(""));return new o;default:let{NodeHandler:c}=await import(["./node-handler",".js"].join(""));return new c}}static getSupportedPlatforms(){return["cloudflare","vercel","netlify","edgeone","huggingface","node"]}};function Yie(){return new Response(zst.replace("globals.currentToken",O.currentToken),{headers:{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}})}function y4(t=!1){let e=O.envVarConfig,r={api:[],source:[],match:[],danmu:[],cache:[],system:[]},n={...O.accessedEnvVars,localCacheValid:O.localCacheValid,redisValid:O.redisValid,localRedisValid:O.localRedisValid,aiValid:O.aiValid,deployPlatform:O.deployPlatform};Object.keys(n).forEach(o=>{let c=e[o]||{category:"system",type:"text",description:"\u672A\u5206\u7C7B\u914D\u7F6E\u9879"},u=c.category||"system";r[u].push({key:o,value:n[o].value||n[o],type:n[o].type||c.type||"text",description:c.description||"\u65E0\u63CF\u8FF0",options:n[o].options||c.options})});let i=(O.adminToken||"").trim()!=="",a={...O.originalEnvVars};return(!t||O.currentToken!==O.adminToken)&&Object.keys(a).forEach(o=>{(O.currentToken!==O.token||o!=="TOKEN")&&o in n&&/^\*+$/.test(n[o])&&(a[o]=n[o])}),Be({message:"Welcome to the LogVar Danmu API server",version:O.VERSION,envs:n,categorizedEnvVars:r,envVarConfig:e,originalEnvVars:a,hasAdminToken:i,repository:"https://github.com/huangxd-/danmu_api.git",description:"\u4E00\u4E2A\u4EBA\u4EBA\u90FD\u80FD\u90E8\u7F72\u7684\u57FA\u4E8E js \u7684\u5F39\u5E55 API \u670D\u52A1\u5668\uFF0C\u652F\u6301\u7231\u4F18\u817E\u8292\u54D4\u54AA\u4EBA\u97E9\u5DF4\u72D0\u4E50\u897F\u57CB\u5E06\u5F39\u5E55\u76F4\u63A5\u83B7\u53D6\uFF0C\u517C\u5BB9\u5F39\u5F39play\u7684\u641C\u7D22\u3001\u8BE6\u60C5\u67E5\u8BE2\u548C\u5F39\u5E55\u83B7\u53D6\u63A5\u53E3\u89C4\u8303\uFF0C\u5E76\u63D0\u4F9B\u65E5\u5FD7\u8BB0\u5F55\uFF0C\u652F\u6301vercel/netlify/edgeone/cloudflare/docker/hf\u7B49\u90E8\u7F72\u65B9\u5F0F\uFF0C\u4E0D\u7528\u63D0\u524D\u4E0B\u8F7D\u5F39\u5E55\uFF0C\u6CA1\u6709nas\u6216\u5C0F\u9E21\u4E5F\u80FD\u4E00\u952E\u90E8\u7F72\u3002",notice:"\u672C\u9879\u76EE\u4EC5\u4E3A\u4E2A\u4EBA\u5B66\u4E60\u7231\u597D\u5F00\u53D1\uFF0C\u4EE3\u7801\u5F00\u6E90\u3002\u5982\u6709\u4EFB\u4F55\u4FB5\u6743\u884C\u4E3A\uFF0C\u8BF7\u8054\u7CFB\u672C\u4EBA\u5220\u9664\u3002\u6709\u95EE\u9898\u63D0issue\u6216\u79C1\u4FE1\u673A\u5668\u4EBA\u90FDok\uFF0CTG MSG ROBOT: [https://t.me/ddjdd_bot]; \u63A8\u8350\u52A0\u4E92\u52A9\u7FA4\u54A8\u8BE2\uFF0CTG GROUP: [https://t.me/logvar_danmu_group]; \u5173\u6CE8\u9891\u9053\u83B7\u53D6\u6700\u65B0\u66F4\u65B0\u5185\u5BB9\uFF0CTG CHANNEL: [https://t.me/logvar_danmu_channel]\u3002"})}async function iit(){try{let t=O.deployPlatform;if(_("info",`[system] [Server] Deployment request received for platform: ${t}`),t.toLowerCase()==="node")return _("info","[system] [Server] Node/Docker deployment - no redeployment needed, config changes take effect automatically"),Be({success:!0,message:"Node/Docker deployment - configuration changes take effect automatically"},200);let e=await ya.getHandler(t);return e?await e.deploy()?(_("info",`[system] [Server] Deployment triggered successfully for platform: ${t}`),Be({success:!0,message:"Deployment triggered successfully"},200)):(_("error",`[system] [Server] Failed to trigger deployment for platform: ${t}`),Be({success:!1,message:"Failed to trigger deployment"},500)):(_("error",`[system] [Server] No handler found for platform: ${t}`),Be({success:!1,message:`No handler found for platform: ${t}`},400))}catch(t){return _("error",`[system] [Server] Deployment error: ${t.message}`),Be({success:!1,message:`Deployment failed: ${t.message}`},500)}}function ait(){let t=O.logBuffer.map(r=>`[${r.timestamp}] ${r.level}: ${N5e(r.message)}`).join(`
`),e=t;return O.currentToken!==O.adminToken&&(e=t.replace(/(client\s+ip:\s*)([^\n\r]*)/gi,(r,n,s)=>{let i=s.replace(/[^.\s\n\r]/g,"*");return n+i})),new Response(e,{headers:{"Content-Type":"text/plain; charset=utf-8"}})}function oit(){return O.logBuffer=[],Be({success:!0,message:"Logs cleared"},200)}async function cit(){try{O.animes=[],O.episodeIds=[],O.episodeNum=10001,O.lastSelectMap=new Map,O.reqRecords=[],O.todayReqNum=0,O.searchCache=new Map,O.commentCache=new Map,O.requestHistory=new Map;try{nWe(!0),O.useBangumiData&&JL(O.deployPlatform,!1).catch(t=>{_("warn",`[system] [Server] Bangumi-Data background reload failed: ${t.message}`)})}catch(t){_("error",`[system] [Server] Failed to clear Bangumi-Data cache: ${t.message}`)}_("info","[system] [Server] Memory cache cleared successfully");try{if(O.localCacheValid){let{updateLocalCaches:t}=await Promise.resolve().then(()=>($n(),V8e));await t(),_("info","[system] [Server] Local cache cleared successfully")}}catch(t){_("warn",`[system] [Server] Local cache may not be available: ${t.message}`)}try{if(O.redisValid){let{updateRedisCaches:t}=await Promise.resolve().then(()=>(kL(),L8e));await t(),_("info","[system] [Server] Redis cache cleared successfully")}}catch(t){_("warn",`[system] [Server] Redis may not be available: ${t.message}`)}try{if(O.localRedisValid){let{updateLocalRedisCaches:t}=await Promise.resolve().then(()=>(UT(),JB));await t(),_("info","[system] [Server] LocalRedis cache cleared successfully")}}catch(t){_("warn",`[system] [Server] LocalRedis may not be available: ${t.message}`)}return _("info","[system] [Server] All caches cleared successfully"),Be({success:!0,message:"Cache cleared successfully",clearedItems:{animes:0,episodeIds:0,episodeNum:10001,lastSelectMap:0,searchCache:0,commentCache:0,requestHistory:0,reqRecords:0,todayReqNum:0}},200)}catch(t){return _("error",`[system] [Server] Cache clear failed: ${t.message}`),Be({success:!1,message:`Cache clear failed: ${t.message}`},500)}}function nhr(t){let e=t.indexOf("?");if(e===-1)return t;let r=t.slice(0,e),s=t.slice(e+1).replace(/([^&=]+)=([^&]*)/g,(i,a)=>`${a}=***`);return`${r}?${s}`}function Kie(t){if(t==null)return t;if(Array.isArray(t))return t.map(Kie);if(typeof t=="object"){let e={};for(let r of Object.keys(t))e[r]=Kie(t[r]);return e}return"***"}function uit(){let t=[...O.reqRecords].reverse(),e=O.todayReqNum||0;return O.currentToken!==O.adminToken&&(t=t.map(r=>{let n={...r};return n.clientIp&&(n.clientIp=n.clientIp.replace(/[^.]/g,"*")),typeof n.interface=="string"&&(n.interface=nhr(n.interface)),n.params!=null&&(n.params=Kie(n.params)),n})),Be({records:t,todayReqNum:e},200)}function lit(){try{let t=[...O.animes||[]].reverse(),e=new Map;t.forEach(n=>{n?.source&&n?.animeId&&e.set(`${n.source}_${n.animeId}`,n)});let r=t.filter(n=>!n.isHiddenChild).map(n=>{let s=typeof n.toJson=="function"?n.toJson():{...n},{links:i=[],mergedChildren:a=[],...o}=s;return{...o,episodes:o.episodeCount||o.episodes||1,links:i,mergedChildren:a.map(c=>{let u=e.get(`${c.source}_${c.animeId}`),l=typeof u?.toJson=="function"?u.toJson():u,d=l?.links?.length>0?l.links:c.links||[];return{...c,episodes:c.episodeCount||c.episodes||1,links:d}})}});return Be({success:!0,data:r},200)}catch(t){return _("error",`[system] [Server] Fetch cache animes failed: ${t.message}`),Be({success:!1,message:`\u83B7\u53D6\u7F13\u5B58\u5931\u8D25: ${t.message}`},500)}}ar();St();Pt();async function dit(t){try{let{key:e,value:r}=await t.json();if(!e)return Be({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let n=O.deployPlatform;return await(await ya.getHandler(n)).setEnv(e,r)?Be({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${e} \u8BBE\u7F6E\u6210\u529F`}):Be({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${e} \u8BBE\u7F6E\u5931\u8D25`},500)}catch(e){return _("error","[system] [Server] \u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",e),Be({success:!1,message:`\u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${e.message}`},500)}}async function fit(t){try{let{key:e,value:r}=await t.json();if(!e)return Be({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let n=O.deployPlatform;return await(await ya.getHandler(n)).addEnv(e,r)?Be({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${e} \u6DFB\u52A0\u6210\u529F`}):Be({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${e} \u6DFB\u52A0\u5931\u8D25`},500)}catch(e){return _("error","[system] [Server] \u6DFB\u52A0\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",e),Be({success:!1,message:`\u6DFB\u52A0\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${e.message}`},500)}}async function pit(t){try{let{key:e}=await t.json();if(!e)return Be({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let r=O.deployPlatform;return await(await ya.getHandler(r)).delEnv(e)?Be({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${e} \u5220\u9664\u6210\u529F`}):Be({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${e} \u5220\u9664\u5931\u8D25`},500)}catch(e){return _("error","[system] [Server] \u5220\u9664\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",e),Be({success:!1,message:`\u5220\u9664\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${e.message}`},500)}}async function mit(t){try{let e=await t.json(),r=e.aiBaseUrl||O.aiBaseUrl||"https://api.openai.com/v1",n=e.aiModel||O.aiModel||"gpt-4o",s=e.aiApiKey||O.aiApiKey;if(!s)return Be({success:!1,ok:!1,message:"AI_API_KEY \u672A\u914D\u7F6E"},400);let a=await new ff({baseURL:r,model:n,apiKey:s,systemPrompt:"\u56DE\u7B54\u5C3D\u91CF\u7B80\u6D01"}).verify();return a.ok?Be({success:!0,ok:!0,message:"AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u6210\u529F"}):Be({success:!1,ok:!1,message:`AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u5931\u8D25: ${a.error}`},200)}catch(e){return _("error","[system] [Server] AI \u8FDE\u901A\u6027\u9A8C\u8BC1\u5931\u8D25:",e),Be({success:!1,ok:!1,message:`AI \u8FDE\u901A\u6027\u9A8C\u8BC1\u5931\u8D25: ${e.message}`},500)}}hs();ar();St();Pt();var hit=new Map;function git(){try{if(O&&typeof O.bilibliCookie=="string"&&O.bilibliCookie)return O.bilibliCookie}catch{}try{if(O&&O.env&&typeof O.env.BILIBILI_COOKIE=="string"&&O.env.BILIBILI_COOKIE)return O.env.BILIBILI_COOKIE}catch{}return typeof process<"u"&&process.env&&typeof process.env.BILIBILI_COOKIE=="string"&&process.env.BILIBILI_COOKIE?process.env.BILIBILI_COOKIE:""}function shr(t){try{let e=t.match(/SESSDATA=([^;]+)/);if(!e)return Math.floor(Date.now()/1e3)+30*24*60*60;let r=e[1],n=decodeURIComponent(r),s=Math.floor(Date.now()/1e3),i=(n.match(/\d{10,}/g)||[]).map(c=>Number(c)).filter(c=>Number.isFinite(c)),a=10*365*24*60*60,o=i.filter(c=>c>s&&c<s+a);if(o.length>0)return Math.max(...o);if(n.includes(",")){let c=n.split(",");if(c.length>1){let u=parseInt(c[1],10);if(!isNaN(u)&&u>s)return u}}}catch{}return Math.floor(Date.now()/1e3)+30*24*60*60}async function Ait(t){if(!t)return{isValid:!1,error:"\u7F3A\u5C11Cookie"};if(!t.includes("SESSDATA")||!t.includes("bili_jct"))return{isValid:!1,error:"Cookie\u683C\u5F0F\u4E0D\u5B8C\u6574\uFF08\u9700\u8981\u5305\u542B SESSDATA \u548C bili_jct\uFF09"};try{let e=await fetch("https://api.bilibili.com/x/web-interface/nav",{method:"GET",headers:{Cookie:t,"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Origin:"https://www.bilibili.com",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8"}});if(!e.ok){let n=await e.text().catch(()=>"");return{isValid:!1,error:`\u9A8C\u8BC1\u8BF7\u6C42\u5931\u8D25\uFF1AHTTP ${e.status}${n?" - "+n.slice(0,80):""}`}}let r;try{r=await e.json()}catch(n){let s=await e.text().catch(()=>"");return{isValid:!1,error:`\u9A8C\u8BC1\u54CD\u5E94\u89E3\u6790\u5931\u8D25\uFF1A${s?s.slice(0,80):n.message}`}}return r?.code===0&&r?.data?.isLogin?{isValid:!0,data:{uname:r.data.uname,mid:r.data.mid,face:r.data.face}}:r?.code===0&&r?.data&&r.data.isLogin===!1?{isValid:!1,error:"\u8D26\u53F7\u672A\u767B\u5F55\uFF08Cookie \u5DF2\u5931\u6548\uFF09"}:{isValid:!1,error:r?.message||"Cookie\u65E0\u6548\u6216\u5DF2\u8FC7\u671F"}}catch(e){return{isValid:!1,error:"\u9A8C\u8BC1\u8BF7\u6C42\u5931\u8D25: "+e.message}}}async function yit(t,e="saved"){if(!t)return{success:!0,data:{isValid:!1,checked:e,error:"\u672A\u914D\u7F6ECookie"}};let r=await Ait(t);return r.isValid?{success:!0,data:{isValid:!0,checked:e,uname:r.data?.uname||"\u672A\u77E5\u7528\u6237",expiresAt:shr(t)}}:{success:!0,data:{isValid:!1,checked:e,error:r.error||"Cookie\u65E0\u6548\u6216\u5DF2\u5931\u6548"}}}async function xit(){try{let t=git(),e=await yit(t,"saved");return Be(e)}catch(t){return Be({success:!1,message:t.message},500)}}async function bit(t){try{let e={};try{e=await t.json()}catch{e={}}let r=typeof e.cookie=="string"?e.cookie.trim():"",n=!r||/^\*+$/.test(r),s=n?git():r,a=await yit(s,n?"saved":"input");return Be(a)}catch(e){return Be({success:!1,message:e.message},500)}}async function Eit(){try{let e=await(await fetch("https://passport.bilibili.com/x/passport-login/web/qrcode/generate",{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/"}})).json();return e.code!==0?Be({success:!1,message:e.message||"\u751F\u6210\u4E8C\u7EF4\u7801\u5931\u8D25"},500):(hit.set(e.data.qrcode_key,{createTime:Date.now(),status:"generated"}),Be({success:!0,data:e.data}))}catch(t){return Be({success:!1,message:t.message},500)}}function ihr(t){let e=new Map,r=[];try{if(t?.headers&&typeof t.headers.getSetCookie=="function")r=t.headers.getSetCookie()||[];else{let u=t?.headers?.get?.("set-cookie");u&&(r=[u])}}catch{r=[]}for(let u of r){if(!u||typeof u!="string")continue;let l=u.split(";")[0],d=l.indexOf("=");if(d<=0)continue;let f=l.slice(0,d).trim(),p=l.slice(d+1).trim();f&&e.set(f,p)}let n=e.get("SESSDATA"),s=e.get("bili_jct"),i=e.get("DedeUserID"),a=e.get("DedeUserID__ckMd5"),o=e.get("sid");if(!n)return null;let c=[`SESSDATA=${n}`];return s&&c.push(`bili_jct=${s}`),i&&c.push(`DedeUserID=${i}`),a&&c.push(`DedeUserID__ckMd5=${a}`),o&&c.push(`sid=${o}`),c.join("; ")}async function _it(t){let e=null;try{let r=await t.json();if(e=r.qrcodeKey||r.qrcode_key,!e)return Be({success:!1,message:"\u7F3A\u5C11qrcodeKey\u53C2\u6570"},400);let n=await fetch(`https://passport.bilibili.com/x/passport-login/web/qrcode/poll?qrcode_key=${e}`,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/"}}),s=await n.json(),i=null;if(s?.data?.code===0&&(i=ihr(n),!i&&s?.data?.url))try{let o=new URL(s.data.url),c=new URLSearchParams(o.search),u=decodeURIComponent(c.get("SESSDATA")||""),l=decodeURIComponent(c.get("bili_jct")||""),d=decodeURIComponent(c.get("DedeUserID")||"");if(u){let f=[`SESSDATA=${u}`];l&&f.push(`bili_jct=${l}`),d&&f.push(`DedeUserID=${d}`),i=f.join("; ")}}catch{}let a={success:!0,data:{code:s?.data?.code,message:s?.data?.message||""}};return i&&(a.data.cookie=i),Be(a)}catch(r){return Be({success:!1,message:r.message},500)}finally{e&&hit.delete(e)}}async function Sit(t){try{let r=((await t.json()).cookie||"").trim();if(!r)return Be({success:!1,message:"\u7F3A\u5C11cookie\u53C2\u6570"},400);if(!r.includes("SESSDATA")||!r.includes("bili_jct"))return Be({success:!1,message:"Cookie\u683C\u5F0F\u4E0D\u6B63\u786E"},400);let n=await Ait(r);if(!n.isValid)return Be({success:!1,message:"Cookie\u9A8C\u8BC1\u5931\u8D25: "+(n.error||"\u65E0\u6548")},400);let s=O.deployPlatform,i=await ya.getHandler(s);return i?await i.setEnv("BILIBILI_COOKIE",r)?Be({success:!0,data:{uname:n.data?.uname},message:"Cookie\u4FDD\u5B58\u6210\u529F"}):Be({success:!1,message:"Cookie\u4FDD\u5B58\u5931\u8D25\uFF1A\u73AF\u5883\u53D8\u91CF\u5199\u5165\u5931\u8D25"},500):Be({success:!1,message:`Cookie\u4FDD\u5B58\u5931\u8D25\uFF1A\u4E0D\u652F\u6301\u7684\u90E8\u7F72\u5E73\u53F0 ${s||"unknown"}`},400)}catch(e){return Be({success:!1,message:e.message},500)}}var gt;async function Cit(t,e,r,n,s){gt=Kh.init(e);let i=new URL(t.url),a=i.pathname,o=t.method,c=a.includes("/search")||a.includes("/match")||a.includes("/danmaku");if(gt.useBangumiData&&await JL(r,c,s),gt.deployPlatform=r,r==="node"){await cK(a,r);let{judgeLocalRedisValid:h}=await Promise.resolve().then(()=>(UT(),JB));await h(a)}if(await Vz(a),!gt.aiValid&&gt.aiBaseUrl&&gt.aiModel&&gt.aiApiKey&&a!=="/favicon.ico"&&a!=="/robots.txt"&&(await new ff({baseURL:gt.aiBaseUrl,model:gt.aiModel,apiKey:gt.aiApiKey,systemPrompt:"\u56DE\u7B54\u5C3D\u91CF\u7B80\u6D01"}).verify()).ok&&(gt.aiValid=!0),_("info",`[system] [Server] request url: ${JSON.stringify(i)}`),_("info",`[system] [Server] request path: ${a}`),_("info",`[system] [Server] client ip: ${n}`),gt.ipBlacklist?.length&&gt.ipBlacklist.some(A=>ahr(A,n)))return _("warn",`[Utils] [IP Blacklist] Blocked request from IP: ${n}`),Be({errorCode:403,success:!1,errorMessage:"Forbidden"},403);let u=a.split("/").filter(Boolean),l=["api","v1","v2","search","match","bangumi","comment","danmaku"],d=u[0]||"",f=gt.token==="87654321",p=d===gt.token||d===gt.adminToken;if(gt.currentToken=p?d:f&&(d==="87654321"||l.includes(d))?d==="87654321"?d:"87654321":"",r==="node"&&gt.localCacheValid&&a!=="/favicon.ico"&&a!=="/robots.txt"&&await oK(),gt.redisValid&&a!=="/favicon.ico"&&a!=="/robots.txt"&&await Gz(),r==="node"&&gt.localRedisValid&&a!=="/favicon.ico"&&a!=="/robots.txt"){let{getLocalRedisCaches:h}=await Promise.resolve().then(()=>(UT(),JB));await h()}if(["/api/v2/search/anime","/api/v2/match","/api/v2/search/episodes","/api/v2/fongmi/danmaku","/danmaku","/api/v2/bangumi","/api/v2/comment","/api/v2/segmentcomment"].some(h=>a.includes(h))){let h=gt.reqRecords.length>0?gt.reqRecords[gt.reqRecords.length-1]:null,A=new Date().toDateString();if(h){let v=new Date(h.timestamp).toDateString();_("info",`[system] [Server] currentDate: ${A}`),_("info",`[system] [Server] lastDate: ${v}`),v!==A?gt.todayReqNum=1:gt.todayReqNum++}else gt.todayReqNum=1;let g=t.url,b=g.indexOf("/api/v2");b!==-1&&(g=g.substring(b));let y=null;if(o==="POST"||o==="PUT"||o==="PATCH")try{let v=t.clone();if((v.headers.get("content-type")||"").includes("application/json"))y=await v.json();else{let R=await v.text();R&&(y=JSON.parse(R))}}catch{y=null}let x={interface:g,params:y,timestamp:new Date().toISOString(),method:o,clientIp:n};gt.reqRecords.push(x),gt.reqRecords.length>gt.MAX_RECORDS&&(gt.reqRecords=gt.reqRecords.slice(-gt.MAX_RECORDS))}if(a==="/"&&o==="GET")return Yie();if(a==="/favicon.ico"||a==="/robots.txt"||o==="OPTIONS")return new Response(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, User-Agent"}});if(gt.token==="87654321"){if(u.length>0){if(u[0]==="87654321"||u[0]===gt.adminToken)a="/"+u.slice(1).join("/");else if(!l.includes(u[0]))return a==="/api/config"&&o==="GET"?y4(!1):(_("error",`[system] [Server] Invalid token in path: ${a}`),Be({errorCode:401,success:!1,errorMessage:"Unauthorized"},401))}}else{if(u.length<1||u[0]!==gt.token&&u[0]!==gt.adminToken)return a==="/api/config"&&o==="GET"?y4(!1):(_("error",`[system] [Server] Invalid or missing token in path: ${a}`),Be({errorCode:401,success:!1,errorMessage:"Unauthorized"},401));a="/"+u.slice(1).join("/")}if(a.endsWith("/danmaku/api/v2/fongmi/danmaku")&&(_("info",`[Path Fix] Collapsed nested danmaku path: "${a}" -> "/danmaku"`),a="/danmaku"),a==="/api/config"&&o==="GET")return y4(!0);if(a==="/api/reqrecords"&&o==="GET")return uit();if(_("info",`[system] [Server] ${a}`),a!=="/"&&a!=="/danmaku"&&a!=="/api/logs"&&!a.startsWith("/api/env")&&!a.startsWith("/api/deploy")&&!a.startsWith("/api/cache")&&!a.startsWith("/api/cookie")&&!a.startsWith("/api/config")&&!a.startsWith("/api/ai")){_("info",`[Path Check] Starting path normalization for: "${a}"`);let h=a;for(a=a.replace(/\/+/g,"/");a.startsWith("/api/v2/api/v2/");)_("info","[Path Check] Found redundant /api/v2 prefix. Cleaning..."),a=a.substring(7);a!==h?_("info",`[Path Check] Path after cleanup: "${a}"`):_("info","[Path Check] Path after cleanup: No cleanup needed.");let A=a;!a.startsWith("/api/v2")&&a!=="/"&&!a.startsWith("/api/logs")&&!a.startsWith("/api/env")&&!a.startsWith("/api/cache")&&!a.startsWith("/api/cookie")&&!a.startsWith("/api/config")&&!a.startsWith("/api/ai")&&(a.startsWith("/v2/")||a==="/v2"?(_("info","[Path Check] Path is missing /api prefix. Adding /api..."),a="/api"+a):a.startsWith("/api/")||a==="/api"?(_("info","[Path Check] Path is missing /v2 prefix. Adding /v2..."),a="/api/v2"+a.substring(4)):(_("info","[Path Check] Path is missing /api/v2 prefix. Adding /api/v2..."),a="/api/v2"+(a.startsWith("/")?a:"/"+a))),a===A&&_("info","[Path Check] Prefix Check: No prefix addition needed."),_("info",`[Path Check] Final normalized path: "${a}"`)}if(a==="/"&&o==="GET")return Yie();if(a==="/api/v2/search/anime"&&o==="GET")return sE(i);if(a==="/api/v2/search/episodes"&&o==="GET")return Pst(i);if(a==="/api/v2/fongmi/danmaku"&&(o==="GET"||o==="POST"))return jie(i,t);if(a==="/danmaku"&&(o==="GET"||o==="POST"))return jie(i,t);if(a==="/api/v2/match"&&o==="POST")return Ost(i,t,n);if(a.startsWith("/api/v2/bangumi/")&&o==="GET")return $ie(a);if((a.startsWith("/api/v2/comment")||a.startsWith("/api/v2/extcomment"))&&o==="GET"){let h=i.searchParams.get("format"),A=i.searchParams.get("url"),g=i.searchParams.get("segmentflag"),b=i.searchParams.get("duration"),y=g==="true"||g==="1",x=b==="true"||b==="1";if(A){if(df(A)!==null)return _("info",`[Utils] [Rate Limit] Cache hit for URL: ${A}, skipping rate limit check`),qie(A,h,y,x);if(gt.rateLimitMaxRequests>0){let w=Date.now(),N=60*1e3;jL(w),gt.requestHistory.has(n)||gt.requestHistory.set(n,[]);let L=gt.requestHistory.get(n).filter(M=>w-M<=N);if(L.length>=gt.rateLimitMaxRequests)return _("warn",`[Utils] [Rate Limit] IP ${n} exceeded rate limit (${L.length}/${gt.rateLimitMaxRequests} requests in 1 minute)`),Be({errorCode:429,success:!1,errorMessage:"Too many requests, please try again later"},429);L.push(w),gt.requestHistory.set(n,L),_("info",`[Utils] [Rate Limit] IP ${n} request count: ${L.length}/${gt.rateLimitMaxRequests}`)}return qie(A,h,y,x)}if(!a.startsWith("/api/v2/comment/"))return _("error","[system] [Server] Missing commentId or url parameter"),Be({errorCode:400,success:!1,errorMessage:"Missing commentId or url parameter"},400);let v=parseInt(a.split("/").pop()),C=BC(v);if(C&&df(C)!==null)return _("info",`[Utils] [Rate Limit] Cache hit for URL: ${C}, skipping rate limit check`),Uie(a,h,y,n,x);if(gt.rateLimitMaxRequests>0){let R=Date.now(),w=60*1e3;jL(R),gt.requestHistory.has(n)||gt.requestHistory.set(n,[]);let P=gt.requestHistory.get(n).filter(L=>R-L<=w);if(P.length>=gt.rateLimitMaxRequests)return _("warn",`[Utils] [Rate Limit] IP ${n} exceeded rate limit (${P.length}/${gt.rateLimitMaxRequests} requests in 1 minute)`),Be({errorCode:429,success:!1,errorMessage:"Too many requests, please try again later"},429);P.push(R),gt.requestHistory.set(n,P),_("info",`[Utils] [Rate Limit] IP ${n} request count: ${P.length}/${gt.rateLimitMaxRequests}`)}return Uie(a,h,y,n,x)}if(a.startsWith("/api/v2/segmentcomment")&&o==="POST")try{let h=i.searchParams.get("format"),A=await t.json(),g;try{g=pb.fromJson(A)}catch{return _("error","[system] [Server] Invalid JSON in request body for segment"),Be({errorCode:400,success:!1,errorMessage:"Invalid JSON in request body"},400)}return Dst(g,h)}catch(h){return _("error",`[system] [Server] Error processing segmentcomment request: ${h.message}`),Be({errorCode:500,success:!1,errorMessage:"Internal server error"},500)}return a==="/api/logs"&&o==="GET"?ait():a==="/api/logs/clear"&&o==="POST"?oit():a==="/api/env/set"&&o==="POST"?dit(t):a==="/api/env/add"&&o==="POST"?fit(t):a==="/api/env/del"&&o==="POST"?pit(t):a==="/api/deploy"&&o==="POST"?iit():a==="/api/cache/animes"&&o==="GET"?lit():a==="/api/cache/clear"&&o==="POST"?cit():a==="/api/cookie/status"&&o==="GET"?xit():a==="/api/cookie/qr/generate"&&o==="POST"?Eit():a==="/api/cookie/qr/check"&&o==="POST"?_it(t):a==="/api/cookie/verify"&&o==="POST"?bit(t):a==="/api/cookie/save"&&o==="POST"?Sit(t):a==="/api/ai/verify"&&o==="POST"?mit(t):Be({message:"Not found"},404)}function ahr(t,e){return!t||!e||e==="unknown"?!1:t.type==="exact"?t.value===e:t.type==="regex"?t.value.test(e):t.type==="cidr"?ohr(e,t.ip,t.prefix):!1}function ohr(t,e,r){if(t.includes(":")||e.includes(":")){let o=vit(t),c=vit(e);if(!o||!c||r<0||r>128)return!1;let u=Math.floor(r/8),l=r%8;for(let d=0;d<u;d++)if(o[d]!==c[d])return!1;if(l>0){let d=255<<8-l&255;return(o[u]&d)===(c[u]&d)}return!0}let s=Jie(t),i=Jie(e);if(s===null||i===null||r<0||r>32)return!1;let a=r===0?0:4294967295<<32-r>>>0;return(s&a)===(i&a)}function Jie(t){let e=t.split(".");if(e.length!==4)return null;let r=e.map(n=>Number(n));return r.some(n=>Number.isNaN(n)||n<0||n>255)?null:(r[0]<<24>>>0)+(r[1]<<16)+(r[2]<<8)+r[3]}function vit(t){if(!t||typeof t!="string"||!t.includes(":"))return null;let r=t.trim().split("::");if(r.length>2)return null;let n=r[0]?r[0].split(":").filter(Boolean):[],s=r[1]?r[1].split(":").filter(Boolean):[],i=c=>{if(c.length===0)return c;let u=c[c.length-1];if(!u.includes("."))return c;let l=Jie(u);if(l===null)return null;let d=(l>>>16&65535).toString(16),f=(l&65535).toString(16);return[...c.slice(0,-1),d,f]};if(n=i(n),s=i(s),!n||!s)return null;if(r.length===1){if(n.length!==8)return null}else{let c=n.length+s.length;if(c>8)return null;let u=8-c;s=new Array(u).fill("0").concat(s)}let a=n.concat(s);if(a.length!==8)return null;let o=[];for(let c of a){if(!/^[0-9a-fA-F]{1,4}$/.test(c))return null;let u=parseInt(c,16);o.push(u>>8&255,u&255)}return o}var wu=null,oE=9321,x4=0,Ug=null,Iit=!1,aE={...process.env,ADMIN_TOKEN:"douer"},b4=!1,gw=null,Rc=null,Tn={overrides:{},deletedKeys:[]};function Ei(...t){}function Aw(...t){}function Nit(){return x4>0}function chr(){try{let byEval=eval("1 + 1")===2,byFunction=Function("return 2 + 2")()===4;return byEval&&byFunction}catch{return!1}}function Zie(){return{overrides:{},deletedKeys:[]}}function Oit(){let t=String(process.env.DANMU_ENV_STORE_FILE||"").trim();if(t)return t;let e=String(process.env.NODE_PATH||"").trim()||process.cwd();return sae.default.resolve(e,"danmu_env_overrides.json")}function uhr(t){let e=Zie();if(!t||typeof t!="object")return e;let r=Array.isArray(t.deletedKeys)?t.deletedKeys.map(s=>String(s||"").trim()).filter(s=>s):[];e.deletedKeys=Array.from(new Set(r));let n=new Set(e.deletedKeys);return t.overrides&&typeof t.overrides=="object"&&!Array.isArray(t.overrides)&&Object.entries(t.overrides).forEach(([s,i])=>{let a=String(s||"").trim();!a||n.has(a)||(e.overrides[a]=i==null?"":String(i))}),e}function lhr(){Rc=Oit();try{if(!yw.default.existsSync(Rc)){Tn=Zie(),Ei("loadPersistedEnvStore()",{loaded:!1,reason:"store file not found",path:Rc});return}let t=yw.default.readFileSync(Rc,"utf8"),e=t?JSON.parse(t):{};Tn=uhr(e),Ei("loadPersistedEnvStore()",{loaded:!0,path:Rc,overrides:Object.keys(Tn.overrides).length,deleted:Tn.deletedKeys.length})}catch(t){Tn=Zie(),Aw("loadPersistedEnvStore() failed",{message:t?.message||String(t),stack:t?.stack||"",path:Rc})}}function dhr(){try{Rc||(Rc=Oit());let t=sae.default.dirname(Rc);yw.default.mkdirSync(t,{recursive:!0});let e={version:1,updatedAt:new Date().toISOString(),overrides:Tn.overrides,deletedKeys:Tn.deletedKeys};return yw.default.writeFileSync(Rc,JSON.stringify(e,null,2),"utf8"),!0}catch(t){return Aw("savePersistedEnvStore() failed",{message:t?.message||String(t),stack:t?.stack||"",path:Rc||""}),!1}}function eae(){let t={...process.env};return Object.entries(Tn.overrides).forEach(([e,r])=>{t[e]=r}),Tn.deletedKeys.forEach(e=>{delete t[e]}),fhr(t)}function fhr(t){let e=t||{},r=String(e.TOKEN||"").trim();e.TOKEN=r||"87654321";let n=String(e.SOURCE_ORDER||"").trim();e.SOURCE_ORDER=n||"tencent,youku,iqiyi,imgo,bilibili,dandan,renren,hanjutv";let s=String(e.STRICT_TITLE_MATCH||"").trim();e.STRICT_TITLE_MATCH=s||"true";let i=String(e.RATE_LIMIT_MAX_REQUESTS||"").trim();e.RATE_LIMIT_MAX_REQUESTS=i||"0";let a=String(e.ADMIN_TOKEN||"").trim();return e.ADMIN_TOKEN=a||"douer",e}function phr(t){return t==null?null:Array.isArray(t)?t.map(e=>String(e)).join(","):typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):null}function mhr(t,e){if(!t||typeof t!="object"||!t.originalEnvVars||typeof t.originalEnvVars!="object")return t;let r=t.originalEnvVars,n=t.envs&&typeof t.envs=="object"?t.envs:{};return Object.keys(r).forEach(s=>{let i=r[s];if(!(i==null||String(i).trim()===""))return;if(s==="TOKEN"){r[s]=String(e.TOKEN||"87654321");return}if(s==="ADMIN_TOKEN"){r[s]=String(e.ADMIN_TOKEN||"");return}let o=e[s];if(o!=null&&String(o).trim()!==""){r[s]=String(o);return}if(!Object.prototype.hasOwnProperty.call(n,s))return;let c=n[s];if(typeof c=="string"&&/^\*+$/.test(c))return;let u=phr(c);u!==null&&u!==""&&(r[s]=u)}),t}function Xie(t,e,r=!1){let n=String(t||"").trim();if(!n)return!1;let s=Object.prototype.hasOwnProperty.call(process.env,n),i=process.env[n],a=Object.prototype.hasOwnProperty.call(Tn.overrides,n),o=Tn.overrides[n],c=Tn.deletedKeys.includes(n);if(r)delete process.env[n],delete Tn.overrides[n],Tn.deletedKeys.includes(n)||Tn.deletedKeys.push(n);else{let u=e==null?"":String(e);process.env[n]=u,Tn.overrides[n]=u,Tn.deletedKeys=Tn.deletedKeys.filter(l=>l!==n)}return dhr()?(aE=eae(),!0):(a?Tn.overrides[n]=o:delete Tn.overrides[n],c&&!Tn.deletedKeys.includes(n)&&Tn.deletedKeys.push(n),c||(Tn.deletedKeys=Tn.deletedKeys.filter(u=>u!==n)),s?process.env[n]=i:delete process.env[n],aE=eae(),!1)}var hhr={async setEnv(t,e){return Xie(t,e,!1)?(Ei("memoryNodeEnvHandler.setEnv()",{key:String(t||"")}),!0):!1},async addEnv(t,e){return Xie(t,e,!1)?(Ei("memoryNodeEnvHandler.addEnv()",{key:String(t||"")}),!0):!1},async delEnv(t){return Xie(t,"",!0)?(Ei("memoryNodeEnvHandler.delEnv()",{key:String(t||"")}),!0):!1}};function ghr(){b4||(gw=ya.getHandler,ya.getHandler=async function(e){let r=String(e||"").toLowerCase();return!r||r==="node"?hhr:gw.call(ya,e)},b4=!0,Ei("installNodeEnvHotReloadPatch()",{patched:!0}))}function Ahr(){!b4||!gw||(ya.getHandler=gw,gw=null,b4=!1,Ei("uninstallNodeEnvHotReloadPatch()",{patched:!1}))}function yhr(t){return t==null?Buffer.alloc(0):Buffer.isBuffer(t)?t:t instanceof ArrayBuffer?Buffer.from(t):ArrayBuffer.isView(t)?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(String(t),"utf8")}async function xhr(t){if(!t||typeof t.getReader!="function")return Buffer.from(String(t??""),"utf8");let e=t.getReader(),r=[];try{for(;;){let{done:n,value:s}=await e.read();if(n)break;if(s!=null){if(Buffer.isBuffer(s)){r.push(s);continue}if(s instanceof Uint8Array){r.push(Buffer.from(s));continue}if(s instanceof ArrayBuffer){r.push(Buffer.from(s));continue}if(ArrayBuffer.isView(s)){r.push(Buffer.from(s.buffer,s.byteOffset,s.byteLength));continue}r.push(Buffer.from(String(s),"utf8"))}}}finally{typeof e.releaseLock=="function"&&e.releaseLock()}return r.length?Buffer.concat(r):Buffer.alloc(0)}async function bhr(t){if(t==null)return Buffer.alloc(0);if(Buffer.isBuffer(t))return t;if(t instanceof ArrayBuffer)return Buffer.from(t);if(ArrayBuffer.isView(t))return Buffer.from(t.buffer,t.byteOffset,t.byteLength);if(typeof t=="string")return Buffer.from(t,"utf8");if(typeof Blob=="function"&&t instanceof Blob){let e=await t.arrayBuffer();return Buffer.from(e)}return typeof t.getReader=="function"?xhr(t):Buffer.from(String(t),"utf8")}var xw=class{constructor(e=void 0){if(this._map=new Map,!!e){if(typeof e.forEach=="function"){e.forEach((r,n)=>this.set(n,r));return}if(Array.isArray(e)){e.forEach(([r,n])=>this.set(r,n));return}typeof e=="object"&&Object.entries(e).forEach(([r,n])=>this.set(r,n))}}set(e,r){this._map.set(String(e).toLowerCase(),String(r))}get(e){let r=this._map.get(String(e).toLowerCase());return r===void 0?null:r}has(e){return this._map.has(String(e).toLowerCase())}delete(e){this._map.delete(String(e).toLowerCase())}forEach(e,r=void 0){for(let[n,s]of this._map.entries())e.call(r,s,n,this)}entries(){return this._map.entries()}[Symbol.iterator](){return this._map[Symbol.iterator]()}},tae=class t{constructor(e,r={}){this.url=String(e||""),this.method=String(r.method||"GET").toUpperCase();let n=globalThis.Headers||xw;this.headers=r.headers instanceof n?r.headers:new n(r.headers||{}),this._bodyBuffer=yhr(r.body)}clone(){return new t(this.url,{method:this.method,headers:Object.fromEntries(this.headers.entries()),body:this._bodyBuffer})}async text(){return this._bodyBuffer.toString("utf8")}async json(){let e=await this.text();return e?JSON.parse(e):null}async arrayBuffer(){return this._bodyBuffer.buffer.slice(this._bodyBuffer.byteOffset,this._bodyBuffer.byteOffset+this._bodyBuffer.byteLength)}},rae=class{constructor(e=null,r={}){let n=globalThis.Headers||xw;this.status=Number(r.status||200),this.statusText=String(r.statusText||""),this.headers=r.headers instanceof n?r.headers:new n(r.headers||{}),this.ok=this.status>=200&&this.status<300,this.body=e,this.bodyUsed=!1,this._bodyBuffer=null,this._bodyBufferPromise=null}async _ensureBodyBuffer(){return this._bodyBuffer?this._bodyBuffer:(this._bodyBufferPromise||(this._bodyBufferPromise=bhr(this.body).then(e=>(this._bodyBuffer=e,this.bodyUsed=!0,e))),this._bodyBufferPromise)}async text(){return(await this._ensureBodyBuffer()).toString("utf8")}async json(){let e=await this.text();return e?JSON.parse(e):null}async arrayBuffer(){let e=await this._ensureBodyBuffer();return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}};function Ehr(){Iit||(typeof globalThis.Headers!="function"&&(globalThis.Headers=xw),typeof globalThis.Response!="function"&&(globalThis.Response=rae),typeof globalThis.Request!="function"&&(globalThis.Request=tae),Iit=!0,Ei("installWebApiPolyfills()",{hasFetch:typeof globalThis.fetch=="function",hasRequest:typeof globalThis.Request=="function",hasHeaders:typeof globalThis.Headers=="function",hasResponse:typeof globalThis.Response=="function"}))}async function Tit(t,e={}){let r=await Ae({url:t,method:e.method||"GET",headers:e.headers||{},data:e.body,signal:e.signal,responseType:"arraybuffer",validateStatus:()=>!0,timeout:1e4}),n=Buffer.from(r.data),s={};return Object.entries(r.headers||{}).forEach(([i,a])=>{s[i]=String(a)}),{ok:r.status>=200&&r.status<300,status:r.status,statusText:r.statusText||"",headers:new Headers(s),url:String(t),async text(){return n.toString("utf8")},async json(){return JSON.parse(n.toString("utf8"))},async arrayBuffer(){return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)}}}function _hr(){Ei("installPatches()",{hasFetch:typeof globalThis.fetch=="function"}),Ug=globalThis.fetch,globalThis.fetch=function(e,r){return x4>0?Tit(e,r):typeof Ug=="function"?Ug(e,r):Tit(e,r)}}function nae(){if(Ei("uninstallPatches()",{hasOriginalFetch:!!Ug}),typeof Ug=="function")globalThis.fetch=Ug;else try{delete globalThis.fetch}catch{globalThis.fetch=void 0}Ug=null}function Pit(t=9321){if(oE=t,Ehr(),ghr(),lhr(),aE=eae(),Ei("loadDanmuEnv()",{source:"process.env + persisted store",adminTokenFallback:aE.ADMIN_TOKEN==="douer",persistedEnvStorePath:Rc,persistedOverrides:Object.keys(Tn.overrides).length,persistedDeletedKeys:Tn.deletedKeys.length}),Ei("start()",{port:t,alreadyRunning:!!wu,node:process.version,platform:`${process.platform}/${process.arch}`,v8:process.versions?.v8,dynamicCode:chr()}),!wu){_hr();try{wu=Rit.default.createServer(async(e,r)=>{x4++;let n=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,s=Date.now();Ei(`[${n}] inbound`,{method:e.method,url:e.url,host:e.headers.host,remote:e.socket?.remoteAddress||"unknown"});try{let i=`http://${e.headers.host||`127.0.0.1:${t}`}${e.url}`,a=(()=>{try{return new URL(i).pathname||""}catch{return String(e.url||"")}})(),o=e.method==="GET"&&a.endsWith("/api/config"),c;(e.method==="POST"||e.method==="PUT")&&(c=await new Promise(p=>{let m="";e.on("data",h=>m+=h),e.on("end",()=>p(m))}));let u=new Request(i,{method:e.method,headers:Object.fromEntries(Object.entries(e.headers).map(([p,m])=>[p,String(m)])),body:c||void 0}),l={...aE},d=await Cit(u,l,"node",e.socket?.remoteAddress||"unknown");Ei(`[${n}] worker done`,{status:d.status}),r.statusCode=d.status,d.headers.forEach((p,m)=>{let h=m.toLowerCase();h!=="content-encoding"&&h!=="content-length"&&r.setHeader(m,p)});let f;if(o){let p=await d.text();try{let m=JSON.parse(p),h=mhr(m,l);f=Buffer.from(JSON.stringify(h),"utf8")}catch{f=Buffer.from(p||"","utf8")}}else f=Buffer.from(await d.arrayBuffer());r.setHeader("Content-Length",f.length),r.end(f)}catch(i){Aw(`[${n}] request failed`,{message:i?.message||String(i),stack:i?.stack||""}),r.statusCode=500,r.end("Internal Server Error")}finally{Ei(`[${n}] complete`,{costMs:Date.now()-s}),x4--}}),wu.listen(t,"0.0.0.0",()=>{let e=wu?.address?.();Ei("listen ok",{address:e})}),wu.on("error",e=>{Aw("server error",{message:e?.message||String(e),code:e?.code}),console.warn(`[danmu] \u5185\u7F6E\u5F39\u5E55\u670D\u52A1\u542F\u52A8\u5931\u8D25: ${e.message}`),nae(),wu=null})}catch(e){Aw("start() failed",{message:e?.message||String(e),stack:e?.stack||""}),console.warn(`[danmu] \u5185\u7F6E\u5F39\u5E55\u670D\u52A1\u542F\u52A8\u5931\u8D25: ${e.message}`),nae()}}}function Dit(){Ei("stop()",{hasServer:!!wu,port:oE}),wu&&(wu.close(),wu=null),Ahr(),nae()}function zcn(){return oE}function wit(t){let e=String(t||"").trim().toLowerCase();return e==="localhost"||e==="127.0.0.1"||e==="0.0.0.0"||e==="::1"}function Shr(t){let e=String(t||"").trim();if(!e)return"";try{return new URL(e).hostname||""}catch{try{return new URL(`http://${e}`).hostname||""}catch{return e.replace(/^\w+:\/\//,"").split("/")[0].split(":")[0].trim()}}}function vhr(t){let e=Shr(t);if(e&&!wit(e))return e;let r=String(D0()||"").trim();return r&&!wit(r)?r:"127.0.0.1"}function Chr(t){let e=Number.parseInt(String(t??""),10);return Number.isFinite(e)&&e>0?e:oE}function iae(t,e=oE){let r=vhr(t),n=Chr(e);return`http://${r}:${n}`}function aae(t,e=oE){let r=iae(t,e),n=String(Ihr()||"").trim();return n?`${r}/${encodeURIComponent(n)}`:r}function Ihr(){return String(aE?.ADMIN_TOKEN||"").trim()||"douer"}function whr(t){return bw.default.enc.Utf8.stringify(bw.default.enc.Base64.parse(t))}function kit(t){return bw.default.enc.Base64.stringify(bw.default.enc.Utf8.parse(t))}function Wit(t){return String(t||"").split(",")[0].trim()}function Lit(t){return Wit(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function Bit(t){let e=String(t||"").trim().toLowerCase().split(":")[0];return e==="localhost"||e==="127.0.0.1"||e==="0.0.0.0"||e==="::1"}function E4(t){let e=String(t?.server?.address?.()?.url||"").trim(),n=Lit(t?.headers?.["x-forwarded-host"])||Lit(t?.headers?.host),s=Wit(t?.headers?.["x-forwarded-proto"]),i=e.startsWith("https://")?"https":"http",a=s||String(t?.protocol||"").trim()||i;if(n&&!Bit(n))return`${a}://${n}`;let o=String(D0()||"").trim(),c=Number.parseInt(String(t?.server?.address?.()?.port||""),10);return o&&!Bit(o)?Number.isFinite(c)&&c>0?`${a}://${o}:${c}`:`${a}://${o}`:e}async function Rhr(t,e){return{}}async function Nhr(t,e){return{class:[{type_id:"setting",type_name:`${E4(t)}/website`}]}}async function Ohr(t,e){let r=E4(t),n=r+t.server.prefix+"/proxy",s=aae(r);return{page:1,pagecount:1,limit:1,total:1,list:[{vod_id:"openInternalWebsite",vod_name:"\u901A\u7528\u914D\u7F6E",vod_pic:n+"/"+kit(`${r}/website`)},{vod_id:"builtinDanmuApiQr",vod_name:"\u5F39\u5E55\u670D\u52A1",vod_pic:n+"/"+kit(s)}]}}async function Phr(t,e){if(t.body.id==="openInternalWebsite"){let r=E4(t);return await t.server.messageToDart({action:"openInternalWebview",opt:{url:`${r}/website`}}),{list:[{vod_name:"",vod_content:""}]}}if(t.body.id==="builtinDanmuApiQr"){let r=E4(t);return await t.server.messageToDart({action:"openInternalWebview",opt:{url:aae(r)}}),{list:[{vod_name:"",vod_content:""}]}}return{list:[{vod_name:"",vod_content:""}]}}async function Dhr(t,e){let r=t.params.img,n=whr(r),s=await Mit.default.toBuffer(n,{width:120,height:120,margin:15});e.send(s)}var $it={meta:{key:"baseset",name:"\u300C\u8BBE\u300D\u914D\u7F6E",type:3},api:async t=>{t.post("/init",Rhr),t.post("/home",Nhr),t.post("/category",Ohr),t.post("/detail",Phr),t.get("/proxy/:img",Dhr)}};var khr=["https://666.666291.xyz","https://www.muou.asia","https://www.muou.site"],oae=async t=>(await t.db.getObjectDefault("/muou",{}))?.urls||t.config.muou?.urls||khr,Lhr=async(t,e)=>{await t.db.push("/muou/urls",e)},Bhr=async t=>{await t.db.delete("/muou/urls")};async function cae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await oae(e.server)})}),t.put("/urls",async(e,r)=>{await Lhr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Bhr(e.server),r.send({code:0})})}var uae,_4=t=>{if(!uae){let e=Date.now();uae=new Promise(async r=>{let n=await oae(t),s=await Xn(n);console.log("\u6728\u5076\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return uae};async function lae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Mhr(t,e){let r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EAA\u5F55"},{type_id:"29",type_name:"\u7EFC\u827A"},{type_id:"25",type_name:"115"}],n={};return n[1]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u8B66\u532A",v:"\u8B66\u532A"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u52A8\u753B",v:"\u52A8\u753B"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u67AA\u6218",v:"\u67AA\u6218"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u60CA\u609A",v:"\u60CA\u609A"},{n:"\u7ECF\u5178",v:"\u7ECF\u5178"},{n:"\u9752\u6625",v:"\u9752\u6625"},{n:"\u6587\u827A",v:"\u6587\u827A"},{n:"\u5FAE\u7535\u5F71",v:"\u5FAE\u7535\u5F71"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u5386\u53F2",v:"\u5386\u53F2"},{n:"\u8FD0\u52A8",v:"\u8FD0\u52A8"},{n:"\u519C\u6751",v:"\u519C\u6751"},{n:"\u513F\u7AE5",v:"\u513F\u7AE5"},{n:"\u7F51\u7EDC\u7535\u5F71",v:"\u7F51\u7EDC\u7535\u5F71"}]},{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u5FB7\u56FD",v:"\u5FB7\u56FD"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u5370\u5EA6",v:"\u5370\u5EA6"},{n:"\u610F\u5927\u5229",v:"\u610F\u5927\u5229"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u52A0\u62FF\u5927",v:"\u52A0\u62FF\u5927"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[2]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u9752\u6625\u5076\u50CF",v:"\u9752\u6625\u5076\u50CF"},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u5BB6\u5EAD",v:"\u5BB6\u5EAD"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u5386\u53F2",v:"\u5386\u53F2"},{n:"\u7ECF\u5178",v:"\u7ECF\u5178"},{n:"\u4E61\u6751",v:"\u4E61\u6751"},{n:"\u60C5\u666F",v:"\u60C5\u666F"},{n:"\u5546\u6218",v:"\u5546\u6218"},{n:"\u7F51\u5267",v:"\u7F51\u5267"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u5185\u5730",v:"\u5185\u5730"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65B0\u52A0\u5761",v:"\u65B0\u52A0\u5761"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[3]=[{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[4]=[{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[29]=[{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[25]=[{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],{class:r,filters:n}}async function Whr(t,e){let r=await _4(t.server),n=t.body.id,s=t.body.page,i=t.body.filters||{},a=s||1;a==0&&(a=1);let o=r+"/index.php/vod/show";i.area&&(o+=`/area/${i.area}`),i.by&&(o+=`/by/${i.by}`),i.class&&(o+=`/class/${i.class}`),o+=`/id/${n}/page/${a}`,i.year&&(o+=`/year/${i.year}`),o+=".html";let c=await lae(o,Gr),u=Me(c),l=u("#main .module-item"),d=[];for(var f of l){let h=u(f).find(".module-item-pic a").attr("href"),A=u(f).find(".module-item-pic img").attr("alt"),g=u(f).find(".module-item-pic img").attr("data-src"),b=u(f).find(".module-item-text").text();d.push({vod_id:h,vod_name:A,vod_pic:g,vod_remarks:b})}let m=u("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(a)+1:parseInt(a);return{page:parseInt(a),pagecount:m,limit:72,total:72*m,list:d}}async function $hr(t,e){let r=await _4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await lae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function Fhr(t,e){let r=await _4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await lae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Fit={meta:{key:"muou",name:"\u300C\u76D8\u300D\u6728\u5076",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Mhr),t.post("/category",Whr),t.post("/detail",$hr),t.post("/play",Or),t.post("/search",Fhr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:_4};var Uhr=["http://xiaocge.fun","http://xiaocgege.shop"],dae=async t=>(await t.db.getObjectDefault("/labi",{}))?.urls||t.config.labi?.urls||Uhr,qhr=async(t,e)=>{await t.db.push("/labi/urls",e)},jhr=async t=>{await t.db.delete("/labi/urls")};async function fae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await dae(e.server)})}),t.put("/urls",async(e,r)=>{await qhr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await jhr(e.server),r.send({code:0})})}var pae,S4=t=>{if(!pae){let e=Date.now();pae=new Promise(async r=>{let n=await dae(t),s=await Xn(n);console.log("\u8721\u7B14\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return pae};async function mae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Hhr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"24",type_name:"4K"},{type_id:"29",type_name:"\u81FB\u5F69"},{type_id:"5",type_name:"\u77ED\u5267"}],filters:{}}}async function Qhr(t,e){let r=await S4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await mae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Ghr(t,e){let r=await S4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await mae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function Vhr(t,e){let r=await S4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await mae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Uit={meta:{key:"labi",name:"\u300C\u76D8\u300D\u8721\u7B14",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Hhr),t.post("/category",Qhr),t.post("/detail",Ghr),t.post("/play",Or),t.post("/search",Vhr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:S4};var zhr=["http://shandian.blog","http://sd.sduc.site"],hae=async t=>(await t.db.getObjectDefault("/shandian",{}))?.urls||t.config.shandian?.urls||zhr,Khr=async(t,e)=>{await t.db.push("/shandian/urls",e)},Yhr=async t=>{await t.db.delete("/shandian/urls")};async function gae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await hae(e.server)})}),t.put("/urls",async(e,r)=>{await Khr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Yhr(e.server),r.send({code:0})})}var Aae,v4=t=>{if(!Aae){let e=Date.now();Aae=new Promise(async r=>{let n=await hae(t),s=await Xn(n);console.log("\u95EA\u7535\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return Aae};async function yae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Jhr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u7EFC\u827A"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"30",type_name:"\u77ED\u5267"}],filters:{}}}async function Xhr(t,e){let r=await v4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await yae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Zhr(t,e){let r=await v4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await yae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function egr(t,e){let r=await v4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await yae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var qit={meta:{key:"shandian",name:"\u300C\u76D8\u300D\u95EA\u7535",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Jhr),t.post("/category",Xhr),t.post("/detail",Zhr),t.post("/play",Or),t.post("/search",egr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:v4};var tgr=["https://woog.nxog.eu.org"],xae=async t=>(await t.db.getObjectDefault("/ouge",{}))?.urls||t.config.ouge?.urls||tgr,rgr=async(t,e)=>{await t.db.push("/ouge/urls",e)},ngr=async t=>{await t.db.delete("/ouge/urls")};async function bae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await xae(e.server)})}),t.put("/urls",async(e,r)=>{await rgr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await ngr(e.server),r.send({code:0})})}var Eae,C4=t=>{if(!Eae){let e=Date.now();Eae=new Promise(async r=>{let n=await xae(t),s=await Xn(n);console.log("\u6B27\u54E5\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return Eae};async function _ae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function sgr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"5",type_name:"\u77ED\u5267"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"21",type_name:"\u7EFC\u5408"}],filters:{}}}async function igr(t,e){let r=await C4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await _ae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function agr(t,e){let r=await C4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await _ae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function ogr(t,e){let r=await C4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await _ae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var jit={meta:{key:"ouge",name:"\u300C\u76D8\u300D\u6B27\u6B4C",type:3},api:async t=>{t.post("/init",qr),t.post("/home",sgr),t.post("/category",igr),t.post("/detail",agr),t.post("/play",Or),t.post("/search",ogr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:C4};var cgr=["https://www.wexwp.cc","https://www.erxiaozhan.top","https://www.2xiaopan.top","https://www.2xiaozhan.top"],Sae=async t=>(await t.db.getObjectDefault("/erxiao",{}))?.urls||t.config.erxiao?.urls||cgr,ugr=async(t,e)=>{await t.db.push("/erxiao/urls",e)},lgr=async t=>{await t.db.delete("/erxiao/urls")};async function vae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await Sae(e.server)})}),t.put("/urls",async(e,r)=>{await ugr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await lgr(e.server),r.send({code:0})})}var Cae,I4=t=>{if(!Cae){let e=Date.now();Cae=new Promise(async r=>{let n=await Sae(t),s=await Xn(n);console.log("\u4E8C\u5C0F\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return Cae};async function Iae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function dgr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"22",type_name:"\u771F\u5F69"},{type_id:"21",type_name:"\u7EFC\u827A"}],filters:{}}}async function fgr(t,e){let r=await I4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await Iae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function pgr(t,e){let r=await I4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await Iae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function mgr(t,e){let r=await I4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await Iae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Hit={meta:{key:"erxiao",name:"\u300C\u76D8\u300D\u4E8C\u5C0F",type:3},api:async t=>{t.post("/init",qr),t.post("/home",dgr),t.post("/category",fgr),t.post("/detail",pgr),t.post("/play",Or),t.post("/search",mgr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:I4};var hgr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",ggr="https://img.icons8.com/color/48/video.png",Agr="https://img.icons8.com/color/48/file.png",ygr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],xgr=[".srt",".ass",".scc",".stl",".ttml"];async function bgr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function Qit(t){return t?.dir===!0||t?.dir===1||t?.type==="dir"||t?.type==="folder"}function Git(t){let e=String(t?.file_name||"").toLowerCase();return t?.obj_category==="video"||ygr.some(r=>e.endsWith(r))}function Egr(t){let e=String(t?.file_name||"").toLowerCase();return xgr.some(r=>e.endsWith(r))}function _gr(t,e){return`folder@@@${t}@@@${e}`}function Sgr(t){let e=["own","",t.fid,"",t.subtitle?t.subtitle.fid:"",t.subtitle&&t.subtitle.share_fid_token||""];return`file@@@${t.file_name}@@@${e.join("*")}`}async function vgr(t,e,r=1){let n=[],s=[],i=await mLe(t,e||"0",r);i.forEach(o=>{let c=Qit(o),u=o.file===!0||o.file===1||o.type==="file";if(!c){if(u&&Git(o)){if(Number(o.size||0)<1024*1024*5)return;n.push(o);return}u&&Egr(o)&&s.push(o)}}),s.length>0&&n.forEach(o=>{let c=ml({name:o.file_name},s.map(u=>({...u,name:u.file_name})));c.bestMatch&&(o.subtitle=c.bestMatch.target)});let a=[];return i.forEach(o=>{let c=Qit(o);if(!c&&!Git(o))return;let u=String(o.file_name||"\u672A\u77E5").trim()||"\u672A\u77E5",l=Agr;c?l=hgr:l=ggr,a.push({vod_id:c?_gr(u,o.fid):Sgr(o),vod_name:u,vod_pic:l,vod_remarks:c?"\u76EE\u5F55":ji(Number(o.size||0)),...c?{cate:{id:o.fid,name:u}}:{},ratio:1.33})}),{rawCount:i.length,list:a}}async function Cgr(t,e){return await kv(t),{}}async function Igr(t,e){return{class:[{type_id:"0",type_name:"\u6211\u7684\u5938\u514B\u7F51\u76D8"}]}}async function Tgr(t,e){let r=String(t.body.id||"0");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"0");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,list:i}=await vgr(t,r==="0"?"0":r,n);return{page:n,pagecount:s>=200?n+1:n,limit:200,total:9999,list:i}}async function wgr(t,e){let r=String(t.body.id||""),n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await bgr("quark","\u5938\u514B");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function Rgr(t,e){return await vk(t,e)}async function Ngr(t,e){return{page:1,pagecount:1,list:[]}}async function Ogr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Vit={meta:{key:"myquark",name:"\u300C\u76D8\u300D\u5938\u514B",type:3},api:async t=>{t.post("/init",Cgr),t.post("/home",Igr),t.post("/category",Tgr),t.post("/detail",wgr),t.post("/play",Rgr),t.post("/search",Ngr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Sk),t.get("/test",Ogr)}};var Pgr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",Dgr="https://img.icons8.com/color/48/video.png",kgr="https://img.icons8.com/color/48/file.png",Lgr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],Bgr=[".srt",".ass",".scc",".stl",".ttml"];async function Mgr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function Wgr(t){return t?.type==="folder"}function zit(t){let e=`.${String(t?.file_extension||"").toLowerCase()}`;return t?.category==="video"||Lgr.includes(e)}function $gr(t,e){return`folder@@@${t}@@@${e}`}function Fgr(t){return`file@@@${t.name}@@@own*${t.file_id}*${t.subtitle?t.subtitle.file_id:""}`}async function Ugr(t,e){let r=[],n=[],s=[],i="";do{let o=await eLe(t,e||"root",i);s.push(...Array.isArray(o.items)?o.items:[]),i=String(o.next_marker||"")}while(i);s.forEach(o=>{if(o.type==="file"&&zit(o)){if(Number(o.size||0)<1024*1024*5)return;r.push(o);return}let c=String(o.file_extension||"").toLowerCase();o.type==="file"&&Bgr.some(u=>c.endsWith(u))&&n.push(o)}),n.length>0&&r.forEach(o=>{let c=ml(o,n);c.bestMatch&&(o.subtitle=c.bestMatch.target)});let a=[];return s.forEach(o=>{let c=Wgr(o);if(!c&&!zit(o))return;let u=String(o.name||"\u672A\u77E5").trim()||"\u672A\u77E5",l=kgr;c?l=Pgr:l=Dgr,a.push({vod_id:c?$gr(u,o.file_id):Fgr(o),vod_name:u,vod_pic:l,vod_remarks:c?"\u76EE\u5F55":ji(Number(o.size||0)),...c?{cate:{id:o.file_id,name:u}}:{},ratio:1.33})}),a}async function qgr(t,e){return await Dv(t),{}}async function jgr(t,e){return{class:[{type_id:"root",type_name:"\u6211\u7684\u963F\u91CC\u7F51\u76D8"}]}}async function Hgr(t,e){let r=String(t.body.id||"root");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"root");let n=Number.parseInt(t.body.page,10)||1,s=await Ugr(t,r||"root");return{page:n,pagecount:1,limit:s.length,total:s.length,list:s}}async function Qgr(t,e){let r=String(t.body.id||""),n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await Mgr("ali","\u963F\u91CC");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function Ggr(t,e){return await xk(t,e)}async function Vgr(t,e){return{page:1,pagecount:1,list:[]}}async function zgr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Kit={meta:{key:"myali",name:"\u300C\u76D8\u300D\u963F\u91CC",type:3},api:async t=>{t.post("/init",qgr),t.post("/home",jgr),t.post("/category",Hgr),t.post("/detail",Qgr),t.post("/play",Ggr),t.post("/search",Vgr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",yk),t.get("/test",zgr)}};var Jit="https://img.icons8.com/fluency/96/folder-invoices--v1.png",Kgr="https://img.icons8.com/color/48/video.png",Ygr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],T4=100,Jgr=5,Xgr="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36";async function Yit(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function Zgr(t){if(Number(t?.mediaType)===3)return!0;let e=String(t?.name||t?.fileName||"").toLowerCase();return Ygr.some(r=>e.endsWith(r))}function Tae(t){return String(t?.name||t?.fileName||"\u672A\u77E5").trim()||"\u672A\u77E5"}function wae(t){return String(t?.id||t?.fileId||t?.folderId||t?.fileID||t?.fId||"")}function eAr(t){return Number(t?.size||t?.fileSize||0)}function tAr(t,e){return`folder@@@${t}@@@${e}`}function rAr(t){return`file@@@${Tae(t)}@@@own*${wae(t)}`}function nAr(t){return String(t?.vod_id||"").startsWith("file@@@")}function sAr(t){let e=String(t?.vod_id||"").split("@@@"),r=e[1]||t?.vod_name||"\u89C6\u9891\u64AD\u653E",n=e[2]||"";return n?`${r}$${n}`:""}function Rae(t,e=4,r=4){let n=String(t||"").trim();return n?n.length<=e+r+1?n:`${n.slice(0,e)}...${n.slice(-r)}`:""}function iAr(t){return Rae(t,36,10)}async function Xit(t,e="-11",r=1){await rb(t);let n=await rf.listOwnFiles(e,r,T4),s=[];return(n.folderList||[]).forEach(i=>{let a=wae(i);if(!a)return;let o=Tae(i);s.push({vod_id:tAr(o,a),vod_name:o,vod_pic:Jit,vod_remarks:"\u76EE\u5F55",cate:{id:a,name:o},ratio:1.33})}),(n.fileList||[]).forEach(i=>{if(!wae(i)||!Zgr(i))return;let a=Tae(i);s.push({vod_id:rAr(i),vod_name:a,vod_pic:Kgr,vod_remarks:ji(eAr(i)),ratio:1.33})}),{rawCount:Number(n.count||0),list:s}}async function aAr(t,e){return await rb(t),{}}async function oAr(t,e){return{class:[{type_id:"-11",type_name:"\u6211\u7684\u5929\u7FFC\u4E91\u76D8"}]}}async function cAr(t,e){let r=String(t.body.id||"-11");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"-11");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,list:i}=await Xit(t,r||"-11",n);return{page:n,pagecount:s>=T4?n+1:n,limit:T4,total:9999,list:i}}async function uAr(t,e){let r=String(t.body.id||"");if(r.startsWith("folder@@@")){let o=r.split("@@@"),c=o[1]||"\u76EE\u5F55",u=o[2]||"-11",l=[],d=1;for(;d<=Jgr;){let{rawCount:f,list:p}=await Xit(t,u,d);if(l.push(...p.filter(nAr)),f<T4)break;d+=1}if(l.length>0){let f=await Yit("tianyi","\u5929\u7FFC");return{list:[{vod_id:r,vod_name:c,vod_pic:Jit,vod_remarks:`${l.length}\u4E2A\u89C6\u9891`,vod_content:`\u76EE\u5F55: ${c}`,vod_play_from:f,vod_play_url:l.map(sAr).filter(Boolean).join("#")}]}}return{list:[{vod_id:r,vod_name:c,vod_remarks:"\u76EE\u5F55",vod_content:"\u5F53\u524D\u76EE\u5F55\u6CA1\u6709\u53EF\u64AD\u653E\u89C6\u9891"}]}}let n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await Yit("tianyi","\u5929\u7FFC");return{list:[{vod_id:r,vod_name:s,vod_remarks:"",vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function lAr(t,e){await rb(t);let r=Date.now(),n=String(t.body.id||""),s=n.split("*"),i=Rae(n,8,6),a=Rae(s[1],4,4);if(console.log("[mytianyi][play] request",{rawId:i,source:s[0]||"",fileId:a}),s[0]!=="own"||!s[1])return console.warn("[mytianyi][play] invalid params",{rawId:i,source:s[0]||"",hasFileId:!!s[1]}),{parse:0,url:"",msg:"\u5929\u7FFC\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{let o=await rf.getOwnDownload(s[1]),c=String(o?.url||"").trim();return c?(console.log("[mytianyi][play] success",{fileId:a,hasCookie:!!o?.cookie,resCode:o?.data?.res_code,urlPreview:iAr(c),costMs:Date.now()-r}),{parse:0,url:["\u539F\u753B",c],header:{"User-Agent":Xgr}}):(console.warn("[mytianyi][play] empty download url",{fileId:a,hasCookie:!!o?.cookie,resCode:o?.data?.res_code,resMsg:o?.data?.res_message||"",costMs:Date.now()-r}),{parse:0,url:"",msg:"\u5929\u7FFC\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"})}catch(o){return console.error("[mytianyi][play] failed",{fileId:a,rawId:i,costMs:Date.now()-r,message:String(o?.message||o),stack:String(o?.stack||"").split(`
`).slice(0,2).join(" | ")}),{parse:0,url:"",msg:`\u5929\u7FFC\u63A5\u53E3\u5F02\u5E38: ${o?.message||o}`}}}async function dAr(t,e){return{page:1,pagecount:1,list:[]}}async function fAr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Zit={meta:{key:"mytianyi",name:"\u300C\u76D8\u300D\u5929\u7FFC",type:3},api:async t=>{t.post("/init",aAr),t.post("/home",oAr),t.post("/category",cAr),t.post("/detail",uAr),t.post("/play",lAr),t.post("/search",dAr),t.get("/test",fAr)}};var pAr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",mAr="https://img.icons8.com/color/48/video.png",hAr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"];async function gAr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function AAr(t){return encodeURIComponent(String(t||""))}function yAr(t){return Number(t?.isdir)===1||Number(t?.category)===6}function xAr(t){if(Number(t?.category)===1)return!0;let e=String(t?.server_filename||t?.path||"").toLowerCase();return hAr.some(r=>e.endsWith(r))}function eat(t){return String(t?.server_filename||t?.path?.split("/").pop()||"\u672A\u77E5").trim()||"\u672A\u77E5"}function bAr(t,e){return`folder@@@${t}@@@${e}`}function EAr(t){let e=eat(t),r=String(t?.fs_id||t?.fsid||""),n=String(t?.path||"");return`file@@@${e}@@@own*${r}*${AAr(n)}`}async function _Ar(t,e="/",r=1){let{list:n,rawCount:s}=await Z6e(t,e||"/",r);return{rawCount:s,list:n.reduce((i,a)=>{let o=yAr(a);if(!o&&!xAr(a))return i;let c=eat(a);return i.push({vod_id:o?bAr(c,String(a?.path||"/")):EAr(a),vod_name:c,vod_pic:o?pAr:mAr,vod_remarks:o?"\u76EE\u5F55":ji(Number(a?.size||0)),...o?{cate:{id:String(a?.path||"/"),name:c}}:{},ratio:1.33}),i},[])}}async function SAr(t,e){return await ib(t),{}}async function vAr(t,e){return{class:[{type_id:"/",type_name:"\u6211\u7684\u767E\u5EA6\u7F51\u76D8"}]}}async function CAr(t,e){let r=String(t.body.id||"/");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"/");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,list:i}=await _Ar(t,r||"/",n);return{page:n,pagecount:s>=200?n+1:n,limit:200,total:9999,list:i}}async function IAr(t,e){let r=String(t.body.id||"");if(r.startsWith("folder@@@"))return{list:[{vod_id:r,vod_name:r.split("@@@")[1]||"\u76EE\u5F55",vod_remarks:"\u76EE\u5F55"}]};let n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await gAr("baidu","\u767E\u5EA6");return{list:[{vod_id:r,vod_name:s,vod_remarks:"",vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function TAr(t,e){return await lL(t,e)}async function wAr(t,e){return{page:1,pagecount:1,list:[]}}async function RAr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var tat={meta:{key:"mybaidu",name:"\u300C\u76D8\u300D\u767E\u5EA6",type:3},api:async t=>{t.post("/init",SAr),t.post("/home",vAr),t.post("/category",CAr),t.post("/detail",IAr),t.post("/play",TAr),t.post("/search",wAr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",dL),t.get("/test",RAr)}};var NAr="115Drive",rat="https://img.icons8.com/fluency/96/folder-invoices--v1.png",OAr="https://img.icons8.com/color/48/video.png",PAr={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",Referer:"https://webapi.115.com/bridge_2.0.html?namespace=Core.DataAccess&api=UDataAPI&_t=v5","X-Requested-With":"XMLHttpRequest",Origin:"https://115.com"};async function DAr(t,e="0",r=1){let n=await P0(t);if(!n)return{list:[],count:0};let s=Number.parseInt(r,10)||1,i=115,a=(s-1)*i,o=`https://webapi.115.com/files?aid=1&cid=${encodeURIComponent(e)}&o=user_ptime&asc=0&offset=${a}&show_dir=1&limit=${i}&code=&scid=&snap=0&natsort=1&record_open_time=1&source=&format=json`;try{let u=(await he.get(o,{headers:{...PAr,Cookie:n}}))?.data;if(u?.state)return{list:Array.isArray(u.data)?u.data:[],count:Number.parseInt(u.count,10)||0}}catch(c){console.error("[my115] list error:",c.message)}return{list:[],count:0}}function kAr(t){return encodeURIComponent(String(t||""))}function LAr(t){try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}}function BAr(t,e,r){return`LOCAL###${t}###${kAr(e)}###${r}`}function nat(t){let e=String(t||"");if(!e.startsWith("LOCAL###"))return{id:e,name:"115\u8D44\u6E90",value:e,kind:"file",isOwn:!1};let r=e.split("###");if(r.length>=4&&["dir","file"].includes(r[1]))return{id:e,kind:r[1],name:LAr(r[2])||"115\u8D44\u6E90",value:r.slice(3).join("###"),isOwn:!0};let[,n="115\u8D44\u6E90",s=""]=r;return{id:e,name:n,value:s,kind:/^\d+$/.test(s)?"dir":"file",isOwn:!0}}function MAr(t){let e=Number(t.fc)===0,r=String(t.n||t.name||"\u672A\u77E5").trim()||"\u672A\u77E5",n=String(e?t.cid||"":t.pc||t.pick_code||"");return{vod_id:BAr(e?"dir":"file",r,n),vod_name:r,vod_pic:e?rat:OAr,vod_remarks:e?"\u76EE\u5F55":ji(Number(t.s||t.size||0)),...e?{cate:{id:n,name:r}}:{},ratio:1.33}}async function WAr(t,e){return{}}async function $Ar(t,e){return{class:[{type_id:"0",type_name:"\u6211\u7684115\u7F51\u76D8"}]}}async function FAr(t,e){let r=String(t.body.id||"0");r.startsWith("LOCAL###")&&(r=nat(r).value||"0");let n=Number.parseInt(t.body.page,10)||1,{list:s,count:i}=await DAr(t.server,r,n);return{page:n,pagecount:Math.max(1,Math.ceil(i/115)),limit:115,total:i,list:s.map(MAr)}}async function UAr(t,e){return{list:(Array.isArray(t.body.id)?t.body.id:[t.body.id]).map(s=>{let i=nat(s);return i.isOwn?i.kind==="dir"?{vod_id:i.id,vod_name:i.name||"\u76EE\u5F55",vod_pic:rat,vod_remarks:"\u76EE\u5F55",vod_content:`\u76EE\u5F55: ${i.name||"115\u8D44\u6E90"}`}:{vod_id:i.id,vod_name:i.name,vod_content:`\u6587\u4EF6\u540D: ${i.name}`,vod_play_from:NAr,vod_play_url:`OWN$${i.value}`}:{vod_id:i.id,vod_name:"115\u8D44\u6E90"}})}}async function qAr(t,e){let r=String(t.body.id||"").trim(),n=r.startsWith("OWN$")?r.slice(4):r;return n?await cL(t.server,n):{parse:0,url:"",msg:"115 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"}}async function jAr(t,e){return{page:1,pagecount:1,list:[]}}async function HAr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var sat={meta:{key:"my115",name:"\u300C\u76D8\u300D115",type:3},api:async t=>{t.post("/init",WAr),t.post("/home",$Ar),t.post("/category",FAr),t.post("/detail",UAr),t.post("/play",qAr),t.post("/search",jAr),t.get("/test",HAr)}};var QAr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",GAr="https://img.icons8.com/color/48/video.png",VAr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"];async function zAr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function KAr(t){try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}}function YAr(t){return t?.data??t??{}}function JAr(t){let e=YAr(t);return[e.InfoList,e.infoList,e.list,t?.InfoList,t?.infoList,t?.list].find(n=>Array.isArray(n))||[]}function Oae(t){return String(t?.FileName||t?.file_name||t?.name||"\u672A\u77E5").trim()||"\u672A\u77E5"}function Nae(t){return String(t?.FileId||t?.fileId||t?.file_id||"")}function iat(t){return Number(t?.Size||t?.size||0)}function XAr(t){return String(t?.S3KeyFlag||t?.s3KeyFlag||"")}function ZAr(t){return String(t?.Etag||t?.etag||"")}function eyr(t){return Number(t?.Category)===0||Number(t?.Type)===1||t?.type==="folder"}function tyr(t){let e=Oae(t).toLowerCase();return Number(t?.Category)===2||VAr.some(r=>e.endsWith(r))}function ryr(t,e){return`folder@@@${t}@@@${e}`}function nyr(t){let e=Oae(t),r=["own",Nae(t),XAr(t),String(iat(t)),ZAr(t),encodeURIComponent(e)];return`file@@@${e}@@@${r.join("*")}`}async function syr(t,e="0"){await sb(t);let r=await O0.getrootmyfile(e||"0"),n=JAr(r),s=[];return n.forEach(i=>{let a=eyr(i);if(!a&&!tyr(i))return;let o=Oae(i);s.push({vod_id:a?ryr(o,Nae(i)):nyr(i),vod_name:o,vod_pic:a?QAr:GAr,vod_remarks:a?"\u76EE\u5F55":ji(iat(i)),...a?{cate:{id:Nae(i),name:o}}:{},ratio:1.33})}),s}async function iyr(t,e){return await sb(t),{}}async function ayr(t,e){return{class:[{type_id:"0",type_name:"\u6211\u7684123\u7F51\u76D8"}]}}async function oyr(t,e){let r=String(t.body.id||"0");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"0");let n=Number.parseInt(t.body.page,10)||1,s=await syr(t,r||"0");return{page:n,pagecount:1,limit:s.length,total:s.length,list:s}}async function cyr(t,e){let r=String(t.body.id||""),n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await zAr("123","123");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function uyr(t,e){let r=String(t.body.id||"").split("*");if(r[0]!=="own"||r.length<5)return{parse:0,url:"",msg:"123 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"};await sb(t);try{let n=await O0.getmyDownload(r[1],r[2],r[3],r[4],KAr(r[5]||""));return n?{parse:0,url:["\u539F\u753B",n]}:{parse:0,url:"",msg:"123 \u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}catch(n){return{parse:0,url:"",msg:`123 \u63A5\u53E3\u5F02\u5E38: ${n?.message||n}`}}}async function lyr(t,e){return{page:1,pagecount:1,list:[]}}async function dyr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var aat={meta:{key:"my123",name:"\u300C\u76D8\u300D123",type:3},api:async t=>{t.post("/init",iyr),t.post("/home",ayr),t.post("/category",oyr),t.post("/detail",cyr),t.post("/play",uyr),t.post("/search",lyr),t.get("/test",dyr)}};var uat="https://pan1.me";function oat(t,e){return Object.prototype.hasOwnProperty.call(t||{},e)}function lat(t){return String(t||"").trim().replace(/\/+$/,"")||uat}var dat=async(t,e,r)=>{let n=await t.db.getObjectDefault("/123ypzysq",{});if(oat(n,e))return n[e];let s=t.config?.["123ypzysq"]||{};return oat(s,e)?s[e]:r},fyr=async t=>lat(await dat(t,"url",uat)),pyr=async t=>String(await dat(t,"cookie","")||"").trim(),Pae=async t=>({url:await fyr(t),cookie:await pyr(t)}),cat=async(t,e,r)=>{await t.db.push(`/123ypzysq/${e}`,r)},myr=async t=>{await t.db.delete("/123ypzysq")};async function Dae(t){t.get("/config",async(e,r)=>{r.send({code:0,data:await Pae(e.server)})}),t.put("/config",async(e,r)=>{let n=e.body||{};await cat(e.server,"url",lat(n.url)),await cat(e.server,"cookie",String(n.cookie||"").trim()),r.send({code:0})}),t.delete("/config",async(e,r)=>{await myr(e.server),r.send({code:0})})}var w4="https://pan1.me",hyr=["CATPAW_123YPZYSQ_COOKIE","PAN1_ME_COOKIE","YPZYSQ_COOKIE"],gyr="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Ayr=/https?:\/\/[A-Za-z0-9._~:/?#[\]@!$&'()*+,;=%-]+/g,yyr=/(?:www\.)?(?:123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)/i,hat=[{type_id:"2",type_name:"\u7535\u5F71"},{type_id:"48",type_name:"\u7535\u89C6\u5267"},{type_id:"37",type_name:"\u52A8\u6F2B"},{type_id:"52",type_name:"\u7EFC\u827A"},{type_id:"56",type_name:"4K\u539F\u76D8"}],fat=["\u54C8\u54C8\uFF0C\u4E0D\u9519\u54E6\uFF01","\u4E0D\u9519\u7684\u5E16\u5B50\uFF01","\u975E\u5E38\u68D2\uFF01\uFF01\uFF01","\u611F\u8C22\u5206\u4EAB,\u592A\u68D2\u4E86\uFF01","\u8FD9\u4E0D\u6B63\u662F\u6211\u82E6\u82E6\u5BFB\u627E\u7684\u8D44\u6E90\u5417\uFF01","\u597D\u4EBA\u4E00\u80CE\u751F\u5341\u4E2A\uFF01","\u770B\u5B8C\u697C\u4E3B\u7684\u8FD9\u4E2A\u5E16\u5B50\u4EE5\u540E\uFF0C\u6211\u7684\u5FC3\u4E45\u4E45\u4E0D\u80FD\u5E73\u9759\uFF0C\u9707\u64BC\u554A\uFF01","\u4E3A\u4EC0\u4E48\u4F1A\u6709\u5982\u6B64\u597D\u7684\u5E16\u5B50\uFF01","\u864E\u8EAF\u4E00\u9707\uFF0C\u4E09\u5206\u8D70\u4EBA\u3002","\u6E2F\uFF0C\u662F\u4E00\u79CD\u7F8E\u5FB7\u3002","\u6D41\u6C13\u5E76\u4E0D\u53EF\u6015\uFF0C\u53EF\u6015\u7684\u662F\u6D41\u6C13\u6709\u6587\u5316\u3002","\u597D\u4EBA\u4E00\u80CE\u751F10086\u4E2A"];function Qf(t){return String(t||"").replace(/\s+/g," ").trim()}async function kae(t){let e=await Pae(t.server).catch(()=>({url:w4,cookie:""})),r=String(e.url||w4).trim().replace(/\/+$/,""),n=hyr.map(s=>process.env[s]).find(Boolean);return{baseUrl:r||w4,cookie:String(e.cookie||n||"").trim()}}function xyr(t,e=!1){let r={"User-Agent":gyr,Referer:t.baseUrl,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8"};return e&&(r.Origin=t.baseUrl,r["X-Requested-With"]="XMLHttpRequest",r["Content-Type"]="application/x-www-form-urlencoded"),t.cookie&&(r.Cookie=t.cookie),r}function gat(t,e=w4){let r=String(t||"").trim();return r?new URL(r,e).toString():""}async function Ew(t,e,r,n={}){let s=await he.request({url:gat(t,r.baseUrl),method:n.method||"GET",headers:xyr(r,n.ajax),data:n.data||void 0});return String(s?.data||"")}function Aat(t){let e=String(t||"");return e.match(/thread-(\d+)/)?.[1]||e.match(/^\d+$/)?.[0]||""}function yat(t){let e=Me(t),r=[];return e("li.media.thread.tap").each((n,s)=>{let i=e(s),a=i.find('a[href*="thread-"]').first(),o=Qf(a.text()),c=i.attr("data-tid")||Aat(a.attr("href"));if(!o||!c)return;let u=Qf(i.find(".date.text-grey").text()),l=i.find("a.badge.badge-pill.badge-dark").map((d,f)=>Qf(e(f).text())).get().filter(Boolean).join(" / ");r.push({vod_id:c,vod_name:o,vod_remarks:[l,u].filter(Boolean).join(" \xB7 "),topRightRemarks:l})}),{$:e,list:r}}function xat(t,e,r,n){let s=String(n||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=r==="search"?new RegExp(`search-${s}-(\\d+)\\.htm`):new RegExp(`forum-${s}-(\\d+)\\.htm`),a=Number.parseInt(e,10)||1;return t("a[href]").each((o,c)=>{let u=String(t(c).attr("href")||""),l=Number.parseInt(u.match(i)?.[1]||"",10);Number.isFinite(l)&&(a=Math.max(a,l))}),a}function byr(){return fat[Math.floor(Math.random()*fat.length)]}async function Eyr(t,e,r){if(r.cookie)try{let n=new URLSearchParams({doctype:"1",return_html:"1",quotepid:"0",message:byr()}).toString();await Ew(`/?post-create-${t}-1.htm`,e,r,{method:"POST",ajax:!0,data:n}),await new Promise(s=>setTimeout(s,500))}catch(n){console.warn("[123ypzysq] \u81EA\u52A8\u56DE\u590D\u5931\u8D25:",n?.message||n)}}function pat(t){return Qf(t).match(/(?:æå–ç |è®¿é—®ç |å¯†ç |code)[::\s]*([A-Za-z0-9]{4})/i)?.[1]||""}function _yr(t){return String(t||"").replace(/&amp;/g,"&").replace(/[)\])】,,。;;\s]+$/g,"").trim()}function Syr(t,e){try{let r=new URL(t);return r.searchParams.has("pwd")||r.searchParams.set("pwd",e),r.toString()}catch{let n=t.includes("?")?"&":"?";return`${t}${n}pwd=${encodeURIComponent(e)}`}}function mat(t,e){let r=_yr(t);return yyr.test(r)?e?Syr(r,e):r:""}function vyr(t){let e=t(".alert.alert-success").length?t(".alert.alert-success"):t(".post, .message, body"),r=new Set;return e.each((n,s)=>{let i=t(s),a=i.text(),o=pat(a);i.find("a[href]").each((c,u)=>{let l=t(u).attr("href"),d=pat(t(u).parent().text())||o,f=mat(l,d);f&&r.add(f)});for(let c of i.html()?.match(Ayr)||[]){let u=mat(c,o);u&&r.add(u)}}),[...r]}function Cyr(t,e,r){let n={vod_id:e,vod_name:Qf(t(".movie-title").first().text())||Qf(t("h1, h2, .title").first().text())||"123\u4E91\u76D8\u8D44\u6E90",vod_pic:gat(t(".movie-poster img").first().attr("src")||"",r),vod_content:Qf(t(".plot-content").first().text())};return t(".detail-label").each((s,i)=>{let a=Qf(t(i).text()),o=Qf(t(i).next().text());o&&(a.includes("\u5E74\u4EFD")&&(n.vod_year=o),a.includes("\u7C7B\u578B")&&(n.vod_type=o),a.includes("\u5BFC\u6F14")&&(n.vod_director=o),a.includes("\u4E3B\u6F14")&&(n.vod_actor=o))}),n}async function Iyr(t,e){return await qr(t,e),{}}async function Tyr(t,e){return{class:hat}}async function wyr(t,e){let r=String(t.body.id||hat[0].type_id),n=Number.parseInt(t.body.page,10)||1,s=await kae(t),i=await Ew(`/?forum-${r}-${n}.htm`,t,s),{$:a,list:o}=yat(i);return{page:n,pagecount:xat(a,n,"forum",r),limit:o.length,total:o.length,list:o}}async function Ryr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[],s=await kae(t);for(let i of r){let a=Aat(i);if(!a)continue;let o=await Ew(`/?thread-${a}.htm`,t,s),c=Me(o);c(".alert.alert-warning").text().includes("\u8BF7\u56DE\u590D\u540E\u518D\u67E5\u770B")&&(await Eyr(a,t,s),o=await Ew(`/?thread-${a}.htm`,t,s),c=Me(o));let u=Cyr(c,a,s.baseUrl),l=vyr(c),d=l.length>0?await Rr(l,t):null;d?.froms&&d?.urls&&(u.vod_play_from=d.froms,u.vod_play_url=d.urls,u.vod_links=d.links),!u.vod_content&&l.length>0&&(u.vod_content=`\u5171\u53D1\u73B0${l.length}\u4E2A123\u7F51\u76D8\u94FE\u63A5`),n.push(u)}return{list:n}}async function Nyr(t,e){let r=String(t.body.wd||"").trim(),n=Number.parseInt(t.body.page,10)||1;if(!r)return{page:n,pagecount:1,list:[]};let s=encodeURIComponent(r),i=await kae(t),a=await Ew(`/?search-${s}-${n}.htm`,t,i),{$:o,list:c}=yat(a);return{page:n,pagecount:xat(o,n,"search",s),limit:c.length,total:c.length,list:c}}async function Oyr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/home`);if(n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return s=await t.server.inject().post(`${r}/search`).payload({wd:"\u4ED9\u9006",page:1}),n.search=s.json(),n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var bat={meta:{key:"123ypzysq",name:"\u300C\u76D8\u300D123\u793E\u533A",type:3},api:async t=>{t.post("/init",Iyr),t.post("/home",Tyr),t.post("/category",wyr),t.post("/detail",Ryr),t.post("/play",Or),t.post("/search",Nyr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr),t.get("/test",Oyr)}};var Pyr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",Dyr="https://img.icons8.com/color/48/video.png",Eat=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"];async function kyr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function Lyr(t){return Number(t?.resType||0)===2}function Byr(t){if(Number(t?.resType||0)!==1)return!1;let e=String(t?.ext||"").toLowerCase(),r=String(t?.mineType||"").toLowerCase(),n=String(t?.fileName||"").toLowerCase();return Number(t?.fileType||0)===2||r.startsWith("video/")||Eat.includes(e)||Eat.some(s=>n.endsWith(s))}function _at(t){return String(t?.fileName||"\u672A\u77E5").trim()||"\u672A\u77E5"}function Lae(t){return String(t?.fileId||"")}function Myr(t){return Number(t?.fileSize||t?.size||0)}function Wyr(t,e){return`folder@@@${t}@@@${e}`}function $yr(t){return`file@@@${_at(t)}@@@own*${Lae(t)}`}async function Fyr(t,e=""){let r=await g5e(t,e||""),n=Array.isArray(r?.list)?r.list:[],s=[];return n.forEach(i=>{let a=Lyr(i);if(!a&&!Byr(i))return;let o=_at(i);s.push({vod_id:a?Wyr(o,Lae(i)):$yr(i),vod_name:o,vod_pic:a?Pyr:String(i?.thumbnail||"").trim()||Dyr,vod_remarks:a?"\u76EE\u5F55":ji(Myr(i)),...a?{cate:{id:Lae(i),name:o}}:{},ratio:1.33})}),{rawCount:n.length,total:Number(r?.total||n.length),list:s}}async function Uyr(t,e){return await lC(t),{}}async function qyr(t,e){return{class:[{type_id:"root",type_name:"\u6211\u7684\u5149\u9E2D"}]}}async function jyr(t,e){let r=String(t.body.id||"root");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||""),r==="root"&&(r="");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,total:i,list:a}=await Fyr(t,r||"");return{page:n,pagecount:1,limit:s,total:Math.max(i,s),list:a}}async function Hyr(t,e){let r=String(t.body.id||"");if(r.startsWith("folder@@@"))return{list:[{vod_id:r,vod_name:r.split("@@@")[1]||"\u76EE\u5F55"}]};let n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await kyr("guangyapan","\u5149\u9E2D");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function Qyr(t,e){let r=String(t.body.id||"").split("*");if(r[0]!=="own"||!r[1])return{parse:0,url:"",msg:"\u5149\u9E2D\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{let n=await A5e(t,r[1]);return n?.url?{parse:0,url:["\u539F\u753B",n.url]}:{parse:0,url:"",msg:n?.msg||"\u5149\u9E2D\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}catch(n){return{parse:0,url:"",msg:`\u5149\u9E2D\u63A5\u53E3\u5F02\u5E38: ${n?.message||n}`}}}async function Gyr(t,e){return{page:1,pagecount:1,list:[]}}async function Vyr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Sat={meta:{key:"myguangyapan",name:"\u300C\u76D8\u300D\u5149\u9E2D",type:3},api:async t=>{t.post("/init",Uyr),t.post("/home",qyr),t.post("/category",jyr),t.post("/detail",Hyr),t.post("/play",Qyr),t.post("/search",Gyr),t.get("/test",Vyr)}};var zyr=["http://103.217.192.130:16969"],Bae=async t=>(await t.db.getObjectDefault("/huban",{}))?.urls||t.config.huban?.urls||zyr,Kyr=async(t,e)=>{await t.db.push("/huban/urls",e)},Yyr=async t=>{await t.db.delete("/huban/urls")};async function Mae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await Bae(e.server)})}),t.put("/urls",async(e,r)=>{await Kyr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Yyr(e.server),r.send({code:0})})}var Wae,R4=t=>{if(!Wae){let e=Date.now();Wae=new Promise(async r=>{let n=await Bae(t),s=await Xn(n);console.log("\u864E\u6591\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return Wae};async function $ae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Jyr(t,e){return{class:[{type_id:"1",type_name:"\u98CE"},{type_id:"2",type_name:"\u82B1"},{type_id:"3",type_name:"\u96EA"},{type_id:"4",type_name:"\u6708"},{type_id:"5",type_name:"\u7CBE"},{type_id:"6",type_name:"\u77ED"},{type_id:"30",type_name:"115"}],filters:{}}}async function Xyr(t,e){let r=await R4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await $ae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Zyr(t,e){let r=await R4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await $ae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function exr(t,e){let r=await R4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await $ae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var vat={meta:{key:"huban",name:"\u300C\u76D8\u300D\u864E\u6591",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Jyr),t.post("/category",Xyr),t.post("/detail",Zyr),t.post("/play",Or),t.post("/search",exr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:R4};var txr=["http://103.217.192.184:12512"],Fae=async t=>(await t.db.getObjectDefault("/xiaoban",{}))?.urls||t.config.xiaoban?.urls||txr,rxr=async(t,e)=>{await t.db.push("/xiaoban/urls",e)},nxr=async t=>{await t.db.delete("/xiaoban/urls")};async function Uae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await Fae(e.server)})}),t.put("/urls",async(e,r)=>{await rxr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await nxr(e.server),r.send({code:0})})}var qae,N4=t=>{if(!qae){let e=Date.now();qae=new Promise(async r=>{let n=await Fae(t),s=await Xn(n);console.log("\u5C0F\u6591\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return qae};async function jae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function sxr(t,e){return{class:[{type_id:"1",type_name:"\u6885"},{type_id:"2",type_name:"\u5170"},{type_id:"3",type_name:"\u7AF9"},{type_id:"4",type_name:"\u83CA"},{type_id:"6",type_name:"\u77ED"},{type_id:"5",type_name:"\u7CBE"}],filters:{}}}async function ixr(t,e){let r=await N4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await jae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function axr(t,e){let r=await N4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await jae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function oxr(t,e){let r=await N4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await jae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Cat={meta:{key:"xiaoban",name:"\u300C\u76D8\u300D\u5C0F\u6591",type:3},api:async t=>{t.post("/init",qr),t.post("/home",sxr),t.post("/category",ixr),t.post("/detail",axr),t.post("/play",Or),t.post("/search",oxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:N4};var Tat=Re(require("vm"),1),Qae=class{add(e,r,n){if(typeof arguments[0]!="string")for(let s in arguments[0])this.add(s,arguments[0][s],arguments[1]);else(Array.isArray(e)?e:[e]).forEach(function(s){this[s]=this[s]||[],r&&this[s][n?"unshift":"push"](r)},this)}run(e,r){this[e]=this[e]||[],this[e].forEach(function(n){n.call(r&&r.context?r.context:r,r)})}},Gae=class{constructor(e){this.jsep=e,this.registered={}}register(...e){e.forEach(r=>{if(typeof r!="object"||!r.name||!r.init)throw new Error("Invalid JSEP plugin format");this.registered[r.name]||(r.init(this.jsep),this.registered[r.name]=r)})}},uo=class t{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+t.version}static addUnaryOp(e){return t.max_unop_len=Math.max(e.length,t.max_unop_len),t.unary_ops[e]=1,t}static addBinaryOp(e,r,n){return t.max_binop_len=Math.max(e.length,t.max_binop_len),t.binary_ops[e]=r,n?t.right_associative.add(e):t.right_associative.delete(e),t}static addIdentifierChar(e){return t.additional_identifier_chars.add(e),t}static addLiteral(e,r){return t.literals[e]=r,t}static removeUnaryOp(e){return delete t.unary_ops[e],e.length===t.max_unop_len&&(t.max_unop_len=t.getMaxKeyLen(t.unary_ops)),t}static removeAllUnaryOps(){return t.unary_ops={},t.max_unop_len=0,t}static removeIdentifierChar(e){return t.additional_identifier_chars.delete(e),t}static removeBinaryOp(e){return delete t.binary_ops[e],e.length===t.max_binop_len&&(t.max_binop_len=t.getMaxKeyLen(t.binary_ops)),t.right_associative.delete(e),t}static removeAllBinaryOps(){return t.binary_ops={},t.max_binop_len=0,t}static removeLiteral(e){return delete t.literals[e],t}static removeAllLiterals(){return t.literals={},t}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new t(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map(r=>r.length))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return t.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!t.binary_ops[String.fromCharCode(e)]||t.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return t.isIdentifierStart(e)||t.isDecimalDigit(e)}throwError(e){let r=new Error(e+" at character "+this.index);throw r.index=this.index,r.description=e,r}runHook(e,r){if(t.hooks[e]){let n={context:this,node:r};return t.hooks.run(e,n),n.node}return r}searchHook(e){if(t.hooks[e]){let r={context:this};return t.hooks[e].find(function(n){return n.call(r.context,r),r.node}),r.node}}gobbleSpaces(){let e=this.code;for(;e===t.SPACE_CODE||e===t.TAB_CODE||e===t.LF_CODE||e===t.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),r=e.length===1?e[0]:{type:t.COMPOUND,body:e};return this.runHook("after-all",r)}gobbleExpressions(e){let r=[],n,s;for(;this.index<this.expr.length;)if(n=this.code,n===t.SEMCOL_CODE||n===t.COMMA_CODE)this.index++;else if(s=this.gobbleExpression())r.push(s);else if(this.index<this.expr.length){if(n===e)break;this.throwError('Unexpected "'+this.char+'"')}return r}gobbleExpression(){let e=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",e)}gobbleBinaryOp(){this.gobbleSpaces();let e=this.expr.substr(this.index,t.max_binop_len),r=e.length;for(;r>0;){if(t.binary_ops.hasOwnProperty(e)&&(!t.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!t.isIdentifierPart(this.expr.charCodeAt(this.index+e.length))))return this.index+=r,e;e=e.substr(0,--r)}return!1}gobbleBinaryExpression(){let e,r,n,s,i,a,o,c,u;if(a=this.gobbleToken(),!a||(r=this.gobbleBinaryOp(),!r))return a;for(i={value:r,prec:t.binaryPrecedence(r),right_a:t.right_associative.has(r)},o=this.gobbleToken(),o||this.throwError("Expected expression after "+r),s=[a,i,o];r=this.gobbleBinaryOp();){if(n=t.binaryPrecedence(r),n===0){this.index-=r.length;break}i={value:r,prec:n,right_a:t.right_associative.has(r)},u=r;let l=d=>i.right_a&&d.right_a?n>d.prec:n<=d.prec;for(;s.length>2&&l(s[s.length-2]);)o=s.pop(),r=s.pop().value,a=s.pop(),e={type:t.BINARY_EXP,operator:r,left:a,right:o},s.push(e);e=this.gobbleToken(),e||this.throwError("Expected expression after "+u),s.push(i,e)}for(c=s.length-1,e=s[c];c>1;)e={type:t.BINARY_EXP,operator:s[c-1].value,left:s[c-2],right:e},c-=2;return e}gobbleToken(){let e,r,n,s;if(this.gobbleSpaces(),s=this.searchHook("gobble-token"),s)return this.runHook("after-token",s);if(e=this.code,t.isDecimalDigit(e)||e===t.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===t.SQUOTE_CODE||e===t.DQUOTE_CODE)s=this.gobbleStringLiteral();else if(e===t.OBRACK_CODE)s=this.gobbleArray();else{for(r=this.expr.substr(this.index,t.max_unop_len),n=r.length;n>0;){if(t.unary_ops.hasOwnProperty(r)&&(!t.isIdentifierStart(this.code)||this.index+r.length<this.expr.length&&!t.isIdentifierPart(this.expr.charCodeAt(this.index+r.length)))){this.index+=n;let i=this.gobbleToken();return i||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:t.UNARY_EXP,operator:r,argument:i,prefix:!0})}r=r.substr(0,--n)}t.isIdentifierStart(e)?(s=this.gobbleIdentifier(),t.literals.hasOwnProperty(s.name)?s={type:t.LITERAL,value:t.literals[s.name],raw:s.name}:s.name===t.this_str&&(s={type:t.THIS_EXP})):e===t.OPAREN_CODE&&(s=this.gobbleGroup())}return s?(s=this.gobbleTokenProperty(s),this.runHook("after-token",s)):this.runHook("after-token",!1)}gobbleTokenProperty(e){this.gobbleSpaces();let r=this.code;for(;r===t.PERIOD_CODE||r===t.OBRACK_CODE||r===t.OPAREN_CODE||r===t.QUMARK_CODE;){let n;if(r===t.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==t.PERIOD_CODE)break;n=!0,this.index+=2,this.gobbleSpaces(),r=this.code}this.index++,r===t.OBRACK_CODE?(e={type:t.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()},e.property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),r=this.code,r!==t.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):r===t.OPAREN_CODE?e={type:t.CALL_EXP,arguments:this.gobbleArguments(t.CPAREN_CODE),callee:e}:(r===t.PERIOD_CODE||n)&&(n&&this.index--,this.gobbleSpaces(),e={type:t.MEMBER_EXP,computed:!1,object:e,property:this.gobbleIdentifier()}),n&&(e.optional=!0),this.gobbleSpaces(),r=this.code}return e}gobbleNumericLiteral(){let e="",r,n;for(;t.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(this.code===t.PERIOD_CODE)for(e+=this.expr.charAt(this.index++);t.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(r=this.char,r==="e"||r==="E"){for(e+=this.expr.charAt(this.index++),r=this.char,(r==="+"||r==="-")&&(e+=this.expr.charAt(this.index++));t.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);t.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+e+this.char+")")}return n=this.code,t.isIdentifierStart(n)?this.throwError("Variable names cannot start with a number ("+e+this.char+")"):(n===t.PERIOD_CODE||e.length===1&&e.charCodeAt(0)===t.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:t.LITERAL,value:parseFloat(e),raw:e}}gobbleStringLiteral(){let e="",r=this.index,n=this.expr.charAt(this.index++),s=!1;for(;this.index<this.expr.length;){let i=this.expr.charAt(this.index++);if(i===n){s=!0;break}else if(i==="\\")switch(i=this.expr.charAt(this.index++),i){case"n":e+=`
`;break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:e+=i}else e+=i}return s||this.throwError('Unclosed quote after "'+e+'"'),{type:t.LITERAL,value:e,raw:this.expr.substring(r,this.index)}}gobbleIdentifier(){let e=this.code,r=this.index;for(t.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(e=this.code,t.isIdentifierPart(e));)this.index++;return{type:t.IDENTIFIER,name:this.expr.slice(r,this.index)}}gobbleArguments(e){let r=[],n=!1,s=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let i=this.code;if(i===e){n=!0,this.index++,e===t.CPAREN_CODE&&s&&s>=r.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}else if(i===t.COMMA_CODE){if(this.index++,s++,s!==r.length){if(e===t.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===t.CBRACK_CODE)for(let a=r.length;a<s;a++)r.push(null)}}else if(r.length!==s&&s!==0)this.throwError("Expected comma");else{let a=this.gobbleExpression();(!a||a.type===t.COMPOUND)&&this.throwError("Expected comma"),r.push(a)}}return n||this.throwError("Expected "+String.fromCharCode(e)),r}gobbleGroup(){this.index++;let e=this.gobbleExpressions(t.CPAREN_CODE);if(this.code===t.CPAREN_CODE)return this.index++,e.length===1?e[0]:e.length?{type:t.SEQUENCE_EXP,expressions:e}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:t.ARRAY_EXP,elements:this.gobbleArguments(t.CBRACK_CODE)}}},cxr=new Qae;Object.assign(uo,{hooks:cxr,plugins:new Gae(uo),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});uo.max_unop_len=uo.getMaxKeyLen(uo.unary_ops);uo.max_binop_len=uo.getMaxKeyLen(uo.binary_ops);var Gf=t=>new uo(t).parse(),uxr=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(uo).filter(t=>!uxr.includes(t)&&Gf[t]===void 0).forEach(t=>{Gf[t]=uo[t]});Gf.Jsep=uo;var lxr="ConditionalExpression",dxr={name:"ternary",init(t){t.hooks.add("after-expression",function(r){if(r.node&&this.code===t.QUMARK_CODE){this.index++;let n=r.node,s=this.gobbleExpression();if(s||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===t.COLON_CODE){this.index++;let i=this.gobbleExpression();if(i||this.throwError("Expected expression"),r.node={type:lxr,test:n,consequent:s,alternate:i},n.operator&&t.binary_ops[n.operator]<=.9){let a=n;for(;a.right.operator&&t.binary_ops[a.right.operator]<=.9;)a=a.right;r.node.test=a.right,a.right=r.node,r.node=n}}else this.throwError("Expected :")}})}};Gf.plugins.register(dxr);var Iat=47,fxr=92,pxr={name:"regex",init(t){t.hooks.add("gobble-token",function(r){if(this.code===Iat){let n=++this.index,s=!1;for(;this.index<this.expr.length;){if(this.code===Iat&&!s){let i=this.expr.slice(n,this.index),a="";for(;++this.index<this.expr.length;){let c=this.code;if(c>=97&&c<=122||c>=65&&c<=90||c>=48&&c<=57)a+=this.char;else break}let o;try{o=new RegExp(i,a)}catch(c){this.throwError(c.message)}return r.node={type:t.LITERAL,value:o,raw:this.expr.slice(n-1,this.index)},r.node=this.gobbleTokenProperty(r.node),r.node}this.code===t.OBRACK_CODE?s=!0:s&&this.code===t.CBRACK_CODE&&(s=!1),this.index+=this.code===fxr?2:1}this.throwError("Unclosed Regex")}})}},Hae=43,mxr=45,cE={name:"assignment",assignmentOperators:new Set(["=","*=","**=","/=","%=","+=","-=","<<=",">>=",">>>=","&=","^=","|=","||=","&&=","??="]),updateOperators:[Hae,mxr],assignmentPrecedence:.9,init(t){let e=[t.IDENTIFIER,t.MEMBER_EXP];cE.assignmentOperators.forEach(n=>t.addBinaryOp(n,cE.assignmentPrecedence,!0)),t.hooks.add("gobble-token",function(s){let i=this.code;cE.updateOperators.some(a=>a===i&&a===this.expr.charCodeAt(this.index+1))&&(this.index+=2,s.node={type:"UpdateExpression",operator:i===Hae?"++":"--",argument:this.gobbleTokenProperty(this.gobbleIdentifier()),prefix:!0},(!s.node.argument||!e.includes(s.node.argument.type))&&this.throwError(`Unexpected ${s.node.operator}`))}),t.hooks.add("after-token",function(s){if(s.node){let i=this.code;cE.updateOperators.some(a=>a===i&&a===this.expr.charCodeAt(this.index+1))&&(e.includes(s.node.type)||this.throwError(`Unexpected ${s.node.operator}`),this.index+=2,s.node={type:"UpdateExpression",operator:i===Hae?"++":"--",argument:s.node,prefix:!1})}}),t.hooks.add("after-expression",function(s){s.node&&r(s.node)});function r(n){cE.assignmentOperators.has(n.operator)?(n.type="AssignmentExpression",r(n.left),r(n.right)):n.operator||Object.values(n).forEach(s=>{s&&typeof s=="object"&&r(s)})}}};Gf.plugins.register(pxr,cE);Gf.addUnaryOp("typeof");Gf.addLiteral("null",null);Gf.addLiteral("undefined",void 0);var hxr=new Set(["constructor","__proto__","__defineGetter__","__defineSetter__"]),cn={evalAst(t,e){switch(t.type){case"BinaryExpression":case"LogicalExpression":return cn.evalBinaryExpression(t,e);case"Compound":return cn.evalCompound(t,e);case"ConditionalExpression":return cn.evalConditionalExpression(t,e);case"Identifier":return cn.evalIdentifier(t,e);case"Literal":return cn.evalLiteral(t,e);case"MemberExpression":return cn.evalMemberExpression(t,e);case"UnaryExpression":return cn.evalUnaryExpression(t,e);case"ArrayExpression":return cn.evalArrayExpression(t,e);case"CallExpression":return cn.evalCallExpression(t,e);case"AssignmentExpression":return cn.evalAssignmentExpression(t,e);default:throw SyntaxError("Unexpected expression",t)}},evalBinaryExpression(t,e){return{"||":(n,s)=>n||s(),"&&":(n,s)=>n&&s(),"|":(n,s)=>n|s(),"^":(n,s)=>n^s(),"&":(n,s)=>n&s(),"==":(n,s)=>n==s(),"!=":(n,s)=>n!=s(),"===":(n,s)=>n===s(),"!==":(n,s)=>n!==s(),"<":(n,s)=>n<s(),">":(n,s)=>n>s(),"<=":(n,s)=>n<=s(),">=":(n,s)=>n>=s(),"<<":(n,s)=>n<<s(),">>":(n,s)=>n>>s(),">>>":(n,s)=>n>>>s(),"+":(n,s)=>n+s(),"-":(n,s)=>n-s(),"*":(n,s)=>n*s(),"/":(n,s)=>n/s(),"%":(n,s)=>n%s()}[t.operator](cn.evalAst(t.left,e),()=>cn.evalAst(t.right,e))},evalCompound(t,e){let r;for(let n=0;n<t.body.length;n++){t.body[n].type==="Identifier"&&["var","let","const"].includes(t.body[n].name)&&t.body[n+1]&&t.body[n+1].type==="AssignmentExpression"&&(n+=1);let s=t.body[n];r=cn.evalAst(s,e)}return r},evalConditionalExpression(t,e){return cn.evalAst(t.test,e)?cn.evalAst(t.consequent,e):cn.evalAst(t.alternate,e)},evalIdentifier(t,e){if(Object.hasOwn(e,t.name))return e[t.name];throw ReferenceError(`${t.name} is not defined`)},evalLiteral(t){return t.value},evalMemberExpression(t,e){let r=String(t.computed?cn.evalAst(t.property):t.property.name),n=cn.evalAst(t.object,e);if(n==null)throw TypeError(`Cannot read properties of ${n} (reading '${r}')`);if(!Object.hasOwn(n,r)&&hxr.has(r))throw TypeError(`Cannot read properties of ${n} (reading '${r}')`);let s=n[r];return typeof s=="function"?s.bind(n):s},evalUnaryExpression(t,e){return{"-":n=>-cn.evalAst(n,e),"!":n=>!cn.evalAst(n,e),"~":n=>~cn.evalAst(n,e),"+":n=>+cn.evalAst(n,e),typeof:n=>typeof cn.evalAst(n,e)}[t.operator](t.argument)},evalArrayExpression(t,e){return t.elements.map(r=>cn.evalAst(r,e))},evalCallExpression(t,e){let r=t.arguments.map(s=>cn.evalAst(s,e));return cn.evalAst(t.callee,e)(...r)},evalAssignmentExpression(t,e){if(t.left.type!=="Identifier")throw SyntaxError("Invalid left-hand side in assignment");let r=t.left.name,n=cn.evalAst(t.right,e);return e[r]=n,e[r]}},Vae=class{constructor(e){this.code=e,this.ast=Gf(this.code)}runInNewContext(e){let r=Object.assign(Object.create(null),e);return cn.evalAst(this.ast,r)}};function X0(t,e){return t=t.slice(),t.push(e),t}function zae(t,e){return e=e.slice(),e.unshift(t),e}var Kae=class extends Error{constructor(e){super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),this.avoidNew=!0,this.value=e,this.name="NewError"}};function Ur(t,e,r,n,s){if(!(this instanceof Ur))try{return new Ur(t,e,r,n,s)}catch(a){if(!a.avoidNew)throw a;return a.value}typeof t=="string"&&(s=n,n=r,r=e,e=t,t=null);let i=t&&typeof t=="object";if(t=t||{},this.json=t.json||r,this.path=t.path||e,this.resultType=t.resultType||"value",this.flatten=t.flatten||!1,this.wrap=Object.hasOwn(t,"wrap")?t.wrap:!0,this.sandbox=t.sandbox||{},this.eval=t.eval===void 0?"safe":t.eval,this.ignoreEvalErrors=typeof t.ignoreEvalErrors>"u"?!1:t.ignoreEvalErrors,this.parent=t.parent||null,this.parentProperty=t.parentProperty||null,this.callback=t.callback||n||null,this.otherTypeCallback=t.otherTypeCallback||s||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},t.autostart!==!1){let a={path:i?t.path:e};i?"json"in t&&(a.json=t.json):a.json=r;let o=this.evaluate(a);if(!o||typeof o!="object")throw new Kae(o);return o}}Ur.prototype.evaluate=function(t,e,r,n){let s=this.parent,i=this.parentProperty,{flatten:a,wrap:o}=this;if(this.currResultType=this.resultType,this.currEval=this.eval,this.currSandbox=this.sandbox,r=r||this.callback,this.currOtherTypeCallback=n||this.otherTypeCallback,e=e||this.json,t=t||this.path,t&&typeof t=="object"&&!Array.isArray(t)){if(!t.path&&t.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Object.hasOwn(t,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');({json:e}=t),a=Object.hasOwn(t,"flatten")?t.flatten:a,this.currResultType=Object.hasOwn(t,"resultType")?t.resultType:this.currResultType,this.currSandbox=Object.hasOwn(t,"sandbox")?t.sandbox:this.currSandbox,o=Object.hasOwn(t,"wrap")?t.wrap:o,this.currEval=Object.hasOwn(t,"eval")?t.eval:this.currEval,r=Object.hasOwn(t,"callback")?t.callback:r,this.currOtherTypeCallback=Object.hasOwn(t,"otherTypeCallback")?t.otherTypeCallback:this.currOtherTypeCallback,s=Object.hasOwn(t,"parent")?t.parent:s,i=Object.hasOwn(t,"parentProperty")?t.parentProperty:i,t=t.path}if(s=s||null,i=i||null,Array.isArray(t)&&(t=Ur.toPathString(t)),!t&&t!==""||!e)return;let c=Ur.toPathArray(t);c[0]==="$"&&c.length>1&&c.shift(),this._hasParentSelector=null;let u=this._trace(c,e,["$"],s,i,r).filter(function(l){return l&&!l.isParentSelector});return u.length?!o&&u.length===1&&!u[0].hasArrExpr?this._getPreferredOutput(u[0]):u.reduce((l,d)=>{let f=this._getPreferredOutput(d);return a&&Array.isArray(f)?l=l.concat(f):l.push(f),l},[]):o?[]:void 0};Ur.prototype._getPreferredOutput=function(t){let e=this.currResultType;switch(e){case"all":{let r=Array.isArray(t.path)?t.path:Ur.toPathArray(t.path);return t.pointer=Ur.toPointer(r),t.path=typeof t.path=="string"?t.path:Ur.toPathString(t.path),t}case"value":case"parent":case"parentProperty":return t[e];case"path":return Ur.toPathString(t[e]);case"pointer":return Ur.toPointer(t.path);default:throw new TypeError("Unknown result type")}};Ur.prototype._handleCallback=function(t,e,r){if(e){let n=this._getPreferredOutput(t);t.path=typeof t.path=="string"?t.path:Ur.toPathString(t.path),e(n,r,t)}};Ur.prototype._trace=function(t,e,r,n,s,i,a,o){let c;if(!t.length)return c={path:r,value:e,parent:n,parentProperty:s,hasArrExpr:a},this._handleCallback(c,i,"value"),c;let u=t[0],l=t.slice(1),d=[];function f(p){Array.isArray(p)?p.forEach(m=>{d.push(m)}):d.push(p)}if((typeof u!="string"||o)&&e&&Object.hasOwn(e,u))f(this._trace(l,e[u],X0(r,u),e,u,i,a));else if(u==="*")this._walk(e,p=>{f(this._trace(l,e[p],X0(r,p),e,p,i,!0,!0))});else if(u==="..")f(this._trace(l,e,r,n,s,i,a)),this._walk(e,p=>{typeof e[p]=="object"&&f(this._trace(t.slice(),e[p],X0(r,p),e,p,i,!0))});else{if(u==="^")return this._hasParentSelector=!0,{path:r.slice(0,-1),expr:l,isParentSelector:!0};if(u==="~")return c={path:X0(r,u),value:s,parent:n,parentProperty:null},this._handleCallback(c,i,"property"),c;if(u==="$")f(this._trace(l,e,r,null,null,i,a));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(u))f(this._slice(u,l,e,r,n,s,i));else if(u.indexOf("?(")===0){if(this.currEval===!1)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");let p=u.replace(/^\?\((.*?)\)$/u,"$1"),m=/@.?([^?]*)[['](\??\(.*?\))(?!.\)\])[\]']/gu.exec(p);m?this._walk(e,h=>{let A=[m[2]],g=m[1]?e[h][m[1]]:e[h];this._trace(A,g,r,n,s,i,!0).length>0&&f(this._trace(l,e[h],X0(r,h),e,h,i,!0))}):this._walk(e,h=>{this._eval(p,e[h],h,r,n,s)&&f(this._trace(l,e[h],X0(r,h),e,h,i,!0))})}else if(u[0]==="("){if(this.currEval===!1)throw new Error("Eval [(expr)] prevented in JSONPath expression.");f(this._trace(zae(this._eval(u,e,r.at(-1),r.slice(0,-1),n,s),l),e,r,n,s,i,a))}else if(u[0]==="@"){let p=!1,m=u.slice(1,-2);switch(m){case"scalar":(!e||!["object","function"].includes(typeof e))&&(p=!0);break;case"boolean":case"string":case"undefined":case"function":typeof e===m&&(p=!0);break;case"integer":Number.isFinite(e)&&!(e%1)&&(p=!0);break;case"number":Number.isFinite(e)&&(p=!0);break;case"nonFinite":typeof e=="number"&&!Number.isFinite(e)&&(p=!0);break;case"object":e&&typeof e===m&&(p=!0);break;case"array":Array.isArray(e)&&(p=!0);break;case"other":p=this.currOtherTypeCallback(e,r,n,s);break;case"null":e===null&&(p=!0);break;default:throw new TypeError("Unknown value type "+m)}if(p)return c={path:r,value:e,parent:n,parentProperty:s},this._handleCallback(c,i,"value"),c}else if(u[0]==="`"&&e&&Object.hasOwn(e,u.slice(1))){let p=u.slice(1);f(this._trace(l,e[p],X0(r,p),e,p,i,a,!0))}else if(u.includes(",")){let p=u.split(",");for(let m of p)f(this._trace(zae(m,l),e,r,n,s,i,!0))}else!o&&e&&Object.hasOwn(e,u)&&f(this._trace(l,e[u],X0(r,u),e,u,i,a,!0))}if(this._hasParentSelector)for(let p=0;p<d.length;p++){let m=d[p];if(m&&m.isParentSelector){let h=this._trace(m.expr,e,m.path,n,s,i,a);if(Array.isArray(h)){d[p]=h[0];let A=h.length;for(let g=1;g<A;g++)p++,d.splice(p,0,h[g])}else d[p]=h}}return d};Ur.prototype._walk=function(t,e){if(Array.isArray(t)){let r=t.length;for(let n=0;n<r;n++)e(n)}else t&&typeof t=="object"&&Object.keys(t).forEach(r=>{e(r)})};Ur.prototype._slice=function(t,e,r,n,s,i,a){if(!Array.isArray(r))return;let o=r.length,c=t.split(":"),u=c[2]&&Number.parseInt(c[2])||1,l=c[0]&&Number.parseInt(c[0])||0,d=c[1]&&Number.parseInt(c[1])||o;l=l<0?Math.max(0,l+o):Math.min(o,l),d=d<0?Math.max(0,d+o):Math.min(o,d);let f=[];for(let p=l;p<d;p+=u)this._trace(zae(p,e),r,n,s,i,a,!0).forEach(h=>{f.push(h)});return f};Ur.prototype._eval=function(t,e,r,n,s,i){this.currSandbox._$_parentProperty=i,this.currSandbox._$_parent=s,this.currSandbox._$_property=r,this.currSandbox._$_root=this.json,this.currSandbox._$_v=e;let a=t.includes("@path");a&&(this.currSandbox._$_path=Ur.toPathString(n.concat([r])));let o=this.currEval+"Script:"+t;if(!Ur.cache[o]){let c=t.replaceAll("@parentProperty","_$_parentProperty").replaceAll("@parent","_$_parent").replaceAll("@property","_$_property").replaceAll("@root","_$_root").replaceAll(/@([.\s)[])/gu,"_$_v$1");if(a&&(c=c.replaceAll("@path","_$_path")),this.currEval==="safe"||this.currEval===!0||this.currEval===void 0)Ur.cache[o]=new this.safeVm.Script(c);else if(this.currEval==="native")Ur.cache[o]=new this.vm.Script(c);else if(typeof this.currEval=="function"&&this.currEval.prototype&&Object.hasOwn(this.currEval.prototype,"runInNewContext")){let u=this.currEval;Ur.cache[o]=new u(c)}else if(typeof this.currEval=="function")Ur.cache[o]={runInNewContext:u=>this.currEval(c,u)};else throw new TypeError(`Unknown "eval" property "${this.currEval}"`)}try{return Ur.cache[o].runInNewContext(this.currSandbox)}catch(c){if(this.ignoreEvalErrors)return!1;throw new Error("jsonPath: "+c.message+": "+t)}};Ur.cache={};Ur.toPathString=function(t){let e=t,r=e.length,n="$";for(let s=1;s<r;s++)/^(~|\^|@.*?\(\))$/u.test(e[s])||(n+=/^[0-9*]+$/u.test(e[s])?"["+e[s]+"]":"['"+e[s]+"']");return n};Ur.toPointer=function(t){let e=t,r=e.length,n="";for(let s=1;s<r;s++)/^(~|\^|@.*?\(\))$/u.test(e[s])||(n+="/"+e[s].toString().replaceAll("~","~0").replaceAll("/","~1"));return n};Ur.toPathArray=function(t){let{cache:e}=Ur;if(e[t])return e[t].concat();let r=[],s=t.replaceAll(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/gu,";$&;").replaceAll(/[['](\??\(.*?\))[\]'](?!.\])/gu,function(i,a){return"[#"+(r.push(a)-1)+"]"}).replaceAll(/\[['"]([^'\]]*)['"]\]/gu,function(i,a){return"['"+a.replaceAll(".","%@%").replaceAll("~","%%@@%%")+"']"}).replaceAll("~",";~;").replaceAll(/['"]?\.['"]?(?![^[]*\])|\[['"]?/gu,";").replaceAll("%@%",".").replaceAll("%%@@%%","~").replaceAll(/(?:;)?(\^+)(?:;)?/gu,function(i,a){return";"+a.split("").join(";")+";"}).replaceAll(/;;;|;;/gu,";..;").replaceAll(/;$|'?\]|'$/gu,"").split(";").map(function(i){let a=i.match(/#(\d+)/u);return!a||!a[1]?i:r[a[1]]});return e[t]=s,e[t].concat()};Ur.prototype.safeVm={Script:Vae};Ur.prototype.vm=Tat.default;var wat=(t,e)=>(t=t||"",e=e||"",resolve(t,e)),Rat={query(t,e){return Ur.JSONPath({path:e,json:t})}},Yae=!0,Nat=":eq|:lt|:gt|:first|:last|:not|:even|:odd|:has|:contains|:matches|:empty|^body$|^#",gxr="(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)",Axr="^(ftp|magnet|thunder|ws):",Jae=class{constructor(e=""){this.MY_URL=e,this.pdfh_html="",this.pdfa_html="",this.pdfh_doc=null,this.pdfa_doc=null}test(e,r){return!!new RegExp(e,"mi").exec(r)}contains(e,r){return e.indexOf(r)!==-1}parseHikerToJq(e,r=!1){if(this.contains(e,"&&")){let n=e.split("&&"),s=[];for(let i=0;i<n.length;i++){let a=n[i].split(" "),o=a[a.length-1];this.test(Nat,o)||!r&&i>=n.length-1?s.push(n[i]):s.push(`${n[i]}:eq(0)`)}e=s.join(" ")}else{let n=e.split(" "),s=n[n.length-1];!this.test(Nat,s)&&r&&(e=`${e}:eq(0)`)}return e}getParseInfo(e){let r=[],n=0,s=e;if(this.contains(e,":eq")){s=e.split(":eq")[0];let i=e.split(":eq")[1];this.contains(s,"--")?(r=s.split("--").slice(1),s=s.split("--")[0]):this.contains(i,"--")&&(r=i.split("--").slice(1),i=i.split("--")[0]);try{n=parseInt(i.split("(")[1].split(")")[0])}catch{}}else this.contains(e,"--")&&(s=e.split("--")[0],r=e.split("--").slice(1));return{nparse_rule:s,nparse_index:n,excludes:r}}reorderAdjacentLtAndGt(e){let r=/:gt\((\d+)\):lt\((\d+)\)/,n;for(;(n=r.exec(e))!==null;){let s=`:lt(${n[2]}):gt(${n[1]})`;e=e.substring(0,n.index)+s+e.substring(n.index+n[0].length),r.lastIndex=n.index}return e}parseOneRule(e,r,n){let{nparse_rule:s,nparse_index:i,excludes:a}=this.getParseInfo(r);if(s=this.reorderAdjacentLtAndGt(s),n?n=n.find(s):n=e(s),this.contains(r,":eq")&&(n=n.eq(i)),a.length>0&&n){n=n.clone();for(let o of a)n.find(o).remove()}return n}parseText(e){return e=e.replace(/[\s]+/gm,`
`),e=e.replace(/\n+/g,`
`).replace(/^\s+/,""),e=e.replace(/\n/g," "),e}pdfa(e,r){if(!e||!r)return[];r=this.parseHikerToJq(r);let n=Me(e);Yae&&this.pdfa_html!==e&&(this.pdfa_html=e,this.pdfa_doc=n);let s=r.split(" "),i=null;for(let o of s)if(i=this.parseOneRule(n,o,i),!i)return[];return(i?.toArray()??[]).map(o=>{let c=`${n(o)}`;return c||""})}pdfl(e,r,n,s,i){if(!e||!r)return[];r=this.parseHikerToJq(r,!1);let a=[],o=Me(e),c=r.split(" "),u=null;for(let l of c)if(u=this.parseOneRule(o,l,u),!u)return[];return u.each((l,d)=>{a.push(`${o(d)}`)}),a}pdfh(e,r,n=""){if(!e||!r)return"";let s=Me(e);if(typeof Yae<"u"&&Yae&&this.pdfa_html!==e&&(this.pdfa_html=e,this.pdfa_doc=s),r==="body&&Text"||r==="Text")return this.parseText(s.text());if(r==="body&&Html"||r==="Html")return s.html();let i;if(this.contains(r,"&&")){let c=r.split("&&");i=c.pop(),r=c.join("&&")}r=this.parseHikerToJq(r,!0);let a=r.split(" "),o=null;for(let c of a)if(o=this.parseOneRule(s,c,o),!o)return"";if(i)switch(i){case"Text":o=o?this.parseText(o.text()):"";break;case"Html":o=o?o.html():"";break;default:let c=o.clone(),u=i.split("||");for(let l of u){if(o=c?.attr(l)||"",this.contains(l.toLowerCase(),"style")&&this.contains(o,"url("))try{o=o.match(/url\((.*?)\)/)[1],o=o.replace(/^['"]|['"]$/g,"")}catch{}if(o&&n&&this.test(gxr,l)&&!this.test(Axr,o)&&(o=o.includes("http")?o.slice(o.indexOf("http")):wat(n,o)),o)break}}else o=`${o}`;return o}pd(e,r,n=""){return n||(n=this.MY_URL),this.pdfh(e,r,n)}pq(e){return Me(e)}pjfh(e,r,n=!1){if(!e||!r)return"";try{e=typeof e=="string"?JSON.parse(e):e}catch{return console.log("\u5B57\u7B26\u4E32\u8F6C JSON \u5931\u8D25"),""}r.startsWith("$.")||(r="$."+r);let s="",i=r.split("||");for(let a of i){let o=Rat.query(e,a);if(s=Array.isArray(o)?o[0]||"":o||"",n&&s&&(s=wat(this.MY_URL,s)),s)break}return s}pj(e,r){return this.pjfh(e,r,!0)}pjfa(e,r){if(!e||!r)return[];try{e=typeof e=="string"?JSON.parse(e):e}catch{return[]}r.startsWith("$.")||(r="$."+r);let n=Rat.query(e,r);return Array.isArray(n)&&Array.isArray(n[0])&&n.length===1?n[0]:n||[]}},Oat=Jae;async function yxr(t){try{return await Ae.request(typeof t=="string"?t:{url:t.url,method:t.method||"GET",headers:t.headers||{"User-Agent":oDe},data:t.data||"",responseType:t.responseType||""})}catch(e){return e.response}}async function Pat(t){return(await he.get(t,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"}})).data}var Xae="https://www.91panta.cn",Zae=t=>new Oat().pq(t),Dat=[{type_id:"39765285016165",type_name:"\u7535\u5F71"},{type_id:"39765284616164",type_name:"\u7535\u89C6\u5267"},{type_id:"39724839640293",type_name:"\u7EFC\u827A"},{type_id:"39724838540291",type_name:"\u52A8\u6F2B"},{type_id:"44732560408431",type_name:"\u77ED\u5267"},{type_id:"39956600861068",type_name:"\u7EAA\u5F55\u7247"}],xxr=Dat.map(t=>t.type_name.trim());async function bxr(t,e){return{class:Dat,filters:{}}}async function Exr(t,e){let r=t.body.id,s=t.body.page||1;s==0&&(s=1);let i=await Pat(`${Xae}/?tagId=${r}&page=${s}`),a=Zae(i),o=[];a(".topicList .topicItem").each((d,f)=>{let p=a(f).find("h2 a:first")[0];if(!p||!p.children||!p.children[0]||!p.attribs)return;let m=p.children[0].data;if(!m)return;let h=a(f).find(".tm-m-photos-thumb li:first")[0]?.attribs["data-src"];o.push({vod_name:m.split(" ")[0],vod_id:p.attribs.href,vod_pic:h?`https://www.91panta.cn/${h}`:"https://www.91panta.cn/favicon.ico"})});let c=a(".topicPage .pg")[0],u=o.length,l=1;if(c){let d=a(c).find(".count")[0];if(d&&d.children&&d.children[0]){let p=d.children[0].data.match(/\d+/);p&&(u=p[0])}let f=a(c).find(".last")[0];if(f&&f.attribs&&f.attribs.title){let p=f.attribs.title.match(/\d+/);p&&(l=p[0])}}return{page:parseInt(s),pagecount:l?parseInt(l):1,limit:o.length,total:u?parseInt(u):o.length,list:o}}async function _xr(t,e){let r=await Pat(`${Xae}/${t.body.id}`),n=Zae(r),s=n(".title")[0];if(!s||!s.children||!s.children[0])return{list:[]};let i={vod_name:s.children[0].data.trim(),vod_id:`/${t.body.id}`,vod_content:n("div.topicContent p:nth-child(1)").text().replace(/\s+/g,"")},a=n(".topicContent").html(),o=a.match(/<a\s+(?:[^>]*?\s+)?href=["'](https:\/\/(?:caiyun|yun)\.139\.com\/[^"']*)["'][^>]*>/gi);if(!o||o.length===0)if(o=a.match(/<span\s+style="color:\s*#0070C0;\s*">https:\/\/(?:caiyun|yun)\.139\.com\/[^<]*<\/span>/gi),o&&o.length>0){let c=o[0].match(/https:\/\/(?:caiyun|yun)\.139\.com\/[^<]*/);o=c?c[0]:null}else{let c=a.match(/https:\/\/(?:caiyun|yun)\.139\.com\/[^<\s]*/);o=c?c[0]:null}else{let c=o[0].match(/https:\/\/(?:caiyun|yun)\.139\.com\/[^"']*/);o=c?c[0]:null}if(o){let c=await Rr(o,t);c&&c.froms&&c.urls&&(i.vod_play_from=c.froms,i.vod_play_url=c.urls,i.vod_links=c.links)}return{list:[i]}}async function Sxr(t,e){let r=t.body.page||1,n=t.body.wd,s=(await yxr(`${Xae}/search?keyword=${encodeURIComponent(decodeURIComponent(n))}&page=${r}`)).data,i=Zae(s),a=[];return i(".topicList .topicItem").each((o,c)=>{let u=i(c).find(".tag")[0],l=u?i(u).html().trim():null;if(u&&xxr.includes(l)){let d=i(c).find(".title a:first")[0];if(!d||!d.attribs)return;let f=i(c).find(".tm-m-photos-thumb li:first")[0]?.attribs["data-src"],p=i(d).html().replace(/<[^>]*>/g,"").replace(/\s+/g,"");a.push({vod_name:p,vod_id:d.attribs.href,vod_remarks:"",vod_pic:f?`https://www.91panta.cn/${f}`:"https://www.91panta.cn/favicon.ico"})}}),{page:r,pagecount:1,list:a}}var kat={meta:{key:"panta",name:"\u300C\u76D8\u300D\u76D8Ta",type:3},api:async t=>{t.post("/init",qr),t.post("/home",bxr),t.post("/category",Exr),t.post("/detail",_xr),t.post("/play",Or),t.post("/search",Sxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var vxr=["https://wogg.xxooo.cf","https://www.wogg.net"],eoe=async t=>(await t.db.getObjectDefault("/wanou",{}))?.urls||t.config.wanou?.urls||vxr,Cxr=async(t,e)=>{await t.db.push("/wanou/urls",e)},Ixr=async t=>{await t.db.delete("/wanou/urls")};async function toe(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await eoe(e.server)})}),t.put("/urls",async(e,r)=>{await Cxr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Ixr(e.server),r.send({code:0})})}var roe,D4=t=>{if(!roe){let e=Date.now();roe=new Promise(async r=>{let n=await eoe(t),s=await Xn(n);console.log("\u73A9\u5076\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return roe};async function O4(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Txr(t,e){return await qr(t,e),{}}async function wxr(t,e){let r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"44",type_name:"\u81FB\u5F69"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"46",type_name:"\u7EAA\u5F55"},{type_id:"6",type_name:"\u77ED\u5267"},{type_id:"5",type_name:"\u97F3\u4E50"}],n=[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}],s=[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}],i=[{n:"\u5168\u90E8",v:""},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u8B66\u532A",v:"\u8B66\u532A"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u67AA\u6218",v:"\u67AA\u6218"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u60CA\u609A",v:"\u60CA\u609A"},{n:"\u7ECF\u5178",v:"\u7ECF\u5178"},{n:"\u9752\u6625",v:"\u9752\u6625"},{n:"\u6587\u827A",v:"\u6587\u827A"},{n:"\u5FAE\u7535\u5F71",v:"\u5FAE\u7535\u5F71"},{n:"\u5386\u53F2",v:"\u5386\u53F2"}],a=[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u4E2D\u56FD\u9999\u6E2F",v:"\u4E2D\u56FD\u9999\u6E2F"},{n:"\u4E2D\u56FD\u53F0\u6E7E",v:"\u4E2D\u56FD\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u5FB7\u56FD",v:"\u5FB7\u56FD"},{n:"\u5370\u5EA6",v:"\u5370\u5EA6"},{n:"\u610F\u5927\u5229",v:"\u610F\u5927\u5229"},{n:"\u52A0\u62FF\u5927",v:"\u52A0\u62FF\u5927"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}],o={};return o[1]=[{key:"class",name:"",init:"",value:i},{key:"area",name:"",init:"",value:a},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[2]=[{key:"class",name:"",init:"",value:i},{key:"area",name:"",init:"",value:a},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[3]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u60C5\u611F",v:"\u60C5\u611F"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u70ED\u8840",v:"\u70ED\u8840"},{n:"\u63A8\u7406",v:"\u63A8\u7406"},{n:"\u641E\u7B11",v:"\u641E\u7B11"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u841D\u8389",v:"\u841D\u8389"},{n:"\u6821\u56ED",v:"\u6821\u56ED"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u673A\u6218",v:"\u673A\u6218"},{n:"\u8FD0\u52A8",v:"\u8FD0\u52A8"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u5C11\u5E74",v:"\u5C11\u5E74"},{n:"\u5C11\u5973",v:"\u5C11\u5973"},{n:"\u793E\u4F1A",v:"\u793E\u4F1A"},{n:"\u539F\u521B",v:"\u539F\u521B"},{n:"\u4EB2\u5B50",v:"\u4EB2\u5B50"},{n:"\u76CA\u667A",v:"\u76CA\u667A"},{n:"\u52B1\u5FD7",v:"\u52B1\u5FD7"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[44]=[{key:"class",name:"",init:"",value:i},{key:"area",name:"",init:"",value:a},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[4]=[{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u4E2D\u56FD\u53F0\u6E7E",v:"\u4E2D\u56FD\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"}]},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[46]=[{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[6]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u7537\u9891",v:"\u7537\u9891"},{n:"\u5973\u9891",v:"\u5973\u9891"},{n:"\u90FD\u5E02",v:"\u90FD\u5E02"},{n:"\u751C\u5BA0",v:"\u751C\u5BA0"},{n:"\u5E74\u4EE3",v:"\u5E74\u4EE3"},{n:"\u7A7F\u8D8A",v:"\u7A7F\u8D8A"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u4EB2\u60C5",v:"\u4EB2\u60C5"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u840C\u5B9D",v:"\u840C\u5B9D"},{n:"\u91CD\u751F",v:"\u91CD\u751F"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u9006\u88AD",v:"\u9006\u88AD"},{n:"\u8650\u604B",v:"\u8650\u604B"},{n:"\u9274\u5B9D",v:"\u9274\u5B9D"},{n:"\u590D\u4EC7",v:"\u590D\u4EC7"},{n:"\u4FEE\u4ED9",v:"\u4FEE\u4ED9"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"}]},{key:"by",name:"",init:"time",value:s}],o[5]=[{key:"by",name:"",init:"time",value:s}],{class:r,filters:o}}function Rxr(t,e){let r=String(e||"").trim();if(!r)return"";if(/^https?:\/\//i.test(r)){if(/^https?:\/\/[^/]*gimg\d*\.baidu\.com\/gimg\//i.test(r)){let n=r.lastIndexOf("src=");if(n!==-1&&r.slice(n+4).includes("data:image/"))return""}return r}return r.startsWith("/img.php?url=")?r.slice(13):r.startsWith("/db.php?url=")?new URL(r,`${String(t||"").replace(/\/+$/,"")}/`).toString():new URL(r.replace(/^\/+/,""),`${String(t||"").replace(/\/+$/,"")}/`).toString()}function P4(t,e){return Rxr(t,e?.attribs?.["data-src"]||e?.attribs?.src||"")}function Nxr(t){let e=Array.isArray(t)?t:t.split("-");for(let r=1;r<e.length;r++)if(e[r]!="")return r;return-1}async function Oxr(t,e){let r=await D4(t.server),n=t.body.id,s=t.body.page,i=t.body.filters||{},a=s||1;if(a==0&&(a=1),n.startsWith("s-")){let o=["","","","","","","","","","",a,"","",""],c=n.split("-");o[parseInt(c[1])]=c[2];let u=await O4(`${r}/index.php/vodsearch/${o.join("-")}.html`),l=Me(u),d=l("div.module-items > div.module-search-item").map((f,p)=>{let m=l(p).find("div.video-info-header h3 a")[0];return{vod_id:m.attribs.href.match(/voddetail\/(.*).html/)[1],vod_name:m.attribs.title,vod_pic:P4(r,l(p).find("div.module-item-pic img")[0]),vod_remarks:l(p).find("a.video-serial").text()}}).get();return{page:a,pagecount:d.length<10?a:a+1,list:d}}else{let o=[n,"","","","","","","",a,"","",""];i.area&&(o[1]=i.area),i.by&&(o[2]=i.by),i.class&&(o[3]=i.class),i.year&&(o[11]=i.year);let c=`${r}/index.php/vodshow/${o.join("-")}.html`,u=await O4(c),l=Me(u),d=l("div.module-items > div.module-item").map((f,p)=>{let m=l(p).find("div.video-name a")[0];return{vod_id:m.attribs.href.match(/voddetail\/(.*).html/)[1],vod_name:m.attribs.title,vod_pic:P4(r,l(p).find("div.module-item-pic img")[0]),vod_remarks:l(p).find("div.module-item-text").text()}}).get();return{page:a,pagecount:d.length<70?a:a+1,list:d}}}async function Pxr(t,e){let r=await D4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await O4(`${r}/index.php/voddetail/${i}.html`),o=Me(a),c=[],u=[],l="";o("div.video-info-items a[href*=/vodsearch/]").each((m,h)=>{let A=h.attribs.href.match(/vodsearch\/(.*).html/)[1].split("-"),g=o(h).text().trim(),b=Nxr(A);if(b===5){let y={id:"s-5-"+decodeURIComponent(A[5].toString()),name:g};c.push(`[a=cr:${JSON.stringify(y)}/]${g}[/a]`)}else if(b===1){let y={id:"s-1-"+decodeURIComponent(A[1].toString()),name:g};u.push(`[a=cr:${JSON.stringify(y)}/]${g}[/a]`)}else b===13&&(l=g)});let d={vod_name:o(".page-title")[0].children[0].data,vod_pic:P4(r,o(".mobile-play .lazyload")[0]||o(".module-item-pic img")[0]),vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||"",vod_year:l,vod_actor:u.join(", "),vod_director:c.join(", "),vod_content:o("div.video-info-content p[style*=none]")[0].children[0].data.trim()},f=o("div.module-row-info p").map((m,h)=>h.children[0].data).get(),p=await Rr(f,t);p&&(d.vod_play_from=p.froms,d.vod_play_url=p.urls,d.vod_links=p.links),s.push(d)}return{list:s}}async function Dxr(t,e){let r=await D4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await O4(`${r}/index.php/vodsearch/-------------.html?wd=${s}`),o=Me(a),c=o("div.module-items > div.module-search-item").map((u,l)=>{let d=o(l).find("div.video-info-header h3 a")[0];return{vod_id:d.attribs.href.match(/voddetail\/(.*).html/)[1],vod_name:d.attribs.title,vod_pic:P4(r,o(l).find("div.module-item-pic img")[0]),vod_remarks:o(l).find("a.video-serial").text()}}).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}async function kxr(t,e){try{let r=function(a){a.statusCode&&a.statusCode==500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/init`);if(s.init=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/home`),s.home=i.json(),r(i.json()),s.home.class.length>0&&(i=await t.server.inject().post(`${n}/category`).payload({id:s.home.class[0].type_id,page:1,filter:!0,filters:{}}),s.category=i.json(),r(i.json()),s.category.list.length>0&&(i=await t.server.inject().post(`${n}/detail`).payload({id:s.category.list[0].vod_id}),s.detail=i.json(),r(i.json()),s.detail.list&&s.detail.list.length>0))){s.play=[];for(let a of s.detail.list){let o=a.vod_play_from.split("$$$"),c=a.vod_play_url.split("$$$");for(let u=0;u<o.length;u++){let l=o[u],d=c[u].split("#");for(let f=0;f<d.length&&f<2;f++)i=await t.server.inject().post(`${n}/play`).payload({flag:l,id:d[f].split("$")[1]}),s.play.push(i.json())}}}return i=await t.server.inject().post(`${n}/search`).payload({wd:"\u7231",page:1}),s.search=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Lat={meta:{key:"wanou",name:"\u300C\u76D8\u300D\u73A9\u5076",type:3},api:async t=>{t.post("/init",Txr),t.post("/home",wxr),t.post("/category",Oxr),t.post("/detail",Pxr),t.post("/play",Or),t.post("/search",Dxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr),t.get("/test",kxr)},check:D4};var Lxr=["http://www.miqk.cc","https://mihdr.top","https://www.mihdr.top","https://zhizhen1.top"],noe=async t=>(await t.db.getObjectDefault("/zhizhen",{}))?.urls||t.config.zhizhen?.urls||Lxr,Bxr=async(t,e)=>{await t.db.push("/zhizhen/urls",e)},Mxr=async t=>{await t.db.delete("/zhizhen/urls")};async function soe(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await noe(e.server)})}),t.put("/urls",async(e,r)=>{await Bxr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Mxr(e.server),r.send({code:0})})}var ioe,k4=t=>{if(!ioe){let e=Date.now();ioe=new Promise(async r=>{let n=await noe(t),s=await Xn(n);console.log("\u81F3\u81FB\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return ioe};async function aoe(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Wxr(t,e){return{class:[{type_id:"26",type_name:"\u4E25\u9009"},{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"5",type_name:"\u77ED\u5267"},{type_id:"24",type_name:"\u8001\u5267"}],filters:{}}}async function $xr(t,e){let r=await k4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await aoe(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Fxr(t,e){let r=await k4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await aoe(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function Uxr(t,e){let r=await k4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await aoe(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Bat={meta:{key:"zhizhen",name:"\u300C\u76D8\u300D\u81F3\u81FB",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Wxr),t.post("/category",$xr),t.post("/detail",Fxr),t.post("/play",Or),t.post("/search",Uxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:k4};var L4=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Mat=t=>String(t??"").split(",").map(e=>e.trim()).filter(e=>e),Wat=t=>(Array.isArray(t)?t:[]).map(e=>String(e||"").trim()).filter(e=>e),Fat="douerpan,zyfb123",qxr={douerpan:"\u8C46\u513F\u76D8",zyfb123:"\u8C46\u513F123"},ooe=async(t,e,r)=>{let n=await t.db.getObjectDefault("/tgchannel",{});if(L4(n,e))return n[e];let s=t.config?.tgchannel||{};return L4(s,e)?s[e]:r},$at=t=>{if(!t||typeof t!="object"||Array.isArray(t))return{};let e={};for(let[r,n]of Object.entries(t))typeof n=="string"&&n.trim()!==""&&(e[r]=n);return e},B4=t=>ooe(t,"url","https://t.me"),coe=async t=>{let e=await t.db.getObjectDefault("/tgchannel",{});if(Object.prototype.hasOwnProperty.call(e,"count"))return e.count;let r=t.config?.tgchannel||{};return Object.prototype.hasOwnProperty.call(r,"count")?r.count:""},uoe=t=>ooe(t,"channelUsername",Fat),loe=t=>ooe(t,"homeChannelUsername",Fat),M4=async t=>{let e=await t.db.getObjectDefault("/tgchannel",{});if(Object.prototype.hasOwnProperty.call(e,"pic"))return e.pic;let r=t.config?.tgchannel||{};return Object.prototype.hasOwnProperty.call(r,"pic")?r.pic:!0},W4=async t=>{let e=await t.db.getObjectDefault("/tgchannel",{});if(L4(e,"channelNameMap"))return $at(e.channelNameMap);let r=t.config?.tgchannel||{};return L4(r,"channelNameMap")?$at(r.channelNameMap):qxr},uE=async(t,e,r)=>{await t.db.push(`/tgchannel/${e}`,r)},jxr=async t=>{await t.db.delete("/tgchannel")};async function doe(t){t.get("/config",async(e,r)=>{let n=await B4(e.server),s=await coe(e.server),i=await uoe(e.server),a=await loe(e.server),o=await M4(e.server),c=await W4(e.server),u=s===""||s===null||typeof s>"u"?"":Number(s);r.send({code:0,data:{url:n,count:u,channelUsername:Mat(i),homeChannelUsername:Mat(a),pic:o,channelNameMap:c}})}),t.put("/config",async(e,r)=>{await uE(e.server,"url",e.body.url),await uE(e.server,"count",e.body.count),await uE(e.server,"channelUsername",Wat(e.body.channelUsername).join(",")),await uE(e.server,"homeChannelUsername",Wat(e.body.homeChannelUsername).join(",")),await uE(e.server,"pic",e.body.pic),await uE(e.server,"channelNameMap",e.body.channelNameMap||{}),r.send({code:0})}),t.delete("/config",async(e,r)=>{await jxr(e.server),r.send({code:0})})}function Hxr(t){let e=t.attr("style"),r=/background-image:url\('([^']+)'\)/.exec(e);if(r&&r.length>1)return r[1]}function jat(t){return t=t.replace(/https?:\/\/[^\s]+/gi,""),t=t.split(/名称[:|:]/)?.[1]||t,t=t.split(`
`)?.[0]||t,t=t.trim(),t=t.replace(/^[^\u4e00-\u9fa5A-Za-z0-9\(\[\{(【《「『〔〖〈﹝[]+/,"").trim(),t=t.replace(/^(电视剧|动漫|电影|综艺|纪录片|动画)[\s||]+/,"").trim(),/^[\(\[\{(【《「『〔〖〈﹝[]/.test(t)?(t=t.replace(/^[\(\[\{(【《「『〔〖〈﹝[][^\)\]\})】》」』〕〗〉﹞]]*[\)\]\})】》」』〕〗〉﹞]]/,"").trim(),t=t.replace(/[\(\[\{(【《「『〔〖〈﹝[].*$/,"").trim()):t=t.replace(/[\(\[\{(【《「『〔〖〈﹝[].*$/,"").trim(),t=t.replace(/((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*\d+\s*集)|((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*[一二三四五六七八九十百千万亿]+\s*集)|(\d+\s*集\s*å…¨)|([一二三四五六七八九十百千万亿]+\s*集\s*å…¨)|((?:更至|æ›´)\s*(?:EP)?\s*\d+)|((?:æ›´æ–°\s*)?EP\d+集)|(æ›´æ–°\d+集)|(S\d+\s*E\d+(?:已更新)?)/g,"").trim(),t=t.replace(/\s*\d+\s*\+\s*\d+\s*帧\s*/g,"").replace(/\s*4[Kk]\s*(DV|HDR10|SDR10|臻彩|杜比)?\s*(é«˜ç çŽ‡|50帧|10bit)?\s*/g,"").replace(/\s*\d+[pP]\s*/g,"").replace(/\s*(杜比视界|杜比音效|WEB-60fpsMAX|WEB-|DV|HDR10|HDR|SDR|臻彩|杜比|é«˜ç çŽ‡|ä¸­ç çŽ‡|50帧|25帧|60帧|10bit|10BIT|纯净版|完结|全景声|è¶…é«˜ç çŽ‡|EDR|æ ‡ç |Vivid|三维菁彩声|txb|æºç |剧版|æ— å°æ ‡|ATVP|IQ|Friday|多国字幕|双语|简中|日语|æ— æŸ|特别版|软字幕|补链接|MAX|ä¸­ç |音效|é«˜ç |台配|国语|环绕声|蓝光原盘|臻享超高清|首播|ç‚¹æ˜ |Viu|10B|硬字幕)\s*/g,"").replace(/\s*内封[^\s]*\s*/g,"").replace(/\s*——\s*/g," ").replace(/\s*\d{4}å¹´?\s*/g,"").replace(/\s*大小\s*\d+\.?\d*\s*[KMGT]B\s*/g,"").replace(/\d+\.?\d*\s*[KMGT]B/g,"").replace(/\s*å·²?æ›´æ–°\s*/g,"").replace(/\s*\+\s*/g," ").replace(/\s+/g," ").trim(),t=t.split(/,|,/)?.[0],t?.trim()}var Qxr={"User-Agent":"MoZhao"};function foe(t){return nf().some(e=>e.validator(t))}function Hat(t,e=()=>!0){let r=[];for(let n of t){let s=n.attribs?.href;s&&e(s)&&r.push(s)}return r}function _w(t){return Hat(t,foe)}function $4(t){return Hat(t,F4)}function Vf(t){return[...new Set((t||[]).filter(Boolean))]}function Gxr(t){return String(t||"").trim().replace(/&amp;/g,"&").replace(/[\)\]\}>)】》」』〕〗〉﹞]、。,,;ï¼›!?!?]+$/g,"")}function Vxr(t){let e=String(t||"");return Vf([/https?:\/\/[^\s"'<>]+/gi,/magnet:\?[^\s"'<>]+/gi,/ed2k:\/\/\|file\|.+?\|\d+\|[a-f0-9]{32}\|\//gi,/ed2k:\/\/[^\s"'<>]+/gi].flatMap(n=>e.match(n)||[]).map(Gxr))}function zxr(t,e){let r=t(e).find(".tgme_widget_message_date").attr("href");if(Gat(r))return r;let n=e.attribs?.["data-post"];return n?`https://t.me/${n}`:""}function poe(t){let e=[],r=Vxr(t);for(let n of r)foe(n)&&e.push(n);return e}function Qat(t){let e=[],r=t.match(/https?:\/\/[^\s]+/gi);if(r)for(let n of r)F4(n)&&e.push(n);return e}var Gat=t=>/t.me\/.*\/.*/.test(t),F4=t=>/https?:\/\/(?:telegra\.ph|graph\.org)\//i.test(String(t||"")),Vat=t=>nf().find(e=>e.validator(t)),zat=(t,e)=>!e||typeof e!="object"?t:e[t]||t,Kat=t=>String(t||"").split(",").map(e=>e.trim()).filter(Boolean);async function moe(t){let e=await Ae.get(t,{timeout:5e3,headers:Qxr});return Me(e.data)}async function Kxr(t){let e=await moe(t),r=e(".tl_article").text()||e("body").text()||"";return{links:Vf([...poe(r),..._w(e("a"))])}}async function Yat(t){let e=Vf((t||[]).filter(F4));if(!e.length)return[];let r=await Promise.all(e.map(async n=>{try{return(await Kxr(n)).links}catch(s){return console.error("[tgchannel] parse telegra failed",n,s?.message||s),[]}}));return Vf(r.flat())}async function Yxr(t){let e=await moe(t),r=e(".tgme_widget_message"),n=[];for(let s of r){let i=s.attribs["data-post"],a=Hxr(e(s).find(".tgme_widget_message_photo_wrap"));e("br").replaceWith(`
`);let o=e(s).find(".tgme_widget_message_text").text(),c=jat(o),u=o,l=Vf([...poe(o),..._w(e(s).find(".tgme_widget_message_text a")),..._w(e(s).find(".tgme_widget_message_inline_button"))]),d=Vf([...$4(e(s).find(".tgme_widget_message_text a")),...$4(e(s).find(".tgme_widget_message_inline_button")),...Qat(o)]),f=[...l],p=f.length?[...f]:d.length?[...d]:[];if(!p.length){let m=zxr(e,s);m&&p.push(m)}p.length&&n.push({id:p.join("|"),title:c,description:u,cover:a,messageId:Number(i.split("/")[1]),panLinks:f})}return n}async function Jxr(t){let e=await moe(t),r=e('meta[property="og:description"]').attr("content"),n=e('meta[property="og:image"]').attr("content"),s=jat(r),i=Vf([...poe(r||""),..._w(e(".tgme_widget_message_text a")),..._w(e(".tgme_widget_message_inline_button"))]),a=Vf([...Qat(r||""),...$4(e(".tgme_widget_message_text a")),...$4(e(".tgme_widget_message_inline_button"))]),o=i.length?[]:await Yat(a),c=Vf([...i,...o]);return{title:s,description:r,cover:n,links:c}}async function Xxr(t,e){return await qr(t,e),{}}async function Zxr(t){let e=await loe(t.server),r=await W4(t.server);return{class:Kat(e).map(n=>({type_id:n,type_name:zat(n,r)}))}}var Uat={},qat={},hoe={};async function Jat(t){let e=await B4(t.server),r=await M4(t.server),n=t.body.id,s=t.body.page;s||(s=1);try{let i=await Yxr(`${e}/s/${n}${s>1?`?before=${qat[n]}`:""}`);qat[n]=i[0].messageId,s===1&&(Uat[n]=i[i.length-1].messageId),i.reverse();let a=i.map(o=>{let c,u="";return o.panLinks.length&&o.panLinks.forEach(l=>{let d=Vat(l);d&&(u+=u?`|${d.name}`:d.name,c||(c=d.pic))}),c||(c="https://telegram.org/img/apple-touch-icon.png"),{vod_name:o.title,vod_id:o.id,vod_pic:r&&o.cover||c,vod_remarks:u,rawData:o}});return a.forEach(o=>{o.vod_name&&o.vod_id&&(hoe[o.vod_id]=o.vod_name)}),{page:s,pagecount:Math.ceil(Uat[n]/a.length),list:a}}catch(i){return console.error(i),{page:s,pagecount:1,list:[]}}}async function ebr(t,e){let r=await B4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=i.split("|"),o=hoe[i]||"";if(a.length===1&&Gat(a[0])){let l=await Jxr(i.replace("https://t.me",r));!o&&l.title&&(o=l.title),a=l.links}else!a.some(foe)&&a.some(F4)&&(a=await Yat(a));let c=await Rr(a,t),u={vod_id:i,vod_name:o};c&&(u.vod_play_from=c.froms,u.vod_play_url=c.urls,u.vod_links=c.links),s.push(u)}return{list:s}}async function tbr(t,e){let r=await coe(t.server),n=await uoe(t.server),s=await M4(t.server),i=await W4(t.server),a=t.body.wd,o=Number(r),c=Number.isFinite(o)?Math.floor(o):0,u=c>0,l=Kat(n);if(!l.length)return{page:1,pagecount:1,list:[]};let d=await Promise.all(l.map(p=>Jat({body:{id:`${p}?q=${encodeURIComponent(a)}`},server:t.server}))),f=[];return d.forEach((p,m)=>{let h=p.list.filter(g=>g.rawData.panLinks.length);(u?h.slice(0,c):h).forEach(g=>{let b="",y;g.rawData.panLinks.forEach(x=>{let v=Vat(x);v&&(b+=b?`|${v.name}`:v.name),y||(y=v.pic)}),f.push({vod_id:g.vod_id,vod_name:g.vod_name,vod_pic:s&&g.vod_pic||y,vod_remarks:`${b}:${zat(l[m],i)}`}),g.vod_name&&g.vod_id&&(hoe[g.vod_id]=g.vod_name)})}),{page:1,pagecount:1,list:f}}var Xat={meta:{key:"tgchannel",name:"\u300C\u76D8\u300DTG\u641C",type:3},api:async t=>{t.post("/init",Xxr),t.post("/home",Zxr),t.post("/category",Jat),t.post("/detail",ebr),t.post("/play",Or),t.post("/search",tbr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var U4=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),rbr=t=>String(t??"").split(",").map(e=>e.trim()).filter(e=>e),nbr=t=>(Array.isArray(t)?t:[]).map(e=>String(e||"").trim()).filter(e=>e),eot=async(t,e,r)=>{let n=await t.db.getObjectDefault("/tgsou",{});if(U4(n,e))return n[e];let s=t.config?.tgsou||{};return U4(s,e)?s[e]:r},Zat=t=>{if(!t||typeof t!="object"||Array.isArray(t))return{};let e={};for(let[r,n]of Object.entries(t))typeof n=="string"&&n.trim()!==""&&(e[r]=n);return e},goe=t=>eot(t,"url","https://tgsou.252035.xyz"),Aoe=async t=>{let e=await t.db.getObjectDefault("/tgsou",{});if(Object.prototype.hasOwnProperty.call(e,"count"))return e.count;let r=t.config?.tgsou||{};return Object.prototype.hasOwnProperty.call(r,"count")?r.count:""},yoe=t=>eot(t,"channelUsername",""),xoe=async t=>{let e=await t.db.getObjectDefault("/tgsou",{});if(Object.prototype.hasOwnProperty.call(e,"pic"))return e.pic;let r=t.config?.tgsou||{};return Object.prototype.hasOwnProperty.call(r,"pic")?r.pic:!0},boe=async t=>{let e=await t.db.getObjectDefault("/tgsou",{}),r={};if(U4(e,"channelNameMap"))r=Zat(e.channelNameMap);else{let n=t.config?.tgsou||{};U4(n,"channelNameMap")&&(r=Zat(n.channelNameMap))}return r},Sw=async(t,e,r)=>{await t.db.push(`/tgsou/${e}`,r)};async function Eoe(t){t.get("/config",async(e,r)=>{let n=await goe(e.server),s=await Aoe(e.server),i=await yoe(e.server),a=await xoe(e.server),o=await boe(e.server),c=s===""||s===null||typeof s>"u"?"":Number(s);r.send({code:0,data:{url:n,count:c,channelUsername:rbr(i),pic:a,channelNameMap:o}})}),t.put("/config",async(e,r)=>{await Sw(e.server,"url",e.body.url),await Sw(e.server,"count",e.body.count),await Sw(e.server,"channelUsername",nbr(e.body.channelUsername).join(",")),await Sw(e.server,"pic",e.body.pic),await Sw(e.server,"channelNameMap",e.body.channelNameMap||{}),r.send({code:0})})}var tot={};async function sbr(t,e){return await qr(t,e),{}}async function ibr(t,e){return{class:[]}}var abr=(t,e)=>!e||typeof e!="object"?t:e[t]||t;function obr(t){return t&&(t=t.replace(/https?:\/\/[^\s]+/gi,""),t=t.split(/名称[:|:]/)?.[1]||t,t=t.split(`
`)?.[0]||t,t=t.trim(),t=t.replace(/^[^\u4e00-\u9fa5A-Za-z0-9\(\[\{(【《「『〔〖〈﹝[]+/,"").trim(),t=t.replace(/^(电视剧|动漫|电影|综艺|纪录片|动画)[\s||]+/,"").trim(),/^[\(\[\{(【《「『〔〖〈﹝[]/.test(t)?(t=t.replace(/^[\(\[\{(【《「『〔〖〈﹝[][^\)\]\})】》」』〕〗〉﹞]]*[\)\]\})】》」』〕〗〉﹞]]/,"").trim(),t=t.replace(/[\(\[\{(【《「『〔〖〈﹝[].*$/,"").trim()):t=t.replace(/[\(\[\{(【《「『〔〖〈﹝[].*$/,"").trim(),t=t.replace(/((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*\d+\s*集)|((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*[一二三四五六七八九十百千万亿]+\s*集)|(\d+\s*集\s*å…¨)|([一二三四五六七八九十百千万亿]+\s*集\s*å…¨)|((?:更至|æ›´)\s*(?:EP)?\s*\d+)|((?:æ›´æ–°\s*)?EP\d+集)|(æ›´æ–°\d+集)|(S\d+\s*E\d+(?:已更新)?)/g,"").trim(),t=t.replace(/\s*\d+\s*\+\s*\d+\s*帧\s*/g,"").replace(/\s*4[Kk]\s*(DV|HDR10|SDR10|臻彩|杜比)?\s*(é«˜ç çŽ‡|50帧|10bit)?\s*/g,"").replace(/\s*\d+[pP]\s*/g,"").replace(/\s*(杜比视界|杜比音效|WEB-60fpsMAX|WEB-|DV|HDR10|HDR|SDR|臻彩|杜比|é«˜ç çŽ‡|ä¸­ç çŽ‡|50帧|25帧|60帧|10bit|10BIT|纯净版|完结|全景声|è¶…é«˜ç çŽ‡|EDR|æ ‡ç |Vivid|三维菁彩声|txb|æºç |剧版|æ— å°æ ‡|ATVP|IQ|Friday|多国字幕|双语|简中|日语|æ— æŸ|特别版|软字幕|补链接|MAX|ä¸­ç |音效|é«˜ç |台配|国语|环绕声|蓝光原盘|臻享超高清|首播|ç‚¹æ˜ |Viu|10B|硬字幕)\s*/g,"").replace(/\s*内封[^\s]*\s*/g,"").replace(/\s*——\s*/g," ").replace(/\s*\d{4}å¹´?\s*/g,"").replace(/\s*大小\s*\d+\.?\d*\s*[KMGT]B\s*/g,"").replace(/\d+\.?\d*\s*[KMGT]B/g,"").replace(/\s*å·²?æ›´æ–°\s*/g,"").replace(/\s*\+\s*/g," ").replace(/\s+/g," ").trim(),t=t.split(/,|,/)?.[0],t?.trim())}async function cbr(t,e){return{page:1,pagecount:1,list:[]}}async function ubr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i=s.includes("|")?s.split("|"):[s],a=await Rr(i,t),o={};o.vod_name=tot[s]||"",a&&(o.vod_play_from=a.froms,o.vod_play_url=a.urls,o.vod_links=a.links),n.push(o)}return{list:n}}async function lbr(t,e){let r=await goe(t.server),n=await Aoe(t.server),s=await yoe(t.server),i=await xoe(t.server),a=await boe(t.server),o=t.body.wd,c=Number(n),u=Number.isFinite(c)?Math.floor(c):0,l=u>0,d=new URL(r);d.searchParams.set("pic",String(i)),l&&d.searchParams.set("count",String(u)),d.searchParams.set("channelUsername",s),d.searchParams.set("keyword",o||"");let f=await Ae.get(d.toString()),p=new Map;for(let h of f.data.results){let[A,g]=h.split("$$$");if(!g)continue;let b=g.split("##");for(let y=0;y<b.length&&(!l||y<=u);y++){let[x,v]=b[y].split("$$"),[C,R]=x.split("@"),w=nf().find(N=>N.validator(C));if(w){let N=obr(v)||o,P=!!R,L=P?/^https?:\/\//i.test(R)?R:`${r}/down?id=${R}&channelUsername=${A}`:w.pic,M=P?L:C;p.has(M)||p.set(M,{links:[],panInfos:[],pic:L,group:A,title:N});let k=p.get(M),B=C?.replace(/\s+/g,"");k.links.includes(B)||(k.links.push(B),k.panInfos.push(w))}}}let m=[];for(let[h,A]of p.entries()){let g=[...new Set(A.panInfos.map(b=>b.name))].join("/");m.push({vod_id:A.links.join("|"),vod_name:A.title,vod_pic:A.pic,vod_remarks:`${g}:${abr(A.group,a)}`}),A.title&&A.links.length&&(tot[A.links.join("|")]=A.title)}return{page:1,pagecount:1,list:m}}var rot={meta:{key:"tgsou",name:"\u300C\u76D8\u300DTG\u641C\xB2",type:3},api:async t=>{t.post("/init",sbr),t.post("/home",ibr),t.post("/category",cbr),t.post("/detail",ubr),t.post("/play",Or),t.post("/search",lbr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var not=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),dbr="http://127.0.0.1:8080",iot=async(t,e,r)=>{let n=await t.db.getObjectDefault("/tgfilebot",{});if(not(n,e))return n[e];let s=t.config?.tgfilebot||{};return not(s,e)?s[e]:r},_oe=t=>iot(t,"url",dbr),Soe=t=>iot(t,"password",""),sot=async(t,e,r)=>{await t.db.push(`/tgfilebot/${e}`,r)},fbr=async t=>{await t.db.delete("/tgfilebot")};async function voe(t){t.get("/config",async(e,r)=>{let n=await _oe(e.server),s=await Soe(e.server);r.send({code:0,data:{url:n,password:s}})}),t.put("/config",async(e,r)=>{await sot(e.server,"url",e.body.url||""),await sot(e.server,"password",e.body.password||""),r.send({code:0})}),t.delete("/config",async(e,r)=>{await fbr(e.server),r.send({code:0})})}var pbr="http://127.0.0.1:8080",oot="",vw=20,mbr=30;async function hbr(t,e){return{}}function gbr(t){for(t=String(t||"").trim();t.endsWith("/");)t=t.slice(0,-1);return t}function ns(t){return String(t||"").replace(/\s+/g," ").trim()}function cot(t){return ns(t).replace(/[$#]/g," ")}function Coe(t){return ns(t).replace(/^>+\s*/,"").replace(/^\*\*(.*?)\*\*$/,"$1").replace(/^__(.*?)__$/,"$1").replace(/^`(.*?)`$/,"$1").replace(/^\[(.*?)\]\([^)]*\)$/,"$1").replace(/^[-•]\s*/,"").replace(/^\*\s+/,"").trim()}function uot(t){let e=String(t||"").replace(/\r\n/g,`
`).split(`
`);for(let r of e){let n=ns(r);if(n&&!/^(主演|类型|制片国家|语言|ä¸Šæ˜ æ—¥æœŸ|片长|又名|导演|编剧)\s*[::]/.test(Coe(n)))return n}return""}function lot(t){return String(t||"").replace(/[0-ï¼™]/g,e=>String(e.charCodeAt(0)-65296))}function Abr(t){let e=String(t||"").replace(/两/g,"\u4E8C");if(!e)return 0;if(/^\d+$/.test(e))return Number(e);let r={\u96F6:0,"\u3007":0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9},n={\u5341:10,\u767E:100,\u5343:1e3,\u4E07:1e4},s=0,i=0,a=0;for(let o of e){if(r[o]!==void 0){a=r[o];continue}let c=n[o];if(!c)return 0;c===1e4?(i=(i+a)*c,s+=i,i=0):i+=(a||1)*c,a=0}return s+i+a}function H4(t){let e=ns(t).replace(/\.[a-z0-9]{2,5}$/i,""),r=e.match(/(?:^|[^0-90-ï¼™])(?:第\s*)?([0-90-ï¼™]{1,4})\s*(?:集|話|话|回|期)(?:\D|$)/);return r?"\u7B2C"+lot(r[1]).replace(/^0+/,"")+"\u96C6":(r=e.match(/^0*([1-9][0-9]{0,3})(?=[\s._\-【\[((]|$)/),r?"\u7B2C"+r[1]+"\u96C6":"")}function aot(t){let e=lot(ns(t)),r=e.match(/第\s*([0-9]{1,4}|[零〇一二三四五六七八九十百千万两]{1,8})\s*(?:集|話|话|回|期)/);return r?Abr(r[1].replace(/^0+/,"")):(r=e.match(/^0*([1-9][0-9]{0,3})(?=[\s._\-【\[((]|$)/),r?Number(r[1]):0)}function dot(t,e){let r=Coe(uot(t));if(!r)return{name:"",remark:""};let n=r.match(/^[【\[]\s*([^】\]]+?)\s*[】\]]/);if(n)return{name:ns(n[1]),remark:H4(e)};let s=r.startsWith("#")?r.replace(/^#+\s*/,"").trim():r;if(!s)return{name:"",remark:""};if(!r.startsWith("#"))return{name:ns(s),remark:H4(e)};let i=s.match(/^(.*?)\s*(第\s*[0-90-9零〇一二三四五六七八九十百千万两]+\s*(?:集|話|话|回|期))(?:\s|$)/);return i?{name:ns(i[1]),remark:ns(i[2]).replace(/\s+/g,"")}:{name:ns(s),remark:H4(e)}}function qg(t){if(!t)return[];if(Array.isArray(t))return t;if(typeof t[Symbol.iterator]=="function"&&typeof t!="string")return[...t].filter(e=>e!=null);if(typeof t.length=="number"&&typeof t!="string"){let e=[];for(let r=0;r<t.length;r++)t[r]!==void 0&&t[r]!==null&&e.push(t[r]);return e}return typeof t=="object"?Object.keys(t).filter(e=>/^\d+$/.test(e)).sort((e,r)=>Number(e)-Number(r)).map(e=>t[e]).filter(e=>e!=null):[]}function Ioe(t){return encodeURIComponent(JSON.stringify(t||{}))}function jg(t){return t?JSON.parse(decodeURIComponent(String(t))):{}}function Q4(t){if(t=Number(t||0),!t||t<0)return"";let e=["B","KB","MB","GB","TB"],r=t,n=0;for(;r>=1024&&n<e.length-1;)r/=1024,n++;let s=n===0||r>=100?0:r>=10?1:2;return`${r.toFixed(s)} ${e[n]}`}function ybr(t){if(t=Number(t||0),!t)return"";let e=new Date(t*1e3),r=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),i=String(e.getMinutes()).padStart(2,"0");return`${r}-${n} ${s}:${i}`}function q4(t,e){let r=0;for(let n of e)t.indexOf(n)>=0&&r++;return r}function fot(t){let e=String(t&&t.text||""),r=String(t&&t.name||""),n=(e+`
`+r).toLowerCase();if(!n.trim())return!1;let i=q4(n,["@duguan","\u8D4C\u9986","\u6D3B\u52A8\u9891\u9053","\u9996\u5B58","\u6D41\u6C34","\u6CE8\u518C\u9001","\u65B0\u7528\u6237\u6CE8\u518C","\u5173\u95EDvpn","\u5A31\u4E50\u57CE","\u5A31\u4E50\u5E73\u53F0","\u8D4C\u573A","\u535A\u5F69","\u767E\u5BB6\u4E50","\u516D\u5408\u5F69","\u9001\u5F69\u91D1","\u5F69\u91D1","\u6295\u6CE8","\u5145\u503C","\u63D0\u6B3E","\u63D0\u73B0","\u4E0A\u5206","\u4E0B\u5206","\u8FD4\u6C34","\u4F63\u91D1","\u76D8\u53E3","\u9A8C\u8D44","\u5B98\u65B9\u5BA2\u670D","\u798F\u5229\u9891\u9053","\u6CE8\u518C\u7F51\u5740","\u62C5\u4FDD\u57DF\u540D"]),a=q4(n,["\u6CE8\u518C","\u9996\u5B58","\u9996\u5145","\u5145\u503C","\u5B58\u6B3E","\u6D41\u6C34","\u8FD4\u6C34","\u4E0B\u6CE8","\u6295\u6CE8","\u4E0A\u5206","\u4E0B\u5206","\u5F69\u91D1","\u9001\u5F69\u91D1","\u4F63\u91D1","\u6551\u63F4\u91D1","\u63D0\u6B3E","\u63D0\u73B0","\u51FA\u6B3E","\u9886\u53D6"]),o=q4(n,["\u6D3B\u52A8\u9891\u9053","\u5E73\u53F0","\u4FE1\u8A89\u5E73\u53F0","\u5A31\u4E50\u57CE","\u5A31\u4E50\u5E73\u53F0","\u8D4C\u573A","\u535A\u5F69","\u767E\u5BB6\u4E50","\u516D\u5408\u5F69","\u89C6\u8BAF","\u771F\u4EBA","\u76D8\u53E3","\u72D7\u5E84","pg\u96C6\u56E2","pg\u5A31\u4E50\u57CE","pg\u76F4\u8425","\u6C47\u65FA","\u8C6A\u535A\u5A31\u4E50","\u9A8C\u8D44","vpn","\u6D4F\u89C8\u5668\u75284g\u7F51\u7EDC"]),c=q4(n,["\u5B98\u65B9\u5BA2\u670D","\u798F\u5229\u9891\u9053","\u6CE8\u518C\u7F51\u5740","\u62C5\u4FDD\u57DF\u540D","\u603B\u7FA4","\u5BA2\u670D","\u9891\u9053","bot","http://","https://"]),u=(n.match(/@[a-z0-9_]{4,}/g)||[]).length,l=(n.match(/[a-z0-9][a-z0-9-]+\.(?:com|net|cc|top|vip|app)\b/g)||[]).length,d=(n.match(/注册/g)||[]).length>=3;return i>=2||a>0&&o>0||a>=2&&(c>0||u>=2||l>0)||o>=2&&(c>0||u>=2||l>0)||d}async function xbr(t){let e=process.env.TGFILEBOT_URL||await _oe(t),r=process.env.TGFILEBOT_PASSWORD||process.env.TGFILEBOT_KEY||await Soe(t);return{url:gbr(e)||pbr,password:String(r||"").trim()}}async function pot(t,e,r={}){let n=await xbr(t),s=new URL(e,n.url+"/"),i={...r};n.password&&(i.key=n.password);for(let[a,o]of Object.entries(i))o==null||o===""||s.searchParams.set(a,String(o));return s.toString()}async function V4(t,e,r={},n=3e4){let s=await pot(t,e,r),i=await Ae.get(s,{timeout:n,validateStatus:()=>!0});if(i.status<200||i.status>=300)throw new Error(`TGFileBot ${e} HTTP ${i.status}`);return typeof i.data=="string"?JSON.parse(i.data):i.data||{}}function bbr(t){let e=ns(t);return e?e.startsWith("#")?[e]:[e,"#"+e]:[]}function j4(t){return Coe(t).replace(/^#+\s*/,"").replace(/[\s._\-::,,.。!!??、/\\|()[\]【】()《》<>〈〉"'“”‘’·]/g,"").toLowerCase()}function Ebr(t){return String(t||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _br(t,e){let r=ns(e).replace(/^#+\s*/,"");return r?new RegExp("(^|\\s)#"+Ebr(r)+"(?=\\s|$|#)").test(String(t||"")):!1}function G4(t){try{return jg(t&&t.vod_id)}catch{return{}}}function Sbr(t,e){let r=G4(t),n=j4(ns(e).replace(/^#+\s*/,""));if(!n)return 0;let s=j4(r.name||t&&t.vod_name||""),i=j4(uot(r.text||"")),a=j4(r.text||"");return s===n?100:i===n?98:_br(r.text||"",e)?95:s.startsWith(n)?80:i.startsWith(n)?75:s.indexOf(n)>=0?60:i.indexOf(n)>=0?50:a.indexOf(n)>=0?10:0}function vbr(t,e){return t.map((r,n)=>{let s=G4(r);return{video:r,index:n,score:Sbr(r,e),date:Number(s.date||0)}}).sort((r,n)=>n.score!==r.score?n.score-r.score:n.date!==r.date?n.date-r.date:r.index-n.index).map(r=>r.video)}function Cbr(t,e){let r=new Set(t.map(n=>{let s=G4(n);return`${s.cid||""}:${s.mid||""}`}));for(let n of e){let s=G4(n),i=`${s.cid||""}:${s.mid||""}`;i!==":"&&r.has(i)||(i!==":"&&r.add(i),t.push(n))}return t}function Ibr(t,e=""){let r=dot(t?.text||t?.name,t?.name),n=r.name||ns(t?.name)||`Telegram ${t?.mid||""}`.trim(),s=r.remark||ns(t?.remark),i={cid:t?.cid,mid:t?.mid,reply_mid:t?.reply_mid||0,name:n,remark:s,text:t?.text||"",size:t?.size||0,date:t?.date||0,channel:e||""};return{vod_id:Ioe(i),vod_name:n,type_name:e||"",vod_pic:t?.pic||t?.cover||t?.thumb||oot,vod_remarks:i.remark||"",topRightRemarks:Q4(t?.size)||""}}function mot(t){let e=[];for(let r of qg(t)){let n=r&&r.channel?r.channel:"",s=qg(r&&r.item);for(let i of s)!i||fot(i)||e.push(Ibr(i,n))}return e.sort((r,n)=>{try{return Number(jg(n.vod_id).date||0)-Number(jg(r.vod_id).date||0)}catch{return 0}}),e}function Tbr(t){if(!t||!t.cid)return!1;if(t.reply_mid)return!0;let e=String(t.text||"");return e.trim()?/(剧集选择|评论区|评论|留言|回复|comment=|t\.me\/[a-z0-9_]+\/\d+\?comment=|t\.me\/c\/\d+\/\d+\?comment=)/i.test(e):!1}function hot(t,e){return`${cot(t)}$${Ioe(wbr(e))}`}function wbr(t){return{cid:t?.cid,mid:t?.mid,reply_mid:t?.reply_mid||0,name:t?.name||"",remark:t?.remark||"",size:t?.size||0,date:t?.date||0,channel:t?.channel||""}}function Rbr(t){let e=String(t||""),r=e.indexOf("$");return r<0?{title:e,token:""}:{title:e.slice(0,r),token:e.slice(r+1)}}function Nbr(t){let e=Rbr(t);try{let r=jg(e.token),n=aot(r.remark||"");if(n>0)return n}catch{}return aot(e.title)}function Obr(t){return t.map((e,r)=>({item:e,index:r,episode:Nbr(e)})).sort((e,r)=>{let n=e.episode>0,s=r.episode>0;return n&&s&&e.episode!==r.episode?e.episode-r.episode:n!==s?n?-1:1:e.index-r.index}).map(e=>e.item)}function got(t,e){let r=cot(t),n=Q4(e);return!n||r.indexOf(n)>=0?r:`${r} ${n}`}function Pbr(t){return t&&t.items?qg(t.items):t&&t.item?[t]:qg(t)}function Dbr(t,e,r){let n=new Set;for(let s of t){let i=String(s).split("$").slice(1).join("$");try{let a=jg(i);n.add(`${a.cid||""}:${a.mid||""}`)}catch{}}for(let s of qg(r)){let i=qg(s&&s.item);for(let a of i){if(!a||!a.cid||!a.mid||fot(a))continue;let o=`${a.cid}:${a.mid}`;if(n.has(o))continue;let c=dot(a.text||e.text||a.name,a.name),u=c.name||e.name,l=c.remark||H4(a.name)||"",d={...e,cid:a.cid,mid:a.mid,reply_mid:a.reply_mid||0,name:u,remark:l,size:a.size||0,date:a.date||e.date||0,text:a.text||e.text||""},f=l||ns(a.name)||e.remark||e.name;n.add(o),t.push(hot(got(f,a.size),d))}}return t}async function kbr(t,e){try{let r=await V4(t.server,"/channels",{},12e3);return{class:qg(r.channels).map(s=>{let i=ns(s&&s.id);return i?{type_id:i,type_name:ns(s.name)||i}:null}).filter(Boolean)}}catch(r){return console.error("[tgfilebot] channels failed",r?.message||r),{class:[]}}}async function Lbr(t,e){let r=Math.max(Number.parseInt(t.body?.page||"1",10)||1,1),n=ns(t.body?.id||"all")||"all",s=await V4(t.server,"/latest",{channel:n,page:r,limit:vw}),i=mot(s.items);return{page:r,pagecount:s.more?r+1:r,limit:vw,total:s.total||i.length,list:i}}async function Bbr(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r.filter(Boolean)){let i=jg(s),a=Ioe(i),o=ns(i.name)||`Telegram ${i.mid||""}`.trim(),c=[hot(got(i.remark||o,i.size),i)];try{let l=i.reply_mid||i.mid;if(i.cid&&l&&Tbr(i)){let d=await V4(t.server,"/replies",{cid:i.cid,mid:l,limit:mbr},2e4);Dbr(c,i,Pbr(d))}}catch(l){console.error("[tgfilebot] replies skipped",l?.message||l)}let u=[i.remark?`Remark: ${i.remark}`:"",i.channel?`Channel: ${i.channel}`:"",i.cid?`CID: ${i.cid}`:"",i.mid?`MID: ${i.mid}`:"",i.size?`Size: ${Q4(i.size)}`:"",i.date?`Date: ${ybr(i.date)}`:"",ns(i.text||"")].filter(Boolean).join(`
`);n.push({vod_id:a,vod_name:o,type_name:i.channel||"",vod_pic:i.pic||oot,vod_remarks:i.remark||"",topRightRemarks:Q4(i.size)||"",vod_content:u,vod_play_from:"TGFileBot",vod_play_url:Obr(c).join("#")})}return{list:n}}async function Mbr(t,e){let r=jg(t.body?.id);return!r.cid||!r.mid?{parse:0,url:""}:{parse:0,url:await pot(t.server,"/stream",{cid:r.cid,mid:r.mid,cate:"user"})}}async function Wbr(t,e){let r=ns(t.body?.wd||""),n=Math.max(Number.parseInt(t.body?.page||"1",10)||1,1);if(!r)return{page:n,pagecount:n,list:[]};let s=[];for(let i of bbr(r))try{let a=await V4(t.server,"/search",{keywords:i,page:n,limit:vw},2e4);s=Cbr(s,mot(a.items))}catch(a){console.error("[tgfilebot] search variant failed",i,a?.message||a)}return s=vbr(s,r),{page:n,pagecount:s.length>=vw?n+1:n,limit:vw,total:s.length,list:s}}var Aot={meta:{key:"tgfilebot",name:"\u300C\u76F4\u300DTGFileBot",type:3},api:async t=>{t.post("/init",hbr),t.post("/home",kbr),t.post("/category",Lbr),t.post("/detail",Bbr),t.post("/play",Mbr),t.post("/search",Wbr)}};var xot=Re(Cv(),1),Toe=Re(Jn(),1),Hg="https://frodo.douban.com",oi={},yot=t=>`Rexxar-Core/0.1.3 api-client/1 com.douban.frodo/7.9.0(216) Android/28 product/Xiaomi11 rom/android network/wifi udid/${t} platform/mobile com.douban.frodo/7.9.0(216) Rexxar/1.2.151 platform/mobile 1.2.151`;async function bot(t){if(oi.id&&oi.ua)return oi;let e=t.server.prefix+"/device";return oi=await t.server.db.getObjectDefault(e,{}),oi.id?oi.ua||(oi.ua=yot(oi.id),await t.server.db.push(e,oi)):(oi.id=Th(40).toLowerCase(),oi.ua=yot(oi.id),await t.server.db.push(e,oi)),oi}function Qg(t){t+=`&udid=${oi.id}&uuid=${oi.id}&&rom=android&apikey=0dad551ec0f84ed02907ff5c42e8ec70&s=rexxar_new&channel=Yingyongbao_Market&timezone=Asia/Shanghai&device_id=${oi.id}&os_rom=android&apple=c52fbb99b908be4d026954cc4374f16d&mooncake=0f607264fc6318a92b9e13c65db7cd3c&sugar=0`;let e=new URL(t),r=(0,xot.default)().unix().toString(),n=Toe.default.HmacSHA1("GET&"+encodeURIComponent(e.pathname)+"&"+r,"bf7dddc7c9cfe6f7"),s=Toe.default.enc.Base64.stringify(n);return t+"&_sig="+encodeURIComponent(s)+"&_ts="+r}async function Gg(t,e){return(await he.get(t,{headers:{"User-Agent":e||oi.ua}})).data}async function $br(t,e){return await bot(t),{}}async function Fbr(t,e){let r=[{type_id:"t1",type_name:"\u70ED\u64AD"},{type_id:"t2",type_name:"\u7247\u5E93"},{type_id:"t250",type_name:"Top250"},{type_id:"t3",type_name:"\u699C\u5355",ratio:1},{type_id:"t4",type_name:"\u7247\u5355",ratio:1}],n={};return n.t1=[{key:"u",name:"",init:"movie/hot_gaia",value:[{n:"\u7535\u5F71",v:"movie/hot_gaia"},{n:"\u7535\u89C6\u5267",v:"subject_collection/tv_hot/items"},{n:"\u56FD\u4EA7\u5267",v:"subject_collection/tv_domestic/items"},{n:"\u7F8E\u5267",v:"subject_collection/tv_american/items"},{n:"\u65E5\u5267",v:"subject_collection/tv_japanese/items"},{n:"\u97E9\u5267",v:"subject_collection/tv_korean/items"},{n:"\u52A8\u6F2B",v:"subject_collection/tv_animation/items"},{n:"\u7EFC\u827A",v:"subject_collection/show_hot/items"}]}],n.t4=[{key:"type",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u7535\u5F71",v:"movie"},{n:"\u7535\u89C6\u5267",v:"tv"}]},{key:"cate",name:"",init:"all",value:[{n:"\u5168\u90E8",v:"all"},{n:"\u8C46\u74E3\u7247\u5355",v:"official"},{n:"\u7CBE\u9009",v:"selected"},{n:"\u7ECF\u5178",v:"classical"},{n:"\u83B7\u5956",v:"prize"},{n:"\u9AD8\u5206",v:"high_score"},{n:"\u699C\u5355",v:"movie_list"},{n:"\u51B7\u95E8\u4F73\u7247",v:"dark_horse"},{n:"\u4E3B\u9898",v:"topic"},{n:"\u5BFC\u6F14",v:"director"},{n:"\u6F14\u5458",v:"actor"},{n:"\u7CFB\u5217",v:"series"}]}],n.t2=[{key:"form",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u7535\u5F71",v:"\u7535\u5F71"},{n:"\u7535\u89C6\u5267",v:"\u7535\u89C6\u5267"},{n:"\u52A8\u6F2B",v:"\u52A8\u753B"},{n:"\u7EFC\u827A",v:"\u7EFC\u827A"},{n:"\u7EAA\u5F55\u7247",v:"\u7EAA\u5F55\u7247"},{n:"\u77ED\u7247",v:"\u77ED\u7247"}]},{key:"genre",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u5BB6\u5EAD",v:"\u5BB6\u5EAD"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"},{n:"\u9752\u6625",v:"\u9752\u6625"},{n:"\u540C\u6027",v:"\u540C\u6027"},{n:"\u97F3\u4E50",v:"\u97F3\u4E50"},{n:"\u6B4C\u821E",v:"\u6B4C\u821E"},{n:"\u5386\u53F2",v:"\u5386\u53F2"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u4F20\u8BB0",v:"\u4F20\u8BB0"},{n:"\u8FD0\u52A8",v:"\u8FD0\u52A8"},{n:"\u897F\u90E8",v:"\u897F\u90E8"},{n:"\u707E\u96BE",v:"\u707E\u96BE"}]},{key:"region",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u4E2D\u56FD\u9999\u6E2F",v:"\u4E2D\u56FD\u9999\u6E2F"},{n:"\u4E2D\u56FD\u53F0\u6E7E",v:"\u4E2D\u56FD\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u5370\u5EA6",v:"\u5370\u5EA6"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u5FB7\u56FD",v:"\u5FB7\u56FD"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u610F\u5927\u5229",v:"\u610F\u5927\u5229"},{n:"\u52A0\u62FF\u5927",v:"\u52A0\u62FF\u5927"},{n:"\u6FB3\u5927\u5229\u4E9A",v:"\u6FB3\u5927\u5229\u4E9A"},{n:"\u4FC4\u7F57\u65AF",v:"\u4FC4\u7F57\u65AF"},{n:"\u745E\u5178",v:"\u745E\u5178"},{n:"\u4E39\u9EA6",v:"\u4E39\u9EA6"},{n:"\u5DF4\u897F",v:"\u5DF4\u897F"},{n:"\u58A8\u897F\u54E5",v:"\u58A8\u897F\u54E5"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2010\u5E74\u4EE3",v:"2010\u5E74\u4EE3"},{n:"2000\u5E74\u4EE3",v:"2000\u5E74\u4EE3"},{n:"90\u5E74\u4EE3",v:"90\u5E74\u4EE3"},{n:"80\u5E74\u4EE3",v:"80\u5E74\u4EE3"},{n:"70\u5E74\u4EE3",v:"70\u5E74\u4EE3"},{n:"60\u5E74\u4EE3",v:"60\u5E74\u4EE3"},{n:"\u66F4\u65E9",v:"\u66F4\u65E9"}]},{key:"sort",name:"",init:"U",value:[{n:"\u70ED\u5EA6",v:"U"},{n:"\u8BC4\u5206",v:"S"},{n:"\u65F6\u95F4",v:"R"}]}],{class:r,filters:n}}async function Ubr(t,e){await bot(t);let r=t.body.id,n=t.body.page,s=t.body.filters,i=n||1;if(i==0&&(i=1),r=="t1"){let a=Qg(`${Hg}/api/v2/${s.u||"movie/hot_gaia"}?area=\u5168\u90E8&sort=recommend&playable=0&loc_id=0&start=${(i-1)*30}&count=30`),o=await Gg(a),c=[];for(let u of o.items||o.subject_collection_items){let l=(u.rating&&u.rating.value||"").toString();c.push({vod_id:u.id,vod_name:u.title,vod_pic:u.pic.normal||u.pic.large,vod_remarks:l.length>0?"\u8BC4\u5206:"+l:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r=="t250"){let a=Qg(`${Hg}/api/v2/subject_collection/movie_top250/items?area=\u5168\u90E8&sort=recommend&playable=0&loc_id=0&start=${(i-1)*30}&count=30`),o=await Gg(a),c=[];for(let u of o.items||o.subject_collection_items){let l=(u.rating&&u.rating.value||"").toString();c.push({vod_id:u.id,vod_name:u.title,vod_pic:u.pic.normal||u.pic.large,vod_remarks:l.length>0?"\u8BC4\u5206:"+l:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r=="t2"){let a=s.form||"",o=s.genre||"",c=s.region||"",u=s.year||"",l=s.sort||"U",d=a,f=o,p="movie";d==="\u52A8\u753B"&&(d="\u7535\u89C6\u5267",f||(f="\u52A8\u753B")),(d==="\u7535\u89C6\u5267"||d==="\u7EFC\u827A")&&(p="tv");let m={};f&&(m.\u7C7B\u578B=f),d&&(m.\u5F62\u5F0F=d),c&&(m.\u5730\u533A=c);let h=[];a&&h.push(a),o&&h.push(o),c&&h.push(c),u&&h.push(u);let A=new URLSearchParams({refresh:"0",start:((i-1)*30).toString(),count:"30",selected_categories:JSON.stringify(m),uncollect:"false",score_range:"0,10"});l&&A.append("sort",l),h.length>0&&A.append("tags",h.join(","));let g=`https://m.douban.com/rexxar/api/v2/${p}/recommend?${A.toString()}`,y=(await he.get(g,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",Referer:"https://m.douban.com/"}})).data,x=y&&y.items?y.items:[],v=[];for(let C of x)if(C&&(C.type==="movie"||C.type==="tv")){let R="";if(C.rating&&typeof C.rating.value<"u"){let w=C.rating.value;R=typeof w=="number"?w.toFixed(1):w.toString()}v.push({vod_id:C.id||"",vod_name:C.title||"",vod_pic:C.pic&&(C.pic.normal||C.pic.large)||"",vod_remarks:R?"\u8BC4\u5206:"+R:""})}return{page:parseInt(i),pagecount:i<10?i+1:i,list:v}}else if(r=="t3"){let a=Qg(`${Hg}/api/v2/movie/category_ranks?count=30&category=recent_hot`),o=await Gg(a),c=[];for(let u of o.selected_collections)c.push({vod_id:"cr_"+u.id,vod_name:u.short_name||u.title,vod_pic:u.cover_url,vod_remarks:"",cate:{}});a=Qg(`${Hg}/api/v2/tv/category_ranks?count=30&category=recent_hot`),o=await Gg(a);for(let u of o.selected_collections)c.push({vod_id:"cr_"+u.id,vod_name:u.short_name||u.title,vod_pic:u.cover_url,vod_remarks:"",cate:{}});return{page:1,pagecount:1,list:c}}else if(r=="t4"){let a=Qg(`${Hg}/api/v2/skynet/new_playlists?subject_type=${s.type||""}&category=${s.cate||"all"}&loc_id=0&start=${(i-1)*30}&count=30`),o=await Gg(a),c=[];for(let u of o.data[0].items)c.push({vod_id:u.owner?"dl_"+u.id:"cr_"+u.id,vod_name:u.title,vod_pic:u.cover_url,vod_remarks:"",cate:{}});return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r.startsWith("cr_")){let a=Qg(`${Hg}/api/v2/subject_collection/${r.substring(3)}/items?start=${(i-1)*30}&count=30&updated_at=&items_only=1`),o=await Gg(a),c=[];for(let u of o.subject_collection_items){let l=(u.rating&&u.rating.value||"").toString();c.push({vod_id:u.id,vod_name:u.title,vod_pic:u.pic.normal||u.pic.large,vod_remarks:l.length>0?"\u8BC4\u5206:"+l:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r.startsWith("dl_")){let a=Qg(`${Hg}/api/v2/doulist/${r.substring(3)}/posts?start=${(i-1)*30}&count=30&updated_at=&items_only=1`),o=await Gg(a),c=[];for(let u of o.items){let l=u.content.subject;if(!l)continue;let d=(l.rating&&l.rating.value||"").toString();c.push({vod_id:l.id,vod_name:l.title,vod_pic:l.pic.normal||l.pic.large,vod_remarks:d.length>0?"\u8BC4\u5206:"+d:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}}async function qbr(t,e){return{}}async function jbr(t,e){return{}}async function Hbr(t,e){return{}}async function Qbr(t,e){try{let r=function(a){a.statusCode&&a.statusCode==500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/init`);if(s.init=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/home`),s.home=i.json(),r(i.json()),s.home.class.length>0&&(i=await t.server.inject().post(`${n}/category`).payload({id:s.home.class[0].type_id,page:1,filter:!0,filters:{}}),s.category=i.json(),r(i.json()),s.category.list.length>0&&(i=await t.server.inject().post(`${n}/detail`).payload({id:s.category.list[0].vod_id}),s.detail=i.json(),r(i.json()),s.detail.list&&s.detail.list.length>0))){s.play=[];for(let a of s.detail.list){let o=a.vod_play_from.split("$$$"),c=a.vod_play_url.split("$$$");for(let u=0;u<o.length;u++){let l=o[u],d=c[u].split("#");for(let f=0;f<d.length&&f<2;f++)i=await t.server.inject().post(`${n}/play`).payload({flag:l,id:d[f].split("$")[1]}),s.play.push(i.json())}}}return i=await t.server.inject().post(`${n}/search`).payload({wd:"\u7231",page:1}),s.search=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Eot={meta:{key:"douban",name:"\u300C\u8350\u300D\u8C46\u74E3",type:3,indexs:1},api:async t=>{t.post("/init",$br),t.post("/home",Fbr),t.post("/category",Ubr),t.post("/detail",qbr),t.post("/play",jbr),t.post("/search",Hbr),t.get("/test",Qbr)}};function Gbr(t){let e=String(t||"").split("#")[0]||"",r=e.indexOf("$");return r>0?e.slice(0,r).trim():""}async function Vbr(t,e){return{}}async function zbr(t,e){return"true"}async function Kbr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i={vod_id:s,vod_content:"",vod_name:s,vod_pic:"https://pic.rmb.bdstatic.com/bjh/1d0b02d0f57f0a42201f92caba5107ed.jpeg"},a=await Rr(s,t);if(a){i.vod_play_from=a.froms,i.vod_play_url=a.urls;let o=Gbr(i.vod_play_url);o&&(i.vod_name=o)}n.push(i)}return{list:n}}async function Ybr(t,e){try{let r=function(a){a.statusCode&&a.statusCode==500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/support`).payload({clip:"https://xx.xx/1.m3u8"});return s.support=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/detail`).payload({id:"https://xx.xx/1.m3u8"}),s.detail=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/play`).payload({flag:"xx",id:"https://xx.xx/1.m3u8"}),s.play=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var _ot={meta:{key:"push",name:"\u63A8\u9001",type:4},api:async t=>{t.post("/init",Vbr),t.post("/support",zbr),t.post("/detail",Kbr),t.post("/play",Or),t.get("/test",Ybr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var K4=async(t,e,r)=>(await t.db.getObjectDefault("/pansou",{}))?.[e]||t.config.pansou?.[e]||r,woe=async t=>K4(t,"url","https://pan.199333.xyz"),Roe=async t=>{let e=await K4(t,"channels","");return e?e.split(",").map(r=>r.trim()).filter(r=>r):[]},Noe=async t=>{let e=await K4(t,"plugins","");return e?e.split(",").map(r=>r.trim()).filter(r=>r):[]},Ooe=async t=>{let e=await K4(t,"cloudTypes","");return e?e.split(",").map(r=>r.trim()).filter(r=>r):[]},z4=async(t,e,r)=>{await t.db.push(`/pansou/${e}`,r)},Jbr=async t=>{await t.db.delete("/pansou")};async function Poe(t){t.get("/config",async(e,r)=>{let n=await woe(e.server),s=await Roe(e.server),i=await Noe(e.server),a=await Ooe(e.server);r.send({code:0,data:{url:n,channels:s,plugins:i,cloudTypes:a}})}),t.put("/config",async(e,r)=>{await z4(e.server,"url",e.body.url||""),await z4(e.server,"channels",Array.isArray(e.body.channels)?e.body.channels.join(","):""),await z4(e.server,"plugins",Array.isArray(e.body.plugins)?e.body.plugins.join(","):""),await z4(e.server,"cloudTypes",Array.isArray(e.body.cloudTypes)?e.body.cloudTypes.join(","):""),r.send({code:0})}),t.delete("/config",async(e,r)=>{await Jbr(e.server),r.send({code:0})})}var vot={},Doe="pansou_group@@@",Xbr=5*60*1e3,Zbr=30,lE=new Map,eEr={ali:"aliyun",aliyun:"aliyun",alipan:"aliyun",a189:"tianyi",189:"tianyi",tianyi:"tianyi",yidong:"mobile",mobile:"mobile",a139:"mobile",cmcc:"mobile",123:"123",pan123:"123","123pan":"123",a115:"115",pan115:"115",thunder:"xunlei"},tEr={aliyun:"ali",mobile:"yidong",123:"123",115:"115"};function Vg(t){let e=String(t||"").trim().toLowerCase();return eEr[e]||e}function Sot(t){return[...new Set((t||[]).map(Vg).filter(Boolean))]}function rEr(t,e,r=""){let n=[t,e,r].map(s=>encodeURIComponent(s||""));return`${Doe}${n.join("@@@")}`}function Cot(t,e=!1){let r=String(t||"").trim();if(!r)return null;if(r.startsWith(Doe)){let n=r.slice(Doe.length).split("@@@");return n.length<2?null:{cloudType:decodeURIComponent(n[0]||""),keyword:decodeURIComponent(n[1]||""),searchToken:decodeURIComponent(n[2]||"")}}if(e&&r.includes("|")){let n=r.indexOf("|");return{cloudType:r.slice(0,n),keyword:r.slice(n+1),searchToken:""}}return null}function Iot(t){let e=Vg(t),r=tEr[e]||e;return nf().find(n=>n.key===r||Vg(n.key)===e)}function Tot(t){return String(t?.url||t?.URL||"").replace(/\s+/g,"")}function wot(t,e=null){let r=Vg(t),n=e||Iot(r);return{key:r,name:n?.name||r,pic:n?.pic||""}}async function koe(t){return{apiUrl:await woe(t),channels:await Roe(t),plugins:await Noe(t),cloudTypes:await Ooe(t)}}function nEr(t,e,r=""){let n={kw:t};return e.channels.length>0&&(n.channels=e.channels),e.plugins.length>0&&(n.plugins=e.plugins),r?n.cloud_types=Sot([r]):e.cloudTypes.length>0&&(n.cloud_types=Sot(e.cloudTypes)),n}function sEr(){return`${Date.now().toString(36)}${Math.random().toString(36).slice(2,10)}`}function iEr(t){let e=lE.get(t);return e?e.expiresAt<=Date.now()?(lE.delete(t),null):e.mergedByType:null}function aEr(t){if(!t||typeof t!="object")return"";let e=sEr();for(lE.set(e,{mergedByType:t,expiresAt:Date.now()+Xbr});lE.size>Zbr;){let r=lE.keys().next().value;lE.delete(r)}return e}function oEr(t){return t?t.startsWith("tg:")?t.substring(3):t.startsWith("plugin:")?t.substring(7):t:null}function cEr(t){return t?t.replace(/^(名称[::])/,"").replace(/\s+/g," ").trim():""}function uEr(t,e,r=""){let n=Vg(r),s=new Map;for(let[a,o]of Object.entries(t))if(!(n&&Vg(a)!==n)&&Array.isArray(o))for(let c of o){let u=Tot(c);if(!u)continue;let l=nf().find(A=>A.validator(u));if(!l)continue;let d=wot(a,l),f=c.images&&Array.isArray(c.images)&&c.images.length>0,p=f?c.images[0]:d.pic,m=f?p:u;s.has(m)||s.set(m,{links:[],panInfos:[],sources:[],pic:p,title:cEr(c.note||e)});let h=s.get(m);if(!h.links.includes(u)&&(h.links.push(u),h.panInfos.push(d),c.source)){let A=oEr(c.source);A&&!h.sources.includes(A)&&h.sources.push(A)}}let i=[];for(let[,a]of s.entries()){let o=[...new Set(a.panInfos.map(u=>u.name))].join("/"),c=a.sources.length>0?`:${a.sources[0]}`:"";i.push({vod_id:a.links.join("|"),vod_name:a.title,vod_pic:a.pic,vod_remarks:`${o}${c}`})}return i}function lEr(t,e,r=""){let n=new Map;for(let[s,i]of Object.entries(t||{})){if(!Array.isArray(i))continue;let a=String(s||"").trim(),o=Vg(a);if(!o)continue;let c=Iot(o),u=wot(o,c);for(let l of i){let d=Tot(l);d&&(n.has(o)||n.set(o,{cloudType:o,requestCloudType:a||o,name:u.name,pic:u.pic,links:new Set}),n.get(o).links.add(d))}}return[...n.values()].map(s=>{let i=rEr(s.requestCloudType,e,r);return{vod_id:i,vod_name:s.name||s.cloudType,vod_pic:s.pic||"",vod_remarks:`${s.links.size}\u6761\u7ED3\u679C`,vod_tag:"folder",type_id:"pan_category",type_name:"\u7F51\u76D8\u5206\u7C7B",panType:s.cloudType,cate:{id:i,name:s.name||s.cloudType}}})}async function Rot(t,e,r="",n=null){n=n||await koe(t);let s=nEr(e,n,r);return Ae.post(`${n.apiUrl}/api/search`,s)}function dEr(t){t.forEach(e=>{e.vod_name&&e.vod_id&&(vot[e.vod_id]=e.vod_name)})}async function fEr(t,e){return await qr(t,e),{}}async function pEr(t,e){return{class:[]}}async function mEr(t,e){let r=Cot(t.body?.id||t.body?.type_id||t.body?.categoryId,!0);return r?.cloudType&&r?.keyword?gEr(t,r.keyword,r.cloudType,r.searchToken):{page:1,pagecount:1,list:[]}}async function hEr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){if(Cot(s))continue;let i=s.includes("|")?s.split("|"):[s],a=await Rr(i,t),o={};o.vod_name=vot[s]||"",a&&(o.vod_play_from=a.froms,o.vod_play_url=a.urls,o.vod_links=a.links),n.push(o)}return{list:n}}async function gEr(t,e,r,n=""){try{let s=String(e||"").trim(),i=parseInt(t.body?.page||"1",10)||1;if(!s)return{page:i,pagecount:1,list:[]};if(i>1)return{page:i,pagecount:1,list:[]};let a=await koe(t.server),o=n?iEr(n):null;if(o||(o=(await Rot(t.server,s,r,a)).data?.data?.merged_by_type),o){let c=uEr(o,s,r);return dEr(c),{page:1,pagecount:1,list:c}}}catch(s){console.error("PanSou category search error:",s)}return{page:1,pagecount:1,list:[]}}async function AEr(t,e){try{let r=String(t.body.wd||"").trim(),n=parseInt(t.body?.page||"1",10)||1;if(!r)return{page:n,pagecount:1,list:[]};if(n>1)return{page:n,pagecount:1,list:[]};let s=await koe(t.server),i=await Rot(t.server,r,"",s);if(i.data&&i.data.data&&i.data.data.merged_by_type){let a=i.data.data.merged_by_type,o=aEr(a);return{page:1,pagecount:1,list:lEr(a,r,o)}}return{page:1,pagecount:1,list:[]}}catch(r){return console.error("PanSou search error:",r),{page:1,pagecount:1,list:[]}}}var Not={meta:{key:"pansou",name:"\u300C\u76D8\u300DPanSou",type:3},api:async t=>{t.post("/init",fEr),t.post("/home",pEr),t.post("/category",mEr),t.post("/detail",hEr),t.post("/play",Or),t.post("/search",AEr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var dE=async t=>{let e=await t.db.getObjectDefault("/live2vod",{});return{sources:e?.sources||t.config.live2vod?.sources||[],showMode:e?.showMode||t.config.live2vod?.showMode||"groups",def_pic:e?.def_pic||t.config.live2vod?.def_pic||"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/hipy-server/master/app/static/img/lives.jpg"}},Loe=async(t,e)=>{await t.db.push("/live2vod",e)},yEr=async t=>{await t.db.delete("/live2vod")};async function Boe(t){t.get("/config",async(e,r)=>{r.send({code:0,data:await dE(e.server)})}),t.put("/config",async(e,r)=>{await Loe(e.server,e.body),r.send({code:0})}),t.delete("/config",async(e,r)=>{await yEr(e.server),r.send({code:0})}),t.get("/sources",async(e,r)=>{let n=await dE(e.server);r.send({code:0,data:n.sources||[]})}),t.post("/sources",async(e,r)=>{let{name:n,url:s,img:i}=e.body;if(!n||!s){r.code(400).send({code:1,msg:"\u540D\u79F0\u548CURL\u4E0D\u80FD\u4E3A\u7A7A"});return}let a=await dE(e.server);a.sources=a.sources||[],a.sources.push({name:n,url:s,img:i||""}),await Loe(e.server,a),r.send({code:0})}),t.delete("/sources/:index",async(e,r)=>{let n=parseInt(e.params.index),s=await dE(e.server);s.sources&&n>=0&&n<s.sources.length?(s.sources.splice(n,1),await Loe(e.server,s),r.send({code:0})):r.code(404).send({code:1,msg:"\u7D22\u5F15\u65E0\u6548"})})}var Bo={sources:[],def_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/hipy-server/master/app/static/img/lives.jpg"},Cw={},Y4={};async function xEr(t){return(await he(t,{method:"get",headers:{"User-Agent":"okhttp/3.14.9"},timeout:1e4})).data}function bEr(t){let e=t.split(`
`),r={},n=[],s=null;return e.forEach(i=>{if(i=i.trim(),i.startsWith("#EXTINF:")){let a=i.replace(/'/g,'"'),o="\u672A\u77E5\u9891\u9053",c="";try{let l=a.match(/group-title="(.*?)"/);l&&(o=l[1].trim())}catch{}try{let l=a.match(/tvg-logo="(.*?)"/);l&&(c=l[1].trim())}catch{}s={name:i.split(",").slice(-1)[0].trim(),logo:c,group:o}}else if(i.startsWith("http")&&s){let a=s.group;r[a]||(r[a]=[],n.push(a)),r[a].push({name:s.name,url:i,logo:s.logo}),s=null}}),{groups:r,groupNames:n}}function EEr(t){let e=t.split(`
`),r={},n=[],s="";return e.forEach(i=>{if(i=i.trim(),!!i){if(/,#/.test(i))s=i.split(",")[0].trim(),r[s]||(r[s]=[],n.push(s));else if(i.includes(",")&&s){let a=i.split(",");a.length>=2&&a[1].trim().startsWith("http")&&r[s].push({name:a[0].trim(),url:a[1].trim(),logo:""})}}}),{groups:r,groupNames:n}}async function J4(t){if(Cw[t])return Cw[t];let e=await xEr(t),r;/#EXTM3U/.test(e)?r=bEr(e):r=EEr(e);for(let n of Object.keys(r.groups)){let s=r.groups[n],i=new Map;s.forEach(a=>{i.has(a.name)?(i.get(a.name).urls.push(a.url),!i.get(a.name).logo&&a.logo&&(i.get(a.name).logo=a.logo)):i.set(a.name,{...a,urls:[a.url]})}),r.groups[n]=Array.from(i.values())}return Cw[t]=r,r}async function _Er(t,e){let r=await dE(t.server);Bo.sources=r.sources||[],Bo.def_pic=r.def_pic||Bo.def_pic,Object.keys(Cw).forEach(s=>delete Cw[s]),Y4={};let n=Bo.sources.map(async s=>{try{let i=await J4(s.url),a=[{n:"\u5168\u90E8",v:""}];i.groupNames.forEach(o=>{a.push({n:o,v:o})}),Y4[s.url]=[{key:"group",name:"",init:"",value:a}]}catch(i){console.error(`\u9884\u52A0\u8F7D\u76F4\u64AD\u6E90 ${s.name} \u5931\u8D25: ${i.message}`),Y4[s.url]=[]}});return await Promise.all(n),{}}async function SEr(t,e){return{class:Bo.sources.map(n=>({type_id:n.url,type_name:n.name})),filters:Y4}}async function vEr(t,e){let r=t.body.id,n=t.body.page||1,i=(t.body.filters||{}).group||"";if(n>1)return{page:n,pagecount:1,list:[]};let o=Bo.sources.find(c=>c.url===r)?.img||"";try{let c=await J4(r),u=[],l=i?[i]:c.groupNames;for(let d of l){let f=c.groups[d];f&&f.forEach(p=>{u.push({vod_id:r+"$"+d+"$"+p.name,vod_name:p.name,vod_pic:p.logo||o||Bo.def_pic,vod_remarks:d})})}return{page:1,pagecount:1,total:u.length,list:u}}catch(c){return console.error(`\u83B7\u53D6\u5206\u7C7B\u9875\u5931\u8D25: ${c.message}`),{page:1,pagecount:1,list:[]}}}async function CEr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i=s.split("$"),a=i[0],o=i[1],c=i.slice(2).join("$"),u=Bo.sources.find(f=>f.url===a),l=u?.img||"",d=u?.name||"\u76F4\u64AD\u6E90";try{let m=(await J4(a)).groups[o]?.find(g=>g.name===c);if(!m){n.push({vod_id:s,vod_name:c,vod_pic:l||Bo.def_pic,vod_content:"\u672A\u627E\u5230\u9891\u9053",vod_play_from:d,vod_play_url:""});continue}let A=(m.urls||[m.url]).map((g,b)=>`\u7EBF\u8DEF${b+1}$${g}`);n.push({vod_id:s,vod_name:c,type_name:o,vod_pic:m.logo||l||Bo.def_pic,vod_content:`\u9891\u9053: ${c}
\u5206\u7EC4: ${o}
\u6765\u6E90: ${d}`,vod_play_from:d,vod_play_url:A.join("#"),vod_remarks:o})}catch(f){console.error(`\u83B7\u53D6\u8BE6\u60C5\u5931\u8D25: ${f.message}`),n.push({vod_id:s,vod_name:c,vod_pic:l||Bo.def_pic,vod_content:`\u83B7\u53D6\u5931\u8D25: ${f.message}`,vod_play_from:d,vod_play_url:""})}}return{list:n}}async function IEr(t,e){return{parse:0,url:t.body.id}}async function TEr(t,e){let r=t.body.wd,n=[];for(let s of Bo.sources)try{let i=await J4(s.url),a=s.img||"",o=new RegExp(r,"i");for(let c of i.groupNames){let u=i.groups[c];u&&u.forEach(l=>{o.test(l.name)&&n.push({vod_id:s.url+"$"+c+"$"+l.name,vod_name:l.name,vod_pic:l.logo||a||Bo.def_pic,vod_remarks:`${s.name} \xB7 ${c}`})})}}catch(i){console.error(`\u641C\u7D22\u6E90 ${s.name} \u5931\u8D25: ${i.message}`)}return{page:1,pagecount:1,total:n.length,list:n}}async function wEr(t,e){try{let r=function(a){a.statusCode&&a.statusCode===500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/init`);return s.init=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/home`),s.home=i.json(),r(i.json()),s.home.class&&s.home.class.length>0&&(i=await t.server.inject().post(`${n}/category`).payload({id:s.home.class[0].type_id,page:1,filters:{}}),s.category=i.json(),r(i.json()),s.category.list&&s.category.list.length>0&&(i=await t.server.inject().post(`${n}/detail`).payload({id:s.category.list[0].vod_id}),s.detail=i.json(),r(i.json()))),i=await t.server.inject().post(`${n}/search`).payload({wd:"CCTV",page:1}),s.search=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Oot={meta:{key:"live2vod",name:"\u300C\u76F4\u300D\u76F4\u64AD",type:3},api:async t=>{t.post("/init",_Er),t.post("/home",SEr),t.post("/category",vEr),t.post("/detail",CEr),t.post("/play",IEr),t.post("/search",TEr),t.get("/test",wEr)}};var Moe=Re(Jn(),1);var Dot=process.env.JINPAI_HOST||"https://m.jiabaide.cn",X4="Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36",REr=process.env.JINPAI_APP_KEY||"cb808529bae6b6be45ecfab29a4889bc",NEr={"User-Agent":X4,Referer:`${Dot}/`},OEr={typeList:["type",""],plotList:["class",""],districtList:["area",""],languageList:["lang",""],yearList:["year",""],serialList:["by",""]},PEr=[{n:"\u65F6\u95F4",v:"2"},{n:"\u4EBA\u6C14",v:"3"},{n:"\u8BC4\u5206",v:"4"}];function At(t){return String(t??"").trim()}function DEr(t){return At(t).replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim()}function kot(t={}){return Object.entries(t).filter(([,e])=>e!=null&&e!=="").map(([e,r])=>`${e}=${r}`).join("&")}function kEr(t={}){let e=String(Date.now()),r={...t,key:REr,t:e},n=Moe.default.SHA1(Moe.default.MD5(kot(r)).toString()).toString();return{...NEr,t:e,sign:n}}async function fE(t,e={}){let r=kot(e),n=`${Dot}${t}${r?`?${r}`:""}`,s=await he.get(n,{headers:kEr(e),timeout:2e4,validateStatus:()=>!0});if(s.status<200||s.status>=400)throw new Error(`HTTP ${s.status} @ ${n}`);let i=typeof s.data=="string"?JSON.parse(s.data||"{}"):s.data||{};if(Number(i.code)&&Number(i.code)!==200)throw new Error(i.msg||`API code=${i.code}`);return i}function Lot(t={}){let e=At(t.vodPubdate||""),r=e?e.split("-")[0]:"";return{vod_id:At(t.vodId),vod_name:At(t.vodName),vod_pic:At(t.vodPic),vod_remarks:[At(t.vodRemarks),At(t.vodDoubanScore)].filter(Boolean).join("_"),vod_year:r,type_id:At(t.typeId),type_name:At(t.typeName)}}function LEr({vodId:t="",nid:e="",episodeName:r="",sourceName:n="",title:s=""}={}){return encodeURIComponent(JSON.stringify({vodId:At(t),nid:At(e),episodeName:At(r),sourceName:At(n),title:At(s)}))}function BEr(t=""){let e=At(t);if(!e)return null;let r=[e];try{let s=decodeURIComponent(e);s&&s!==e&&r.unshift(s)}catch{}for(let s of r)try{let i=JSON.parse(s);if(i&&typeof i=="object")return{vodId:At(i.vodId),nid:At(i.nid),episodeName:At(i.episodeName),sourceName:At(i.sourceName),title:At(i.title)}}catch{}let n=e.match(/^(.*?)@(.*)$/);return n?{vodId:At(n[1]),nid:At(n[2]),episodeName:"",sourceName:"\u91D1\u724C\u7EBF\u8DEF",title:""}:null}function MEr(...t){for(let e of t){if(Number.isFinite(e)&&e>0)return e;let r=At(e);if(!r)continue;let n=Number(r);if(Number.isFinite(n)&&n>0)return n;let s=r.match(/^(?:第\s*)?(\d+)\s*(?:集|话|期)?(?:[\s.、:_-].*)?$/);if(s){let i=Number(s[1]);if(Number.isFinite(i)&&i>0)return i}}return null}function WEr(t="",e=null){let r=At(t),n=r.match(/^(?:第\s*(\d+)\s*(?:集|话|期)\s*|(\d+)\s*[.、:_-]\s*)(.*)$/),s=n?Number(n[1]||n[2]):null,i=Number.isFinite(e)&&e>0?e:s,a=n?At(n[3]):r;return i?a?`\u7B2C${i}\u96C6 ${a}`:`\u7B2C${i}\u96C6`:a||"\u6B63\u7247"}function Bot(t,e,r){return{page:t,pagecount:t+(r.length>=e?1:0),limit:e,total:(t-1)*e+r.length+(r.length>=e?1:0),list:r}}function $Er(t=""){let e=At(t);return!e||/^\d{3,4}\s*p?$/i.test(e)?!1:/[a-z\u4e00-\u9fa5]/i.test(e)}function FEr(t=""){let e=At(t).match(/(\d{3,4})\s*p?/i);if(!e)return"";let r=Number.parseInt(e[1],10);return Number.isFinite(r)?r>=4320?"8K":r>=2160?"4K":r>=1080?"\u8D85\u6E05":r>=720?"\u9AD8\u6E05":r>=480?"\u6807\u6E05":r>=360?"\u6D41\u7545":"":""}function UEr(t={}){let e=[t.name,t.title,t.resolution].map(At).filter(Boolean),r=e.find($Er);if(r)return r;let n=e.find(s=>/^\d{3,4}\s*p?$/i.test(s));return FEr(n)||n||"\u64AD\u653E"}function Pot(t={}){let e=At(t.url||t.playUrl||t.m3u8);if(!e)return null;let r=[t.name,t.resolution,t.title].map(At).filter(Boolean).join(" "),n=UEr(t);return{name:n,qualityLabel:r,url:e,headers:{"User-Agent":X4},priority:Mot({...t,name:n,qualityLabel:r})||1}}function Mot(t={}){let e=At(`${t.qualityLabel||""} ${t.name||""}`).toLowerCase();if(!e)return 0;if(/(?:原画|原盤|原盘)/i.test(e))return 1e4;if(/(?:8k|4320)/i.test(e))return 4320;if(/(?:4k|2160)/i.test(e))return 2160;let r=e.match(/(\d{3,4})\s*p?/i);if(r){let n=Number.parseInt(r[1],10);if(Number.isFinite(n))return n}return/(?:蓝光|藍光|超清)/i.test(e)?1080:/(?:高清)/i.test(e)?720:/(?:æ ‡æ¸…|標清)/i.test(e)?480:/(?:流畅|流暢)/i.test(e)?360:0}function qEr(t=[]){return t.map((e,r)=>({item:e,index:r,score:Mot(e)})).sort((e,r)=>r.score-e.score||e.index-r.index).map(({item:e})=>e)}async function jEr(){let t=[],e={},r=await fE("/api/mw-movie/anonymous/get/filer/type"),n=Array.isArray(r.data)?r.data:[];for(let a of n){let o=At(a.typeId),c=At(a.typeName);!o||!c||t.push({type_id:o,type_name:c})}let i=(await fE("/api/mw-movie/anonymous/v1/get/filer/list")).data||{};for(let a of t){let o=a.type_id;e[o]=[];for(let[c,[u,l]]of Object.entries(OEr)){let d=c==="serialList"?[...PEr]:[{n:"\u5168\u90E8",v:""}];if(c!=="serialList"){let f=i?.[o]?.[c]||[];for(let p of f){let m=At(p.itemText);m&&d.push({n:m,v:c==="typeList"?At(p.itemValue):m})}}d.length>1&&e[o].push({key:u,name:l,init:c==="serialList"?"2":"",value:d})}}return{classes:t,filters:e}}async function HEr(t,e){return{}}async function QEr(t,e){try{let{classes:r,filters:n}=await jEr();return{class:r,filters:n}}catch(r){return console.error("jinpai home failed:",r.message),{class:[],filters:{}}}}async function GEr(t,e){let r=At(t.body?.id||"1"),n=Math.max(1,Number.parseInt(t.body?.page||1,10)),s=t.body?.filters||{},i=30;try{let a={area:s.area||"",lang:s.lang||"",pageNum:String(n),pageSize:String(i),sort:s.by||"2",sortBy:"1",type:s.type||"",type1:r,v_class:s.class||"",year:s.year||""},c=((await fE("/api/mw-movie/anonymous/video/list",a))?.data?.list||[]).map(Lot).filter(u=>u.vod_id&&u.vod_name);return Bot(n,i,c)}catch(a){return console.error("jinpai category failed:",a.message),{page:n,pagecount:n,limit:i,total:0,list:[]}}}async function VEr(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=At(s);if(i)try{let o=(await fE("/api/mw-movie/anonymous/video/detail",{id:i})).data||{};if(!Object.keys(o).length)continue;let c=At(o.vodId||i),u=At(o.sourceName||"\u91D1\u724C\u7EBF\u8DEF"),d=(Array.isArray(o.episodeList)?o.episodeList:[]).map((f,p)=>{let m=At(f.nid||f.episodeId||f.id);if(!m)return"";let h=MEr(f.episodeNumber,f.name,p+1),A=WEr(f.name||`\u7B2C${h||p+1}\u96C6`,h),g=LEr({vodId:c,nid:m,episodeName:A,sourceName:u,title:o.vodName});return`${A}$${g}`}).filter(Boolean);n.push({vod_id:c,vod_name:At(o.vodName),vod_pic:At(o.vodPic),type_name:At(o.vodClass||o.typeName),vod_remarks:At(o.vodRemarks),vod_year:At(o.vodYear||At(o.vodPubdate).slice(0,4)),vod_area:At(o.vodArea),vod_lang:At(o.vodLang),vod_director:At(o.vodDirector),vod_actor:At(o.vodActor),vod_content:DEr(o.vodContent||o.content||""),vod_play_from:d.length?u:"",vod_play_url:d.join("#")})}catch(a){console.error("jinpai detail failed:",i,a.message)}}return{list:n}}async function zEr(t,e){let r=At(t.body?.id),n=BEr(r);if(!n?.vodId||!n?.nid)return{parse:0,url:"",header:{}};try{let s={clientType:"3",id:n.vodId,nid:n.nid},a=(await fE("/api/mw-movie/anonymous/v2/video/episode/url",s))?.data||{},o=Array.isArray(a.list)?a.list:[],c=qEr(o.map(Pot).filter(Boolean)),u={"User-Agent":X4};if(!c.length){let l=Pot(a);l&&c.push(l)}return c.length?{parse:0,url:c[0].url,data:c[0].url,urls:c,header:u}:{parse:0,url:"",data:"",urls:[],header:u}}catch(s){return console.error("jinpai play failed:",s.message),{parse:0,url:"",header:{"User-Agent":X4}}}}async function KEr(t,e){let r=At(t.body?.wd),n=Math.max(1,Number.parseInt(t.body?.page||1,10)),s=30;if(!r)return{page:n,pagecount:n,limit:s,total:0,list:[]};try{let i={keyword:r,pageNum:String(n),pageSize:String(s)},o=((await fE("/api/mw-movie/anonymous/video/searchByWordPageable",i))?.data?.list||[]).map(Lot).filter(c=>c.vod_id&&c.vod_name);return Bot(n,s,o)}catch(i){return console.error("jinpai search failed:",i.message),{page:n,pagecount:n,limit:s,total:0,list:[]}}}var Wot={meta:{key:"jinpai",name:"\u300C\u76F4\u300D\u91D1\u724C",type:3},api:async t=>{t.post("/init",HEr),t.post("/home",QEr),t.post("/category",GEr),t.post("/detail",VEr),t.post("/play",zEr),t.post("/search",KEr)}};var Z0={host:"https://api.ztcgi.com",headers:{"User-Agent":"Mozilla/5.0 (Linux; Android 9; V2196A Build/PQ3A.190705.08211809; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36;webank/h5face;webank/1.0;netType:NETWORK_WIFI;appVersion:416;packageName:com.jp3.xg3",Referer:"https://api.ztcgi.com",Accept:"application/json"},imgHost:"https://img.ztfgh.com"};function YEr(){return[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u7535\u89C6\u5267"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"}]}function Woe(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:`${Z0.imgHost}${e.startsWith("/")?e:`/${e}`}`:""}async function JEr(t,e){return{}}async function XEr(t,e){return{class:YEr()}}async function ZEr(t,e){let r=t.body.id,s=t.body.page||1;s==0&&(s=1);try{let i=`${Z0.host}/api/crumb/list?fcate_pid=${r}&category_id=&area=&year=&type=&sort=&page=${s}`,o=(await he.get(i,{headers:Z0.headers})).data,u=(Array.isArray(o.data)?o.data:[]).map(A=>({vod_id:String(A.id),vod_name:A.title||"",vod_pic:Woe(A.path||""),vod_remarks:A.mask||""})).filter(A=>A.vod_id&&A.vod_name),l=parseInt(s,10)||1,d=u.length>0,f=d?l+1:l,p=Number(o?.per_page||0)||u.length||20,m=Number(o?.total||0),h=(l-1)*p+u.length+(d?1:0);return{page:l,pagecount:f,limit:p,total:m>0?m:h,list:u}}catch{return{list:[],page:parseInt(s,10)||1,pagecount:1,limit:20,total:0}}}async function e1r(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r)try{let i=`${Z0.host}/api/video/detailv2?id=${s}`,o=(await he.get(i,{headers:Z0.headers})).data.data,c={vod_id:String(o.id||s),vod_name:o.title||"",vod_pic:Woe(o.thumbnail||o.path||o.tvimg||""),type_name:(o.types||[]).map(f=>f.name).join("/")||"",vod_year:o.year||"",vod_area:o.area||"",vod_remarks:o.mask||"",vod_actor:(o.actors||[]).map(f=>f.name).join("/")||"",vod_director:(o.directors||[]).map(f=>f.name).join("/")||"",vod_content:o.description||"",vod_play_from:"",vod_play_url:""},u=Array.isArray(o.source_list_source)?o.source_list_source:[],l=[],d=[];u.forEach((f,p)=>{let m=f.name||f.source_name||`\u7EBF\u8DEF${p+1}`;if(m==="\u5E38\u89C4\u7EBF\u8DEF")return;let h=Array.isArray(f.source_list)?f.source_list:[],A=[];h.forEach((g,b)=>{let y=g.source_name||g.name||`\u7B2C${b+1}\u96C6`,x=g.url||g.play_url||"";x&&A.push(`${y}$${x}`)}),A.length>0&&(l.push(m),d.push(A.join("#")))}),c.vod_play_from=l.join("$$$"),c.vod_play_url=d.join("$$$"),n.push(c)}catch{}return{list:n}}async function t1r(t,e){let r=t.body.id,n=r.startsWith("//")?`https:${r}`:r;return n.includes(".m3u8")||n.includes(".mp4")?{parse:0,url:n,header:Z0.headers}:{parse:1,url:n}}async function r1r(t,e){let r=t.body.page,n=t.body.wd,s=r||1;s==0&&(s=1);try{let i=`${Z0.host}/api/v2/search/videoV2?key=${encodeURIComponent(n)}&category_id=88&page=${s}&pageSize=20`,o=(await he.get(i,{headers:Z0.headers})).data,u=(Array.isArray(o.data)?o.data:[]).map(d=>({vod_id:String(d.id),vod_name:d.title||"",vod_pic:Woe(d.thumbnail||d.path||""),vod_remarks:d.mask||""})).filter(d=>d.vod_id&&d.vod_name),l=o.total||0;return{page:parseInt(s),pagecount:u.length>0?parseInt(s)+1:parseInt(s),total:l,list:u}}catch{return{list:[],page:parseInt(s),pagecount:1}}}async function n1r(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home.class.length>0&&(s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1}),n.category=s.json(),n.category.list.length>0&&(s=await t.server.inject().post(`${r}/detail`).payload({id:n.category.list[0].vod_id}),n.detail=s.json(),n.detail.list&&n.detail.list.length>0))){n.play=[];for(let i of n.detail.list){let a=i.vod_play_from.split("$$$"),o=i.vod_play_url.split("$$$");for(let c=0;c<a.length;c++){let u=a[c],l=o[c].split("#");for(let d=0;d<l.length&&d<2;d++)s=await t.server.inject().post(`${r}/play`).payload({flag:u,id:l[d].split("$")[1]}),n.play.push(s.json())}}}return s=await t.server.inject().post(`${r}/search`).payload({wd:"\u7231",page:1}),n.search=s.json(),n}catch(r){return e.code(500),{err:r.message,tip:"check debug console output"}}}var $ot={meta:{key:"jianpian",name:"\u300C\u76F4\u300D\u8350\u7247",type:3},api:async t=>{t.post("/init",JEr),t.post("/home",XEr),t.post("/category",ZEr),t.post("/detail",e1r),t.post("/play",t1r),t.post("/search",r1r),t.get("/test",n1r)}};var pE=Re(require("node:crypto"),1);var Fot={host:"https://api.w32z7vtd.com",headers:{"Cache-Control":"no-cache",Version:"2406025",PackageName:"com.uf076bf0c246.qe439f0d5e.m8aaf56b725a.ifeb647346f",Ver:"1.9.2",Referer:"https://api.w32z7vtd.com","Content-Type":"application/x-www-form-urlencoded","User-Agent":"okhttp/3.12.0"}},$oe={"User-Agent":"Lavf/57.83.100"},s1r=`-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGAe6hKrWLi1zQmjTT1
ozbE4QdFeJGNxubxld6GrFGximxfMsMB6BpJhpcTouAqywAFppiKetUBBbXwYsYU
1wNr648XVmPmCMCy4rY8vdliFnbMUj086DU6Z+/oXBdWU3/b1G0DN3E9wULRSwcK
ZT3wj/cCI1vsCm3gj2R5SqkA9Y0CAwEAAQKBgAJH+4CxV0/zBVcLiBCHvSANm0l7
HetybTh/j2p0Y1sTXro4ALwAaCTUeqdBjWiLSo9lNwDHFyq8zX90+gNxa7c5EqcW
V9FmlVXr8VhfBzcZo1nXeNdXFT7tQ2yah/odtdcx+vRMSGJd1t/5k5bDd9wAvYdI
DblMAg+wiKKZ5KcdAkEA1cCakEN4NexkF5tHPRrR6XOY/XHfkqXxEhMqmNbB9U34
saTJnLWIHC8IXys6Qmzz30TtzCjuOqKRRy+FMM4TdwJBAJQZFPjsGC+RqcG5UvVM
iMPhnwe/bXEehShK86yJK/g/UiKrO87h3aEu5gcJqBygTq3BBBoH2md3pr/W+hUM
WBsCQQChfhTIrdDinKi6lRxrdBnn0Ohjg2cwuqK5zzU9p/N+S9x7Ck8wUI53DKm8
jUJE8WAG7WLj/oCOWEh+ic6NIwTdAkEAj0X8nhx6AXsgCYRql1klbqtVmL8+95KZ
K7PnLWG/IfjQUy3pPGoSaZ7fdquG8bq8oyf5+dzjE/oTXcByS+6XRQJAP/5ciy1b
L3NhUhsaOVy55MHXnPjdcTX0FaLi+ybXZIfIQ2P4rb19mVq1feMbCXhz+L1rG8oa
t5lYKfpe8k83ZA==
-----END PRIVATE KEY-----`,Uot="Qmxi5ciWXbQzkr7o+SUNiUuQxQEf8/AVyUWY4T/BGhcXBIUz4nOyHBGf9A4KbM0iKF3yp9M7WAY0rrs5PzdTAOB45plcS2zZ0wUibcXuGJ29VVGRWKGwE9zu2vLwhfgjTaaDpXo4rby+7GxXTktzJmxvneOUdYeHi+PZsThlvPI=",Foe="1be86e8e18a9fa18b2b8d5432699dad0.ac008ed650fd087bfbecf2fda9d82e9835253ef24843e6b18fcd128b10763497bcf9d53e959f5377cde038c20ccf9d17f604c9b8bb6e61041def86729b2fc7408bd241e23c213ac57f0226ee656e2bb0a583ae0e4f3bf6c6ab6c490c9a6f0d8cdfd366aacf5d83193671a8f77cd1af1ff2e9145de92ec43ec87cf4bdc563f6e919fe32861b0e93b118ec37d8035fbb3c.59dd05c5d9a8ae726528783128218f15fe6f2c0c8145eddab112b374fcfe3d79",Tw={INDEX_LIST:"/App/IndexList/indexList",PLAY_INFO:"/App/IndexPlay/playInfo",VURL_SHOW:"/App/Resource/Vurl/show",VURL_DETAIL:"/App/Resource/VurlDetail/showOne",FIND_MORE:"/App/Index/findMoreVod"},i1r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u7535\u89C6\u5267"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"3",type_name:"\u7EFC\u827A"},{type_id:"64",type_name:"\u77ED\u5267"}],a1r={1:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],2:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],3:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],4:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],64:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}]},Iw=new Map,o1r={category:3e5,detail:3e5,play:3e5,search:6e4};function c1r(t){return pE.default.createHash("md5").update(t).digest("hex")}function u1r(t){let e=Buffer.from("mvXBSW7ekreItNsT","utf8"),r=Buffer.from("2U3IrJL8szAKp0Fj","utf8"),n=pE.default.createCipheriv("aes-128-cbc",e,r),s=n.update(t,"utf8","hex");return s+=n.final("hex"),s.toUpperCase()}function l1r(t,e,r){let n=Buffer.from(e,"utf8"),s=Buffer.from(r,"utf8"),i=pE.default.createDecipheriv("aes-128-cbc",n,s),a=i.update(t,"hex","utf8");return a+=i.final("utf8"),a}function d1r(t){let e=Buffer.from(t,"base64"),r=256,n=[];for(let s=0;s<e.length;s+=r){let i=e.slice(s,s+r),a=pE.default.privateDecrypt({key:s1r,padding:pE.default.constants.RSA_NO_PADDING},i),o=a.indexOf(0,2);if(o===-1){for(o=0;o<a.length&&a[o]===0;)o+=1;n.push(a.slice(o))}else n.push(a.slice(o+1))}return Buffer.concat(n).toString("utf8").trim()}function f1r(t,e){let r=`token_id=,token=${Foe},phone_type=1,request_key=${t},app_id=1,time=${e},keys=${Uot}*&zvdvdvddbfikkkumtmdwqppp?|4Y!s!2br`;return c1r(r)}function p1r(t){let e=Iw.get(t);return e?Date.now()>e.expire?(Iw.delete(t),null):e.data:null}function m1r(t,e,r){Iw.set(t,{data:e,expire:Date.now()+(o1r[r]||6e4)}),Iw.size>200&&Iw.clear()}async function ww(t,e,r="category"){let n=`${e}|${JSON.stringify(t)}`;if(r!=="none"){let p=p1r(n);if(p)return p}let s=Math.floor(Date.now()/1e3).toString(),i=u1r(JSON.stringify(t)),a=f1r(i,s),o=new URLSearchParams({token:Foe,token_id:"",phone_type:"1",time:s,phone_model:"xiaomi-22021211rc",keys:Uot,request_key:i,signature:a,app_id:"1",ad_version:"1"}).toString(),c=await he.post(`${Fot.host}${e}`,o,{headers:Fot.headers});if(c.status!==200||!c.data?.data?.keys||!c.data?.data?.response_key)return null;let u=d1r(c.data.data.keys);if(!u)return null;let l=JSON.parse(u),d=l1r(c.data.data.response_key,l.key,l.iv);if(!d)return null;let f=JSON.parse(d);return r!=="none"&&f&&m1r(n,f,r),f}function qot(t){return{vod_id:`${t.vod_id}/${t.vod_continu||0}`,vod_name:t.vod_name,vod_pic:t.vod_pic,vod_remarks:(t.vod_continu||0)===0?"\u7535\u5F71":`\u66F4\u65B0\u81F3${t.vod_continu}\u96C6`}}function h1r(t){let e=String(t||"").trim();if(!e)return"";let r=e.split("/")[0];return/^\d+$/.test(r)?r:e.match(/(\d+)/)?.[1]||e}function Z4(t){let e=String(t||"").toLowerCase().replace("p","");return e==="8k"?100:e==="4k"||e==="2160"?90:e==="1440"?80:e==="1080"?70:e==="720"?60:e==="\u8D85\u6E05"?50:e==="\u9AD8\u6E05"?40:e==="\u6807\u6E05"?30:10}async function g1r(t,e){return{}}async function A1r(t,e){return{class:i1r,filters:a1r}}async function y1r(t,e){let r=t.body.id,n=String(t.body.page||1),s=t.body.filters||{};if(!r)return{page:1,pagecount:0,list:[]};let i=await ww({area:s.area||"0",year:s.year||"0",pageSize:"20",sort:s.sort||"d_id",page:n,tid:String(r)},Tw.INDEX_LIST,"category"),a=Array.isArray(i?.list)?i.list.map(u=>qot(u)):[],o=parseInt(n,10)||1,c=parseInt(i?.totalPage||0,10)||(a.length>0?o+1:o);return{page:o,pagecount:c,list:a}}async function x1r(t,e){let r=String(t.body.wd||"").trim(),n=String(t.body.page||1);if(!r)return{page:1,pagecount:0,list:[]};let s=await ww({keywords:r,order_val:"1",page:n},Tw.FIND_MORE,"search"),a=(Array.isArray(s?.list)?s.list:[]).filter(u=>String(u?.vod_name||"").toLowerCase().includes(r.toLowerCase())).map(u=>qot(u)),o=parseInt(n,10)||1,c=parseInt(s?.totalPage||0,10)||(a.length>0?o+1:o);return{page:o,pagecount:c,list:a}}async function b1r(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i=String(s||""),a=h1r(i);if(!a)continue;let[o,c]=await Promise.all([ww({token_id:"1649412",vod_id:a,mobile_time:Math.floor(Date.now()/1e3).toString(),tokename:Foe},Tw.PLAY_INFO,"detail"),ww({vurl_cloud_id:"2",vod_d_id:a},Tw.VURL_SHOW,"detail")]),u=o?.vodInfo;if(!u)continue;let l=[],d=Array.isArray(c?.list)?c.list:[];d.forEach((f,p)=>{let m=f?.play;if(!m||typeof m!="object")return;let h=[],A=[];if(Object.entries(m).forEach(([y,x])=>{x?.param&&(h.push(String(x.param)),A.push(String(y)))}),!h.length)return;A.sort((y,x)=>Z4(x)-Z4(y));let g=d.length===1?String(u.vod_name||"\u6B63\u7247"):String(f?.name||p+1),b=`${h[0]}||${A.join("@")}`;l.push(`${g}$${b}`)}),n.push({vod_id:i,vod_name:u.vod_name||"",vod_pic:u.vod_pic||"",vod_year:u.vod_year||"",vod_area:u.vod_area||"",vod_remarks:u.vod_remarks||(Number(u.vod_continu||0)===0?"\u7535\u5F71":`\u66F4\u65B0\u81F3${u.vod_continu}\u96C6`),vod_actor:u.vod_actor||"",vod_director:u.vod_director||"",vod_content:String(u.vod_use_content||u.vod_content||"").trim(),vod_play_from:l.length>0?"\u74DC\u5B50\u4E13\u7EBF":"",vod_play_url:l.length>0?l.join("#"):""})}return{list:n}}async function E1r(t,e){let r=String(t.body.id||"").trim();if(!r)return{parse:0,url:"",header:$oe};let n=r.split("||");if(n.length<2)return{parse:0,url:r,header:$oe};let s={};n[0].split("&").forEach(c=>{let[u,l]=c.split("=");u&&(s[u]=l||"")});let i=n[1].split("@").filter(Boolean);i.length>0&&(i.sort((c,u)=>Z4(u)-Z4(c)),s.resolution=i[0]);let a=await ww(s,Tw.VURL_DETAIL,"play");return{parse:0,url:String(a?.url||"").trim(),header:$oe}}var jot={meta:{key:"guazi",name:"\u300C\u76F4\u300D\u74DC\u5B50",type:3},api:async t=>{t.post("/init",g1r),t.post("/home",A1r),t.post("/category",y1r),t.post("/detail",b1r),t.post("/play",E1r),t.post("/search",x1r)}};var zf=String(process.env.PPNIX_HOST||"https://www.ppnix.com").trim(),_1r=String(process.env.PPNIX_LANG_PATH||"/cn").trim(),Qot=String(process.env.PPNIX_UA||"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36").trim(),Got=24,S1r=10*60*1e3,v1r=[{type_id:"movie",type_name:"\u7535\u5F71"},{type_id:"tv",type_name:"\u7535\u89C6\u5267"}],C1r={time:"newstime",hits:"onclick",score:"rating",newstime:"newstime",onclick:"onclick",rating:"rating"},Gl={expiresAt:0,filters:{},filterDef:{movie:{class:"",area:"",year:"",by:"newstime"},tv:{class:"",area:"",year:"",by:"newstime"}}};function gn(t){return t==null?"":String(t).trim()}function I1r(t=""){let e=gn(t);return e?e.startsWith("/")?e.replace(/\/+$/,""):`/${e.replace(/\/+$/,"")}`:"/cn"}var Kg=I1r(_1r);function Vot(t=""){let e=gn(t);return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?`${zf}${e}`:`${zf}/${e}`:`${zf}${Kg}/`}function zg(t){return gn(t).replace(/<br\s*\/?>/gi," ").replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/&#160;/gi," ").replace(/&amp;/gi,"&").replace(/&quot;/gi,'"').replace(/&#39;/gi,"'").replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/\s+/g," ").trim()}function zot(t){let e=gn(t);return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?`${zf}${e}`:`${zf}/${e}`:""}function T1r(t){let e=[],r=new Set;for(let n of Array.isArray(t)?t:[]){let s=gn(n?.vod_id||n?.vod_name);!s||r.has(s)||(r.add(s),e.push(n))}return e}function Kot(t){let e=gn(t);return e?/^https?:\/\//i.test(e)||e.startsWith("/")?e:e.startsWith("movie/")||e.startsWith("tv/")?`${Kg}/${e}`:`${Kg}/${e.replace(/^\/+/,"")}`:""}async function Rw(t,e={}){let r=Vot(t),n={"User-Agent":Qot,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",Referer:e.referer||`${zf}${Kg}/`,...e.headers||{}},s=await he({url:r,method:e.method||"GET",headers:n,data:e.body,timeout:e.timeout||2e4,responseType:"text",validateStatus:()=>!0,maxRedirects:5}),i=Number(s.status||0),a=typeof s.data=="string"?s.data:String(s.data||"");if(i!==200)throw new Error(`HTTP ${i||"unknown"} @ ${r}`);return a}function Yot(t,e,r=""){let n=[];return t(e).each((s,i)=>{let a=t(i),o=a.find("a.thumbnail, h2 a, a").first(),c=gn(o.attr("href")||a.find("h2 a").attr("href")||""),u=Kot(c),l=zg(a.find("img.thumb").attr("alt")||a.find("h2 a").text()||o.text()),d=zot(a.find("img.thumb").attr("src")||a.find("img.thumb").attr("data-src")||""),f=zg(a.find("footer .rate").text()||a.find("footer").text());!u||!l||n.push({vod_id:u,vod_name:l,vod_pic:d,vod_remarks:f,type_id:r,type_name:r==="movie"?"\u7535\u5F71":r==="tv"?"\u7535\u89C6\u5267":""})}),T1r(n)}function w1r(t=""){let e=(t.match(/infoid\s*=\s*(\d+)/)||[])[1]||"",r=t.match(/m3u8\s*=\s*\[(.*?)\]/s);if(!r)return{infoId:e,items:[]};let n=[],s=/'([^']*)'|"([^"]*)"/g,i;for(;(i=s.exec(r[1]))!==null;){let a=gn(i[1]||i[2]||"");a&&n.push(a)}return{infoId:e,items:[...new Set(n)]}}function R1r(t){let e=gn(t.infoId||""),r=encodeURIComponent(gn(t.param||"")),n=encodeURIComponent(gn(t.referer||"")),s=encodeURIComponent(gn(t.episodeName||""));return`${e}|${r}|${n}|${s}`}function N1r(t){try{let e=String(t||"").split("|");return{infoId:gn(e[0]||""),param:decodeURIComponent(e[1]||""),referer:decodeURIComponent(e[2]||""),episodeName:decodeURIComponent(e[3]||"")}}catch{return{}}}function O1r(t={}){let e=t&&typeof t=="object"?t:{};return{class:gn(e.class||e.type||e.cate||""),area:gn(e.area||""),year:gn(e.year||""),by:gn(e.by||e.sort||"newstime")||"newstime"}}function qoe(t,e=1,r={}){let n=O1r(r),s=n.class,i=n.area,a=n.year,o=C1r[n.by]||"newstime",c=Number(e)<=1?"":`${Number(e)-1}`;return`${Kg}/${t}/${s}-${i}-${a}-${c}-${o}.html`}function P1r(t=[]){return[...new Set((t||[]).map(e=>gn(e)).filter(Boolean))]}function Uoe(t,e,r=""){let n=[];return t(e).find("a").each((s,i)=>{let a=gn(t(i).text());!a||a===r||n.push(a)}),P1r(n)}function Hot(t){let e=[],r=t(".lists-content.filter dl");if(!r.length)return e;let n=Uoe(t,r.eq(0),"\u5168\u90E8");n.length&&e.push({key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},...n.map(a=>({n:a,v:a}))]});let s=Uoe(t,r.eq(1),"\u5168\u90E8");s.length&&e.push({key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},...s.map(a=>({n:a,v:a}))]});let i=Uoe(t,r.eq(2),"\u5168\u90E8");return i.length&&e.push({key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},...i.map(a=>({n:a,v:a}))]}),e.push({key:"by",name:"",init:"newstime",value:[{n:"\u65F6\u95F4",v:"newstime"},{n:"\u4EBA\u6C14",v:"onclick"},{n:"\u8BC4\u5206",v:"rating"}]}),e}async function D1r(t=!1){if(!t&&Gl.expiresAt>Date.now()&&Object.keys(Gl.filters).length>0)return{filters:Gl.filters,filter_def:Gl.filterDef};try{let[e,r]=await Promise.all([Rw(qoe("movie",1,{})),Rw(qoe("tv",1,{}))]);Gl.filters={movie:Hot(Me(e)),tv:Hot(Me(r))},Gl.expiresAt=Date.now()+S1r}catch{if(!Object.keys(Gl.filters).length){let e=[{key:"by",name:"",init:"newstime",value:[{n:"\u6309\u65F6\u95F4",v:"newstime"},{n:"\u6309\u4EBA\u6C14",v:"onclick"},{n:"\u6309\u8BC4\u5206",v:"rating"}]}];Gl.filters={movie:e,tv:e}}}return{filters:Gl.filters,filter_def:Gl.filterDef}}async function k1r(t,e){return{}}async function L1r(t,e){let{filters:r}=await D1r();return{class:v1r,filters:r}}async function B1r(t,e){try{let r=gn(t.body?.id||"movie"),n=Math.max(1,Number(t.body?.page||1)||1),s=t.body?.filters||{},i=await Rw(qoe(r,n,s)),a=Me(i),o=Yot(a,".lists-content > ul > li, .lists .lists-content ul li",r).filter(d=>d.vod_id.includes(`/${r}/`)),c=n,l=[...(a(".pagination, .pages, .pagenavi").html()||"").matchAll(/---(\d+)-\.html/g)].map(d=>Number(d[1])+1);return l.length?c=Math.max(n,...l):o.length>=Got&&(c=n+1),{page:n,pagecount:c,list:o}}catch{let r=Math.max(1,Number(t.body?.page||1)||1);return{page:r,pagecount:r,list:[]}}}async function M1r(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r)try{let i=Kot(s);if(!i)continue;let a=await Rw(i),o=Me(a),c=zg(o("h1.product-title").text()),u=zg(o("title").text()).replace(/\s*\([^)]*\).*/,""),l=c.replace(/\s*\([^)]*\)\s*$/,"").trim()||u,d=zot(o("header.product-header img.thumb").attr("src")||""),f=zg(o(".product-excerpt").filter((v,C)=>o(C).text().includes("\u7B80\u4ECB\uFF1A")).text()).replace(/^简介:/,"").trim(),p=zg(o(".product-excerpt").filter((v,C)=>o(C).text().includes("\u5BFC\u6F14\uFF1A")).find("span").text()),m=zg(o(".product-excerpt").filter((v,C)=>o(C).text().includes("\u4E3B\u6F14\uFF1A")).find("span").text()).replace(/\s*\/\s*/g,","),h=(c.match(/\((\d{4})\)/)||[])[1]||"",A=i.includes("/movie/")?"\u7535\u5F71":i.includes("/tv/")?"\u7535\u89C6\u5267":"",{infoId:g,items:b}=w1r(a),y=(i.match(/(\d+)\.html/)||[])[1]||"",x=b.map((v,C)=>{let R=b.length>1?`\u7B2C${C+1}\u96C6`:gn(v)||"\u6B63\u7247",w=R1r({infoId:g||y,param:v,referer:Vot(i),episodeName:R});return`${R}$${w}`});n.push({vod_id:i,vod_name:l,vod_pic:d,type_name:A,vod_year:h,vod_director:p,vod_actor:m,vod_content:f,vod_play_from:x.length?"PPnix":"",vod_play_url:x.join("#")})}catch{continue}return{list:n}}async function W1r(t,e){try{let r=N1r(t.body?.id||""),n=gn(r.infoId),s=gn(r.param);if(!n||!s)return{parse:0,url:gn(t.body?.id||"")};let i=gn(r.referer||`${zf}${Kg}/`);return{parse:0,url:`${zf}/info/m3u8/${n}/${encodeURIComponent(s)}.m3u8`,header:{Referer:i,Origin:zf,"User-Agent":Qot}}}catch{return{parse:1,url:gn(t.body?.id||""),header:{}}}}async function $1r(t,e){try{let r=gn(t.body?.wd||""),n=Math.max(1,Number(t.body?.page||1)||1);if(!r)return{page:1,pagecount:1,list:[]};let s=encodeURIComponent(r),i=n<=1?"":`-page-${n}`,a=await Rw(`${Kg}/search/${s}--.html${i}`),o=Me(a),c=Yot(o,".lists-content > ul > li, .lists .lists-content ul li").filter(u=>/\/(movie|tv)\/\d+\.html/.test(u.vod_id));return{page:n,pagecount:c.length>=Got?n+1:n,list:c}}catch{let r=Math.max(1,Number(t.body?.page||1)||1);return{page:r,pagecount:r,list:[]}}}var Jot={meta:{key:"ppnix",name:"\u300C\u76F4\u300DPPnix",type:3},api:async t=>{t.post("/init",k1r),t.post("/home",L1r),t.post("/category",B1r),t.post("/detail",M1r),t.post("/play",W1r),t.post("/search",$1r)}};var qn={key:"anime1",name:"Anime1\u52D5\u756B",host:"https://anime1.me",listUrl:"https://d1zquzjgwo9yb.cloudfront.net/",playApi:"https://v.anime1.me/api",pic:"https://sta.anicdn.com/playerImg/8.jpg",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",timeout:15e3},Nw=48,F1r=5*60*1e3,U1r=60,Xot=(()=>{let t=Math.max(new Date().getFullYear(),2025),e=[];for(let r=t;r>=2018;r-=1)e.push({type_id:String(r),type_name:String(r)});return[{type_id:"\u9023\u8F09\u4E2D",type_name:"\u9023\u8F09\u4E2D"},...e,{type_id:"2017",type_name:"\u66F4\u65E9"}]})(),tM={expireAt:0,list:[]},eM=null;function Yg(t){return Me(`<div>${String(t||"")}</div>`).text().replace(/\s+/g," ").trim()}function Qoe(t=qn.host){return{"User-Agent":qn.ua,Referer:t,"Accept-Language":"zh-CN,zh;q=0.9"}}function Ow(t,e=qn.host){let r=String(t||"").trim();if(!r)return"";try{return new URL(r,e).href}catch{return""}}function Goe(t){let e=String(t||"").trim();if(!e)return"";try{let n=new URL(e,qn.host).searchParams.get("cat");if(n)return n}catch{}return e.replace(/^\/?\?cat=/,"")}function q1r(t){let e=String(t||"").trim();if(/^https?:\/\//i.test(e))return e;if(e.startsWith("/"))return Ow(e);let r=Goe(e);return r?`${qn.host}/?cat=${encodeURIComponent(r)}`:qn.host}function j1r(t){let e=String(t||"").trim();return e?e.startsWith("//")?`https:${e}`:Ow(e,qn.host):""}function H1r(t){if(!Array.isArray(t))return null;let e=String(t[0]??"").trim(),r=Yg(t[1]);return!e||!r?null:{id:e,vod_id:e,vod_name:r,vod_pic:qn.pic,vod_remarks:Yg(t[2]),vod_year:String(t[3]??"").trim(),type_name:Yg(t[4]),vod_actor:Yg(t[5])}}async function Hoe(t,e={}){let r=Ow(t,e.base||qn.host),n=await he({url:r,method:"get",timeout:e.timeout||qn.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{...Qoe(e.referer||qn.host),...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function Q1r(){let t=await he({url:`${qn.listUrl}?_=${Date.now()}`,method:"get",timeout:qn.timeout,responseType:"text",transformResponse:[n=>n],validateStatus:()=>!0,headers:Qoe(qn.host)});if(t.status<200||t.status>=300)throw new Error(`HTTP ${t.status}`);let e=JSON.parse(String(t.data||"{}")),r=Object.values(e).map(H1r).filter(Boolean);return tM={expireAt:Date.now()+F1r,list:r},r}async function rM(){return tM.expireAt>Date.now()&&tM.list.length>0?tM.list:(eM||(eM=Q1r().finally(()=>{eM=null})),eM)}function Zot(t,e){let r=String(e||"\u9023\u8F09\u4E2D").trim();return r==="\u9023\u8F09\u4E2D"?t.filter(n=>n.vod_remarks.includes("\u9023\u8F09\u4E2D")):r==="2017"?t.filter(n=>{let s=Number.parseInt(n.vod_year,10);return Number.isFinite(s)&&s<=2017}):t.filter(n=>n.vod_year===r)}function ect(t,e,r=Nw){let n=Math.max(1,Number.parseInt(e,10)||1),s=t.length,i=Math.max(1,Math.ceil(s/r));return{list:t.slice((n-1)*r,n*r),page:n,pagecount:i,limit:r,total:s}}function G1r(t,e){let r=Goe(e);return t.find(n=>n.id===r||n.vod_id===r)}function V1r(t){return Yg(t).replace(/[$#]/g," ").trim()}function z1r(t,e){let r=Yg(t),n=r.match(/\[(.*)\]/);return V1r(n?.[1]||r||`\u7B2C${e+1}\u96C6`)}function K1r(t){return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}function Y1r(t){try{let e=JSON.parse(Buffer.from(String(t||""),"base64").toString("utf8"));return e&&typeof e=="object"?e:{}}catch{return{}}}function J1r(t,e,r){let n=Me(t||"");n(".site-main article").each((s,i)=>{let a=String(n(i).find("[data-apireq]").first().attr("data-apireq")||"").trim();if(!a||r.has(a))return;let o=n(i).find(".entry-title").first().text();r.add(a),e.push({name:z1r(o,e.length),apiReq:a})})}async function X1r(t,e){let r=[],n=new Set,s=new Set,i=t,a=e;for(let o=0;o<U1r&&i;o+=1){n.add(a),J1r(i,r,s);let c=Me(i||"");if(o===0&&r.length===0){let l=Ow(c(".cat-links a").first().attr("href"),a);if(l&&!n.has(l)){a=l,i=await Hoe(a,{referer:e});continue}}let u=Ow(c(".nav-previous a").first().attr("href"),a);if(!u||n.has(u))break;a=u,i=await Hoe(a,{referer:e})}return r.reverse()}function Z1r(t){return(Array.isArray(t)?t.join(";"):String(t||"")).split(";").map(r=>r.trim()).filter(r=>["e","p","h"].includes(r.split("=")[0])).join("; ")}function joe(t,e=qn.host){let r={"User-Agent":qn.ua,Referer:e||qn.host};return t&&(r.Cookie=t),r}async function e_r(t,e){let r=await he({url:qn.playApi,method:"post",data:`d=${t}`,timeout:qn.timeout,responseType:"text",transformResponse:[i=>i],validateStatus:()=>!0,headers:{...Qoe(qn.host),"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}});if(r.status<200||r.status>=300)throw new Error(`HTTP ${r.status}`);let n=JSON.parse(String(r.data||"{}")),s=j1r(n?.s?.[0]?.src);if(!s)throw new Error("empty play url");return{url:s,cookie:Z1r(r.headers?.["set-cookie"])}}async function t_r(t,e){return{}}async function r_r(t,e){try{let r=Zot(await rM(),"\u9023\u8F09\u4E2D").slice(0,Nw);return{class:Xot,filters:{},list:r}}catch(r){return console.error("anime1 home failed:",r.message),{class:Xot,filters:{},list:[]}}}async function n_r(t,e){let r=t.body?.id||t.body?.tid||"\u9023\u8F09\u4E2D",n=t.body?.page||1;try{return ect(Zot(await rM(),r),n)}catch(s){return console.error("anime1 category failed:",s.message),{list:[],page:Math.max(1,Number.parseInt(n,10)||1),pagecount:1,limit:Nw,total:0}}}async function s_r(t,e){let r=String(t.body?.wd||"").trim(),n=t.body?.page||1;if(!r)return{list:[],page:1,pagecount:1,limit:Nw,total:0};try{let s=r.toLowerCase(),i=(await rM()).filter(a=>a.vod_name.toLowerCase().includes(s));return ect(i,n)}catch(s){return console.error("anime1 search failed:",s.message),{list:[],page:Math.max(1,Number.parseInt(n,10)||1),pagecount:1,limit:Nw,total:0}}}async function i_r(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(a=>String(a||"").trim()).filter(Boolean),s=[],i=await rM().catch(()=>[]);for(let a of n){let o=Goe(a),c=q1r(a);try{let u=await Hoe(c),l=Me(u||""),d=G1r(i,a),f=Yg(l(".page-title, h1").first().text()),m=(await X1r(u,c)).map(h=>`${h.name}$${K1r({apiReq:h.apiReq,referer:c})}`).join("#");s.push({vod_id:o||a,vod_name:d?.vod_name||f||o||a,vod_pic:d?.vod_pic||qn.pic,vod_remarks:d?.vod_remarks||"",vod_year:d?.vod_year||"",type_name:d?.type_name||"",vod_actor:d?.vod_actor||"",vod_content:d?.vod_remarks||"",vod_play_from:"Anime1",vod_play_url:m})}catch(u){console.error("anime1 detail failed:",a,u.message)}}return{list:s}}async function a_r(t,e){let r=String(t.body?.id||"").trim(),n=Y1r(r),s=String(n.apiReq||r).trim(),i=n.referer||qn.host;if(!s)return{parse:0,jx:0,url:"",header:joe("",i)};try{let a=await e_r(s,i);return{parse:0,jx:0,url:a.url,playId:a.url,header:joe(a.cookie,qn.host)}}catch(a){return console.error("anime1 play failed:",a.message),{parse:0,jx:0,url:"",header:joe("",i)}}}var tct={meta:{key:qn.key,name:"\u300C\u76F4\u300DAnime1",type:3},api:async t=>{t.post("/init",t_r),t.post("/home",r_r),t.post("/category",n_r),t.post("/detail",i_r),t.post("/play",a_r),t.post("/search",s_r)}};var Jg="https://gimy01.tv",sct="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",o_r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u7535\u89C6\u5267"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"29",type_name:"\u7EFC\u827A"},{type_id:"34",type_name:"\u77ED\u5267"},{type_id:"13",type_name:"\u9646\u5267"}],rct={\u5287:"\u5267",\u96FB:"\u7535",\u8996:"\u89C6",\u7DDA:"\u7EBF",\u570B:"\u56FD",\u7522:"\u4EA7",\u7D9C:"\u7EFC",\u85DD:"\u827A",\u52D5:"\u52A8",\u756B:"\u753B",\u985E:"\u7C7B",\u5225:"\u522B",\u72C0:"\u72B6",\u614B:"\u6001",\u5C0E:"\u5BFC",\u984C:"\u9898",\u6B61:"\u6B22",\u6A02:"\u4E50",\u611B:"\u7231",\u5F8C:"\u540E",\u9580:"\u95E8",\u9F8D:"\u9F99",\u99AC:"\u9A6C",\u98A8:"\u98CE",\u96F2:"\u4E91",\u8207:"\u4E0E",\u842C:"\u4E07",\u7121:"\u65E0",\u7DDA\u4E0A\u770B:"\u7EBF\u4E0A\u770B",\u9023\u7E8C\u5287:"\u8FDE\u7EED\u5267",\u96FB\u8996\u5287:"\u7535\u89C6\u5267",\u96FB\u5F71:"\u7535\u5F71",\u52D5\u6F2B:"\u52A8\u6F2B",\u7D9C\u85DD:"\u7EFC\u827A"};function Xg(t){return String(t||"").replace(/\/+$/,"")}function ict(t){return String(t||"").replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/&amp;/gi,"&").replace(/&quot;/gi,'"').replace(/&#39;/g,"'").replace(/\s+/g," ").trim()}function Wo(t){let e=ict(t);return Object.keys(rct).forEach(r=>{e=e.replace(new RegExp(r,"g"),rct[r])}),e}function c_r(t){return String(t||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Zg(t){let e=String(t||"").trim().replace(/^["']|["']$/g,"");return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?"https:"+e:e.startsWith("/")?Xg(Jg)+e:Xg(Jg)+"/"+e.replace(/^\.\//,""):""}function nM(t){return{"User-Agent":sct,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:t||Xg(Jg)+"/"}}function u_r(t){let e=String(t||""),r=e.trim();if(!r.startsWith('"')||!r.endsWith('"'))return e;try{let n=JSON.parse(r);if(typeof n=="string"&&/(?:<!doctype\s+html|<html[\s>])/i.test(n))return n}catch{}return e}function l_r(t){return new Promise(e=>setTimeout(e,t))}function d_r(t){let e=String(t?.code||"").toUpperCase(),r=String(t?.message||"");return["ECONNRESET","ETIMEDOUT","ECONNABORTED","EAI_AGAIN"].includes(e)||/socket disconnected|TLS connection|timeout/i.test(r)}async function Pw(t,e={}){let r=Number.isInteger(e.retries)?e.retries:2,n;for(let s=0;s<=r;s+=1)try{let i=await he(t,{method:e.method||"get",headers:{...nM(e.referer),...e.headers||{}},data:e.data,timeout:e.timeout||2e4,responseType:"text",transformResponse:[a=>a]});return u_r(i.data)}catch(i){if(n=i,s>=r||!d_r(i))throw i;await l_r(300*(s+1))}throw n}function f_r(t){let e=String(t||""),r=[/var\s+player_data\s*=\s*(\{[\s\S]*?\})\s*<\/script>/i,/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})\s*;/i,/player_data\s*=\s*(\{[\s\S]*?\})\s*;/i];for(let n of r){let s=e.match(n);if(s)try{return JSON.parse(s[1])}catch{}}return null}function p_r(t){let e=String(t?.url||"").trim(),r=String(t?.encrypt||"").trim();if(!e)return"";if(r==="1")try{return decodeURIComponent(e)}catch{return e}if(r==="2")try{return decodeURIComponent(Buffer.from(e,"base64").toString("utf8"))}catch{try{return Buffer.from(e,"base64").toString("utf8")}catch{return e}}return e}function act(t){let e=String(t||"").trim();if(!e)return null;try{return JSON.parse(e)}catch{let n=e.match(/\{[\s\S]*\}/);if(!n)return null;try{return JSON.parse(n[0])}catch{}}return null}function oct(t){return/^https?:\/\//i.test(t)&&/(?:\.m3u8|\.mp4|\.flv|\.m4v|\.m4s)(?:[?#]|$)/i.test(t)}function cct(t){let e=String(t||"").trim();if(!e)return"";if(oct(e))return e;let r=act(e);if(r&&typeof r=="object"){let s=cct(r.url||r.video||r.playurl);if(s)return s}let n=e.match(/https?:\/\/[^"'<>\s]+(?:\.m3u8|\.mp4|\.flv|\.m4v)(?:[^"'<>\s]*)?/i);return n?n[0]:""}function uct(t,e){let r=String(t||""),n=String(e||"");if(/^JDQM-/i.test(r)||/^JDQM$/i.test(n))return"JDQM";if(/^JDHG-/i.test(r)||/^JDHG$/i.test(n))return"JDHG";if(/^JD-/i.test(r)||/^(?:JD4K|JD2K)$/i.test(n)&&/^JD/i.test(r))return"JD2K";if(/^JK2-/i.test(r)||/^JK2$/i.test(n))return"JK2";if(/^NSYS-/i.test(r)||/^NSYS$/i.test(n))return"NSYS";if(/^NBY-/i.test(r)||/^NBY$/i.test(n))return"NBY";if(/^JinLiDj-/i.test(r)||/^djplayer$/i.test(n))return"djplayer";if(/^(?:znjson|znkan)-/i.test(r)||/^znjson$/i.test(n))return"znjson";let s=r.match(/^(JSYBL|JSYMG|JSYQY|JSYDJ|JSYHS|JSYRR|JSYYK|JSYTX)-/i);return s?s[1].toUpperCase():/^(?:JSYBL|JSYMG|JSYQY|JSYDJ|JSYHS|JSYRR|JSYYK|JSYTX)$/i.test(n)?n.toUpperCase():/(?:iqiyi\.com|bilibili\.com|v\.qq\.com|sohu\.com|pptv\.com|letv\.com|xigua\.com|mgtv\.com)/i.test(r)?"etcjc":/v\.youku\.com/i.test(r)?"kmjc":"normal"}function m_r(t,e){let r=uct(t,e);return/^(?:JD4K|JD2K|JDQM|JDHG)$/i.test(r)?"d":/^(?:JSYBL|JSYMG|JSYQY|JSYDJ|JSYHS|JSYRR|JSYYK|JSYTX)$/i.test(r)?"j":r==="normal"?"o":"v"}function h_r(t,e,r,n){let s="https://player.gimy.bot/"+m_r(t,e)+"/",i=uct(t,e),a=n||r,o=s+"?url="+encodeURIComponent(t);return o+="&jctype="+encodeURIComponent(i),a&&(o+="&next="+encodeURIComponent("//"+a.replace(/^https?:\/\//i,""))),{parseBase:s,referer:o}}function nct(t,e=Xg(Jg)){return{"User-Agent":sct,Referer:t||Xg(Jg)+"/",Origin:e}}function g_r(t){return{vod_id:t.vod_id||"",vod_name:t.vod_name||"",vod_pic:t.vod_pic||"",vod_remarks:t.vod_remarks||""}}function lct(t,e){let r=[],n={};return(e&&e.length?e:t.root()).find("a[href*='/vod/'], a[href*='/detail/']").each((i,a)=>{let o=t(a),c=o.attr("href")||"",u=Zg(c);if(!/(?:\/detail\/|\/vod\/)\d+\.html/i.test(u)||n[u])return;let l=Wo(o.attr("title")||o.find("img").attr("alt")||o.find(".title, .video-text, .module-poster-item-title, h3, h4, h5").first().text()||o.text());if(!l)return;let d=o.closest(".module-item, li, .public-list-box, .video-item, .item, .module-poster-item, .myui-vodlist__box"),f=Zg(o.attr("data-original")||o.attr("data-src")||o.attr("data-bg")||o.find("img").attr("data-original")||o.find("img").attr("data-src")||o.find("img").attr("src")||d.find("a.video-pic").first().attr("data-original")||d.find("a.video-pic").first().attr("data-src")||d.find("img").first().attr("data-original")||d.find("img").first().attr("data-src")||d.find("img").first().attr("src")||""),p=d.html()||o.parent().html()||"",m=String(p).match(/(?:更新至第?\d+集|更新第?\d+集|\(?\d+全\)?|全\d+集|已完結|已完结|HD中字|HD|TC|HC|搶先版|抢先版)/i);n[u]=!0,r.push(g_r({vod_id:u,vod_name:l,vod_pic:f,vod_remarks:m?Wo(m[0]):""}))}),r}function Mo(t,e){let r=new RegExp("<span[^>]*>\\s*"+c_r(e)+"\\s*[\uFF1A:]\\s*<\\/span>([\\s\\S]*?)<\\/(?:li|div)>","i"),n=String(t||"").match(r);return n?Wo(n[1]):""}function A_r(t){let e=[],r=[],n=new Set,s=(c,u)=>(Wo(c)||u||"\u6B63\u7247").replace(/[$#]/g," ").trim(),i=c=>{let u=[],l=new Set;return c.find("a[href*='/play/'], a[href*='/eps/']").each((d,f)=>{let p=t(f),m=p.attr("href")||"",h=Zg(m);if(!h||l.has(h))return;l.add(h);let A=s(p.attr("title")||p.text(),"\u7B2C"+(u.length+1)+"\u96C6");u.push(A+"$"+h)}),u},a=(c,u,l)=>{if(!u.length)return;let d=Wo(c)||"\u9ED8\u8BA4\u7EBF\u8DEF",f=String(l||d||r.length);n.has(f)||(n.add(f),r.push({from:d,urls:u.join("#")}))},o=new Map;return t(".source[data-route-switch], [data-line-name][data-route-switch]").each((c,u)=>{let l=t(u),d=String(l.attr("data-route-switch")||"").trim(),f=l.clone();f.children().remove();let p=Wo(l.attr("data-line-name")||f.text()||l.text());d&&p&&o.set(d,p)}),t(".episodes-route[data-route-sid], .eps[data-route-sid]").each((c,u)=>{let l=t(u),d=String(l.attr("data-route-sid")||"").trim();a(o.get(d)||"\u7EBF\u8DEF"+(d||r.length+1),i(l),"route:"+(d||r.length+1))}),t("#playTab a[href^='#con_playlist_']").each((c,u)=>{let l=t(u),d=String(l.attr("href")||"").replace(/^#/,""),f=Wo(l.text())||d;d&&e.push({tabId:d,name:f})}),t("ul[id^='con_playlist_']").each((c,u)=>{let l=t(u),d=l.attr("id")||"",f=Wo(l.prevAll("li").first().text())||d;d&&!e.some(p=>p.tabId===d)&&e.push({tabId:d,name:f})}),e.forEach(c=>{a(c.name,i(t("#"+c.tabId)),"tab:"+c.tabId)}),r.length||a("Gimy",i(t.root()),"fallback:gimy"),{playFrom:r.map(c=>c.from).join("$$$"),playUrl:r.map(c=>c.urls).join("$$$")}}async function y_r(t,e){return{}}async function x_r(t,e){return{class:o_r}}async function b_r(t,e){let r=String(t.body?.id||"2"),n=Number.parseInt(t.body?.page||1,10);(!n||n<1)&&(n=1);let s=await Pw(Xg(Jg)+"/type/"+r+(n>1?"-"+n:"")+".html"),i=Me(s),a=lct(i);return{page:n,pagecount:a.length>0?n+1:n,list:a}}async function E_r(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=String(s||"").trim();if(!i)continue;let a=/^https?:\/\//i.test(i)?i:Zg(i),o=await Pw(a),c=Me(o),u=A_r(c),l=c("h1.text-overflow, h1").first().text()||c("title").text(),d=Mo(o,"\u985E\u5225")||Mo(o,"\u7C7B\u522B"),f=d.match(/\b(?:19|20)\d{2}\b/)?.[0]||"";n.push({vod_id:a,vod_name:Wo(l.replace(/(?:線上看|线上看)[\s\S]*$/i,"")),vod_pic:Zg(c("meta[property='og:image']").attr("content")||(c(".details-pic .video-pic").attr("style")||"").match(/url\(([^)]+)\)/)?.[1]||c("img").first().attr("src")||""),vod_content:Wo(c(".switch-box .text, .details-content .text, .details-content, .detail-sketch").first().text()||c("meta[name='description']").attr("content")||""),vod_remarks:Mo(o,"\u72C0\u614B")||Mo(o,"\u72B6\u6001"),type_name:Wo(d.replace(/\s*[·.]\s*(?:19|20)\d{2}\b.*$/,"")),vod_year:Mo(o,"\u5E74\u4EE3")||Mo(o,"\u5E74\u4EFD")||f,vod_area:Mo(o,"\u570B\u5BB6/\u5730\u5340")||Mo(o,"\u56FD\u5BB6/\u5730\u533A")||Mo(o,"\u5730\u5340")||Mo(o,"\u5730\u533A"),vod_actor:Mo(o,"\u4E3B\u6F14")||Wo(c("li:contains('\u4E3B\u6F14') a, .detail__meta div:contains('\u4E3B\u6F14') a").map((p,m)=>c(m).text()).get().join(" / ")),vod_director:Mo(o,"\u5C0E\u6F14")||Mo(o,"\u5BFC\u6F14")||Wo(c("li:contains('\u5C0E\u6F14') a, li:contains('\u5BFC\u6F14') a, .detail__meta div:contains('\u5C0E\u6F14') a, .detail__meta div:contains('\u5BFC\u6F14') a").map((p,m)=>c(m).text()).get().join(" / ")),vod_play_from:u.playFrom,vod_play_url:u.playUrl})}return{list:n}}async function __r(t,e){let r=String(t.body?.id||"").trim();if(!r)return{parse:1,url:""};let n=/^https?:\/\//i.test(r)?r:Zg(r);try{let s=await Pw(n,{referer:n}),i=f_r(s),a=p_r(i),o=String(i?.from||t.body?.flag||"").trim();if(!a)return{parse:1,url:n,header:nM(n)};if(oct(a))return{parse:0,url:a,header:nct(n)};let c=i?.link_next?Zg(i.link_next):"",u=h_r(a,o,n,c),l=await Pw(u.parseBase+"parse.php?url="+encodeURIComponent(a)+"&_t="+Date.now(),{referer:u.referer,headers:{Accept:"application/json, text/plain, */*"}}),d=act(l),f=cct(d?.url||d?.video||d?.playurl);return f?{parse:0,url:f,header:nct(u.referer,"https://player.gimy.bot")}:{parse:1,url:a,header:nM(n)}}catch(s){return console.error("gimy play failed:",s.message),{parse:1,url:n,header:nM(n)}}}async function S_r(t,e){let r=ict(t.body?.wd),n=Number.parseInt(t.body?.page||1,10);if((!n||n<1)&&(n=1),!r)return{page:n,pagecount:n,list:[]};let s=Xg(Jg)+"/search/-------------.html?wd="+encodeURIComponent(r)+"&page="+n,i=await Pw(s),a=Me(i),o=lct(a,a(".box-main-content").first());return{page:n,pagecount:o.length>0?n+1:n,list:o}}var dct={meta:{key:"gimy",name:"\u300C\u76F4\u300D\u5267\u8FF7",type:3},api:async t=>{t.post("/init",y_r),t.post("/home",x_r),t.post("/category",b_r),t.post("/detail",E_r),t.post("/play",__r),t.post("/search",S_r)}};var Voe="https://hanxiaoquan.hanju.workers.dev",v_r="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",C_r=[{type_id:"0",type_name:"\u97E9\u5267"},{type_id:"1",type_name:"\u97E9\u5F71"},{type_id:"2",type_name:"\u65E5\u97E9\u7EFC"},{type_id:"3",type_name:"\u65E5\u97E9\u6F2B"},{type_id:"100",type_name:"\u70ED\u95E8"}];function zoe(t){return String(t||"").replace(/\/+$/,"")}function Vl(t){return String(t||"").replace(/\s+/g," ").trim()}function I_r(t){let e=String(t||"").trim();return e?e.startsWith("//")?"https:"+e:/^https?:\/\//i.test(e)?e:zoe(Voe)+(e.startsWith("/")?e:"/"+e):""}function fct(){let t=zoe(Voe);return{"User-Agent":v_r,Accept:"application/json, text/plain, */*","Content-Type":"application/json",Origin:t,Referer:t+"/"}}async function Koe(t,e,r=3e4){let n=await he(zoe(Voe)+t,{method:"post",headers:fct(),data:e||{},timeout:r,responseType:"json"});return typeof n.data=="string"?JSON.parse(n.data):n.data||{}}function Yoe(t){return{vod_id:String(t?.vod_id||""),vod_name:Vl(t?.vod_name),vod_pic:I_r(t?.vod_pic),vod_remarks:Vl(t?.vod_remarks||t?.vod_class),vod_year:Vl(t?.vod_year),vod_director:Vl(t?.vod_director),vod_actor:Vl(t?.vod_actor),vod_content:Vl(t?.vod_content)}}function mE(t){return String(t||"").toLowerCase().replace(/\s+/g,"").replace(/[·•・\-—_::,,.。'"“”‘’!?!?()()\[\]【】]/g,"")}function T_r(t,e){let r=mE(e),n=mE(t?.vod_name),s=mE(t?.vod_remarks),i=mE(t?.vod_actor),a=mE(t?.vod_director),o=mE(t?.vod_content);return r?n===r?1e4:n.startsWith(r)?8e3-n.length:n.includes(r)?6e3-n.indexOf(r):s.includes(r)?2500-s.indexOf(r):i.includes(r)?1800-i.indexOf(r):a.includes(r)?1500-a.indexOf(r):o.includes(r)?500-o.indexOf(r):0:0}function w_r(t,e,r){let n=[],s=Array.isArray(t)?t:[];for(let i of s){let a=Yoe(i);if(!a.vod_id||!a.vod_name||r[a.vod_id])continue;let o=T_r(a,e);o<=0||(r[a.vod_id]=!0,a._searchScore=o,n.push(a))}return n}function R_r(t){let e=Yoe(t);e.type_name=Vl(t?.vod_class),e.vod_area=Vl(t?.vod_area)||"\u97E9\u56FD";let n=(Array.isArray(t?.vod_play_url)?t.vod_play_url:[]).map((s,i)=>{let a=Vl(s?.t||s?.name)||"\u7B2C"+(i+1)+"\u96C6",o=String(s?.u||s?.url||"").trim();return o?a+"$"+o:""}).filter(Boolean).join("#");return e.vod_play_from=n?"\u9ED8\u8BA4\u7EBF\u8DEF":"",e.vod_play_url=n,e}function N_r(t,e,r){let n=Number(t?.pagecount||t?.pageCount||t?.totalPage||0);return Number.isFinite(n)&&n>0?n:r.length>0?e+1:e}async function O_r(t,e){return{}}async function P_r(t,e){return{class:C_r}}async function D_r(t,e){let r=String(t.body?.id||"0"),n=Number.parseInt(t.body?.page||1,10);(!n||n<1)&&(n=1);let s=await Koe("/api/list",{c_id:r,page:String(n)}),i=(Array.isArray(s?.data)?s.data:[]).map(Yoe).filter(a=>a.vod_id&&a.vod_name);return{page:n,pagecount:N_r(s,n,i),total:s?.total||i.length,list:i}}async function k_r(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=String(s||"").trim();if(!i)continue;let a=await Koe("/api/detail",{b_id:i});a?.data&&n.push(R_r(a.data))}return{list:n}}async function L_r(t,e){let r=String(t.body?.id||"").trim();return r?{parse:0,url:r,header:fct()}:{parse:1,url:""}}async function B_r(t,e){let r=Vl(t.body?.wd),n=Number.parseInt(t.body?.page||1,10);if((!n||n<1)&&(n=1),!r)return{page:n,pagecount:n,list:[]};let s={},i=[],a=n===1?5:n;for(let o=n;o<=a;o++){let c=await Koe("/api/search",{keyword:r,page:String(o)},6e4),u=w_r(c?.data,r,s);if(i.push(...u),!Array.isArray(c?.data)||c.data.length<20||n>1)break}return i.sort((o,c)=>{let u=Number(c._searchScore||0)-Number(o._searchScore||0);return u!==0?u:o.vod_name.localeCompare(c.vod_name,"zh-CN")}),i.forEach(o=>{delete o._searchScore}),{page:n,pagecount:i.length>0?n+1:n,list:i}}var pct={meta:{key:"hanxiaoquan",name:"\u300C\u76F4\u300D\u97E9\u5C0F\u5708",type:3},api:async t=>{t.post("/init",O_r),t.post("/home",P_r),t.post("/category",D_r),t.post("/detail",k_r),t.post("/play",L_r),t.post("/search",B_r)}};var Xoe=Re(require("node:vm"),1),lo=Re(Jn(),1);var xa={key:"wbbb",name:"\u6B6A\u6BD4\u5DF4\u535C",host:"https://wbbb1.com",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36",timeout:2e4},mct=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"}],M_r=/^(?:lzm3u8|bfzym3u8)$/i;function hct(t){return String(t||"").replace(/\/+$/,"")}function Bs(t,e,r=1,n=""){let s=String(t||"").match(e);return s&&s[r]||n}function Ts(t=""){return String(t).replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/&amp;/gi,"&").replace(/&quot;/gi,'"').replace(/&#39;/g,"'").replace(/\s+/g," ").trim()}function Joe(t=""){return Ts(t).replace(/\s*\/\s*/g,"/").replace(/^\/+|\/+$/g,"").trim()}function gct(t=""){return String(t).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fo(t=""){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?hct(xa.host)+e:hct(xa.host)+"/"+e.replace(/^\.\//,""):""}function W_r(t=""){let e=String(t||"").trim();if(!e)return"";if(e.startsWith("//"))return e;if(/^https?:\/\//i.test(e))try{let r=new URL(e);return`//${r.host}${r.pathname}${r.search}${r.hash}`}catch{}if(e.startsWith("/"))try{return`//${new URL(xa.host).host}${e}`}catch{}return e}function $_r(t){return(Array.isArray(t)?t:[]).map(e=>String(e||"").split(";")[0].trim()).filter(Boolean).join("; ")}function bct(t=`${xa.host}/`){return{"User-Agent":xa.ua,Referer:t,"Accept-Language":"zh-CN,zh;q=0.9"}}async function gE(t,e={}){let r=/^https?:\/\//i.test(t)?t:fo(t),n=await he({url:r,method:e.method||"get",data:e.data,timeout:e.timeout||xa.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{...bct(e.referer),...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function F_r(t,e={}){let r=await he({url:t,method:e.method||"get",data:e.data,timeout:e.timeout||xa.timeout,validateStatus:()=>!0,headers:e.headers||{}});if(r.status<200||r.status>=300)throw new Error(`HTTP ${r.status}`);return typeof r.data=="string"?JSON.parse(r.data):r.data}function Zoe(t=""){let e=Ts(String(t||"")).replace(/\s+/g,"").trim();return!e||/^(?:排序|选择播放源|切换播放源|更多|展开|收起)$/i.test(e)}function U_r(t=""){let e=String(t||"").trim();if(!e)return"";let r=e.match(/\/detail\/(\d+)\.html/i)||e.match(/^(\d+)$/);return r?r[1]:e}function q_r(t=""){if(t&&typeof t=="object"&&!Array.isArray(t)){let i=fo(t.playUrl||t.playId||t.url||t.id||""),a=Ts(t.name||"").trim();return!i||!a?null:{name:a,id:i,playId:i,playUrl:i,url:i}}let e=String(t||"").trim();if(!e)return null;let r=e.indexOf("$");if(r<0)return null;let n=e.slice(0,r).trim(),s=fo(e.slice(r+1).trim());return!n||!s?null:{name:n,id:s,playId:s,playUrl:s,url:s}}function Act(t,e,r=0){if(Zoe(t))return null;let n=Ts(String(t||"")).replace(/\s+/g," ").trim()||`\u7EBF\u8DEF${r+1}`,s=new Set,i=[];for(let a of Array.isArray(e)?e:[]){let o=q_r(a);!o||s.has(o.playId)||(s.add(o.playId),i.push(o))}return i.length?{name:n,url:i.map(a=>`${a.name}$${a.playUrl}`).join("#"),episodes:i}:null}function j_r(t){let e=Bs(t,/href=["']\/detail\/(\d+)\.html["']/i,1,""),r=Ts(Bs(t,/<div class=["']module-(?:poster-item-title|card-item-title)["']>([\s\S]*?)<\/div>/i,1,""))||Bs(t,/alt=["']([^"']+)["']/i,1,""),n=fo(Bs(t,/(?:data-original|data-src|src)=["']([^"']+)["']/i,1,"")),s=Ts(Bs(t,/<div class=["']module-item-note["']>([\s\S]*?)<\/div>/i,1,""));return{vod_id:e,vod_name:r,vod_pic:n,vod_remarks:s}}function tce(t){let e=String(t||""),r=[],n=/<a href=["']\/detail\/(\d+)\.html["'] title=["']([^"']+)["'] class=["']module-poster-item module-item["']>([\s\S]*?)<\/a>/gi,s;for(;(s=n.exec(e))!==null;){let a=s[0];r.push({vod_id:s[1],vod_name:Ts(s[2]),vod_pic:fo(Bs(a,/(?:data-original|data-src|src)=["']([^"']+)["']/i,1,"")),vod_remarks:Ts(Bs(a,/<div class=["']module-item-note["']>([\s\S]*?)<\/div>/i,1,""))})}if(r.length)return r;let i=/<div class=["']module-card-item module-item["']>([\s\S]*?)<\/div>\s*<\/div>/gi;for(;(s=i.exec(e))!==null;){let a=j_r(s[1]);a.vod_id&&a.vod_name&&r.push(a)}return r}function H_r(t){let e=[],r=/<div[^>]*class=["'][^"'>]*\bmodule-tab-item\b[^"'>]*["'][^>]*>([\s\S]*?)<\/div>/gi,n;for(;(n=r.exec(t))!==null;){let s=n[0],i=Bs(s,/data-dropdown-value\s*=\s*['"]([^'"]+)['"]/i,1,"").trim();if(i){Zoe(i)||e.push(i);continue}let a=Ts(n[1]||"").trim();a&&!Zoe(a)&&e.push(a)}return e}function Q_r(t){let e=[],r=/<div class=["']module-play-list-content[^"']*["']>([\s\S]*?)<\/div>/gi,n;for(;(n=r.exec(t))!==null;){let i=n[1],a=[],o=/<a[^>]+class=["']module-play-list-link[^"']*["'][^>]+href=["']([^"']+)["'][^>]*>([\s\S]*?)<\/a>/gi,c;for(;(c=o.exec(i))!==null;){let u=fo(c[1]),l=Ts(c[2]).trim();!u||!l||a.push(`${l}$${u}`)}a.length&&e.push(a)}if(e.length)return e;let s=[...t.matchAll(/<a[^>]+href=["']([^"']*\/(?:vplay|play)\/[^"'#]+)["'][^>]*>([\s\S]*?)<\/a>/gi)];return s.length?[s.map(i=>`${Ts(i[2]).trim()||"\u64AD\u653E"}$${fo(i[1])}`)]:e}function G_r(t="",e=""){let r=Ts(Bs(t,/<a[^>]+module-play-list-link[^"']*active[^"']*[^>]*>([\s\S]*?)<\/a>/i,1,"")),n=Ts(Bs(t,/(?:正在播放|当前播放)[^::]*[::]\s*([\s\S]*?)(?:<|$)/i,1,"")),s=r||n;return e&&s&&(s=s.replace(new RegExp(`^${gct(e)}\\s*`),"").trim(),s=s.replace(new RegExp(`^\u300A?${gct(e)}\u300B?\\s*`),"").trim()),s.trim()}function V_r(t="",e={}){let r=String(e?.vod_data?.vod_name||"").trim(),n=G_r(t,r);return`\u5728\u7EBF\u64AD\u653E${r}${n?` ${n}`:""}`.trim()||r||"\u5728\u7EBF\u64AD\u653E"}function z_r(t){let e=[/var\s+player_aaaa\s*=\s*(\{.*?\})<\/script>/s,/var\s+player_.*?=\s*(\{.*?\})<\/script>/s,/player_aaaa\s*=\s*(\{.*?\})\s*;/s,/player_data\s*=\s*(\{.*?\})\s*;/s];for(let r of e){let n=String(t||"").match(r);if(n)try{return JSON.parse(n[1])}catch{}}return null}function K_r(t,e){let r=String(t||"").trim(),n=String(e||"").trim();if(n==="1")try{r=unescape(r)}catch{}else if(n==="2"){try{r=Buffer.from(r,"base64").toString("utf8")}catch{}try{r=unescape(r)}catch{}}return fo(r)}function ece(t,e){let r=String(t||"").trim(),n=String(e||"").trim();if(!r)return!1;if(/\.(?:m3u8|mp4|m4v|m4a|mp3|flv|avi|mkv|mov|webm)(?:[?#]|$)/i.test(r)||/^(?:m3u8|mp4|m4v|m4a|mp3|flv|avi|mkv|mov|webm)$/i.test(n)&&/^https?:\/\//i.test(r)||M_r.test(n))return!0;try{let s=new URL(r);return/\.(?:m3u8|mp4|m4v|m4a|mp3|flv|avi|mkv|mov|webm)(?:$|\?)/i.test(s.pathname+s.search)}catch{return!1}}function yct(t=""){let e=String(t||"").trim();if(/^[A-Za-z0-9+/]+={0,2}$/.test(e)&&e.length%4===0)try{return lo.default.enc.Base64.parse(e)}catch{}return lo.default.enc.Utf8.parse(e)}function Y_r(t){let e=()=>{},r=function(){return{on:e,hide:e,show:e,html:e,text:e,click:e,append:e,remove:e,css:e,attr:e,addClass:e,removeClass:e,find:()=>({}),val:()=>"",ready:e,length:0}};r.post=e,r.ajax=e,r.get=e,r.fn={};let n=new URL(t),s={console,CryptoJS:lo.default,URL,URLSearchParams,Buffer,atob:i=>Buffer.from(i,"base64").toString("binary"),btoa:i=>Buffer.from(i,"binary").toString("base64"),setTimeout:e,setInterval:()=>0,clearTimeout:e,clearInterval:e,fetch:async()=>({ok:!0,status:200,headers:new Map,text:async()=>"",json:async()=>({})}),localStorage:{getItem:()=>null,setItem:e,removeItem:e},sessionStorage:{getItem:()=>null,setItem:e,removeItem:e},navigator:{userAgent:xa.ua,clipboard:{writeText:async()=>{}}},document:{title:"wbbb-parser",body:{},addEventListener:e,querySelector:()=>null,createElement:()=>({style:{},click:e}),getElementById:()=>({style:{},addEventListener:e,play:async()=>{},pause:e})},location:{origin:n.origin,pathname:n.pathname,search:n.search,href:n.toString(),host:n.host},window:null,top:null,parent:null,self:null,$:r,jQuery:r,Artplayer(){return{on:e,once:e,emit:e,destroy:e,template:{},plugins:{},setting:{show:e},controls:{add:e},layers:{add:e},events:{proxy:e},notice:{show:e},storage:{get:()=>null,set:e}}},animation:{}};return s.window=s,s.top=s,s.parent=s,s.self=s,s}async function J_r(t,e){let r=Bs(e,/<script[^>]+src=["']([^"']*setting\.js[^"']*)["']/i,1,"");if(!r)throw new Error("setting.js missing");let n=new URL(r,t).toString(),i=`${await gE(n,{referer:t})}
;globalThis.__wbbbResolveRuntime={ urlValueurl, keyValue, vkeyValue, ckeyValue, nextParam, titleParam };`,a=Y_r(t);Xoe.default.createContext(a),Xoe.default.runInContext(i,a,{timeout:5e3});let o={...a.__wbbbResolveRuntime||{},decrypt:typeof a.decrypt=="function"?a.decrypt.bind(a):null,deplay:typeof a.deplay=="function"?a.deplay.bind(a):null};if(!o.urlValueurl||!o.keyValue||!o.vkeyValue||!o.ckeyValue)throw new Error("setting runtime params missing");return o}async function X_r(t,e,r){let n=W_r(e),s=String(r||"").trim(),i=`https://xn--qvr2v.850088.xyz/player/?url=${encodeURIComponent(t)}${n?`&next=${encodeURIComponent(n)}`:""}${s?`&title=${encodeURIComponent(s)}`:""}`,a=await he.get(i,{timeout:xa.timeout,responseType:"text",transformResponse:[A=>A],validateStatus:()=>!0,headers:bct(`${xa.host}/`)});if(a.status<200||a.status>=300)throw new Error(`HTTP ${a.status}`);let o=String(a.data||""),c=$_r(a.headers?.["set-cookie"]),u=await J_r(i,o),l=u.urlValueurl||`${String(t||"").trim()}${n?`&next=${n}`:""}`,d="https://xn--qvr2v.850088.xyz/player/api.php",f=new URLSearchParams({url:l,key:u.keyValue,vkey:u.vkeyValue,ckey:u.ckeyValue}).toString(),p=await F_r(d,{method:"post",data:f,headers:{"User-Agent":xa.ua,"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With":"XMLHttpRequest",Referer:i,Origin:"https://xn--qvr2v.850088.xyz",...c?{Cookie:c}:{}}});if(!p||Number(p.code)!==200||!p.url)throw new Error(p?.msg||"parse api failed");let m=String(p.url||"").trim(),h="";if(m&&u&&typeof u.decrypt=="function")try{h=(u.decrypt(m)||"").trim();try{h=decodeURIComponent(h)}catch{}}catch{}if(!h&&m&&u&&typeof u.deplay=="function")try{let A=String(u.deplay(p.aes_key||"")||"").trim(),g=String(u.deplay(p.aes_iv||"")||"").trim();if(A&&g){h=(lo.default.AES.decrypt(m,lo.default.enc.Utf8.parse(A),{iv:lo.default.enc.Utf8.parse(g),mode:lo.default.mode.CBC,padding:lo.default.pad.Pkcs7}).toString(lo.default.enc.Utf8)||"").trim();try{h=decodeURIComponent(h)}catch{}}}catch{}if(!h){let A=yct(p.aes_key||""),g=yct(p.aes_iv||"");if(m&&A&&g)try{h=(lo.default.AES.decrypt(m,A,{iv:g,mode:lo.default.mode.CBC,padding:lo.default.pad.Pkcs7}).toString(lo.default.enc.Utf8)||"").trim();try{h=decodeURIComponent(h)}catch{}}catch{}}if(!h&&/^https?:\/\//i.test(m)&&(h=m),!h)try{h=decodeURIComponent(m)}catch{h=m}return h=fo(h),ece(h,p.type||"")||(h=i),{url:h,type:p.type||"",parsePageUrl:i}}function hE(t={}){return{"User-Agent":xa.ua,Referer:`${xa.host}/`,Origin:xa.host,...t}}function xct(t,e={}){return{parse:1,jx:1,url:t,playId:t,urls:[{name:"\u55C5\u63A2\u7EBF\u8DEF",url:t,playId:t}],header:hE(e)}}async function Z_r(t,e){return{}}async function eSr(t,e){try{let r=await gE("/");return{class:mct,filters:{},list:tce(r).slice(0,40)}}catch(r){return console.error("wbbb home failed:",r.message),{class:mct,filters:{},list:[]}}}async function tSr(t,e){let r=String(t.body?.id||"1"),n=Number.parseInt(t.body?.page||1,10);(!n||n<1)&&(n=1);try{let s=n>1?`/show/${r}--------${n}---.html`:`/show/${r}-----------.html`,i=await gE(s),a=tce(i),o=i.includes('title="\u4E0B\u4E00\u9875"')||i.includes("title='\u4E0B\u4E00\u9875'");return{page:n,pagecount:o?n+1:n,limit:20,total:(n-1)*20+a.length+(o?1:0),list:a}}catch(s){return console.error("wbbb category failed:",s.message),{page:n,pagecount:n,limit:20,total:0,list:[]}}}async function rSr(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(i=>String(i||"").trim()).filter(Boolean),s=[];for(let i of n)try{let a=U_r(i),o=/^https?:\/\//i.test(a)?a:`/detail/${a}.html`,c=await gE(o),u=[...c.matchAll(/<div class=["']module-info-tag-link["']>([\s\S]*?)<\/div>/gi)].map(h=>h[1]),l=H_r(c),d=Q_r(c),f=[];if(d.forEach((h,A)=>{let g=Act(l[A]||`\u7EBF\u8DEF${A+1}`,h,A);g&&f.push(g)}),f.length===0){let h=new Set,A=[...c.matchAll(/<a[^>]+href=["']([^"']*\/(?:vplay|play)\/[^"']+\.html)["'][^>]*>([\s\S]*?)<\/a>/gi)].map((b,y)=>{let x=fo(b[1]),v=Ts(b[2]).trim()||`\u7B2C${y+1}\u96C6`;return!x||h.has(x)?"":(h.add(x),`${v}$${x}`)}).filter(Boolean),g=Act(l[0]||"\u64AD\u653E\u7EBF\u8DEF",A,0);g&&(f=[g])}let p=f.map(h=>h.name),m=f.map(h=>h.url);s.push({vod_id:a,vod_name:Ts(Bs(c,/<h1[^>]*>([\s\S]*?)<\/h1>/i,1,"")),vod_pic:fo(Bs(c,/<div class=["']module-item-pic["']>[\s\S]*?<img[^>]+data-original=["']([^"']+)["']/i,1,""))||fo(Bs(c,/<div class=["']module-item-pic["']>[\s\S]*?<img[^>]+(?:data-src|src)=["']([^"']+)["']/i,1,"")),type_name:Joe(u[2]||""),vod_year:Ts(u[0]||""),vod_area:Ts(u[1]||""),vod_remarks:Ts(Bs(c,/<div class=["']module-item-note["']>([\s\S]*?)<\/div>/i,1,""))||Ts(Bs(c,/\u66f4\u65b0\u81f3[^<\s]+/,0,"")),vod_actor:Joe(Bs(c,/\u4e3b\u6f14:[\s\S]*?<div[^>]*class=["']module-info-item-content["']>([\s\S]*?)<\/div>/i,1,"")),vod_director:Joe(Bs(c,/\u5bfc\u6f14:[\s\S]*?<div[^>]*class=["']module-info-item-content["']>([\s\S]*?)<\/div>/i,1,"")),vod_content:Ts(Bs(c,/<div class=["']module-info-introduction-content[^"']*["'][^>]*>([\s\S]*?)<\/div>/i,1,"")),vod_play_from:p.join("$$$"),vod_play_url:m.join("$$$")})}catch(a){console.error("wbbb detail failed:",i,a.message)}return{list:s}}async function nSr(t,e){let r=String(t.body?.wd||"").trim(),n=Number.parseInt(t.body?.page||1,10);if((!n||n<1)&&(n=1),!r)return{page:n,pagecount:n,total:0,list:[]};try{let s=`/search/-------------.html?wd=${encodeURIComponent(r)}${n>1?`&page=${n}`:""}`,i=await gE(s),a=tce(i);return{page:n,pagecount:a.length>=20?n+1:n,total:a.length,list:a}}catch(s){return console.error("wbbb search failed:",s.message),{page:n,pagecount:n,total:0,list:[]}}}async function sSr(t,e){let r=String(t.body?.id||"").trim();if(!r)return{parse:1,jx:1,url:"",playId:""};let n=/^https?:\/\//i.test(r)?r:fo(r);try{let s=await gE(n,{referer:n}),i=z_r(s);if(!i)return{parse:0,jx:0,url:n,playId:n,header:hE()};let a=String(i.from||t.body?.flag||"").trim(),o=K_r(i.url,i.encrypt);if(ece(o,a))return{parse:0,jx:0,url:o,playId:o,header:hE({Referer:n})};let c=String(i.parse||i.jx||"").trim();if(c){let u=/^https?:\/\//i.test(c)?`${c}${encodeURIComponent(o)}`:fo(`${c}${encodeURIComponent(o)}`);return{parse:0,jx:0,url:u,playId:u,header:hE({Referer:n})}}try{let u=await X_r(String(i.url||""),n,V_r(s,i));if(u?.url){let l=hE({Referer:u.parsePageUrl||n});return ece(u.url,u.type||"")?{parse:0,jx:0,url:u.url,playId:u.url,header:l}:xct(u.url,l)}}catch(u){console.warn("wbbb resolve failed:",u.message)}return xct(o||n,{Referer:n})}catch(s){return console.error("wbbb play failed:",s.message),{parse:1,jx:1,url:n,playId:n,header:hE({Referer:n})}}}var Ect={meta:{key:xa.key,name:"\u300C\u76F4\u300D\u6B6A\u6BD4",type:3},api:async t=>{t.post("/init",Z_r),t.post("/home",eSr),t.post("/category",tSr),t.post("/detail",rSr),t.post("/play",sSr),t.post("/search",nSr)}};var kw={key:"girigiri",name:"girigiri\u7231\u52A8\u6F2B",host:"https://ani.girigirilove.com",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",timeout:15e3},ba=kw.host,rce=kw.ua,Dw=48;function Ru(t){return String(t||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/&amp;/gi,"&").replace(/&quot;/gi,'"').replace(/&#39;/g,"'").replace(/\s+/g," ").trim()}function zl(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?ba+e:ba+"/"+e:""}function _ct(t){try{return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}catch{return""}}function iSr(t){try{return JSON.parse(Buffer.from(t||"","base64").toString("utf8"))}catch{return{}}}function aSr(t){let e=new Set,r=[];for(let n of t||[]){let s=n?.vod_id;!s||e.has(s)||(e.add(s),r.push(n))}return r}function oSr(t){try{let e=Buffer.from(t||"","base64").toString("utf8");return decodeURIComponent(e)}catch{return t||""}}async function iM(t,e={}){let r=/^https?:\/\//i.test(t)?t:zl(t),n=await he({url:r,method:e.method||"get",data:e.data,timeout:e.timeout||kw.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{"User-Agent":rce,Referer:e.referer||ba+"/","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function cSr(t,e={}){let r=/^https?:\/\//i.test(t)?t:zl(t),n=await he.get(r,{timeout:e.timeout||kw.timeout,validateStatus:()=>!0,headers:{"User-Agent":rce,Referer:e.referer||ba+"/","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return n.data}function Ict(t){let e=[],r=t.match(/<div class="public-list-box public-pic-b">[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/g)||[];for(let n of r){let s=(n.match(/class="public-list-exp"[^>]*href="([^"]+)"/)||[])[1]||"",i=(n.match(/class="public-list-exp"[^>]*title="([^"]+)"/)||[])[1]||(n.match(/class="time-title[^"]*"[^>]*title="([^"]+)"/)||[])[1]||"",a=(n.match(/data-src="([^"]+)"/)||[])[1]||(n.match(/src="([^"]+)"/)||[])[1]||"",o=(n.match(/<span class="public-list-prb[^>]*>([\s\S]*?)<\/span>/)||[])[1]||"";!s||!i||e.push({vod_id:s,vod_name:Ru(i),vod_pic:zl(a),vod_remarks:Ru(o)})}return e}function uSr(t){let e=[],r=/<div class="slide-time-bj swiper-slide"><a href="([^"]+)">[\s\S]*?data-background="([^"]+)"[\s\S]*?<span>([^<]+)<\/span>[\s\S]*?<h3 class="slide-info-title hide">([^<]+)<\/h3>[\s\S]*?<div class="slide-info hide2">([\s\S]*?)<\/div>/g,n;for(;(n=r.exec(t))!==null;)e.push({vod_id:n[1],vod_name:Ru(n[4]),vod_pic:zl(n[2]),vod_remarks:Ru(n[3]),vod_content:Ru(n[5])});return e}function sM(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),n=t.match(new RegExp(`<h4 class="title-h cor4">${r}</h4>[\\s\\S]*?<div class="flex wrap border-box public-r(?: hide-b-2)? diy-center1 mask2">([\\s\\S]*?)</div></div></div>`));return n?Ict(n[1]):[]}var Sct=[{type_id:"2",type_name:"\u65E5\u756A"},{type_id:"3",type_name:"\u7F8E\u756A"},{type_id:"21",type_name:"\u5287\u5834\u7248"},{type_id:"20",type_name:"\u771F\u4EBA\u756A\u5287"},{type_id:"24",type_name:"BD\u526F\u97F3\u8ECC"},{type_id:"26",type_name:"\u6F14\u5531\u6703&\u5468\u908A\u6D3B\u52D5&\u5176\u4ED6"}],po={n:"\u5168\u90E8",v:""},AE={key:"by",name:"",init:"time",value:[{n:"\u6309\u6700\u65B0",v:"time"},{n:"\u6309\u6700\u70ED",v:"hits"},{n:"\u6309\u8BC4\u5206",v:"score"}]},yE={key:"month",name:"",init:"",value:[po,{n:"\u4E00\u6708",v:"\u4E00\u6708"},{n:"\u56DB\u6708",v:"\u56DB\u6708"},{n:"\u4E03\u6708",v:"\u4E03\u6708"},{n:"\u5341\u6708",v:"\u5341\u6708"}]},xE={key:"year",name:"",init:"",value:(()=>{let t=[po];for(let e=2026;e>=2001;e--)t.push({n:String(e),v:String(e)});return t.push({n:"2000\u81F390\u5E74\u4EE3",v:"2000\u81F390\u5E74\u4EE3"}),t})()},vct={2:[{key:"class",name:"",init:"",value:[po,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u804C\u573A","\u767E\u5408","\u4E59\u5973","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50","\u840C"].map(t=>({n:t,v:t}))]},yE,xE,{key:"lang",name:"",init:"",value:[po,{n:"\u65E5\u8BED",v:"\u65E5\u8BED"},{n:"\u56FD\u8BED",v:"\u56FD\u8BED"}]},{key:"version",name:"",init:"",value:[po,{n:"TV\u756A",v:"TV\u756A"},{n:"\u6CE1\u9762\u756A",v:"\u6CE1\u9762\u756A"},{n:"OVA",v:"OVA"}]},{key:"state",name:"",init:"",value:[po,{n:"\u5C0F\u8BF4\u6539",v:"\u5C0F\u8BF4\u6539"},{n:"\u6F2B\u753B\u6539",v:"\u6F2B\u753B\u6539"},{n:"\u6E38\u620F\u6539",v:"\u6E38\u620F\u6539"},{n:"\u539F\u521B",v:"\u539F\u521B"}]},AE],3:[{key:"class",name:"",init:"",value:[po,...["\u641E\u7B11","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8"].map(t=>({n:t,v:t}))]},yE,xE,{key:"lang",name:"",init:"",value:[po,{n:"\u56FD\u8BED",v:"\u56FD\u8BED"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"}]},AE],21:[{key:"class",name:"",init:"",value:[po,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u767E\u5408","\u803D\u7F8E","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50"].map(t=>({n:t,v:t}))]},yE,xE,{key:"lang",name:"",init:"",value:[po,{n:"\u65E5\u8BED",v:"\u65E5\u8BED"},{n:"\u4E2D\u6587",v:"\u4E2D\u6587"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"}]},AE],20:[{key:"class",name:"",init:"",value:[po,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u804C\u573A","\u767E\u5408","\u4E59\u5973","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50","\u840C","\u7EAA\u5F55\u7247"].map(t=>({n:t,v:t}))]},yE,xE,{key:"lang",name:"",init:"",value:[po,{n:"\u65E5\u8BED",v:"\u65E5\u8BED"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"},{n:"\u6CF0\u8BED",v:"\u6CF0\u8BED"}]},AE],24:[{key:"class",name:"",init:"",value:[po,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u767E\u5408","\u4E59\u5973","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50"].map(t=>({n:t,v:t}))]},yE,xE,AE],26:[{key:"class",name:"",init:"",value:[po,{n:"\u6F14\u5531\u4F1A",v:"\u6F14\u5531\u4F1A"},{n:"\u5468\u8FB9\u6D3B\u52A8",v:"\u5468\u8FB9\u6D3B\u52A8"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},yE,xE,AE]};function lSr(t,e,r={}){let n=t||"2",s=m=>encodeURIComponent(m||""),i=r.by||"",a=r.class||"",o=r.month||"",c=r.year||"",u=r.version||"",l=r.state||"",d=r.lang||"",f=e>1?String(e):"",p=`/show/${n}-${s(o)}-${s(i)}-${s(a)}-${s(d)}----${f}-${s(l)}--${s(c)}/`;return u&&(p+=`version/${s(u)}/`),ba+p}function Cct(t,e={}){return{"User-Agent":rce,Referer:t||ba+"/",Origin:ba,...e}}async function dSr(t,e){return{}}async function fSr(t,e){try{let r=await iM(ba+"/"),n=aSr([...uSr(r),...sM(r,"\u6700\u8FD1\u5927\u5BB6\u5728\u770B"),...sM(r,"\u6216\u8BB8\u4F60\u611F\u5174\u8DA3\uFF1F"),...sM(r,"\u65E5\u756A"),...sM(r,"\u5267\u573A\u7248")]).slice(0,40);return{class:Sct,filters:vct,list:n}}catch(r){return console.error("girigiri home failed:",r.message),{class:Sct,filters:vct,list:[]}}}async function pSr(t,e){let r=String(t.body?.id||t.body?.tid||"2"),n=Math.max(1,Number(t.body?.page||1)),s={...t.body?.filters||{}},i=lSr(r,n,s);try{let a=await iM(i),o=Ict(a);if(!o.length)return{list:[],page:n,pagecount:n,limit:Dw,total:0};let u=[`--------${n+1}---/`,`-${n+1}---/`].some(l=>a.includes(l));return{list:o,page:n,pagecount:u?n+1:n,limit:Dw,total:n*Dw+(u?Dw:o.length)}}catch(a){return console.error("girigiri category failed:",a.message),{list:[],page:n,pagecount:n,limit:Dw,total:0}}}async function mSr(t,e){let r=String(t.body?.wd||"").trim();if(!r)return{list:[]};try{let n=`${ba}/index.php/ajax/suggest?mid=1&wd=${encodeURIComponent(r)}`;return{list:((await cSr(n,{headers:{"X-Requested-With":"XMLHttpRequest",Referer:`${ba}/search/-------------/`}}))?.list||[]).map(i=>({vod_id:`/GV${i.id}/`,vod_name:i.name||"",vod_pic:zl(i.pic||""),vod_remarks:""}))}}catch(n){return console.error("girigiri search failed:",n.message),{list:[]}}}async function hSr(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(i=>String(i||"").trim()).filter(Boolean),s=[];for(let i of n){let a=zl(i);if(a)try{let o=await iM(a),c=Ru((o.match(/<title>(.*?)<\//i)||[])[1]||"").replace(/_.*$/,""),u=zl((o.match(/<img[^>]+data-src="([^"]+\.webp)"/)||[])[1]||""),l=Ru((o.match(/<div id="height_limit" class="text cor3">([\s\S]*?)<\/div>/)||[])[1]||""),d=Ru((o.match(/<p>([^<]*?(?:更新|點|支持杜比)[^<]*?)<\/p>/)||[])[1]||""),f=(o.match(/20\d{2}/)||[])[0]||"",p=[],m=/<a class="swiper-slide"[^>]*>[\s\S]*?&nbsp;([^<]+)<span class="badge">(\d+)<\/span><\/a>/g,h;for(;(h=m.exec(o))!==null;)p.push({name:Ru(h[1]),count:Number(h[2]||0)});let A=o.match(/<div class="anthology wow[\s\S]*?<script>\$\("\.anthology-tab a"\)\.eq\(0\)/),g=A?A[0]:"",b=[],y=/<div class="anthology-list-box[^>]*>([\s\S]*?)<\/div><\/div>/g,x;for(;(x=y.exec(g))!==null;){let R=[],w=/href="([^"]*\/play[^\"]+)"[^>]*>([^<]+)<\/a>/g,N;for(;(N=w.exec(x[1]))!==null;){let P=Ru(N[2]),L=N[1];L.includes("/play")&&R.push({name:P,playId:_ct({playUrl:L,epName:P,vodName:c,referer:i})})}R.length&&b.push(R)}if(!b.length){let R=[],w=/href="([^"]*\/play[^\"]+)"[^>]*>([^<]+)<\/a>/g,N;for(;(N=w.exec(g||o))!==null;){let P=N[1];if(!P.includes("/play"))continue;let L=Ru(N[2]);R.push({name:L,playId:_ct({playUrl:P,epName:L,vodName:c,referer:i})})}R.length&&b.push(R)}let v=[],C=[];for(let R=0;R<b.length;R+=1){let w=p[R]?.name||`\u7EBF\u8DEF${R+1}`,N=b[R].map(P=>`${P.name}$${P.playId}`);v.push(w),C.push(N.join("#"))}s.push({vod_id:i,vod_name:c,vod_pic:u,vod_remarks:d,vod_content:l,vod_director:"",vod_actor:"",vod_year:f,vod_play_from:v.join("$$$"),vod_play_url:C.join("$$$")})}catch(o){console.error("girigiri detail failed:",i,o.message)}}return{list:s}}async function gSr(t,e){let r=String(t.body?.id||"").trim(),n=iSr(r),s=n.playUrl||r||"",i=zl(n.referer||"/"),a=zl(s);try{let c=(await iM(a,{referer:i||ba+"/",headers:{Origin:ba,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}})).match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})<\/script>/);if(!c)throw new Error("player_aaaa not found");let u=JSON.parse(c[1]),l=u.url||"";u.encrypt===2?l=oSr(l):u.encrypt===1&&(l=decodeURIComponent(l));let d=l;/^https?:\/\//i.test(d)||(d=zl(d));let f=new URL(d).origin,p=f===ba?i||ba+"/":f+"/";return{parse:0,url:d,header:Cct(p)}}catch(o){return console.error("girigiri play failed:",o.message),{parse:0,url:a,header:Cct(ba+"/")}}}var Tct={meta:{key:kw.key,name:"\u300C\u76F4\u300D\u7231\u52A8\u6F2B",type:3},api:async t=>{t.post("/init",dSr),t.post("/home",fSr),t.post("/category",pSr),t.post("/detail",hSr),t.post("/play",gSr),t.post("/search",mSr)}};var em=Re(Jn(),1),Kf="https://www.cycani.org",Rct="https://player.cycanime.com",Nct="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",ASr="YLwJVbXw77pk2eOrAnFdBo2c3mWkLtodMni2wk81GCnP94ZltW",Lw=48,eA=[{type_id:"20",type_name:"TV\u756A\u7EC4"},{type_id:"21",type_name:"\u5267\u573A\u756A\u7EC4"}],ySr={\u7C7B\u578B:"class",\u5E74\u4EFD:"year",\u5B57\u6BCD:"letter"},xSr={class:"\u7C7B\u578B",year:"\u5E74\u4EFD",letter:"\u5B57\u6BCD",by:"\u6392\u5E8F"},bSr={key:"by",name:"\u6392\u5E8F",init:"time",value:[{n:"\u6309\u6700\u65B0",v:"time"},{n:"\u6309\u6700\u70ED",v:"hits"},{n:"\u6309\u8BC4\u5206",v:"score"}]},nce=new Map;function Ki(t){return String(t||"").replace(/&nbsp;/gi," ").replace(/<br\s*\/?>/gi," ").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim()}function Oct(t){let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:1}function Bw(t,e=Kf){let r=String(t||"").trim();return r?/^https?:\/\//i.test(r)?r:r.startsWith("//")?`https:${r}`:new URL(r,e).toString():""}function Pct(t=`${Kf}/`,e="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"){return{"User-Agent":Nct,Accept:e,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:t}}async function tA(t,e=`${Kf}/`,r){let n=Bw(t),s=await he.get(n,{headers:Pct(e,r),timeout:15e3,maxContentLength:3*1024*1024});return typeof s.data=="string"?s.data:String(s.data||"")}async function ESr(t,e=`${Kf}/`){let r=Bw(t),n=await he.get(r,{headers:{...Pct(e,"application/json,text/javascript,*/*;q=0.01"),"X-Requested-With":"XMLHttpRequest"},timeout:15e3,maxContentLength:1024*1024});if(typeof n.data=="string")try{return JSON.parse(n.data)}catch{return null}return n.data||null}function aM(t){return encodeURIComponent(String(t||"").trim())}function Dct(t,e=1,r={}){let n=String(t||eA[0].type_id).trim()||eA[0].type_id,s=[],i=String(r.by||r.sort||"").trim(),a=String(r.class||"").trim(),o=String(r.letter||"").trim(),c=String(r.year||"").trim();return i&&s.push("by",aM(i)),a&&s.push("class",aM(a)),o&&s.push("letter",aM(o)),c&&s.push("year",aM(c)),e>1&&s.push("page",String(e)),`/show/${n}${s.length?`/${s.join("/")}`:""}.html`}function kct(t){return(String(t||"").match(/\/bangumi\/(\d+)\.html/i)||[])[1]||""}function _Sr(t){let e=String(t||"").match(/\/watch\/(\d+)\/(\d+)\/(\d+)\.html/i);return e?`${e[1]}/${e[2]}/${e[3]}`:""}function SSr(t){try{let e=JSON.parse(String(t||""));if(e&&e.id)return String(e.id)}catch{}return String(t||"").match(/\d+/)?.[0]||String(t||"").trim()}function wct(t,e){let r=t(e),n=r.find('a[href*="/bangumi/"]').first(),s=n.attr("href")||"",i=kct(s);if(!i)return null;let a=r.find("img").first(),o=Ki(n.attr("title")||a.attr("alt")||n.text());if(!o)return null;let c=a.attr("data-src")||a.attr("data-original")||a.attr("src")||"",u=Ki(r.find(".public-list-subtitle,.public-list-prb,.slide-info-remarks").first().text());return{vod_id:i,vod_name:o,vod_pic:Bw(c),vod_remarks:u}}function sce(t){let e=Me(t||""),r=[],n=new Set;return e(".public-list-box,.swiper-slide").each((s,i)=>{let a=wct(e,i);!a||n.has(a.vod_id)||(n.add(a.vod_id),r.push(a))}),r.length===0&&e('a[href*="/bangumi/"]').each((s,i)=>{let a=wct(e,e(i).closest("li,div").first());!a||n.has(a.vod_id)||(n.add(a.vod_id),r.push(a))}),r}function Lct(t){let e=Me(t||""),r=[],n=new Set;return e(".ec-casc-list .nav-swiper").each((s,i)=>{let a=e(i),o=Ki(a.find(".filter-text span").first().text()),c=a.find(".vod-ajax-select[data-type]").first().attr("data-type")||ySr[o]||"";if(!c||c==="channel"||c==="type"||n.has(c))return;let u=[];a.find(".vod-ajax-select").each((l,d)=>{let f=e(d),p=Ki(f.find("a").first().text()||f.text()),m=String(f.attr("data-val")||"").trim();!p||p==="\u5206\u7C7B\u8D44\u6E90\u4E0D\u4EE3\u8868\u5168\u90E8\u8D44\u6E90"||!m&&p!=="\u5168\u90E8"||u.some(h=>h.v===m)||u.push({n:p,v:m})}),u.length>0&&(n.add(c),r.push({key:c,name:xSr[c]||o||c,init:"",value:u}))}),r.push(bSr),r}async function vSr(t){let e=String(t||eA[0].type_id);if(nce.has(e))return nce.get(e);let r=await tA(Dct(e,1),`${Kf}/`),n=Lct(r);return nce.set(e,n),n}function CSr(t,e,r){let s=Ki(Me(t||"")(".page-tip").first().text()).match(/当前\s*(\d+)\s*\/\s*(\d+)\s*页/);return s?Number.parseInt(s[2],10)||e:r>=Lw?e+1:e}async function ISr(){let t={};await Promise.all(eA.map(async r=>{t[r.type_id]=await vSr(r.type_id).catch(()=>[])}));let e=await tA("/");return{class:eA,filters:t,list:sce(e).slice(0,Lw)}}async function TSr(t){let e=t.body||{},r=String(e.id||eA[0].type_id).trim()||eA[0].type_id,n=Oct(e.page),s=e.filters||e.extend||e.ext||{},i=Dct(r,n,s),a=await tA(i,`${Kf}/show/${r}.html`),o=sce(a),c=CSr(a,n,o.length);return{page:n,pagecount:c,limit:Lw,total:c*Lw,list:o,filter:Lct(a)}}function wSr(t,e){let r=Me(t||""),n=e||kct(r('link[rel="canonical"]').attr("href")||""),s=Ki(r(".slide-info-title").first().text())||Ki(r("h1,h2,h3").first().text())||Ki(r("title").text().replace(/[_-].*$/,"")),i=Bw(r(".detail-pic img,.player-vod-no1 img").map((p,m)=>r(m).attr("data-src")||r(m).attr("data-original")||r(m).attr("src")).get().find(p=>p&&!String(p).startsWith("data:image"))),a=Ki(r(".slide-info-remarks").first().text()),o=Ki(r("#height_limit,.small-text,.vod-content,.text").first().text()),c=r(".partition").filter((p,m)=>/演员/.test(r(m).text())).find("a").map((p,m)=>Ki(r(m).text())).get().filter(Boolean).join(","),u=r(".partition").filter((p,m)=>/导演/.test(r(m).text())).find("a").map((p,m)=>Ki(r(m).text())).get().filter(Boolean).join(","),l=r(".partition").filter((p,m)=>/类型/.test(r(m).text())).find("a").map((p,m)=>Ki(r(m).text())).get().filter(Boolean).join(","),d=[],f=[];return r(".anthology-list-box").each((p,m)=>{let h=Ki(r(".anthology-tab a").eq(p).clone().children().remove().end().text())||`CYC_${p+1}`,A=[];r(m).find('a[href*="/watch/"]').each((g,b)=>{let y=_Sr(r(b).attr("href"));if(!y)return;let x=Ki(r(b).text())||`\u7B2C${A.length+1}\u96C6`;A.push(`${x}$${y}`)}),A.length>0&&(d.push(h),f.push(A.join("#")))}),{vod_id:n,vod_name:s,vod_pic:i,vod_remarks:a,type_name:l,vod_actor:c,vod_director:u,vod_content:o,vod_play_from:d.join("$$$"),vod_play_url:f.join("$$$")}}async function RSr(t){let e=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],r=[];for(let n of e.filter(Boolean)){let s=SSr(n);if(!s)continue;let i=await tA(`/bangumi/${s}.html`,`${Kf}/`);r.push(wSr(i,s))}return{list:r}}function NSr(t){let e=String(t?.encrypt||""),r=String(t?.url||"");return e==="1"?decodeURIComponent(r):e==="2"?decodeURIComponent(Buffer.from(r,"base64").toString("utf8")):r}function OSr(t){let e=String(t||"").match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})\s*<\/script>/i)||String(t||"").match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})\s*;/i);return e?JSON.parse(e[1]):null}function PSr(t){let e={},r=String(t||"");for(let n of["url","vkey","next","title","poster"]){let s=r.match(new RegExp(`["']${n}["']\\s*:\\s*["']([^"']*)["']`));s&&(e[n]=s[1])}return e}function DSr(t){let e=Me(t||""),r=String(e('meta[name="viewport"]').attr("id")||"").replace(/^now_/,""),n=String(e('meta[charset="UTF-8"]').attr("id")||e("meta[charset]").attr("id")||"").replace(/^now_/,"");return!r||!n||r.length!==n.length?"":n.split("").map((s,i)=>({id:Number(s),text:r[i]||""})).sort((s,i)=>s.id-i.id).map(s=>s.text).join("")}function kSr(t,e){let r=DSr(e);if(!r)return"";let n=em.default.MD5(r+ASr).toString(),s=em.default.enc.Utf8.parse(n.substring(16)),i=em.default.enc.Utf8.parse(n.substring(0,16));return em.default.AES.decrypt(t,s,{iv:i,mode:em.default.mode.CBC,padding:em.default.pad.Pkcs7}).toString(em.default.enc.Utf8)}async function LSr(t,e){if(/^https?:\/\//i.test(t))return t;let r=`${Rct}/?url=${encodeURIComponent(t)}`,n=await tA(r,`${Kf}${e}`),s=PSr(n);return kSr(s.url||"",n)||""}async function BSr(t){let e=String(t.body?.id||"").trim(),r=e.match(/(\d+)\/(\d+)\/(\d+)/)||e.match(/watch\/(\d+)\/(\d+)\/(\d+)/);if(!r)return{parse:0,url:"",header:{}};let n=`/watch/${r[1]}/${r[2]}/${r[3]}.html`,s=await tA(n,`${Kf}/bangumi/${r[1]}.html`),i=OSr(s);if(!i)return{parse:0,url:"",header:{}};let a=NSr(i);return{parse:0,jx:0,url:await LSr(a,n),header:{"User-Agent":Nct,Referer:`${Rct}/`}}}async function MSr(t){let e=String(t.body?.wd||"").trim(),r=Oct(t.body?.page);if(!e)return{page:r,pagecount:1,limit:20,total:0,list:[]};let n=await ESr(`/index.php/ajax/suggest?mid=1&limit=20&page=${r}&wd=${encodeURIComponent(e)}`),i=(Array.isArray(n?.list)?n.list:[]).map(a=>({vod_id:String(a.id||""),vod_name:Ki(a.name),vod_pic:Bw(a.pic||""),vod_remarks:""})).filter(a=>a.vod_id&&a.vod_name);return{page:Number(n?.page||r),pagecount:Number(n?.pagecount||r),limit:Number(n?.limit||20),total:Number(n?.total||i.length),list:i}}async function WSr(t,e){return{}}async function $Sr(){let t=await tA("/");return{list:sce(t).slice(0,Lw)}}var Bct={meta:{key:"ciyuancheng",name:"\u300C\u76F4\u300D\u6B21\u5143\u57CE",type:3},api:async t=>{t.post("/init",WSr),t.post("/home",ISr),t.post("/homeVod",$Sr),t.post("/category",TSr),t.post("/detail",RSr),t.post("/play",BSr),t.post("/search",MSr)}};var bE={key:"xifan",name:"\u7A00\u996D\u52A8\u6F2B",host:"https://anime.xifanacg.com",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",timeout:15e3},_i=bE.host,Ww=bE.ua,Mct=40;function Ea(t){return String(t||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/&amp;/gi,"&").replace(/&#39;/g,"'").replace(/&quot;/g,'"').replace(/\s+/g," ").trim()}function FSr(t){return Ea(t).replace(/\s*[_-]\s*(?:连载新番|完结旧番|剧场版|美漫).*$/i,"").replace(/\s*-\s*稀饭动漫.*$/i,"").replace(/\s*-\s*免费高清动漫分享.*$/i,"").trim()}function Nc(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?_i+e:_i+"/"+e:""}function Wct(t){try{return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}catch{return""}}function USr(t){try{return JSON.parse(Buffer.from(t||"","base64").toString("utf8"))}catch{return{}}}function qSr(t){let e=new Set,r=[];for(let n of t||[]){let s=n?.vod_id;!s||e.has(s)||(e.add(s),r.push(n))}return r}function jSr(t){try{let e=Buffer.from(t||"","base64").toString("utf8");return decodeURIComponent(e)}catch{return t||""}}function HSr(t){try{let e=new URL(t);return e.hostname.endsWith("pan.wo.cn")||e.hostname.endsWith("moedot.net")}catch{return!1}}function QSr(t,e){let r={"User-Agent":Ww};if(HSr(t))return r;let n=new URL(t).origin;return r.Referer=n===_i?e||_i+"/":n+"/",r.Origin=_i,r}async function ice(t,e={}){let r=/^https?:\/\//i.test(t)?t:Nc(t),n=await he({url:r,method:e.method||"get",data:e.data,timeout:e.timeout||bE.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{"User-Agent":Ww,Referer:e.referer||_i+"/","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function GSr(t,e,r={}){let n=/^https?:\/\//i.test(t)?t:Nc(t),s=await he({url:n,method:"post",data:e,timeout:r.timeout||bE.timeout,validateStatus:()=>!0,headers:{"User-Agent":Ww,Referer:r.referer||_i+"/","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With":"XMLHttpRequest","Accept-Language":"zh-CN,zh;q=0.9",...r.headers||{}}});if(s.status<200||s.status>=300)throw new Error(`HTTP ${s.status}`);return s.data}async function VSr(t,e={}){let r=/^https?:\/\//i.test(t)?t:Nc(t),n=await he.get(r,{timeout:e.timeout||bE.timeout,validateStatus:()=>!0,headers:{"User-Agent":Ww,Referer:e.referer||_i+"/","X-Requested-With":"XMLHttpRequest","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return n.data}function zSr(t){let e=[],r=String(t||"").match(/<div class="public-list-box[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/g)||[];for(let n of r){let s=(n.match(/class="(?:public-list-exp|time-title)[^"]*"[^>]*href="([^"]+)"/)||[])[1]||"",i=(n.match(/class="public-list-exp"[^>]*title="([^"]+)"/)||[])[1]||(n.match(/class="time-title[^"]*"[^>]*title="([^"]+)"/)||[])[1]||Ea((n.match(/class="time-title[^"]*"[^>]*>([\s\S]*?)<\/a>/)||[])[1]||""),a=(n.match(/data-src="([^"]+)"/)||[])[1]||(n.match(/src="([^"]+)"/)||[])[1]||"",o=(n.match(/<span class="public-list-prb[^>]*>([\s\S]*?)<\/span>/)||[])[1]||"";!s||!i||e.push({vod_id:s,vod_name:Ea(i),vod_pic:Nc(a),vod_remarks:Ea(o)})}return e}function KSr(t){let e=[],r=/<div class="swiper-slide">[\s\S]*?<div class="swiper-lazy[^"]*" data-background="([^"]+)"[\s\S]*?<a class="lank" href="([^"]+)"[\s\S]*?<h3 class="slide-info-title hide">([\s\S]*?)<\/h3>[\s\S]*?<li>([^<]*)<\/li>/g,n;for(;(n=r.exec(String(t||"")))!==null;)e.push({vod_id:n[2],vod_name:Ea(n[3]),vod_pic:Nc(n[1]),vod_remarks:Ea(n[4])});return e}var $ct=[{type_id:"1",type_name:"\u8FDE\u8F7D\u65B0\u756A"},{type_id:"2",type_name:"\u5B8C\u7ED3\u65E7\u756A"},{type_id:"3",type_name:"\u5267\u573A\u7248"},{type_id:"21",type_name:"\u7F8E\u6F2B"}],Mw={n:"\u5168\u90E8",v:""},oM={key:"by",name:"",init:"time",value:[{n:"\u6309\u6700\u65B0",v:"time"},{n:"\u6309\u6700\u70ED",v:"hits"},{n:"\u6309\u8BC4\u5206",v:"score"}]},Fct={key:"year",name:"",init:"",value:(()=>{let t=[Mw];for(let e=2026;e>=2005;e--)t.push({n:String(e),v:String(e)});return t})()},Uct={key:"class",name:"",init:"",value:[Mw,...["\u641E\u7B11","\u539F\u521B","\u8F7B\u5C0F\u8BF4\u6539","\u604B\u7231","\u767E\u5408","\u6F2B\u6539","\u6821\u56ED","\u6218\u6597","\u6CBB\u6108","\u5947\u5E7B","\u65E5\u5E38","\u9752\u6625","\u4E59\u5973\u5411","\u60AC\u7591","\u540E\u5BAB","\u79D1\u5E7B","\u5192\u9669","\u70ED\u8840","\u5F02\u4E16\u754C","\u6E38\u620F\u6539","\u97F3\u4E50","\u5076\u50CF","\u7F8E\u98DF","\u803D\u7F8E"].map(t=>({n:t,v:t}))]},qct={1:[Uct,{key:"area",name:"",init:"",value:[Mw,{n:"\u65E5\u672C",v:"\u65E5\u672C"}]},Fct,oM],2:[Uct,Fct,oM],3:[{key:"area",name:"",init:"",value:[Mw,{n:"\u65E5\u672C",v:"\u65E5\u672C"}]},{key:"year",name:"",init:"",value:(()=>{let t=[Mw];for(let e=2026;e>=2004;e--)t.push({n:String(e),v:String(e)});return t})()},oM],21:[oM]};async function YSr(t,e){return{}}async function JSr(t,e){try{let r=await ice(_i+"/"),n=qSr([...KSr(r),...zSr(r)]).slice(0,40);return{class:$ct,filters:qct,list:n}}catch(r){return console.error("xifan home failed:",r.message),{class:$ct,filters:qct,list:[]}}}async function XSr(t,e){let r=String(t.body?.id||t.body?.tid||"1"),n=Math.max(1,Number(t.body?.page||1)),s={...t.body?.filters||{}},i=new URLSearchParams;i.set("type",r),i.set("page",String(n)),i.set("by",String(s.by||"time")),s.class&&i.set("class",String(s.class)),s.area&&i.set("area",String(s.area)),s.year&&i.set("year",String(s.year));try{let a=await GSr(`${_i}/index.php/ds_api/vod`,i.toString(),{referer:`${_i}/type/${r}.html`}),o=typeof a=="string"?JSON.parse(a):a||{},c=(o.list||[]).map(u=>({vod_id:u.url||`/bangumi/${u.vod_id}.html`,vod_name:u.vod_name||"",vod_pic:Nc(String(u.vod_pic||"").replace(/\\\//g,"/")),vod_remarks:u.vod_remarks||""})).filter(u=>u.vod_id&&u.vod_name);return{list:c,page:Number(o.page||n),pagecount:Number(o.pagecount||n),limit:Number(o.limit||Mct),total:Number(o.total||c.length)}}catch(a){return console.error("xifan category failed:",a.message),{list:[],page:n,pagecount:n,limit:Mct,total:0}}}async function ZSr(t,e){let r=String(t.body?.wd||"").trim();if(!r)return{list:[]};try{return{list:((await VSr(`${_i}/index.php/ajax/suggest?mid=1&wd=${encodeURIComponent(r)}`,{referer:`${_i}/search/wd/${encodeURIComponent(r)}.html`}))?.list||[]).map(s=>({vod_id:`/bangumi/${s.id}.html`,vod_name:s.name||"",vod_pic:Nc(s.pic||""),vod_remarks:""}))}}catch(n){return console.error("xifan search failed:",n.message),{list:[]}}}async function evr(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(i=>String(i||"").trim()).filter(Boolean),s=[];for(let i of n){let a=Nc(i);if(a)try{let o=await ice(a),c=FSr((o.match(/<h3[^>]*>([\s\S]*?)<\/h3>/i)||[])[1]||(o.match(/<title>(.*?)<\/title>/i)||[])[1]||""),u=Nc((o.match(/<div class="detail-pic">[\s\S]*?<img[^>]+(?:data-src|src)="([^"]+)"/i)||[])[1]||""),l=Ea((o.match(/<span class="slide-info-remarks cor5">([\s\S]*?)<\/span>/i)||[])[1]||""),d=Ea((o.match(/<span class="slide-info-remarks">\s*<a href="\/search\/year\/[^"]+"[^>]*>([\s\S]*?)<\/a>/i)||[])[1]||""),f=Ea((o.match(/<span class="slide-info-remarks">\s*<a href="\/search\/area\/[^"]+"[^>]*>([\s\S]*?)<\/a>/i)||[])[1]||""),p=Ea((o.match(/导演\s*:<\/strong>([\s\S]*?)<\/div>/i)||[])[1]||""),m=Ea((o.match(/演员\s*:<\/strong>([\s\S]*?)<\/div>/i)||[])[1]||""),h=Ea((o.match(/<div id="height_limit" class="text cor3">([\s\S]*?)<\/div>/i)||[])[1]||""),A=[],g=/<a class="swiper-slide">[\s\S]*?&nbsp;([^<]+)<span class="badge">(\d+)<\/span><\/a>/g,b;for(;(b=g.exec(o))!==null;)A.push({name:Ea(b[1]),count:Number(b[2]||0)});let y=o.match(/<div class="anthology-list[\s\S]*?<script>\$\("\.anthology-tab a"\)\.eq\(0\)/),x=y?y[0]:o,v=[],C=/<div class="anthology-list-box[^>]*>[\s\S]*?<ul class="anthology-list-play size">([\s\S]*?)<\/ul>[\s\S]*?<\/div>\s*<\/div>/g,R;for(;(R=C.exec(x))!==null;){let P=[],L=/<a class="[^"]*" href="([^"]*\/watch[^"]+)"[^>]*>\s*(?:<span>)?([^<]+)(?:<\/span>)?\s*<\/a>/g,M;for(;(M=L.exec(R[1]))!==null;){let k=M[1];k.includes("/watch/")&&P.push({name:Ea(M[2]),playId:Wct({playUrl:k,vodName:c,referer:i})})}P.length&&v.push(P)}if(!v.length){let P=[],L=/href="([^"]*\/watch[^"]+)"[^>]*>\s*(?:<span>)?([^<]+)(?:<\/span>)?\s*<\/a>/g,M;for(;(M=L.exec(o))!==null;){let k=M[1];k.includes("/watch/")&&P.push({name:Ea(M[2]),playId:Wct({playUrl:k,vodName:c,referer:i})})}P.length&&v.push(P)}let w=[],N=[];for(let P=0;P<v.length;P+=1){let L=A[P]?.name||`\u7EBF\u8DEF${P+1}`,M=v[P].map(k=>`${k.name}$${k.playId}`);w.push(L),N.push(M.join("#"))}s.push({vod_id:i,vod_name:c,vod_pic:u,vod_remarks:l,vod_content:h,vod_director:p,vod_actor:m,vod_year:d,vod_area:f,vod_play_from:w.join("$$$"),vod_play_url:N.join("$$$")})}catch(o){console.error("xifan detail failed:",i,o.message)}}return{list:s}}async function tvr(t,e){let r=String(t.body?.id||"").trim(),n=USr(r),s=n.playUrl||r||"",i=Nc(n.referer||"/"),a=Nc(s);try{let c=(await ice(a,{referer:i||_i+"/",headers:{Origin:_i}})).match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})<\/script>/);if(!c)throw new Error("player_aaaa not found");let u=JSON.parse(c[1]),l=String(u.url||"").replace(/\\\//g,"/");Number(u.encrypt)===2?l=jSr(l):Number(u.encrypt)===1&&(l=decodeURIComponent(l));let d=l;return/^https?:\/\//i.test(d)||(d=Nc(d)),{parse:0,url:d,header:QSr(d,i)}}catch(o){return console.error("xifan play failed:",o.message),{parse:0,url:a,header:{"User-Agent":Ww,Referer:_i+"/",Origin:_i}}}}var jct={meta:{key:bE.key,name:"\u300C\u76F4\u300D\u7A00\u996D",type:3},api:async t=>{t.post("/init",YSr),t.post("/home",JSr),t.post("/category",XSr),t.post("/detail",evr),t.post("/play",tvr),t.post("/search",ZSr)}};var _a={key:"xifannext",name:"\u7A00\u996D\u52A8\u6F2B Next",host:"https://next.xifanacg.com",supabase:"https://rzmsnqblptbceicadbyd.supabase.co",anonKey:"sb_publishable_aCb7uwyLN6H-sMjze4dRGA_2MDuROLF",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",timeout:15e3},Kl=_a.host,tm=24,Uw={n:"\u5168\u90E8",v:""},Hct=[{type_id:"all",type_name:"\u5168\u90E8\u756A\u5267"},{type_id:"recent",type_name:"\u6700\u8FD1\u66F4\u65B0"},{type_id:"ranking",type_name:"\u6392\u884C\u699C"},{type_id:"schedule",type_name:"\u5468\u8868"}],rvr={key:"format",name:"",init:"",value:[Uw,{n:"TV \u52A8\u753B",v:"tv"},{n:"\u5267\u573A\u7248",v:"movie"},{n:"OVA",v:"ova"},{n:"OAD",v:"oad"},{n:"Web \u52A8\u753B",v:"web"},{n:"\u5176\u4ED6",v:"other"}]},nvr={key:"finished",name:"",init:"",value:[Uw,{n:"\u8FDE\u8F7D\u4E2D",v:"0"},{n:"\u5B8C\u7ED3",v:"1"}]},svr={key:"year",name:"",init:"",value:(()=>{let t=[Uw];for(let e=2026;e>=2007;e-=1)t.push({n:String(e),v:String(e)});return t.push({n:"\u66F4\u65E9",v:"older"}),t})()},ivr={key:"tag",name:"",init:"",value:[Uw,...["\u6F2B\u753B\u6539","\u5C0F\u8BF4\u6539","\u5947\u5E7B","\u6218\u6597","\u539F\u521B","\u604B\u7231","\u6821\u56ED","\u65E5\u5E38","\u767E\u5408","\u540E\u5BAB","\u79D1\u5E7B","\u6E38\u620F\u6539","\u60AC\u7591","\u5192\u9669","\u7A7F\u8D8A","\u97F3\u4E50","\u8FD0\u52A8","\u673A\u6218","\u559C\u5267","\u5C11\u5E74\u5411","\u63A8\u7406","\u5C11\u5973\u5411","\u804C\u573A","\u7F8E\u98DF","\u9752\u5E74\u5411"].map(t=>({n:t,v:t}))]},avr={key:"sort",name:"",init:"title",value:[{n:"\u6807\u9898",v:"title"},{n:"\u70ED\u5EA6",v:"view_count"},{n:"\u8BC4\u5206",v:"bangumi_score"},{n:"\u6700\u65B0",v:"release_date"}]},ovr={key:"days",name:"",init:"7",value:[{n:"7 \u5929",v:"7"},{n:"14 \u5929",v:"14"}]},cvr={key:"kind",name:"",init:"trending_week",value:[{n:"\u70ED\u5EA6",v:"trending_week"},{n:"\u8BC4\u5206",v:"rating"},{n:"\u98D9\u5347",v:"rising"},{n:"\u5B9D\u85CF",v:"hidden_gem"},{n:"\u5F39\u5E55",v:"danmaku_heat"}]},uvr={key:"section",name:"",init:"all",value:[{n:"\u603B\u699C",v:"all"},{n:"\u65B0\u756A",v:"ongoing"},{n:"\u5B8C\u7ED3",v:"finished"},{n:"\u5267\u573A\u7248",v:"movie"},{n:"\u7F8E\u6F2B",v:"western"}]},lvr={key:"weekday",name:"",init:"",value:[Uw,{n:"\u5468\u4E00",v:"0"},{n:"\u5468\u4E8C",v:"1"},{n:"\u5468\u4E09",v:"2"},{n:"\u5468\u56DB",v:"3"},{n:"\u5468\u4E94",v:"4"},{n:"\u5468\u516D",v:"5"},{n:"\u5468\u65E5",v:"6"}]},Qct={all:[rvr,nvr,svr,ivr,avr],recent:[ovr],ranking:[cvr,uvr],schedule:[lvr]};function Yf(t){return String(t||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/&amp;/gi,"&").replace(/&#39;/g,"'").replace(/&quot;/g,'"').replace(/\s+/g," ").trim()}function Vct(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?Kl+e:`${Kl}/${e}`:""}function zct(t){let e=Vct(t);if(!e)return"";try{let r=new URL(e);if(r.hostname==="next.xifanacg.com"&&r.pathname==="/_next/image")return decodeURIComponent(r.searchParams.get("url")||e)}catch{}return e}function dvr(t){try{return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}catch{return""}}function fvr(t){try{return JSON.parse(Buffer.from(t||"","base64").toString("utf8"))}catch{return{}}}function Kct(t){return Yf(t).replace(/[$#]/g," ").trim()}function Yct(t){let e=String(t||"").trim();return e&&e.match(/(?:\/anime\/|^)(\d+)/)?.[1]||""}function Nu(...t){return t.find(e=>e!=null&&e!=="")}function pvr(t={}){return{...t.extend||{},...t.filter||{},...t.filters||{}}}function mvr(t={}){let e=Number(Nu(t.current_episodes,t.currentEpisodes,0)),r=Number(Nu(t.total_episodes,t.totalEpisodes,0));if(r>0&&e>0&&e<r)return`\u66F4\u65B0\u81F3 ${e} / ${r}`;if(r>0)return`\u5168 ${r} \u96C6`;let n=Nu(t.release_year,t.releaseYear,t.datePublished);if(n)return String(n);let s=Nu(t.bangumi_score,t.bangumiScore);return s!==void 0?String(s):""}function $w(t={}){let e=Yct(Nu(t.id,t.url,t["@id"]));return{vod_id:e?`/anime/${e}`:"",vod_name:Yf(t.title||t.name||""),vod_pic:zct(Nu(t.cover_url,t.coverUrl,t.image,t.pic,"")),vod_remarks:mvr(t)}}function hvr(t,e){let r=String(e||"").trim();return r?{sortBy:r,sortOrder:r==="title"?"asc":"desc"}:t==="recent"?{sortBy:"release_date",sortOrder:"desc"}:t==="ranking"?{sortBy:"bangumi_score",sortOrder:"desc"}:{sortBy:"title",sortOrder:"asc"}}function oce(t={}){return String(t.year||"").trim()==="older"||String(t.older||"").trim()==="1"}function cce({tid:t="all",page:e=1,extend:r={},searchTerm:n=""}={}){let{sortBy:s,sortOrder:i}=hvr(t,Nu(r.sort,r.by)),a=Number.parseInt(String(r.year||""),10),o=String(r.finished??"").trim();return{search_term:n||null,page_number:e,items_per_page:tm,sort_by:s,sort_order:i,filter_type_id:null,filter_meta_tags:r.tag?[String(r.tag)]:null,filter_is_finished:o===""?null:o==="1",filter_format:r.format||null,filter_release_year:!oce(r)&&Number.isFinite(a)?a:null,filter_only_published:!0}}function gvr(t,e={}){let r=new URLSearchParams;t>1&&r.set("page",String(t)),e.format&&r.set("format",String(e.format)),String(e.finished??"").trim()&&r.set("finished",String(e.finished)),oce(e)?r.set("older","1"):e.year&&r.set("year",String(e.year)),e.tag&&r.set("tag",String(e.tag));let n=String(Nu(e.sort,e.by,"")).trim();n&&n!=="title"&&r.set("sort",n);let s=r.toString();return`/browse${s?`?${s}`:""}`}function ace(t){let e={"User-Agent":_a.ua};try{let r=new URL(t).hostname;if(r.endsWith("pan.wo.cn")||r.endsWith("moedot.net"))return e}catch{return e}return e.Referer=`${Kl}/`,e.Origin=Kl,e}async function qw(t,e={}){let r=/^https?:\/\//i.test(t)?t:Vct(t),n=await he({url:r,method:"get",timeout:e.timeout||_a.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{"User-Agent":_a.ua,Referer:e.referer||`${Kl}/`,"Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function Fw(t,e){let r=await he({url:`${_a.supabase}/rest/v1/rpc/${t}`,method:"post",data:e,timeout:_a.timeout,validateStatus:()=>!0,headers:{apikey:_a.anonKey,Authorization:`Bearer ${_a.anonKey}`,"Content-Type":"application/json",Origin:Kl,Referer:`${Kl}/`,"User-Agent":_a.ua,"X-Client-Info":"supabase-js-web/2.49.1"}});if(r.status<200||r.status>=300)throw new Error(`RPC ${t} HTTP ${r.status}`);return r.data}async function Avr(t,e){let r=await he({url:`${_a.supabase}/functions/v1/${t}`,method:"post",data:e,timeout:_a.timeout,validateStatus:()=>!0,headers:{apikey:_a.anonKey,Authorization:`Bearer ${_a.anonKey}`,"Content-Type":"application/json",Origin:Kl,Referer:`${Kl}/`,"User-Agent":_a.ua}});if(r.status<200||r.status>=300)throw new Error(`Function ${t} HTTP ${r.status}`);return r.data}function Jct(t){let e=Me(t||""),r=[];return e('script[type="application/ld+json"]').each((n,s)=>{try{let i=JSON.parse(e(s).text()||"{}");Array.isArray(i?.["@graph"])?r.push(...i["@graph"]):r.push(i)}catch{}}),r}function yvr(t,e){return Jct(t).find(r=>{let n=r?.["@type"],s=String(r?.url||r?.["@id"]||"");return(n==="TVSeries"||n==="Movie")&&s.includes(`/anime/${e}`)})||{}}function Gct(t,e){let r="";return t("dt").each((n,s)=>{if(Yf(t(s).text())===e)return r=Yf(t(s).next("dd").text()),!1}),r}function xvr(t,e){let r=0;for(let n=e-1;n>=0&&t[n]==="\\";n-=1)r+=1;return r}function bvr(t){return JSON.parse(String(t||"").replace(/\\"/g,'"').replace(/\\\\/g,"\\"))}function uM(t,e){let r=String(t||""),n=`\\"${e}\\":`,s=`"${e}":`,i=r.indexOf(n),a=!0;if(i<0&&(i=r.indexOf(s),a=!1),i<0)return[];let o=r.indexOf("[",i);if(o<0)return[];let c=0,u=!1,l=!1;for(let d=o;d<r.length;d+=1){let f=r[d];if(a&&f==='"'&&xvr(r,d)%4===1){u=!u;continue}if(!a){if(l){l=!1;continue}if(f==="\\"&&u){l=!0;continue}if(f==='"'){u=!u;continue}}if(!u){if(f==="[")c+=1;else if(f==="]"&&(c-=1,c===0)){let p=r.slice(o,d+1);try{return a?bvr(p):JSON.parse(p)}catch{return[]}}}}return[]}function Evr(t){let e=Jct(t).find(n=>n?.["@type"]==="ItemList")||{};return(Array.isArray(e.itemListElement)?e.itemListElement:[]).map(n=>$w(n?.item||n)).filter(n=>n.vod_id&&n.vod_name)}function _vr(t,e){let r=String(t||"").match(/当前已选[\s\S]{0,120}?共[\s\S]{0,40}?(\d+)[\s\S]{0,40}?部/);return r?Number(r[1]):e}function Svr(t,e){let r=e;for(let n of String(t||"").matchAll(/[?&]page=(\d+)/g))r=Math.max(r,Number(n[1]));return Math.max(1,r)}function vvr(t,e){let r=Me(t||""),n=[];return r(`a[href*="/anime/${e}/play/"]`).each((s,i)=>{let o=(r(i).attr("href")||"").match(/\/play\/(\d+)(?:\?source=([^&#]+))?/);if(!o)return;let c=Number(o[1]),u=Kct(r(i).text())||`\u7B2C ${n.length+1} \u96C6`;!c||n.some(l=>l.id===c)||n.push({id:c,title:u,episode_number:n.length+1})}),n.length?[{code:"xfxf1",name:"\u7A00\u996D\u65B0\u756A\u4E3B\u7EBF-1",episodes:n}]:[]}function Cvr(t,e){let r=Number(t?.episode_number||e+1),n=Number.isInteger(r)?String(r).padStart(2,"0"):String(e+1).padStart(2,"0"),s=Kct(t?.title||"");return s?`\u7B2C ${n} \u96C6 ${s}`:`\u7B2C ${n} \u96C6`}function Ivr(t,e,r,n){let s=[],i=[];for(let a of t||[]){let c=(Array.isArray(a?.episodes)?a.episodes:[]).map((u,l)=>{let d=Number(u?.id||0);if(!d)return"";let f=dvr({animeId:Number(e),episodeId:d,sourceCode:a.code||"",sourceName:a.name||"",vodName:r,referer:n});return`${Cvr(u,l)}$${f}`}).filter(Boolean);c.length&&(s.push(Yf(a.name||a.code||`\u7EBF\u8DEF${s.length+1}`)),i.push(c.join("#")))}return{vod_play_from:s.join("$$$"),vod_play_url:i.join("$$$")}}async function Tvr(t,e){return{}}async function wvr(t,e){try{let r=await Fw("search_animes",cce({tid:"recent",page:1,extend:{by:"release_date"}}));return{class:Hct,filters:Qct,list:(Array.isArray(r)?r:[]).map($w).filter(n=>n.vod_id&&n.vod_name)}}catch(r){return console.error("xifannext home failed:",r.message),{class:Hct,filters:Qct,list:[]}}}function cM(t){return(Array.isArray(t)?t:[]).map($w).filter(e=>e.vod_id&&e.vod_name)}function Rvr(t){let e=new Set;return t.filter(r=>!r.vod_id||e.has(r.vod_id)?!1:(e.add(r.vod_id),!0))}function Xct(t,e){let r=cM(t);return{list:e>1?[]:r,page:e,pagecount:1,limit:tm,total:r.length}}async function Nvr(t,e){if(oce(e)){let a=await qw(gvr(t,e)),o=Evr(a),c=_vr(a,o.length),u=Svr(a,Math.ceil(c/tm)||t);return{list:o,page:t,pagecount:u,limit:tm,total:c}}let r=await Fw("search_animes",cce({tid:"all",page:t,extend:e})),n=Array.isArray(r)?r:[],s=cM(n),i=Number(n[0]?.total_count||s.length);return{list:s,page:t,pagecount:Math.max(1,Math.ceil(i/tm)),limit:tm,total:i}}async function Ovr(t,e){let r=await qw("/recent"),n=Number(Nu(e.days,7)),s=uM(r,"windows"),i=s.find(a=>Number(a?.days)===n)||s[0]||{};return Xct(i.items||[],t)}async function Pvr(t,e){let r=String(Nu(e.kind,"trending_week")).trim()||"trending_week",n=String(Nu(e.section,"all")).trim()||"all",s=await qw(`/rankings?kind=${encodeURIComponent(r)}`),i=uM(s,"sections"),a=i.find(o=>String(o?.key||"")===n)||i[0]||{};return Xct(a.items||[],t)}async function Dvr(t,e){let r=await qw("/schedule"),n=String(e.weekday??"").trim(),s=uM(r,"schedule"),i=n===""?Rvr(s.flatMap(a=>cM(a?.animes||[]))):cM((s.find(a=>String(a?.weekday)===n)||{}).animes||[]);return{list:t>1?[]:i,page:t,pagecount:1,limit:tm,total:i.length}}async function kvr(t,e){let r=String(t.body?.id||t.body?.tid||"all"),n=Math.max(1,Number(t.body?.page||t.body?.pg||1)),s=pvr(t.body||{});try{return r==="recent"?await Ovr(n,s):r==="ranking"?await Pvr(n,s):r==="schedule"?await Dvr(n,s):await Nvr(n,s)}catch(i){return console.error("xifannext category failed:",i.message),{list:[],page:n,pagecount:n,limit:tm,total:0}}}async function Lvr(t,e){let r=String(t.body?.wd||"").trim();if(!r)return{list:[]};try{let n=await Fw("suggest_animes",{q:r,lim:20}),s=(Array.isArray(n)?n:[]).map($w).filter(i=>i.vod_id&&i.vod_name);if(!s.length){let i=await Fw("search_animes",cce({page:1,searchTerm:r}));s=(Array.isArray(i)?i:[]).map($w).filter(a=>a.vod_id&&a.vod_name)}return{list:s}}catch(n){return console.error("xifannext search failed:",n.message),{list:[]}}}async function Bvr(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(Yct).filter(Boolean),s=[];for(let i of n){let a=`/anime/${i}`;try{let o=await qw(a),c=Me(o),u=yvr(o,i),l=Yf(u.name||c("h1").first().text()),d=uM(o,"sources"),f=d.length?d:vvr(o,i),p=Ivr(f,i,l,a);s.push({vod_id:a,vod_name:l,vod_pic:zct(u.image||c("img[alt]").first().attr("src")||""),vod_remarks:u.numberOfEpisodes?`\u5168 ${u.numberOfEpisodes} \u96C6`:"",vod_content:Yf(u.description||""),vod_director:Gct(c,"\u5BFC\u6F14"),vod_actor:Gct(c,"\u58F0\u4F18"),vod_year:String(u.datePublished||"").slice(0,4),vod_area:Yf(u.countryOfOrigin||""),vod_class:Array.isArray(u.genre)?u.genre.join(","):Yf(u.genre||""),...p})}catch(o){console.error("xifannext detail failed:",i,o.message)}}return{list:s}}async function Mvr(t,e){let r=String(t.body?.id||"").trim(),n=fvr(r),s=Number(n.episodeId||(r.match(/\/play\/(\d+)/)||[])[1]||0),i=String(n.sourceCode||(()=>{try{return new URL(r,Kl).searchParams.get("source")||""}catch{return""}})()).trim();if(!s)return{parse:0,url:r,header:ace(r)};try{let a=await Fw("get_play_url",{p_episode_id:s}),o=Array.isArray(a?.urls)?a.urls:[],c=o.find(l=>String(l.source_code||"")===i)||o[0]||{},u=String(c.url||"").trim();if(!u){let l=await Avr("issue-hls-playback",{episode_id:s});u=String(l?.url||"").trim()}if(!u)throw new Error("play url not found");return{parse:0,url:u,header:ace(u)}}catch(a){return console.error("xifannext play failed:",s,a.message),{parse:0,url:r,header:ace(r)}}}var Zct={meta:{key:_a.key,name:"\u300C\u76F4\u300D\u7A00\u996D\xB2",type:3},api:async t=>{t.post("/init",Tvr),t.post("/home",wvr),t.post("/category",kvr),t.post("/detail",Bvr),t.post("/play",Mvr),t.post("/search",Lvr)}};var _E="https://4kzn.com",Wvr={"User-Agent":Gr,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:`${_E}/`},uce={key:"by",name:"",init:"date",value:[{n:"\u53D1\u5E03",v:"date"},{n:"\u66F4\u65B0",v:"modified"},{n:"\u6D4F\u89C8",v:"views"},{n:"\u70B9\u8D5E",v:"like"}]},eut=[{type_id:"books/zuixin",type_name:"\u5F71\u89C6"},{type_id:"books/top250",type_name:"TOP250"},{type_id:"books/juji",type_name:"\u5267\u96C6"},{type_id:"books/dianying",type_name:"\u7535\u5F71"},{type_id:"books/xiliehj",type_name:"\u7CFB\u5217\u5408\u96C6"},{type_id:"books/manwei",type_name:"\u6F2B\u5A01\u7535\u5F71\u7CFB\u5217\u5408\u96C6"},{type_id:"books/mztkn",type_name:"\u540D\u4FA6\u63A2\u67EF\u5357\u5267\u573A\u7248\u5408\u96C6"},{type_id:"books/hanniba",type_name:"\u6C49\u5C3C\u62D4\u5408\u96C6"}],lM={};for(let t of eut)lM[t.type_id]=[uce];lM["books/juji"]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u5267\u60C5",v:"juq"},{n:"\u60CA\u609A",v:"jings"},{n:"\u72AF\u7F6A",v:"fanzuii"},{n:"\u52A8\u4F5C",v:"jjdongzuo"},{n:"\u5386\u53F2",v:"jjlishi"},{n:"\u6218\u4E89",v:"jjzhanzheng"},{n:"\u5192\u9669",v:"jjmaoxian"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u6700\u65B0",v:"zuixin-juji"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u5BB6\u5EAD",v:"\u5BB6\u5EAD"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u897F\u90E8",v:"\u897F\u90E8"},{n:"\u52A8\u753B",v:"\u52A8\u753B"}]},uce];lM["books/dianying"]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u559C\u5267",v:"xiju"},{n:"\u7231\u60C5",v:"aiqing"},{n:"\u5267\u60C5",v:"juqing"},{n:"\u60AC\u7591",v:"xuanyi"},{n:"\u4F20\u8BB0",v:"zhuanji"},{n:"\u52A8\u4F5C",v:"dongzuo"},{n:"\u79D1\u5E7B",v:"kehuan"},{n:"\u72AF\u7F6A",v:"fanzui"},{n:"\u5947\u5E7B",v:"qihuan"},{n:"\u5192\u9669",v:"maoxian"},{n:"\u5BB6\u5EAD",v:"jiating"},{n:"\u8FD0\u52A8",v:"yundong"},{n:"\u6B4C\u821E",v:"gewu"},{n:"\u6218\u4E89",v:"zhanzheng"},{n:"\u60CA\u609A",v:"jingsong"},{n:"\u897F\u90E8",v:"xibu"},{n:"\u52A8\u753B",v:"donghua"},{n:"\u707E\u96BE",v:"zainan"},{n:"\u6050\u6016",v:"kongbu"},{n:"\u5386\u53F2",v:"lishi"},{n:"\u97F3\u4E50",v:"yinyue"},{n:"\u540C\u6027",v:"tongxing"},{n:"\u7EAA\u5F55\u7247",v:"jilupian"},{n:"\u53E4\u88C5",v:"guzhuang"},{n:"\u513F\u7AE5",v:"ertong"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"}]},uce];async function lce(t){return(await he.get(t,{headers:Wvr})).data}function rA(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?`${_E}${e}`:`${_E}/${e.replace(/^\/+/,"")}`:""}function EE(t){return String(t||"").replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/\s+/g," ").trim()}function tut(t){let e=Me(t),r=[],n=new Set;return e("article.posts-item").each((s,i)=>{let a=e(i).find('a.item-image, h3.item-title a, a[target="_blank"]').first(),o=rA(a.attr("href")||""),c=EE(e(i).find(".item-title a").first().text()||a.text()||e(i).attr("data-title")||"");if(!o||!c||n.has(o))return;n.add(o);let u=rA(e(i).find("img").first().attr("data-src")||e(i).find("img").first().attr("src")||""),l=EE(e(i).find(".line1.text-muted.text-xs, .book-info, .item-desc, .sub-title").first().text());r.push({vod_id:o,vod_name:c,vod_pic:u,vod_remarks:l})}),r}function $vr(t){let e=t.match(/\/books\/[^"']+\/page\/(\d+)/g),r=e?e.map(i=>Number((i.match(/(\d+)$/)||[0,1])[1]||1)):[],n=r.length?Math.max(...r):1,s=/class="next-page[^>]*>\s*<a[^>]*href="[^"]+\/page\/\d+"/i.test(t);return{pagecount:Math.max(n,s?n+1:1)}}async function Fvr(t,e){return{class:eut,filters:lM}}async function Uvr(t,e){try{let r=String(t.body.id||"books/zuixin").replace(/^\/+/,""),n=t.body.page,s=t.body.filters||{},i=parseInt(n,10);(!i||i<1)&&(i=1);let a=r;s.class&&(a=`books/${encodeURIComponent(s.class)}`);let o=i>1?`${_E}/${a}/page/${i}`:`${_E}/${a}`;s.by&&(o+=`?orderby=${s.by}`);let c=await lce(o),u=tut(c),{pagecount:l}=$vr(c);return{page:i,pagecount:l,limit:72,total:l*Math.max(u.length,1),list:u}}catch(r){return console.error("[4kzn][category]",r.message),{page:1,pagecount:0,limit:72,total:0,list:[]}}}async function qvr(t,e){try{let r=String(t.body.id||"").trim();if(!r)return{list:[]};let n=/^https?:\/\//i.test(r)?r:rA(r),s=await lce(n),i=Me(s),a=EE(i("h1, h2, .book-title").first().text())||EE(i("meta[property='og:title']").attr("content")||""),o=rA(i('.book-cover img, meta[property="og:image"]').first().attr("data-src")||i('.book-cover img, meta[property="og:image"]').first().attr("content")||i(".book-cover img").first().attr("src")||""),c=EE(i("meta[name='description']").attr("content")||i(".panel-body.single").text()),u=[],l=new Set,d=[".site-go a[target='_blank']","a[target='_blank'][href*='pan.quark.cn']","a[href*='quark.cn']","a[href*='uc.cn']","a[href*='aliyundrive.com']","a[href*='115.com']"].join(", ");if(i(d).each((p,m)=>{let h=rA(i(m).attr("href")||"");!h||l.has(h)||(l.add(h),u.push(h))}),!u.length){let p=i("a.external[href*='pan.quark.cn'], a[href*='pan.quark.cn'], a[href*='quark.cn']").first(),m=rA(p.attr("href")||"");m&&u.push(m)}let f={vod_id:n,vod_name:a,vod_pic:o,vod_content:c};if(u.length){let p=await Rr(u,t);p?.froms&&p?.urls&&(f.vod_play_from=p.froms,f.vod_play_url=p.urls,f.vod_links=p.links)}return{list:[f]}}catch(r){return console.error("[4kzn][detail]",r.message),{list:[]}}}async function jvr(t,e){try{let r=t.body.wd,n=t.body.page,s=parseInt(n,10);if((!s||s<1)&&(s=1),!r)return{page:s,pagecount:0,limit:72,total:0,list:[]};let i=`${_E}/?s=${encodeURIComponent(r)}`,a=await lce(i),o=tut(a);if(!o.length){let c=Me(a);o=[],c("a[href*='/book/'], a[href*='/sites/']").each((u,l)=>{let d=c(l),f=rA(d.attr("href")||""),p=EE(d.text());!f||!p||p.includes(r)&&o.push({vod_id:f,vod_name:p,vod_pic:"",vod_remarks:""})})}return{page:s,pagecount:1,limit:72,total:o.length,list:o}}catch(r){return console.error("[4kzn][search]",r.message),{page:1,pagecount:0,limit:72,total:0,list:[]}}}var rut={meta:{key:"4kzn",name:"\u300C\u76D8\u300D\u6307\u5357",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Fvr),t.post("/category",Uvr),t.post("/detail",qvr),t.post("/play",Or),t.post("/search",jvr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var jw="https://kafeizhibo.com",Hvr=`${jw}/api/v1`,uut="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",Qvr={"User-Agent":uut,Accept:"application/json, text/plain, */*",Referer:`${jw}/pc/replay`},dce="live:",dM="schedule:",Gvr=/\.(m3u8|mp4|mkv|flv|avi|webm|mov)(?:[?#]|$)/i,nut=[{type_id:"schedule",type_name:"\u8D5B\u7A0B"},{type_id:"live",type_name:"\u76F4\u64AD"},{type_id:"replay",type_name:"\u5F55\u64AD"}],Vvr=[{n:"\u5168\u90E8",v:"all"},{n:"\u70ED\u95E8",v:"hot"},{n:"\u8DB3\u7403",v:"1"},{n:"\u7BEE\u7403",v:"2"},{n:"\u7F51\u7403",v:"3"},{n:"\u53F0\u7403",v:"19"}],zvr=[{n:"\u5168\u90E8",v:"all"},{n:"\u70ED\u95E8",v:"hot"},{n:"NBA",v:"nba"},{n:"\u8DB3\u7403",v:"1"},{n:"\u7BEE\u7403",v:"2"}],Kvr=[{n:"\u5168\u90E8",v:"all"},{n:"\u70ED\u95E8",v:"hot"},{n:"\u8DB3\u7403",v:"1"},{n:"\u7BEE\u7403",v:"2"},{n:"\u7F51\u7403",v:"3"},{n:"\u53F0\u7403",v:"19"}],sut={live:[{key:"type",name:"",init:"all",value:Vvr}],replay:[{key:"type",name:"",init:"all",value:zvr}],schedule:[{key:"type",name:"",init:"all",value:Kvr}]},lut=new Map;function xt(t){return String(t??"").trim()}function iut(t){return t!=null&&xt(t)!==""}function SE(t=""){let e=xt(t);if(!e)return"";if(/^https?:\/\//i.test(e))return e;if(e.startsWith("//"))return`https:${e}`;try{return new URL(e,jw).toString()}catch{return e}}function dut(t=""){let e=xt(t);return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?SE(e):/^[\w.-]+\.[a-z]{2,}(?:[/:?#]|$)/i.test(e)?`https://${e}`:e:""}function Yvr(t=""){return/^https?:\/\//i.test(xt(t))}function Jvr(t=""){return Gvr.test(xt(t))}function fM(t={}){let e=SE(t.cover_image);return e&&!e.includes("default_cover")?e:SE(t.home_team_logo)||SE(t.away_team_logo)||e}function fce(t={}){return SE(t.screenshot)||fM(t.match_info||t)||SE(t.avatar)||fM(t)}function Yl(t={}){return!iut(t.home_score)||!iut(t.away_score)?"":`${xt(t.home_score)} - ${xt(t.away_score)}`}function rm(t={}){let e=xt(t.home_team),r=xt(t.away_team),n=xt(t.league_name),s=xt(t.match_name||t.title||t.name||(t.match_id??t.id)),i=e&&r?`${e} vs ${r}`:e||r||s||"\u8D5B\u4E8B\u5F55\u50CF";return n?`${i} (${n})`:i}function pce(t=""){let e=xt(t).toLowerCase();return{live:"\u76F4\u64AD\u4E2D",online:"\u5728\u7EBF",finished:"\u5DF2\u7ED3\u675F",upcoming:"\u672A\u5F00\u59CB"}[e]||xt(t)}function Xvr(t=""){let e=xt(t),r=e.match(/^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}:\d{2})/);return r?{time:r[4],date:`${r[2]}-${r[3]}`}:{time:e,date:""}}function vE(t={}){let e=t.data??t;return Array.isArray(e)?e:Array.isArray(e?.list)?e.list:Array.isArray(e?.records)?e.records:Array.isArray(e?.items)?e.items:[]}function aut(t={}){let e=t.data??t,r=[e?.total,e?.count,t?.total,t?.count];for(let n of r){let s=Number.parseInt(n,10);if(Number.isFinite(s)&&s>=0)return s}return null}function out(t,e,r,n=null){let s=Number.isFinite(n)?n:null;return{page:t,pagecount:s===null?t+(r.length>=e?1:0):Math.max(t,Math.ceil(s/e)),limit:e,total:s===null?(t-1)*e+r.length+(r.length>=e?1:0):s,list:r}}async function Hw(t,e={}){let r=t.startsWith("http")?t:`${Hvr}${t}`,n=await he.get(r,{params:e,headers:Qvr,timeout:15e3,validateStatus:()=>!0});if(n.status<200||n.status>=400)throw new Error(`HTTP ${n.status} @ ${r}`);let s=typeof n.data=="string"?JSON.parse(n.data||"{}"):n.data||{},i=Number(s?.code);if(Number.isFinite(i)&&i!==0&&i!==200)throw new Error(s?.message||s?.msg||`API code=${s.code}`);return s}async function fut(t=1,e=30,{league:r="",type:n=""}={}){let s={page:t,size:e};return r?s.league=r:n&&n!=="all"&&n!=="nba"&&(s.type=n),Hw("/recordings",s)}async function put(t="all"){return Hw("/archor",{type:t||"all",_t:Date.now()})}async function Zvr(t){return Hw(`/room/${encodeURIComponent(t)}`)}async function mut(t="hot",e=1,r=30){return Hw("/schedule",{type:t||"hot",page:e,size:r,platform:"pc",_t:Date.now()})}function hut(t={}){let e=xt(t.match_id??t.id),r=xt(t.recording_count),n=[Yl(t),xt(t.start_time),r?`${r}\u4E2A\u5F55\u50CF`:""].filter(Boolean);return{vod_id:e,vod_name:rm(t),vod_pic:fM(t),vod_remarks:n.join(" | "),type_name:xt(t.league_name)}}function gut(t={}){let e=t.match_info||t,r=xt(t.room_id||t.archor?.room_id||t.match_id),n=pce(t.status||e.status),s=xt(t.heat),i=[n,Yl(t)||Yl(e),s?`\u70ED\u5EA6 ${s}`:""].filter(Boolean);return{vod_id:r?`${dce}${r}`:"",vod_name:xt(t.title)||rm(e),vod_pic:fce(t),vod_remarks:i.join(" | "),type_name:xt(t.league_name||e.league_name)}}function Aut(t={}){if(t.archor?.room_id)return xt(t.archor.room_id);let r=(Array.isArray(t.archors)?t.archors:[]).find(n=>n?.room_id);return xt(r?.room_id||t.room_id)}function yut(t={}){let e=Aut(t),r=xt(t.match_id??t.id),n=e&&r?`${dM}${r}:${e}`:"",s=Xvr(t.start_time),i=[s.time||pce(t.status),s.date,Yl(t),t.is_hot?"\u70ED\u95E8":""].filter(Boolean);return n&&lut.set(n,t),{vod_id:n,vod_name:xt(t.title)||rm(t),vod_pic:fce(t),vod_remarks:i.join(" | "),type_name:xt(t.league_name)}}function xut(t,e){return(xt(t)||e).replace(/[$#]/g," ").replace(/\s+/g," ").trim()||e}function cut(t=[],e="\u64AD\u653E"){return t.map((r,n)=>{let s=dut(r.video_url||r.stream_url||r.url||r.play_url);return s?`${xut(r.title||r.name,`${e}${n+1}`)}$${encodeURIComponent(s)}`:""}).filter(Boolean).join("#")}function eCr(t=""){let e=xt(t);if(!e)return"";try{return decodeURIComponent(e)}catch{return e}}function tCr(t=""){let e=xt(t);return e==="live"?"all":e.startsWith("live_")?e.slice(5)||"all":null}function rCr(t={}){let e=t.room_info||{},r=t.archor||{},n=t.teams||{};return{match_id:e.match_id||t.match_id,room_id:e.room_id||r.room_id,title:e.title||r.name,league_name:e.league||e.league_name,home_team:n.home?.name||e.home_team,away_team:n.away?.name||e.away_team,home_team_logo:n.home?.logo,away_team_logo:n.away?.logo,home_score:e.home_score??t.home_score,away_score:e.away_score??t.away_score,status:t.status||e.status||r.status,screenshot:r.screenshot,screenshot_updated_at:r.screenshot_updated_at,avatar:r.avatar||e.avatar,heat:r.heat,notice:e.notice||e.notice_h5}}function nCr(t={}){return{match_id:t.match_id||t.id,room_id:Aut(t),title:xt(t.title)||rm(t),league_name:t.league_name,home_team:t.home_team||t.homeTeam?.name,away_team:t.away_team||t.awayTeam?.name,home_team_logo:t.home_team_logo||t.homeTeam?.logo,away_team_logo:t.away_team_logo||t.awayTeam?.logo,home_score:t.home_score,away_score:t.away_score,status:t.status,screenshot:t.screenshot,avatar:t.archor?.avatar,heat:t.archor?.heat,start_time:t.start_time,notice:t.is_hot?"\u70ED\u95E8\u8D5B\u7A0B":""}}function sCr(t={}){let e=[],r=new Set,n=(s={},i="\u7EBF\u8DEF")=>{let a=dut(s.stream_url||s.url||s.play_url);!a||r.has(a)||(r.add(a),e.push({name:xut(s.name||s.title,`${i}${e.length+1}`),url:a}))};return n(t,"\u7EBF\u8DEF"),n(t.archor,"\u4E3B\u64AD"),(Array.isArray(t.archors)?t.archors:[]).forEach(s=>n(s,"\u4E3B\u64AD")),(Array.isArray(t.signals)?t.signals:[]).forEach(s=>n(s,"\u7EBF\u8DEF")),[t.external_signals_pc,t.external_signals,t.external_signals_h5,t.room_info?.external_signals_pc,t.room_info?.external_signals,t.room_info?.external_signals_h5].forEach(s=>{(Array.isArray(s)?s:[]).forEach(i=>n(i,"\u5916\u90E8"))}),e}async function iCr(t,e){return{}}async function aCr(t,e){try{let r=await mut("all",1,30),n=vE(r).map(yut).filter(s=>s.vod_id&&s.vod_name);return{class:nut,filters:sut,list:n}}catch(r){return console.error("kafei home failed:",r.message),{class:nut,filters:sut,list:[]}}}async function oCr(t,e){let r=xt(t.body?.id||"all"),n=Math.max(1,Number.parseInt(t.body?.page||1,10)),s=t.body?.filters||{};if(r==="schedule"){let u=xt(s.type||"all"),l=30;try{let d=await mut(u,n,l),f=vE(d).map(yut).filter(p=>p.vod_id&&p.vod_name);return out(n,l,f,aut(d))}catch(d){return console.error("kafei schedule category failed:",u,d.message),{page:n,pagecount:n,limit:l,total:0,list:[]}}}let i=tCr(r);if(i!==null){let u=xt(s.type||i||"all");if(n>1)return{page:n,pagecount:1,limit:100,total:0,list:[]};try{let l=await put(u),d=vE(l).map(gut).filter(f=>f.vod_id&&f.vod_name);return{page:1,pagecount:1,limit:d.length||100,total:d.length,list:d}}catch(l){return console.error("kafei live category failed:",r,l.message),{page:1,pagecount:1,limit:100,total:0,list:[]}}}let a=r==="replay"?xt(s.type||"all"):r,o=a.toLowerCase(),c=o==="nba"?20:30;try{let u=await fut(n,c,{league:o==="nba"?"NBA":"",type:o==="all"?"":a}),l=vE(u).map(hut).filter(d=>d.vod_id&&d.vod_name);return out(n,c,l,aut(u))}catch(u){return console.error("kafei category failed:",r,u.message),{page:n,pagecount:n,limit:c,total:0,list:[]}}}async function cCr(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=xt(s);if(i)try{if(i.startsWith(dce)||i.startsWith(dM)){let h=i.startsWith(dM),A=h?i.slice(dM.length).split(":").pop():i.slice(dce.length),g=h?lut.get(i):null,b=g?null:await Zvr(A),y=g||b?.data||{},x=g?nCr(y):rCr(y),C=sCr(y).map(R=>`${R.name}$${encodeURIComponent(R.url)}`).join("#");n.push({vod_id:i,vod_name:xt(x.title)||rm(x),vod_pic:fce(x),type_name:xt(x.league_name),vod_remarks:[pce(x.status),Yl(x)].filter(Boolean).join(" | "),vod_content:[xt(x.league_name),xt(x.title)||rm(x),Yl(x)?`\u6BD4\u5206 ${Yl(x)}`:"",xt(x.start_time)?`\u6BD4\u8D5B\u65F6\u95F4: ${xt(x.start_time)}`:"",xt(x.notice)].filter(Boolean).join("\uFF0C"),vod_play_from:C?"\u76F4\u64AD":"",vod_play_url:C});continue}let o=(await Hw(`/match/${encodeURIComponent(i)}/recordings`)).data||{},c=o.match||o,u=Array.isArray(o.replays)?o.replays:[],l=Array.isArray(o.highlights)?o.highlights:[],d=[],f=[],p=cut(u,"\u5F55\u50CF");p&&(d.push("\u5F55\u50CF"),f.push(p));let m=cut(l,"\u96C6\u9526");m&&(d.push("\u96C6\u9526"),f.push(m)),n.push({vod_id:i,vod_name:rm(c),vod_pic:fM(c),type_name:xt(c.league_name),vod_remarks:Yl(c),vod_content:[xt(c.league_name),xt(c.match_round),rm(c),Yl(c)?`\u6BD4\u5206 ${Yl(c)}`:"",xt(c.start_time)?`\u6BD4\u8D5B\u65F6\u95F4: ${xt(c.start_time)}`:""].filter(Boolean).join("\uFF0C"),vod_play_from:d.join("$$$"),vod_play_url:f.join("$$$")})}catch(a){console.error("kafei detail failed:",i,a.message)}}return{list:n}}async function uCr(t,e){let r=eCr(t.body?.id);return r?{parse:Yvr(r)&&!Jvr(r)?1:0,url:r,header:{"User-Agent":uut,Referer:jw,Origin:jw}}:{parse:0,url:"",header:{}}}async function lCr(t,e){let r=xt(t.body?.wd||t.body?.keyword).toLowerCase(),n=100;if(!r)return{page:1,pagecount:1,limit:n,total:0,list:[]};try{let[s,i]=await Promise.allSettled([put("all"),fut(1,n)]),a=s.status==="fulfilled"?vE(s.value):[],o=i.status==="fulfilled"?vE(i.value):[],c=a.filter(d=>{let f=d.match_info||d;return[d.title,d.name,d.home_team,d.away_team,d.league_name,f.home_team,f.away_team,f.league_name].map(xt).join(" ").toLowerCase().includes(r)}).map(gut),u=o.filter(d=>[d.home_team,d.away_team,d.league_name,d.match_name,d.title].map(xt).join(" ").toLowerCase().includes(r)).map(hut),l=[...c,...u].filter(d=>d.vod_id&&d.vod_name);return{page:1,pagecount:1,limit:n,total:l.length,list:l}}catch(s){return console.error("kafei search failed:",s.message),{page:1,pagecount:1,limit:n,total:0,list:[]}}}var but={meta:{key:"kafei",name:"\u300C\u76F4\u300D\u5496\u5561",type:3},api:async t=>{t.post("/init",iCr),t.post("/home",aCr),t.post("/category",oCr),t.post("/detail",cCr),t.post("/play",uCr),t.post("/search",lCr)}};var _ut=require("crypto");var mce="/embySpider",Jl={clientName:"SenPlayer",clientVersion:"6.0.5",deviceName:"iPhone",language:"zh-cn",userAgent:"SenPlayer/6.0.5"};function dCr(){return(0,_ut.randomUUID)().toUpperCase()}function Sut(t,e=!1){return $o(t)||(e?dCr():"")}function CE({token:t="",contentType:e=!1,deviceId:r="",userId:n=""}={}){let s=Sut(r),i=$o(t),a=$o(n),o={"X-Emby-Authorization":[`MediaBrowser Token="${i}"`,`UserId="${a}"`,`Client="${Jl.clientName}"`,`Device="${Jl.deviceName}"`,`DeviceId="${s}"`,`Version="${Jl.clientVersion}"`].join(", "),"X-Emby-Client":Jl.clientName,"X-Emby-Device-Name":Jl.deviceName,"X-Emby-Device-Id":s,"X-Emby-Client-Version":Jl.clientVersion,"X-Emby-Language":Jl.language,"User-Agent":Jl.userAgent};return e&&(o["Content-Type"]="application/json"),i&&(o["X-Emby-Token"]=i),o}function vut(t){return String(t||"").trim().replace(/\/+$/,"")}function $o(t){return String(t||"").trim()}function fCr(t){return String(t||"").trim()}function Cut(t){return $o(t).toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)}function pCr(t,e){let n=`${t?.name||""}-${t?.host||""}-${t?.username||""}`.toLowerCase().replace(/^https?:\/\//,"").replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,28),s=n||RQ().slice(0,8);for(;e.has(s);)s=`${(n||"emby").slice(0,24)}-${RQ().slice(0,4)}`;return e.add(s),s}function mCr(t,e,r={}){let n=vut(t?.host),s=$o(t?.username),i=$o(t?.name),a=Cut(t?.id),o=a&&!e.has(a)?a:pCr({name:i,host:n,username:s},e);return e.add(o),{id:o,name:i,host:n,username:s,password:String(t?.password||""),deviceId:Sut(t?.deviceId,r.ensureDeviceId),logo:fCr(t?.logo),libraries:hce(t?.libraries),libraryStats:Iut(t?.libraryStats)}}function Iut(t={}){return{movieCount:Math.max(0,Number(t?.movieCount||0)||0),seriesCount:Math.max(0,Number(t?.seriesCount||0)||0)}}function hce(t=[]){return Array.isArray(t)?t.map(e=>({id:$o(e?.id||e?.Id),name:$o(e?.name||e?.Name),collectionType:$o(e?.collectionType||e?.CollectionType)})).filter(e=>e.id).map(e=>({...e,name:e.name||e.id})):[]}function hCr(t=[]){return hce(t.map(e=>({id:e?.Id,name:e?.Name,collectionType:e?.CollectionType})))}function pM(t={},e={}){let r=new Set;return{servers:(Array.isArray(t?.servers)?t.servers:[]).filter(i=>i&&typeof i=="object").filter(i=>$o(i?.id)||$o(i?.name)||vut(i?.host)||$o(i?.username)||String(i?.password||"")).map(i=>mCr(i,r,e)).filter(i=>i.host||i.username)}}function gCr(t){return{servers:t.servers}}var gce=async t=>{let e=await t.db.getObjectDefault(mce,{});return pM(e)},Qw=async t=>(await gce(t)).servers,IE=async(t,e="")=>{let r=await gce(t),n=Cut(e);return n&&r.servers.find(s=>s.id===n)||null},ACr=async(t,e)=>{let r=pM(e,{ensureDeviceId:!0});return await t.db.push(mce,gCr(r)),r},yCr=async t=>{await t.db.delete(mce)};async function xCr(t){let{host:e,username:r,password:n,deviceId:s}=t,i=`${e}/emby/Users/authenticatebyname`,o=(await he.post(i,{Username:r,Pw:n||"",Password:n||""},{headers:CE({contentType:!0,deviceId:s}),timeout:1e4})).data;if(!o?.AccessToken||!o?.User?.Id)throw new Error("\u8BA4\u8BC1\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7528\u6237\u540D\u548C\u5BC6\u7801");return o}function bCr(t="",e="",r=""){return CE({token:t,contentType:!0,deviceId:e,userId:r})}async function mM(t,e="",r="",n=""){return(await he.get(t,{headers:e?bCr(e,r,n):CE({deviceId:r}),timeout:1e4})).data}async function ECr(t,e="",r=""){try{return await mM(`${t.host}/emby/System/Info/Public`,e,t.deviceId,r)}catch{try{return await mM(`${t.host}/emby/System/Info`,e,t.deviceId,r)}catch{return{}}}}async function _Cr(t,e,r){try{let n=await mM(`${t.host}/emby/Users/${encodeURIComponent(e)}/Views`,r,t.deviceId,e);return Array.isArray(n?.Items)?n.Items:[]}catch{return[]}}async function Eut(t,e,r,n,s){let i=new URLSearchParams({ParentId:String(n||""),Recursive:"true",IncludeItemTypes:s,StartIndex:"0",Limit:"1"});try{let a=await mM(`${t.host}/emby/Users/${encodeURIComponent(e)}/Items?${i.toString()}`,r,t.deviceId,e);return Math.max(0,Number(a?.TotalRecordCount||0)||0)}catch{return 0}}async function SCr(t,e,r,n=[]){let s={movieCount:0,seriesCount:0},i=[];for(let a of n){let o=String(a?.Id||"");if(!o)continue;let c=String(a?.CollectionType||"").toLowerCase();(!c||c==="movies")&&i.push(Eut(t,e,r,o,"Movie").then(u=>{s.movieCount+=u})),(!c||c==="tvshows")&&i.push(Eut(t,e,r,o,"Series").then(u=>{s.seriesCount+=u}))}return await Promise.allSettled(i),s}async function vCr(t){let e=await xCr(t),r=e.AccessToken,n=e.User.Id,[s,i]=await Promise.all([ECr(t,r,n),_Cr(t,n,r)]),a=await SCr(t,n,r,i);return{serverName:$o(s?.ServerName),libraries:hCr(i),libraryStats:a}}function CCr(t,e={}){return{...t,name:t.name||e.serverName||"Emby",libraries:hce(e.libraries||t.libraries),libraryStats:Iut(e.libraryStats||t.libraryStats)}}function ICr(t){return t?.response?.status===401?"\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF":`\u8FDE\u63A5\u5931\u8D25: ${t.message}`}async function Ace(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await gce(e.server)})}),t.post("/verify",async(e,r)=>{let s=pM({servers:[e.body||{}]},{ensureDeviceId:!0}).servers[0];if(!s||!s.host||!s.username){r.send({code:-1,message:"\u670D\u52A1\u5668\u5730\u5740\u548C\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A"});return}try{let i=await vCr(s);r.send({code:0,data:CCr(s,i)})}catch(i){r.send({code:-1,message:ICr(i)})}}),t.put("/setting",async(e,r)=>{let n=pM(e.body||{},{ensureDeviceId:!0});for(let i of n.servers)if(!i.host||!i.username){r.send({code:-1,message:`${i.name||"Emby"} \u7684\u670D\u52A1\u5668\u5730\u5740\u548C\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A`});return}let s=await ACr(e.server,n);r.send({code:0,data:s})}),t.delete("/setting",async(e,r)=>{await yCr(e.server),r.send({code:0})})}var Ece="::",Out=["PrimaryImageAspectRatio","BasicSyncInfo","ProductionYear","RecursiveItemCount","ChildCount"].join(","),yce=new Map;function TCr(){return{baseUrl:"",username:"",password:"",deviceId:"",accessToken:"",userId:""}}function wCr(t){let e=t||"default";return yce.has(e)||yce.set(e,TCr()),yce.get(e)}async function RCr(t,e=""){let r=await IE(t,e),n=String(r?.host||"").replace(/\/$/,""),s=r?.username||"",i=r?.password||"",a=r?.deviceId||"",o=wCr(r?.id||e);if(!n||!s)throw new Error("\u8BF7\u5728\u7BA1\u7406\u9875\u9762\u914D\u7F6E Emby \u670D\u52A1\u5668\u5730\u5740\u548C\u7528\u6237\u540D");return o.baseUrl===n&&o.username===s&&o.password===i&&o.deviceId===a||(o.baseUrl=n,o.username=s,o.password=i,o.deviceId=a,o.accessToken="",o.userId=""),o}async function Sce(t){let e=`${t.baseUrl}/emby/Users/authenticatebyname`,n=(await he.post(e,{Username:t.username,Pw:t.password||"",Password:t.password||""},{headers:CE({contentType:!0,deviceId:t.deviceId}),timeout:15e3})).data;if(!n||!n.AccessToken||!n.User?.Id)throw new Error("Emby\u8BA4\u8BC1\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7528\u6237\u540D\u548C\u5BC6\u7801");t.accessToken=n.AccessToken,t.userId=n.User.Id}async function nm(t,e=""){let r=await RCr(t,e);return(!r.accessToken||!r.userId)&&await Sce(r),r}function hM(t){return CE({token:t.accessToken,deviceId:t.deviceId,userId:t.userId})}function TE(t,e){let r=String(t||""),n=String(e||"");return!r||!n?"":`${encodeURIComponent(r)}${Ece}${n}`}function Put(t){let e=String(t||""),r=e.indexOf(Ece);if(r<0)return{serverId:"",itemId:""};let n=e.slice(0,r);return{serverId:decodeURIComponent(n),itemId:e.slice(r+Ece.length)}}function NCr(t){return String(t.body?.id||"").trim()}function Tut(t){return String(t||"").split(",")[0].trim()}function OCr(t){let r=Tut(t?.headers?.["x-forwarded-proto"])||t?.protocol||"http",s=Tut(t?.headers?.["x-forwarded-host"])||t?.headers?.host||"";return s?`${r}://${s}`:""}function PCr(t=""){let e=String(t||"").toLowerCase();return e==="movies"?"Movie":e==="tvshows"?"Series":"Movie,Series"}function xce(t){let e=Number(t);return Number.isFinite(e)&&e>0?Math.floor(e):0}function DCr(t={}){return String(t?.Type||"").toLowerCase()!=="series"?0:xce(t.RecursiveItemCount)||xce(t.EpisodeCount)||xce(t.ChildCount)}function kCr(t=[]){let e=[],r=t.reduce((n,s)=>Math.max(n,s.list.length),0);for(let n=0;n<r;n++)for(let s of t)s.list[n]&&e.push(s.list[n]);return e}async function Dut(t,e){let r=await nm(t,e),n=await nA(`/emby/Users/${r.userId}/Views`,t,e);return Array.isArray(n?.Items)?n.Items:[]}function _ce(t=[]){let e=[];for(let r of t){let n=String(r?.Id||r?.id||"");n&&e.push({n:r.Name||r.name||n,v:n})}return e.length===0?[]:[{key:"library",name:"",init:e[0].v,value:e}]}function bce(t=[]){return(Array.isArray(t)?t:[]).map(e=>{let r=String(e?.id||e?.Id||"").trim();return r?{type_id:r,type_name:String(e?.name||e?.Name||r).trim()||r}:null}).filter(Boolean)}async function nA(t,e,r="",n={}){let s=await nm(e,r),i=`${s.baseUrl}${t}`;try{return(await he({method:n.method||"GET",url:i,headers:hM(s),data:n.data,timeout:15e3})).data}catch(a){if(a?.response?.status===401)return s.accessToken="",await Sce(s),(await he({method:n.method||"GET",url:i,headers:hM(s),data:n.data,timeout:15e3})).data;throw a}}function LCr(t=""){let e=String(t||"").trim();return/^[A-Za-z]+$/.test(e)?e:"Primary"}function BCr(t,e=300){let r=parseInt(t||e,10);return!Number.isFinite(r)||r<=0?e:Math.min(r,1200)}function kut(t,e="",r=null){if(t.ImageTags?.Primary){let s=`/spider/emby/3/image?${new URLSearchParams({serverId:e,itemId:String(t.Id||""),maxHeight:"300",tag:String(t.ImageTags.Primary)}).toString()}`,i=OCr(r);return i?`${i}${s}`:s}return""}function Lut(t,e="",r=null){let n=DCr(t);return{vod_id:TE(e,t.Id),vod_name:t.Name||"",vod_pic:kut(t,e,r),vod_remarks:n>0?String(n):"",vod_year:t.ProductionYear?String(t.ProductionYear):""}}async function wut(t,e){return{}}async function MCr(t,e){let r=t.query||{},n=String(r.serverId||"").trim(),s=String(r.itemId||"").trim();if(!n||!s)return e.code(404),"";try{let i=await nm(t.server,n),a=LCr(r.type||"Primary"),o=new URLSearchParams({maxHeight:String(BCr(r.maxHeight,300))}),c=String(r.tag||"").trim();c&&o.set("tag",c);let u=`${i.baseUrl}/emby/Items/${encodeURIComponent(s)}/Images/${a}?${o.toString()}`,l;try{l=await he.get(u,{responseType:"stream",headers:hM(i),timeout:15e3})}catch(d){if(d?.response?.status!==401)throw d;i.accessToken="",await Sce(i),l=await he.get(u,{responseType:"stream",headers:hM(i),timeout:15e3})}return e.header("Content-Type",l.headers?.["content-type"]||"image/jpeg"),e.header("Cache-Control","private, max-age=86400"),l.headers?.["content-length"]&&e.header("Content-Length",l.headers["content-length"]),e.send(l.data)}catch(i){return console.error("emby image failed:",i.message),e.code(i?.response?.status===404?404:502),""}}async function WCr(t,e){try{let n=(await Qw(t.server)).filter(a=>a?.host&&a?.username);if(n.length===0)return{class:[],filters:{}};let s=n.map((a,o)=>({type_id:a.id,type_name:a.name||`Emby ${o+1}`})),i={};for(let a of n){let o=a.id;i[o]=_ce(a.libraries)}return{class:s,filters:i}}catch(r){return console.error("emby home failed:",r.message),{class:[],filters:{}}}}async function $Cr(t,e){let r=String(t.params?.serverId||"").trim();if(!r)return{class:[],filters:{}};try{let n=await IE(t.server,r),s=bce(n?.libraries);if(s.length===0){let i=await Dut(t.server,r);s=bce(i)}return{class:s,filters:{}}}catch(n){console.error("emby server home failed:",n.message);let s=await IE(t.server,r).catch(()=>null);return{class:bce(s?.libraries),filters:{}}}}async function But(t,e,r="",n={}){let s=t.body?.filters||{},i=Math.max(1,parseInt(t.body?.page||1,10)),a=20,o=(i-1)*a;if(!e)return{page:i,pagecount:i,limit:a,total:0,list:[],filters:n.filterKey?{}:void 0};try{let c=await nm(t.server,e),u=await Dut(t.server,e),l=_ce(u),d=String(r||"").trim();!d&&n.useFilterLibrary!==!1&&(d=String(s.library||"").trim()),d||(d=String(u[0]?.Id||"").trim());let f="Movie,Series";if(d){let y=await nA(`/emby/Users/${c.userId}/Items/${d}`,t.server,e);f=PCr(y?.CollectionType)}let p=new URLSearchParams({StartIndex:String(o),Limit:String(a),Recursive:"true",Fields:Out,ImageTypeLimit:"1",EnableImageTypes:"Primary",IncludeItemTypes:f,SortBy:"DateLastContentAdded,DateCreated",SortOrder:"Descending"});d&&p.set("ParentId",d);let m=await nA(`/emby/Users/${c.userId}/Items?${p.toString()}`,t.server,e),h=m?.Items||[],A=m?.TotalRecordCount||h.length,g=h.map(y=>Lut(y,e,t)),b={page:i,pagecount:Math.max(i,Math.ceil(A/a)),limit:a,total:A,list:g};return n.filterKey&&(b.filters={[n.filterKey]:l}),b}catch(c){console.error("emby category failed:",c.message);let u=await IE(t.server,e).catch(()=>null),l={page:i,pagecount:i,limit:a,total:0,list:[]};return n.filterKey&&(l.filters={[n.filterKey]:_ce(u?.libraries)}),l}}async function FCr(t,e){let r=NCr(t);return But(t,r,"",{filterKey:r,useFilterLibrary:!0})}async function UCr(t,e){let r=String(t.params?.serverId||"").trim(),n=String(t.body?.id||"").trim();return But(t,r,n,{useFilterLibrary:!1})}async function Rut(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r)if(s)try{let{serverId:i,itemId:a}=Put(s);if(!i||!a)continue;let o=await nm(t.server,i),c=await nA(`/emby/Users/${o.userId}/Items/${a}`,t.server,i);if(!c)continue;let u={vod_id:TE(i,c.Id),vod_name:c.Name||"",vod_pic:kut(c,i,t),vod_remarks:c.ProductionYear?String(c.ProductionYear):"",vod_year:c.ProductionYear?String(c.ProductionYear):"",vod_content:c.Overview||"",vod_director:(c.People||[]).filter(l=>l.Type==="Director").map(l=>l.Name).join(","),vod_actor:(c.People||[]).filter(l=>l.Type==="Actor").map(l=>l.Name).join(","),vod_play_from:"",vod_play_url:""};if(c.Type==="Movie")u.vod_play_from="Emby",u.vod_play_url=`${c.Name}$${TE(i,c.Id)}`;else if(c.Type==="Series"){let d=(await nA(`/emby/Shows/${c.Id}/Episodes?userId=${o.userId}&Fields=BasicSyncInfo`,t.server,i))?.Items||[];if(d.length>0){let f={};for(let h of d){let A=h.SeasonName||`\u7B2C${h.ParentIndexNumber||1}\u5B63`;f[A]||(f[A]=[]);let g=h.Name===`\u7B2C ${h.IndexNumber} \u96C6`?h.Name:`${h.IndexNumber}.${h.Name}`;f[A].push(`${g}$${TE(i,h.Id)}`)}let p=[],m=[];for(let[h,A]of Object.entries(f))p.push(h),m.push(A.join("#"));u.vod_play_from=p.join("$$$"),u.vod_play_url=m.join("$$$")}else u.vod_play_from="Emby",u.vod_play_url=`${c.Name}$${TE(i,c.Id)}`}else u.vod_play_from="Emby",u.vod_play_url=`${c.Name}$${TE(i,c.Id)}`;n.push(u)}catch(i){console.error("emby detail failed:",s,i.message)}return{list:n}}async function qCr(t,e,r){let n=await nm(t,e),s=encodeURIComponent(r),i=await nA(`/emby/Users/${n.userId}/Items/${s}?Fields=Path`,t,e),o=(Array.isArray(i?.MediaSources)?i.MediaSources:[]).find(c=>String(c?.Id||"").trim())||null;return String(o?.Id||"").trim()}async function Nut(t,e){let{serverId:r,itemId:n}=Put(t.body?.id||"");if(!r||!n)return{parse:0,url:"",header:{}};try{let s=await nm(t.server,r),i=encodeURIComponent(n),a=new URLSearchParams({static:"true",api_key:s.accessToken}),o=await qCr(t.server,r,n).catch(()=>"");return o&&a.set("MediaSourceId",o),{parse:0,url:`${s.baseUrl}/emby/Videos/${i}/stream.mkv?${a.toString()}`,header:{"User-Agent":Jl.userAgent}}}catch(s){return console.error("emby play failed:",s.message),{parse:0,url:"",header:{}}}}async function Mut(t,e=[]){let r=(t.body?.wd||"").trim(),n=Math.max(1,parseInt(t.body?.page||1,10)),s=20;if(!r)return{page:n,pagecount:n,limit:s,total:0,list:[]};if(e.length===0)return{page:n,pagecount:n,limit:s,total:0,list:[]};try{let i=(n-1)*s,a=n*s,o=await Promise.allSettled(e.map(async d=>{let f=d.id,p=await nm(t.server,f),m=new URLSearchParams({SearchTerm:r,StartIndex:"0",Limit:String(a),Recursive:"true",Fields:Out,ImageTypeLimit:"1",EnableImageTypes:"Primary",IncludeItemTypes:"Movie,Series",SortBy:"DateLastContentAdded,DateCreated",SortOrder:"Descending"}),h=await nA(`/emby/Users/${p.userId}/Items?${m.toString()}`,t.server,f),A=h?.Items||[];return{total:Math.max(0,Number(h?.TotalRecordCount||A.length)||0),list:A.map(g=>Lut(g,f,t))}})),c=[],u=0;for(let d of o){if(d.status!=="fulfilled"){console.error("emby search server failed:",d.reason?.message||d.reason);continue}u+=d.value.total,c.push(d.value)}let l=kCr(c);return{page:n,pagecount:Math.max(n,Math.ceil(u/s)),limit:s,total:u,list:l.slice(i,a)}}catch(i){return console.error("emby search failed:",i.message),{page:n,pagecount:n,limit:s,total:0,list:[]}}}async function jCr(t,e){let r=await Qw(t.server);return Mut(t,r.filter(n=>n?.host&&n?.username))}async function HCr(t,e){let r=String(t.params?.serverId||"").trim(),n=await IE(t.server,r).catch(()=>null);return Mut(t,n?.host&&n?.username?[n]:[])}var Wut={meta:{key:"emby",name:"Emby",type:3,hidden:!0},api:async t=>{t.post("/init",wut),t.get("/image",MCr),t.post("/home",WCr),t.post("/category",FCr),t.post("/detail",Rut),t.post("/play",Nut),t.post("/search",jCr),t.post("/server/:serverId/init",wut),t.post("/server/:serverId/home",$Cr),t.post("/server/:serverId/category",UCr),t.post("/server/:serverId/detail",Rut),t.post("/server/:serverId/play",Nut),t.post("/server/:serverId/search",HCr)}};var vce="/alistVideo",Fut={servers:[{id:"alist_default",name:"\u4EBF\u82EF\u6B63\u7ECF\u7684Alist\u5E93",server:"https://pan.lm379.cn"}]};function QCr(t,e="server"){return`alist_${String(t||e).trim().toLowerCase().replace(/^https?:\/\//,"").replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||e}`}function Cce(t={}){return{id:t.id||"",name:String(t.name||"").trim(),server:String(t.server||"").trim().replace(/\/+$/,""),username:String(t.username||"").trim(),password:String(t.password||""),token:String(t.token||"").trim(),otpCode:String(t.otpCode||t.otp_code||"").trim()}}function Ice(t={}){let e=Array.isArray(t?.servers)?t.servers:[],r=new Set;return{servers:e.map((n,s)=>{let i={...Cce(n),otpCode:""};if(!i.server)return null;i.id||(i.id=QCr(i.server||i.name,`server_${s+1}`));let a=i.id,o=a,c=2;for(;r.has(o);)o=`${a}_${c}`,c+=1;return r.add(o),i.id=o,i}).filter(Boolean)}}function GCr(t={}){return`catpaw_${String(t.id||t.server||t.name||"default").trim().replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,96)||"alist"}`}function wE(t={},e=""){let r=String(e||t.token||"").trim(),n={"Content-Type":"application/json","Client-Id":GCr(t)};return r&&(n.Authorization=r),n}function Tce(t,e={}){return t?.status===401||t?.status===403||e?.code===401||e?.code===403}async function gM(t={},e={}){let r=Cce(t);if(r.token)return r.token;if(!r.server||!r.username)return"";let n={username:r.username,password:r.password};r.otpCode&&(n.otp_code=r.otpCode);let i=(await he.post(r.server+"/api/auth/login",n,{headers:wE(r),timeout:e.timeout||1e4})).data||{};if(i.code!==200||!i.data?.token)throw new Error(i.message||"Alist \u767B\u5F55\u5931\u8D25");return i.data.token}async function $ut(t,e=""){let r=await he.post(t.server+"/api/fs/list",{path:"/",page:1,per_page:1},{headers:wE(t,e),timeout:1e4});return{resp:r,json:r.data||{}}}var Uut=async t=>{let e=await t.db.getObjectDefault(vce,Fut);return Ice(e)},VCr=async(t,e)=>{let r=Ice(e);return await t.db.push(vce,r),r},zCr=async t=>{await t.db.delete(vce)},Gw=async t=>(await Uut(t)).servers;async function wce(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await Uut(e.server)})}),t.put("/setting",async(e,r)=>{let n=Ice(e.body||{});if(n.servers.some(i=>!i.server)){r.send({code:-1,message:"\u670D\u52A1\u5668\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A"});return}let s=await VCr(e.server,n);r.send({code:0,data:s})}),t.delete("/setting",async(e,r)=>{await zCr(e.server),r.send({code:0,data:Fut})}),t.post("/verify",async(e,r)=>{let n=Cce(e.body||{});if(!n.server){r.send({code:-1,message:"\u670D\u52A1\u5668\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A"});return}try{let s=await gM(n),{resp:i,json:a}=await $ut(n,s);if(Tce(i,a)&&n.username&&(s=await gM({...n,token:""}),{resp:i,json:a}=await $ut(n,s)),a.code!==200){r.send({code:-1,message:a.message||"\u8FDE\u63A5\u5931\u8D25"});return}r.send({code:0,data:{...n,token:s||n.token,otpCode:""}})}catch(s){r.send({code:-1,message:`\u8FDE\u63A5\u5931\u8D25: ${s.message}`})}})}var KCr=new Set([".mp4",".mkv",".avi",".wmv",".flv",".mov",".webm",".ts",".m4v",".rmvb",".rm",".3gp",".mpg",".mpeg",".vob",".iso"]),YCr=new Set([".srt",".ass",".ssa",".sub",".scc",".stl",".ttml",".vtt"]),Vut="https://img.icons8.com/fluency/96/folder-invoices--v1.png",zut="https://img.icons8.com/color/48/video.png",JCr=new Set(["AliyundriveOpen","AliyunShare","BaiduNetdisk","BaiduShare2","Quark","QuarkShare","UC","UCShare","UCTV","115 Cloud","115 Share"]),Kut="Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1",Ou={},RE={},Rce="alist:";function xM(t){let e=t.lastIndexOf(".");return e<0?!1:KCr.has(t.slice(e).toLowerCase())}function Yut(t){let e=t.lastIndexOf(".");return e<0?!1:YCr.has(t.slice(e).toLowerCase())}function Nce(t){return!t||t<=0?"":t>1024**4?(t/1024**4).toFixed(2)+"TB":t>1024**3?(t/1024**3).toFixed(2)+"GB":t>1024**2?(t/1024**2).toFixed(2)+"MB":(t/1024).toFixed(2)+"KB"}function sm(t,e,r=""){let n=String(r||"").trim();return n?Rce+Buffer.from(JSON.stringify({serverId:n,name:t,path:e||"/"}),"utf8").toString("base64url"):`${t}||${e}`}function bM(t){let e=String(t||"");if(e.startsWith(Rce))try{let n=JSON.parse(Buffer.from(e.slice(Rce.length),"base64url").toString("utf8"));return{serverId:String(n?.serverId||""),name:String(n?.name||""),path:String(n?.path||"/")}}catch{return{serverId:"",name:"",path:"/"}}let r=e.indexOf("||");return r<0?{serverId:"",name:e,path:"/"}:{serverId:"",name:e.slice(0,r),path:e.slice(r+2)||"/"}}function XCr(t,e=""){let r=String(e||"").trim();if(r&&Ou[r])return Ou[r];let n=String(t||"").trim();return n&&Ou[n]?Ou[n]:Object.values(Ou).find(s=>r&&s?.id===r||n&&s?.name===n)}function Jut(t){return String(t||"").split(",")[0].trim()}function qut(t){return Jut(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function ZCr(t){let e=String(t?.server?.address?.()?.url||"").trim(),n=qut(t?.headers?.["x-forwarded-host"])||qut(t?.headers?.host);if(!n)return e;let s=Jut(t?.headers?.["x-forwarded-proto"]),i=e.startsWith("https://")?"https":"http";return`${s||String(t?.protocol||"").trim()||i}://${n}`}function eIr(t,e,r=""){return Buffer.from(JSON.stringify({serverId:r,name:t,path:e}),"utf8").toString("base64url")}function tIr(t){let e=JSON.parse(Buffer.from(String(t||""),"base64url").toString("utf8"));return{serverId:String(e?.serverId||""),name:String(e?.name||""),path:String(e?.path||"/")}}function rIr(t){return String(t||"").toLowerCase().includes("115")}function nIr(t){let e=String(t?.provider||""),r=String(t?.raw_url||"");return JCr.has(e)||rIr(e)||r.includes("115cdn.net")}function sIr(t){return String(t||"/").replace(/^\/?/,"/").split("/").map((r,n)=>n===0?"":encodeURIComponent(r)).join("/")}function iIr(t,e,r){let n=new URL("/d"+sIr(e),t.server);return r&&n.searchParams.set("sign",r),n.toString()}function jut(t,e,r,n=""){let s=r.split("/").filter(Boolean).pop()||"video.bin",i=String(t?.server?.prefix||"").replace(/\/$/,"");return`${ZCr(t)}${i}/proxy/${eIr(e,r,n)}/${encodeURIComponent(s)}`}function aIr(t){let e={};for(let r of["range","if-range","if-none-match","if-modified-since"])t.headers?.[r]&&(e[r]=t.headers[r]);return e}function oIr(t,e,r){return{...aIr(r),...wE(t,e),"User-Agent":Kut,Referer:"https://www.alipan.com/"}}function cIr(){return{"User-Agent":Kut,Referer:"https://www.alipan.com/"}}function Xut(t){return t.id||t.server||t.name}async function AM(t,e=!1){let r=Xut(t);if(!e){if(RE[r])return RE[r];if(t.token)return t.token}let n=await gM({...t,token:e?"":t.token});return n&&(RE[r]=n),n}async function EM(t,e,r={},n=!0){let s=await AM(t),i=wE(t,s),a=await he.post(t.server+e,r,{headers:i,timeout:15e3}).catch(c=>c.response||{status:500,data:{}}),o=a.data||{};if(n&&Tce(a,o)&&t.username){let c=Xut(t);delete RE[c];let u=await AM(t,!0),d=(await he.post(t.server+e,r,{headers:wE(t,u),timeout:15e3}).catch(f=>f.response||{status:500,data:{}})).data||{};if(d.code!==200)throw new Error(d.message||"Alist API error");return d.data}if(o.code!==200)throw new Error(o.message||"Alist API error");return o.data}async function Zut(t,e,r=1){return EM(t,"/api/fs/list",{path:e,page:r,per_page:0,refresh:!1})}async function yM(t,e){return EM(t,"/api/fs/get",{path:e})}async function uIr(t,e,r,n={}){return he.request({url:t,method:r,headers:e,responseType:r==="HEAD"?"text":"stream",timeout:3e4,maxRedirects:n.maxRedirects??5,validateStatus:()=>!0})}async function elt(t,e,r,n,s){let i=iIr(t,e,r),a=await uIr(i,oIr(t,n,s),"GET",{maxRedirects:0});a.data?.destroy&&a.data.destroy();let o=a.headers?.location;return a.status>=300&&a.status<400&&o?new URL(o,i).toString():""}async function lIr(t,e){await Vw(t.server);let r;try{r=tIr(t.params?.id)}catch{return e.code(400),"bad proxy id"}let n=await _M(t.server,r);if(!n)return e.code(404),"drive not found";try{let s=await yM(n,r.path);if(!s?.raw_url)return e.code(404),"raw_url empty";if(s.sign){let i=await AM(n),a=await elt(n,r.path,s.sign,i,t);if(a)return e.redirect(302,a),""}return s.raw_url?(e.redirect(302,s.raw_url),""):(e.code(502),"proxy failed")}catch(s){return console.error("[alist-video] proxy failed:",s.message),e.code(502),s.message}}async function dIr(t,e,r="/"){return EM(t,"/api/fs/search",{parent:r,keywords:e,scope:0,page:1,per_page:100})}function fIr(t){let e=t.replace(/^\//,"").split("/");return e.length>1?"/"+e.slice(1).join("/"):"/"}function pIr(t={},e="Alist"){let r=String(t.name||"").trim();if(r)return r;try{return new URL(t.server).hostname||e}catch{return e}}function tlt(t={}){let e=String(t.server||"").replace(/\/$/,"");if(!e)return null;let r=pIr({...t,server:e});return{id:String(t.id||"").trim(),name:r,server:e,username:t.username||"",password:t.password||"",token:t.token||"",otpCode:t.otpCode||""}}function rlt(t){if(!t)return null;let e=t.id||t.name;return e?(Ou[e]=t,t):null}async function Oce(t){let e=await Gw(t);for(let r of Object.keys(Ou))delete Ou[r];for(let r of Object.keys(RE))delete RE[r];for(let r of e)rlt(tlt(r));return e}async function Vw(t){Object.keys(Ou).length===0&&await Oce(t)}async function zw(t,e){let r=String(e||"").trim();if(!r)return null;let n=await Gw(t),s=tlt(n.find(i=>i?.id===r));return rlt(s)}async function _M(t,e={}){let r=XCr(e.name,e.serverId);return r||(e.serverId?zw(t,e.serverId):null)}async function mIr(t,e){return await Oce(t.server),{}}async function hIr(t,e){if((await Oce(t.server)).length===0)return{class:[],filters:{}};let n=[];for(let s of Object.values(Ou))n.push({type_id:sm(s.name,"/",s.id),type_name:s.name});return{class:n,filters:{}}}async function gIr(t,e){let r=await zw(t.server,t.params?.serverId);return r?{class:[{type_id:sm(r.name,"/",r.id),type_name:r.name}],filters:{}}:{class:[],filters:{}}}async function nlt(t,e){await Vw(t.server);let r=t.body.id,n=Math.max(1,parseInt(t.body.page||1,10)),{serverId:s,name:i,path:a}=bM(r),o=await _M(t.server,{name:i,serverId:s});if(!o)return{page:n,pagecount:n,list:[]};let c=o.id||s;try{let u=await Zut(o,a,n),l=u.content||[],d=[];for(let h of l){let A=a.replace(/\/?$/,"/")+h.name;if(h.is_dir){let g=sm(o.name,A,c);d.push({vod_id:g,vod_name:h.name,vod_pic:h.thumb||Vut,vod_remarks:"",vod_tag:"folder",cate:{id:g,name:h.name}})}else xM(h.name)&&d.push({vod_id:sm(o.name,A,c),vod_name:h.name,vod_pic:h.thumb||zut,vod_remarks:Nce(h.size),vod_tag:"file"})}let f=u.total||d.length,p=u.per_page||f,m=p>0?Math.ceil(f/p):1;return{page:n,pagecount:m,list:d}}catch(u){return console.error("[alist-video] category failed:",u.message),{page:n,pagecount:n,list:[]}}}async function AIr(t,e){let r=String(t.params?.serverId||"").trim(),n=await zw(t.server,r);if(!n){let a=Math.max(1,parseInt(t.body?.page||1,10));return{page:a,pagecount:a,list:[]}}let s=String(t.body?.id||"").trim(),i=s?bM(s):{path:"/"};return t.body={...t.body||{},id:sm(n.name,i.path||"/",n.id)},nlt(t,e)}async function Hut(t,e,r=3,n=0){if(n>=r)return[];try{let i=(await EM(t,"/api/fs/list",{path:e,page:1,per_page:500,refresh:!1})).content||[],a=[],o=[],c=[];for(let u of i){let l=e.replace(/\/?$/,"/")+u.name;u.is_dir?c.push({name:u.name,path:l}):xM(u.name)?a.push({name:u.name,path:l,size:u.size}):Yut(u.name)&&o.push({name:u.name,path:l})}return{videos:a,subtitles:o,subfolders:c}}catch{return{videos:[],subtitles:[],subfolders:[]}}}async function Qut(t,e){await Vw(t.server);let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){if(!s)continue;let{serverId:i,name:a,path:o}=bM(s),c=await _M(t.server,{name:a,serverId:i});if(!c)continue;let u=c.id||i;try{let l=await yM(c,o),d=l.is_dir;if(!d&&xM(l.name)){n.push({vod_id:s,vod_name:l.name,vod_pic:l.thumb||"",vod_content:`\u5927\u5C0F: ${Nce(l.size)}`,vod_play_from:"Alist",vod_play_url:`${l.name}$${s}`});continue}if(d){let f=await Hut(c,o),p=[],m=[];f.videos.length>0&&(p.push("\u5F53\u524D\u76EE\u5F55"),m.push(f.videos.map(h=>`${h.name}$${sm(c.name,h.path,u)}`).join("#")));for(let h of f.subfolders){let A=await Hut(c,h.path);A.videos.length>0&&(p.push(h.name),m.push(A.videos.map(g=>`${g.name}$${sm(c.name,g.path,u)}`).join("#")))}p.length===0?n.push({vod_id:s,vod_name:l.name||o.split("/").filter(Boolean).pop()||"Alist",vod_pic:l.thumb||"",vod_content:"\u8BE5\u76EE\u5F55\u4E0B\u6CA1\u6709\u89C6\u9891\u6587\u4EF6",vod_play_from:"",vod_play_url:""}):n.push({vod_id:s,vod_name:l.name||o.split("/").filter(Boolean).pop()||"Alist",vod_pic:l.thumb||"",vod_content:`\u5171 ${p.reduce((h,A,g)=>h+m[g].split("#").length,0)} \u4E2A\u89C6\u9891`,vod_play_from:p.join("$$$"),vod_play_url:m.join("$$$")})}}catch(l){console.error("[alist-video] detail failed:",s,l.message)}}return{list:n}}async function Gut(t,e){await Vw(t.server);let r=t.body?.id||"",{serverId:n,name:s,path:i}=bM(r),a=await _M(t.server,{name:s,serverId:n});if(!a)return{parse:0,url:"",header:{}};let o=a.id||n;try{let c=await yM(a,i),u=c.raw_url;if(!u)return{parse:0,url:"",header:{}};let l={parse:0,url:u,header:{}};if(c.provider==="AliyundriveOpen"||c.provider==="AliyundriveShare2Open")l.header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Referer:"https://www.alipan.com/"};else if(nIr(c))if(l.header=cIr(),c.sign){let m=await AM(a),h=await elt(a,i,c.sign,m,t);h?l.url=h:l.url=jut(t,a.name,i,o)}else l.url=jut(t,a.name,i,o);let d=i.substring(0,i.lastIndexOf("/")+1),f=i.substring(i.lastIndexOf("/")+1),p=f.substring(0,f.lastIndexOf("."));try{let h=((await Zut(a,d)).content||[]).filter(A=>Yut(A.name)&&A.name.includes(p)).slice(0,3);if(h.length>0){let A=[];for(let g of h)try{let b=await yM(a,d+g.name);b.raw_url&&A.push(b.raw_url)}catch{}A.length>0&&(l.subt=A[0])}}catch{}return l}catch(c){return console.error("[alist-video] play failed:",c.message),{parse:0,url:"",header:{}}}}async function slt(t,e){let r=(t.body?.wd||"").trim(),n=Math.max(1,parseInt(t.body?.page||1,10));if(!r)return{page:n,pagecount:n,list:[]};let s=[];for(let i of e)try{let o=(await dIr(i,r)).content||[];for(let c of o)if(c.is_dir||xM(c.name)){let l=fIr(String(c.parent||"/")).replace(/\/?$/,"/")+c.name,d=sm(i.name,l,i.id);s.push({vod_id:d,vod_name:c.name,vod_pic:c.thumb||(c.is_dir?Vut:zut),vod_remarks:c.is_dir?"":Nce(c.size),...c.is_dir?{cate:{id:d,name:c.name}}:{}})}}catch{}return{page:n,pagecount:n,list:s}}async function yIr(t,e){return await Vw(t.server),slt(t,Object.values(Ou))}async function xIr(t,e){return await zw(t.server,t.params?.serverId),{}}async function bIr(t,e){let r=await zw(t.server,t.params?.serverId);return slt(t,r?[r]:[])}var ilt={meta:{key:"alist-video",name:"Alist",type:3,hidden:!0},api:async t=>{t.post("/init",mIr),t.post("/home",hIr),t.post("/category",nlt),t.post("/detail",Qut),t.post("/search",yIr),t.post("/play",Gut),t.get("/proxy/:id/:file",lIr),t.post("/server/:serverId/init",xIr),t.post("/server/:serverId/home",gIr),t.post("/server/:serverId/category",AIr),t.post("/server/:serverId/detail",Qut),t.post("/server/:serverId/search",bIr),t.post("/server/:serverId/play",Gut)}};var Kw=async t=>(await t.db.getObjectDefault("/sites",{}))?.list||t.config.sites.list,EIr=async(t,e)=>{await t.db.push("/sites/list",e)},_Ir=async t=>{await t.db.delete("/sites/list")};async function Pce(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await Kw(e.server)})}),t.put("/list",async(e,r)=>{await EIr(e.server,e.body.list),r.send({code:0})}),t.delete("/list",async(e,r)=>{await _Ir(e.server),r.send({code:0})})}var alt="\u5185\u7F6E\u5F39\u5E55",SIr=9321;function ult(t){return String(t||"").split(",")[0].trim()}function olt(t){return ult(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function clt(t){let e=String(t||"").trim().toLowerCase().split(":")[0];return e==="localhost"||e==="127.0.0.1"||e==="0.0.0.0"||e==="::1"}function vIr(t,e=null){let r=String(t?.address?.()?.url||"").trim(),s=olt(e?.headers?.["x-forwarded-host"])||olt(e?.headers?.host),i=ult(e?.headers?.["x-forwarded-proto"]),a=r.startsWith("https://")?"https":"http",o=i||String(e?.protocol||"").trim()||a;if(s&&!clt(s))return`${o}://${s}`;let c=String(D0()||"").trim(),u=Number.parseInt(String(t?.address?.()?.port||""),10);return c&&!clt(c)?Number.isFinite(u)&&u>0?`${o}://${c}:${u}`:`${o}://${c}`:r}function llt(t,e,r=null){if(!e||typeof e!="object"||!Array.isArray(e.urls))return e;let n=vIr(t,r),s=iae(n,SIr),i=e.urls.map(a=>{if(!a||typeof a!="object")return a;let o=String(a.name||"").trim();return a.builtin===!0||o===alt?{...a,builtin:!0,name:o||alt,address:s}:a});return{...e,urls:i}}var SM=async(t,e=null)=>{let n=await t.db.getObjectDefault("/danmu")||t.config.danmu;return llt(t,n,e)},CIr=async(t,e,r=null)=>{await t.db.push("/danmu",llt(t,e,r))},IIr=async t=>{await t.db.delete("/danmu")},TIr=3,Dce=(t,e=TIr)=>{messageToDart({action:"toast",opt:{message:t,duration:e}})},wIr=t=>{try{let e=new URL(t);return e.searchParams.set("format","json"),e.toString()}catch{return null}},RIr=t=>Array.isArray(t?.comments)?t.comments.length:Array.isArray(t)?t.length:0;async function kce(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await SM(e.server,e)})}),t.put("/setting",async(e,r)=>{await CIr(e.server,e.body,e),r.send({code:0})}),t.delete("/setting",async(e,r)=>{await IIr(e.server),r.send({code:0})}),t.post("/push",async(e,r)=>{let n=e.body||{},s=n.url,i=n.sourceName||"\u5F39\u5E55\u6E90",a=n.previewUrl||wIr(s);if(!s){r.code(400).send({code:1,message:"Missing push url"});return}a&&(async()=>{try{let o=await Ae.get(a,{timeout:1e4}),c=RIr(o.data);c>0?Dce(`\u901A\u8FC7 ${i} - \u89E3\u6790\u5230 ${c} \u6761\u5F39\u5E55`):Dce("\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~")}catch(o){console.error("Manual danmu preview failed:",o),Dce("\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~")}})(),messageToDart({action:"danmuPush",opt:{url:s}}),r.send({code:0})}),t.get("/fe",(e,r)=>{r.type("text/html").send(`
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>\u5F39\u5E55\u641C\u7D22</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://lib.baomitu.com/antd/5.25.0/reset.min.css"> </head>
<body>
<div id="app"></div>
<script crossorigin src="https://lib.baomitu.com/react/18.2.0/umd/react.production.min.js"></script>
<script crossorigin src="https://lib.baomitu.com/react-dom/18.2.0/umd/react-dom.production.min.js"></script>
<script crossorigin src="https://lib.baomitu.com/axios/0.26.0/axios.min.js"></script>
<script crossorigin src="https://lib.baomitu.com/dayjs/1.10.8/dayjs.min.js"></script>
<script crossorigin src="https://lib.baomitu.com/antd/5.25.0/antd.min.js"></script>
<script>${globalThis.danmuBundle}</script>
</body>
</html>
`)})}var Blt=Re(Jn(),1),Mlt=Re(Cv(),1),sue=Re(nC(),1);var Lce=["\u7F8E\u5267","\u97E9\u5267","\u65E5\u5267","\u53F0\u5267","\u6E2F\u5267","\u6E2F\u53F0\u5267","\u56FD\u4EA7\u5267","\u5927\u9646\u5267","\u5185\u5730\u5267","\u6CF0\u5267","\u82F1\u5267","\u7F8E\u5267\u7248","\u82F1\u5267\u7248","\u65E5\u5267\u7248","\u97E9\u5267\u7248","\u53F0\u5267\u7248","\u6E2F\u5267\u7248","\u6CF0\u5267\u7248","\u5F71\u540E","\u5F71\u5E1D","\u56FD\u5267","\u5FAE\u77ED\u5267","\u77ED\u5267","\u7535\u5F71","\u5267\u96C6","\u7EFC\u827A","\u72AF\u7F6A","\u52A8\u6F2B","\u52A8\u753B","\u7EAA\u5F55\u7247","\u77ED\u7247","\u8FDE\u7EED\u5267","\u7CFB\u5217\u5267","\u7F51\u7EDC\u5267","\u7535\u89C6\u5267"],NIr=["\u5F71\u7247","\u7247\u5B50","\u7247\u82B1","\u7247\u6BB5","\u9884\u544A","\u9884\u544A\u7247","\u82B1\u7D6E","\u5E55\u540E","\u8BBF\u8C08","\u7279\u522B\u7BC7","\u756A\u5916\u7BC7","OVA","OAD","SP","TV\u7248","\u5267\u573A\u7248","\u7535\u5F71\u7248","\u5F71\u7248","\u5267\u7248","\u56FD\u8BED\u7248","\u666E\u901A\u8BDD\u7248","\u7CA4\u8BED\u7248","\u95FD\u5357\u8BED\u7248","\u5BA2\u5BB6\u8BED\u7248","\u5434\u8BED\u7248","\u5DDD\u8BED\u7248","\u6E58\u8BED\u7248","\u8D63\u8BED\u7248","\u7CA4\u8BED\u914D\u97F3\u7248","\u56FD\u8BED\u914D\u97F3\u7248","\u666E\u901A\u8BDD\u914D\u97F3\u7248","\u65B9\u8A00\u7248","\u539F\u7248\u914D\u97F3","\u539F\u97F3\u7248","\u53F0\u8BED\u7248","\u7CA4\u8BED\u4E2D\u5B57\u7248","\u56FD\u8BED\u4E2D\u5B57\u7248","\u666E\u901A\u8BDD\u4E2D\u5B57\u7248","\u7CA4\u8BED\u539F\u58F0\u7248","\u56FD\u8BED\u539F\u58F0\u7248","\u666E\u901A\u8BDD\u539F\u58F0\u7248","\u7CA4\u8BED\u5185\u5D4C\u5B57\u5E55\u7248","\u56FD\u8BED\u5185\u5D4C\u5B57\u5E55\u7248","\u666E\u901A\u8BDD\u5185\u5D4C\u5B57\u5E55\u7248","\u52A8\u753B\u7248","\u771F\u4EBA\u7248","\u6539\u7F16\u7248","\u91CD\u5236\u7248","\u4FEE\u590D\u7248","\u52A0\u957F\u7248","\u672A\u5220\u51CF\u7248","\u5B8C\u6574\u7248","\u5BFC\u6F14\u526A\u8F91\u7248","\u7EC8\u6781\u7248","\u7279\u522B\u7248","\u9650\u5B9A\u7248","\u6536\u85CF\u7248","\u8C6A\u534E\u7248","\u5178\u85CF\u7248","\u9AD8\u6E05\u7248","\u8D85\u6E05\u7248","\u6807\u6E05\u7248","HD\u7248","UHD\u7248","4K\u7248","\u84DD\u5149\u7248","DVD\u7248","BD\u7248","WEB\u7248","TVrip","BDrip","DVDrip","HDrip","WEB-DL","HDTV","DVDRip","BRRip","HDRip","BluRay","TS","TC","CAM","\u62A2\u5148\u7248","\u67AA\u7248","\u5077\u62CD\u7248","\u6CC4\u9732\u7248","\u62A2\u5148\u770B","\u6B63\u7247","\u6B63\u7247\u7247\u6BB5","\u6B63\u7247\u7CBE\u534E","\u82B1\u7D6E\u96C6\u9526","\u5E55\u540E\u82B1\u7D6E","\u5236\u4F5C\u7279\u8F91","\u8BBF\u8C08\u5F55","\u9996\u6620\u793C","\u7EA2\u6BEF\u79C0","\u8DEF\u6F14","\u53D1\u5E03\u4F1A","\u9884\u544A\u7247\u5408\u96C6","\u9884\u544A\u7247\u82B1\u7D6E","\u7247\u82B1\u9884\u544A","\u7CBE\u5F69\u7247\u6BB5","\u7CBE\u5F69\u96C6\u9526","\u7CBE\u9009\u7247\u6BB5","\u9AD8\u80FD\u7247\u6BB5","\u9AD8\u5149\u65F6\u523B","\u526A\u8F91\u7248","\u6DF7\u526A","MV","\u4E3B\u9898\u66F2","\u63D2\u66F2","\u7247\u5C3E\u66F2","\u914D\u4E50","\u539F\u58F0","OST","\u539F\u58F0\u5E26","\u539F\u58F0\u5927\u789F","\u97F3\u4E50\u96C6","\u97F3\u4E50\u4F1A","\u6F14\u5531","Live","Live\u7248","\u73B0\u573A\u7248","\u73B0\u573A\u5F55\u5236","\u821E\u53F0\u7248","\u821E\u53F0\u5267","\u8BDD\u5267","\u6B4C\u5267","\u821E\u5267","\u620F\u66F2","\u4EAC\u5267","\u8D8A\u5267","\u7CA4\u5267","\u8BC4\u5267","\u9EC4\u6885\u620F","\u4E8C\u4EBA\u8F6C","\u76F8\u58F0","\u5C0F\u54C1","\u7EFC\u827A\u79C0","\u771F\u4EBA\u79C0","\u8131\u53E3\u79C0","\u8BBF\u8C08\u8282\u76EE","\u7EAA\u5F55\u7247\u7CFB\u5217","\u4E13\u9898\u7247","\u79D1\u6559\u7247","\u52A8\u753B\u7247","\u52A8\u6F2B\u7247","\u52A8\u753B\u77ED\u7247","\u52A8\u753B\u7535\u5F71","\u52A8\u753B\u7CFB\u5217","\u52A8\u753B\u5267\u96C6","\u52A8\u753B\u8FDE\u7EED\u5267","\u52A8\u753BOVA","\u52A8\u753BOAD","\u52A8\u753BSP","\u52A8\u753B\u7279\u5178","\u52A8\u753B\u5408\u96C6","\u52A8\u753B\u7CBE\u9009","\u7535\u5F71\u5408\u96C6","\u5F71\u7247\u5408\u96C6","\u7CFB\u5217\u5408\u96C6","\u5408\u96C6\u7248","\u5957\u88C5\u7248","\u5957\u88C5\u5408\u96C6","\u5168\u96C6","\u5168\u7CFB\u5217","\u5168\u5B63","\u7B2C\u4E00\u5B63","\u7B2C\u4E8C\u5B63","\u7B2C\u4E09\u5B63","\u7B2C\u56DB\u5B63","\u7B2C\u4E94\u5B63","\u7B2C\u516D\u5B63","\u7B2C\u4E03\u5B63","\u7B2C\u516B\u5B63","\u7B2C\u4E5D\u5B63","\u7B2C\u5341\u5B63","\u66F4\u65B0\u4E2D","\u5B8C\u7ED3","\u5B8C\u7ED3\u7BC7","\u5B8C\u7ED3\u5B63","\u6700\u7EC8\u5B63","\u6700\u7EC8\u7AE0","\u7EC8\u7AE0","\u7EC8\u7BC7","\u5927\u7ED3\u5C40","\u5927\u7D50\u5C40","\u7279\u522B\u7BC7\u5B8C\u7ED3","\u756A\u5916\u5B8C\u7ED3","OVA\u5B8C\u7ED3","OAD\u5B8C\u7ED3","SP\u5B8C\u7ED3","\u5168\u5267\u7EC8","\u5B8C\u7ED3\u6492\u82B1","\u5B8C\u7ED3\u7EAA\u5FF5","\u5B8C\u7ED3\u7279\u8F91","\u5B8C\u7ED3\u8BBF\u8C08","\u5B8C\u7ED3\u82B1\u7D6E","\u5B8C\u7ED3\u5408\u96C6","\u5B8C\u7ED3\u7BC7\u5408\u96C6","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6","\u5B8C\u7ED3\u7279\u8F91\u5408\u96C6","\u5B8C\u7ED3\u8BBF\u8C08\u5408\u96C6","\u5B8C\u7ED3\u82B1\u7D6E\u5408\u96C6","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91","\u5B8C\u7ED3\u7EAA\u5FF5\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u7279\u8F91","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u8BBF\u8C08\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u7279\u8F91\u8BBF\u8C08\u82B1\u7D6E","BD","BDRIP","WEB-DL","HDRip","DVDRip","BDRip","BRRip","Rip","BluRay","IMAX","CAM","HD","HDR","UHD","4K","1080p","720p","2160p","480p","120fps","60fps","x264","x265","H264","HEVC","AAC","dts","ddp","truehd","10bit","8bit","5.1","7.1","\u56FD\u8BED","\u7CA4\u8BED","\u82F1\u8BED","\u65E5\u8BED","\u97E9\u8BED","\u6CF0\u8BED","\u6CD5\u8BED","\u5FB7\u8BED","\u897F\u73ED\u7259\u8BED","\u4FC4\u8BED","\u8461\u8404\u7259\u8BED","\u610F\u5927\u5229\u8BED","\u81FB\u5F69","\u4E2D\u5B57","\u7B80\u4E2D","\u7E41\u4E2D","\u7B80\u7E41\u4E2D\u5B57","\u4E2D\u82F1\u53CC\u5B57","\u5185\u5D4C","\u5185\u5C01","\u675C\u6BD4\u5168\u666F\u58F0","\u675C\u6BD4\u97F3\u6548","\u65E0\u6C34\u5370","\u5B8C\u6574\u7248","\u539F\u58F0\u7248","\u89E3\u8BF4\u7248","\u9884\u544A\u7247","\u672A\u5220\u51CF\u7248","\u52A0\u957F\u7248","\u84DD\u5149","\u62A2\u5148\u7248","TC\u7248","\u62A2\u5148","TC","\u4E24\u5B63\u5168","\u5168\u5B63","\u5168\u96C6","DV","\u538B\u5236","HQ","\u5E27","\u7535\u5F71\u7248","\u8C46\u74E3","\u66F4\u65B0","\u66F4\u65B0\u5230","\u63A8\u8350","\u52A8\u4F5C","\u5192\u9669","\u7231\u60C5","\u79D1\u5E7B","\u60AC\u7591","\u60CA\u609A","\u6050\u6016","\u559C\u5267","\u60B2\u5267","\u5267\u60C5","\u5947\u5E7B","\u72AF\u7F6A","\u6218\u4E89","\u5386\u53F2","\u4F20\u8BB0","\u97F3\u4E50","\u6B4C\u821E","\u5BB6\u5EAD","\u513F\u7AE5","\u4F53\u80B2","\u707E\u96BE","\u4F26\u7406","\u77ED\u7247","\u5FAE\u7535\u5F71","\u9AD8\u6E05","\u8D85\u6E05","\u6807\u6E05","\u62A2\u9C9C\u770B","\u9996\u64AD","\u72EC\u64AD","\u70ED\u64AD","\u8FDE\u8F7D\u4E2D","\u6700\u65B0","\u7ECF\u5178","\u70ED\u95E8","\u83B7\u5956","\u53E3\u7891","\u597D\u8BC4","\u9AD8\u5206","\u8C46\u74E3\u9AD8\u5206","IMDb\u9AD8\u5206","\u672A\u5206\u7EA7","\u9650\u5236\u7EA7","\u5BFC\u6F14\u526A\u8F91","\u52A0\u957F","\u7279\u522B\u52A0\u957F","\u7EC8\u6781\u526A\u8F91","\u6536\u85CF","\u8C6A\u534E","\u7EAA\u5FF5","\u9650\u5B9A","\u91CD\u6620","\u4FEE\u590D","\u6570\u7801\u4FEE\u590D","\u91CD\u5236","\u84DD\u5149\u4FEE\u590D","\u91CD\u5236\u9AD8\u6E05","\u9AD8\u6E05\u91CD\u5236","\u91CD\u7F16","\u91CD\u526A","\u914D\u97F3","\u8BD1\u5236","\u539F\u58F0","\u53CC\u8BED","\u591A\u8BED","\u591A\u58F0\u9053","\u73AF\u7ED5\u58F0","\u5168\u666F\u58F0","3D","VR","\u5168\u666F","360\u5EA6","8K","\u539F\u753B","\u65E0\u635F","\u6709\u635F","\u538B\u7F29","\u672A\u538B\u7F29","\u9AD8\u7801\u7387","\u4F4E\u7801\u7387","\u91CD\u7F16\u7801","\u591A\u5B57\u5E55","\u591A\u97F3\u8F68","\u53CC\u97F3\u8F68","\u591A\u7248\u672C","\u5408\u96C6","\u5957\u88C5","\u7CFB\u5217","\u5B8C\u7ED3\u7248","\u6700\u7EC8\u5B63","\u6700\u7EC8\u7AE0","\u7EC8\u7AE0","\u5927\u7ED3\u5C40","\u7279\u522B\u7BC7","\u756A\u5916\u7BC7","OVA","OAD","SP","\u5267\u573A\u7248","\u7535\u5F71\u7248","\u5F71\u7248","\u5267\u7248","\u52A8\u753B\u7248","\u771F\u4EBA\u7248","\u6539\u7F16\u7248","\u539F\u521B","\u884D\u751F","\u756A\u5916","\u7EED\u96C6","\u524D\u4F20","\u540E\u4F20","\u91CD\u542F","\u7FFB\u62CD","\u91CD\u62CD","\u81F4\u656C","\u7EAA\u5FF5","\u732E\u793C","\u8D3A\u5C81","\u6691\u671F\u6863","\u56FD\u5E86\u6863","\u8D3A\u5C81\u6863","\u6625\u8282\u6863","\u60C5\u4EBA\u8282\u6863","\u4E2D\u79CB\u6863","\u6863\u671F","\u4E0A\u6620","\u5B9A\u6863","\u9996\u6620","\u516C\u6620","\u4E0A\u6620\u65F6\u95F4","\u4E0A\u6620\u65E5\u671F","\u7968\u623F","\u7968\u623F\u51A0\u519B","\u7968\u623F\u699C","\u53E3\u7891\u699C","\u8BC4\u5206\u699C","\u6392\u884C\u699C","\u699C\u5355","\u699C\u5355\u7B2C\u4E00","\u70ED\u95E8\u699C","\u70ED\u641C","\u70ED\u8BAE","\u8BDD\u9898","\u70ED\u8BAE\u8BDD\u9898","\u70ED\u95E8\u8BDD\u9898","\u8BA8\u8BBA\u5EA6","\u5173\u6CE8\u5EA6","\u70ED\u5EA6","\u70ED\u5EA6\u699C","\u70ED\u95E8\u63A8\u8350","\u7CBE\u9009","\u529B\u8350","\u5F3A\u70C8\u63A8\u8350","\u5FC5\u770B","\u4E0D\u53EF\u9519\u8FC7","\u7ECF\u5178\u4E4B\u4F5C","\u795E\u4F5C","\u4F73\u4F5C","\u9AD8\u5206\u4F73\u4F5C","\u9AD8\u5206\u795E\u4F5C","\u70C2\u7247","\u5DEE\u8BC4","\u4F4E\u5206","\u53E3\u7891\u7206\u68DA","\u53E3\u7891\u6251\u8857","\u53E3\u7891\u4E24\u6781","\u53E3\u7891\u5206\u5316","\u4E89\u8BAE","\u70ED\u8BAE\u4E0D\u65AD","\u5907\u53D7\u5173\u6CE8","\u4E07\u4F17\u671F\u5F85","\u671F\u5F85\u5DF2\u4E45","\u4E07\u4F17\u77A9\u76EE","\u5E74\u5EA6\u6700\u4F73","\u5E74\u5EA6\u6700\u5DEE","\u5E74\u5EA6\u4E4B\u4F5C","\u5E74\u5EA6\u9ED1\u9A6C","\u5E74\u5EA6\u60CA\u559C","\u5E74\u5EA6\u5931\u671B","\u538B\u8F74\u4E4B\u4F5C","\u6536\u5B98\u4E4B\u4F5C","\u6536\u5B98","\u6536\u5B98\u5B63","\u6536\u5B98\u6218","\u5927\u7ED3\u5C40\u524D\u7BC7","\u5927\u7ED3\u5C40\u540E\u7BC7","\u6700\u7EC8\u56DE","\u6700\u7EC8\u8BDD","\u6700\u7EC8\u7AE0\u524D\u7BC7","\u6700\u7EC8\u7AE0\u540E\u7BC7"],OIr=[...Lce,...NIr],dlt=new RegExp(OIr.join("|"),"ig"),PIr=new RegExp(Lce.join("|"),"ig");function sA(t){if(!t||!t.trim())return"";let e=t.trim();e=e.replace(/丨/g,""),e=e.replace(/-/g," "),e=e.replace(PIr,""),e=e.replace(/\s+/g," ").trim();let r=e.match(/^[\u4e00-\u9fa5]+\d+(?=:|\s|$)/);if(r)return r[0];let n=e.match(/^[\u4e00-\u9fa5]+[\u4e00-\u9fa50-9]+\s*(?=\(\d{4}\))/);if(n)return n[0];let s=e.match(/^[\u4e00-\u9fa5]+[\u4e00-\u9fa5 ,.,。、]+\s*(?=\(|【|\s+\d{4})/),i=s?s[0].trim():"",a=!1,o=e.match(/《(.+?)》/);if(o)e=o[1],a=!0;else{let l=new RegExp(`\u3010((?!${Lce.join("|")})[\u4E00-\u9FA5]{2,}[^/]+?)\u3011`,"i"),d=e.match(l);d&&(e=d[1],a=!0)}!a&&i&&(e=i);let c=[[/.*-/g,""],[/\b\d{4}\b/g,""],[/(?<!^)\[.*?\]|\{.*?\}|(.*?)|「.*?」/g," "],[/\b\d+(\.\d+)?[GMK]B?\b/gi,""],[dlt,""],[/豆瓣\d+(\.\d+)?/g,""],[/\b\d+(?=fps|帧)/g,""],[/\b[a-zA-Z]\b/g,""],[/(?<![\u4e00-\u9fa5])\b\d+\b(?![\u4e00-\u9fa5])/g,""],[/[^a-zA-Z0-9\u4e00-\u9fa5 ]/g,""],[/\s+/g," "]];for(let l of c)e=e.replace(l[0],l[1]);e=e.trim(),e.includes(" ")&&(e=e.substring(0,e.indexOf(" "))),!a&&i&&(e=e.replace(/\s/g,""));let u=t.match(/([\u4e00-\u9fa5]{2,})\s*$/);if(u){let l=u[1];(e.length<2||/\d+集/.test(e))&&(e=l)}if(!e){let l=t.match(/\[(.*?)\]/);l&&(e=l[1].trim(),e=e.replace(dlt,"").replace(/\d+/g,"").replace(/\s+/g," ").trim())}return e.trim()}function Bce(t){if(!t)return"";let e=t.match(/(?:^|[^a-zA-Z0-9])(S|Season)\s*(\d+)/i);if(e&&(e[1].toLowerCase()==="s"||e[1].toLowerCase()==="season"))return e[2].padStart(2,"0");let r=t.match(/第\s*([一二三四五六七八九十百千万亿\d]+)\s*å­£/);return r?Jf(r[1]).padStart(2,"0"):""}var flt={\u96F6:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9},plt={\u5341:10,\u767E:100,\u5343:1e3,\u4E07:1e4,\u4EBF:1e8};function mlt(t){if(!t)return-1;let e=0,r=0,n=0,s=!1;for(let i=0;i<t.length;i++){let a=t[i];if(flt.hasOwnProperty(a))n=flt[a];else if(plt.hasOwnProperty(a)){let o=plt[a];o===10?(n===0&&(n=1),r+=n*o,n=0):o===1e4||o===1e8?(r+=n,e+=r*o,r=0,n=0,s=!0):(r+=(n||1)*o,n=0)}else return-1}return s||(e+=r),e+=n,t.startsWith("\u5341")&&e<20&&(e=10+e%10),e}function Jf(t){return t&&t.replace(/([零一二三四五六七八九十百千万亿]+)|(\d+)/g,(e,r,n)=>{if(r){let s=mlt(r);return s!==-1?String(s):e}else if(n)return String(parseInt(n,10));return e})}function DIr(t){let e=t;return e=e.replace(/[(()[\]【】{}]\s*([上中下])\s*[)()[\]【】{}]/g,"$1"),e=e.replace(/(\[|\{|\(|【).*?(\]|\}|)|】)/g," "),e=e.replace(/\d+\s*(fps|帧|frames?|hz|赫兹)/gi," "),e=e.replace(/\b(\d+(p|k|i)|4k|8k|uhd|hd|fhd|qhd|2160p|1440p|1080p|720p|480p|360p)\b/gi," "),e=e.replace(/\b(19|20)\d{2}\b/g," "),e=e.replace(/\b(?:dts|ddp|aac|ac3|eac3|truehd|atmos)\d+(?:\.\d+)?\b|\b\d+\.\d+\b/gi," "),e=e.replace(/\b(8bit|10bit|12bit)\b/gi," "),e=e.replace(/\b(hdr|hdr10|hdr10\+|dolby vision|dv|hlg)\b/gi," "),e=e.replace(/\b(x264|x265|h\.264|h\.265|h264|h265|hevc|mpeg4|av1|vp9)\b/gi," "),e=e.replace(/\b(web-dl|bluray|bdrip|hdrip|dvdrip|brrip|hdtv|dvdr|cam|ts|tc|r5|scr)\b/gi," "),e=e.replace(/\b(hq|sd|hd|fhd|uhd|imax|superbit|remux|extended|uncut|directors cut|dc|special edition|se)\b/gi," "),e=e.replace(/\b(é«˜ç |é«˜ç çŽ‡|é«˜ç ç‰ˆ|超清|高清|æ ‡æ¸…|æ— æ°´å°|完整版|æœªåˆ å‡|åŠ é•¿ç‰ˆ|导演剪辑版|特效字幕|内嵌字幕|双语字幕|中文字幕|英文字幕|繁体字幕|简体字幕|多音轨|杜比音效|全景声|hdr)\b/gi," "),e=e.replace(/[\-\_.,()]+/g," "),e.replace(/\s+/g," ").trim()}function kIr(t){let e=t.replace(/(\[|\{|\(|【).*?(\]|\}|)|】)/g," ");if(/s\d+e\d+/i.test(e))return"-1";let r=e.match(/[\u4e00-\u9fa5\-\_\.\s]+(0*\d{1,8})(?:[\-\_\.\s]|$)/);if(r){let n=r[1],s=parseInt(n,10);if(s>0&&!(s>=1900&&s<=2100))return Jf(n)}if(r=e.trim().match(/^0*\d{1,8}$/),r){let n=r[0],s=parseInt(n,10);if(s>0&&!(s>=1900&&s<=2100))return Jf(n)}return"-1"}function LIr(t){let e="\u671F|\u5B63",r="\u4E0A\u4E2D\u4E0B",n="\u96C6\u8A71\u8BDD",s=new RegExp(`(\u7B2C?)(0*(d{1,8}|[\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u767E\u5343\u4E07\u4EBF]+))((?:${e})[${r}]?[\uFF08(]?[${r}]?[)\uFF09]?)`),i=t.match(s);if(i){let o=i[1],c=i[2],u=i[4].replace(/[(())]/g,"");return c=Jf(c),o+c+u}let a=Array.from(t.matchAll(/(?:s\d+.*?e|e)(\d{1,8})(?!\d)/gi));if(a.length>0)return Jf(a[a.length-1][1]);if(s=new RegExp(`\u7B2C([\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u767E\u5343\u4E07\u4EBF]+)[${n}]`),i=t.match(s),i){let o=mlt(i[1]);return o>0?String(o):"-1"}return s=new RegExp(`\u7B2C(d{1,8})[${n}]`),i=t.match(s),i||(i=t.match(/ep(\d{1,8})/i),i)||(s=new RegExp(`(d{1,8})[${n}]`),i=t.match(s),i)?Jf(i[1]):"-1"}function BIr(t){let e="a-zA-Z\xC0-\u017F",r=new RegExp(`(?<![${e}d])0*(\\d{1,8})(?![${e}d])`,"gu"),n=t.match(r);if(n)for(let s of n){let i=parseInt(s,10);if(!(i>=1900&&i<=2100))return Jf(s)}return"-1"}function Yw(t){if(!t)return"-1";let e=t,r=e.lastIndexOf(".");r>0&&(e=e.substring(0,r));let n=DIr(e),s=LIr(n);if(s!=="-1")return s;let i=kIr(e);return i!=="-1"?i:BIr(n)}var Mce=async t=>(await t.db.getObjectDefault("/t4",{}))?.list||t.config.t4?.list||[],MIr=async(t,e)=>{await t.db.push("/t4/list",e)},WIr=async t=>{await t.db.delete("/t4/list")};async function Wce(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await Mce(e.server)})}),t.put("/list",async(e,r)=>{await MIr(e.server,e.body),r.send({code:0})}),t.delete("/list",async(e,r)=>{await WIr(e.server),r.send({code:0})})}function $ce(t,e){let r=Ae.create({baseURL:e});function n(){return{}}async function s(){try{let{data:u}=await r.get("",{params:{filter:!0}});return u}catch(u){return console.warn(u),{class:[]}}}async function i(u){try{let{data:l}=await r.get("",{params:{ac:"detail",t:u.body.id,pg:u.body.page||1}});return l}catch(l){console.warn(l)}}async function a(u){try{let{data:l}=await r.get("",{params:{ac:"detail",ids:u.body.id}});return l}catch(l){console.warn(l)}}async function o(u){try{let{data:l}=await r.get("",{params:{play:u.body.id,flag:u.body.flag}});return!l.url&&!l.urls&&u.body.id.startsWith("http")?{url:u.body.id}:l}catch(l){console.warn(l)}}async function c(u){try{let{data:l}=await r.get("",{params:{ac:"list",wd:u.body.wd}});return l}catch(l){console.warn(l)}}return{meta:{key:t,name:t,type:3,t4:!0},api:async u=>{u.post("/init",n),u.post("/home",s),u.post("/category",i),u.post("/detail",a),u.post("/play",o),u.post("/search",c)}}}var $Ir=["/api.php/provide/vod/","/api.php/provide/vod","/api.php/app/","/api.php/app"],vM="\u300C\u91C7\u300D",FIr=[{name:`${vM}\u7535\u5F71\u5929\u5802`,address:"http://dyttzyw.com/api.php/provide/vod/"}];function Uce(t,e="https"){let r=String(t||"").trim();return r?/^https?:\/\//i.test(r)?r:`${e}://${r}`:""}function qce(t){try{return new URL(t)}catch{return null}}function UIr(t=""){let e=String(t||"").toLowerCase();return e==="localhost"||e.includes(".")||e.includes(":")||/^\d{1,3}(?:\.\d{1,3}){3}$/.test(e)}function qIr(t){for(let e of["ac","wd","t","pg","ids","quick"])t.searchParams.delete(e);return t.hash="",t}function glt(t){let e=String(t||"").trim(),r=/^https?:\/\//i.test(e),n=qce(Uce(e));return!n||!["http:","https:"].includes(n.protocol)||!r&&!UIr(n.hostname)?"":(qIr(n),n.toString())}function jIr(t={},e=""){let r=String(t.name||t.title||e||"").trim();return r||qce(Uce(t.address||t.api||t.url||""))?.hostname||"CMS"}function HIr(t){let e=String(t||"").trim();return e?e.startsWith(vM)?e:`${vM}${e}`:`${vM}CMS`}function jce(t,e=""){if(!t||typeof t!="object")return null;let r=String(t.address||t.api||t.url||"").trim(),n=glt(r);return n?{name:HIr(jIr({...t,address:n},e)),address:n}:null}function Alt(t){if(typeof t=="string")try{return Alt(JSON.parse(t))}catch{return[]}return Array.isArray(t)?t:!t||typeof t!="object"?[]:Array.isArray(t.sites)?t.sites:Array.isArray(t.list)?t.list:t.api_site&&typeof t.api_site=="object"?Object.entries(t.api_site).map(([e,r])=>({...r,key:e})):[]}function QIr(t){let e=new Set;return Alt(t).map(r=>jce(r,r?.key)).filter(r=>!r||e.has(r.address)?!1:(e.add(r.address),!0))}function GIr(t){let e=String(t||"").trim(),r=[],n=s=>{let i=glt(s);i&&!r.includes(i)&&r.push(i)};for(let s of["https","http"]){let i=qce(Uce(e,s));if(!i)continue;if(n(i.toString()),!i.pathname||i.pathname==="/")for(let o of $Ir)n(`${i.origin}${o}`)}return r}async function hlt(t,e=void 0){let r=await he.get(t,{params:e,timeout:1e4,validateStatus:n=>n>=200&&n<400});if(typeof r.data=="string")try{return JSON.parse(r.data)}catch{return r.data}return r.data}function VIr(t){return!!t&&typeof t=="object"&&Array.isArray(t.class)}async function zIr(t,e=""){let r=String(t||"").trim();if(!r)throw new Error("\u8BF7\u8F93\u5165 CMS \u5730\u5740");let n=GIr(r);for(let s of n)try{let i=await hlt(s),a=QIr(i);if(a.length>0)return{type:"config",sources:a}}catch{}for(let s of n)try{let i=await hlt(s,{ac:"class"});if(VIr(i))return{type:"cms",sources:[jce({name:e,address:s})].filter(Boolean)}}catch{}throw new Error("\u672A\u8BC6\u522B\u5230\u53EF\u7528\u7684 CMS \u6E90")}function Fce(t=[]){let e=new Set;return(Array.isArray(t)?t:[]).map(r=>jce(r)).filter(r=>!r||e.has(r.address)?!1:(e.add(r.address),!0))}var Hce=async t=>{let e=await t.db.getObjectDefault("/cms",{});if(e&&Object.prototype.hasOwnProperty.call(e,"list"))return Fce(e.list);let r=Array.isArray(t.config.cms?.list)?t.config.cms.list:[];return Fce(r.length>0?r:FIr)},KIr=async(t,e)=>{await t.db.push("/cms/list",Fce(e))},YIr=async t=>{await t.db.delete("/cms/list")};async function Qce(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await Hce(e.server)})}),t.put("/list",async(e,r)=>{await KIr(e.server,e.body),r.send({code:0})}),t.post("/resolve",async(e,r)=>{try{r.send({code:0,data:await zIr(e.body?.url,e.body?.name)})}catch(n){r.send({code:-1,message:n.message||"CMS \u89E3\u6790\u5931\u8D25"})}}),t.delete("/list",async(e,r)=>{await YIr(e.server),r.send({code:0})})}var JIr=/\.(m3u8|mp4|mkv|flv|avi|webm|mov)(?:[?#]|$)/i,Gce="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0 Safari/537.36";function XIr(t=""){return/^https?:\/\//i.test(String(t||"").trim())}function ZIr(t=""){return JIr.test(String(t||"").trim())}function eTr(t="",e=""){try{return new URL(String(t||"").trim(),e).toString()}catch{return String(t||"").trim()}}function tTr(t=""){let e=[/["']([^"']+\.m3u8(?:\?[^"']*)?)["']/i,/(https?:\/\/[^\s"'<>]+\.m3u8(?:\?[^\s"'<>]*)?)/i];for(let r of e){let n=r.exec(String(t||""));if(n?.[1])return n[1].replace(/\\\//g,"/")}return""}function Vce(t,e){let r=he.create({baseURL:e});function n(){return{}}async function s(){try{let{data:u}=await r.get("",{params:{ac:"class"}});return u}catch(u){return console.warn(u),{class:[]}}}async function i(u){try{let{data:l}=await r.get("",{params:{ac:"detail",t:u.body.id,pg:u.body.page||1}});return l}catch(l){console.warn(l)}}async function a(u){try{let{data:l}=await r.get("",{params:{ac:"detail",ids:u.body.id}});return l}catch(l){console.warn(l)}}async function o(u){let l=String(u.body.id||"").trim();if(!l)return{url:""};if(!XIr(l)||ZIr(l))return{parse:0,url:l};try{let{data:d}=await he.get(l,{timeout:1e4,headers:{"User-Agent":Gce,Referer:l}}),f=tTr(d);if(f)return{parse:0,url:eTr(f,l),header:{Referer:l,"User-Agent":Gce}}}catch(d){console.warn(d)}return{parse:1,url:l,header:{Referer:l,"User-Agent":Gce}}}async function c(u){try{let{data:l}=await r.get("",{params:{ac:"list",wd:u.body.wd}});return l}catch(l){console.warn(l)}}return{meta:{key:t,name:t,type:3,cms:!0},api:async u=>{u.post("/init",n),u.post("/home",s),u.post("/category",i),u.post("/detail",a),u.post("/play",o),u.post("/search",c)}}}var iA={HOME:0,CATEGORY:0,SEARCH:0,DETAIL:12e4,PLAY:3e4,SPIDERS:0},zce=class{constructor(e=800){this.max=Math.max(100,Number(e)||800),this.data=new Map,this.pending=new Map}get(e){if(!this.data.has(e))return;let r=this.data.get(e);if(r.expireAt>0&&r.expireAt<=Date.now()){this.data.delete(e);return}return this.data.delete(e),this.data.set(e,r),r.value}set(e,r,n=0){let s=n>0?Date.now()+n:0;return this.data.has(e)&&this.data.delete(e),this.data.set(e,{value:r,expireAt:s}),this.compact(),r}delete(e){this.pending.delete(e),this.data.delete(e)}clear(){this.pending.clear(),this.data.clear()}compact(){for(;this.data.size>this.max;){let e=this.data.keys().next().value;this.data.delete(e)}}async wrap(e,r,n){let s=this.get(e);if(s!==void 0)return s;if(this.pending.has(e))return this.pending.get(e);let i=(async()=>{try{let a=await n();return a!==void 0&&this.set(e,a,r),a}finally{this.pending.delete(e)}})();return this.pending.set(e,i),i}};function CM(t={}){return new zce(t.max||800)}async function Xf(t,e,r,n){return!t||typeof t.wrap!="function"||Number(r)<=0?n():t.wrap(e,r,n)}function im(t=[]){return t.map(e=>String(e)).join(":")}function rTr(t){let e=String(t||"").trim().replace(/\/+$/,""),r=e.match(/^\/spider\/([^/]+)\/(\d+)(?:\/.*)?$/);return r?{apiBase:e,spiderKey:decodeURIComponent(r[1]),spiderType:Number(r[2])}:null}function Kce(t){return String(t||"").split(",")[0].trim()}function IM(t=null){let r=Kce(t?.headers?.["x-forwarded-host"])||Kce(t?.headers?.host);if(!r)return{headers:void 0,cacheVary:"-"};let s=Kce(t?.headers?.["x-forwarded-proto"])||String(t?.protocol||"http").trim()||"http";return{headers:{host:r,"x-forwarded-host":r,"x-forwarded-proto":s},cacheVary:`${s}://${r}`}}function nTr(t=[],e=[]){let r={};if(t.forEach(i=>{r[i.key]=i}),!Array.isArray(e)||!e.length)return t;let n={},s=[];return e.forEach(i=>{n[i.key]=!0;let a=r[i.key];if(!a||!i.enable)return;let o=typeof i.name=="string"?i.name.trim():"";s.push({...a,name:o||a.name})}),t.forEach(i=>{n[i.key]||s.push(i)}),s}async function Xl(t){let e=t.embyContext?.cache;return Xf(e,"emby:enabled-video-spiders:v2",iA.SPIDERS,async()=>{let r=await t.inject({method:"GET",url:"/full-config"});if(r.statusCode>=400)return[];let n=r.json(),s=Array.isArray(n?.video?.sites)?n.video.sites:[],i=await Kw(t).catch(()=>[]),a=nTr(s,i),o={},c=[];return a.forEach(u=>{let l=rTr(u.api);if(!l||l.spiderType!==3)return;let d=`${u.key}:${l.apiBase}`;o[d]||(o[d]=!0,c.push({siteKey:u.key,siteName:u.name||l.spiderKey,spiderKey:l.spiderKey,spiderType:l.spiderType,apiBase:l.apiBase,api:u.api}))}),c})}function aA(t=[],e,r=null,n=""){let s=r===null?null:Number(r),i=String(n||"").trim();return t.find(a=>a.spiderKey!==e?!1:s===null?!0:i&&a.apiBase!==i?!1:Number(a.spiderType)===s)||null}async function oA(t,e,r,n,s={},i={}){let a=i?.headers&&typeof i.headers=="object"?i.headers:void 0,o=String(i?.apiBase||"").trim()||`/spider/${encodeURIComponent(e)}/${r}`,c=await t.inject({method:"POST",url:`${o.replace(/\/+$/,"")}/${n}`,payload:s,headers:a});if(c.statusCode>=400)throw new Error(`Spider call failed: ${e}/${r}/${n} ${c.statusCode}`);let u=t.embyContext?.config?.requestLog;try{let l=c.json();if(u&&(n==="detail"||n==="play")){if(n==="detail"){let d=Array.isArray(l?.list)&&l.list.length>0?l.list[0]:null,f=String(d?.vod_play_from||""),p=String(d?.vod_play_url||""),m=f?f.split("$$$").filter(Boolean).length:0,h=p?p.split("$$$").map(A=>String(A||"").split("#").filter(Boolean).length):[];console.log("[Emby Spider] detail:",JSON.stringify({spiderKey:e,spiderType:r,request:{id:String(s?.id||"")},response:{listCount:Array.isArray(l?.list)?l.list.length:0,vodId:String(d?.vod_id||""),vodName:String(d?.vod_name||""),vodRemarks:String(d?.vod_remarks||""),lineCount:m,episodeCountPerLine:h.slice(0,10)}}))}else if(n==="play"){let d=l?.header&&typeof l.header=="object"?Object.keys(l.header):[];console.log("[Emby Spider] play:",JSON.stringify({spiderKey:e,spiderType:r,request:{flag:String(s?.flag||""),idPreview:String(s?.id||"").slice(0,80)},response:{parse:Number(l?.parse||0),hasUrl:!!l?.url,urlPreview:String(l?.url||"").slice(0,120),headerKeys:d}}))}}return l}catch{return{}}}async function Jw(t,e,r=null){let n=t.embyContext?.cache,s=IM(r),i=im(["emby","home",e.spiderKey,e.spiderType,e.apiBase||"",s.cacheVary]);return Xf(n,i,iA.HOME,()=>oA(t,e.spiderKey,e.spiderType,"home",{},{headers:s.headers,apiBase:e.apiBase}))}async function NE(t,e,r,n=1,s={},i=null){let a=t.embyContext?.cache,o=IM(i),c=im(["emby","category",e.spiderKey,e.spiderType,e.apiBase||"",r,n,JSON.stringify(s||{}),o.cacheVary]);return Xf(a,c,iA.CATEGORY,()=>oA(t,e.spiderKey,e.spiderType,"category",{id:r,page:n,filter:!0,filters:s||{}},{headers:o.headers,apiBase:e.apiBase}))}async function Oc(t,e,r,n=null){let s=t.embyContext?.cache,i=IM(n),a=im(["emby","detail",e.spiderKey,e.spiderType,e.apiBase||"",r,i.cacheVary]);return Xf(s,a,iA.DETAIL,()=>oA(t,e.spiderKey,e.spiderType,"detail",{id:r},{headers:i.headers,apiBase:e.apiBase}))}async function ylt(t,e,r,n=1){let s=t.embyContext?.cache,i=im(["emby","search",e.spiderKey,e.spiderType,e.apiBase||"",r,n]);return Xf(s,i,iA.SEARCH,()=>oA(t,e.spiderKey,e.spiderType,"search",{wd:r,page:n},{apiBase:e.apiBase}))}async function am(t,e,r,n,s=null){let i=t.embyContext?.cache,a=IM(s),o=im(["emby","play",e.spiderKey,e.spiderType,e.apiBase||"",r,n,a.cacheVary]);return Xf(i,o,iA.PLAY,()=>oA(t,e.spiderKey,e.spiderType,"play",{flag:r,id:n},{headers:a.headers,apiBase:e.apiBase}))}function Pc(t){return!t||!Array.isArray(t.list)||!t.list.length?null:t.list[0]}function Zl(t={}){return{spiderKey:String(t.k||t.spiderKey||""),spiderType:Number(t.t||t.spiderType||3),apiBase:String(t.a||t.apiBase||"")}}var Yce=Re(require("node:fs"),1),Xw=Re(require("node:path"),1),sTr=()=>{try{return`const appConfig = {\r
_webSite: '',\r
/**\r
* \u7F51\u7AD9\u4E3B\u9875\uFF0Cuz \u8C03\u7528\u6BCF\u4E2A\u51FD\u6570\u524D\u90FD\u4F1A\u8FDB\u884C\u8D4B\u503C\u64CD\u4F5C\r
* \u5982\u679C\u4E0D\u60F3\u88AB\u6539\u53D8 \u8BF7\u81EA\u5B9A\u4E49\u4E00\u4E2A\u53D8\u91CF\r
*/\r
get webSite() {\r
return this._webSite\r
},\r
set webSite(value) {\r
this._webSite = value\r
},\r
\r
_uzTag: '',\r
/**\r
* \u6269\u5C55\u6807\u8BC6\uFF0C\u521D\u6B21\u52A0\u8F7D\u65F6\uFF0Cuz \u4F1A\u81EA\u52A8\u8D4B\u503C\uFF0C\u8BF7\u52FF\u4FEE\u6539\r
* \u7528\u4E8E\u8BFB\u53D6\u73AF\u5883\u53D8\u91CF\r
*/\r
get uzTag() {\r
return this._uzTag\r
},\r
set uzTag(value) {\r
this._uzTag = value\r
},\r
}\r
\r
// \u7F13\u5B58\u7B5B\u9009\u6570\u636E\r
let cachedFilters = {}\r
// \u7F13\u5B58\u63A8\u8350\u5217\u8868\r
let cachedHomeList = []\r
\r
const encodeBase64Utf8 = (text) => {\r
if (typeof Buffer !== 'undefined') {\r
return Buffer.from(text, 'utf-8').toString('base64')\r
}\r
\r
if (typeof btoa !== 'undefined') {\r
const binary = encodeURIComponent(text).replace(/%([0-9A-F]{2})/g, (_match, hex) => {\r
return String.fromCharCode(parseInt(hex, 16))\r
})\r
return btoa(binary)\r
}\r
\r
return text\r
}\r
\r
const isDoubanSource = () => {\r
const webSite = String(appConfig.webSite || '').toLowerCase()\r
return webSite.indexOf('/video/douban') !== -1 || webSite.indexOf('/api/douban') !== -1\r
}\r
\r
/**\r
* \u8F6C\u6362\u56FE\u7247URL\u683C\u5F0F\r
* \u4ECE @Referer=...@User-Agent=... \u683C\u5F0F\u8F6C\u6362\u4E3A #headers#{...} JSON\u683C\u5F0F\r
* @param {string} url - \u539F\u59CB\u56FE\u7247URL\r
* @returns {string} - \u8F6C\u6362\u540E\u7684URL\r
*/\r
const convertImageUrl = (url) => {\r
if (!url || typeof url !== 'string') return url\r
\r
// \u5DF2\u7ECF\u662F\u6B63\u786E\u683C\u5F0F\uFF0C\u76F4\u63A5\u8FD4\u56DE\r
if (url.indexOf('#headers#') !== -1) {\r
return url\r
}\r
\r
// \u5904\u7406\u8C46\u74E3\u56FE\u7247\r
if (url.indexOf('doubanio.com') !== -1) {\r
// \u5148\u53BB\u9664\u65E7\u7684 @Referer=...@User-Agent=... \u683C\u5F0F\r
const baseUrl = url.split('@')[0].replace(/^http:/, 'https:')\r
const headers = {\r
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36',\r
'Referer': 'https://movie.douban.com/'\r
}\r
return baseUrl + '#headers#' + JSON.stringify(headers)\r
}\r
\r
// \u68C0\u67E5\u662F\u5426\u5305\u542B @Referer= \u548C @User-Agent=\r
if (url.indexOf('@Referer=') === -1 && url.indexOf('@User-Agent=') === -1) {\r
return url\r
}\r
\r
try {\r
// \u5206\u5272URL\u548Cheaders\u90E8\u5206\r
const parts = url.split('@')\r
const baseUrl = parts[0]\r
const headers = {}\r
\r
// \u89E3\u6790headers\r
for (let i = 1; i < parts.length; i++) {\r
const part = parts[i]\r
const equalIndex = part.indexOf('=')\r
if (equalIndex !== -1) {\r
const key = part.substring(0, equalIndex)\r
const value = part.substring(equalIndex + 1)\r
headers[key] = value\r
}\r
}\r
\r
// \u5982\u679C\u6709headers\uFF0C\u8F6C\u6362\u4E3AJSON\u683C\u5F0F\r
if (Object.keys(headers).length > 0) {\r
return baseUrl + '#headers#' + JSON.stringify(headers)\r
}\r
\r
return baseUrl\r
} catch (error) {\r
// \u5982\u679C\u89E3\u6790\u5931\u8D25\uFF0C\u8FD4\u56DE\u539F\u59CBURL\r
return url\r
}\r
}\r
\r
/**\r
* \u5904\u7406\u89C6\u9891\u6570\u636E\uFF0C\u8F6C\u6362\u56FE\u7247URL\u683C\u5F0F\r
* @param {Array|Object} data - \u89C6\u9891\u6570\u636E\r
* @returns {Array|Object} - \u5904\u7406\u540E\u7684\u6570\u636E\r
*/\r
const processVideoData = (data) => {\r
if (!data) return data\r
\r
if (Array.isArray(data)) {\r
return data.map(item => processVideoData(item))\r
}\r
\r
if (typeof data === 'object') {\r
const processed = { ...data }\r
if (processed.vod_pic) {\r
processed.vod_pic = convertImageUrl(processed.vod_pic)\r
}\r
// \u8C46\u74E3\u6E90\u8DF3\u8F6C\u641C\u7D22\u800C\u4E0D\u662F\u8FDB\u5165\u8BE6\u60C5\r
if (isDoubanSource()) {\r
processed.goSearch = true\r
}\r
return processed\r
}\r
\r
return data\r
}\r
\r
const fetch = async (params) => {\r
let p = ''\r
if (params) {\r
const tmp = []\r
for (let key in params) {\r
tmp.push(\`\${key}=\${encodeURIComponent(params[key])}\`)\r
}\r
p = \`&\${tmp.join('&')}\`\r
}\r
const res = await req(\`\${appConfig.webSite}\${p}\`)\r
return res.data\r
}\r
\r
/**\r
* \u5F02\u6B65\u83B7\u53D6\u5206\u7C7B\u5217\u8868\u7684\u65B9\u6CD5\u3002\r
* @param {UZArgs} args\r
* @returns {@Promise<JSON.stringify(new RepVideoClassList())>}\r
*/\r
async function getClassList(args) {\r
var backData = new RepVideoClassList()\r
try {\r
const ret = await fetch()\r
\r
// \u7F13\u5B58\u7B5B\u9009\u6570\u636E\r
if (ret.filters) {\r
cachedFilters = ret.filters\r
}\r
\r
// \u7F13\u5B58\u63A8\u8350\u5217\u8868\r
if (ret.list && Array.isArray(ret.list)) {\r
cachedHomeList = ret.list\r
}\r
\r
// \u5904\u7406\u5206\u7C7B\u5217\u8868\uFF0C\u6807\u8BB0\u54EA\u4E9B\u6709\u7B5B\u9009\r
if (ret.class && Array.isArray(ret.class)) {\r
const classList = ret.class.map(item => {\r
const hasFilter = ret.filters && ret.filters[item.type_id] && ret.filters[item.type_id].length > 0\r
return {\r
type_id: item.type_id,\r
type_name: item.type_name,\r
hasSubclass: hasFilter\r
}\r
})\r
// \u5728\u524D\u9762\u6DFB\u52A0\u63A8\u8350\u5206\u7C7B\r
if (cachedHomeList.length > 0) {\r
classList.unshift({\r
type_id: 'home_recommend',\r
type_name: '\u63A8\u8350',\r
hasSubclass: false\r
})\r
}\r
backData.data = classList\r
} else {\r
backData.data = ret.class\r
}\r
} catch (error) {\r
backData.error = error.toString()\r
}\r
return JSON.stringify(backData)\r
}\r
\r
/**\r
* \u83B7\u53D6\u4E8C\u7EA7\u5206\u7C7B\u5217\u8868\u7B5B\u9009\u5217\u8868\u7684\u65B9\u6CD5\u3002\r
* @param {UZArgs} args\r
* @returns {@Promise<JSON.stringify(new RepVideoSubclassList())>}\r
*/\r
async function getSubclassList(args) {\r
var backData = new RepVideoSubclassList()\r
try {\r
const typeId = args.url\r
\r
// \u4ECE\u7F13\u5B58\u4E2D\u83B7\u53D6\u8BE5\u5206\u7C7B\u7684\u7B5B\u9009\u6570\u636E\r
if (cachedFilters && cachedFilters[typeId]) {\r
const filters = cachedFilters[typeId]\r
\r
// \u8F6C\u6362\u7B5B\u9009\u6570\u636E\u683C\u5F0F\r
// API\u683C\u5F0F: {key: 'year', name: '\u5E74\u4EFD', value: [{n: '\u5168\u90E8', v: 0}, ...]}\r
// uz\u683C\u5F0F: {name: '\u5E74\u4EFD', list: [{name: '\u5168\u90E8', id: '0', key: 'year'}, ...]}\r
backData.data.filter = filters.map(filterGroup => {\r
return {\r
name: filterGroup.name,\r
list: filterGroup.value.map(item => {\r
return {\r
name: item.n,\r
id: String(item.v),\r
key: filterGroup.key\r
}\r
})\r
}\r
})\r
}\r
} catch (error) {\r
backData.error = error.toString()\r
}\r
return JSON.stringify(backData)\r
}\r
\r
/**\r
* \u83B7\u53D6\u5206\u7C7B\u89C6\u9891\u5217\u8868\r
* @param {UZArgs} args\r
* @returns {@Promise<JSON.stringify(new RepVideoList())>}\r
*/\r
async function getVideoList(args) {\r
var backData = new RepVideoList()\r
try {\r
// \u5982\u679C\u662F\u63A8\u8350\u5206\u7C7B\uFF0C\u8FD4\u56DE\u7F13\u5B58\u7684\u63A8\u8350\u5217\u8868\r
if (args.url === 'home_recommend') {\r
// \u63A8\u8350\u53EA\u6709\u7B2C\u4E00\u9875\uFF0C\u907F\u514D\u91CD\u590D\u52A0\u8F7D\r
if (args.page > 1) {\r
backData.data = []\r
} else {\r
backData.data = processVideoData(cachedHomeList)\r
}\r
return JSON.stringify(backData)\r
}\r
\r
const ret = await fetch({\r
ac: 'detail',\r
t: args.url,\r
pg: args.page,\r
})\r
backData.data = processVideoData(ret.list)\r
} catch (error) {\r
backData.error = error.toString()\r
}\r
return JSON.stringify(backData)\r
}\r
\r
/**\r
* \u83B7\u53D6\u4E8C\u7EA7\u5206\u7C7B\u89C6\u9891\u5217\u8868 \u6216 \u7B5B\u9009\u89C6\u9891\u5217\u8868\r
* @param {UZSubclassVideoListArgs} args\r
* @returns {@Promise<JSON.stringify(new RepVideoList())>}\r
*/\r
async function getSubclassVideoList(args) {\r
var backData = new RepVideoList()\r
try {\r
// \u6784\u5EFA\u57FA\u7840\u8BF7\u6C42\u53C2\u6570\r
const params = {\r
ac: 'detail',\r
t: args.mainClassId,\r
pg: args.page || 1,\r
}\r
\r
// \u5904\u7406\u7B5B\u9009\u53C2\u6570 - \u53C2\u8003\u74DC\u5B50APP.js\u7684\u5B9E\u73B0\r
if (args.filter && Array.isArray(args.filter) && args.filter.length > 0) {\r
// \u6784\u5EFA\u7B5B\u9009\u53C2\u6570\u5BF9\u8C61\r
const filterObj = {}\r
args.filter.forEach(filterItem => {\r
// filterItem \u5305\u542B: {name, id, key}\r
// key \u662F\u7B5B\u9009\u7C7B\u578B\uFF08\u5982 'year', 'area', 'sort'\uFF09\r
// id \u662F\u9009\u4E2D\u7684\u503C\r
if (filterItem.key && filterItem.id) {\r
filterObj[filterItem.key] = filterItem.id\r
}\r
})\r
\r
// \u5C06\u7B5B\u9009\u53C2\u6570\u8F6C\u6362\u4E3A base64 \u7F16\u7801\u7684 JSON \u5B57\u7B26\u4E32\r
// \u4F7F\u7528 UZUtils \u6216\u8005\u539F\u751F\u65B9\u6CD5\u8FDB\u884C base64 \u7F16\u7801\r
try {\r
const filterJson = JSON.stringify(filterObj)\r
params.ext = encodeBase64Utf8(filterJson)\r
} catch (e) {\r
// \u7F16\u7801\u5931\u8D25\uFF0C\u5FFD\u7565\u7B5B\u9009\u53C2\u6570\r
console.error('\u7B5B\u9009\u53C2\u6570\u7F16\u7801\u5931\u8D25:', e)\r
}\r
}\r
\r
// \u53D1\u8D77\u8BF7\u6C42\r
const ret = await fetch(params)\r
backData.data = processVideoData(ret.list)\r
} catch (error) {\r
backData.error = error.toString()\r
}\r
return JSON.stringify(backData)\r
}\r
\r
/**\r
* \u83B7\u53D6\u89C6\u9891\u8BE6\u60C5\r
* @param {UZArgs} args\r
* @returns {@Promise<JSON.stringify(new RepVideoDetail())>}\r
*/\r
async function getVideoDetail(args) {\r
var backData = new RepVideoDetail()\r
try {\r
const ret = await fetch({\r
ac: 'detail',\r
ids: args.url,\r
})\r
if (ret.list && ret.list.length > 0) {\r
backData.data = processVideoData(ret.list[0])\r
}\r
} catch (error) {\r
backData.error = error.toString()\r
}\r
return JSON.stringify(backData)\r
}\r
\r
/**\r
* \u83B7\u53D6\u89C6\u9891\u7684\u64AD\u653E\u5730\u5740\r
* @param {UZArgs} args\r
* @returns {@Promise<JSON.stringify(new RepVideoPlayUrl())>}\r
*/\r
async function getVideoPlayUrl(args) {\r
var backData = new RepVideoPlayUrl()\r
try {\r
const ret = await fetch({\r
flag: args.flag,\r
play: args.url,\r
})\r
const flag = args.flag\r
\r
if (ret.jx === 1 || ret.parse === 1) {\r
// \u5F53\u9700\u8981\u89E3\u6790\u65F6\uFF0C\u4F7F\u7528\u55C5\u63A2\u6A21\u5F0F\r
backData.sniffer = {\r
url: ret.url || args.url,\r
ua: ret.header?.['User-Agent'] || 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36',\r
}\r
// \u5982\u679C\u6709header\u4FE1\u606F\uFF0C\u4F20\u9012\u7ED9\u64AD\u653E\u5668\r
if (ret.header) {\r
backData.headers = ret.header\r
}\r
} else {\r
// \u83B7\u53D6\u97F3\u9891URL\uFF08\u5982\u679C\u5B58\u5728\uFF09\r
const audioUrl = ret.extra && ret.extra.audio ? ret.extra.audio : null\r
\r
if (Array.isArray(ret.url)) {\r
const nameMap = {\r
RAW: {\r
name: '\u539F\u753B',\r
priority: flag == 'quark' ? 0 : 9999,\r
},\r
'4k': {\r
name: '4k',\r
priority: 3000,\r
},\r
super: {\r
name: '\u8D85\u6E05',\r
priority: 2000,\r
},\r
high: {\r
name: '\u9AD8\u6E05',\r
priority: 1000,\r
},\r
low: {\r
name: '\u6D41\u7545',\r
priority: 100,\r
},\r
//\r
QHD: { name: '\u8D85\u6E05', priority: 4000 },\r
FHD: { name: '\u9AD8\u6E05', priority: 3000 },\r
HD: { name: '\u6807\u6E05', priority: 2000 },\r
SD: { name: '\u666E\u753B', priority: 1000 },\r
LD: { name: '\u6781\u901F', priority: 100 },\r
//\r
FOUR_K: { name: '4K', priority: 4000 },\r
SUPER: { name: '\u8D85\u6E05', priority: 3000 },\r
HIGH: { name: '\u9AD8\u6E05', priority: 2000 },\r
NORMAL: { name: '\u6D41\u7545', priority: 1000 },\r
}\r
let urls = ret.url.reduce((acc, curr, index, array) => {\r
if (index % 2 === 0) {\r
if (curr.startsWith('\u4EE3\u7406')) {\r
return acc\r
}\r
const urlItem = {\r
name: nameMap[curr]?.name ?? curr,\r
url: array[index + 1],\r
header: ret.header,\r
priority: nameMap[curr]?.priority ?? 0,\r
}\r
// \u5982\u679C\u6709\u97F3\u9891URL\uFF0C\u6DFB\u52A0\u5230\u6BCF\u4E2A\u753B\u8D28\u9009\u9879\u4E2D\r
if (audioUrl) {\r
urlItem.audioUrl = audioUrl\r
}\r
acc.push(urlItem)\r
}\r
return acc\r
}, [])\r
backData.urls = urls\r
backData.data = urls[0]?.url || ''\r
} else {\r
// \u5355\u4E2AURL\u7684\u60C5\u51B5\uFF0C\u4E5F\u6784\u5EFAurls\u6570\u7EC4\r
const urlItem = {\r
name: '\u9ED8\u8BA4',\r
url: ret.url,\r
header: ret.header,\r
priority: 0,\r
}\r
// \u5982\u679C\u6709\u97F3\u9891URL\uFF0C\u6DFB\u52A0\u5230urlItem\u4E2D\r
if (audioUrl) {\r
urlItem.audioUrl = audioUrl\r
}\r
backData.urls = [urlItem]\r
backData.data = ret.url || ''\r
}\r
if (ret.header) backData.headers = ret.header\r
\r
// \u540C\u65F6\u5728\u9876\u5C42\u4E5F\u6DFB\u52A0audioUrl\uFF08\u517C\u5BB9\u6027\uFF09\r
if (audioUrl) {\r
backData.audioUrl = audioUrl\r
}\r
}\r
} catch (error) {\r
backData.error = error.toString()\r
}\r
return JSON.stringify(backData)\r
}\r
\r
/**\r
* \u641C\u7D22\u89C6\u9891\r
* @param {UZArgs} args\r
* @returns {@Promise<JSON.stringify(new RepVideoList())>}\r
*/\r
async function searchVideo(args) {\r
var backData = new RepVideoList()\r
try {\r
const ret = await fetch({\r
wd: args.searchWord,\r
pg: args.page,\r
})\r
backData.data = processVideoData(ret.list)\r
} catch (error) {\r
backData.error = error.toString()\r
}\r
return JSON.stringify(backData)\r
}\r
`}catch{return""}},xlt=t=>{let e=String(t||"").trim();return e.toLowerCase().endsWith(".js")?e.slice(0,-3):e},blt=(t,e={})=>{let r=Object.entries(e).filter(([,n])=>n!=null&&n!=="").map(([n,s])=>`${encodeURIComponent(n)}=${encodeURIComponent(String(s))}`).join("&");return r?`${t}${t.includes("?")?"&":"?"}${r}`:t},Elt=(t,e,r={})=>blt(`${t}/api/${encodeURIComponent(e)}`,{filter:!0,...r}),_lt=(t,e,r={})=>blt(`${t}/uz.js`,{...r,key:e}),iTr=()=>{let t=[Xw.default.resolve(process.cwd(),"src/assets/uz.js"),Xw.default.resolve(process.cwd(),"nodejs/src/assets/uz.js"),Xw.default.resolve(process.cwd(),"dist/assets/uz.js"),Xw.default.resolve(process.cwd(),"nodejs/dist/assets/uz.js")],e=t.find(r=>Yce.default.existsSync(r));if(!e)throw new Error(`uz.js asset not found: ${t.join(", ")}`);return e},Slt=()=>sTr()||Yce.default.readFileSync(iTr(),"utf8"),vlt=t=>({vod:t.map(e=>({key:e.module,name:e.name,api:e.scriptUrl,webSite:e.t4ApiUrl,version:1,type:101}))});var aTr=new Set(["0","false","no","off"]),TM=()=>({username:process.env.CATPAW_DIST_AUTH_USER||"CatPawPlay",password:process.env.CATPAW_DIST_AUTH_PASS||"CatPawPlay"}),wM=()=>{let t=String(process.env.CATPAW_DIST_AUTH||"").trim().toLowerCase();return!aTr.has(t)},Zw=(t,e={})=>{let r=e.includePrefix!==!1,s=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||String(t.headers?.host||"").split(",")[0].trim(),a=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||String(t.protocol||"").trim()||(t.socket?.encrypted?"https":"http"),o=r?String(t.server?.prefix||"").replace(/\/$/,""):"";if(s)return`${a}://${s}${o}`;let c=t.server?.address?.();return c?.url?`${String(c.url).replace(/\/$/,"")}${o}`:c?.port?`http://127.0.0.1:${c.port}${o}`:o||""},e2=(t,e,r=null)=>{if(!t)return e;let n=new URL(e,t);return(r?.username||r?.password)&&(n.username=r.username||"",n.password=r.password||""),n.toString()};var PE="/spider",oTr=new Set([".cjs",".mjs",".js"]),Wlt=/^[a-z0-9_-]{2,32}$/,$lt=new Set(["http:","https:"]),s2="nodejs_",Flt="__catpawProfile",cTr=new Set([Flt,"server","embyPlayback"]),uTr=[{url:"/index.js",fileName:"index.js",contentType:"application/javascript; charset=utf-8"},{url:"/index.js.md5",fileName:"index.js.md5",md5Source:"index.js",contentType:"text/plain; charset=utf-8"},{url:"/index.config.js",fileName:"index.config.js",contentType:"application/javascript; charset=utf-8"},{url:"/index.config.js.md5",fileName:"index.config.js.md5",md5Source:"index.config.js",contentType:"text/plain; charset=utf-8"}],t2={key:"",expireAt:0,spiders:[]},om={key:"",promise:null},Clt=new Map,lTr=t=>({...t.query&&typeof t.query=="object"?t.query:{},...t.body&&typeof t.body=="object"?t.body:{}}),Jce=(t,e=!1)=>{if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["1","true","yes","on"].includes(r)?!0:["0","false","no","off"].includes(r)?!1:e},dTr=(t,e={})=>{if(t==null||t==="")return e;if(typeof t=="object")return t;try{let r=Buffer.from(String(t),"base64").toString("utf8");return JSON.parse(r)}catch{try{return JSON.parse(String(t))}catch{return e}}},fTr=t=>{let e={},n=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||String(t.headers?.host||"").split(",")[0].trim(),i=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||String(t.protocol||"").trim();return n&&(e.host=n,e["x-forwarded-host"]=n),i&&(e["x-forwarded-proto"]=i),Object.keys(e).length>0?e:void 0},pTr=t=>{let e=String(t||"").trim().replace(/\/+$/,""),r=e.match(/^\/spider\/([^/]+)\/(\d+)(?:\/.*)?$/);return r?{spiderKey:decodeURIComponent(r[1]),spiderType:Number(r[2]),apiBase:e}:null},mTr=t=>{let e=String(t||"").trim();return e.toLowerCase().startsWith(s2)?e.slice(s2.length):e},Ult=(t,e,r)=>{!r||Number(r.spiderType)!==3||e.map(n=>String(n||"").trim()).filter(Boolean).forEach(n=>{t.set(n.toLowerCase(),r)})},hTr=t=>{let e=new Map;return t.forEach(r=>{let n=String(r?.meta?.key||"").trim(),s=Number(r?.meta?.type||0);if(!n||s!==3||r?.meta?.hidden)return;let i={spiderKey:n,spiderType:s,apiBase:`${PE}/${encodeURIComponent(n)}/${s}`};Ult(e,[n,`${s2}${n}`],i)}),e},Ilt=(t,e)=>{let r=String(e||"").trim();if(!r)return null;let n=r.toLowerCase(),s=n.startsWith(s2)?n.slice(s2.length):n;return t.get(n)||t.get(s)||null},gTr=t=>{let[e,r]=String(t||"").split(/\s+/,2);if(e?.toLowerCase()!=="basic"||!r)return null;let n="";try{n=Buffer.from(r,"base64").toString("utf8")}catch{return null}let s=n.indexOf(":");return s<0?null:{username:n.slice(0,s),password:n.slice(s+1)}},ATr=(t,e)=>{let r=gTr(t.headers?.authorization),n=TM();return r?.username===n.username&&r?.password===n.password?!0:(e.code(401).header("WWW-Authenticate",'Basic realm="CatPaw dist"').send("Authentication required"),!1)},yTr=t=>Ms.default.resolve(process.cwd(),"dist",t),qlt=t=>Object.prototype.toString.call(t)==="[object Object]",rue=(t,e={})=>{try{return JSON.parse(JSON.stringify(t??e))}catch{return e}},xTr=t=>JSON.stringify(t,null,2).replace(/^(\s*)"([A-Za-z_$][\w$]*)":/gm,"$1$2:"),bTr=async t=>{try{let e=await t.getData("/");return qlt(e)?e:{}}catch{return{}}},ETr=t=>{let e={};return Object.entries(qlt(t)?t:{}).forEach(([r,n])=>{cTr.has(r)||(e[r]=rue(n,n))}),e},_Tr=async({db:t,config:e})=>{let r=await bTr(t),n=ETr(r),s={...rue(e,{}),...rue(n,{})};return delete s.server,Object.keys(n).length>0&&(s[Flt]=n),["var index_config = {"," server: {}, //\u8FD9\u91CC\u4E0D\u8981\u52A8\uFF0C\u52A0\u7A7A\u683C\u90FD\u4E0D\u884C\uFF0C\u540E\u53F0\u81EA\u52A8\u751F\u6210",xTr(s).replace(/^\{\n?/,"").replace(/\n?\}$/,""),"};",'if (typeof module !== "undefined" && module.exports) module.exports = index_config;',""].join(`
`)},STr=async(t,e,r)=>(t.md5Source||t.fileName)!=="index.config.js"?e:Buffer.from(await _Tr(r),"utf8"),vTr=async(t,e,r,n)=>{if(ATr(e,r))try{let s=t.md5Source||t.fileName,i=await OE.default.readFile(yTr(s)),a=await STr(t,i,n),o=t.md5Source?(0,PM.createHash)("md5").update(a).digest("hex"):a;r.header("Content-Type",t.contentType).send(o)}catch(s){if(s?.code==="ENOENT"){r.code(404).send({error:`dist artifact not found: ${t.fileName}`,hint:"\u8BF7\u5148\u5728 nodejs \u76EE\u5F55\u8FD0\u884C npm run build \u6216 npm run build:dbg"});return}throw s}},Xce=(t,e=!1)=>{if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["1","true","yes","on"].includes(r)?!0:["0","false","no","off"].includes(r)?!1:e},Zce=(t,e=0)=>{let r=Number.parseInt(t,10);return Number.isFinite(r)?r:e},CTr=t=>{let e=String(t||"").trim();if(!e)return"";try{let r=new URL(e);return $lt.has(r.protocol)?(r.hash="",r.href):""}catch{return""}},Tlt=t=>{let r=(Array.isArray(t)?t:typeof t=="string"?t.split(/[\r\n,;]/):[]).map(n=>CTr(n)).filter(Boolean);return[...new Set(r)]},eue=(t,e,r)=>{if(!Number.isFinite(e)||e<=0)return t;let n;return Promise.race([t,new Promise((s,i)=>{n=setTimeout(()=>i(new Error(r)),e)})]).finally(()=>clearTimeout(n))},ITr=async t=>{try{let e=await OE.default.stat(t);return`${e.mtimeMs}-${e.size}`}catch{return"0"}},jlt=(t={})=>{let e=t.customSpiders||{},r=process.env.NODE_PATH||"/data",n=typeof e.dir=="string"?e.dir.trim():"",s=Tlt(process.env.CATPAW_CUSTOM_SPIDER_URLS),i=Tlt(e.urls),a=s.length>0?s:i,o=process.env.CATPAW_CUSTOM_SPIDER_DIR||n||Ms.default.join(r,"custom-spiders");return{enabled:Xce(process.env.CATPAW_CUSTOM_SPIDER_ENABLED,e.enabled??!0),strict:Xce(process.env.CATPAW_CUSTOM_SPIDER_STRICT,e.strict??!1),allowOverride:Xce(process.env.CATPAW_CUSTOM_SPIDER_ALLOW_OVERRIDE,e.allowOverride??!1),cacheTtlMs:Math.max(0,Zce(process.env.CATPAW_CUSTOM_SPIDER_CACHE_TTL_MS,e.cacheTtlMs??5e3)),factoryTimeoutMs:Math.max(0,Zce(process.env.CATPAW_CUSTOM_SPIDER_FACTORY_TIMEOUT_MS,e.factoryTimeoutMs??1e4)),urlTimeoutMs:Math.max(1e3,Zce(process.env.CATPAW_CUSTOM_SPIDER_URL_TIMEOUT_MS,e.urlTimeoutMs??1e4)),dir:Ms.default.resolve(o),urls:a}},wlt=(t,e)=>{let n=`[custom-spider:${Ms.default.basename(e)}]`,s=Object.freeze({info:(...i)=>console.log(n,...i),warn:(...i)=>console.warn(n,...i),error:(...i)=>console.error(n,...i),debug:(...i)=>console.debug(n,...i)});return Object.freeze({http:Object.freeze({axios:Ae,req:he,create:(i={})=>Ae.create(i)}),cheerio:Object.freeze({load:Me}),utils:Object.freeze({extractTitle:sA,findEpisodeNumber:Yw,firstSuccessfulUrl:Xn}),logger:s,app:Object.freeze({spiderPrefix:PE,nodePath:process.env.NODE_PATH||"."})})},TTr=async t=>{try{return(await OE.default.readdir(t,{withFileTypes:!0})).filter(r=>r.isFile()).map(r=>Ms.default.join(t,r.name)).filter(r=>oTr.has(Ms.default.extname(r).toLowerCase())).sort((r,n)=>r.localeCompare(n))}catch(e){if(e?.code==="ENOENT")return[];throw e}},NM=t=>{if(typeof t=="string")return t;if(Buffer.isBuffer(t))return t.toString("utf8");if(t==null)return"";try{return JSON.stringify(t)}catch{return String(t)}},OM=new Map,iue=t=>String(t||"").trim(),wTr=t=>{let e=NM(t);if(!e)return"";let r=e.split(/\r?\n/,80);for(let n of r){let s=String(n||"").trim();if(!s)continue;let i=s.match(/^(?:\/\/+|\/\*+|\*+)?\s*@name(?:\s*[::])?\s+(.+?)\s*$/i);if(!i?.[1])continue;let a=i[1].replace(/\*\/\s*$/,"").trim();if(a)return a}return""},Hlt=(t,e)=>{let r=iue(t);if(!r)return"";let n=wTr(e);return n?(OM.set(r,n),n):(OM.delete(r),"")},Qlt=t=>{let e=iue(t);return e?String(OM.get(e)||"").trim():""},Rlt={axios:Ae,cheerio:Sv,"crypto-js":Blt.default,dayjs:Mlt.default,qs:sue.default},RTr=(t,e)=>{let r=n=>n==="omnibox_sdk"?{request:async(s,i={})=>{let a=String(i.method||"GET").toUpperCase(),o=i.headers||{},c=i.body;c&&typeof c=="object"&&!Buffer.isBuffer(c)&&String(o["Content-Type"]||o["content-type"]||"").toLowerCase().includes("application/json")&&(c=JSON.stringify(c));let u=await Ae.request({url:s,method:a,headers:o,data:c,timeout:i.timeout,validateStatus:()=>!0});return{statusCode:u.status,body:NM(u.data)}},log:(s,...i)=>{let a=i.map(o=>typeof o=="string"?o:NM(o)).join(" ");return s==="error"?console.error(a):s==="warn"||s==="warning"?console.warn(a):console.log(a)},getSourceId:async()=>"builtin",processScraping:async(s,i,a,o=[])=>{let c=String(s||"");return Clt.set(c,{scrapeData:null,scrapeType:"",videoMappings:[]}),{ok:!1,unsupported:!0,count:Array.isArray(o)?o.length:0}},getScrapeMetadata:async s=>{let i=String(s||"");return Clt.get(i)||null}}:n==="spider_runner"?{run:()=>{}}:Rlt[n]?Rlt[n]:t(n);return r.resolve=t.resolve?.bind(t),r.main={filename:e},r},Glt=(t,e)=>{let r=String(t?.message||""),n=r.includes("require is not defined")||r.includes("module is not defined")||r.includes("exports is not defined"),s=/(?:^|\W)module\.exports(?:\W|$)|(?:^|\W)exports\.[A-Za-z_$][\w$]*|(?:^|\W)require\s*\(/m.test(e);return n||s},Vlt=(t,e,r="")=>{let n={exports:{}},s=r||(0,nue.pathToFileURL)(Ms.default.resolve(process.cwd(),".custom-spider-runtime.cjs")).href,i=(0,Llt.createRequire)(s),a=RTr(i,e);return new Function("require","module","exports","__filename","__dirname",t)(a,n,n.exports,e,Ms.default.dirname(e)),{default:n.exports}},NTr=async(t,e)=>{let r=await Ae.get(t,{responseType:"text",timeout:e,transformResponse:[a=>a],validateStatus:()=>!0});if(r.status>=400)throw new Error(`[custom-spider] \u8FDC\u7A0B\u63D2\u4EF6\u62C9\u53D6\u5931\u8D25(${r.status}): ${t}`);let n=NM(r.data);Hlt(t,n);let s=(0,PM.createHash)("sha1").update(n).digest("hex").slice(0,12),i=`data:text/javascript;charset=utf-8,${encodeURIComponent(n)}`;try{return await import(`${i}#${s}`)}catch(a){if(!Glt(a,n))throw a;let o;try{let c=new URL(t),u=Ms.default.basename(c.pathname)||`remote-${s}.js`;o=Ms.default.resolve(process.cwd(),".remote-custom-spiders",u)}catch{o=Ms.default.resolve(process.cwd(),".remote-custom-spiders",`remote-${s}.js`)}return Vlt(n,o)}},OTr=async t=>{let e=iue(t),r="",n=!1;try{r=await OE.default.readFile(t,"utf8"),n=!0,Hlt(e,r)}catch{OM.delete(e)}let s=(0,nue.pathToFileURL)(t);s.searchParams.set("v",await ITr(t));try{return await import(s.href)}catch(i){if(Ms.default.extname(t).toLowerCase()!==".js")throw i;let o=n?r:await OE.default.readFile(t,"utf8");if(!Glt(i,o))throw i;return Vlt(o,t,s.href)}},Nlt=t=>!!t&&typeof t=="object"&&typeof t.api=="function",Olt=t=>!t||typeof t!="object"||typeof t.api=="function"?!1:["home","category","detail","search","play"].some(r=>typeof t[r]=="function"),PTr=t=>{let e=String(t||"");if(!e.includes("%"))return e;try{return decodeURIComponent(e)}catch{return e}},DM=t=>{let e=String(t||"").trim();if(!e)return"";try{let r=new URL(e);if($lt.has(r.protocol)){let n=Ms.default.parse(Ms.default.basename(r.pathname||"")).name;return PTr(n)}}catch{}return Ms.default.parse(e).name},DTr=t=>{let e=DM(t),r=String(e).trim().toLowerCase().replace(/[^a-z0-9_-]/g,"");return Wlt.test(r)?r:`omni_${(0,PM.createHash)("sha1").update(t).digest("hex").slice(0,10)}`},kTr=t=>{if(!t||typeof t!="object"||t.vod_play_from&&t.vod_play_url)return t;let e=Array.isArray(t.vod_play_sources)?t.vod_play_sources:[];if(e.length===0)return t;let r=[],n=[];return e.forEach((s,i)=>{let a=String(s?.name||`\u7EBF\u8DEF${i+1}`).trim()||`\u7EBF\u8DEF${i+1}`,c=(Array.isArray(s?.episodes)?s.episodes:[]).map((u,l)=>{let d=String(u?.name||`\u64AD\u653E${l+1}`).trim()||`\u64AD\u653E${l+1}`,f=String(u?.playId||u?.url||u?.id||"").trim();return f?`${d}$${f}`:""}).filter(Boolean);c.length>0&&(r.push(a),n.push(c.join("#")))}),r.length===0||n.length===0?t:{...t,vod_play_from:r.join("$$$"),vod_play_url:n.join("$$$")}},RM=t=>t&&typeof t=="object"?t:{list:[]},Plt=t=>{let e=RM(t),r=Array.isArray(e.list)?e.list:[];return{...e,list:r.map(n=>kTr(n))}},LTr=(t,e="")=>{if(t&&typeof t=="object"){let r=String(t.url||"").trim();if(r)return{...t,parse:t.parse??0,url:r,header:t.header||{}};let n=Array.isArray(t.urls)?t.urls:[];if(n.length>0){let s=n[0]||{},i=String(s.url||s.playId||s.id||"").trim();if(i)return{parse:t.parse??0,url:i,header:t.header||{}}}if(t.parse!==void 0)return{parse:t.parse??0,url:"",header:t.header||{}}}return typeof t=="string"&&t.trim()?{parse:0,url:t.trim()}:{parse:1,url:String(e||"")}},BTr=(t,e)=>{let r=t.meta||t.META||{},n=Number(r.type),s=Number.isInteger(n)&&n>=0&&n<50?n:3,i=String(r.key||"").trim()||DTr(e),a=Qlt(e),o=String(r.name||"").trim()||a||DM(e)||i,c=async(u,l)=>{if(typeof u!="function")return{};let d=await u(l||{});return d===void 0?{}:d};return{meta:{key:i,name:o,type:s},api:async u=>{u.post("/init",async()=>({})),u.post("/home",async l=>{let d=await c(t.home,{filter:l.body?.filter??!1});return RM(d)}),u.post("/category",async l=>{let d=l.body||{},f=await c(t.category,{categoryId:d.id,id:d.id,page:d.page??1,filters:d.filters||{},filter:d.filter??!1});return RM(f)}),u.post("/detail",async l=>{let d=l.body?.id;if(Array.isArray(d)){let p=[];for(let m of d){let h=await c(t.detail,{videoId:m,id:m}),A=Plt(h);Array.isArray(A.list)&&p.push(...A.list)}return{list:p}}let f=await c(t.detail,{videoId:d,id:d});return Plt(f)}),u.post("/search",async l=>{let d=l.body?.wd??"",f=await c(t.search,{keyword:d,wd:d,page:l.body?.page??1,quick:l.body?.quick??!1});return RM(f)}),u.post("/play",async l=>{let d=l.body?.id??"",f=await c(t.play,{playId:d,id:d,flag:l.body?.flag??""});return LTr(f,d)})}}},MTr=(t,e)=>{let r=typeof t?.createSpider=="function"&&t.createSpider||typeof t?.default?.createSpider=="function"&&t.default.createSpider;if(r)return{mode:"factory",value:r};let n=Nlt(t?.default)&&t.default||Nlt(t)&&t;if(n)return{mode:"spider",value:n};let s=Olt(t?.default)&&t.default||Olt(t)&&t;if(s)return{mode:"omnibox-object",value:s};let i=typeof t?.default=="function"&&t.default||typeof t=="function"&&t;if(i)return{mode:"callable",value:i};throw new Error(`${e} \u7F3A\u5C11 createSpider(ctx) / spider \u5BF9\u8C61 / omnibox \u5BF9\u8C61 / legacy register \u5BFC\u51FA`)},WTr=t=>{let e=String(t?.message||"");return e?e.includes("spider \u5FC5\u987B\u662F\u5BF9\u8C61")||e.includes("spider.api \u5FC5\u987B\u662F\u51FD\u6570")||e.includes("spider.check \u5FC5\u987B\u662F\u51FD\u6570")||e.includes("is not a function")||e.includes("Cannot read properties of undefined")||e.includes("Cannot set properties of undefined"):!1},$Tr=(t,e)=>{let r=String(t?.meta?.key||"").trim(),n=String(t?.meta?.api||"").trim(),s=DM(e),i=[];r&&i.push(r);let a=n.match(/\/([a-zA-Z0-9_-]+)$/);a?.[1]&&i.push(a[1]),s&&i.push(s);for(let o of i){let c=String(o).trim().toLowerCase().replace(/[^a-z0-9_-]/g,"");if(Wlt.test(c))return{key:c,from:o}}return null},FTr=t=>{if(!t||typeof t!="object"||Object.keys(t).length===0)return"";try{return Buffer.from(JSON.stringify(t),"utf8").toString("base64")}catch{return""}},r2=async(t,e,r)=>{let n,a=await t({query:r,server:e},{send(o){return n=o,o}});return a===void 0?n:a},UTr=async(t,e)=>{let r=[],n={get(l,d){r.push({method:"get",routePath:l,handler:d})},post(l,d){r.push({method:"post",routePath:l,handler:d})},put(l,d){r.push({method:"put",routePath:l,handler:d})},delete(l,d){r.push({method:"delete",routePath:l,handler:d})}},s={sites:[]};await Promise.resolve(t(n,s));let i=Array.isArray(s.sites)?s.sites:[];if(i.length===0)throw new Error(`${e} legacy register \u672A\u901A\u8FC7 opt.sites \u66B4\u9732 meta`);i.length>1&&console.warn(`[custom-spider] legacy register \u4EC5\u517C\u5BB9\u9996\u4E2A site: ${Ms.default.basename(e)}`);let a=i[0]||{},o=String(a.api||"").trim(),c=o?r.find(l=>l.routePath===o):null;if(o&&!c){let l=r.map(d=>d.routePath).join(", ");throw new Error(`${e} legacy register meta.api(${o}) \u672A\u5339\u914D\u5DF2\u6CE8\u518C\u8DEF\u7531: ${l||"(none)"}`)}let u=c;if(!u)if(r.length===1)u=r[0];else{let l=r.map(d=>d.routePath).join(", ");throw new Error(`${e} legacy register \u8DEF\u7531\u4E0D\u660E\u786E\uFF0C\u8BF7\u63D0\u4F9B\u53EF\u5339\u914D\u7684 meta.api\uFF0C\u5F53\u524D\u8DEF\u7531: ${l||"(none)"}`)}if(!u||typeof u.handler!="function")throw new Error(`${e} legacy register \u672A\u6CE8\u518C\u6709\u6548\u8DEF\u7531`);return{meta:{key:a.key,name:a.name,type:a.type},api:async l=>{l.post("/init",async()=>({})),l.post("/home",async d=>r2(u.handler,d.server,{filter:d.body?.filter??!1})),l.post("/category",async d=>{let f=d.body||{},p={ac:"detail",t:f.id,pg:f.page??1,filter:f.filter??!1},m=FTr(f.filters);return m&&(p.ext=m),r2(u.handler,d.server,p)}),l.post("/detail",async d=>{let f=d.body?.id,p=Array.isArray(f)?f.join(","):f;return r2(u.handler,d.server,{ac:"detail",ids:p})}),l.post("/search",async d=>r2(u.handler,d.server,{wd:d.body?.wd??"",pg:d.body?.page??1,quick:d.body?.quick??!1})),l.post("/play",async d=>r2(u.handler,d.server,{play:d.body?.id??"",flag:d.body?.flag??"",parser:d.body?.parser??""}))}}},n2=(t,e)=>{if(!t||typeof t!="object")throw new Error(`${e} spider \u5FC5\u987B\u662F\u5BF9\u8C61`);if(typeof t.api!="function")throw new Error(`${e} spider.api \u5FC5\u987B\u662F\u51FD\u6570`);if(t.check&&typeof t.check!="function")throw new Error(`${e} spider.check \u5FC5\u987B\u662F\u51FD\u6570`);let r=$Tr(t,e);if(!r)throw new Error(`${e} meta.key \u4E0D\u5408\u6CD5`);let n=r.key,s=Qlt(e),i=String(t.meta?.name||"").trim()||s||DM(e)||n,a=Number(t.meta?.type);if(!i)throw new Error(`${e} meta.name \u4E0D\u80FD\u4E3A\u7A7A`);if(!Number.isInteger(a)||a<0||a>=50)throw new Error(`${e} meta.type \u5FC5\u987B\u662F 0-49 \u7684\u6574\u6570`);let o=String(t.meta?.key||"").trim();return o&&o!==n&&console.log(`[custom-spider] key \u517C\u5BB9\u4FEE\u6B63: ${o} -> ${n}`),{...t,meta:{...t.meta,key:n,name:i,type:a,custom:!0}}},qTr=(t,e=!1)=>{let r=[],n=new Map;return t.forEach(s=>{let i=`${s.meta.key}:${s.meta.type}`;if(!n.has(i)){n.set(i,r.length),r.push(s);return}if(e&&s.meta?.custom){console.warn(`[custom-spider] override: ${i}`),r[n.get(i)]=s;return}console.warn(`[custom-spider] duplicate ignored: ${i}`)}),r},jTr=async t=>{let e=jlt(t.config);if(!e.enabled)return[];let r=`${e.dir}|${e.urls.join(",")}|${e.urlTimeoutMs}|${e.strict}|${e.cacheTtlMs}|${e.factoryTimeoutMs}`,n=Date.now();if(e.cacheTtlMs>0&&t2.key===r&&t2.expireAt>n)return t2.spiders;if(om.promise&&om.key===r)return om.promise;om.key=r,om.promise=(async()=>{let s=await TTr(e.dir),i=e.urls;if(s.length===0&&i.length===0)return t2={key:r,expireAt:e.cacheTtlMs>0?Date.now()+e.cacheTtlMs:0,spiders:[]},[];s.length>0&&console.log(`[custom-spider] \u53D1\u73B0 ${s.length} \u4E2A\u672C\u5730\u63D2\u4EF6: ${s.map(l=>Ms.default.basename(l)).join(", ")}`),i.length>0&&console.log(`[custom-spider] \u53D1\u73B0 ${i.length} \u4E2A\u8FDC\u7A0B\u63D2\u4EF6: ${i.join(", ")}`);let a=[...s.map(l=>({id:l,display:Ms.default.basename(l),load:()=>OTr(l)})),...i.map(l=>({id:l,display:l,load:()=>NTr(l,e.urlTimeoutMs)}))],o=await Promise.allSettled(a.map(async l=>{let d=await l.load(),f=MTr(d,l.id);if(f.mode==="spider")return console.log(`[custom-spider] \u517C\u5BB9\u6A21\u5F0F\u52A0\u8F7D: ${l.display} (legacy spider export)`),n2(f.value,l.id);if(f.mode==="omnibox-object"){console.log(`[custom-spider] \u517C\u5BB9\u6A21\u5F0F\u52A0\u8F7D: ${l.display} (omnibox object export)`);let h=BTr(f.value,l.id);return n2(h,l.id)}if(f.mode==="callable"){let h=wlt(t,l.id);try{let A=await eue(Promise.resolve(f.value(h)),e.factoryTimeoutMs,`[custom-spider] createSpider \u8D85\u65F6: ${l.id}`);return n2(A,l.id)}catch(A){if(!WTr(A))throw A;console.log(`[custom-spider] \u517C\u5BB9\u6A21\u5F0F\u52A0\u8F7D: ${l.display} (legacy register export)`);let g=await eue(UTr(f.value,l.id),e.factoryTimeoutMs,`[custom-spider] legacy register \u9002\u914D\u8D85\u65F6: ${l.id}`);return n2(g,l.id)}}let p=wlt(t,l.id),m=await eue(Promise.resolve(f.value(p)),e.factoryTimeoutMs,`[custom-spider] createSpider \u8D85\u65F6: ${l.id}`);return n2(m,l.id)})),c=[],u=[];if(o.forEach((l,d)=>{l.status==="fulfilled"?c.push(l.value):(u.push(a[d].display),console.error(`[custom-spider] \u52A0\u8F7D\u5931\u8D25: ${a[d].display}`,l.reason))}),e.strict&&u.length>0)throw new Error(`[custom-spider] strict \u6A21\u5F0F: ${u.length} \u4E2A\u63D2\u4EF6\u52A0\u8F7D\u5931\u8D25`);return c.length>0&&console.log(`[custom-spider] \u6210\u529F\u52A0\u8F7D ${c.length} \u4E2A\u63D2\u4EF6`),t2={key:r,expireAt:e.cacheTtlMs>0?Date.now()+e.cacheTtlMs:0,spiders:c},c})();try{return await om.promise}finally{om.key===r&&(om={key:"",promise:null})}},Dlt=async t=>{let e=[but,Oot,_ot],r=[Eot,$it,Lat,Fit,Uit,qit,Bat,S5e,jit,Hit,vat,Cat,rut,kat,Xat,rot,Not,bat,Vit,Kit,Zit,tat,Sat,sat,aat,ilt,Wut,dct,Ect,jot,Wot,$ot,jct,Zct,Jot,pct,Tct,Bct,tct,Aot];(await Mce(t)).forEach(o=>{r.push($ce(o.name,o.address))}),(await Hce(t)).forEach(o=>{r.push(Vce(o.name,o.address))});let i=await jTr(t);r.push(...i),r.push(...e);let{allowOverride:a}=jlt(t.config);return qTr(r,a)},klt=(t,e,r)=>{r<10?t.video.sites.push(e):r>=10&&r<20?t.read.sites.push(e):r>=20&&r<30?t.comic.sites.push(e):r>=30&&r<40?t.music.sites.push(e):r>=40&&r<50&&t.pan.sites.push(e)},HTr=async(t,e)=>{(await Qw(e).catch(()=>[])).filter(n=>n?.id&&n?.host&&n?.username).forEach(n=>{t.video.sites.push({key:`nodejs_emby_${n.id}`,name:`\u300C\u76F4\u300D${n.name||"Emby"}`,type:3,api:`${PE}/emby/3/server/${encodeURIComponent(n.id)}`})})},QTr=async(t,e)=>{(await Gw(e).catch(()=>[])).filter(n=>n?.id&&n?.server).forEach(n=>{t.video.sites.push({key:`nodejs_alist_${n.id}`,name:`\u300C\u76F4\u300D${n.name||"Alist"}`,type:3,api:`${PE}/alist-video/3/server/${encodeURIComponent(n.id)}`})})},tue={};async function aue(t,{db:e,config:r}){t.hasContentTypeParser("application/x-www-form-urlencoded")||t.addContentTypeParser("application/x-www-form-urlencoded",{parseAs:"string"},(p,m,h)=>{h(null,sue.default.parse(String(m||"")))});let n=await Dlt({db:e,config:r}),s=hTr(n),i=new Map(s),a=async()=>null;n.forEach(p=>{let m=PE+"/"+p.meta.key+"/"+p.meta.type;t.register(p.api,{prefix:m});try{let h=p.check?.(t);h&&typeof h.then=="function"&&h.catch(A=>console.error(`[spider-check] ${p.meta.key} failed:`,A))}catch(h){console.error(`[spider-check] ${p.meta.key} failed:`,h)}console.log("Register spider: "+m)});let o=(p,m,h,A={})=>oA(t,m.spiderKey,m.spiderType,h,A,{apiBase:m.apiBase,headers:fTr(p)}),c=async(p,m)=>{let h=xlt(m),A=Ilt(i,h);return A||(await a(p),A=Ilt(i,h)),{module:h,spider:A}},u=p=>{let m=p.query?.token;return m==null||m===""?{}:{token:m}},l=async(p,m)=>{m.type("application/javascript; charset=utf-8").send(Slt())},d=async(p,m)=>{let{module:h,spider:A}=await c(p,p.params?.module);if(!A){m.code(404).send({error:"module not found"});return}return l(p,m)},f=async(p,m)=>{let{spider:h}=await c(p,p.params?.module);if(!h){m.code(404).send({error:"module not found"});return}let A=lTr(p);try{if(A.refresh!==void 0){m.send(await o(p,h,"init",{ext:A.extend||A.ext||"",extend:A.extend}));return}if(A.play!==void 0){m.send(await o(p,h,"play",{id:A.play,flag:A.flag,extend:A.extend}));return}if(A.ac==="action"&&A.action!==void 0){m.send(await o(p,h,"action",{action:A.action,value:A.value,extend:A.extend}));return}if(A.ac==="detail"&&A.ids!==void 0){m.send(await o(p,h,"detail",{id:A.ids,extend:A.extend}));return}if(A.t!==void 0){m.send(await o(p,h,"category",{id:A.t,page:A.pg||A.page||1,filter:Jce(A.filter,!0),filters:dTr(A.ext||A.f,{}),extend:A.extend}));return}if(A.wd!==void 0){m.send(await o(p,h,"search",{wd:A.wd,page:A.pg||A.page||1,quick:Jce(A.quick,!1),extend:A.extend}));return}m.send(await o(p,h,"home",{filter:Jce(A.filter,!0),extend:A.extend}))}catch(g){p.log?.error?.(g);let b=g?.message||"internal error",y=Number(b.match(/\s(\d{3})$/)?.[1]||500);m.code(y>=400&&y<600?y:500).send({error:b})}};t.get("/uz.js",l),t.get("/api/uz/:module",d),t.route({method:["GET","POST"],url:"/api/:module",handler:f}),t.route({method:["GET","POST"],url:"/api/:version/:kind/:module",handler:f}),wM()&&uTr.forEach(p=>{t.get(p.url,async(m,h)=>vTr(p,m,h,{db:e,config:r}))}),t.register(async p=>{p.get("/check",async function(x,v){v.send({run:!p.stop})});let m=async()=>{let x={video:{sites:[]},read:{sites:[]},comic:{sites:[]},music:{sites:[]},pan:{sites:[]},color:p.config.color||[]},v=await Dlt({db:e,config:r}),C=!1,R=!1,w=[];for(let N of v){let P=Object.assign({},N.meta);if(P.hidden){P.key==="emby"?C=!0:P.key==="alist-video"&&(R=!0);continue}P.api=PE+"/"+P.key+"/"+P.type,P.key="nodejs_"+P.key;let L=N.meta.type;if(P.cms){w.push({meta:P,stype:L});continue}klt(x,P,L)}return C&&await HTr(x,{db:e,config:r}),R&&await QTr(x,{db:e,config:r}),w.forEach(({meta:N,stype:P})=>klt(x,N,P)),x},h=async(x,v)=>{let C=await Kw(x.server),R=v.video.sites,w={},N={};R.forEach(L=>{N[L.key]=L});let P=[];return C.forEach(L=>{w[L.key]=!0;let M=N[L.key];if(M&&L.enable){let k=typeof L.name=="string"?L.name.trim():"";P.push({...M,name:k||M.name})}}),R.forEach(L=>{w[L.key]||P.push(L)}),v.video.sites=P,v},A=async x=>{let v=await m();return await h(x,v),v},g=x=>{let v=pTr(x.api);if(!v||Number(v.spiderType)!==3)return null;let C=mTr(x.key);return Ult(i,[x.key,C],v),{module:C,ref:v}};a=async x=>{(await A(x)).video.sites.forEach(g)};let b=async x=>{let v=await A(x),C=Zw(x).replace(/\/$/,""),R=v.video.sites.map(w=>{let N=g(w);if(!N)return null;let P=N.module,L={key:`t4_${P}`,name:w.name,type:4,api:`${C}/api/${encodeURIComponent(P)}`,searchable:w.searchable??1,quickSearch:w.quickSearch??0,filterable:w.filterable??1};return w.ext!==void 0&&w.ext!==null&&w.ext!==""&&(L.ext=w.ext),L}).filter(Boolean);return{sites_count:R.length,sites:R,color:v.color||[]}},y=async(x,v)=>{let C=await A(x),R=Zw(x).replace(/\/$/,""),w=u(x),N=C.video.sites.map(P=>{let L=g(P);if(!L)return null;let M=L.module;return{module:M,name:P.name,scriptUrl:_lt(R,M,w),t4ApiUrl:Elt(R,M,w)}}).filter(Boolean);v.send(vlt(N))};p.get("/config",async function(x,v){let C=await A(x);C.video.danmuSearchUrl=`http://127.0.0.1:${x.server.address().port}/website/danmu/fe`,v.send(C)}),p.get("/t4",b),p.get("/uz",y),p.get("/full-config",m)}),t.get("/danmu-proxy",async(p,m)=>{try{let A=String(p.query?.format||"").toLowerCase()==="json",g=(J=200)=>{if(A){m.code(J).send({success:!1,comments:[],count:0,match:null});return}m.code(J).header("Content-Type","application/xml"),m.send('<?xml version="1.0" encoding="UTF-8"?><i/>')},b=await SM(p.server);if(!b?.autoPush){g();return}let{name:y,episodeNumber:x,originalName:v}=p.query,C=String(v||"").trim(),R=String(y||"").trim()||sA(C)||C,w=b.debug||!1;w&&(console.log("=== \u5F39\u5E55\u5339\u914D\u8C03\u8BD5\u4FE1\u606F ==="),console.log("\u4F20\u5165\u53C2\u6570:"),console.log(" - \u89C6\u9891\u540D\u79F0:",R||"(\u672A\u63D0\u4F9B)"),console.log(" - \u539F\u59CB\u540D\u79F0:",C||"(\u672A\u63D0\u4F9B)"),console.log(" - \u96C6\u6570:",x),console.log("\u914D\u7F6E\u7684\u5F39\u5E55\u6E90\u6570\u91CF:",b.urls.length));let N=1,L=(C||R).match(/第([一二三四五六七八九十\d]+)季/);if(L){let J=L[1];N={\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u5341:10}[J]||parseInt(J)||1,w&&console.log("\u68C0\u6D4B\u5230\u5B63\u6570\u4FE1\u606F:",`\u7B2C${N}\u5B63`)}let M=`S${N}`,k=!x||x==="0",B=R;!k&&x&&(B=`${R} ${M}E${x}`),w&&console.log("\u6784\u9020\u7684\u6587\u4EF6\u540D:",B);let Z=async(J,se,oe)=>{w&&(console.log(`
\u6B63\u5728\u8BF7\u6C42\u5F39\u5E55\u6E90: ${J.name||J.address}`),console.log(`\u8BF7\u6C42URL: ${J.address}/api/v2/match`),console.log(`\u8BF7\u6C42\u9636\u6BB5: ${oe}`),console.log(`\u8BF7\u6C42\u6570\u636E: { fileName: "${se}" }`));let ue=await Ae.post(`${J.address}/api/v2/match`,{fileName:se},{headers:{"Content-Type":"application/json"},timeout:1e4});if(w&&(console.log(`
${J.name||J.address} \u8FD4\u56DE\u7ED3\u679C:`),console.log(" - \u5339\u914D\u6210\u529F:",ue.data?.success),console.log(" - \u662F\u5426\u5339\u914D:",ue.data?.isMatched),console.log(" - \u5339\u914D\u6761\u6570:",ue.data?.matches?.length||0)),ue.data?.success&&ue.data?.isMatched&&ue.data?.matches?.length>0){let Ce=ue.data.matches[0];return w&&(console.log(" - \u5339\u914D\u7ED3\u679C:"),console.log(" * \u96C6\u6570ID:",Ce.episodeId),console.log(" * \u96C6\u6570\u6807\u9898:",Ce.episodeTitle),console.log(" * \u52A8\u753B\u6807\u9898:",Ce.animeTitle)),{url:J,match:Ce,score:100}}return null},W=b.urls.map(async J=>{try{let se=await Z(J,B,"episode-aware");return!se&&!k&&x&&(w&&console.log(` - \u5206\u96C6\u5339\u914D\u5931\u8D25\uFF0C\u964D\u7EA7\u4EC5\u6807\u9898\u91CD\u8BD5: ${R}`),se=await Z(J,R,"title-only-fallback")),!se&&w&&console.log(" - \u672A\u627E\u5230\u7CBE\u786E\u5339\u914D"),se}catch(se){return w&&(console.log(`
${J.name||J.address} \u8BF7\u6C42\u5931\u8D25:`),console.log(" - \u9519\u8BEF\u4FE1\u606F:",se.message),se.response&&(console.log(" - \u54CD\u5E94\u72B6\u6001\u7801:",se.response.status),console.log(" - \u54CD\u5E94\u6570\u636E:",JSON.stringify(se.response.data)))),null}}),V=(await Promise.all(W)).filter(J=>J!==null);w&&console.log(`
\u5339\u914D\u7ED3\u679C\u6C47\u603B: \u5171 ${V.length} \u4E2A\u6709\u6548\u7ED3\u679C`);let j=null;if(V.length>0){let J=V[0];w&&(console.log("\u9009\u62E9\u7684\u5F39\u5E55\u6E90:",J.url.name||J.url.address),console.log("\u9009\u62E9\u7684\u96C6\u6570:",J.match.episodeTitle)),j={url:`${J.url.address}/api/v2/comment/${J.match.episodeId}?withRelated=true&chConvert=1`,sourceName:J.url.name||"\u5F39\u5E55\u6E90",episodeTitle:J.match.episodeTitle,match:{animeTitle:J.match.animeTitle||"",episodeTitle:J.match.episodeTitle||"",episodeId:J.match.episodeId||"",sourceName:J.url.name||"\u5F39\u5E55\u6E90"}},messageToDart({action:"toast",opt:{message:`\u5339\u914D\u5230 ${j.episodeTitle} - \u5F39\u5E55\u89E3\u6790\u4E2D......`,duration:3}})}else w&&console.log(`
\u6240\u6709\u5F39\u5E55\u6E90\u5747\u672A\u5339\u914D\u6210\u529F`);if(j){w&&(console.log(`
=== \u8BF7\u6C42\u5F39\u5E55\u6570\u636E ===`),console.log("\u5F39\u5E55URL:",j.url));let J=await Ae.get(j.url,{timeout:1e4});w&&(console.log("\u5F39\u5E55\u54CD\u5E94\u72B6\u6001:",J.status),console.log("\u5F39\u5E55\u6570\u636E:",J.data?.comments?.length||0,"\u6761"));let se=Array.isArray(J.data?.comments)?J.data.comments.filter(Ce=>Ce?.p&&String(Ce?.m||"").trim()!==""):[],oe=se.length;if(messageToDart({action:"toast",opt:{message:`\u901A\u8FC7 ${j.sourceName} - \u89E3\u6790\u5230 ${oe} \u6761\u5F39\u5E55`,duration:3}}),A){m.send({success:oe>0,comments:se,count:oe,match:j.match});return}let ue=`<?xml version="1.0" encoding="UTF-8"?>
<i>
`;for(let Ce of se){let we=String(Ce.m).trim();if(we){let qe=we.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;");ue+=` <d p="${Ce.p}">${qe}</d>
`}}ue+="</i>",w&&(console.log("\u8F6C\u6362\u540E\u7684\u5F39\u5E55\u6570\u91CF:",oe),console.log("XML\u6570\u636E\u5927\u5C0F:",ue.length,"\u5B57\u8282"),console.log("XML\u6570\u636E\u9884\u89C8:",ue.substring(0,500)),console.log(`=== \u5F39\u5E55\u5339\u914D\u5B8C\u6210 ===
`)),m.header("Content-Type","application/xml"),m.send(ue)}else messageToDart({action:"toast",opt:{message:"\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~",duration:3}}),g()}catch(h){console.error(`
=== \u5F39\u5E55\u5339\u914D\u53D1\u751F\u9519\u8BEF ===`),console.error("\u9519\u8BEF\u7C7B\u578B:",h.name),console.error("\u9519\u8BEF\u4FE1\u606F:",h.message),console.error("\u9519\u8BEF\u5806\u6808:",h.stack),console.error(`=========================
`),messageToDart({action:"toast",opt:{message:"\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~",duration:2}}),String(p.query?.format||"").toLowerCase()==="json"?m.code(500).send({success:!1,error:"Failed to fetch danmu content",comments:[],count:0,match:null}):m.code(500).send({error:"Failed to fetch danmu content"})}}),t.addHook("onSend",(p,m,h,A)=>{if(m.sent||m.raw?.headersSent||!p.url.endsWith("/detail")&&!p.url.endsWith("/play"))return A(null,h);let g=typeof h=="string"?h:Buffer.isBuffer(h)?h.toString():null;if(!g)return A(null,h);SM(p.server).then(b=>{if(!b?.autoPush)return A(null,h);try{if(p.url.endsWith("/detail")){let y=JSON.parse(g),x=Array.isArray(y?.list)?y.list[0]:null;if(!x||typeof x!="object")return A(null,h);let v=String(x.vod_play_from||""),C=String(x.vod_play_url||"");if(!v||!C)return A(null,h);let R=String(x.vod_name||"").trim(),N=String(sA(R)||"").trim()||R;tue={};let P=v.split("$$$").filter(Boolean);return C.split("$$$").filter(Boolean).forEach((L,M)=>{L.split("#").forEach(k=>{let[B,Z]=k.split("$");if(!Z)return;let W=P[M]||`\u7EBF\u8DEF${M+1}`;tue[`${W}_${Z}`]={name:N,originalName:R,episodeNumber:Yw(B)}})}),A(null,h)}if(p.url.endsWith("/play")){let y=JSON.parse(g);if((y.url||y.url?.length||y.urls?.length)&&!y?.extra?.danmaku){let x=p.body||{},v=`${x.flag||""}_${x.id||""}`,C=tue[v];if(C){y.extra||(y.extra={});let R=new URL(`http://127.0.0.1:${p.server.address().port}/danmu-proxy`);return R.searchParams.set("name",C.name),R.searchParams.set("episodeNumber",C.episodeNumber),C.originalName&&R.searchParams.set("originalName",C.originalName),y.extra.danmaku=R.toString(),A(null,JSON.stringify(y))}}}}catch(y){console.error(y)}return A(null,h)}).catch(b=>(console.error(b),A(null,h)))})}var u6=Re(ldt(),1);var fdt=Re(v0(),1),a2=Re(Jn(),1);var FM="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",BE={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},ddt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},owr=async t=>{let e=a2.default.enc.Hex.stringify(a2.default.MD5(t.config.quark.cookie)).toString();return(await t.db.getObjectDefault("/quark",{}))[e]??""},cwr=async(t,e)=>{let r=a2.default.enc.Hex.stringify(a2.default.MD5(t.config.quark.cookie)).toString();await t.db.push(`/quark/${r}`,e)};async function vue(t){t.get("/qrcode",async(r,n)=>{try{let s=await Ae.get("https://uop.quark.cn/cas/ajax/getTokenForQrcodeLogin?client_id=532&v=1.2",{headers:{"User-Agent":FM}}),i=s.data.data.members.token,a=hl(s.headers["set-cookie"]),o=ddt.encode({token:i,cookies:a}),c="https://su.quark.cn/4_eMHBJ?token="+i+"&client_id=532&ssb=weblogin&uc_param_str=&uc_biz_str=S%3Acustom%7COPT%3ASAREA%400%7COPT%3AIMMERSIVE%401%7COPT%3ABACK_BTN_STYLE%400",u=await fdt.default.toBuffer(c,{width:300,height:300});n.header("X-Session-Key",o),n.send(u)}catch(s){console.error("\u5938\u514B\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",s),n.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(r,n)=>{let{sessionKey:s}=r.body,i=ddt.decode(s);if(!i)return n.send({code:0,data:{status:BE.EXPIRED}});let{token:a,cookies:o}=i;try{let c=await Ae.get(`https://uop.quark.cn/cas/ajax/getServiceTicketByQrcodeToken?client_id=532&v=1.2&token=${a}`,{headers:{"User-Agent":FM}});if(c.data.status===2e6){let u=await e(c.data.data.members.service_ticket,o);n.send({code:0,data:{status:BE.CONFIRMED,cookie:u}})}else c.data.status===50004002?n.send({code:0,data:{status:BE.EXPIRED}}):c.data.status===50004001?n.send({code:0,data:{status:BE.NEW}}):n.send({code:0,data:{status:BE.NEW}})}catch(c){console.error("\u5938\u514B\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",c),n.send({code:0,data:{status:BE.NEW}})}});async function e(r,n){let s=[...n],i=await Ae.get(`https://pan.quark.cn/account/info?st=${r}&fr=pc&platform=pc`,{headers:{"User-Agent":FM,Cookie:s.join("")}});i.headers["set-cookie"]&&(s=s.concat(hl(i.headers["set-cookie"])));let a=await Ae.get("https://drive-pc.quark.cn/1/clouddrive/share/sharepage/dir?pr=ucpro&fr=pc&uc_param_str=&aver=1",{headers:{"User-Agent":FM,Cookie:s.join("")}});return a.headers["set-cookie"]&&(s=s.concat(hl(a.headers["set-cookie"]))),s.join("")}t.post("/cookie",(r,n)=>{n.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(r,n)=>{n.send({code:0,data:await owr(r.server)})}),t.put("/cookie",async(r,n)=>{await cwr(r.server,r.body.cookie),n.send({code:0})})}var o2=Re(Jn(),1);var uA={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},pdt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},uwr=async t=>{let e=o2.default.enc.Hex.stringify(o2.default.MD5(t.config.uc.token)).toString();return(await t.db.getObjectDefault("/uc",{}))[e]??""},lwr=async(t,e)=>{let r=o2.default.enc.Hex.stringify(o2.default.MD5(t.config.uc.token)).toString();await t.db.push(`/uc/${r}`,e)};async function Cue(t){t.get("/qrcode",async(e,r)=>{try{let n="/oauth/authorize",s=Math.floor(Date.now()/1e3).toString()+"000",i=bc.DeviceID,a=Kv(i,s),o=jk("GET",n,s,Cs.signKey),c={Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Linux; U; Android 13; zh-cn; M2004J7AC Build/UKQ1.231108.001) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1","x-pan-tm":s,"x-pan-token":o,"x-pan-client-id":Cs.clientID,...bc.AccessToken?{Authorization:`Bearer ${bc.AccessToken}`}:{}},u=await Ae.get(`${Cs.api}${n}`,{params:{req_id:a,access_token:bc.AccessToken,app_ver:Cs.appVer,device_id:i,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Cs.channel,auth_type:"code",client_id:Cs.clientID,scope:"netdisk",qrcode:"1",qr_width:"460",qr_height:"460"},headers:c}),l=pdt.encode({query_token:u.data.query_token,req_id:a});r.header("X-Session-Key",l),r.send(Buffer.from(u.data.qr_data,"base64"))}catch(n){console.error("UC-TV\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let{sessionKey:n}=e.body,s=pdt.decode(n);if(!s)return r.send({code:0,data:{status:uA.EXPIRED}});let{query_token:i}=s;try{let a="/oauth/code",o=Math.floor(Date.now()/1e3).toString()+"000",c=bc.DeviceID,u=Kv(c,o),l=jk("GET",a,o,Cs.signKey),d={Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Linux; U; Android 13; zh-cn; M2004J7AC Build/UKQ1.231108.001) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1","x-pan-tm":o,"x-pan-token":l,"x-pan-client-id":Cs.clientID,...bc.AccessToken?{Authorization:`Bearer ${bc.AccessToken}`}:{}},f=await Ae.get(`${Cs.api}${a}`,{params:{req_id:u,access_token:bc.AccessToken,app_ver:Cs.appVer,device_id:c,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Cs.channel,client_id:Cs.clientID,scope:"netdisk",query_token:i},headers:d,validateStatus:p=>p<500});if(f.data.status===0){let p="/token",m=Math.floor(Date.now()/1e3).toString()+"000",h=Kv(bc.DeviceID,m),A=JSON.stringify({req_id:h,app_ver:Cs.appVer,device_id:bc.DeviceID,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Cs.channel,code:f.data.code}),g=await Ae.post(`${Cs.codeApi}${p}`,A,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Content-Type":"application/json"}});g.data.code===200?r.send({code:0,data:{status:uA.CONFIRMED,cookie:g.data.data.access_token}}):r.send({code:0,data:{status:uA.NEW}})}else f.data.errno===11003?r.send({code:0,data:{status:uA.NEW}}):f.data.status===-1||f.data.errno===11001?r.send({code:0,data:{status:uA.EXPIRED}}):r.send({code:0,data:{status:uA.NEW}})}catch(a){console.error("UC-TV\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",a),r.send({code:0,data:{status:uA.NEW}})}}),t.post("/token",async(e,r)=>{r.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/token",async(e,r)=>{r.send({code:0,data:await uwr(e.server)})}),t.put("/token",async(e,r)=>{await lwr(e.server,e.body.cookie),r.send({code:0})})}var mdt=async(t,e)=>(await t.db.getObjectDefault("/tyi",{}))?.[e]||"",hdt=async(t,e,r)=>{await t.db.push(`/tyi/${e}`,r)};async function Iue(t){t.get("/account",async(e,r)=>{let n=await mdt(e.server,"cloud_account"),s=await mdt(e.server,"cloud_password");r.send({code:0,data:{username:n,password:s}})}),t.put("/account",async(e,r)=>{await hdt(e.server,"cloud_account",e.body.username),await hdt(e.server,"cloud_password",e.body.password),r.send({code:0})})}var dwr=["https://www.leijing1.com"],fwr=async t=>(await t.db.getObjectDefault("/leijing",{}))?.urls||t.config.leijing?.urls||dwr,pwr=async(t,e)=>{await t.db.push("/leijing/urls",e)},mwr=async t=>{await t.db.delete("/leijing/urls")};async function Tue(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await fwr(e.server)})}),t.put("/urls",async(e,r)=>{await pwr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await mwr(e.server),r.send({code:0})})}var wue=async(t,e)=>{let r=await t.db.getObjectDefault("/pan123",{});return Object.prototype.hasOwnProperty.call(r||{},e)?r[e]:""},Rue=async(t,e,r)=>{await t.db.push(`/pan123/${e}`,r)};function hwr(t,e=!1){if(typeof t=="boolean")return t;if(typeof t=="string"){let r=t.trim().toLowerCase();if(["1","true","yes","on"].includes(r))return!0;if(["0","false","no","off"].includes(r))return!1}return e}async function Nue(t){t.get("/account",async(e,r)=>{let n=await wue(e.server,"pan_passport"),s=await wue(e.server,"pan_password"),i=await wue(e.server,"use_direct_download");r.send({code:0,data:{username:n,password:s,useDirectDownload:hwr(i,!0)}})}),t.put("/account",async(e,r)=>{await Rue(e.server,"pan_passport",e.body.username),await Rue(e.server,"pan_password",e.body.password),await Rue(e.server,"use_direct_download",e.body.useDirectDownload===!0),r.send({code:0})})}var lA=async(t,e)=>(await t.db.getObjectDefault("/xun",{}))?.[e]||"",ed=async(t,e,r)=>{await t.db.push(`/xun/${e}`,r)},Oue=(t="")=>String(t||"").trim();async function Pue(t){t.get("/account",async(e,r)=>{let n=await lA(e.server,"xun_username"),s=await lA(e.server,"xun_password"),i=!!await lA(e.server,"xun_auth");r.send({code:0,data:{username:n,password:s,hasAuth:i}})}),t.put("/account",async(e,r)=>{await ed(e.server,"xun_username",e.body.username||""),await ed(e.server,"xun_password",e.body.password||""),await ed(e.server,"xun_auth",""),await ed(e.server,"xun_refresh_token",""),await ed(e.server,"xun_user_id",""),r.send({code:0})}),t.get("/auth-status",async(e,r)=>{let n=!!await lA(e.server,"xun_auth");r.send({code:0,data:{hasAuth:n}})}),t.post("/login",async(e,r)=>{try{let n=Oue(e.body?.username),s=Oue(e.body?.password);if(!n){r.send({code:1,message:"\u8BF7\u8F93\u5165\u8FC5\u96F7\u8D26\u53F7"});return}if(!s){r.send({code:1,message:"\u8BF7\u8F93\u5165\u8FC5\u96F7\u5BC6\u7801"});return}await ed(e.server,"xun_username",n),await ed(e.server,"xun_password",s),await ed(e.server,"xun_auth",""),await ed(e.server,"xun_refresh_token",""),await ed(e.server,"xun_user_id",""),await ab(e),await zh.getDownload_auth();let i=!!await lA(e.server,"xun_auth");r.send({code:i?0:1,message:i?"\u767B\u5F55\u6210\u529F":"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u8D26\u53F7\u5BC6\u7801",data:{hasAuth:i}})}catch(n){console.warn("[xunlei] password login failed",{hasUsername:!!Oue(e.body?.username),message:n?.message||String(n)}),r.send({code:1,message:n?.message||"\u8FC5\u96F7\u8D26\u53F7\u5BC6\u7801\u767B\u5F55\u5931\u8D25"})}}),t.post("/send-code",async(e,r)=>{if(await ab(e),!await lA(e.server,"xun_username")){r.send({code:1,message:"\u8BF7\u5148\u4FDD\u5B58\u8FC5\u96F7\u8D26\u53F7"});return}await zh.getVerifyCode(),r.send({code:0,data:{sent:!0}})}),t.post("/verify-code",async(e,r)=>{await ab(e);let n=String(e.body?.code||"").trim();if(!n){r.send({code:1,message:"\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A"});return}await zh.getVerify(n);let s=!!await lA(e.server,"xun_auth");r.send({code:s?0:1,message:s?"\u767B\u5F55\u6210\u529F":"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u9A8C\u8BC1\u7801",data:{hasAuth:s}})})}var ydt=Re(v0(),1),Due=Re(Jn(),1),xdt=Re(nC(),1),bdt="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",va={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},gdt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},Adt=null;function Edt(t){return Due.default.enc.Hex.stringify(Due.default.MD5(t.config.ali.token)).toString()}var gwr=async t=>{let e=await t.db.getObjectDefault("/ali",{});return String(e.token||e[Edt(t)]||"").trim()},Awr=async(t,e)=>{let r=String(e||"").trim();await t.db.push("/ali/token",r),await t.db.push(`/ali/${Edt(t)}`,r)};function ywr(t){return{t:t.t,appName:"aliyun_drive",ck:t.ck,appEntrance:"web",isMobile:"false",lang:"zh_CN",returnUrl:"",navlanguage:"zh-CN",navPlatform:"MacIntel",fromSite:"52",bizParams:""}}function xwr(t){let e=String(t||"").toUpperCase();return e===va.CONFIRMED?va.CONFIRMED:e===va.SCANNED||e==="SCANED"?va.SCANNED:e===va.CANCELED||e==="CANCELLED"?va.CANCELED:e===va.NEW?va.NEW:va.EXPIRED}async function bwr(){return(await Ae.get("https://passport.aliyundrive.com/newlogin/qrcode/generate.do?appName=aliyun_drive&fromSite=52&appName=aliyun_drive&appEntrance=web&isMobile=false&lang=zh_CN&returnUrl=&bizParams=&_bx-v=2.2.3",{headers:{"User-Agent":bdt}})).data?.content?.data}async function Ewr(t){return(await Ae.post("https://passport.aliyundrive.com/newlogin/qrcode/query.do?appName=aliyun_drive&fromSite=52&_bx-v=2.2.3",xdt.default.stringify(ywr(t)),{headers:{"content-type":"application/x-www-form-urlencoded","User-Agent":bdt,referer:"https://www.aliyundrive.com/"}})).data?.content?.data||null}function _wr(t){let e=t?.bizExt;if(!e)return"";let r=Buffer.from(e,"base64").toString("utf8");try{return JSON.parse(r)?.pds_login_result?.refreshToken||""}catch{return JSON.parse(decodeURI(r))?.pds_login_result?.refreshToken||""}}async function Swr(t){let e=await Ewr(t);if(!e)return{status:va.EXPIRED};let r=xwr(e.qrCodeStatus);if(r!==va.CONFIRMED)return{status:r};let n=_wr(e);return n?{status:va.CONFIRMED,cookie:n}:{status:va.EXPIRED}}async function kue(t){t.get("/qrcode",async(e,r)=>{try{let n=await bwr();if(!n?.ck||!n?.t||!n?.codeContent)throw new Error("\u4E8C\u7EF4\u7801\u5185\u5BB9\u7F3A\u5931");Adt={ck:n.ck,t:n.t};let s=gdt.encode(Adt),i=await ydt.default.toBuffer(n.codeContent,{width:300,height:300});r.header("X-Session-Key",s),r.send(i)}catch(n){console.error("\u963F\u91CC\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let n=gdt.decode(e.body?.sessionKey);if(!n)return r.send({code:0,data:{status:va.EXPIRED}});try{let s=await Swr(n);r.send({code:0,data:s})}catch(s){console.error("\u963F\u91CC\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",s),r.send({code:0,data:{status:va.EXPIRED}})}}),t.get("/token",async(e,r)=>{r.send({code:0,data:await gwr(e.server)})}),t.put("/token",async(e,r)=>{let n=e.body?.cookie??e.body?.data?.token??"";await Awr(e.server,n),r.send({code:0})})}var D0n=Re(v0(),1),L0n=Re(Jn(),1);var ME="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",dA={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},_dt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},vwr=async t=>(await t.db.getObjectDefault("/baidu",{}))["baidu_cookie"]??"",Lue=async(t,e)=>{await t.db.push("/baidu/baidu_cookie",e)};function Cwr(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}async function Bue(t){t.get("/qrcode",async(r,n)=>{try{let s=Cwr(),i=new Date().getTime().toString(),a=Math.floor(new Date().getTime()/1e3).toString(),o=`tangram_guid_${i}`,u=(await he.get("https://passport.baidu.com/v2/api/getqrcode",{params:{lp:"pc",qrloginfrom:"pc",gid:s,callback:o,apiver:"v3",tt:a,tpl:"netdisk",_:i},headers:{"User-Agent":ME,Referer:"https://pan.baidu.com","sec-ch-ua-platform":'"Windows"',DNT:"1"}})).data;if(typeof u=="string"){u=u.replace(/^[^(]*\(/,"").replace(/\);?$/,"");let l=JSON.parse(u);if(l.errno===0){let d=_dt.encode({sign:l.sign,channel_id:l.channel_id}),f="https://"+l.imgurl,p=await he.get(f,{responseType:"arraybuffer",headers:{"User-Agent":ME}});n.header("X-Session-Key",d),n.send(p.data)}else throw new Error(`\u83B7\u53D6\u4E8C\u7EF4\u7801\u5931\u8D25: ${l.errmsg||"\u672A\u77E5\u9519\u8BEF"}`)}else throw new Error("\u54CD\u5E94\u683C\u5F0F\u9519\u8BEF")}catch(s){console.error("\u767E\u5EA6\u4E8C\u7EF4\u7801\u83B7\u53D6\u5931\u8D25:",s),n.status(500).send({code:-1,message:s?.message||"\u83B7\u53D6\u4E8C\u7EF4\u7801\u5931\u8D25"})}}),t.post("/check-status",async(r,n)=>{let{sessionKey:s}=r.body,i=_dt.decode(s);if(!i)return n.send({code:0,data:{status:dA.EXPIRED}});let{sign:a}=i;try{let o=new Date().getTime().toString(),c=`tangram_guid_${o}`,l=(await he.get("https://passport.baidu.com/channel/unicast",{params:{channel_id:a,tpl:"netdisk",apiver:"v3",tt:Math.floor(new Date().getTime()/1e3).toString(),callback:c,_:o},headers:{"User-Agent":ME,Referer:"https://pan.baidu.com"}})).data;if(typeof l=="string"){l=l.replace(/^[^(]*\(/,"").replace(/\);?\s*$/,"").trim();let d=JSON.parse(l);if(d.errno===0&&d.channel_v){let f=JSON.parse(d.channel_v);if(f.status===1)return n.send({code:0,data:{status:dA.SCANNED}});if(f.status===0&&f.v){let p=await e(f.v,r.server);return n.send({code:0,data:{status:dA.CONFIRMED,cookie:p}})}}else{if(d.errno===1)return n.send({code:0,data:{status:dA.NEW}});if(d.errno===2)return n.send({code:0,data:{status:dA.EXPIRED}})}}n.send({code:0,data:{status:dA.NEW}})}catch(o){console.error("\u767E\u5EA6\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",o),n.send({code:0,data:{status:dA.NEW}})}});async function e(r,n){let s=new Date().getTime().toString(),i=Math.floor(new Date().getTime()/1e3).toString(),o=(await he.get("https://passport.baidu.com/v3/login/main/qrbdusslogin",{params:{v:s,bduss:r,u:"https://pan.baidu.com/disk/main#/index?category=all",loginVersion:"v5",qrcode:"1",tpl:"netdisk",maskId:"",fileId:"",apiver:"v3",tt:s,traceid:"",time:i,alg:"v3",elapsed:"1"},headers:{"User-Agent":ME,Referer:"https://pan.baidu.com/","Accept-Language":"zh-CN,zh;q=0.9"},timeout:3e4})).data;if(typeof o=="string"){o=o.replace(/^[^(]*\(/,"").replace(/\);?\s*$/,"").trim();let c=o.match(/"bduss":\s*"([^"]+)"/),u=o.match(/"stoken":\s*"([^"]+)"/),l=o.match(/"ptoken":\s*"([^"]+)"/),d=o.match(/"ubi":\s*"([^"]+)"/);if(c&&u&&l&&d){let f=c[1],p=u[1],m=l[1],h=encodeURIComponent(d[1]),g=Object.entries({newlogin:"1",UBI:h,STOKEN:p,BDUSS:f,PTOKEN:m,BDUSS_BFESS:f,STOKEN_BFESS:p,PTOKEN_BFESS:m,UBI_BFESS:h}).map(([x,v])=>`${x}=${v}`).join("; "),y=(await he.get("https://passport.baidu.com/v3/login/api/auth/?return_type=5&tpl=netdisk&u=https://pan.baidu.com/disk/home",{headers:{"User-Agent":ME,Referer:"https://pan.baidu.com/",Cookie:g},maxRedirects:0,validateStatus:x=>x===302||x===200})).headers.location;if(y){let v=(await he.get(y,{headers:{"User-Agent":ME,Referer:"https://pan.baidu.com/",Cookie:g},maxRedirects:0,validateStatus:w=>w===302||w===200})).headers["set-cookie"],C="";if(v){let w=v.find(N=>N.toLowerCase().includes("stoken"));w&&(C=w.split(";")[0])}let R=C?`BDUSS=${f};${C};`:`BDUSS=${f};STOKEN=${p};`;return await Lue(n,R),R}else{let x=`BDUSS=${f};STOKEN=${p};`;return await Lue(n,x),x}}}throw new Error("Cookie\u89E3\u6790\u5931\u8D25")}t.post("/cookie",async(r,n)=>{n.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(r,n)=>{n.send({code:0,data:await vwr(r.server)})}),t.put("/cookie",async(r,n)=>{await Lue(r.server,r.body.cookie),n.send({code:0})})}var Idt=require("crypto");var Tdt=Re(v0(),1),wdt="https://account.guangyapan.com",Mue="aMe-8VSlkrbQXpUR",Sdt="0123456789abcdef0123456789abcdef",Zf={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},Iwr="urn:ietf:params:oauth:grant-type:device_code",vdt={encode(t,e=12e4){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},UM=async(t,e)=>(await t.db.getObjectDefault("/guangyapan",{}))?.[e]||"",c2=async(t,e,r)=>{await t.db.push(`/guangyapan/${e}`,r)};function Rdt(t){if(!t)return{};if(typeof t=="string")try{return JSON.parse(t)}catch{return{message:t}}return t}function Xi(t){return String(t||"").trim()}function Twr(t){let e=String(t||"").trim().toLowerCase();return e=e.replace(/^wdi10\./,""),e=e.replace(/x+$/g,""),e=e.replace(/[^0-9a-f]/g,""),e.length===32?e:""}async function wwr(t){let e=Twr(await UM(t,"device_id"));if(e)return e;let r=Sdt;try{r=(0,Idt.randomBytes)(16).toString("hex")}catch{r=Sdt}return await c2(t,"device_id",r),r}function Ndt(t){return{Accept:"application/json, text/plain, */*","Content-Type":"application/json","X-Client-Id":Mue,"X-Client-Version":"0.0.1","X-Device-Id":t,"X-Device-Model":"chrome%2F147.0.0.0","X-Device-Name":"PC-Chrome","X-Device-Sign":`wdi10.${t}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,"X-Net-Work-Type":"NONE","X-OS-Version":"Win32","X-Platform-Version":"1","X-Protocol-Version":"301","X-Provider-Name":"NONE","X-SDK-Version":"9.0.2"}}function Rwr(t){let e=Xi(t?.access_token||t?.accessToken),r=Xi(t?.refresh_token||t?.refreshToken);return{accessToken:e,refreshToken:r}}function Nwr(t,e){let{accessToken:r,refreshToken:n}=Rwr(e);if(t>=200&&t<300&&(n||r))return{status:Zf.CONFIRMED,accessToken:r,refreshToken:n};let s=Xi(e?.error).toLowerCase();return s==="authorization_pending"||s==="slow_down"?{status:Zf.NEW}:s==="access_denied"?{status:Zf.CANCELED}:s.includes("expired")||s==="invalid_grant"?{status:Zf.EXPIRED}:{status:Zf.NEW}}function Owr(t){let e=Xi(t?.refreshToken);return e||Xi(t?.accessToken)}async function Pwr(t){let e=await Ae.post(`${wdt}/v1/auth/device/code`,{scope:"user",client_id:Mue},{headers:Ndt(t),validateStatus:()=>!0}),r=Rdt(e.data),n=Xi(r?.device_code),s=Xi(r?.verification_uri_complete||r?.verification_url),i=Number(r?.expires_in||120);if(e.status<200||e.status>=300||!n||!s)throw new Error(r?.error_description||r?.message||`status=${e.status}`);return{deviceCode:n,verifyUrl:s,expiresIn:i}}async function Dwr(t){let e=await Ae.post(`${wdt}/v1/auth/token`,{grant_type:Iwr,device_code:t.deviceCode,client_id:Mue},{headers:Ndt(t.deviceId),validateStatus:()=>!0});return Nwr(e.status,Rdt(e.data))}async function Cdt(t,e){let r=Xi(e?.accessToken),n=Xi(e?.refreshToken);n&&await c2(t,"refresh_token",n),r&&await c2(t,"access_token",r)}function kwr(t){let e=Xi(t?.cookie),r=Xi(t?.accessToken||t?.data?.accessToken),n=Xi(t?.refreshToken||t?.data?.refreshToken),s=!1;if(!r&&!n&&e)try{let i=JSON.parse(e);s=!0,r=Xi(i?.accessToken||i?.access_token),n=Xi(i?.refreshToken||i?.refresh_token)}catch{n=e}return!s&&!n&&e&&(n=e),{accessToken:r,refreshToken:n}}async function Wue(t){t.get("/qrcode",async(e,r)=>{try{let n=await wwr(e.server),s=await Pwr(n),i=vdt.encode({deviceCode:s.deviceCode,deviceId:n},Math.max(1e3,s.expiresIn*1e3)),a=await Tdt.default.toBuffer(s.verifyUrl,{width:300,height:300});r.header("X-Session-Key",i),r.type("image/png").send(a)}catch(n){console.error("\u5149\u9E2D\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let n=vdt.decode(e.body?.sessionKey);if(!n)return r.send({code:0,data:{status:Zf.EXPIRED}});try{let s=await Dwr(n);if(s.status===Zf.CONFIRMED)return await Cdt(e.server,s),r.send({code:0,data:{status:Zf.CONFIRMED,cookie:Owr(s)}});r.send({code:0,data:s})}catch(s){console.error("\u5149\u9E2D\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",s),r.send({code:0,data:{status:Zf.NEW}})}}),t.get("/token",async(e,r)=>{r.send({code:0,data:await UM(e.server,"refresh_token")})}),t.put("/token",async(e,r)=>{await Cdt(e.server,kwr(e.body||{})),r.send({code:0})}),t.get("/account",async(e,r)=>{r.send({code:0,data:{accessToken:await UM(e.server,"access_token"),refreshToken:await UM(e.server,"refresh_token")}})}),t.put("/account",async(e,r)=>{await c2(e.server,"access_token",Xi(e.body?.accessToken)),await c2(e.server,"refresh_token",Xi(e.body?.refreshToken)),r.send({code:0})})}var qM=Re(require("crypto"),1),mo=Re(Jn(),1),kdt="https://user-njs.yun.139.com/user",Uue="7.17.4",Lwr="mCloud_4.3.0_536",$ue=670,Bwr=292,Ldt=mo.default.enc.Utf8.parse("h7DLzCTAjn+altjy2a9E9FSt7AC6pmx1"),Odt=`||9|${Uue}|chrome||0||windows 10||zh-CN|||`,que=(t="")=>String(t||"").replace(/^Basic\s+/i,"").trim(),Ca=(t="")=>String(t||"").trim(),Fue=(t="")=>qM.default.createHash("md5").update(String(t)).digest("hex"),Mwr=(t="")=>qM.default.createHash("sha1").update(String(t)).digest("hex"),Wwr=t=>{try{return JSON.stringify(t)}catch{return String(t)}},$wr=t=>{try{return JSON.parse(t)}catch{return null}},Pdt=(t="",e=160)=>String(t).replace(/\s+/g," ").slice(0,e),Fwr=(t,e="\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8FD4\u56DE\u5F02\u5E38")=>typeof t=="string"?t||e:t&&typeof t=="object"?t.message||t.msg||t.desc||t.resultDesc||Wwr(t):t==null?e:String(t),WE=(t="")=>{let e=Ca(t);return e.length<7?e?"***":"":`${e.slice(0,3)}****${e.slice(-4)}`},jue=(t={},e="\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8FD4\u56DE\u5F02\u5E38")=>{let r=String(t.code??t.status??t.resultCode??t.resultcode??""),n=Fwr(t.message??t.msg??t.desc??t.resultDesc??t.errorMessage,r?`${e}\uFF1A${r}`:e),s=new Error(r?`${n}\uFF08${r}\uFF09`:n);return s.yidongCode=r,s.yidongData=t.data,s.yidongResult=t,s.statusCode=t.statusCode,s},Uwr=t=>{let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(let n=0;n<t;n+=1)r+=e[Math.floor(Math.random()*e.length)];return r},qwr=(t={})=>encodeURIComponent(JSON.stringify({...t})).split("").sort().join(""),jwr=(t={})=>{let e=String(Date.now()),r=Uwr(16),n=Fue(Buffer.from(qwr(t)).toString("base64")),s=Fue(`${e}:${r}`);return`${e},${r},${Fue(n+s).toUpperCase()}`},Hwr=(t={},e={})=>({caller:"web","Content-Type":"application/json;charset=UTF-8","CMS-DEVICE":"default","X-Deviceinfo":`||9|${Uue}|chrome||0||windows 10||zh-CN|||`,"x-yun-channel-source":"10000034","x-huawei-channelSrc":"10000034","x-yun-svc-type":"1","x-SvcType":"1","x-m4c-caller":"PC","x-m4c-src":"10002","x-inner-ntwk":"2","mcloud-route":"001","mcloud-version":Uue,"mcloud-channel":"1000101","mcloud-client":"10701","mcloud-sign":jwr(t),"mcloud-skey":"","INNER-HCY-ROUTER-HTTPS":"1",...e}),Bdt=t=>{let e=t?.data||{},r=String(e.code??e.status??e.resultCode??e.resultcode??"");if(e.success===!1||r&&r!=="0"&&r!=="0000")throw jue(e);return e},Qwr=(t={})=>{let e=mo.default.lib.WordArray.random(16),r=mo.default.enc.Utf8.parse(typeof t=="string"?t:JSON.stringify(t)),n=mo.default.AES.encrypt(r,Ldt,{iv:e,mode:mo.default.mode.CBC,padding:mo.default.pad.Pkcs7});return mo.default.enc.Base64.stringify(e.concat(n.ciphertext))},Gwr=(t="")=>{let e=mo.default.enc.Base64.parse(String(t)),r=e.clone(),n=r.words.splice(4);r.init(r.words),e.init(n);let s=mo.default.AES.decrypt(mo.default.enc.Base64.stringify(e),Ldt,{iv:r,mode:mo.default.mode.CBC,padding:mo.default.pad.Pkcs7}).toString(mo.default.enc.Utf8);return JSON.parse(s)},Mdt=(t="")=>{if(typeof t!="string")return t;try{return Gwr(t)}catch(e){let r=$wr(t);return r&&typeof r=="object"?r:(console.warn("[yidong] cool response decrypt failed",{dataLength:String(t).length,dataPreview:Pdt(t),message:e?.message||String(e)}),{success:!1,code:"COOL_DECRYPT_FAILED",message:`\u79FB\u52A8\u4E91\u76D8\u52A0\u5BC6\u54CD\u5E94\u89E3\u6790\u5931\u8D25\uFF1A${Pdt(t)||e?.message||String(e)}`})}},Vwr=t=>{let e=Mdt(t?.data);return Bdt({data:e})},zwr=t=>{let e=qM.default.createDecipheriv("aes-128-ecb",Buffer.from("qPqDw263XgFgL3u8"),null);return e.setAutoPadding(!0),Buffer.concat([e.update(Buffer.from(t,"hex")),e.final()]).toString("utf8")},Kwr=t=>{if(typeof t!="string")return t||{};try{return JSON.parse(zwr(t))}catch{try{return JSON.parse(t)}catch{throw new Error("\u79FB\u52A8\u4E91\u76D8\u767B\u5F55\u7ED3\u679C\u89E3\u6790\u5931\u8D25")}}},Ywr=(t,e)=>!t||!e?"":Buffer.from(`pc:${t}:${e}`,"utf8").toString("base64"),Ddt=async(t,e,r={})=>{try{let n=await Ae.post(`${kdt}${t}`,e,{timeout:3e4,headers:Hwr(e,r)});return Bdt(n)}catch(n){if(n?.response?.data){let s=n.response.data;throw jue(s,"\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8BF7\u6C42\u5931\u8D25")}throw n}},Jwr=async(t,e,r={})=>{let{clientInfo:n,...s}=r;try{let i=await Ae.post(`${kdt}${t}`,Qwr(e),{timeout:3e4,headers:{"Content-Type":"application/json;charset=UTF-8","hcy-cool-flag":"1","x-Nationcode":e.nationCode||"+86","x-deviceinfo":n||Odt,"x-yun-client-info":n||Odt,"x-yun-app-channel":"10000034",...s}});return Vwr(i)}catch(i){if(i?.response?.data){let a=Mdt(i.response.data);throw jue(a,"\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8BF7\u6C42\u5931\u8D25")}throw i}},u2=async(t,e)=>(await t.db.getObjectDefault("/yidong",{}))?.[e]||"",td=async(t,e,r)=>{let n=e==="authorization"?que(r):Ca(r);await t.db.push(`/yidong/${e}`,n),e==="authorization"&&(globalThis.YidongAuthorization=n)},Wdt=async t=>{globalThis.YidongAuthorization=que(await u2(t,"authorization"))};async function Hue(t){t.get("/authorization",async(e,r)=>{let n=que(await u2(e.server,"authorization")),s=Ca(await u2(e.server,"phone"));globalThis.YidongAuthorization=n,r.send({code:0,data:{authorization:n,phone:s,hasAuth:!!n}})}),t.put("/authorization",async(e,r)=>{await td(e.server,"authorization",e.body.authorization),r.send({code:0})}),t.post("/send-code",async(e,r)=>{let n=Ca(e.body?.phone),s=Math.random();try{if(!/^1[3456789]\d{9}$/.test(n)){r.send({code:1,message:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E2D\u56FD\u5927\u9646\u624B\u673A\u53F7"});return}let i={phoneNumber:n,reqType:3,random:s,nationCode:"+86",clientType:$ue},a=await Ddt("/sms/getSmsCode",i,{"x-NationCode":"+86"}),o=Ca(a?.data?.random||a?.random||s);await td(e.server,"phone",n),await td(e.server,"smsRandom",o),await td(e.server,"smsLoginRandom",s),console.info("[yidong] sms code sent",{phone:WE(n),reqType:i.reqType,randomLength:o.length}),r.send({code:0,data:{sent:!0}})}catch(i){if(console.warn("[yidong] send code failed",{phone:WE(e.body?.phone),code:i?.yidongCode,message:i?.message||String(i)}),i?.yidongCode==="200059554"){let a=Number(i?.yidongData?.captchaType||i?.yidongResult?.data?.captchaType||2);await td(e.server,"phone",n),await td(e.server,"smsLoginRandom",s),console.info("[yidong] sms code requires captcha",{phone:WE(n),captchaType:a}),r.send({code:0,data:{captchaRequired:!0,captchaType:a}});return}r.send({code:1,message:i?.message||"\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25"})}}),t.post("/send-code-captcha",async(e,r)=>{try{let n=Ca(e.body?.phone),s=Number(e.body?.captchaType||2),i=e.body?.puzzleVerfycode??e.body?.puzzleVerfyCode,a=Ca(e.body?.clientInfo);if(!/^1[3456789]\d{9}$/.test(n)){r.send({code:1,message:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E2D\u56FD\u5927\u9646\u624B\u673A\u53F7"});return}if(!i){r.send({code:1,message:"\u8BF7\u5148\u5B8C\u6210\u6ED1\u5757\u9A8C\u8BC1"});return}let o=Ca(await u2(e.server,"smsLoginRandom")),c=Number(o),u=o&&Number.isFinite(c)?c:Math.random(),d=await Jwr("/sms/getSmsCode",{phoneNumber:n,reqType:3,random:u,nationCode:"+86",clientType:$ue,captchaType:s,puzzleVerfycode:i},a?{clientInfo:a}:{}),f=Ca(d?.data?.random||d?.random||u);await td(e.server,"phone",n),await td(e.server,"smsRandom",f),console.info("[yidong] sms code sent after captcha",{phone:WE(n),captchaType:s,randomLength:f.length}),r.send({code:0,data:{sent:!0}})}catch(n){console.warn("[yidong] send code after captcha failed",{phone:WE(e.body?.phone),code:n?.yidongCode,message:n?.message||String(n)}),r.send({code:1,message:n?.message||"\u6ED1\u5757\u9A8C\u8BC1\u540E\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25"})}}),t.post("/verify-code",async(e,r)=>{let n="";try{let s=Ca(e.body?.phone),i=Ca(e.body?.code);if(!/^1[3456789]\d{9}$/.test(s)){r.send({code:1,message:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E2D\u56FD\u5927\u9646\u624B\u673A\u53F7"});return}if(!i){r.send({code:1,message:"\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A"});return}n=Ca(await u2(e.server,"smsRandom"));let a={msisdn:s,random:"",dycpwd:i,cpid:Bwr,clienttype:$ue,version:Lwr,pintype:5,secinfo:Mwr(`fetion.com.cn:${i}`).toUpperCase(),verType:2,loginMode:"0",extInfo:{ifOpenAccount:"1"}},o=await Ddt("/thirdlogin",a,{"x-NationCode":"+86"}),c=Kwr(o.data),u=Ca(c.account||s),l=Ca(c.token||c.authToken),d=Ywr(u,l);if(!d){r.send({code:1,message:"\u79FB\u52A8\u4E91\u76D8\u767B\u5F55\u6210\u529F\u4F46\u672A\u8FD4\u56DE\u6709\u6548 token"});return}await td(e.server,"phone",s),await td(e.server,"authorization",d),r.send({code:0,message:"\u767B\u5F55\u6210\u529F",data:{hasAuth:!0,authorization:d}})}catch(s){console.warn("[yidong] verify code failed",{phone:WE(e.body?.phone),codeLength:Ca(e.body?.code).length,smsRandomLength:n.length,message:s?.message||String(s)}),r.send({code:1,message:s?.message||"\u9A8C\u8BC1\u7801\u767B\u5F55\u5931\u8D25"})}})}var jM=[{key:"quark",name:"\u5938\u514B",enable:!0,pic:"https://ts1.cn.mm.bing.net/th/id/R-C.a0d60e6a72806738e6f0b711a979bdf5?rik=lp5C9t5sYlkrLw&riu=http%3a%2f%2fpic.2265.com%2fupload%2f2020-10%2f202010151719492792.png&ehk=Pv6rq3JxJvKe2y1QsdzssyZ4Ez4cwiKWmIvK0aMgxi0%3d&risl=&pid=ImgRaw&r=0",chunkSize:512,poolSize:10,noSaveMode:!1},{key:"uc",name:"UC",enable:!0,pic:"https://ts1.cn.mm.bing.net/th/id/R-C.421c96e47df7c9719403654ee4f7c281?rik=yiiEoGCTgDDc3w&riu=http%3a%2f%2fpic.9663.com%2fupload%2f2023-5%2f20235111411256277.png&ehk=R81N%2flXMrl%2bxpRlST8DtHXDfab6rzaMb83gihuD71Fk%3d&risl=&pid=ImgRaw&r=0",chunkSize:512,poolSize:10},{key:"ali",name:"\u963F\u91CC",enable:!0,pic:"https://inews.gtimg.com/newsapp_bt/0/13263837859/1000",chunkSize:128,poolSize:20},{key:"baidu",name:"\u767E\u5EA6",enable:!0,pic:"https://nd-static.bdstatic.com/m-static/v20-main/home/img/icon-home-new.b4083345.png"},{key:"xunlei",name:"\u8FC5\u96F7",enable:!0,pic:"https://img.geekie.site/i/2026/03/22/190713.png"},{key:"tianyi",name:"\u5929\u7FFC",enable:!0,pic:"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/a8/fa/f0/a8faf032-0fa4-d9c5-ac70-920d9c84dff1/AppIcon-0-0-1x_U007emarketing-0-7-0-0-sRGB-85-220.png/350x350.png"},{key:"yidong",name:"\u79FB\u52A8",enable:!0,pic:"https://yun.139.com/w/static/img/LOGO.png"},{key:"123",name:"123",enable:!0,pic:"https://statics.123957.com/static/favicon.ico"},{key:"115",name:"115",enable:!0,pic:"https://img.pcsoft.com.cn/soft/202104/093230-608b5e2ed5912.jpg"},{key:"guangyapan",name:"\u5149\u9E2D",enable:!0,pic:"https://www.guangyapan.com/icon.png"}],Que=async t=>{let r=(await t.db.getObjectDefault("/pans",{}))?.list||t.config.pans.list;return r.filter(n=>jM.some(s=>s.key===n.key)).concat(jM.filter(n=>!r.some(s=>s.key===n.key))).map(n=>({...jM.find(i=>i.key===n.key),...n}))},Xwr=async(t,e)=>{await t.db.push("/pans/list",e),globalThis.Pans=e},Zwr=async t=>{await t.db.delete("/pans/list"),globalThis.Pans=jM};async function Gue(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await Que(e.server)})}),t.put("/list",async(e,r)=>{await Xwr(e.server,e.body.list),r.send({code:0})}),t.delete("/list",async(e,r)=>{await Zwr(e.server),r.send({code:0})})}var $dt=Re(Cv(),1);async function Vue(t){t.get("/",async(e,r)=>{r.header("Content-Disposition",`attachment; filename="config.${(0,$dt.default)().format("YYYY-MM-DD")}.json"`);let n=await e.server.db.getData("/");r.send(JSON.stringify(n,null,4))}),t.put("/",async(e,r)=>{await e.server.db.push("/",e.body),r.send({code:0})})}var Fdt=Re(require("crypto"),1);function Ut(t=[],e=null){let r=Array.isArray(t)?t:[];return{Items:r,TotalRecordCount:typeof e=="number"?e:r.length}}function Xr(t,e,r=""){if(!t||typeof t!="object")return r;for(let n of e)if(t[n]!==void 0&&t[n]!==null)return t[n];return r}function zue(t,e){return typeof t!="string"||!t.trim()?[]:t.split(e).map(r=>String(r||"").trim()).filter(Boolean)}function e2r(t){let e=String(t||""),r=e.lastIndexOf("$");return r<=0?{name:e||"\u64AD\u653E",playId:""}:{name:e.slice(0,r).trim()||"\u64AD\u653E",playId:e.slice(r+1).trim()}}function ho(t,e){let r=zue(t,"$$$"),n=zue(e,"$$$"),s=Math.max(r.length,n.length),i=[];for(let a=0;a<s;a++){let c=zue(n[a]||"","#").map(e2r).filter(u=>u.playId);i.push({flag:r[a]||`\u7EBF\u8DEF${a+1}`,episodes:c})}return i}function fA(t,e=1){let r=Number.parseInt(Yw(String(t||"")),10);if(Number.isInteger(r)&&r>0)return r;let n=Number.parseInt(String(e||1),10);return Number.isInteger(n)&&n>0?n:1}function t2r(t,e=""){let r=[];for(let n=0;n<t.length;n+=2){let s=String(t[n]||"").trim(),i=Yue(t[n+1]||"");i&&r.push({label:s,url:i})}if(!r.length)return t.map(s=>Yue(s)).find(Boolean)||"";if(e){let n=r.find(s=>s.label===e);if(n)return n.url}return r[0].url}function Kue(t=""){return/^(https?:\/\/|push:\/\/)/i.test(String(t||"").trim())}function Yue(t=""){let e=String(t||"").trim();if(!e)return"";if(Kue(e))return e;let r=e.split("#").map(n=>String(n||"").trim()).filter(Boolean);for(let n of r){if(Kue(n))return n;let i=n.split(",").map(c=>String(c||"").trim()).filter(Boolean).find(c=>Kue(c));if(i)return i;let a=n.match(/(https?:\/\/[^\s,]+)/i);if(a?.[1])return a[1].trim();let o=n.match(/(push:\/\/[^\s,]+)/i);if(o?.[1])return o[1].trim()}return""}function um(t,e=""){let r=t?.url||"";Array.isArray(r)?r=t2r(r,e):r=Yue(r),typeof r!="string"&&(r="");let n={};return t?.header&&typeof t.header=="object"&&Object.keys(t.header).forEach(s=>{let i=t.header[s];i!=null&&(n[s]=String(i))}),{parse:Number(t?.parse||0),url:r.trim(),header:n}}function Pu(t,e=60){let r=Number(t);return!Number.isFinite(r)||r<=0?e:Math.min(200,r)}function Ia(t=[],e=0,r=60){let n=Array.isArray(t)?t:[],s=Math.max(0,Number(e)||0),i=Pu(r,60);return n.slice(s,s+i)}function ss(t={}){return{IsFavorite:!1,Played:!1,PlayCount:0,PlaybackPositionTicks:0,...t}}function $E(t={}){let e=`${t?.vod_name||""} ${t?.vod_remarks||""}`;return/(更新|第\s*\d+\s*[集话期]|连载|season|s\d+e\d+)/i.test(e)?"Series":"Movie"}function Ws(){return new Date().toISOString()}function r2r(t={}){if(typeof t=="string")try{t=JSON.parse(t)}catch{t={}}return{username:String(t?.username||t?.Username||t?.name||t?.Name||""),password:String(t?.pw||t?.Pw||t?.password||t?.Password||"")}}function n2r(t=""){let e={};return String(t).replace(/^MediaBrowser\s+/i,"").replace(/^Emby\s+/i,"").replace(/,\s+/g,",").split(",").forEach(n=>{let[s,i]=n.split("="),a=String(s||"").trim().toLowerCase(),o=String(i||"").replace(/"/g,"").trim();a&&o&&(e[a]=o)}),e}function s2r(t){let e=t.query||{},r=n2r(t.headers?.["x-emby-authorization"]||t.headers?.authorization||"");return{client:r.client||String(e["x-emby-client"]||e["X-Emby-Client"]||""),device:r.device||String(e["x-emby-device-name"]||e["X-Emby-Device-Name"]||""),deviceId:r.deviceid||String(e["x-emby-device-id"]||e["X-Emby-Device-Id"]||""),version:r.version||String(e["x-emby-client-version"]||e["X-Emby-Client-Version"]||"")}}function i2r(t){let e=Ws();return{Name:t.user.name,ServerId:t.config.serverId,Id:t.user.id,HasPassword:!0,HasConfiguredPassword:!0,HasConfiguredEasyPassword:!1,EnableAutoLogin:!1,LastLoginDate:e,LastActivityDate:e,Policy:{IsAdministrator:!0,IsHidden:!1,IsDisabled:!1,EnableRemoteAccess:!0,EnableContentDeletion:!1,EnableContentDownloading:!0,EnableSyncTranscoding:!0,EnableMediaPlayback:!0,EnableAudioPlaybackTranscoding:!0,EnableVideoPlaybackTranscoding:!0,EnablePlaybackRemuxing:!0,EnableSubtitleManagement:!1,AuthenticationProviderId:"Emby.Server.Implementations.Library.DefaultAuthenticationProvider"},Configuration:{PlayDefaultAudioTrack:!0,DisplayMissingEpisodes:!1,SubtitleMode:"Default",EnableLocalPassword:!1,HidePlayedInLatest:!0,RememberAudioSelections:!0,RememberSubtitleSelections:!0}}}function a2r(t,e,r){let n=Ws();return{PlayState:{CanSeek:!0,IsPaused:!1,IsMuted:!1,RepeatMode:"RepeatNone",SubtitleOffset:0,PlaybackRate:1},AdditionalUsers:[],RemoteEndPoint:"mycatpaw",PlayableMediaTypes:["Video"],PlaylistIndex:0,PlaylistLength:0,Id:e.Id,ServerId:t.config.serverId,UserId:e.Id,UserName:e.Name,Client:r.client,LastActivityDate:n,DeviceName:r.device,InternalDeviceId:0,DeviceId:r.deviceId,ApplicationVersion:r.version||t.config.version,SupportedCommands:[],SupportsRemoteControl:!1}}async function Jue(t){let e=new Map,r=5,n=60*1e3;function s(a){let o=Date.now(),c=e.get(a);return!c||o-c.windowStart>n?!1:c.count>=r}function i(a){let o=Date.now(),c=e.get(a);!c||o-c.windowStart>n?e.set(a,{count:1,windowStart:o}):c.count++}t.get("/Public",async()=>[]),t.post("/AuthenticateByName",async(a,o)=>{let c=t.embyContext;if(!c.config.enable)return o.code(503),"Emby disabled";let u=a.ip||"unknown";if(s(u))return o.code(429),"\u8BF7\u6C42\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5";let l=r2r(a.body||{});if(console.log("[Emby Auth] login attempt:",JSON.stringify({username:l.username,hasPassword:!!l.password,ip:u})),l.username!==c.config.username||l.password!==c.config.password)return i(u),o.code(401),"\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF";let d=Fdt.default.randomBytes(24).toString("hex"),f=s2r(a),p=Date.now(),m=c.config.tokenTtlMs>0?p+c.config.tokenTtlMs:0;c.tokens.set(d,{token:d,userId:c.user.id,userName:c.user.name,createdAt:p,lastUsedAt:p,expireAt:m,device:f});let h=i2r(c),A=a2r(c,h,f);return{User:h,SessionInfo:A,AccessToken:d,ServerId:c.config.serverId}}),t.post("/Logout",{preHandler:t.embyRequireAuth},async(a,o)=>{a.embyToken&&t.embyContext.tokens.delete(a.embyToken),o.code(204).send()}),t.get("/Me",{preHandler:t.embyRequireAuth},async a=>({Name:a.embyUser?.Name||t.embyContext.user.name,Id:a.embyUser?.Id||t.embyContext.user.id,ServerId:t.embyContext.config.serverId,Policy:{},Configuration:{},EnableAutoLogin:!1,LastLoginDate:Ws(),LastActivityDate:Ws()}))}async function Xue(t){t.get("/Info/Public",async()=>{let e=t.embyContext.config;return{LocalAddresses:[],RemoteAddresses:[],ServerName:e.serverName,Version:e.version,Id:e.serverId}}),t.get("/Info",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config;return{SystemUpdateLevel:"Release",OperatingSystemDisplayName:"Node.js",HasPendingRestart:!1,IsShuttingDown:!1,HasImageEnhancers:!1,SupportsLibraryMonitor:!1,SupportsLocalPortConfiguration:!1,SupportsWakeServer:!1,CanSelfRestart:!1,CanSelfUpdate:!1,CanLaunchWebBrowser:!1,ProgramDataPath:"/",ItemsByNamePath:"/metadata",CachePath:"/cache",LogPath:"/logs",InternalMetadataPath:"/metadata",TranscodingTempPath:"/tmp",HttpServerPortNumber:8096,SupportsHttps:!1,HttpsPortNumber:8920,HasUpdateAvailable:!1,SupportsAutoRunAtStartup:!1,HardwareAccelerationRequiresPremiere:!1,WakeOnLanInfo:{MacAddress:"",BroadcastAddress:"",Port:0},IsInMaintenanceMode:!1,LocalAddress:"",LocalAddresses:[],WanAddress:"",RemoteAddresses:[],ServerName:e.serverName,Version:e.version,Id:e.serverId}}),t.get("/Ping",async(e,r)=>(r.type("text/plain; charset=utf-8"),"MyCatPaw Emby")),t.get("/Endpoint",async()=>({IsInNetwork:!0}))}var Udt=new Set(["lib","cat","vod","sea","ep","img","media"]);function wn(t,e={}){if(!Udt.has(t))throw new Error(`Unsupported item type: ${t}`);let r=JSON.stringify(e||{}),n=Buffer.from(r,"utf8").toString("base64url");return`${t}:${n}`}function $s(t){if(typeof t!="string")return null;let e=t.indexOf(":");if(e<=0)return null;let r=t.slice(0,e);if(!Udt.has(r))return null;let n=t.slice(e+1);if(!n)return null;try{let s=Buffer.from(n,"base64url").toString("utf8"),i=JSON.parse(s);return!i||typeof i!="object"?null:{type:r,payload:i}}catch{return null}}function Zue(t,e){let r=wn("lib",{k:t.spiderKey,t:t.spiderType,...t.siteName?{n:t.siteName}:{},...t.apiBase?{a:t.apiBase}:{}});return{Name:t.siteName,ServerId:e,Id:r,Guid:r,Etag:r,IsFolder:!0,Type:"CollectionFolder",PrimaryImageAspectRatio:1.7778,CanDelete:!1,CanDownload:!1,DisplayPreferencesId:r,UserData:ss(),ImageTags:{Primary:r},BackdropImageTags:[],ChildCount:0}}async function ele(t){t.get("/MediaFolders",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId,r=await Xl(t);return Ut(r.map(n=>Zue(n,e)))}),t.get("/VirtualFolders",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId;return(await Xl(t)).map(n=>{let s=Zue(n,e);return{Name:s.Name,Locations:[],LibraryOptions:{},ItemId:s.Id,Id:s.Id,Guid:s.Guid}})}),t.get("/SelectableMediaFolders",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId,r=await Xl(t);return Ut(r.map(n=>{let s=Zue(n,e);return{Name:s.Name,Id:s.Id,Path:"",Type:"Virtual"}}))}),t.post("/Refresh",{preHandler:t.embyRequireAuth},async(e,r)=>{r.code(204).send()}),t.post("/RefreshMediaLibrary",{preHandler:t.embyRequireAuth},async(e,r)=>{r.code(204).send()})}var o2r="/embyPlayback",c2r=.92,u2r=1500;function HM(t,e=0){let r=Number(t);return Number.isFinite(r)?r:e}function tle(t,e=!1){if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["1","true","yes","on"].includes(r)?!0:["0","false","no","off"].includes(r)?!1:e}function l2r(t){if(t instanceof Date){let n=t.getTime();return Number.isFinite(n)?new Date(n).toISOString():""}let e=String(t||"").trim();if(!e)return"";let r=Date.parse(e);return Number.isFinite(r)?new Date(r).toISOString():""}function QM(t){let e=t&&typeof t=="object"?t:{};return{users:e.users&&typeof e.users=="object"?e.users:{}}}function lm(t){let e=t?.embyContext;return!e||typeof e!="object"?QM(null):((!e.playbackState||typeof e.playbackState!="object")&&(e.playbackState=QM(null)),(!e.playbackState.users||typeof e.playbackState.users!="object")&&(e.playbackState.users={}),e.playbackState)}function pA(t,e){let r=String(e||"").trim();return r?((!t.users[r]||typeof t.users[r]!="object")&&(t.users[r]={items:{}}),(!t.users[r].items||typeof t.users[r].items!="object")&&(t.users[r].items={}),t.users[r]):null}function ep(t,e=""){let r=t&&typeof t=="object"?t:{};return{itemId:String(e||r.itemId||"").trim(),name:String(r.name||"").trim(),isFavorite:!!r.isFavorite,played:!!r.played,playCount:Math.max(0,Math.floor(HM(r.playCount,0))),playbackPositionTicks:Math.max(0,Math.floor(HM(r.playbackPositionTicks,0))),lastPlayedDate:l2r(r.lastPlayedDate),mediaSourceId:String(r.mediaSourceId||"").trim()}}function qdt(t={}){return Date.parse(String(t?.lastPlayedDate||""))||0}function d2r(t=""){let e=String(t||"").trim();return e?e.match(/\d{4}/)?.[0]||e:""}function Hdt(t={}){let e=String(t.k||"").trim(),r=String(t.v||"").trim();if(!e||!r)return null;let n=d2r(t.y);return{k:e,t:Number(t.t||3),v:r,...t.n?{n:String(t.n||"")}:{},...t.u?{u:String(t.u||"")}:{},...t.r?{r:String(t.r||"")}:{},...n?{y:n}:{}}}function f2r(t={}){let e=Hdt(t);return e?{...e,l:Number(t.l||0)}:null}function p2r(t={}){let e=Hdt(t);return e?wn("vod",e):""}function m2r(t={}){let e=f2r(t);return e?wn("sea",e):""}function Qdt(t){return t?.type==="ep"||t?.type==="media"}function h2r(t,e){if(!Qdt(t)||!["vod","sea"].includes(e?.type))return!1;let r=t.payload||{},n=e.payload||{};return!(String(r.k||"")!==String(n.k||"")||Number(r.t||3)!==Number(n.t||3)||String(r.v||"")!==String(n.v||"")||e.type==="sea"&&Number(r.l||0)!==Number(n.l||0))}function Gdt(t,e,r,n={}){let s=$s(String(r||""));if(!["vod","sea"].includes(s?.type))return[];let i=lm(t),a=pA(i,e);if(!a)return[];let o=!!n?.includePlayed;return Object.entries(a.items||{}).map(([c,u])=>({record:ep(u,c),decoded:$s(c)})).filter(({record:c,decoded:u})=>!h2r(u,s)||c.playbackPositionTicks<=0?!1:o||!c.played).sort((c,u)=>qdt(u.record)-qdt(c.record))}function l2(t,e,r,n={}){return Gdt(t,e,r,n)[0]||null}async function jdt(t){try{if(!t?.db?.push)return;await t.db.push(o2r,lm(t))}catch{}}function GM(t,e=!1){let r=t?.embyContext;if(!(!r||typeof r!="object")){if(e){r.playbackPersistTimer&&(clearTimeout(r.playbackPersistTimer),r.playbackPersistTimer=null),jdt(t);return}r.playbackPersistTimer||(r.playbackPersistTimer=setTimeout(async()=>{r.playbackPersistTimer=null,await jdt(t)},u2r))}}function g2r(t={},e=""){let r=[t?.ItemId,t?.itemId,t?.NowPlayingItem?.Id,t?.nowPlayingItem?.Id,t?.PlayingItemId,t?.playingItemId,t?.PlayableItemId,t?.playableItemId,e];for(let n of r){let s=String(n||"").trim();if(s)return s}return""}function A2r(t={}){let e=[t?.PositionTicks,t?.positionTicks,t?.PlaybackPositionTicks,t?.playbackPositionTicks,t?.Position,t?.position];for(let r of e){let n=Math.floor(HM(r,NaN));if(Number.isFinite(n)&&n>=0)return n}return 0}function y2r(t={}){let e=[t?.RunTimeTicks,t?.runTimeTicks,t?.NowPlayingItem?.RunTimeTicks,t?.nowPlayingItem?.runTimeTicks];for(let r of e){let n=Math.floor(HM(r,NaN));if(Number.isFinite(n)&&n>0)return n}return 0}function x2r(t,e,r,n){return tle(t?.Played,!1)||tle(t?.IsPlayed,!1)||e==="played"?!0:e!=="stopped"||n<=0?!1:r/n>=c2r}function b2r(t,e,r){let n=String(r||"").trim();if(!n)return null;let s=lm(t),i=pA(s,e);if(!i)return null;let a=i.items[n];return!a||typeof a!="object"?null:ep(a,n)}function Fo(t,e,r,n={}){let s=String(r||"").trim();if(!s)return ss(n);let i=b2r(t,e,s),o=l2(t,e,s)?.record||null||i;return o?ss({...n,IsFavorite:!!(i?.isFavorite||o.isFavorite),Played:o.played,PlayCount:o.playCount,PlaybackPositionTicks:o.playbackPositionTicks,...o.lastPlayedDate?{LastPlayedDate:o.lastPlayedDate}:{}}):ss(n)}function Fs(t,e,r=[]){return!Array.isArray(r)||!r.length||r.forEach(n=>{!n||!n.Id||(n.UserData=Fo(t,e,String(n.Id||""),n.UserData||{}))}),r}async function d2(t,e,r={},n="progress"){let s=g2r(r);if(!s)return null;let i=lm(t),a=pA(i,e);if(!a)return null;let o=ep(a.items[s],s),c=A2r(r),u=y2r(r),l=x2r(r,n,c,u),d=ep(o,s);d.lastPlayedDate=Ws(),c>0&&(d.playbackPositionTicks=c);let f=String(r?.ItemName||r?.itemName||r?.Name||r?.name||r?.NowPlayingItem?.Name||"").trim();f&&(d.name=f);let p=String(r?.MediaSourceId||r?.mediaSourceId||"").trim();return p&&(d.mediaSourceId=p),l?(d.played=!0,d.playCount=Math.max(1,d.playCount+(o.played?0:1)),d.playbackPositionTicks=0):n!=="ping"&&(c>0||n==="stopped"||n==="progress"||n==="playing")&&(d.played=!1),(r?.IsFavorite!==void 0||r?.isFavorite!==void 0)&&(d.isFavorite=tle(r?.IsFavorite??r?.isFavorite,d.isFavorite)),a.items[s]=d,GM(t,n==="stopped"),d}async function Vdt(t,e,r,n){let s=String(r||"").trim();if(!s)return ss();let i=lm(t),a=pA(i,e);if(!a)return ss();let o=ep(a.items[s],s),c=ep(o,s);return c.played=!!n,c.lastPlayedDate=Ws(),c.played&&(c.playCount=Math.max(1,c.playCount+(o.played?0:1))),c.playbackPositionTicks=0,a.items[s]=c,GM(t,!0),Fo(t,e,s)}async function zdt(t,e,r,n){let s=String(r||"").trim();if(!s)return ss();let i=lm(t),a=pA(i,e);if(!a)return ss();let o=ep(a.items[s],s);return o.isFavorite=!!n,o.lastPlayedDate=Ws(),a.items[s]=o,GM(t,!0),Fo(t,e,s)}async function Kdt(t,e,r){let n=String(r||"").trim();if(!n)return ss();let s=lm(t),i=pA(s,e);if(!i)return ss();let a=new Set([n,...Gdt(t,e,n).map(({record:o})=>o.itemId)]);for(let o of a){let c=ep(i.items[o],o);c.played=!1,c.playbackPositionTicks=0,c.lastPlayedDate=Ws(),i.items[o]=c}return GM(t,!0),Fo(t,e,n)}function E2r(t=""){let e=$s(String(t||""));return e?e.type==="vod"?{type:"Series",isFolder:!0,canPlay:!1,mediaType:"Video"}:e.type==="sea"?{type:"Season",isFolder:!0,canPlay:!1,mediaType:void 0}:e.type==="ep"||e.type==="media"?{type:"Episode",isFolder:!1,canPlay:!0,mediaType:"Video"}:{type:"Video",isFolder:!1,canPlay:!0,mediaType:"Video"}:{type:"Video",isFolder:!1,canPlay:!0,mediaType:"Video"}}function _2r(t){if(t?.name)return String(t.name);let e=$s(String(t?.itemId||"")),r=String(e?.payload?.n||"").trim();return r||"\u7EE7\u7EED\u64AD\u653E"}function S2r(t,e,r,n){let s=$s(String(n?.itemId||""));if(Qdt(s)){let a=p2r(s.payload||{});if(a){let o=m2r(s.payload||{});return{Name:String(s?.payload?.n||n?.name||"").trim()||"\u7EE7\u7EED\u64AD\u653E",Id:a,ServerId:r,IsFolder:!0,Type:"Series",MediaType:"Video",CollectionType:"tvshows",...o?{SeasonId:o}:{},DateCreated:n.lastPlayedDate||Ws(),ImageTags:{Primary:a},BackdropImageTags:[],UserData:Fo(t,e,a)}}}let i=E2r(n.itemId);return{Name:_2r(n),Id:n.itemId,ServerId:r,IsFolder:i.isFolder,Type:i.type,...i.mediaType?{MediaType:i.mediaType}:{},...i.canPlay?{CanPlay:!0}:{},DateCreated:n.lastPlayedDate||Ws(),ImageTags:{Primary:n.itemId},BackdropImageTags:[],UserData:Fo(t,e,n.itemId)}}function v2r(t={}){let e=$s(String(t?.Id||"")),r=e?.payload||{},n=String(r.k||"").trim(),s=String(r.v||"").trim();return e?.type==="vod"&&n&&s?`series:${n}:${Number(r.t||3)}:${s}`:e?.type==="sea"&&n&&s?`season:${n}:${Number(r.t||3)}:${s}:${Number(r.l||0)}`:`item:${String(t?.Id||"")}`}function Ydt(t,e,r){let n=lm(t),s=pA(n,e);if(!s)return[];let i=Object.entries(s.items||{}).map(([c,u])=>ep(u,c)).filter(c=>c.playbackPositionTicks>0&&!c.played).sort((c,u)=>{let l=Date.parse(String(c.lastPlayedDate||""))||0;return(Date.parse(String(u.lastPlayedDate||""))||0)-l}),a=new Set,o=[];for(let c of i){let u=S2r(t,e,r,c),l=v2r(u);!u?.Id||a.has(l)||(a.add(l),o.push(u))}return o}var C2r="https://api.themoviedb.org/3",Jdt=8e3,I2r=2,Xdt=20,Zdt=20;function eft(t=0){return new Promise(e=>setTimeout(e,Math.max(0,Number(t)||0)))}function f2(t){let e=t.embyContext?.config||{},r=String(e.tmdbApiKey||"").trim();return!e.tmdbEnable||!r?null:{apiKey:r,language:String(e.tmdbLanguage||"zh-CN"),imageBase:String(e.tmdbImageBase||"https://image.tmdb.org/t/p/original").replace(/\/+$/,""),timeoutMs:Jdt}}function tft(t="zh-CN"){let e=String(t||"zh-CN").trim().split(/[-_]/)[0].toLowerCase(),r=new Set;return e&&r.add(e),r.add("en"),r.add("null"),Array.from(r).join(",")}function T2r(t){let e=t.embyContext;return e.tmdbClientState||(e.tmdbClientState={tokens:Zdt,lastRefillAt:Date.now()}),e.tmdbClientState}function w2r(t){let e=Date.now(),r=Math.max(0,e-t.lastRefillAt)/1e3;r<=0||(t.tokens=Math.min(Zdt,t.tokens+r*Xdt),t.lastRefillAt=e)}async function R2r(t){let e=T2r(t);for(;;){if(w2r(e),e.tokens>=1){e.tokens-=1;return}let r=Math.max(0,1-e.tokens),n=Math.max(50,Math.ceil(r/Xdt*1e3));await eft(n)}}function N2r(t){let e=Number(t?.response?.status||0);return!e||e===429||e>=500}function O2r(t,e=0){let r=Number(t?.response?.headers?.["retry-after"]||0);return Number.isFinite(r)&&r>0?r*1e3:Math.min(4e3,500*(e+1))}function mA(t){return!!f2(t)}function p2(t,e=""){let r=String(e||"").trim();return r?/^https?:\/\//i.test(r)?r:`${f2(t)?.imageBase||"https://image.tmdb.org/t/p/original"}${r.startsWith("/")?"":"/"}${r}`:""}async function m2(t,e,r={},n={}){let s=f2(t);if(!s)return null;let i={...r||{}};i.language||(i.language=s.language);let a=Math.max(0,Number(n.maxRetries??I2r)||0);for(let o=0;o<=a;o+=1){await R2r(t);try{return(await Ae.get(`${C2r}${e}`,{params:{api_key:s.apiKey,...i},timeout:Number(n.timeoutMs||s.timeoutMs||Jdt),headers:{Accept:"application/json"}})).data||null}catch(c){if(o>=a||!N2r(c))return null;await eft(O2r(c,o))}}return null}async function rft(t,e,r=null){return m2(t,"/search/tv",{query:e,...r?{first_air_date_year:r}:{}})}async function nft(t,e,r=null){return m2(t,"/search/movie",{query:e,...r?{primary_release_year:r}:{}})}async function sft(t,e){let r=f2(t);return m2(t,`/tv/${Number(e)}`,{append_to_response:"external_ids,content_ratings,images,credits",include_image_language:tft(r?.language||"zh-CN")})}async function ift(t,e){let r=f2(t);return m2(t,`/movie/${Number(e)}`,{append_to_response:"external_ids,release_dates,images,credits",include_image_language:tft(r?.language||"zh-CN")})}async function aft(t,e,r){return m2(t,`/tv/${Number(e)}/season/${Number(r)}`)}function Mn(t=""){return String(t||"").trim()}function oft(t=[]){let e=[],r=new Set;for(let n of t){let s=Mn(n);!s||r.has(s)||(r.add(s),e.push(s))}return e}function P2r(t=""){let e=Mn(t);if(!e)return null;let r=e.replace(/[·•::\-_.!!??,,'"/\\()[\]{}【】《》\s]+$/g,"");if(!r)return null;let n=r.match(/([1-9]\d{0,2})$/);if(!n?.[1])return null;let s=Number.parseInt(n[1],10);return!Number.isInteger(s)||s<=0||s>50?null:s}function uft({explicitSources:t=[],suffixSources:e=[]}={}){for(let r of oft(t)){let n=Number.parseInt(Bce(r),10);if(Number.isInteger(n)&&n>0)return{seasonNumber:n,explicit:!0,strategy:"pattern"}}for(let r of oft(e)){let n=P2r(r);if(Number.isInteger(n)&&n>0)return{seasonNumber:n,explicit:!0,strategy:"title_suffix"}}return{seasonNumber:null,explicit:!1,strategy:"none"}}function D2r(t="",e={},r="tv"){let n=String(t||"");if(r!=="tv"||!n||String(e?.seasonHintStrategy||"")!=="title_suffix")return"";let s=Number.parseInt(String(e?.seasonNumber||""),10);if(!Number.isInteger(s)||s<=0)return"";let i=String(s);if(!n.endsWith(i))return"";let a=n.slice(0,Math.max(0,n.length-i.length));return a.length>=2?a:""}function cft(t="",e=""){return!t||!e?0:t===e?1:t.includes(e)||e.includes(t)?Math.min(.95,Math.min(t.length,e.length)/Math.max(t.length,e.length)+.15):NQ(t,e).length/Math.max(t.length,e.length)}function hA(t=""){let e=Mn(t).match(/\b(19|20)\d{2}\b/);return e?.[0]?Number(e[0]):null}function rle(t=""){let e=Mn(t);return Mn(sA(e)||e).toLowerCase().replace(/[·•::\-_.!!??,,'"/\\()[\]{}【】《》\s]+/g,"").replace(/第[一二三四五六七八九十百千万亿\d]+季/g,"").replace(/年番总集篇|年番合集篇|总集篇|合集篇|年番/g,"")}function lft(t={}){let e=Mn(t?.tmdbHintTitle||t?.vod_name||t?.name||""),r=Mn(sA(e)||e),n=Mn(t?.tmdbHintRemarks||t?.vod_remarks||""),s=uft({explicitSources:[Mn(t?.tmdbHintTitle),Mn(t?.tmdbHintRemarks),e,n,Mn(t?.vod_name),Mn(t?.vod_remarks)],suffixSources:[e,r,Mn(t?.tmdbHintTitle),Mn(t?.vod_name),Mn(t?.name)]});return{rawTitle:e,cleanedTitle:r,normalizedTitle:rle(r||e),altTitle:n,year:hA(t?.tmdbHintYear||t?.vod_year),seasonNumber:s.seasonNumber,seasonHintStrategy:s.strategy}}function nle(t={},e=null){let r=uft({explicitSources:[Mn(t?.tmdbHintTitle),Mn(t?.tmdbHintRemarks),Mn(t?.vod_name),Mn(t?.vod_remarks),Mn(e?.flag)],suffixSources:[Mn(t?.tmdbHintTitle),Mn(t?.vod_name),Mn(t?.name)]});return Number.isInteger(r.seasonNumber)&&r.seasonNumber>0?{seasonNumber:r.seasonNumber,explicit:r.explicit,strategy:r.strategy}:{seasonNumber:1,explicit:!1,strategy:"default"}}function dft(t={},e="tv"){return Mn(e==="movie"?t?.title||t?.original_title||t?.name||t?.original_name||"":t?.name||t?.original_name||t?.title||t?.original_title||"")}function k2r(t={},e="tv"){return hA(e==="movie"?t?.release_date:t?.first_air_date)}function L2r(t,e,r){let n=rle(t?.cleanedTitle||t?.rawTitle||""),s=D2r(n,t,r),i=rle(dft(e,r)),a=cft(n,i),o=cft(s,i);return Math.max(a,o)}function B2r(t,e,r){let n=r==="tv"&&String(t?.seasonHintStrategy||"")==="title_suffix"&&Number.parseInt(String(t?.seasonNumber||""),10)>1;if(!t?.year)return .5;let s=k2r(e,r);if(!s)return n?.5:.2;let i=Math.abs(t.year-s);return n&&i>=2?.5:i===0?1:i===1?.7:i===2?.4:0}function M2r(t,e,r){if(r!=="tv"||!t?.seasonNumber)return .5;let n=Number.parseInt(Bce(dft(e,r)),10)||null;return n?n===t.seasonNumber?1:.2:.5}function W2r(t,e,r="tv"){let n=L2r(t,e,r),s=B2r(t,e,r),i=M2r(t,e,r),a=Math.min(Number(e?.popularity||0)/100,1),o=Math.min(Number(e?.vote_average||0)/10,1),c=Math.max(a,o),u=Number((n*.7+s*.2+i*.05+c*.05).toFixed(4));return{title:Number(n.toFixed(4)),year:Number(s.toFixed(4)),season:Number(i.toFixed(4)),heat:Number(c.toFixed(4)),score:u}}function fft(t,e=[],r="tv"){let n=(Array.isArray(e)?e:[]).map(i=>{let a=W2r(t,i,r);return{candidate:i,score:a.score,breakdown:a}}).sort((i,a)=>a.score-i.score),s=n[0]||null;return!s||s.score<.5?{status:"NO_MATCH",best:null,candidates:n.slice(0,3)}:s.score<.8?{status:"CANDIDATE",best:s,candidates:n.slice(0,3)}:{status:"MATCH",best:s,candidates:n.slice(0,3)}}function VM(t={},e=null,r=0){return nle(t,e).seasonNumber}var AA={BINDING:30*24*60*60*1e3,DETAIL:7*24*60*60*1e3,SEASON:7*24*60*60*1e3,NO_MATCH:24*60*60*1e3,FAILURE:10*60*1e3};function ile(t){let e=t.embyContext;return e.tmdbStore||(e.tmdbStore={memory:CM({max:1200}),pending:new Map}),e.tmdbStore}function sle(t=""){return`/embyTmdb/${Buffer.from(String(t||""),"utf8").toString("base64url")}`}function $2r(t,e=0){return{value:t,expireAt:e>0?Date.now()+e:0}}function F2r(t=null){return!!(t&&t.expireAt>0&&t.expireAt<=Date.now())}async function U2r(t,e){try{let r=await t.db?.getObjectDefault(sle(e),null);return!r||typeof r!="object"?null:F2r(r)?(t.db?.delete&&await t.db.delete(sle(e)).catch(()=>{}),null):r}catch{return null}}async function gA(t,e,r={}){let n=ile(t),s=n.memory.get(e);if(s!==void 0)return s;if(r.persist===!1)return null;let i=await U2r(t,e);if(!i)return null;let a=i.expireAt>0?Math.max(1e3,i.expireAt-Date.now()):0;return n.memory.set(e,i.value,a),i.value}async function FE(t,e,r,n=0,s={}){if(ile(t).memory.set(e,r,n),s.persist===!1)return r;try{t.db?.push&&await t.db.push(sle(e),$2r(r,n))}catch{}return r}async function ale(t,e,r,n,s={}){let i=await gA(t,e,s);if(i!==null)return i;let a=ile(t);if(a.pending.has(e))return a.pending.get(e);let o=(async()=>{try{let c=await gA(t,e,s);if(c!==null)return c;let u=await n();return u!=null?FE(t,e,u,r,s):null}finally{a.pending.delete(e)}})();return a.pending.set(e,o),o}function Du(t=""){return String(t||"").trim()}function q2r(t=""){let e=hA(t);return e?String(e):""}function yA(t={},e={}){let r=t&&typeof t=="object"?t:{},n=Du(e?.n),s=Du(e?.r),i=q2r(e?.y||e?.vod_year),a=Du(e?.u);return n&&(r.tmdbHintTitle=n),s&&(r.tmdbHintRemarks=s),i&&(r.tmdbHintYear=i),!Du(r.vod_name)&&n&&(r.vod_name=n),!Du(r.vod_remarks)&&s&&(r.vod_remarks=s),!Du(r.vod_year)&&i&&(r.vod_year=i),!Du(r.vod_pic)&&a&&(r.vod_pic=a),r}function j2r(t={}){let e=Du(t?.v);return e?yA({vod_id:e,vod_name:"",vod_pic:"",vod_remarks:"",vod_year:""},t):null}function Vn(t={}){let e={};return Object.entries(t).forEach(([r,n])=>{n!=null&&(typeof n=="string"&&!n.trim()||Array.isArray(n)&&n.length===0||!Array.isArray(n)&&typeof n=="object"&&Object.keys(n).length===0||(e[r]=n))}),e}function cle(t){let e=Number(t);return Number.isFinite(e)&&e>0?Number(e.toFixed(1)):void 0}function ule(t=""){let e=String(t||"").trim();return/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00.000Z`:void 0}function H2r(t){let e=Number(t);return Number.isFinite(e)&&e>0?Math.round(e*60*1e7):void 0}function Q2r(t=[]){return(Array.isArray(t)?t:[]).map(e=>String(e?.name||"").trim()).filter(Boolean)}function G2r(t=[]){return(Array.isArray(t)?t:[]).filter(e=>e?.name).map(e=>({Name:String(e.name),Id:String(e.id||e.name)}))}function V2r(t={},e="tv"){return e==="movie"?{name:String(t?.title||t?.original_title||"").trim(),originalTitle:String(t?.original_title||t?.title||"").trim()}:{name:String(t?.name||t?.original_name||"").trim(),originalTitle:String(t?.original_name||t?.name||"").trim()}}function z2r(t=""){return String(t||"").trim().toLowerCase()}function K2r(t={}){let e=Array.isArray(t?.images?.logos)?t.images.logos:[];if(!e.length)return[];let r=e.map((n,s)=>{let i=z2r(n?.iso_639_1),a=String(n?.file_path||"").trim(),o=Number(n?.vote_average||0),c=Number(n?.vote_count||0),u=Number(n?.width||0),l=i?i==="en"?2:3:1;return{index:s,filePath:a,voteAverage:Number.isFinite(o)?o:0,voteCount:Number.isFinite(c)?c:0,width:Number.isFinite(u)?u:0,languageScore:l}}).filter(n=>n.filePath);return r.sort((n,s)=>s.languageScore-n.languageScore||s.voteAverage-n.voteAverage||s.voteCount-n.voteCount||s.width-n.width||n.index-s.index),r}function zM(t={}){let e=K2r(t);return e.length&&e[0]?.filePath||""}function Y2r(t="",e="",r=0){let n=Vn({n:String(t||"").trim(),u:String(e||"").trim()||void 0,pid:Number(r||0)>0?String(r):void 0});return wn("img",n)}function J2r(t,e={},r={}){let n=String(e?.name||e?.original_name||"").trim();if(!n)return null;let s=p2(t,e?.profile_path||""),i=Number(e?.id||0),a=Y2r(n,s,i),o=String(r.role||"").trim(),c=String(r.type||"Actor").trim();return Vn({Name:n,Id:a,Role:o||void 0,Type:c||void 0,PrimaryImageTag:s?a:void 0,ImageTags:s?{Primary:a}:void 0})}function X2r(t={},e){let r=Array.isArray(t?.credits?.cast)?t.credits.cast:[],n=[],s=new Set,i=(o,c="")=>{if(!o)return;let u=String(c||`${o.Name}:${o.Role||""}`);s.has(u)||(s.add(u),n.push(o))};return[...r].map((o,c)=>({person:o,index:c,order:Number(o?.order??c),popularity:Number(o?.popularity||0)})).sort((o,c)=>o.order-c.order||c.popularity-o.popularity||o.index-c.index).slice(0,24).forEach(o=>{let c=Number(o.person?.id||0),u=String(o.person?.character||"").trim()||"\u6F14\u5458";i(J2r(e,o.person,{role:u,type:"Actor"}),c>0?`cast:${c}`:`cast:${o.person?.name||""}:${u}`)}),n.slice(0,24)}function Z2r(t={}){let e={};return t?.id&&(e.Tmdb=String(t.id)),t?.external_ids?.imdb_id&&(e.Imdb=String(t.external_ids.imdb_id)),t?.external_ids?.tvdb_id&&(e.Tvdb=String(t.external_ids.tvdb_id)),Object.keys(e).length>0?e:void 0}function pft(t=[]){let e=(Array.isArray(t)?t:[]).map(r=>({country:String(r?.iso_3166_1||"").trim().toUpperCase(),certification:String(r?.certification||r?.rating||"").trim()})).filter(r=>r.certification);for(let r of["US","CN","GB","HK","TW"]){let n=e.find(s=>s.country===r);if(n)return n.certification}return e[0]?.certification||void 0}function eRr(t={},e="tv"){if(e==="movie"){let r=[];return(Array.isArray(t?.release_dates?.results)?t.release_dates.results:[]).forEach(s=>{(Array.isArray(s?.release_dates)?s.release_dates:[]).forEach(a=>{r.push({iso_3166_1:s?.iso_3166_1,certification:a?.certification})})}),pft(r)}return pft(Array.isArray(t?.content_ratings?.results)?t.content_ratings.results:[])}function tRr(t,e){return`binding:${String(t?.spiderKey||"")}:${Number(t?.spiderType||3)}:${String(t?.apiBase||"")}:${String(e?.vod_id||"")}`}function rRr(t,e,r){return`detail:${String(t||"")}:${Number(e||0)}:${String(r||"zh-CN")}`}function nRr(t,e,r){return`season:${Number(t||0)}:${Number(e||0)}:${String(r||"zh-CN")}`}function sRr(t){return`no-match:v2:${String(t?.normalizedTitle||"")}:${String(t?.year||"")}:${String(t?.seasonNumber||"")}:${String(t?.seasonHintStrategy||"")}`}function hft(t){return`failure:${t}`}function tp(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}function gft(t={},e="tv"){return e==="movie"?String(t?.title||t?.original_title||t?.name||t?.original_name||"").trim():String(t?.name||t?.original_name||t?.title||t?.original_title||"").trim()}function Aft(t={},e="tv"){return String(e==="movie"?t?.release_date||"":t?.first_air_date||"").trim()}function ole(t={}){let e=typeof t?.year=="number"&&Number.isFinite(t.year)?t.year:void 0,r=typeof t?.seasonNumber=="number"&&Number.isFinite(t.seasonNumber)?t.seasonNumber:void 0,n=String(t?.seasonHintStrategy||"").trim()||void 0;return Vn({rawTitle:String(t?.rawTitle||""),cleanedTitle:String(t?.cleanedTitle||""),normalizedTitle:String(t?.normalizedTitle||""),altTitle:String(t?.altTitle||""),year:e,seasonNumber:r,seasonHintStrategy:n})}function iRr(t=[],e="tv",r=3){return(Array.isArray(t)?t:[]).slice(0,Math.max(0,Number(r)||0)).map(n=>{let s=n?.candidate||{},i=n?.breakdown||{};return Vn({id:Number(s?.id||0)||void 0,title:gft(s,e),date:Aft(s,e),popularity:Number.isFinite(Number(s?.popularity))?Number(s.popularity):void 0,voteAverage:Number.isFinite(Number(s?.vote_average))?Number(s.vote_average):void 0,score:Number.isFinite(Number(n?.score))?Number(n.score):void 0,breakdown:Vn({title:Number.isFinite(Number(i?.title))?Number(i.title):void 0,year:Number.isFinite(Number(i?.year))?Number(i.year):void 0,season:Number.isFinite(Number(i?.season))?Number(i.season):void 0,heat:Number.isFinite(Number(i?.heat))?Number(i.heat):void 0})})})}function mft(t=null){if(!t?.candidate)return null;let e=t.candidate;return Vn({mediaType:String(t.mediaType||""),status:String(t.status||""),score:Number.isFinite(Number(t.score))?Number(t.score):void 0,candidate:Vn({id:Number(e?.id||0)||void 0,title:gft(e,t.mediaType||"tv"),date:Aft(e,t.mediaType||"tv")}),breakdown:Vn({title:Number.isFinite(Number(t?.breakdown?.title))?Number(t.breakdown.title):void 0,year:Number.isFinite(Number(t?.breakdown?.year))?Number(t.breakdown.year):void 0,season:Number.isFinite(Number(t?.breakdown?.season))?Number(t.breakdown.season):void 0,heat:Number.isFinite(Number(t?.breakdown?.heat))?Number(t.breakdown.heat):void 0})})}function aRr(t={},e={}){let r=String(e.preferredMediaType||"").trim().toLowerCase();return r==="tv"?e.allowFallback===!1?["tv"]:["tv","movie"]:r==="movie"?e.allowFallback===!1?["movie"]:["movie","tv"]:$E(t)==="Series"?e.allowFallback===!0?["tv","movie"]:["tv"]:["movie","tv"]}async function oRr(t,e,r){let n=[...new Set([e?.cleanedTitle,e?.rawTitle].map(c=>String(c||"").trim()).filter(Boolean))],s=new Map,i=[],o=r==="tv"&&Number.parseInt(String(e?.seasonNumber||""),10)>1&&String(e?.seasonHintStrategy||"")==="title_suffix"?null:e?.year;for(let c of n){let u=r==="movie"?await nft(t,c,e?.year):await rft(t,c,o),l=Array.isArray(u?.results)?u.results:[],d=0;if(l.forEach(f=>{let p=Number(f?.id||0);p>0&&!s.has(p)&&(s.set(p,f),d+=1)}),i.push(Vn({query:c,resultCount:l.length,acceptedCount:d,collectedCount:s.size})),s.size>=5)break}return{results:Array.from(s.values()),queryLogs:i}}async function UE(t,e,r,n={}){if(!mA(t)||!e?.spiderKey||!r?.vod_id)return null;let s={spiderKey:String(e?.spiderKey||""),spiderType:Number(e?.spiderType||3),vodId:String(r?.vod_id||"")},i=tRr(e,r),a=String(n.preferredMediaType||"").trim().toLowerCase(),o=await gA(t,i);if(o?.tmdbId&&o?.mediaType)return a&&n.allowFallback===!1&&o.mediaType!==a?(tp(t,"tmdb.match.binding.cache.reject",Vn({...s,cachedMediaType:String(o.mediaType||""),preferredMediaType:a})),null):(tp(t,"tmdb.match.binding.cache.hit",Vn({...s,mediaType:String(o.mediaType||""),tmdbId:Number(o.tmdbId||0)||void 0,score:Number.isFinite(Number(o.score))?Number(o.score):void 0})),o);let c=lft(r),u=typeof n.allowFallback=="boolean"?n.allowFallback:void 0;if(tp(t,"tmdb.match.input",Vn({...s,input:ole(c),preferredMediaType:a||void 0,allowFallback:u})),!c?.normalizedTitle)return tp(t,"tmdb.match.skip.invalid_input",Vn({...s,input:ole(c)})),null;let l=sRr(c),d=await gA(t,l);if(d)return tp(t,"tmdb.match.skip.no_match_cache",Vn({...s,status:String(d?.status||""),score:Number.isFinite(Number(d?.score))?Number(d.score):void 0})),null;let f=null;for(let m of aRr(r,n)){let{results:h,queryLogs:A}=await oRr(t,c,m),g=fft(c,h,m);if(tp(t,"tmdb.match.round",Vn({...s,mediaType:m,queryLogs:A,resultCount:h.length,status:g.status,bestScore:Number.isFinite(Number(g?.best?.score))?Number(g.best.score):void 0,topCandidates:iRr(g.candidates,m,3)})),g.best&&(!f||g.best.score>f.score)&&(f={mediaType:m,...g.best,status:g.status}),g.status==="MATCH"&&g.best?.candidate?.id){let b=g.best.candidate,y=Vn({mediaType:m,tmdbId:Number(b.id),score:g.best.score,matchedTitle:String(m==="movie"?b.title||b.original_title||"":b.name||b.original_name||""),matchedYear:m==="movie"?hA(b.release_date):hA(b.first_air_date),updatedAt:Date.now()});return await FE(t,i,y,AA.BINDING),tp(t,"tmdb.match.binding.set",Vn({...s,mediaType:m,tmdbId:Number(y.tmdbId||0)||void 0,score:Number.isFinite(Number(y.score))?Number(y.score):void 0,matchedTitle:String(y.matchedTitle||""),matchedYear:Number.isFinite(Number(y.matchedYear))?Number(y.matchedYear):void 0,best:mft({mediaType:m,...g.best,status:g.status})})),y}}let p={status:f?.score>=.5?"CANDIDATE":"NO_MATCH",score:Number(f?.score||0),checkedAt:Date.now()};return await FE(t,l,p,f?.score>=.5?15*60*1e3:AA.NO_MATCH),tp(t,"tmdb.match.no_match_set",Vn({...s,noMatch:p,best:mft(f),input:ole(c)})),null}async function yft(t,e={},r={}){try{if(!mA(t))return null;let n=Zl(e),s=j2r(e);return!n?.spiderKey||!s?.vod_id?null:Cft(t,{spiderRef:n,vod:s,options:r})}catch{return null}}async function qE(t,e){if(!e?.tmdbId||!e?.mediaType)return null;let r=String(t.embyContext?.config?.tmdbLanguage||"zh-CN"),n=rRr(e.mediaType,e.tmdbId,r),s=hft(n);if(await gA(t,s))return null;let i=await ale(t,n,AA.DETAIL,async()=>{let a=e.mediaType==="movie"?await ift(t,e.tmdbId):await sft(t,e.tmdbId);return a?.id?a:null});return i?.id?i:(await FE(t,s,{failedAt:Date.now()},AA.FAILURE),null)}async function cRr(t,e,r){if(!e?.tmdbId||e?.mediaType!=="tv")return null;let n=String(t.embyContext?.config?.tmdbLanguage||"zh-CN"),s=nRr(e.tmdbId,r,n),i=hft(s);if(await gA(t,i))return null;let a=await ale(t,s,AA.SEASON,async()=>{let o=await aft(t,e.tmdbId,r);return o?.season_number!=null?o:null});return a?.season_number!=null?a:(await FE(t,i,{failedAt:Date.now()},AA.FAILURE),null)}function uRr(t={},e=null){let r=[Du(t?.tmdbHintTitle||t?.vod_name),Du(t?.tmdbHintRemarks||t?.vod_remarks),Du(e?.flag)].filter(Boolean).join(" ");return/年番/i.test(r)}function lRr(t=""){let e=String(t||"").trim();if(!e)return null;let r=Number.parseInt(e,10);if(Number.isInteger(r)&&r>0)return r;let n=e.match(/(\d{1,4})/);if(!n?.[1])return null;let s=Number.parseInt(n[1],10);return Number.isInteger(s)&&s>0?s:null}function dRr(t=null){let r=(Array.isArray(t?.episodes)?t.episodes:[]).map(n=>lRr(n?.name)).filter(n=>Number.isInteger(n)&&n>0);return r.length?{count:r.length,min:Math.min(...r),max:Math.max(...r)}:{count:0,min:0,max:0}}function xft(t={}){return(Array.isArray(t?.seasons)?t.seasons:[]).map(e=>({seasonNumber:Number(e?.season_number||0),episodeCount:Number(e?.episode_count||0),name:String(e?.name||"").trim()})).filter(e=>Number.isInteger(e.seasonNumber)&&e.seasonNumber>0)}function fRr(t={},e={},r=null,n={seasonNumber:1,explicit:!1}){let s=xft(t),i=Number(n?.seasonNumber||1),a=Number.isInteger(i)&&i>0?i:1,o=!!n?.explicit,c=uRr(e,r),u=dRr(r),l=d=>{let f=Number(d||0);return!Number.isInteger(f)||f<=0?[]:s.filter(p=>p.episodeCount>=f).sort((p,m)=>m.seasonNumber-p.seasonNumber||m.episodeCount-p.episodeCount)};if(!s.length)return{seasonNumber:a,reason:"no_tmdb_seasons",explicit:o,yearFan:c,episodeStats:u,seasons:[]};if(o&&s.some(d=>d.seasonNumber===a))return{seasonNumber:a,reason:"explicit_hint",explicit:o,yearFan:c,episodeStats:u,seasons:s};if(c){let d=l(u.max);return d.length?{seasonNumber:d[0].seasonNumber,reason:"yearfan_episode_cap",explicit:o,yearFan:c,episodeStats:u,seasons:s}:{seasonNumber:[...s].sort((p,m)=>m.episodeCount-p.episodeCount||m.seasonNumber-p.seasonNumber)[0].seasonNumber,reason:"yearfan_largest_season",explicit:o,yearFan:c,episodeStats:u,seasons:s}}if(u.max>=6&&u.count>=u.max){let d=s.filter(f=>f.episodeCount===u.max);if(d.length===1)return{seasonNumber:d[0].seasonNumber,reason:"episode_count_exact_unique",explicit:o,yearFan:c,episodeStats:u,seasons:s}}if(!o&&u.max>=100){let d=l(u.max);if(d.length)return{seasonNumber:d[0].seasonNumber,reason:"high_episode_secondary",explicit:o,yearFan:c,episodeStats:u,seasons:s}}return s.some(d=>d.seasonNumber===a)?{seasonNumber:a,reason:o?"explicit_hint":"default_hint",explicit:o,yearFan:c,episodeStats:u,seasons:s}:{seasonNumber:[...s].sort((f,p)=>f.seasonNumber-p.seasonNumber)[0].seasonNumber,reason:"fallback_first_available",explicit:o,yearFan:c,episodeStats:u,seasons:s}}async function h2(t,e,r={},n=null,s=0,i=null){if(e?.mediaType!=="tv")return{seasonNumber:null,seasonDetail:null,detail:null};let a=i||await qE(t,e);if(!a)return{seasonNumber:null,seasonDetail:null,detail:null};let o=nle(r,n),c=fRr(a,r,n,o),u=Number(c?.seasonNumber||0);if(!Number.isInteger(u)||u<=0)return{seasonNumber:null,seasonDetail:null,detail:a};let l=await cRr(t,e,u);return tp(t,"tmdb.match.season_resolve",Vn({spiderKey:String(e?.spiderKey||""),tmdbId:Number(e?.tmdbId||0)||void 0,lineIndex:Number.isInteger(Number(s))?Number(s):void 0,chosenSeason:u,reason:String(c?.reason||""),explicitHint:c?.explicit===!0?!0:void 0,yearFanHint:c?.yearFan===!0?!0:void 0,episodeMax:Number(c?.episodeStats?.max||0)||void 0,seasonCandidates:Array.isArray(c?.seasons)?c.seasons.map(d=>Vn({seasonNumber:Number(d?.seasonNumber||0)||void 0,episodeCount:Number(d?.episodeCount||0)||void 0,name:String(d?.name||"")})):void 0})),{seasonNumber:u,seasonDetail:l&&l?.season_number!=null?l:null,detail:a}}async function bft(t,e,r={},n=null){let s=await h2(t,e,r,null,0,n);return{seasonNumber:s.seasonNumber,seasonDetail:s.seasonDetail}}function pRr(t,e,r,n=null){let s=e?.mediaType==="movie"?"movie":"tv",i=s==="tv"?xft(t).length:0,a=Number(n?.seasonNumber||0),o=n?.seasonDetail||null,c=s==="tv"&&Number.isInteger(a)&&a>0&&o?.season_number!=null,u=s==="movie"?t?.release_date:o?.air_date||t?.first_air_date,l=s==="movie"?Number(t?.runtime||0):Array.isArray(t?.episode_run_time)?t.episode_run_time.find(m=>Number(m)>0):0,d=V2r(t,s),f=zM(t),p=c?o?.poster_path||t?.backdrop_path||t?.poster_path||"":t?.backdrop_path||t?.poster_path||"";return Vn({Name:d.name||void 0,OriginalTitle:d.originalTitle||void 0,Overview:String(t?.overview||"").trim()||void 0,Taglines:t?.tagline?[String(t.tagline)]:void 0,Genres:Q2r(t?.genres),GenreItems:G2r(t?.genres),People:X2r(t,r),ProviderIds:Z2r(t),CommunityRating:cle(t?.vote_average),RunTimeTicks:H2r(l),OfficialRating:eRr(t,s),PremiereDate:ule(u),ProductionYear:hA(u)||void 0,SeasonCount:i>0?i:void 0,ChildCount:i>0?i:void 0,BackdropImageTags:p?["tmdb"]:void 0,ImageTags:f?{Logo:"tmdb"}:void 0})}function mRr(t,e){return Vn({Overview:String(t?.overview||"").trim()||void 0,PremiereDate:ule(t?.air_date),CommunityRating:cle(t?.vote_average)})}function hRr(t,e,r,n){return Vn({Name:String(e?.name||"").trim()||void 0,Overview:String(e?.overview||"").trim()||void 0,CommunityRating:cle(e?.vote_average),PremiereDate:ule(e?.air_date),BackdropImageTags:e?.still_path?["tmdb"]:void 0})}function Eft(t,e,r=-1){let n=Array.isArray(t?.episodes)?t.episodes:[],s=n.find(i=>Number(i?.episode_number||0)===Number(e||0));return s||(r>=0&&r<n.length?n[r]:null)}function _ft(t,e,r){let n=fA(t,Number(e||0)+1),s=String(t||"").trim(),i=Number.parseInt(s,10);if(/^\d{3,4}$/.test(s)&&Number.isInteger(i)&&r>0){let a=Math.floor(i/100),o=i%100;if(a===r&&o>0)return o}return n}async function Sft(t,e={}){if(!mA(t))return null;let r=await UE(t,e?.spiderRef,e?.vod,{preferredMediaType:"tv",allowFallback:!1});if(!r||r.mediaType!=="tv")return null;let n=await h2(t,r,e?.vod||{},e?.line||null,Number(e?.lineIndex||0),null);return!n?.seasonDetail||!n?.seasonNumber?null:{seasonNumber:n.seasonNumber,seasonDetail:n.seasonDetail}}function vft(t,e={}){if(!t?.seasonDetail||!t?.seasonNumber)return null;let r=_ft(e?.episode?.name,e?.episodeIndex,t.seasonNumber),n=Eft(t.seasonDetail,r,Number(e?.episodeIndex||0));return n?hRr(t.seasonDetail,n,t.seasonNumber,r):null}async function gRr(t,e){let r=e?.payload||{},n=Zl(r),s=String(r.v||"");if(!n?.spiderKey||!s)return null;let i=await Oc(t,n,s).catch(()=>null),a=yA({vod_id:s,vod_name:String(r.n||""),vod_pic:String(r.u||""),vod_remarks:String(r.r||""),vod_year:String(r.y||"")},r),o=Pc(i)||a;return yA(o,r),!String(o?.vod_name||"").trim()&&r?.n&&(o.vod_name=String(r.n||"").trim()),!String(o?.vod_pic||"").trim()&&r?.u&&(o.vod_pic=String(r.u||"").trim()),{spiderRef:n,vod:o,lines:ho(o?.vod_play_from,o?.vod_play_url)}}function ARr(t,e="primary",r=null){let n=String(e||"primary").trim().toLowerCase(),s=r?.seasonDetail||null,i=String(s?.poster_path||"").trim();return n==="logo"?zM(t):["backdrop","thumb","banner"].includes(n)?i||t?.backdrop_path||t?.poster_path||"":i||t?.poster_path||t?.backdrop_path||""}function yRr(t,e,r="primary"){let n=String(r||"primary").trim().toLowerCase();return n==="logo"?zM(t):["backdrop","thumb","banner"].includes(n)?t?.backdrop_path||e?.poster_path||t?.poster_path||"":e?.poster_path||t?.poster_path||t?.backdrop_path||""}function xRr(t,e,r="primary"){let n=String(r||"primary").trim().toLowerCase();return n==="logo"?zM(t):["backdrop","thumb","banner"].includes(n)?e?.still_path||t?.backdrop_path||t?.poster_path||"":e?.still_path||t?.poster_path||t?.backdrop_path||""}async function Cft(t,e={}){try{if(!mA(t))return null;let r=await UE(t,e?.spiderRef,e?.vod,e?.options||{});if(!r)return null;let n=await qE(t,r);if(!n)return null;let s=await bft(t,r,e?.vod||{},n);return pRr(n,r,t,s)}catch{return null}}async function bRr(t,e={}){try{if(!mA(t))return null;let r=await UE(t,e?.spiderRef,e?.vod,{preferredMediaType:"tv",allowFallback:!1});if(!r||r.mediaType!=="tv")return null;let n=await qE(t,r);if(!n)return null;let s=await h2(t,r,e?.vod||{},e?.line||null,Number(e?.lineIndex||0),n);return s?.seasonDetail?mRr(s.seasonDetail,s.seasonNumber):null}catch{return null}}async function g2(t,e={}){try{let r=await Sft(t,e);return r?vft(r,e):null}catch{return null}}async function KM(t,e={}){let r=Array.isArray(e?.episodes)?e.episodes:[];if(!r.length)return[];try{let n=await Sft(t,e);if(!n)return r.map(()=>null);let s=Number(e?.episodeOffset||0);return r.map((i,a)=>vft(n,{episode:i,episodeIndex:s+a}))}catch{return r.map(()=>null)}}async function YM(t,e,r={}){return e==="vod"?Cft(t,r):e==="season"?bRr(t,r):e==="episode"?g2(t,r):null}async function Ift(t,e,r="Primary"){try{if(!mA(t))return"";if(e?.type==="img")return String(e?.payload?.u||"");let n=await gRr(t,e);if(!n)return"";let{spiderRef:s,vod:i,lines:a}=n,o=String(r||"Primary").trim().toLowerCase();if(e?.type==="vod"){let c=await UE(t,s,i,{});if(!c)return"";let u=await qE(t,c);if(!u)return"";let l=await bft(t,c,i,u);return p2(t,ARr(u,o,l||null))}if(e?.type==="sea"){let c=await UE(t,s,i,{preferredMediaType:"tv",allowFallback:!1});if(!c||c.mediaType!=="tv")return"";let u=await qE(t,c);if(!u)return"";let l=Number(e?.payload?.l||0),f=(await h2(t,c,i,a?.[l]||null,l,u))?.seasonDetail||null;return u&&f?p2(t,yRr(u,f,o)):""}if(e?.type==="ep"||e?.type==="media"){let c=await UE(t,s,i,{preferredMediaType:"tv",allowFallback:!1});if(!c||c.mediaType!=="tv")return"";let u=await qE(t,c);if(!u)return"";let l=Number(e?.payload?.l||0),d=Number(e?.payload?.e||0),f=a?.[l],p=f?.episodes?.[d],m=await h2(t,c,i,f||null,l,u),h=Number(m?.seasonNumber||0),A=m?.seasonDetail||null;if(!A)return"";let g=_ft(p?.name,d,h),b=Eft(A,g,d);return b?p2(t,xRr(u,b,o)):""}return""}catch{return""}}var Oft=!0,ERr=new Set(["tgchannel","tgsou","pansou","panta"]),_Rr=!1,SRr=8e3;function vRr(t){return ERr.has(String(t||""))}function CRr(t=""){return/(移动|yidong|139)/i.test(String(t||""))}function IRr(t=""){try{let e=String(new URL(String(t||"")).hostname||"").toLowerCase();return e.includes("mcloud.139.com")||e.includes("yun.139.com")}catch{return!1}}function Tft(t="",e="mkv"){let r=String(t||"").trim();if(!r)return e;if(/\.m3u8($|\?)/i.test(r))return"m3u8";try{let s=new URL(r).pathname.match(/\.([a-z0-9]{2,6})$/i);if(s?.[1])return s[1].toLowerCase()}catch{}return e}function JM(t,e){let r=wn("lib",{k:t.spiderKey,t:t.spiderType,...t.siteName?{n:t.siteName}:{},...t.apiBase?{a:t.apiBase}:{}});return{Name:t.siteName,Id:r,ServerId:e,IsFolder:!0,Type:"CollectionFolder",PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:r},BackdropImageTags:[],UserData:ss()}}function TRr(t,e,r,n){let s=String(e.type_name||e.type_id||""),i=wn("cat",{k:t.spiderKey,t:t.spiderType,c:String(e.type_id),...s?{n:s}:{},...t.apiBase?{a:t.apiBase}:{}});return{Name:s,Id:i,ParentId:r,ServerId:n,IsFolder:!0,Type:"Folder",PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:i},BackdropImageTags:[],UserData:ss()}}var Pft=new Set(["movie","series","video","episode","musicvideo"]);function wft(t=""){return String(t||"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}function wRr(t=[],e=!1){return e?!0:t.some(r=>Pft.has(r))}function RRr(t=[]){return t.some(e=>Pft.has(e))}function NRr(t=[],e=!1,r=""){return e?!1:t.includes("folder")?!0:/(^|,)isfolder(,|$)/i.test(String(r||""))}function ORr(t,e=[]){if(!e.length)return!0;let r=String(t?.Type||"").toLowerCase();return!!(e.includes(r)||e.includes("video")&&["movie","video","episode"].includes(r)||e.includes("folder")&&t?.IsFolder)}function y2(t=[],e=[]){return e.length?t.filter(r=>ORr(r,e)):t}function A2(t,e,r){return!r||!r.Id||(r.UserData=Fo(t,e,String(r.Id||""),r.UserData||{})),r}function Rft(t=[]){let e=[],r=t.filter(s=>Array.isArray(s)&&s.length),n=r.reduce((s,i)=>Math.max(s,i.length),0);for(let s=0;s<n;s+=1)r.forEach(i=>{i[s]&&e.push(i[s])});return e}function Nft(t){let e=null,r=new Promise((n,s)=>{e=setTimeout(()=>s(new Error("timeout")),SRr)});return Promise.race([t,r]).finally(()=>{e&&clearTimeout(e)})}async function e6(t,e,r,n,s,i,a,o=[],c=null){let u=Math.max(0,Number(n)||0),l=Math.max(1,Number(s)||1),d=await NE(t,e,r,1,{},c).catch(()=>null),f=Array.isArray(d?.list)?d.list:[],p=Number(d?.limit||0),m=Math.max(1,p||f.length||l),h=Math.floor(u/m)+1,A=u%m,g=[],b=h,y=!1,x=!1,v=Number(d?.pagecount||0),C=Number(d?.total||0),R=h+Math.max(3,Math.ceil((A+l)/m)+2);for(;g.length<l&&b<=R;){let M=b===1?d:await NE(t,e,r,b,{},c).catch(()=>null),k=Array.isArray(M?.list)?M.list:[],B=y2(k.map(ue=>r6(e,ue,i,a)),o),Z=Number(M?.pagecount||0);Z>0&&(v=Math.max(v,Z));let W=Number(M?.total||0);W>0&&(C=Math.max(C,W));let F=b===h?A:0,V=B.slice(F),j=l-g.length;g.push(...V.slice(0,j));let J=Math.min(V.length,j);y=F+J>=B.length;let se=B.length===0,oe=v>0&&b>=v&&y;if(se||oe){x=!0;break}if(g.length>=l)break;b+=1}let w=Number.isFinite(C)&&C>0&&C<9e3,N=g.length>=l;N&&x&&(N=!1),N&&v>0&&b>=v&&y&&(N=!1),N&&w&&u+g.length>=C&&(N=!1);let P=u+g.length+(N?1:0),L=P;return w&&(L=Math.max(C,u+g.length),N&&(L=Math.max(L,P))),{rows:g,totalRecordCount:L}}async function lle(t,e,r,n,s=[],i=0,a=16,o=null){let c=await Jw(t,e,o).catch(()=>null),u=Array.isArray(c?.class)?c.class.filter(f=>String(f?.type_id||"").trim()):[];if(u.length){let f=String(u[0].type_id||"");if(f)return e6(t,e,f,i,a,r,n,s,o)}let l=Array.isArray(c?.list)?c.list:[],d=y2(l.map(f=>r6(e,f,r,n)),s);return{rows:Ia(d,i,a),totalRecordCount:d.length}}function Dft(t={}){return String(t?.siteName||t?.spiderKey||"").trim()}function kft(t={}){let e=String(t?.vod_tag||"").trim().toLowerCase(),r=t?.cate&&typeof t.cate=="object"?t.cate:null,n=String(r?.id||"").trim(),s=String(t?.vod_id||"").trim();return n||(e==="folder"&&s?s:"")}function PRr(t,e,r,n,s={}){let i=!!s?.includeSourcePrefix,a=kft(e),o=String(e.vod_pic||"").trim(),c=String(e.vod_remarks||"").trim(),u=String(e.vod_year||"").trim(),l=Dft(t),d=String(e.vod_name||e?.cate?.name||a||"").trim(),f=d||"\u672A\u547D\u540D\u76EE\u5F55",p={k:t.spiderKey,t:t.spiderType,c:a,...t.apiBase?{a:t.apiBase}:{}};o&&(p.u=o),d&&(p.n=d),c&&(p.r=c),u&&(p.y=u);let m=wn("cat",p);return{Name:i&&l?`${l} \xB7 ${f}`:f,Id:m,ParentId:r,ServerId:n,IsFolder:!0,Type:"Folder",Overview:c,PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:m},BackdropImageTags:[],UserData:ss()}}function r6(t,e,r,n,s={}){if(kft(e))return PRr(t,e,r,n,s);let i=!!s?.includeSourcePrefix,a=String(e.vod_pic||""),o=String(e.vod_remarks||"").trim(),c=String(e.vod_year||"").trim(),u=Dft(t),l=String(e.vod_name||"").trim(),d=l||"\u672A\u547D\u540D",f={k:t.spiderKey,t:t.spiderType,v:String(e.vod_id),...t.apiBase?{a:t.apiBase}:{}};a&&(f.u=a),l&&(f.n=l),o&&(f.r=o),c&&(f.y=c);let p=wn("vod",f),h=Oft?"Series":$E(e);return{Name:i&&u?`${u} \xB7 ${d}`:d,Id:p,ParentId:r,ServerId:n,IsFolder:h==="Series",Type:h,MediaType:"Video",Overview:String(e.vod_remarks||""),PrimaryImageAspectRatio:.6667,ImageTags:{Primary:p},BackdropImageTags:[],UserData:ss()}}async function DRr(t,e,r,n,s,i){let a=String(r?.vod_name||"").trim(),o=String(r?.vod_pic||"").trim(),c=String(r?.tmdbHintRemarks||r?.vod_remarks||"").trim(),u=String(r?.tmdbHintYear||r?.vod_year||"").trim(),l=[],d=new Map;for(let f=0;f<n.length;f+=1){let p=n[f],m={k:e.spiderKey,t:e.spiderType,v:String(r.vod_id),l:f,...e.apiBase?{a:e.apiBase}:{}};a&&(m.n=a),o&&(m.u=o),c&&(m.r=c),u&&(m.y=u);let h=wn("sea",m),A={Name:p.flag||`\u7EBF\u8DEF${f+1}`,Id:h,ParentId:s,ServerId:i,IsFolder:!0,Type:"Season",IndexNumber:f+1,SeriesId:s,SeriesName:a,ChildCount:p.episodes.length,ImageTags:{Primary:h},BackdropImageTags:[],UserData:ss()},b=`s${VM(r,p,f)}`,y=d.get(b);y===void 0&&(y=await YM(t,"season",{spiderRef:e,vod:r,line:p,lineIndex:f})||null,d.set(b,y)),y&&Object.assign(A,y),l.push(A)}return l}async function kRr(t,e,r,n,s,i,a,o){let c=s[i];if(!c)return[];let u=[],l=String(n?.vod_name||"").trim(),d=String(n?.vod_pic||"").trim(),f=String(n?.tmdbHintRemarks||n?.vod_remarks||"").trim(),p=String(n?.tmdbHintYear||n?.vod_year||"").trim(),m=Array.isArray(c?.episodes)?c.episodes:[],h=await KM(t,{spiderRef:r,vod:n,line:c,lineIndex:i,episodes:m,episodeOffset:0});for(let A=0;A<m.length;A+=1){let g=m[A],b=fA(g?.name,A+1),y={k:r.spiderKey,t:r.spiderType,v:String(n.vod_id),l:i,e:A,f:c.flag,p:g.playId,...r.apiBase?{a:r.apiBase}:{}};l&&(y.n=l),d&&(y.u=d),f&&(y.r=f),p&&(y.y=p);let x=wn("ep",y),v=await fle(t,e,{k:r.spiderKey,t:r.spiderType,...r.apiBase?{a:r.apiBase}:{},v:String(n.vod_id),l:i,e:A,f:c.flag,p:g.playId},String(c.flag||`\u7EBF\u8DEF${i+1}`));u.push({Name:g.name||`\u7B2C${A+1}\u96C6`,Id:x,ParentId:a,ServerId:o,IsFolder:!1,Type:"Episode",MediaType:"Video",SeriesName:String(n.vod_name||""),IndexNumber:b,ParentIndexNumber:i+1,CanPlay:!0,PrimaryImageAspectRatio:.6667,ImageTags:{Primary:x},BackdropImageTags:[],UserData:ss(),MediaSources:[v],...h[A]||{}})}return u}function jE(t={}){return{spiderKey:String(t.k||""),spiderType:Number(t.t||3),apiBase:String(t.a||"")}}function XM(t={}){return{Overview:"",Taglines:[],Genres:[],GenreItems:[],People:[],Tags:[],ProviderIds:{},ProductionLocations:[],CommunityRating:0,CriticRating:0,RunTimeTicks:0,OfficialRating:"",...t}}function t6(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}function dle(t={},e=""){let r=ho(t.vod_play_from,t.vod_play_url).filter(i=>Array.isArray(i?.episodes)&&i.episodes.length>0),n=r.reduce((i,a)=>Math.max(i,a.episodes.length),0),s=Oft?r.length>0:r.length>1||n>1||$E(t)==="Series";return{lines:r,isSeries:s}}function LRr(t){let r=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||t.protocol||"http",s=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||t.headers?.host||"127.0.0.1";return`${r}://${s}`}function BRr(t,e,r="mkv"){return`${LRr(t)}/emby${Lft(t,e,r,!0)}`}function Lft(t,e,r="mkv",n=!1){let s=/^[a-z0-9]{2,8}$/i.test(String(r||""))?String(r).toLowerCase():"mkv",i=n&&t.embyToken?`?api_key=${encodeURIComponent(t.embyToken)}`:"";return`/videos/${String(e||"")}/stream.${s}${i}`}async function fle(t,e,r,n="\u9ED8\u8BA4"){let s=wn("media",{k:String(r?.k||""),t:Number(r?.t||3),v:String(r?.v||""),l:Number(r?.l||0),e:Number(r?.e||0),f:String(r?.f||n||""),...r?.a?{a:String(r.a||"")}:{}}),i=vRr(r?.k)?"m3u8":"mkv",a=Tft(String(r?.p||""),i),o=BRr(e,s,a),c=Lft(e,s,a,!0),u={},l=!1,d=String(n||r?.f||"");if(_Rr&&CRr(d)&&r?.k&&r?.f&&r?.p){let p={spiderKey:String(r.k||""),spiderType:Number(r.t||3),apiBase:String(r.a||"")},m=await am(t,p,String(r.f||""),String(r.p||""),e).catch(()=>null),h=um(m||{},String(n||""));h.url&&IRr(h.url)&&(a=Tft(h.url,a),o=h.url,c=h.url,u=h.header||{},l=!1)}return{Id:s,Name:n,Type:"Default",Protocol:"Http",Container:a,IsRemote:!0,SupportsTranscoding:!1,SupportsDirectStream:!0,SupportsDirectPlay:!0,IsInfiniteStream:!1,SupportsProbing:!1,MediaStreams:[],RequiredHttpHeaders:u,Path:o,DirectStreamUrl:c,AddApiKeyToDirectStreamUrl:l,ItemId:s}}async function MRr(t,e,r,n,s=[]){let i=String(n?.vod_id||"");return!r?.spiderKey||!i?[]:(await Promise.all(s.map(async(o,c)=>{let u=o?.episodes?.[0];return u?.playId?fle(t,e,{k:r.spiderKey,t:r.spiderType,...r.apiBase?{a:r.apiBase}:{},v:i,l:c,e:0,f:String(o.flag||""),p:String(u.playId)},String(o.flag||`\u7EBF\u8DEF${c+1}`)):null}))).filter(Boolean)}function WRr(t={},e={}){let r=String(t?.vod_name||"").trim();if(r)return r;let n=String(e?.n||"").trim();if(n)return n;let s=ho(t?.vod_play_from,t?.vod_play_url),i=String(s?.[0]?.episodes?.[0]?.name||"").trim();if(i)return i;let a=String(t?.vod_remarks||"").trim();return a||"\u672A\u547D\u540D"}async function ZM(t,e,r=null){let n=jE(e);if(!n.spiderKey||!e.v)return null;let s=await Oc(t,n,String(e.v),r).catch(()=>null),i=Pc(s);if(!i)return null;yA(i,e),!String(i?.vod_pic||"").trim()&&e?.u&&(i.vod_pic=String(e.u||"").trim()),i.vod_name=WRr(i,e);let{lines:a,isSeries:o}=dle(i,n.spiderKey);return t6(t,"vod.source",{spiderKey:n.spiderKey,spiderType:n.spiderType,vodId:String(i.vod_id||e.v||""),vodName:String(i.vod_name||""),vodRemarks:String(i.vod_remarks||""),guessVideoType:$E(i),isSeriesByRule:o,lineCount:a.length,episodeCountPerLine:a.map(c=>c.episodes.length).slice(0,10)}),{spiderRef:n,vod:i}}async function ple(t){t.get("/:userId",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext,r=Ws();return{Name:e.user.name,ServerId:e.config.serverId,Id:e.user.id,LastActivityDate:r,LastLoginDate:r}}),t.get("/:userId/Views",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId,r=await Xl(t);return Ut(r.map(n=>JM(n,e)))}),t.get("/:userId/Items/Resume",{preHandler:t.embyRequireAuth},async e=>{let r=e.query||{},n=Number(Xr(r,["StartIndex","startindex"],0)),s=Pu(Xr(r,["Limit","limit"],50),50),i=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id),a=Ydt(t,i,t.embyContext.config.serverId);return Ut(Ia(a,n,s),a.length)}),t.get("/:userId/Items/Latest",{preHandler:t.embyRequireAuth},async e=>{let r=e.query||{},n=t.embyContext.config.serverId,s=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id),i=String(Xr(r,["ParentId","parentid"],"")),a=Pu(Xr(r,["Limit","limit"],16),16),o=wft(Xr(r,["IncludeItemTypes","includeitemtypes"],"")),c=String(Xr(r,["MediaTypes","mediatypes"],"")).toLowerCase();!o.length&&c.includes("video")&&(o=["movie","series","video"]);let u=await Xl(t),l=$s(i);if(l?.type==="lib"){let h=jE(l.payload),A=aA(u,h.spiderKey,h.spiderType,h.apiBase)||{siteName:h.spiderKey,spiderKey:h.spiderKey,spiderType:h.spiderType,apiBase:h.apiBase},g=await lle(t,A,i,n,o,0,a,e);return Fs(t,s,g.rows)}if(l?.type==="cat"){let h=jE(l.payload),A=aA(u,h.spiderKey,h.spiderType,h.apiBase)||{siteName:h.spiderKey,spiderKey:h.spiderKey,spiderType:h.spiderType,apiBase:h.apiBase},g=await e6(t,A,String(l.payload.c||""),0,a,i,n,o,e);return Fs(t,s,g.rows)}let d=Math.min(Math.max(a,6),20),p=(await Promise.allSettled(u.map(h=>Nft(lle(t,h,JM(h,n).Id,n,o,0,d,e))))).filter(h=>h.status==="fulfilled").map(h=>h.value.rows),m=Rft(p).slice(0,a);return Fs(t,s,m)}),t.get("/:userId/Items",{preHandler:t.embyRequireAuth},async e=>{let r=e.query||{},n=t.embyContext.config.serverId,s=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id),i=String(Xr(r,["SortBy","sortby"],""));if(i.includes("IsFavoriteOrLiked"))return Ut([]);let a=String(Xr(r,["ParentId","parentid"],"")),o=String(Xr(r,["SearchTerm","searchterm","NameStartsWith","namestartswith"],"")).trim(),c=Number(Xr(r,["StartIndex","startindex"],0)),u=Pu(Xr(r,["Limit","limit"],60),60),l=Number(Xr(r,["Page","page"],Math.floor(Math.max(0,c)/u)+1))||1,d=wft(Xr(r,["IncludeItemTypes","includeitemtypes"],"")),f=String(Xr(r,["Recursive","recursive"],"")).trim().toLowerCase()==="true",p=String(Xr(r,["MediaTypes","mediatypes"],"")).toLowerCase(),m=await Xl(t);if(o){let g=t.embyContext?.config?.searchSourcePrefix!==!1,b=[];await Promise.allSettled(m.map(async x=>{try{let v=await Promise.race([ylt(t,x,o,l),new Promise((R,w)=>setTimeout(()=>w(new Error("timeout")),8e3))]);(Array.isArray(v?.list)?v.list:[]).forEach(R=>b.push(r6(x,R,"0",n,{includeSourcePrefix:g})))}catch{}}));let y=Fs(t,s,y2(b,d));return Ut(Ia(y,c,u),y.length)}if(!a&&f&&(RRr(d)||p.includes("video"))){let A=d.length?d:["movie","series","video"],g=Math.min(Math.max(u,6),20),y=(await Promise.allSettled(m.map(v=>Nft(lle(t,v,JM(v,n).Id,n,A,0,g,e))))).filter(v=>v.status==="fulfilled").map(v=>v.value.rows),x=Fs(t,s,Rft(y));return Ut(Ia(x,c,u),x.length)}if(!a){let A=Fs(t,s,m.map(g=>JM(g,n)));return Ut(Ia(A,c,u),A.length)}let h=$s(a);if(!h)return Ut([]);if(h.type==="lib"){let A=jE(h.payload),g=aA(m,A.spiderKey,A.spiderType,A.apiBase)||{siteName:A.spiderKey,spiderKey:A.spiderKey,spiderType:A.spiderType,apiBase:A.apiBase},b=await Jw(t,g,e).catch(()=>null),y=Array.isArray(b?.class)?b.class.filter(R=>String(R?.type_id||"").trim()):[];if(y.length&&(NRr(d,f,i)||!wRr(d,f))){let R=y.map(N=>TRr(g,N,a,n)),w=Fs(t,s,y2(R,d));return Ut(Ia(w,c,u),w.length)}if(y.length){let R=String(y[0].type_id||"");if(R){let w=await e6(t,g,R,c,u,a,n,d,e);return Fs(t,s,w.rows),Ut(w.rows,w.totalRecordCount)}}let v=(Array.isArray(b?.list)?b.list:[]).map(R=>r6(g,R,a,n)),C=Fs(t,s,y2(v,d));return Ut(Ia(C,c,u),C.length)}if(h.type==="cat"){let A=jE(h.payload),g=aA(m,A.spiderKey,A.spiderType,A.apiBase)||{siteName:A.spiderKey,spiderKey:A.spiderKey,spiderType:A.spiderType,apiBase:A.apiBase},b=String(h.payload.c||""),y=await e6(t,g,b,c,u,a,n,d,e);return Fs(t,s,y.rows),Ut(y.rows,y.totalRecordCount)}if(h.type==="vod"){let A=await ZM(t,h.payload,e);if(!A)return Ut([]);let{spiderRef:g,vod:b}=A,{lines:y,isSeries:x}=dle(b,g.spiderKey);if(!y.length)return Ut([]);if(x){let v=await DRr(t,g,b,y,a,n);return Fs(t,s,v),Ut(Ia(v,c,u),v.length)}return Ut([])}if(h.type==="sea"){let A=await ZM(t,h.payload,e);if(!A)return Ut([]);let{spiderRef:g,vod:b}=A,y=ho(b.vod_play_from,b.vod_play_url);if(!y.length)return Ut([]);let x=Number(h.payload.l||0),v=await kRr(t,e,g,b,y,x,a,n);return Fs(t,s,v),Ut(Ia(v,c,u),v.length)}return Ut([])}),t.get("/:userId/Items/:itemId",{preHandler:t.embyRequireAuth},async(e,r)=>{let n=$s(e.params.itemId);if(!n)return r.code(404),{};let s=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);if(n.type==="ep"){let i=await ZM(t,n.payload,e),a=String(i?.vod?.vod_name||"\u64AD\u653E"),o=Number(n?.payload?.l||0),c=Number(n?.payload?.e||0),u=ho(i?.vod?.vod_play_from,i?.vod?.vod_play_url),l=u?.[o]?.episodes?.[c]?.name||"",d=u?.[o]||null,f=d?.episodes?.[c]||null,p=fA(l,c+1),m=wn("vod",{k:String(n?.payload?.k||""),t:Number(n?.payload?.t||3),v:String(n?.payload?.v||""),...n?.payload?.a?{a:String(n.payload.a||"")}:{},...n?.payload?.n?{n:String(n.payload.n||"")}:{},...n?.payload?.u?{u:String(n.payload.u||"")}:{},...n?.payload?.r?{r:String(n.payload.r||"")}:{},...n?.payload?.y?{y:String(n.payload.y||"")}:{}}),h=wn("sea",{k:String(n?.payload?.k||""),t:Number(n?.payload?.t||3),v:String(n?.payload?.v||""),l:o,...n?.payload?.a?{a:String(n.payload.a||"")}:{},...n?.payload?.n?{n:String(n.payload.n||"")}:{},...n?.payload?.u?{u:String(n.payload.u||"")}:{},...n?.payload?.r?{r:String(n.payload.r||"")}:{},...n?.payload?.y?{y:String(n.payload.y||"")}:{}}),A=n.payload?.k&&n.payload?.v&&n.payload?.f&&n.payload?.p?[await fle(t,e,{k:String(n.payload.k||""),t:Number(n.payload.t||3),v:String(n.payload.v||""),l:Number(n.payload.l||0),e:Number(n.payload.e||0),f:String(n.payload.f||""),p:String(n.payload.p||""),...n.payload.a?{a:String(n.payload.a||"")}:{}},String(n.payload.f||"\u9ED8\u8BA4"))]:[];return t6(t,"item.detail.ep",{itemId:e.params.itemId,sourceType:n.type,vodName:String(i?.vod?.vod_name||""),mediaSourceCount:A.length,canPlay:!0}),A2(t,s,{Name:a,Id:e.params.itemId,Type:"Episode",IsFolder:!1,MediaType:"Video",CanPlay:!0,SeriesId:m,SeriesName:a,SeasonId:h,SeasonName:String(n?.payload?.f||`\u7EBF\u8DEF${o+1}`),IndexNumber:p,ParentIndexNumber:o+1,DateCreated:Ws(),ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Fo(t,s,e.params.itemId),...XM(),...f?await g2(t,{spiderRef:jE(n.payload),vod:i?.vod||{},line:d,lineIndex:o,episode:f,episodeIndex:c})||{}:{},MediaSources:A})}if(n.type==="sea"){let i=Number(n?.payload?.l||0);return A2(t,s,{Name:`\u7EBF\u8DEF${i+1}`,Id:e.params.itemId,Type:"Season",IsFolder:!0,IndexNumber:i+1,DateCreated:Ws(),ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Fo(t,s,e.params.itemId),...XM()})}if(n.type==="cat"){let i=String(n.payload?.n||n.payload?.c||n.payload?.k||"\u76EE\u5F55");return A2(t,s,{Name:i,Id:e.params.itemId,Type:"Folder",IsFolder:!0,ServerId:t.embyContext.config.serverId,PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Fo(t,s,e.params.itemId),...XM({Overview:String(n.payload?.r||"")})})}if(n.type==="vod"){let i=yft(t,n.payload).catch(()=>null),a=await ZM(t,n.payload,e);if(!a)return r.code(404),{};let{lines:o,isSeries:c}=dle(a.vod,a.spiderRef.spiderKey),u=c?"Series":"Movie",[l,d]=await Promise.all([MRr(t,e,a.spiderRef,a.vod,o),i]),f=d&&typeof d=="object"?{...d}:{},p={Primary:e.params.itemId,...f.ImageTags&&typeof f.ImageTags=="object"?f.ImageTags:{}};delete f.ImageTags;let m=c?[]:l,h=c?l.length>0:m.length>0;return t6(t,"item.detail.vod",{itemId:e.params.itemId,spiderKey:a.spiderRef.spiderKey,spiderType:a.spiderRef.spiderType,vodId:String(a.vod.vod_id||""),vodName:String(a.vod.vod_name||""),type:u,isFolder:c,canPlay:h,lineCount:o.length,mediaSourceCount:m.length,firstMediaSource:m[0]?{name:m[0].Name,path:m[0].Path,id:m[0].Id}:null}),A2(t,s,{Name:String(a.vod.vod_name||""),Id:e.params.itemId,IsFolder:c,Type:u,MediaType:"Video",CollectionType:c?"tvshows":void 0,CanPlay:h,DateCreated:Ws(),PrimaryImageAspectRatio:.6667,ProductionYear:Number(a.vod.vod_year||0)||void 0,ImageTags:p,BackdropImageTags:[],UserData:Fo(t,s,e.params.itemId),ChildCount:c?o.length>1?o.length:o[0]?.episodes?.length||0:void 0,SeasonCount:c?o.length:void 0,RecursiveItemCount:c?o.reduce((A,g)=>A+(g?.episodes?.length||0),0):void 0,...XM({Overview:String(a.vod.vod_content||"")}),...f,MediaSources:m})}return A2(t,s,{Name:String(n.payload?.k||""),Id:e.params.itemId,IsFolder:!0,Type:"Folder",ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Fo(t,s,e.params.itemId)})}),t.get("/:userId/Items/:itemId/LocalTrailers",{preHandler:t.embyRequireAuth},async()=>[]),t.get("/:userId/Items/:itemId/SpecialFeatures",{preHandler:t.embyRequireAuth},async()=>[]),t.all("/:userId/Items/:itemId/PlaybackInfo",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["GET","POST"].includes(e.method))return r.code(405),"";let n=new URLSearchParams,s=e.query||{};Object.keys(s).forEach(d=>{let f=s[d];f!=null&&n.set(d,String(f))});let i=n.toString(),a=`/emby/Items/${encodeURIComponent(String(e.params.itemId||""))}/PlaybackInfo${i?`?${i}`:""}`;t6(t,"playback.alias",{from:e.raw.url,to:a,method:e.method});let o={};e.embyToken&&(o["x-emby-token"]=e.embyToken);let c=e.method==="POST"?e.body||{}:void 0,u=await t.inject({method:e.method,url:a,headers:o,payload:c});r.code(u.statusCode);let l=u.headers?.["content-type"];if(l&&r.header("content-type",l),!u.body)return"";if(String(l||"").includes("application/json"))try{return JSON.parse(u.body)}catch{return u.body}return u.body}),t.post("/:userId/Items/:itemId/HideFromResume",{preHandler:t.embyRequireAuth},async e=>{let r=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);return Kdt(t,r,String(e.params.itemId||""))}),t.all("/:userId/FavoriteItems/:itemId/:isDelete?",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["POST","DELETE"].includes(e.method))return r.code(405),"";let n=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);return zdt(t,n,String(e.params.itemId||""),e.method==="POST")}),t.all("/:userId/PlayedItems/:itemId/:isDelete?",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["POST","DELETE"].includes(e.method))return r.code(405),"";let n=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);return Vdt(t,n,String(e.params.itemId||""),e.method==="POST")})}var $Rr=30*60*1e3,HE=16/9,x2=960,FRr=1920,URr=360,qRr=9,qft=24,jRr=12e3,gle=9e3,Bft=5*1024*1024,Mft=80,Wft=24,$ft=[["#556b2f","#bed98a"],["#5b3a82","#b37bd9"],["#235f73","#8fd2dc"],["#7a3341","#d98498"],["#2f5c43","#9ac78d"],["#6f4a2f","#d39a5d"],["#354f7d","#91aee6"],["#73395f","#cb87af"]],mle=null;function hle(t=""){return String(t||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}function jft(t,e,r){return Math.max(e,Math.min(r,t))}function HRr(t=""){let e=2166136261,r=String(t||"");for(let n=0;n<r.length;n+=1)e^=r.charCodeAt(n),e=Math.imul(e,16777619);return e>>>0}function Hft(t){return jft(Math.round(Number(t)||0),0,255)}function Fft(t=[]){return`#${t.slice(0,3).map(e=>Hft(e).toString(16).padStart(2,"0")).join("")}`}function Uft(t=[],e=[],r=.5){return[0,1,2].map(n=>Hft((t[n]||0)*(1-r)+(e[n]||0)*r))}function QRr(t={}){return{spiderKey:String(t.k||t.spiderKey||""),spiderType:Number(t.t||t.spiderType||3),apiBase:String(t.a||t.apiBase||"")}}function Ale(t,e,r=null){let n=null,s=new Promise(i=>{n=setTimeout(()=>i(r),e)});return Promise.race([t,s]).finally(()=>{n&&clearTimeout(n)})}function b2(t=[]){let e=new Set,r=[];for(let n of t){let s=String(n||"").trim();!s||e.has(s)||(e.add(s),r.push(s))}return r}function Qft(t=""){let e=String(t||"").trim();if(!e)return"";try{let r=new URL(e);return["http:","https:"].includes(r.protocol)?r.toString():""}catch{return""}}function GRr(t="",e="\u5A92\u4F53\u5E93"){return String(t||"").trim().replace(/^(?:「[^」]*」\s*)+/,"").trim()||e}function yle(t=[]){return b2((Array.isArray(t)?t:[]).map(e=>Qft(e?.vod_pic)).filter(Boolean))}async function VRr(t,e={}){let r=QRr(e);if(!r.spiderKey)return null;let n=await Xl(t).catch(()=>[]);return aA(n,r.spiderKey,r.spiderType,r.apiBase)||{siteName:String(e.n||r.spiderKey),spiderKey:r.spiderKey,spiderType:r.spiderType,apiBase:r.apiBase}}async function zRr(t,e,r){let n=await Ale(Jw(t,e,r).catch(()=>null),gle,null),s=yle(n?.list||[]);if(s.length>=qft)return s;let i=Array.isArray(n?.class)?n.class.filter(c=>String(c?.type_id||"").trim()):[];if(!i.length)return s;let a=i.slice(0,5).map(c=>Ale(NE(t,e,String(c.type_id||""),1,{},r).then(u=>yle(u?.list||[])).catch(()=>[]),gle,[]));return(await Promise.allSettled(a)).forEach(c=>{c.status==="fulfilled"&&s.push(...c.value)}),b2(s)}async function KRr(t,e,r={},n){let s=[],i=Qft(r.u);i&&s.push(i);let a=String(r.c||"").trim();if(!a)return b2(s);let o=await Ale(NE(t,e,a,1,{},n).catch(()=>null),gle,null);return s.push(...yle(o?.list||[])),b2(s)}async function YRr(t,e,r){let n=await VRr(t,e?.payload||{});if(!n)return{spider:null,posterUrls:[]};let s=[];return e?.type==="lib"?s=await zRr(t,n,r):e?.type==="cat"&&(s=await KRr(t,n,e.payload||{},r)),{spider:n,posterUrls:s}}function JRr(t,e=0){let r=t?.payload||{},n=GRr(r.n||r.name||r.k,"\u5A92\u4F53\u5E93"),s=t?.type==="cat"?"FOLDER":"LIBRARY";return{title:n,subtitle:s,countText:e>0?`${e} IMAGES`:"MYCATPAW"}}function XRr(t={}){let e=Number(t.Width||t.width||t.MaxWidth||t.maxWidth||0),r=Number(t.Height||t.height||t.MaxHeight||t.maxHeight||0),n=x2,s=Math.round(x2/HE);if(e>0&&r>0){let i=Math.min(e/x2,r/(x2/HE));n=Math.round(x2*i),s=Math.round(n/HE)}else e>0?(n=Math.round(e),s=Math.round(n/HE)):r>0&&(s=Math.round(r),n=Math.round(s*HE));return n=jft(n,URr,FRr),s=Math.round(n/HE),{width:n,height:s}}async function ZRr(){return mle||(mle=import("sharp").then(t=>t.default||t).catch(()=>null)),mle}function n6(t=""){return $ft[HRr(t)%$ft.length]}function eNr(t,e=3){let r=Math.max(3,Number(e)||3),n=Math.floor(t.length/r);if(!n)return!0;let s=0,i=0,a=0,o=0,c=0,u=0,l=0,d=0,f=0,p=new Set;for(let v=0;v<t.length;v+=r){let C=t[v]||0,R=t[v+1]||0,w=t[v+2]||0,N=C*.299+R*.587+w*.114,P=Math.max(C,R,w),L=Math.min(C,R,w);s+=C,i+=R,a+=w,o+=C*C,c+=R*R,u+=w*w,l+=N,d+=N*N,f+=P-L,p.add(`${C>>4}:${R>>4}:${w>>4}`)}let m=s/n,h=i/n,A=a/n,g=l/n,b=Math.sqrt(Math.max(0,d/n-g*g)),y=(Math.sqrt(Math.max(0,o/n-m*m))+Math.sqrt(Math.max(0,c/n-h*h))+Math.sqrt(Math.max(0,u/n-A*A)))/3,x=f/n;return b<8&&y<8||(g>242||g<16)&&b<12&&y<12||x<7&&b<10||p.size<=3||p.size<=6&&b<20&&x<12}async function tNr(t,e){try{let r=await t(e).metadata();if(!r?.width||!r?.height||r.width<Mft||r.height<Mft)return!1;let{data:n,info:s}=await t(e).resize(Wft,Wft,{fit:"cover"}).removeAlpha().raw().toBuffer({resolveWithObject:!0});return!eNr(n,s?.channels||3)}catch{return!1}}async function rNr(t,e){try{return await t(e).rotate().resize({width:420,height:620,fit:"cover",withoutEnlargement:!0}).flatten({background:"#f2f4f7"}).jpeg({quality:82,mozjpeg:!0}).toBuffer()}catch{return null}}async function nNr(t,e=null){try{let r=new URL(t),n=await Ae.get(r.toString(),{responseType:"arraybuffer",timeout:jRr,maxContentLength:Bft,headers:{Accept:"image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8",Referer:`${r.protocol}//${r.host}/`,"User-Agent":"Mozilla/5.0 EmbyDynamicCover/1.0"},validateStatus:o=>o>=200&&o<300}),s=String(n.headers?.["content-type"]||"").split(";")[0].trim().toLowerCase(),i=s&&s.startsWith("image/")?s:"image/jpeg",a=Buffer.from(n.data||[]);if(!a.length||a.length>Bft)return null;if(e){if(!await tNr(e,a))return null;let o=await rNr(e,a);return o?.length?{dataUri:`data:image/jpeg;base64,${o.toString("base64")}`,buffer:o}:null}return{dataUri:`data:${i};base64,${a.toString("base64")}`,buffer:a}}catch{return null}}async function sNr(t=[],e=null){let n=b2(t).slice(0,qft).map(a=>nNr(a,e));return(await Promise.allSettled(n)).filter(a=>a.status==="fulfilled"&&a.value?.dataUri).map(a=>a.value).slice(0,qRr)}async function iNr(t,e=[],r=""){let n=e.find(s=>s?.buffer);if(!n)return n6(r);try{let i=((await t(n.buffer).resize(24,24,{fit:"cover"}).stats()).channels||[]).slice(0,3).map(c=>c.mean||0),a=Uft(i,[0,0,0],.38),o=Uft(i,[255,255,255],.48);return[Fft(a),Fft(o)]}catch{return n6(r)}}function aNr(t=""){let e=String(t||"\u5A92\u4F53\u5E93").trim()||"\u5A92\u4F53\u5E93";if(e.length<=8)return[e];if(/[\u4e00-\u9fff]/.test(e)){let i=e.slice(0,8),a=e.slice(8,16);return a?[i,a]:[i]}let r=e.split(/\s+/).filter(Boolean);if(r.length<=1)return[e.slice(0,16)];let n=[],s="";return r.forEach(i=>{let a=s?`${s} ${i}`:i;if(a.length>12&&s){n.push(s),s=i;return}s=a}),s&&n.push(s),n.slice(0,2)}function Gft(t=[],e,r){let n=e*.16,s=n*1.48,i=e*.025,a=e*.52,o=-r*.16,c=3;return[2,0,1,3,4,5,8,6,7].map((l,d)=>{let f=Math.floor(d/c),p=d%c,m=a+f*(n+i),h=o+p*(s+i),A=`posterClip${d}`,g=t[l%t.length];return{x:m,y:h,w:n,h:s,r:e*.015,clipId:A,href:g?.dataUri||""}})}function oNr(t,e,r=""){let n=Gft([{dataUri:""}],t,e),s=n6(r);return n.map((i,a)=>{let o=.18+a%3*.08;return`
<rect x="${i.x.toFixed(1)}" y="${i.y.toFixed(1)}"
width="${i.w.toFixed(1)}" height="${i.h.toFixed(1)}"
rx="${i.r.toFixed(1)}" fill="${s[a%s.length]}" opacity="${o.toFixed(2)}"/>
<path d="M ${i.x+i.w*.22} ${i.y+i.h*.42}
h ${i.w*.56} v ${i.h*.22} h ${-i.w*.56} z"
fill="rgba(255,255,255,0.28)"/>
`}).join("")}function cNr({width:t,height:e,title:r,subtitle:n,countText:s,posterImages:i,palette:a}){let o=aNr(r),c=o.some(h=>h.length>8)?t*.082:t*.105,u=t*.034,l=c*1.08,d=i.length?Gft(i,t,e):[],f=d.map(h=>`
<clipPath id="${h.clipId}">
<rect x="${h.x.toFixed(1)}" y="${h.y.toFixed(1)}"
width="${h.w.toFixed(1)}" height="${h.h.toFixed(1)}"
rx="${h.r.toFixed(1)}"/>
</clipPath>
`).join(""),p=d.map(h=>`
<rect x="${h.x.toFixed(1)}" y="${h.y.toFixed(1)}"
width="${h.w.toFixed(1)}" height="${h.h.toFixed(1)}"
rx="${h.r.toFixed(1)}" fill="rgba(255,255,255,0.14)" filter="url(#cardShadow)"/>
<image href="${h.href}" x="${h.x.toFixed(1)}" y="${h.y.toFixed(1)}"
width="${h.w.toFixed(1)}" height="${h.h.toFixed(1)}"
preserveAspectRatio="xMidYMid slice" clip-path="url(#${h.clipId})"/>
`).join(""),m=o.map((h,A)=>`
<text x="${(t*.07).toFixed(1)}" y="${(e*.47+A*l).toFixed(1)}"
class="title">${hle(h)}</text>
`).join("");return`<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${e}" viewBox="0 0 ${t} ${e}">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="0">
<stop offset="0" stop-color="${a[0]}"/>
<stop offset="1" stop-color="${a[1]}"/>
</linearGradient>
<radialGradient id="softLight" cx="78%" cy="42%" r="58%">
<stop offset="0" stop-color="rgba(255,255,255,0.42)"/>
<stop offset="1" stop-color="rgba(255,255,255,0)"/>
</radialGradient>
<filter id="cardShadow" x="-20%" y="-20%" width="150%" height="150%">
<feDropShadow dx="${(t*.01).toFixed(1)}" dy="${(e*.016).toFixed(1)}"
stdDeviation="${(t*.011).toFixed(1)}" flood-color="#000" flood-opacity="0.38"/>
</filter>
${f}
<style>
.title {
fill: #fff;
font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif;
font-weight: 800;
font-size: ${c.toFixed(1)}px;
}
.subtitle {
fill: rgba(255,255,255,0.88);
font-family: Arial, Helvetica, sans-serif;
font-weight: 500;
font-size: ${u.toFixed(1)}px;
}
.meta {
fill: rgba(255,255,255,0.52);
font-family: Arial, Helvetica, sans-serif;
font-size: ${(t*.018).toFixed(1)}px;
}
</style>
</defs>
<rect width="${t}" height="${e}" fill="url(#bg)"/>
<rect width="${t}" height="${e}" fill="url(#softLight)" opacity="0.72"/>
<g transform="rotate(-14 ${(t*.76).toFixed(1)} ${(e*.48).toFixed(1)})">
${i.length?p:oNr(t,e,r)}
</g>
<rect x="${(t*.067).toFixed(1)}" y="${(e*.58).toFixed(1)}"
width="${(t*.014).toFixed(1)}" height="${(e*.054).toFixed(1)}"
fill="rgba(255,255,255,0.32)"/>
${m}
<text x="${(t*.096).toFixed(1)}" y="${(e*.63).toFixed(1)}" class="subtitle">${hle(n)}</text>
<text x="${(t*.07).toFixed(1)}" y="${(e*.86).toFixed(1)}" class="meta">${hle(s)}</text>
</svg>`}function uNr(t=""){return String(t||"Primary").trim().toLowerCase()==="primary"}function xle(t,e="Primary"){return uNr(e)&&["lib","cat"].includes(t?.type)}async function Vft(t,e,r){if(!xle(e,r?.params?.imageType||"Primary"))return null;let{width:n,height:s}=XRr(r?.query||{}),i=im(["emby","dynamic-cover-v2",e.type,JSON.stringify(e.payload||{}),n,s]);return Xf(t.embyContext?.cache,i,$Rr,async()=>{let a=await YRr(t,e,r),o=await ZRr(),c=o?await sNr(a.posterUrls,o):[],u=JRr(e,o?c.length:a.posterUrls.length),l=o?await iNr(o,c,u.title):n6(u.title),d=cNr({width:n,height:s,title:u.title,subtitle:u.subtitle,countText:u.countText,posterImages:c,palette:l});return o?{buffer:await o(Buffer.from(d,"utf8"),{density:96}).png({compressionLevel:8,adaptiveFiltering:!0}).toBuffer(),contentType:"image/png"}:{buffer:Buffer.from(d,"utf8"),contentType:"image/svg+xml; charset=utf-8"}})}var lNr=!1;function dNr(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}async function zft(t,e={}){if(e.u)return String(e.u);let r=Zl(e),n=String(e.v||"");if(!r.spiderKey||!n)return"";let s=await Oc(t,r,n).catch(()=>null),i=Pc(s);return String(i?.vod_pic||"")}function fNr(t,e="Primary",r={}){let n=String(e||"Primary").trim().toLowerCase();return String(r?.tag||r?.Tag||"").trim().toLowerCase()==="tmdb"||t?.type!=="vod"?!0:["backdrop","thumb","banner","logo"].includes(n)}async function pNr(t,e,r="Primary",n={}){if(e?.type==="vod"&&!fNr(e,r,n)){let i=await zft(t,e?.payload||{});if(i)return i}let s=await Ift(t,e,r).catch(()=>"");return s||(e?.type==="img"?String(e?.payload?.u||""):zft(t,e?.payload||{}))}function Kft(t){if(!t?.payload||typeof t.payload!="object")return null;let e=t.payload;return t.type==="media"||t.type==="ep"?{k:String(e.k||""),t:Number(e.t||3),v:String(e.v||""),l:Number(e.l||0),e:Number(e.e||0),f:String(e.f||""),p:String(e.p||""),a:String(e.a||"")}:null}async function mNr(t,e,r=""){let n=Kft(e);if(n)return n;if(r&&["vod","sea"].includes(e.type)){let p=l2(t,r,wn(e.type,e.payload||{})),m=Kft(p?.decoded);if(m?.k&&m?.f&&m?.p)return m}let s=e.payload||{};if(!["vod","sea"].includes(e.type))return null;let i=Zl(s),a=String(s.v||"");if(!i.spiderKey||!a)return null;let o=await Oc(t,i,a).catch(()=>null),c=Pc(o);if(!c)return null;let u=ho(c.vod_play_from,c.vod_play_url);if(!u.length)return null;let l=e.type==="sea"?Number(s.l||0):0,d=u[l]||u[0];if(!d||!d.episodes.length)return null;let f=d.episodes[0];return{k:i.spiderKey,t:i.spiderType,v:a,l,e:0,f:String(d.flag||""),p:String(f.playId||""),...i.apiBase?{a:i.apiBase}:{}}}function hNr(t=""){let e=String(t||"").trim();if(!e)return"mkv";if(/\.m3u8($|\?)/i.test(e))return"m3u8";try{let n=new URL(e).pathname.match(/\.([a-z0-9]{2,6})$/i);if(n?.[1])return n[1].toLowerCase()}catch{}return"mkv"}function gNr(t=""){try{let e=String(new URL(String(t||"")).hostname||"").toLowerCase();return e.includes("mcloud.139.com")||e.includes("yun.139.com")}catch{return!1}}async function ANr(t,e,r){let n={spiderKey:e.k,spiderType:Number(e.t||3),apiBase:String(e.a||"")},s=await am(t,n,e.f,e.p,r).catch(()=>null),i=um(s||{},""),a=String(i.url||"");return{container:hNr(a),requiredHeaders:i.header||{},directUrl:a,useDirectUrl:lNr&&gNr(a)}}function yNr(t){let r=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||t.protocol||"http",s=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||t.headers?.host||"127.0.0.1";return`${r}://${s}`}function xNr(t="mkv"){return/^[a-z0-9]{2,8}$/i.test(String(t||""))?String(t).toLowerCase():"mkv"}function Yft(t,e,r="mkv",n=!1){let s=xNr(r),i=n&&t.embyToken?`?api_key=${encodeURIComponent(t.embyToken)}`:"";return`/videos/${String(e||"")}/stream.${s}${i}`}function bNr(t,e,r="mkv",n=!0){return`${yNr(t)}/emby${Yft(t,e,r,n)}`}async function ble(t){t.get("/",{preHandler:t.embyRequireAuth},async(e,r)=>{let n=e.query||{},s=String(n.userid||n.UserId||e.embyUser?.Id||t.embyContext.user.id),i=new URLSearchParams;Object.keys(n).forEach(c=>{if(c==="userid"||c==="UserId")return;let u=n[c];u!=null&&i.set(c,String(u))});let a=`/emby/Users/${encodeURIComponent(s)}/Items`,o=i.toString();o&&(a+=`?${o}`),r.redirect(301,a)}),t.get("/:itemId/Images/:imageType",async(e,r)=>{let n=$s(e.params.itemId);if(!n)return r.code(404),"";if(xle(n,e.params.imageType||"Primary")){let i=await Vft(t,n,e).catch(()=>null);if(i?.buffer?.length)return r.header("Content-Type",i.contentType||"image/png"),r.header("Cache-Control","public, max-age=1800"),r.header("Content-Length",String(i.buffer.length)),r.send(i.buffer)}let s=await pNr(t,n,e.params.imageType||"Primary",e.query||{});if(!s)return r.code(404),"";try{let i=new URL(s);if(!["http:","https:"].includes(i.protocol))return r.code(403),""}catch{return r.code(404),""}try{let i=await Ae.get(s,{responseType:"stream",timeout:1e4,headers:{"User-Agent":"Mozilla/5.0 EmbyImageProxy"}}),a=i.headers?.["content-type"]||"image/jpeg";return r.header("Content-Type",a),r.header("Cache-Control","public, max-age=86400"),i.headers?.["content-length"]&&r.header("Content-Length",i.headers["content-length"]),r.send(i.data)}catch{return r.code(502),""}}),t.all("/:itemId/PlaybackInfo",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["GET","POST"].includes(e.method))return r.code(405),"";let n=e.params.itemId,s=$s(n);if(!s)return r.code(404),{};let i=e.embyUser?.Id||t.embyContext.user.id,a=await mNr(t,s,i);if(!a||!a.k||!a.f||!a.p)return r.code(404),{};let o=wn("media",{k:String(a.k||""),t:Number(a.t||3),v:String(a.v||""),l:Number(a.l||0),e:Number(a.e||0),f:String(a.f||""),...a.a?{a:String(a.a||"")}:{}}),c=await ANr(t,a,e),u=bNr(e,o,c.container,!0),l=c.useDirectUrl&&c.directUrl?c.directUrl:u,d=c.useDirectUrl&&c.directUrl?c.directUrl:Yft(e,o,c.container,!0),f=!1,p=c.useDirectUrl?c.requiredHeaders||{}:{};return dNr(t,"playback.info",{itemId:n,mediaId:o,spiderKey:a.k,lineFlag:a.f,container:c.container,useDirectUrl:c.useDirectUrl,streamUrl:l,directStreamUrl:d,hasRequiredHeaders:Object.keys(p).length>0,addApiKeyToDirectStreamUrl:f}),{MediaSources:[{Id:o,Name:"\u9ED8\u8BA4",Type:"Default",Protocol:"Http",Container:c.container,IsRemote:!0,SupportsTranscoding:!1,SupportsDirectStream:!0,SupportsDirectPlay:!0,IsInfiniteStream:!1,RequiresOpening:!1,RequiresClosing:!1,RequiresLooping:!1,SupportsProbing:!1,MediaStreams:[],RequiredHttpHeaders:p,Path:l,DirectStreamUrl:d,AddApiKeyToDirectStreamUrl:f,ItemId:o}],PlaySessionId:n}}),t.get("/:itemId/Similar",{preHandler:t.embyRequireAuth},async()=>Ut([])),t.get("/Counts",{preHandler:t.embyRequireAuth},async()=>({MovieCount:0,SeriesCount:0,EpisodeCount:0,GameCount:0,ArtistCount:0,ProgramCount:0,GameSystemCount:0,TrailerCount:0,SongCount:0,AlbumCount:0,MusicVideoCount:0,BoxSetCount:0,BookCount:0,ItemCount:0}))}var ENr=new Set(["tgchannel","tgsou","pansou","panta"]);function Ele(t){try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}}function _Nr(t=""){let e=String(t||""),r=[e,Ele(e),Ele(Ele(e))];for(let n of r){let s=$s(n);if(s)return s}return null}function SNr(t={}){return{k:String(t.k||""),t:Number(t.t||3),v:String(t.v||""),l:Number(t.l||0),e:Number(t.e||0),f:String(t.f||""),p:String(t.p||""),a:String(t.a||"")}}async function vNr(t,e={}){let r=SNr(e);if(!r.k||!r.v)return null;if(r.f&&r.p)return r;let n={spiderKey:r.k,spiderType:r.t,apiBase:r.a},s=await Oc(t,n,r.v).catch(()=>null),i=Pc(s);if(!i)return null;let a=ho(i.vod_play_from,i.vod_play_url).filter(f=>Array.isArray(f?.episodes)&&f.episodes.length>0);if(!a.length)return null;let o=Math.max(0,Math.min(a.length-1,Number(r.l||0))),c=a[o],u=Array.isArray(c?.episodes)?c.episodes:[];if(!u.length)return null;let l=Math.max(0,Math.min(u.length-1,Number(r.e||0))),d=u[l];return d?.playId?{...r,l:o,e:l,f:r.f||String(c.flag||""),p:String(d.playId||"")}:null}async function CNr(t,e){if(!e)return null;if(e.type==="media"||e.type==="ep")return vNr(t,e.payload||{});if(!["vod","sea"].includes(e.type))return null;let r=e.payload||{},n=Zl(r),s=String(r.v||"");if(!n.spiderKey||!s)return null;let i=await Oc(t,n,s).catch(()=>null),a=Pc(i);if(!a)return null;let o=ho(a.vod_play_from,a.vod_play_url);if(!o.length)return null;let c=e.type==="sea"?Number(r.l||0):0,u=o[c]||o[0];if(!u||!u.episodes.length)return null;let l=u.episodes[0];return{k:n.spiderKey,t:n.spiderType,v:s,l:c,e:0,f:String(u.flag||""),p:String(l.playId||""),...n.apiBase?{a:n.apiBase}:{}}}function INr(t,e={}){let r={"User-Agent":t.headers?.["user-agent"]||"Mozilla/5.0 EmbyVideoProxy"};return t.headers?.range&&(r.Range=t.headers.range),e&&typeof e=="object"&&Object.keys(e).forEach(n=>{let s=e[n];s!=null&&(r[n]=String(s))}),r}async function Jft(t,e,r,n){let s=await Ae.get(r,{responseType:"stream",timeout:3e4,maxRedirects:5,validateStatus:()=>!0,headers:INr(t,n)}),i=["content-type","content-length","accept-ranges","content-range","cache-control","etag","last-modified"];return e.code(s.status),i.forEach(a=>{let o=s.headers?.[a];o!=null&&e.header(a,o)}),e.send(s.data)}function TNr(t={},e=""){if(ENr.has(String(t.k||"")))return!0;try{let r=String(new URL(String(e||"")).hostname||"").toLowerCase();return r.includes("mcloud.139.com")||r.includes("yun.139.com")}catch{return!1}}function wNr(t=""){try{return new URL(String(t||"")).toString()}catch{return String(t||"")}}async function _le(t,e,r,n=""){let s=_Nr(e.params.mediaId);if(!s)return r.code(404),"";let i=await CNr(t,s);if(!i||!i.k||!i.f||!i.p)return r.code(404),"";let a={spiderKey:i.k,spiderType:i.t,apiBase:String(i.a||"")},o=await am(t,a,i.f,i.p,e).catch(()=>null),c=um(o||{},String(e.query?.line||""));if(!c.url)return r.code(404),"";let u=String(n||"").trim(),l=u;try{let d=String(e.raw?.url||""),f=`/${String(e.params.mediaId||"")}/`,p=d.indexOf(f);if(p>=0){let m=d.slice(p+f.length).trim();m&&(l=m)}}catch{}if(u&&!/^stream\./i.test(u))try{let d=new URL(c.url),f=new URL(l||u,d);return Jft(e,r,f.toString(),c.header)}catch{return r.code(400),""}try{let d=new URL(c.url);if(!["http:","https:"].includes(d.protocol))return r.code(403),""}catch{return r.code(400),""}return TNr(i,c.url)||Object.keys(c.header||{}).length>0?Jft(e,r,c.url,c.header):r.redirect(307,wNr(c.url))}async function Sle(t){let e=async(r,n)=>{t.embyExtractToken(r)&&await t.embyRequireAuth(r,n)};t.get("/:mediaId/AdditionalParts",{preHandler:e},async()=>Ut([])),t.get("/:mediaId/stream.mkv",{preHandler:e},async(r,n)=>_le(t,r,n,"stream.mkv")),t.get("/:mediaId/:fileName",{preHandler:e},async(r,n)=>_le(t,r,n,String(r.params.fileName||""))),t.get("/:mediaId/*",{preHandler:e},async(r,n)=>_le(t,r,n,String(r.params["*"]||""))),t.get("/:mediaId/subtitles/:subtitleId",{preHandler:e},async(r,n)=>(n.code(404),""))}var RNr=new Set(["tgchannel","tgsou","pansou","panta"]),NNr=!1;function ONr(t=""){return/(移动|yidong|139)/i.test(String(t||""))}function PNr(t=""){try{let e=String(new URL(String(t||"")).hostname||"").toLowerCase();return e.includes("mcloud.139.com")||e.includes("yun.139.com")}catch{return!1}}function Xft(t="",e="mkv"){let r=String(t||"").trim();if(!r)return e;if(/\.m3u8($|\?)/i.test(r))return"m3u8";try{let s=new URL(r).pathname.match(/\.([a-z0-9]{2,6})$/i);if(s?.[1])return s[1].toLowerCase()}catch{}return e}function DNr(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}function kNr(t){let r=String(t?.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||t?.protocol||"http",s=String(t?.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||t?.headers?.host||"127.0.0.1";return`${r}://${s}`}function LNr(t,e,r="mkv"){return`${kNr(t)}/emby${tpt(t,e,r,!0)}`}function tpt(t,e,r="mkv",n=!1){let s=/^[a-z0-9]{2,8}$/i.test(String(r||""))?String(r).toLowerCase():"mkv",i=n&&t?.embyToken?`?api_key=${encodeURIComponent(t.embyToken)}`:"";return`/videos/${String(e||"")}/stream.${s}${i}`}async function BNr(t,e,r,n="\u9ED8\u8BA4"){let s=wn("media",{k:String(r?.k||""),t:Number(r?.t||3),v:String(r?.v||""),l:Number(r?.l||0),e:Number(r?.e||0),f:String(r?.f||n||""),...r?.a?{a:String(r.a||"")}:{}}),i=RNr.has(String(r?.k||""))?"m3u8":"mkv",a=Xft(String(r?.p||""),i),o=LNr(e,s,a),c=tpt(e,s,a,!0),u={},l=!1,d=String(n||r?.f||"");if(NNr&&ONr(d)&&r?.k&&r?.f&&r?.p){let p={spiderKey:String(r.k||""),spiderType:Number(r.t||3),apiBase:String(r.a||"")},m=await am(t,p,String(r.f||""),String(r.p||""),e).catch(()=>null),h=um(m||{},String(n||""));h.url&&PNr(h.url)&&(a=Xft(h.url,a),o=h.url,c=h.url,u=h.header||{},l=!1)}return{Id:s,Name:n,Type:"Default",Protocol:"Http",Container:a,IsRemote:!0,SupportsTranscoding:!1,SupportsDirectStream:!0,SupportsDirectPlay:!0,IsInfiniteStream:!1,SupportsProbing:!1,MediaStreams:[],RequiredHttpHeaders:u,Path:o,DirectStreamUrl:c,AddApiKeyToDirectStreamUrl:l,ItemId:s}}async function MNr(t,e,r,n,s,i){let a=String(r?.vod_name||""),o=String(r?.vod_pic||"").trim(),c=String(r?.tmdbHintRemarks||r?.vod_remarks||"").trim(),u=String(r?.tmdbHintYear||r?.vod_year||"").trim(),l=[],d=new Map;for(let f=0;f<n.length;f+=1){let p=n[f],m={k:e.spiderKey,t:e.spiderType,v:String(r.vod_id),l:f,...e.apiBase?{a:e.apiBase}:{}};a&&(m.n=a),o&&(m.u=o),c&&(m.r=c),u&&(m.y=u);let h=wn("sea",m),A={Name:p.flag||`\u7B2C${f+1}\u5B63`,Id:h,ParentId:s,SeriesId:s,SeriesName:a,IndexNumber:f+1,ChildCount:p.episodes.length,ServerId:i,IsFolder:!0,Type:"Season",ImageTags:{Primary:h},BackdropImageTags:[],UserData:ss()},b=`s${VM(r,p,f)}`,y=d.get(b);y===void 0&&(y=await YM(t,"season",{spiderRef:e,vod:r,line:p,lineIndex:f})||null,d.set(b,y)),y&&Object.assign(A,y),l.push(A)}return l}async function WNr(t,e,r,n,s,i,a,o=0,c=void 0){let u=String(n?.vod_name||""),l=String(n?.vod_pic||"").trim(),d=String(n?.tmdbHintRemarks||n?.vod_remarks||"").trim(),f=String(n?.tmdbHintYear||n?.vod_year||"").trim(),p=s?.line,m=Number(s?.lineIndex||0),h=Number(s?.episodeOffset||0),g=(Array.isArray(p?.episodes)?p.episodes:[])[o];if(!p||!g?.playId)return null;let b=h+o,y=fA(g?.name,b+1),x={k:r.spiderKey,t:r.spiderType,v:String(n.vod_id),l:m,e:b,f:p.flag,p:g.playId,...r.apiBase?{a:r.apiBase}:{}};u&&(x.n=u),l&&(x.u=l),d&&(x.r=d),f&&(x.y=f);let v=wn("ep",x),C=await BNr(t,e,{k:r.spiderKey,t:r.spiderType,...r.apiBase?{a:r.apiBase}:{},v:String(n.vod_id),l:m,e:b,f:p.flag,p:g.playId},String(p.flag||`\u7EBF\u8DEF${m+1}`)),R={Name:g.name||`\u7B2C${b+1}\u96C6`,Id:v,ParentId:i,SeasonId:wn("sea",{k:r.spiderKey,t:r.spiderType,v:String(n.vod_id),l:m,...r.apiBase?{a:r.apiBase}:{},...u?{n:u}:{},...l?{u:l}:{},...d?{r:d}:{},...f?{y:f}:{}}),SeriesId:i,SeriesName:u,SeasonName:p.flag||`\u7B2C${m+1}\u5B63`,IndexNumber:y,ParentIndexNumber:m+1,ServerId:a,IsFolder:!1,Type:"Episode",MediaType:"Video",CanPlay:!0,PrimaryImageAspectRatio:.6667,ImageTags:{Primary:v},BackdropImageTags:[],UserData:ss(),MediaSources:[C]};if(c!==void 0)return c&&Object.assign(R,c),R;let w=await g2(t,{spiderRef:r,vod:n,line:p,lineIndex:m,episode:g,episodeIndex:b});return w&&Object.assign(R,w),R}function $Nr(t=[]){return t.reduce((e,r)=>e+(Array.isArray(r?.line?.episodes)?r.line.episodes.length:0),0)}async function rpt(t,e,r,n,s,i,a,o=1/0){let c=[],u=Number(o),l=Number.isFinite(u)&&u>0?Math.floor(u):1/0;for(let d of s){let f=Array.isArray(d?.line?.episodes)?d.line.episodes:[],p=Number(d?.episodeOffset||0),m=await KM(t,{spiderRef:r,vod:n,line:d?.line,lineIndex:Number(d?.lineIndex||0),episodes:f,episodeOffset:p});for(let h=0;h<f.length;h+=1){let A=await WNr(t,e,r,n,d,i,a,h,m[h]??null);if(A&&c.push(A),c.length>=l)return c}}return c}function npt(t,e){if(!t?.payload||typeof t.payload!="object"||t.type==="vod")return e;let r=t.payload,n=String(r.k||""),s=String(r.v||"");return!n||!s?e:wn("vod",{k:n,t:Number(r.t||3),v:s,...r.a?{a:String(r.a||"")}:{},...r.n?{n:String(r.n||"")}:{},...r.u?{u:String(r.u||"")}:{}})}function spt(t=[],e={},r=null){let n=String(Xr(e,["seasonid","SeasonId","seasonId"],""));if(n){let i=$s(n);if(i?.type==="sea"){let a=Number(i.payload?.l||0),o=t[a];return o?[{line:o,lineIndex:a}]:[]}}let s=Number(Xr(e,["season","Season"],NaN));if(Number.isFinite(s)&&s>0){let i=s-1,a=t[i];return a?[{line:a,lineIndex:i}]:[]}if(r?.type==="sea"){let i=Number(r.payload?.l||0),a=t[i];return a?[{line:a,lineIndex:i}]:[]}if(r?.type==="ep"){let i=Number(r.payload?.l||0),a=Number(r.payload?.e||0),o=t[i];return!o||!o.episodes[a]?[]:[{line:{...o,episodes:[o.episodes[a]]},lineIndex:i,episodeOffset:a}]}return t.map((i,a)=>({line:i,lineIndex:a}))}function FNr(t,e,r,n=[]){let i=l2(t,e,r)?.decoded?.payload||null;if(!i)return n;let a=Number(i.l||0),o=Number(i.e||0),c=n.find(l=>Number(l?.lineIndex||0)===a),u=Array.isArray(c?.line?.episodes)?c.line.episodes:[];return u[o]?[{...c,episodeOffset:o,line:{...c.line,episodes:u.slice(o)}}]:n}async function vle(t,e){let r=$s(e);if(!r||!["vod","sea","ep"].includes(r.type))return null;let n=r.payload||{},s=Zl(n),i=String(n.v||"");if(!s.spiderKey||!i)return null;let a=await Oc(t,s,i).catch(()=>null),o=Pc(a);if(!o)return null;yA(o,n),!String(o?.vod_pic||"").trim()&&n?.u&&(o.vod_pic=String(n.u||"").trim());let c=ho(o.vod_play_from,o.vod_play_url);return c.length?{decoded:r,spiderRef:s,vod:o,lines:c}:null}async function Zft(t,e,r={},n=null){let s=await vle(t,e);if(!s)return[];let{decoded:i,spiderRef:a,vod:o,lines:c}=s,u=spt(c,r,i);if(!u.length)return[];let l=npt(i,e);return rpt(t,n,a,o,u,l,t.embyContext.config.serverId)}async function ept(t,e){let r=await vle(t,e);if(!r)return[];let{spiderRef:n,vod:s,lines:i}=r;return MNr(t,n,s,i,e,t.embyContext.config.serverId)}async function Cle(t){let e={preHandler:t.embyRequireAuth};t.get("/Persons",e,async()=>Ut([])),t.get("/Genres",e,async()=>Ut([])),t.get("/Tags",e,async()=>Ut([])),t.get("/OfficialRatings",e,async()=>Ut([])),t.get("/Years",e,async()=>Ut([])),t.get("/Studios",e,async()=>Ut([])),t.get("/Shows/NextUp",e,async r=>{let n=r.query||{},s=String(Xr(n,["SeriesId","seriesId"],"")).trim(),i=Pu(Xr(n,["Limit","limit"],1),1),a=r.embyUser?.Id||t.embyContext.user.id;if(!s)return Ut([]);let o=await vle(t,s);if(!o)return Ut([]);let{decoded:c,spiderRef:u,vod:l,lines:d}=o,f=npt(c,s),p=FNr(t,a,f,spt(d,n,c));if(!p.length)return Ut([]);let m=$Nr(p),h=Fs(t,a,await rpt(t,r,u,l,p,f,t.embyContext.config.serverId,i));return DNr(t,"nextup.result",{seriesId:s,total:m,first:h[0]?{id:h[0].Id,type:h[0].Type,canPlay:h[0].CanPlay,mediaSourceCount:Array.isArray(h[0].MediaSources)?h[0].MediaSources.length:0}:null}),Ut(h,m)}),t.get("/Shows/:seriesId/Seasons",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.seriesId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Fs(t,o,await ept(t,a));return Ut(Ia(c,s,i),c.length)}),t.get("/Shows/:seriesId/Episodes",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.seriesId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Fs(t,o,await Zft(t,a,n,r));return Ut(Ia(c,s,i),c.length)}),t.get("/Items/:itemId/Seasons",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.itemId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Fs(t,o,await ept(t,a));return Ut(Ia(c,s,i),c.length)}),t.get("/Items/:itemId/Episodes",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.itemId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Fs(t,o,await Zft(t,a,n,r));return Ut(Ia(c,s,i),c.length)}),t.get("/Sessions",e,async r=>[{PlayState:{CanSeek:!0,IsPaused:!1,IsMuted:!1,RepeatMode:"RepeatNone",SleepTimerMode:"None",SubtitleOffset:0,Shuffle:!1,PlaybackRate:1},AdditionalUsers:[],RemoteEndPoint:"mycatpaw",Protocol:"HTTP/1.1",PlayableMediaTypes:["Video"],PlaylistIndex:0,PlaylistLength:0,Id:t.embyContext.config.serverId,ServerId:t.embyContext.config.serverId,UserId:r.embyUser?.Id||"",UserName:r.embyUser?.Name||"",Client:"",LastActivityDate:Ws(),DeviceName:"",InternalDeviceId:0,DeviceId:"",ApplicationVersion:t.embyContext.config.version,SupportedCommands:[],SupportsRemoteControl:!1}]),t.post("/Sessions/Playing",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await d2(t,s,r.body||{},"playing"),n.code(204).send()}),t.post("/Sessions/Playing/Progress",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await d2(t,s,r.body||{},"progress"),n.code(204).send()}),t.post("/Sessions/Playing/Stopped",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await d2(t,s,r.body||{},"stopped"),n.code(204).send()}),t.post("/Sessions/Playing/Ping",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await d2(t,s,r.body||{},"ping"),n.code(204).send()}),t.get("/DisplayPreferences/Usersettings",e,async()=>({Id:"usersettings",CustomPrefs:{},SortOrder:"Ascending"})),t.get("/Environment/DefaultDirectoryBrowser",e,async()=>Ut([]))}function ipt(t){return t&&String(t).match(/Token="?([^",\s]+)"?/i)?.[1]||""}var Ile=Symbol("embyLogStartAt"),UNr=/(token|password|passwd|pwd|pw|authorization|cookie|api[_-]?key|session)/i;function s6(t){let e=String(t??"");return e?e.length<=6?"***":`${e.slice(0,2)}***${e.slice(-2)}`:""}function QE(t,e=0,r=new WeakSet){if(t==null)return t;if(typeof t=="string")return t.length>240?`${t.slice(0,240)}...(truncated)`:t;if(typeof t!="object")return t;if(r.has(t))return"[Circular]";if(e>=3)return"[MaxDepth]";if(r.add(t),Array.isArray(t))return t.slice(0,10).map(s=>QE(s,e+1,r));let n={};for(let[s,i]of Object.entries(t)){if(UNr.test(s)){n[s]=s6(i);continue}n[s]=QE(i,e+1,r)}return n}function qNr(t){return t.routeOptions?.url||t.url||t.raw?.url||""}function Tle(t,e){if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["0","false","off","no"].includes(r)?!1:["1","true","on","yes"].includes(r)?!0:e}function jNr(t,e,r){let n=String(e||"").trim();if(!n){r(null,{});return}try{r(null,JSON.parse(n))}catch(s){s.statusCode=400,r(s)}}function E2(t={}){let e=String(process.env.EMBY_TMDB_API_KEY||t.tmdbApiKey||"");return{enable:t.enable!==!1,username:String(process.env.EMBY_USERNAME||t.username||"CatPawPlay"),password:String(process.env.EMBY_PASSWORD||t.password||"CatPawPlay"),serverName:String(process.env.EMBY_SERVER_NAME||t.serverName||"CatPawPlay"),serverId:String(process.env.EMBY_SERVER_ID||t.serverId||"mycatpaw"),version:String(process.env.EMBY_VERSION||t.version||"4.8.0.80"),apiKey:String(process.env.EMBY_API_KEY||t.apiKey||""),searchSourcePrefix:Tle(process.env.EMBY_SEARCH_SOURCE_PREFIX,t.searchSourcePrefix!==!1),tokenTtlMs:Number(t.tokenTtlMs||30*24*60*60*1e3),requestLog:Tle(process.env.EMBY_REQUEST_LOG,process.env.NODE_ENV==="development"?t.requestLog!==!1:t.requestLog===!0),recoverToken:t.recoverToken!==!1&&process.env.EMBY_RECOVER_TOKEN!=="0",tmdbEnable:Tle(process.env.EMBY_TMDB_ENABLE,t.tmdbEnable!==!1&&!!e),tmdbApiKey:e,tmdbLanguage:String(process.env.EMBY_TMDB_LANGUAGE||t.tmdbLanguage||"zh-CN"),tmdbImageBase:String(process.env.EMBY_TMDB_IMAGE_BASE||t.tmdbImageBase||"https://image.tmdb.org/t/p/original")}}async function wle(t){let e=null;try{e=await t.db?.getObjectDefault("/emby",null)}catch{}let r=null;try{r=await t.db?.getObjectDefault("/embyPlayback",null)}catch{}let n=E2({...t.config?.emby||{},...e&&typeof e=="object"?e:{}}),s={config:n,cache:CM({max:1200}),tmdbStore:null,tmdbClientState:null,tokens:new Map,user:{id:"emby-user-001",name:n.username},playbackState:QM(r),playbackPersistTimer:null};globalThis.__catpawEmbyRuntime=s,t.addContentTypeParser("application/json",{parseAs:"string"},jNr),t.addContentTypeParser("application/x-www-form-urlencoded",{parseAs:"string"},(i,a,o)=>{try{let c=new URLSearchParams(String(a)),u={};for(let[l,d]of c.entries())u[l]=d;o(null,u)}catch(c){o(c)}}),t.decorate("embyContext",s),t.decorate("embyExtractToken",function(a){let o=a.query||{};return o["x-emby-token"]||o.api_key||o["X-Emby-Token"]||a.headers?.["x-emby-token"]||ipt(a.headers?.["x-emby-authorization"])||ipt(a.headers?.authorization)||""}),t.decorate("embyRequireAuth",async function(a,o){if(!s.config.enable){o.code(503).send("Emby disabled");return}let c=t.embyExtractToken(a);if(!c){o.code(401).send("Unauthorized");return}if(s.config.apiKey&&c===s.config.apiKey){a.embyToken=c,a.embyUser={Id:s.user.id,Name:s.user.name};return}let u=s.tokens.get(c);if(!u){if(!s.config.recoverToken){o.code(401).send("Unauthorized");return}let l=Date.now();u={token:c,userId:s.user.id,userName:s.user.name,createdAt:l,lastUsedAt:l,expireAt:s.config.tokenTtlMs>0?l+s.config.tokenTtlMs:0,device:{client:"RecoveredClient",device:"RecoveredDevice",deviceId:"",version:s.config.version}},s.tokens.set(c,u),s.config.requestLog&&console.warn(`[Emby Auth] recovered token session token=${s6(c)} path=${a.raw?.url||a.url}`)}if(u.expireAt>0&&u.expireAt<=Date.now()){s.tokens.delete(c),o.code(401).send("Unauthorized");return}u.lastUsedAt=Date.now(),a.embyToken=c,a.embySession=u,a.embyUser={Id:u.userId,Name:u.userName}}),t.addHook("preHandler",async i=>{if(!s.config.requestLog)return;i[Ile]=process.hrtime.bigint();let a=qNr(i),o=QE(i.query||{}),c=i.body===void 0?void 0:QE(i.body),u=t.embyExtractToken(i),l=u?s6(u):"-",d=Object.keys(o).length>0?` query=${JSON.stringify(o)}`:"",f=c!==void 0?` body=${JSON.stringify(c)}`:"";console.log(`[Emby Req] #${i.id} ${i.method} ${i.raw.url} route=${a}${d}${f} token=${l}`)}),t.addHook("onError",async(i,a,o)=>{if(!s.config.requestLog)return;let c=i[Ile],u=typeof c=="bigint"?(Number(process.hrtime.bigint()-c)/1e6).toFixed(1):"-",l=a.statusCode||o.statusCode||500;console.error(`[Emby Err] #${i.id} ${i.method} ${i.raw?.url||i.url} status=${l} cost=${u}ms message=${o.message}`)}),t.addHook("onResponse",async(i,a)=>{if(!s.config.requestLog)return;let o=i[Ile],c=typeof o=="bigint"?(Number(process.hrtime.bigint()-o)/1e6).toFixed(1):"-";console.log(`[Emby Res] #${i.id} ${i.method} ${i.raw.url} status=${a.statusCode} cost=${c}ms`)}),t.setNotFoundHandler((i,a)=>{if(s.config.requestLog){let o=QE(i.query||{}),c=i.body===void 0?void 0:QE(i.body),u=t.embyExtractToken(i),l=u?s6(u):"-",d=Object.keys(o).length>0?` query=${JSON.stringify(o)}`:"",f=c!==void 0?` body=${JSON.stringify(c)}`:"";console.warn(`[Emby 404] ${i.method} ${i.raw.url}${d}${f} token=${l}`)}a.code(404).send("Not Found")}),t.addHook("onClose",async()=>{s.tokens.clear(),s.cache.clear(),s.tmdbStore?.memory?.clear?.(),s.tmdbStore?.pending?.clear?.(),s.tmdbStore=null,s.tmdbClientState=null,s.playbackPersistTimer&&(clearTimeout(s.playbackPersistTimer),s.playbackPersistTimer=null),globalThis.__catpawEmbyRuntime===s&&(globalThis.__catpawEmbyRuntime=null)}),t.register(Xue,{prefix:"/System"}),t.register(Jue,{prefix:"/Users"}),t.register(ele,{prefix:"/Library"}),t.register(ple,{prefix:"/Users"}),t.register(ble,{prefix:"/Items"}),t.register(Sle,{prefix:"/Videos"}),t.register(Cle)}function Rle(t={},e={}){let r=e.includeSecrets===!0;return{enable:t.enable!==!1,username:String(t.username||""),password:String(t.password||""),serverName:String(t.serverName||""),searchSourcePrefix:t.searchSourcePrefix!==!1,tmdbEnable:t.tmdbEnable!==!1,...r?{tmdbApiKey:String(t.tmdbApiKey||"")}:{},tmdbLanguage:String(t.tmdbLanguage||"zh-CN"),tmdbImageBase:String(t.tmdbImageBase||"https://image.tmdb.org/t/p/original")}}async function apt(t){let e=await t.db.getObjectDefault("/emby",null);return e&&typeof e=="object"?e:{}}function opt(){let t=globalThis.__catpawEmbyRuntime;return t&&typeof t=="object"?t:null}function cpt(t={}){let e=opt();if(!e?.config)return;let r=String(e.config.username||""),n=String(e.config.password||""),s=String(e.config.tmdbApiKey||""),i=Object.prototype.hasOwnProperty.call(t,"tmdbApiKey"),a=String(t.username||r),o=String(i?t.tmdbApiKey||"":e.config.tmdbApiKey||"");Object.assign(e.config,{enable:t.enable!==!1,username:a,password:String(t.password||""),serverName:String(t.serverName||e.config.serverName||""),searchSourcePrefix:t.searchSourcePrefix!==!1,tmdbEnable:t.tmdbEnable!==!1,tmdbApiKey:o,tmdbLanguage:String(t.tmdbLanguage||e.config.tmdbLanguage||"zh-CN"),tmdbImageBase:String(t.tmdbImageBase||e.config.tmdbImageBase||"https://image.tmdb.org/t/p/original")}),e.user.name=a,r!==e.config.username||n!==e.config.password?e.tokens?.clear():e.tokens?.size&&e.tokens.forEach(l=>{l.userName=e.config.username}),s!==o&&(e.tmdbStore?.memory?.clear?.(),e.tmdbStore?.pending?.clear?.(),e.tmdbClientState=null)}var HNr=async t=>{let e=await apt(t),r=E2({...t.config?.emby||{},...e});return Rle(r,{includeSecrets:!0})},QNr=async(t,e)=>{let r=await apt(t),n=E2({...t.config?.emby||{},...r,...e&&typeof e=="object"?e:{}}),s=Rle(n,{includeSecrets:!0});return await t.db.push("/emby",s),cpt(s),s},GNr=async t=>{await t.db.delete("/emby");let e=Rle(E2(t.config?.emby||{}),{includeSecrets:!0});return cpt(e),e},VNr=async t=>{let e=opt();e?.tmdbStore?.memory?.clear?.(),e?.tmdbStore?.pending?.clear?.(),e&&(e.tmdbStore=null,e.tmdbClientState=null),await t.db.delete("/embyTmdb").catch(()=>{})};async function Nle(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await HNr(e.server)})}),t.put("/setting",async(e,r)=>{await QNr(e.server,e.body||{}),r.send({code:0})}),t.delete("/setting",async(e,r)=>{await GNr(e.server),r.send({code:0})}),t.post("/tmdb/cache/clear",async(e,r)=>{await VNr(e.server),r.send({code:0})})}var zNr=t=>{let e=Zw(t,{includePrefix:!1}).replace(/\/$/,""),r=wM()?TM():null;return[{key:"t4",name:"T4 \u8BA2\u9605",url:e2(e,"/t4")},{key:"uz",name:"UZ \u8BA2\u9605",url:e2(e,"/uz")},{key:"cat",name:"\u732B\u6E90\u8BA2\u9605",url:e2(e,"/index.js.md5",r)},{key:"emby",name:"Emby \u670D\u52A1\u5668",url:e2(e,"/emby")}]};async function Ole(t){t.get("/",(e,r)=>{r.type("text/html").send(`
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>\u9996\u9875</title>
</head>
<body>
<div id="app"></div>
<script crossorigin src="https://lib.baomitu.com/react/18.2.0/umd/react.production.min.js"></script>
<script crossorigin src="https://lib.baomitu.com/react-dom/18.2.0/umd/react-dom.production.min.js"></script>
<script crossorigin src="https://lib.baomitu.com/axios/0.26.0/axios.min.js"></script>
<script crossorigin src="https://lib.baomitu.com/dayjs/1.10.8/dayjs.min.js"></script>
<script crossorigin src="https://lib.baomitu.com/antd/5.25.0/antd.min.js"></script>
<link rel="stylesheet" href="https://lib.baomitu.com/antd/5.25.0/reset.min.css">
<script>${globalThis.websiteBundle}</script>
</body>
</html>
`)}),t.get("/subscriptions",(e,r)=>{r.send({code:0,data:{endpoints:zNr(e)}})}),t.register(vue,{prefix:"/quark"}),t.register(iV,{prefix:"/uc"}),t.register(Cue,{prefix:"/uc-tv"}),t.register(VV,{prefix:"/115"}),t.register(cae,{prefix:"/muou"}),t.register(mz,{prefix:"/duoduo"}),t.register(fae,{prefix:"/labi"}),t.register(gae,{prefix:"/shandian"}),t.register(bae,{prefix:"/ouge"}),t.register(vae,{prefix:"/erxiao"}),t.register(Mae,{prefix:"/huban"}),t.register(Uae,{prefix:"/xiaoban"}),t.register(Iue,{prefix:"/tianyi"}),t.register(toe,{prefix:"/wanou"}),t.register(Tue,{prefix:"/leijing"}),t.register(soe,{prefix:"/zhizhen"}),t.register(Eoe,{prefix:"/tgsou"}),t.register(Poe,{prefix:"/pansou"}),t.register(Nue,{prefix:"/pan123"}),t.register(Pue,{prefix:"/xunlei"}),t.register(kue,{prefix:"/ali"}),t.register(Bue,{prefix:"/baidu"}),t.register(Wue,{prefix:"/guangyapan"}),t.register(Hue,{prefix:"/yidong"}),t.register(doe,{prefix:"/tgchannel"}),t.register(voe,{prefix:"/tgfilebot"}),t.register(Pce,{prefix:"/sites"}),t.register(Gue,{prefix:"/pans"}),t.register(Vue,{prefix:"/backup"}),t.register(kce,{prefix:"/danmu"}),t.register(Nle,{prefix:"/emby"}),t.register(Ace,{prefix:"/emby-spider"}),t.register(wce,{prefix:"/alist-video"}),t.register(Wce,{prefix:"/t4"}),t.register(Qce,{prefix:"/cms"}),t.register(Boe,{prefix:"/live2vod"}),t.register(Dae,{prefix:"/123ypzysq"})}var jr=null,Ple="__catpawProfile",i6=Number.parseInt(process.env.CATPAW_LOG_LIMIT||"1500",10)||1500,KNr=Number.parseInt(process.env.CATPAW_LOG_TEXT_LIMIT||"4096",10)||4096,xA=[],ppt=["log","info","warn","error","debug"],_2={},a6=!1;function ku(t,e=KNr){let r=String(t||"");if(!Number.isFinite(e)||e<=0||r.length<=e)return r;let n=Math.max(0,Math.floor(e*.75)),s=Math.max(0,e-n);return`${r.slice(0,n)}...(truncated ${r.length-e} chars)...${r.slice(-s)}`}function YNr(t){if(typeof t=="string")return ku(t);if(t instanceof Error)return ku(JSON.stringify(o6(t)));try{return ku(JSON.stringify(S2(t)))}catch{try{return ku(String(t))}catch{return"[Unserializable]"}}}function mpt(t,e=2,r=2){let n=String(t||"");return n?n.length<=e+r?"*".repeat(n.length):`${n.slice(0,e)}***${n.slice(-r)}`:""}function S2(t,e=0){if(t==null)return t;if(e>=2)return Array.isArray(t)?`[Array(${t.length})]`:typeof t=="object"?`[Object(${Object.keys(t).length})]`:t;if(Array.isArray(t))return{type:"array",length:t.length,sample:t.slice(0,3).map(r=>S2(r,e+1))};if(typeof t=="object"){let r={};for(let[n,s]of Object.entries(t)){let i=n.toLowerCase();if(["cookie","cookies","token","authorization","auth","passwd","password","session","sess"].some(a=>i.includes(a))){s&&typeof s=="object"&&!Array.isArray(s)?r[n]={type:"object",keys:Object.keys(s).length,sampleKeys:Object.keys(s).slice(0,3)}:r[n]=mpt(s);continue}r[n]=S2(s,e+1)}return r}return typeof t=="string"&&t.length>120?`${t.slice(0,40)}...(${t.length} chars)...${t.slice(-12)}`:t}function hpt(t){if(!t||typeof t!="object")return{};let e=typeof t.toJSON=="function"?t.toJSON():t,r={};for(let[n,s]of Object.entries(e||{})){let i=n.toLowerCase();["cookie","authorization","token","secret","password"].some(a=>i.includes(a))?r[n]=mpt(s):r[n]=ku(s,260)}return r}function JNr(t){if(!(!t||typeof t!="object"))return{method:t.method,url:ku(t.url||"",500),baseURL:ku(t.baseURL||"",260),timeout:t.timeout,maxContentLength:t.maxContentLength,maxBodyLength:t.maxBodyLength,proxy:t.proxy,headers:hpt(t.headers)}}function XNr(t){if(!(!t||typeof t!="object"))return{method:t.method,protocol:t.protocol,host:t.host||t.hostname,path:ku(t.path||t.pathname||"",500),currentUrl:ku(t._currentUrl||"",500)}}function ZNr(t){if(!t||typeof t!="object")return;let e=t.data;return{status:t.status,statusText:t.statusText,headers:hpt(t.headers),data:typeof e=="string"?ku(e,1e3):S2(e)}}function o6(t){if(!t||typeof t!="object")return t;let e={name:t.name,message:t.message||String(t),code:t.code,status:t.status,statusCode:t.statusCode,stack:ku(t.stack||"",4e3)},r=JNr(t.config),n=XNr(t.request),s=ZNr(t.response);return r&&(e.config=r),n&&(e.request=n),s&&(e.response=s),e}function eOr(t){return t instanceof Error?o6(t):t}function tOr(){return process.env.NODE_ENV==="development"?!1:{serializers:{err:o6,error:o6}}}function rOr(t){if(!t||typeof t!="object")return t;let e={action:t.action||"-"};if(t.action==="saveProfile"&&t.opt&&typeof t.opt=="object"){let r=t.opt;return e.opt={keys:Object.keys(r),sitesCount:Array.isArray(r.sites?.list)?r.sites.list.length:void 0,pansCount:Array.isArray(r.pans?.list)?r.pans.list.length:void 0,quarkKeys:r.quark&&typeof r.quark=="object"?Object.keys(r.quark).length:void 0,ucKeys:r.uc&&typeof r.uc=="object"?Object.keys(r.uc).length:void 0},e}return S2(t)}function nOr(t,e){xA.push({ts:new Date().toISOString(),level:t,msg:e.map(YNr).join(" ")}),xA.length>i6&&xA.splice(0,xA.length-i6)}function sOr(){a6||(ppt.forEach(t=>{let e=console[t];typeof e=="function"&&(_2[t]=e.bind(console),console[t]=(...r)=>{nOr(t,r),Nit()||_2[t](...r.map(eOr))})}),a6=!0)}function iOr(){a6&&(ppt.forEach(t=>{_2[t]&&(console[t]=_2[t],delete _2[t])}),a6=!1)}function aOr(t){t.get("/api/catpaw-logs",async e=>{let r=Number.parseInt(e.query?.limit,10),n=Number.isFinite(r)&&r>0?Math.min(r,i6):i6,s=xA.slice(-n);return{success:!0,total:xA.length,count:s.length,logs:s}}),t.post("/api/catpaw-logs/clear",async()=>(xA.length=0,{success:!0}))}function c6(...t){}function v2(t){return Object.prototype.toString.call(t)==="[object Object]"}function oOr(t){let e=t?.[Ple];return v2(e)?e:null}function upt(t){if(!v2(t))return{};if(!(Ple in t))return t;let{[Ple]:e,...r}=t;return r}function Dle(t){return v2(t)&&Object.keys(t).length>0}function lpt(t){if(t===void 0)return t;try{return JSON.parse(JSON.stringify(t))}catch{return t}}function dpt(t,e){if(!Dle(t))return{found:!1};let r=String(e||"/");if(r==="/"||r==="")return{found:!0,value:t};let n=r.split("/").filter(Boolean),s=t;for(let i of n){if(!v2(s)&&!Array.isArray(s))return{found:!1};if(!Object.prototype.hasOwnProperty.call(s,i))return{found:!1};s=s[i]}return{found:!0,value:s}}function cOr(t,e){return{...t,...e}}function uOr(t,e){if(!Dle(e))return;let r=t.getData.bind(t),n=typeof t.getObjectDefault=="function"?t.getObjectDefault.bind(t):null;t.getData=async s=>{let i=dpt(e,s);return i.found?lpt(i.value):r(s)},n&&(t.getObjectDefault=async(s,i)=>{let a=dpt(e,s);return a.found?lpt(a.value):n(s,i)})}async function lOr(t){let e=oOr(t),r=Dle(e),n=r?cOr(upt(t),e):upt(t);jr=(0,fpt.default)({serverFactory:catServerFactory,forceCloseConnections:!0,caseSensitive:!1,logger:tOr(),maxParamLength:10240}),sOr(),aOr(jr),globalThis.messageToDart=jr.messageToDart=async u=>{try{console.log("messageToDart",rOr(u));let l=catDartServerPort();return l==0?null:(await Ae.post(`http://127.0.0.1:${l}/msg`,u)).data}catch(l){return console.error(l),null}},jr.address=function(){let u=this.server.address();return u.url=`http://${D0()}:${u.port}`,u.dynamic="js2p://_WEB_",u},jr.addHook("onError",async(u,l,d)=>(console.error("[fastify-error]",d),d.statusCode||(d.statusCode=500),d)),jr.addHook("onRequest",async u=>{if(process.env.NODE_ENV!=="development")return;let l=String(u.raw?.url||u.url||"");if(/stream\.(m3u8|mkv)|\/videos\//i.test(l)){let d=String(u.headers?.host||"-");console.log(`[Stream Probe] ${u.method} ${l} host=${d}`)}}),jr.stop=!1,jr.config=n;let s=9321;c6("before start()",{danmuPort:s,node:process.version,platform:`${process.platform}/${process.arch}`}),Pit(s),c6("after start()",{danmuPort:s}),jr.db=new u6.JsonDB(new u6.Config((process.env.NODE_PATH||".")+"/default.db.json",!0,!0,"/",!0));let i=jr.db.getData.bind(jr.db);r&&uOr(jr.db,n);let a=jr.db.push.bind(jr.db);jr.db.push=async(...u)=>{let l=await a(...u);return i("/").then(d=>{jr.messageToDart({action:"saveProfile",opt:d})}),l};let o=jr.db.delete.bind(jr.db);jr.db.delete=async(...u)=>{let l=await o(...u);return i("/").then(d=>{jr.messageToDart({action:"saveProfile",opt:d})}),l},r||jr.messageToDart({action:"queryProfile"}).then(u=>{if(u&&Object.keys(u).length>0){let l=v2(u)?u:{};a("/",l)}}),jr.register(aue,{db:jr.db,config:n}),jr.register(Ole,{prefix:"/website"}),jr.register(wle,{prefix:"/emby"}),globalThis.Pans=await Que(jr),await Wdt(jr),globalThis.getPanName=u=>globalThis.Pans.find(l=>l.key===u)?.name,globalThis.getPanEnabled=u=>globalThis.Pans.find(l=>l.key===u)?.enable;let c=(u,l=!0)=>{let d=l&&process.env.DEV_HTTP_PORT?process.env.DEV_HTTP_PORT:u;jr.listen({port:d,host:"0.0.0.0"},(f,p)=>{f?(console.error(f),f.code==="EADDRINUSE"&&(console.log(`Port ${d} is already in use. Trying next available port...`),c(u+1,!1))):console.log(`Server listening on ${p}`)})};c(2333)}async function dOr(){c6("before stop()"),Dit(),c6("after stop()"),jr&&(jr.close(),jr.stop=!0),iOr(),jr=null}0&&(module.exports={start,stop});
/*! Bundled license information:
forwarded/index.js:
(*!
* forwarded
* Copyright(c) 2014-2017 Douglas Christopher Wilson
* MIT Licensed
*)
proxy-addr/index.js:
(*!
* proxy-addr
* Copyright(c) 2014-2016 Douglas Christopher Wilson
* MIT Licensed
*)
toad-cache/dist/toad-cache.cjs:
(**
* toad-cache
*
* @copyright 2024 Igor Savin <[email protected]>
* @license MIT
* @version 3.7.0
*)
cookie/index.js:
(*!
* cookie
* Copyright(c) 2012-2014 Roman Shtylman
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*)
light-my-request/lib/form-data.js:
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
mime-db/index.js:
(*!
* mime-db
* Copyright(c) 2014 Jonathan Ong
* Copyright(c) 2015-2022 Douglas Christopher Wilson
* MIT Licensed
*)
mime-types/index.js:
(*!
* mime-types
* Copyright(c) 2014 Jonathan Ong
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*)
crypto-js/ripemd160.js:
(** @preserve
(c) 2012 by Cédric Mesnil. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*)
crypto-js/mode-ctr-gladman.js:
(** @preserve
* Counter block mode compatible with Dr Brian Gladman fileenc.c
* derived from CryptoJS.mode.CTR
* Jan Hruby [email protected]
*)
hls-parser/index.js:
(*! Copyright Kuu Miyazaki. SPDX-License-Identifier: MIT *)
web-streams-polyfill/dist/ponyfill.es2018.js:
(**
* @license
* web-streams-polyfill v3.3.3
* Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors.
* This code is released under the MIT license.
* SPDX-License-Identifier: MIT
*)
fetch-blob/index.js:
(*! fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
formdata-polyfill/esm.min.js:
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
node-domexception/index.js:
(*! node-domexception. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
rwlock/lib/lock.js:
(*! ReadWriteLock - v5.0.0 - 2015-01-16
* Author: Alberto La Rocca <[email protected]> (https://github.com/71104)
* Released under the MIT license
* Copyright (c) 2015 Alberto La Rocca *)
*/