ddan-js 2.6.41 → 2.6.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +7 -7
- package/README.md +10 -10
- package/bin/ddan-js.esm.js +1 -1
- package/bin/ddan-js.js +1 -1
- package/bin/lib/modules/node/socks5.js +20 -69
- package/bin/lib/modules/qs/index.js +11 -1
- package/bin/lib/modules/rule/async-validator/rule/url.js +11 -11
- package/bin/types/index.d.ts +4 -0
- package/bin/types/modules/node/socks5.d.ts +1 -3
- package/bin/types/modules/qs/index.d.ts +1 -0
- package/bin/types/modules/rule/async-validator/index.d.ts +0 -6
- package/package.json +1 -1
package/bin/ddan-js.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("zlib"),require("node:crypto"),require("net"),require("socks"),require("child_process")):"function"==typeof define&&define.amd?define(["exports","zlib","node:crypto","net","socks","child_process"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan={},e.zlib,e.crypto$1,e.net,e.socks,e.child_process)}(this,(function(e,t,r,n,s,o){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=i(t),c=i(r),l=i(n);var u={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const h="0123456789",d="abcdefghijklmnopqrstuvwxyz",f="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var p={keyNumber:h,keyLower:d,keyUpper:f,keyChars:h+d+f};const g=(e=0,t=0)=>{const r=p.keyChars.split(""),n=[];let s;if(t=t||r.length,e)for(s=0;s<e;s++)n[s]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",s=0;s<36;s++)n[s]||(e=0|16*Math.random(),n[s]=r[19==s?3&e|8:e])}return n.join("")};class y{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=g()}clear(){return this.__map.clear(),this}on(e,t,r=""){if(!e||!t)return this;let n=this.__map.get(e);return n||(n=new Set,this.__map.set(e,n)),n.add(t),r&&this.__tagList.push({name:e,listener:t,tag:r}),this}emit(e,...t){if(!e)return this;const r=this.__map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;this.__tagList=this.__tagList.filter((r=>r.name!==e||r.listener!==t));const r=this.__map.get(e);return r?(r.delete(t),r.size<=0&&this.__map.delete(e),this):this}remove(e){return e?(this.__tagList=this.__tagList.filter((t=>t.name!==e)),this.__map.delete(e),this):this}removeByTag(e){if(!e)return this;return this.__tagList.filter((t=>t.tag===e)).forEach((e=>{this.off(e.name,e.listener)})),this.__tagList=this.__tagList.filter((t=>t.tag!==e)),this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this.__map.has(e)}}class m{_loopTimer;_event=new y;started=!1;interval=0;constructor(e=0){this.interval=e||500}start(){return this.started||(this.stop(),this._loopTimer=setInterval((()=>{this._handleLoop()}),this.interval),this.started=!0),this}stop(){return this._loopTimer?(clearInterval(this._loopTimer),this._loopTimer=0,this.started=!1,this):this}restart(){return this.stop(),this.start(),this}on(e){return this._event.on("frame",e),this}off(e){return e?(this._event.off("frame",e),this):this}_handleLoop(){this._event.emit("frame")}}var w={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class b{date;timestamp=0;yyyy=0;yy="";M=0;MM="";d=0;dd="";h=0;hh="";m=0;mm="";s=0;ss="";S=0;SS="";SSS="";constructor(e){if(!e)return;const t="string"==typeof e||"number"==typeof e?new Date(e):e;t&&(this.date=t,this.timestamp=t.getTime(),this.toDate())}toDate(){return this.date?(this.yyyy=this.date.getFullYear(),this.yy=`${this.yyyy}`.substr(2),this.M=this.date.getMonth()+1,this.MM=(this.M<10?"0":"")+this.M,this.d=this.date.getDate(),this.dd=(this.d<10?"0":"")+this.d,this.h=this.date.getHours(),this.hh=(this.h<10?"0":"")+this.h,this.m=this.date.getMinutes(),this.mm=(this.m<10?"0":"")+this.m,this.s=this.date.getSeconds(),this.ss=(this.s<10?"0":"")+this.s,this.S=this.date.getMilliseconds(),this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this):this}toCountdown(e=""){const t={countdown:0,timestamp:0,seconds:0,d:0,dd:"",h:0,hh:"",m:0,mm:"",s:0,ss:"",S:0,SS:"",SSS:"",desc:""};if(!this.timestamp)return t;t.timestamp=this.timestamp,t.countdown=Math.max(t.timestamp-Date.now(),0),t.seconds=Math.floor(t.countdown/w.oneSecond);let r=t.countdown;t.d=Math.floor(r/w.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=w.oneDay,t.h=Math.floor(r/w.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=w.oneHour,t.m=Math.floor(r/w.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=w.oneMinute,t.s=Math.floor(r/w.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=w.oneSecond,t.S=r,t.SS=(t.S<10?"0":"")+t.S,t.SSS=t.S.toString().padStart(3,"0");let n=e;return n||(n=t.countdown>w.oneHour?"hh:mm:ss":t.countdown>w.oneMinute?"mm:ss":"ss"),t.desc=n.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>t[e])),t}add(e=0){return e?(this.timestamp=this.timestamp+e,this.date=new Date(this.timestamp),this.toDate(),this):this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}static get timezoneOffset(){return(new Date).getTimezoneOffset()/60}static getLocalTime(e=0){const t=new Date,r=t.getTime(),n=6e4*t.getTimezoneOffset();return new Date(r+n+36e5*e)}}const _=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?v(r).format(t):""},v=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new b(t||0)};function x({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:o=0}){const i=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${o}`;return new Date(_(Date.now(),i)).getTime()}var k={...w,now:function(){return v(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:x,todayZero:()=>x({}),format:_,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return v(r).toCountdown(t)},dtime:v,loopFrame:(e=500)=>new m(e),getTimezoneOffset:()=>b.timezoneOffset,getLocalTime:b.getLocalTime};const S="object"==typeof global&&null!==global&&global.Object===Object&&global,$="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,A="object"==typeof self&&null!==self&&self.Object===Object&&self,C=$||S||A||Function("return this")(),E=C.Symbol,{toString:O,hasOwnProperty:P,propertyIsEnumerable:j}=Object.prototype,q=E?E.toStringTag:void 0;function L(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":q&&q in Object(e)?function(e){const t=P.call(e,q),r=e[q];let n=!1;try{e[q]=void 0,n=!0}catch(e){}const s=O.call(e);return n&&(t?e[q]=r:delete e[q]),s}(e):O.call(e)}var T={getTag:L,getType:function(e){return(L(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:O,hasOwnProperty:P,propertyIsEnumerable:j};const F="object"==typeof e&&null!==e&&!e.nodeType&&e,B=F&&"object"==typeof module&&null!==module&&!module.nodeType&&module,R=B&&B.exports===F&&S.process,M=(()=>{try{const e=B&&B.require&&B.require("util").types;return e||R&&R.binding&&R.binding("util")}catch(e){}})();var D="[object Function]",U="[object GeneratorFunction]",I="[object AsyncFunction]",z=9007199254740991;const K=/^(?:0|[1-9]\d*)$/,N=C?.Buffer?.isBuffer,H=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,V=M&&M.isTypedArray;function W(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function Z(e){return null!=e&&"object"==typeof e}const J=Array.isArray;function G(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=z}(e.length)&&!X(e)}function Y(e){return Z(e)&&G(e)}function X(e){var t=W(e)?T.getTag(e):"";return t===D||t===U||t===I}function Q(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function ee(e){return Y(e)&&T.hasOwnProperty.call(e,"callee")&&(!T.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==T.toString.call(e))}const te="undefined"!=typeof window&&void 0!==window.document,re="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ne=V?e=>V(e):e=>Z(e)&&H.test(T.getTag(e)),se="function"==typeof N?N:()=>!1;var oe={is:function(e,t){return T.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===T.getTag(e)},isString:function(e){return"string"==typeof e||!J(e)&&Z(e)&&"[object String]"==T.getTag(e)},isObject:W,isObjectLike:Z,isPlainObject:function(e){if(!Z(e)||"[object Object]"!=T.getTag(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},isSymbol:function(e){return"symbol"==typeof e||Z(e)&&"[object Symbol]"===T.getTag(e)},isFunction:X,isArray:J,isArrayLikeObject:Y,isIndex:function(e,t){return!!(t=null==t?z:t)&&("number"==typeof e||K.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:G,isPrototype:Q,isArguments:ee,isPromise:function(e){return"[object Promise]"===(W(e)?T.getTag(e):"")},isBrowser:te,isNode:re,isBlobOrBuffer:e=>e instanceof Blob||e instanceof ArrayBuffer,isUint8Array:e=>e instanceof Uint8Array,isArrayBuffer:e=>e instanceof ArrayBuffer,isEmpty:e=>{if(null==e)return!0;if(G(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||se(e)||ne(e)||ee(e)))return!e.length;const t=T.getTag(e);if("[object Map]"===t||"[object Set]"===t)return!e.size;if(Q(e))return!Object.keys(e).length;for(const t in e)if(T.hasOwnProperty.call(e,t))return!1;return!0}};const ie=NaN,ae=/^\s+|\s+$/g,ce=/^[-+]0x[0-9a-f]+$/i,le=/^0b[01]+$/i,ue=/^0o[0-7]+$/i,he=parseInt,de=1/0,fe=17976931348623157e292;function pe(e){if("number"==typeof e)return e;if(oe.isSymbol(e))return ie;if(oe.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=oe.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(ae,"");const t=le.test(e);return t||ue.test(e)?he(e.slice(2),t?2:8):ce.test(e)?ie:+e}function ge(e){return e?(e=pe(e))===de||e===-de?(e<0?-1:1)*fe:e==e?e:0:0===e?e:0}var ye={toNumber:pe,toFinite:ge,toInteger:function(e){var t=ge(e),r=t%1;return t==t?r?t-r:t:0}};const me="Expected a function",we=Math.max,be=Math.min;function _e(e,t=300,r={}){let n,s,o,i,a,c,l=0,u=!1,h=!1,d=!0;if("function"!=typeof e)throw new TypeError(me);function f(t){const r=n,o=s;return n=s=void 0,l=t,i=e.apply(o,r),i}function p(e){const r=e-c;return void 0===c||r>=t||r<0||h&&e-l>=o}function g(){const e=Date.now();if(p(e))return y(e);a=setTimeout(g,function(e){const r=t-(e-c);return h?be(r,o-(e-l)):r}(e))}function y(e){return a=void 0,d&&n?f(e):(n=s=void 0,i)}function m(...e){const r=Date.now(),o=p(r);if(n=e,s=this,c=r,o){if(void 0===a)return function(e){return l=e,a=setTimeout(g,t),u?f(e):i}(c);if(h)return a=setTimeout(g,t),f(c)}return void 0===a&&(a=setTimeout(g,t)),i}return t=ye.toNumber(t)||0,oe.isObject(r)&&(u=!!r.leading,h="maxWait"in r,o=h?we(ye.toNumber(r.maxWait)||0,t):o,d="trailing"in r?!!r.trailing:d),m.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},m.flush=function(){return void 0===a?i:y(Date.now())},m.pending=function(){return void 0!==a},m}class ve{__list=[];constructor(e){this.push(e)}push(e){return e&&this.__list.push(e),this}clear(){return this.__list=[],this}_exec(e,t){let r;if(oe.isFunction(e))r=e(t);else{if(oe.isPromise(e))return e.then((e=>({...t,...e})));r=e}return oe.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this.__list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}async function xe(e,t){return e.then((e=>[null,e])).catch((e=>(t&&Object.assign(e,t),[e,void 0])))}const ke=e=>{try{let t;return t=oe.isFunction(e)?e():e,xe(Promise.resolve(t))}catch(e){return Promise.resolve([e,void 0])}};var Se={to:xe,go:e=>ke(e),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:ke};class $e{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var Ae={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}static get I(){return this.Instance}}return e},getset:function(e){const t=new $e;return void 0!==e&&t.set(e),t}};class Ce{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return Se.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class Ee{__list=[];__count=0;__max=1;constructor(e=1){this.__count=0,this.__max=e>0?e:1,this.clear()}push(e,t){const r=new Ce(e,t);return this.__list.push(r),this._step(),this}clear(){return this.__list=[],this.__count=0,this}_step(){if(this.__list.length<=0)return;if(this.__count>=this.__max)return;const e=this.__list.shift();e?(this.__count+=1,e?.run().finally((()=>{try{this.__count>0&&(this.__count-=1),this._step()}catch(e){console.error("[ddan] pipepine step finally",e)}}))):this._step()}async whenAll(){for(;;){if(this.__count<=0)break;await Se.delay(100),this._step()}return this.clear()}}class Oe extends(Ae.singleton()){__lockedMap=new Map;pipeline=new Ee;constructor(){super()}lock(e,t){if(!e||!t)return;const r=Se.safeRun(t);return this.__lockedMap.set(e,r),r}unlock(e){e&&this.__lockedMap.has(e)&&this.__lockedMap.delete(e)}async exec(e,t){if(!e||!t)return Se.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return Se.safeRun(e);const s=await n;return this.unlock(t),s}}var Pe={...Se,sleep:Se.delay,run:async function(e,t=0){if(t<=0)return Se.safeRun(e);const r=t>0?Date.now():0,n=await Se.safeRun(e),s=Date.now()-r;return s<t&&await Se.delay(t-s),n},exec:(e,t="")=>Oe.I.exec(e,t),debounce:_e,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return oe.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),_e(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new ve(e),mutex:function(e){var t=null;return async function(...r){if((t=this||t||{}).__ddMutex)return!1;t.__ddMutex=!0;try{e&&await Promise.resolve(e.apply(this,r))}catch(e){console.log(e)}finally{t.__ddMutex=!1}}},polling:async function(e={}){const{func:t,interval:r=100,times:n=1e3}=e;let s=n;const o=r<1?100:r;do{if(!t)break;const[e,r]=await Se.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await Se.delay(o)}while(-1===n||s>0)},pipe:(e,t)=>Oe.I.pipeline.push(e,t),pipeline:(e=1)=>new Ee(e),safeTask:(e,t)=>new Ce(e,t)};function je(e){return Math.floor(Math.random()*e)}function qe(e,t=10){return+parseFloat(Number(e).toExponential(t))}const Le=180/Math.PI;var Te={random:je,randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randoms:function(e,t=1,r=!1){const n=[];for(;;){if(n.length>=t)break;if(!r&&n.length>=e)break;const s=je(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:qe,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=qe(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*Le},degree2radian:function(e){return e/Le},formatMemory:function(e){let t=e;const r={g:0,m:0,kb:0,b:0,desc:""};return t>=1<<30&&(r.g=Math.floor(t/(1<<30)),t%=1<<30),t>=1<<20&&(r.m=Math.floor(t/(1<<20)),t%=1<<20),t>=1024&&(r.kb=Math.floor(t/1024),t%=1024),r.b=t,r.desc=e>=1<<30?(e/(1<<30)).toFixed(2)+"G":e>=1<<20?(e/(1<<20)).toFixed(2)+"M":e>=1024?(e/1024).toFixed(2)+"KB":e+"B",r}};function Fe(e){return e!=e}function Be(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}(t,(function(t){return e[t]}))}var Re,Me,De=(Re=Object.keys,Me=Object,function(e){return Re(Me(e))}),Ue=Math.max;function Ie(e,t){var r=oe.isArray(e)||oe.isArguments(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,s=!!n;for(var o in e)!t&&!T.hasOwnProperty.call(e,o)||s&&("length"==o||oe.isIndex(o,n))||r.push(o);return r}function ze(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const o=new Array(n);for(;++s<n;)o[s]=e[s+t];return o}(e,t,r)}const Ke=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function Ne(e){return Ke.test(e)}const He="\\ud800-\\udfff",Ve=`[${He}]`,We="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",Ze="\\ud83c[\\udffb-\\udfff]",Je=`[^${He}]`,Ge="(?:\\ud83c[\\udde6-\\uddff]){2}",Ye="[\\ud800-\\udbff][\\udc00-\\udfff]",Xe=`${`(?:${We}|${Ze})`}?`,Qe="[\\ufe0e\\ufe0f]?",et=Qe+Xe+`(?:\\u200d(?:${[Je,Ge,Ye].join("|")})${Qe+Xe})*`,tt=`(?:${[`${Je}${We}?`,We,Ge,Ye,Ve].join("|")})`,rt=RegExp(`${Ze}(?=${Ze})|${tt+et}`,"g");function nt(e){return Ne(e)?function(e){return e.match(rt)||[]}(e):function(e){return e.split("")}(e)}function st(e){return t=>{if(!t)return"";const r=Ne(t)?nt(t):void 0,n=r?r[0]:t[0],s=r?ze(r,1).join(""):t.slice(1);return n[e]()+s}}const ot="\\ud800-\\udfff",it="\\u2700-\\u27bf",at="a-z\\xdf-\\xf6\\xf8-\\xff",ct="A-Z\\xc0-\\xd6\\xd8-\\xde",lt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ut="['’]",ht=`[${lt}]`,dt=`[${it}]`,ft=`[${at}]`,pt=`[^${ot}${lt+"\\d"+it+at+ct}]`,gt="(?:\\ud83c[\\udde6-\\uddff]){2}",yt="[\\ud800-\\udbff][\\udc00-\\udfff]",mt=`[${ct}]`,wt=`(?:${ft}|${pt})`,bt=`(?:${mt}|${pt})`,_t=`(?:${ut}(?:d|ll|m|re|s|t|ve))?`,vt=`(?:${ut}(?:D|LL|M|RE|S|T|VE))?`,xt="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",kt="[\\ufe0e\\ufe0f]?",St=kt+xt+`(?:\\u200d(?:${[`[^${ot}]`,gt,yt].join("|")})${kt+xt})*`,$t=`(?:${[dt,gt,yt].join("|")})${St}`,At=RegExp([`${mt}?${ft}+${_t}(?=${[ht,mt,"$"].join("|")})`,`${bt}+${vt}(?=${[ht,mt+wt,"$"].join("|")})`,`${mt}?${wt}+${_t}`,`${mt}+${vt}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",$t].join("|"),"g");const Ct=RegExp.prototype.test.bind(/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/),Et=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ot(e,t){if(void 0===t){const t=Ct(e)?function(e){return e.match(At)}(e):function(e){return e.match(Et)}(e);return t||[]}return e.match(t)||[]}function Pt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Pt(e)))}`;if(oe.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const jt=st("toUpperCase"),qt=st("toLowerCase");var Lt={toString:Pt,startCase:e=>Ot(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+jt(t)),""),snakeCase:e=>Ot(Pt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ot(Pt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ot(Pt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?jt(t):t))),""),upperCase:e=>Ot(Pt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:jt,lowerCase:e=>Ot(Pt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:qt,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r}};const Tt=e=>{if(!e)return e;if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};for(const r in e)e.hasOwnProperty(r)&&(t[r]=Tt(e[r]));return t};const Ft=(e,t,r={})=>{const n=e||{},{ignoreUndefined:s=!0,cover:o=!1}=r;if(!t)return n;for(const i in t){if(!t.hasOwnProperty(i))continue;const a=t[i];"object"!=typeof a||"object"!=typeof e[i]||o?s&&void 0===a||r.ignoreNull&&null===a||r.ignoreZero&&0===a||r.ignoreEmptyArray&&Array.isArray(a)&&a.length<=0||r.ignoreEmptyString&&"string"==typeof a&&""===a.trim()||(n[i]=a):n[i]=Bt(e[i],a,r)}return n},Bt=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?Ft(e,t,r):Ft({...e},t,r),n},Rt=(e,t,r={})=>Ft({...e},t,{cover:!0,...r}),Mt=(e,t,r,n,s=!1)=>{if(!e||!t||!r)return;let o=e[t];null!==o&&"object"==typeof o&&s&&Object.keys(o).forEach((e=>{Mt(o,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:i=>{r.call(n,i,o),o=i,s&&Mt(e,t,r,n,s)},get:()=>o})};var Dt={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:o=!0}=t;if((!n||n.length<=0)&&!s)return r;const i={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?o&&e.startsWith("_")?e:Lt.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const c=r[e];t.ignoreNull&&null===c||(t.ignoreZero&&0===c||t.ignoreEmptyArray&&Array.isArray(c)&&c.length<=0||t.ignoreEmptyString&&"string"==typeof c&&""===c.trim()||(i[a]=c))}return i},clone:Tt,merge:Bt,isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=Lt.parseValue(n,{number:t,boolean:r});else e[n]=Lt.parseValue(s,{number:t,boolean:r});return e},cloneClass:function(e){return e?"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)):e},combine:Rt,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:o=!0,ignoreEmptyArray:i=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=Rt(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:o,ignoreEmptyArray:i,ignoreEmptyString:a,cover:c}))),r},observe:Mt,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};var Ut={...oe,...T,...Dt,...Ae,includes:function(e,t,r,n){e=oe.isArrayLike(e)?e:function(e){return e?Be(e,function(e){return oe.isArrayLike(e)?Ie(e):function(e){if(!oe.isPrototype(e))return De(e);var t=[];for(var r in Object(e))T.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?ye.toInteger(r):0;var s=e.length;return r<0&&(r=Ue(s+r,0)),oe.isString(e)?r<=s&&e.indexOf(t,r)>-1:!!s&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var s=e.length,o=r+(n?1:-1);n?o--:++o<s;)if(t(e[o],o,e))return o;return-1}(e,Fe,r);for(var n=r-1,s=e.length;++n<s;)if(e[n]===t)return n;return-1}(e,t,r)>-1},forof:(e,t)=>{if(!e)return;let r;if(oe.isObject(e)&&(r=oe.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var It={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var zt={...It,stepAction:function(e,t,r=100){if(!oe.isFunction(t))return;if(!oe.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,o=e.slice(n,s);t&&t(o),n=s}},skip:function(e,t){if(!oe.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!oe.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const s=t+n;return e.slice(n,e.length<s?e.length:s)||[]},distinct:function(e){return!oe.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return Te.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!oe.isObject(e))return;const s=e[t];(oe.isString(s)&&""!==s||oe.isNumber(s))&&(n[s]=e[r])})),n):n}};const Kt="[object Object]",Nt="[object Array]",Ht=e=>Object.prototype.toString.call(e),Vt=(e,t,r=!1)=>{if(e===t)return;const n=Ht(e);if(n===Ht(t))if(n===Nt&&e.length>=t.length)for(let r=0;r<t.length;r++)Vt(e[r],t[r]);else if(n===Kt&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?Vt(e[n],t[n]):e[n]=null},Wt=(e,t,r,n="",s=!1)=>{if(e===t)return;const o=Ht(e),i=Ht(t);if(o===Nt&&i===o&&e.length>=t.length)for(let s=0;s<e.length;s++)Wt(e[s],t[s],r,`${n}[${s}]`);else if(o===Kt&&i===o&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let o of s){const s=e[o],i=t[o],a=Ht(s),c=Ht(i);if(s!==i)if(a===Nt&&c===a&&s.length>=i.length)for(let e=0;e<s.length;e++)Wt(s[e],i[e],r,`${n?n+".":""}${o}[${e}]`);else if(a===Kt&&c===a&&Object.keys(s).length>=Object.keys(i).length)for(let e in s)Wt(s[e],i[e],r,`${n?n+".":""}${o}.${e}`);else r[`${n?n+".":""}${o}`]=s}}else r[n]=e};class Zt{list=[];constructor(){this.invoke=this.invoke.bind(this)}use(e){this.list=this.list.concat(e)}invoke(e){return this.list.reduce(((e,t)=>e.then((e=>t(e)))),Promise.resolve(e)).catch((e=>"REFETCH"===e.sig?Promise.resolve(e.result):Promise.reject(e)))}}class Jt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new Zt,response:new Zt};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:o}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=o}static blockId="blockid";static requestLock={};lockR(e,t){Jt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Jt.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}_fetch(e,t){let r=e;return t&&this.handleEncrypt&&(r=this.handleEncrypt(e)),new Promise(((e,n)=>{this.handleRequest({...r,success:r=>{let n=r;t&&this.handleDecrypt&&(n=this.handleDecrypt(r)),e(n)},fail:e=>{n(e)}})}))}async request(e,t){const r=Dt.copy(this.reqConfig[e]),{config:n,...s}=await this.interceptors.request.invoke({url:r.url,data:t||{},header:{"content-type":"application/json"},method:r.method?r.method:"POST",responseType:"text",config:r});let o;try{if("block"===n.model)this.lockR(Jt.blockId,(()=>this._fetch(s,n.hasEncrypt))),o=await Jt.requestLock[Jt.blockId].request;else if(Jt.requestLock[Jt.blockId]&&Jt.requestLock[Jt.blockId].lock&&await Jt.requestLock[Jt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Jt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),o=await Jt.requestLock[e].request,this.unlockR(e)}else o=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:o,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const Gt=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var Yt={diff:function(e,t){const r={};return(e=>{if(Ht(e)===Kt)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,s=r.length;for(let e=0;e<s-1;e++){const t=r[e];Ht(n[t])!==Kt&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),Vt(e,t,!0),Wt(e,t,r,"",!0),r},promixify:Gt,run:(e,t={})=>e?Pe.run(Gt(e)(t)):Pe.run(e),formatList:(e,t,r)=>(e||[]).reduce(((e,n,s)=>({...e,[`${r}[${t+s}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e))),Http:Jt,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,o=n.split(".");for(let e=0;e<o.length-1;e++)s=s[o[e]];let i=o[o.length-1],a=r[n].handler||r[n],c=r[n].deep;Dt.observe(s,i,a,e,c)}))}};const Xt=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:o=!0,parseNumber:i=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const c={};if("string"!=typeof e||0===e.length)return c;const l=/\+/g,u=n||1e3;let h=(e=e.split(t)).length;u>0&&h>u&&(h=u);for(let t=0;t<h;++t){let n,i,a,u,h=e[t].replace(l,"%20"),d=h.indexOf(r);d>=0?(n=h.substr(0,d),i=h.substr(d+1)):(n=h,i=""),a=o?decodeURIComponent(n):n,u=o?decodeURIComponent(i):i,T.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return Dt.parseValue(c,{number:i,boolean:a}),c},Qt=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},er=function(e,t=!0){return t?encodeURIComponent(e):e},tr=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},rr=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,nr=e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/),n=r?r[1]:"",s=t.lastIndexOf("/")+1,o=t.substring(s),i=o.lastIndexOf("."),a=o.substring(0,i)||"",c=i>=0?o.substring(i):"";return{route:t.substring(0,s)||"",page:n,name:o,withoutExtension:a,extname:c}},sr=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(rr);if(!r||r.length<4)return t;const n=r[3]||"",s=e.split("?");return t.url=s[0],t.origin=r[0],t.protocol=`${r[1]}:`,t.host=`${r[2]}${n?":"+n:""}`,t.port=n,t.query=s.length>1?s[1]:"",t};var or={parse:Xt,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:o=!1,cleanNull:i=!1,cleanWhitespace:a=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const c=er(Qt(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+er(Qt(e),s)})).join(t):tr(l,{cleanZero:o,cleanNull:i,cleanWhitespace:a})?"":c+er(Qt(l),s)})).filter(Boolean).join(t):n?er(Qt(n),s)+r+er(Qt(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=sr(e),{origin:r="",url:n="",query:s=""}=t,o=nr(n),i=Xt(s,{multiple:!0,uri:!1});return{...t,...o,pathname:n.substring(n.indexOf(r||"")+r.length),params:i}},parsePath:nr,parseHost:sr,join:(...e)=>{let t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length<=0||(/^(\w+):\/\//.test(r)?t=[r]:t.push(r))})),t.join("/")},shExpMatch:(e,t)=>{if(e===t)return!0;if(!e)return!1;if(!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)}};const ir=/%[sdj%]/g;let ar=()=>{};function cr(e){if(!e||!e.length)return null;const t={};return e.forEach((e=>{const r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function lr(e,...t){let r=0;const n=t.length;if("function"==typeof e)return e.apply(null,t);if("string"==typeof e){return e.replace(ir,(e=>{if("%%"===e)return"%";if(r>=n)return e;switch(e){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(e){return"[Circular]"}break;default:return e}}))}return e}function ur(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}(t)||"string"!=typeof e||e))}function hr(e,t,r){let n=0;const s=e.length;!function o(i){if(i&&i.length)return void r(i);const a=n;n+=1,a<s?t(e[a],o):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(ar=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class dr extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function fr(e,t,r,n,s){if(t.first){const t=new Promise(((t,o)=>{const i=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);hr(i,r,(e=>(n(e),e.length?o(new dr(e,cr(e))):t(s))))}));return t.catch((e=>e)),t}const o=!0===t.firstFields?Object.keys(e):t.firstFields||[],i=Object.keys(e),a=i.length;let c=0;const l=[],u=new Promise(((t,u)=>{const h=e=>{if(l.push.apply(l,e),c++,c===a)return n(l),l.length?u(new dr(l,cr(l))):t(s)};i.length||(n(l),t(s)),i.forEach((t=>{const n=e[t];-1!==o.indexOf(t)?hr(n,r,h):function(e,t,r){const n=[];let s=0;const o=e.length;function i(e){n.push(...e||[]),s++,s===o&&r(n)}e.forEach((e=>{t(e,i)}))}(n,r,h)}))}));return u.catch((e=>e)),u}function pr(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function gr(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e}const yr=(e,t,r,n,s,o)=>{!e.required||r.hasOwnProperty(e.field||"")&&!ur(t,o||e.type)||n.push(lr(s.messages.required,e.fullField))};let mr;const wr=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,br=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,_r={integer:e=>_r.number(e)&&parseInt(e,10)===e,float:e=>_r.number(e)&&!_r.integer(e),array:e=>Array.isArray(e),regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:e=>"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime()),number:e=>!isNaN(e)&&"number"==typeof e,object:e=>"object"==typeof e&&!_r.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(wr),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(mr)return mr;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),o=new RegExp(`(?:^${r}$)|(?:^${s}$)`),i=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?o:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?i:new RegExp(`${t(e)}${r}${t(e)}`,"g"),c.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const l=c.v4().source,u=c.v6().source;return mr=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${l}|${u}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)`,"i"),mr})()),hex:e=>"string"==typeof e&&!!e.match(br)},vr="enum";var xr={required:yr,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(lr(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void yr(e,t,r,n,s);const o=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(o)>-1?_r[o](t)||n.push(lr(s.messages.types[o],e.fullField,e.type)):o&&typeof t!==e.type&&n.push(lr(s.messages.types[o],e.fullField,e.type))},range:(e,t,r,n,s)=>{const o="number"==typeof e.len,i="number"==typeof e.min,a="number"==typeof e.max,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let l=t,u="";const h="number"==typeof t,d="string"==typeof t,f=Array.isArray(t);if(h?u="number":d?u="string":f&&(u="array"),!u)return!1;f&&(l=t.length),d&&(l=t.replace(c,"_").length),o?l!==e.len&&n.push(lr(s.messages[u].len,e.fullField,e.len)):i&&!a&&l<e.min?n.push(lr(s.messages[u].min,e.fullField,e.min)):a&&!i&&l>e.max?n.push(lr(s.messages[u].max,e.fullField,e.max)):i&&a&&(l<e.min||l>e.max)&&n.push(lr(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[vr]=Array.isArray(e[vr])?e[vr]:[],-1===e[vr].indexOf(t)&&n.push(lr(s.messages[vr],e.fullField,e[vr].join(", ")))},pattern:(e,t,r,n,s)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push(lr(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(lr(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const kr=(e,t,r,n,s)=>{const o=e.type,i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ur(t,o)&&!e.required)return r();xr.required(e,t,n,i,s,o),ur(t,o)||xr.type(e,t,n,i,s)}r(i)};var Sr={string:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(ur(t,"string")&&!e.required)return r();xr.required(e,t,n,o,s,"string"),ur(t,"string")||(xr.type(e,t,n,o,s),xr.range(e,t,n,o,s),xr.pattern(e,t,n,o,s),!0===e.whitespace&&xr.whitespace(e,t,n,o,s))}r(o)},method:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ur(t)&&!e.required)return r();xr.required(e,t,n,o,s),void 0!==t&&xr.type(e,t,n,o,s)}r(o)},number:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),ur(t)&&!e.required)return r();xr.required(e,t,n,o,s),void 0!==t&&(xr.type(e,t,n,o,s),xr.range(e,t,n,o,s))}r(o)},boolean:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ur(t)&&!e.required)return r();xr.required(e,t,n,o,s),void 0!==t&&xr.type(e,t,n,o,s)}r(o)},regexp:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ur(t)&&!e.required)return r();xr.required(e,t,n,o,s),ur(t)||xr.type(e,t,n,o,s)}r(o)},integer:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ur(t)&&!e.required)return r();xr.required(e,t,n,o,s),void 0!==t&&(xr.type(e,t,n,o,s),xr.range(e,t,n,o,s))}r(o)},float:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ur(t)&&!e.required)return r();xr.required(e,t,n,o,s),void 0!==t&&(xr.type(e,t,n,o,s),xr.range(e,t,n,o,s))}r(o)},array:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();xr.required(e,t,n,o,s,"array"),null!=t&&(xr.type(e,t,n,o,s),xr.range(e,t,n,o,s))}r(o)},object:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ur(t)&&!e.required)return r();xr.required(e,t,n,o,s),void 0!==t&&xr.type(e,t,n,o,s)}r(o)},enum:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ur(t)&&!e.required)return r();xr.required(e,t,n,o,s),void 0!==t&&xr.enum(e,t,n,o,s)}r(o)},pattern:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ur(t,"string")&&!e.required)return r();xr.required(e,t,n,o,s),ur(t,"string")||xr.pattern(e,t,n,o,s)}r(o)},date:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ur(t,"date")&&!e.required)return r();if(xr.required(e,t,n,o,s),!ur(t,"date")){let r;r=t instanceof Date?t:new Date(t),xr.type(e,r,n,o,s),r&&xr.range(e,r.getTime(),n,o,s)}}r(o)},url:kr,hex:kr,email:kr,required:(e,t,r,n,s)=>{const o=[],i=Array.isArray(t)?"array":typeof t;xr.required(e,t,n,o,s,i),r(o)},any:(e,t,r,n,s)=>{const o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ur(t)&&!e.required)return r();xr.required(e,t,n,o,s)}r(o)}};function $r(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone(){const e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}const Ar=$r();class Cr{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Sr[e]=t};static warning=ar;static messages=Ar;static validators=Sr;rules={};_messages=Ar;constructor(e){this.define(e)}define(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((t=>{const r=e[t];this.rules[t]=Array.isArray(r)?r:[r]}))}messages(e){return e&&(this._messages=gr($r(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,o=r;if("function"==typeof s&&(o=s,s={}),!this.rules||0===Object.keys(this.rules).length)return o&&o(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Ar&&(e=$r()),gr(e,s.messages),s.messages=e}else s.messages=this.messages();const i={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let o=r;"function"==typeof o.transform&&(n===e&&(n={...n}),s=n[t]=o.transform(s)),o="function"==typeof o?{validator:o}:{...o},o.validator=this.getValidationMethod(o),o.validator&&(o.field=t,o.fullField=o.fullField||t,o.type=this.getType(o),i[t]=i[t]||[],i[t].push({rule:o,value:s,source:n,field:t}))}))}));const a={};return fr(i,s,((e,t)=>{const r=e.rule;let o,i=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function c(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function l(o=[]){let l=Array.isArray(o)?o:[o];!0===s.suppressWarning&&l.length&&Cr.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(pr(r,n));if(s.first&&u.length)return a[r.field]=1,t(u);if(i){if(r.required&&!e.value)return void 0!==r.message?u=[].concat(r.message).map(pr(r,n)):s.error&&(u=[s.error(r,lr(s.messages.required,r.field))]),t(u);let o={};r.defaultField&&Object.keys(e.value).map((e=>{o[e]=r.defaultField})),o={...o,...e.rule.fields};const i={};Object.keys(o).forEach((e=>{const t=o[e],r=Array.isArray(t)?t:[t];i[e]=r.map(c.bind(null,e))}));const a=new Cr(i);a.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),a.validate(e.value,e.rule.options||s,(e=>{const r=[];u&&u.length&&r.push(...u),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(u)}if(i=i&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)o=r.asyncValidator(r,e.value,l,e.source,s);else if(r.validator){try{o=r.validator(r,e.value,l,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===o?l():!1===o?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):o instanceof Array?l(o):o instanceof Error&&l(o.message)}o&&o.then&&o.then((()=>l()),(e=>l(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)s=e[r],Array.isArray(s)?t=t.concat(...s):t.push(s);var s;t.length?(r=cr(t),o(t,r)):o(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Sr.hasOwnProperty(e.type))throw new Error(lr("Unknown rule type %s",e.type));return e.type||"string"}getValidationMethod(e){if("function"==typeof e.validator)return e.validator;const t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?Sr.required:Sr[this.getType(e)]||void 0}}function Er(e){return new Cr(e)}var Or={validateId:function(e){return!!e&&(!(e.length<6)&&!!/^[A-Za-z0-9_-]+$/.test(e))},validatePhone:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)},validator:Er,validate:function(e,t,r={},n=(()=>{})){return Pe.run(Er(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var Pr={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};var jr={toUtf8:e=>{if(!e)return"";const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},fromUtf8:e=>{let t="",r=0;if(!e)return"";let n=0,s=0,o=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),o=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&o),r+=3);return t},toUtf8Bytes:e=>{if(!e)return new Uint8Array;const t=e.replace(/\r\n/g,"\n"),r=[];for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r.push(n):n<2048?(r.push(n>>6|192),r.push(63&n|128)):(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128))}return new Uint8Array(r)},fromUtf8Bytes:e=>{let t="",r=0;if(!e||e.length<=0)return"";for(;r<e.length;){let n=e[r];if(n<128)t+=String.fromCharCode(n),r++;else if(n>191&&n<224){const s=e[r+1];t+=String.fromCharCode((31&n)<<6|63&s),r+=2}else{const s=e[r+1],o=e[r+2];t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&o),r+=3}}return t}};const qr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Lr={toBase64:(e="")=>{let t,r,n,s,o,i,a,c="",l=0;for(e=jr.toUtf8(e);l<e.length;)t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),s=t>>2,o=(3&t)<<4|r>>4,i=(15&r)<<2|n>>6,a=63&n,isNaN(r)?i=a=64:isNaN(n)&&(a=64),c=c+qr.charAt(s)+qr.charAt(o)+qr.charAt(i)+qr.charAt(a);return c},fromBase64:(e="")=>{let t,r,n,s,o,i,a,c="",l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=qr.indexOf(e.charAt(l++)),o=qr.indexOf(e.charAt(l++)),i=qr.indexOf(e.charAt(l++)),a=qr.indexOf(e.charAt(l++)),t=s<<2|o>>4,r=(15&o)<<4|i>>2,n=(3&i)<<6|a,c+=String.fromCharCode(t),64!=i&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=jr.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,o,i,a,c="",l=0;if(!e||!oe.isArrayLike(e)||!oe.isUint8Array(e))return"";for(;l<e.length;)t=e[l++],r=e[l++],n=e[l++],s=t>>2,o=(3&t)<<4|r>>4,i=(15&r)<<2|n>>6,a=63&n,isNaN(r)?i=a=64:isNaN(n)&&(a=64),c=c+qr.charAt(s)+qr.charAt(o)+qr.charAt(i)+qr.charAt(a);return c},base64ToBytes:(e="")=>{let t,r,n,s,o,i,a,c=[],l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=qr.indexOf(e.charAt(l++)),o=qr.indexOf(e.charAt(l++)),i=qr.indexOf(e.charAt(l++)),a=qr.indexOf(e.charAt(l++)),t=s<<2|o>>4,r=(15&o)<<4|i>>2,n=(3&i)<<6|a,c.push(t),64!=i&&c.push(r),64!=a&&c.push(n);return new Uint8Array(c)}};const Tr=e=>Lr.toBase64(e);var Fr={encode:Tr,decode:e=>Lr.fromBase64(e),encodeByOss:e=>Tr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Br={...p,base64:Fr,uuid:g,guid:(e,t=!1,r="")=>{const n=g(e||32);return t?k.now().format("yyyyMMddhhmmss")+r+n:n},getHexString:e=>{const t=p.keyChars;let r="";const n=t.length;for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*n));return r}};const Rr=e=>{if(!e)return"";if(!Ut.isObject(e))return"";let t="";return Ut.forof(e,((e,r)=>{r&&(t+=`${Lt.kebabCase(e)}:${r};`)})),t},Mr=["display","position","top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","fontSize","textAlign","fontFamily","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius","background","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","color","overflow","opacity","flexDirection","justifyContent","alignItems","flexWrap","alignContent","alignSelf","flex","flexBasis","flexFlow","flexShrink","pointerEvents"],Dr=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],Ur=(e,t="px")=>e&&t?"0"===e?e:Or.isFloat(e.toString())?`${e}${t}`:e:e;var Ir={stringify:Rr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=or.parse(e,{sep:";",eq:":",uri:!1}),s={};return Ut.forof(n,((e,n)=>{if(!n)return;const o=t?r&&e.startsWith("_")?e:Lt.camelCase(e):e;Or.isFloat(n)||n.length>=2&&n.startsWith(".")&&Or.isNumber(n.substr(1))?s[o]=+n:s[o]=n})),s},fixValue:Ur,style:(e,t="px")=>{if(!e)return"";const r=Ut.copy(e,{fields:Mr});Ut.forof(r,((e,n)=>{(Dr.includes(e)||Dr.includes(Lt.camelCase(e)))&&(r[e]=Ur(n,t))}));return Rr(r)},commonFields:Mr};const zr=(e,t="",r=!1)=>{try{if(!e)return;const n=or.parseUrl(e),s=t||n.name;if(!t||!r||!n.origin||n.origin===window.location.origin)((e,t)=>{try{const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}catch(t){console.error(`[ddan] _downloadUrl ${e}`,t)}})(e,s);else{const t=n.params;t.t=Date.now();const r=`${n.url}?${or.stringify(t,{uri:!1})}`,o=new XMLHttpRequest;o.open("GET",r,!0),o.responseType="blob",o.onload=function(){Kr(o.response,s)},o.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},o.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},Kr=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;zr(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},Nr=e=>{try{const t=document.createElement("textarea");document.body.appendChild(t),t.style.position="fixed",t.style.clip="rect(0 0 0 0)",t.style.top="10px",t.style.opacity="0",t.value=e??"",t.select();const r=document.execCommand("copy");return document.body.removeChild(t),r}catch(e){return console.error("[ddan] copyText",e),!1}},Hr=(e,t="denied")=>new Promise((r=>{const n=navigator?.permissions;if(!n||!n.query)return r(t);const s={name:e};n.query(s).then((e=>r(e.state))).catch((()=>r(t)))})),Vr=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e;var Wr={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),o=s.length,i=new Uint8Array(o);for(;o--;)i[o]=s.charCodeAt(o);return new File([i],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,o=new Uint8Array(s);for(;s--;)o[s]=n.charCodeAt(s);return new Blob([o],{type:r})},blobToFile:(e,t)=>(e.lastModifiedDate=new Date,e.name=t,e),readAsDataURL:(e,t)=>{var r=new FileReader;r.readAsDataURL(e),r.onloadend=function(e){t&&t(e.target?.result)}},downloadUrl:zr,download:(e,t="")=>{e&&("string"!=typeof e?Kr(e,t):zr(e,t))},downloadFile:Kr,downloadImage:e=>{try{if(!e)return;const t=e.match(/\/(\w+.\w+)$/)[1],r=new Image;r.onload=()=>{let e=document.createElement("canvas");e.width=r.width,e.height=r.height;let n=e.getContext("2d");n&&n.drawImage(r,0,0,r.width,r.height);let s=e.toDataURL();zr(s,t)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.error("[ddan] downloadImage",e)}return Promise.resolve()},watermark:(e,{width:t=400,height:r=300,angle:n=0,fillStyle:s="rgba(0, 0, 0, 0.2)",font:o="16px Arial",textAlign:i="left",textBaseline:a="middle"}={})=>{try{if(!e)return"";const c=document.createElement("canvas");c.width=t,c.height=r;const l=c.getContext("2d");return l?(n&&l.rotate(n*Math.PI/180),s&&(l.fillStyle=s),o&&(l.font=o),i&&(l.textAlign=i),a&&(l.textBaseline=a),l.fillText(e,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}},copyText:(e,t=!1)=>new Promise((r=>{!t&&navigator.clipboard?Hr("clipboard-write").then((t=>{Vr(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(Nr(e)))):r(Nr(e))})).catch((()=>{r(Nr(e))})):r(Nr(e))})),queryPermission:Hr,isAllowed:Vr,legacyCopy:Nr};var Zr={ossImage:(e,t={})=>{if(!e)return e;const r=or.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=zt.toList(t.domain||""),n=e.match(/^http[s]?:\/\/([\w.]+)[\w\W]+/)[1]||"";if(!n||!r.includes(n))return e}const n=[];return t.webp&&!r.endsWith(".gif")&&n.push("format,webp"),t.resize&&n.push(`resize,s_${t.resize}`),t.interlace&&(n.push("interlace,1"),!n.every((e=>!e.startsWith("format")))||r.endsWith(".gif")||r.endsWith(".jpg")||n.push("format,jpg")),n.length<=0?e:`${r}?x-oss-process=image/${n.join("/")}`},ossSnapshot:(e,t={})=>{if(!e)return e;const r=or.parseUrl(e).url,n=["snapshot"],{m:s="fast",f:o="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),o&&n.push(`f_${o}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`},ossBase64:e=>Lr.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const Jr=(e,t=!1)=>{const r=new Uint8Array(e);return t?Lr.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var Gr={...jr,...Lr,str2Hex:e=>{let t="";for(let r=0;r<e.length;r++)t+=e.charCodeAt(r).toString(16).padStart(2,"0");return t},hex2Str:e=>{let t="";for(let r=0;r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t},str2ab:(e="",t=!1)=>{if(t)return Lr.base64ToBytes(e).buffer;{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t}},ab2str:Jr,bytesToStr:e=>{if(!e||!oe.isArrayLike(e))return"";return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")},strToBytes:(e="")=>{const t=e,r=new Uint8Array(t.length);for(let e=0,n=t.length;e<n;e++)r[e]=t.charCodeAt(e);return r},utf8ToBase64:e=>oe.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>oe.isBrowser?atob(e):Buffer.from(e,"base64").toString("utf-8"),getRandomBytes:e=>{const t=new Uint8Array(e);for(let r=0;r<e;r++)t[r]=Te.random(256);return t},textEncode:e=>jr.toUtf8Bytes(e),textDecode:e=>jr.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+Lr.toBase64(e):oe.isArrayBuffer(e)?`data:${t};base64,`+Jr(e,!0):"":"",concatBytes:(...e)=>{const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r}};const Yr=({url:e,options:t})=>{const r={"Content-Type":"application/json; charset=utf-8",...t.headers||{}};return t.headers=r,new Promise(((r,n)=>{fetch(e,t).then((e=>{r(e.json())})).catch((e=>{n(e)}))}))};function Xr(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function Qr(e){const{url:t="",host:r,options:n}=e,s=e;if(t.startsWith("http://")||t.startsWith("https://")||(s.url=(r||"")+t),"GET"===n.method.toUpperCase()&&n.body){const e=JSON.parse(n.body);if(Ut.isPlainObject(e)){const r=or.stringify(e),n=-1===t.indexOf("?")?"?":"&";s.url=`${s.url||""}${n}${r}`,delete s.options.body}}return n&&n.plugins&&delete s.options?.plugins,n&&n.model&&delete s.options?.model,s}class en{host="";reqConfig={};handleError;interceptors={request:new Zt,response:new Zt};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(Qr),this.interceptors.response.use(e.handleResponse||Xr),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){en.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete en.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}async fetch(e,t){const r=Ut.copy(this.reqConfig[e])||{},n={host:this.host,url:r.url||"",options:{...r||{},body:JSON.stringify({...t||{}})}};try{const s=await this.interceptors.request.invoke(n);let o;if(delete s.options.plugins,"block"===r.model)this.lockR(en.blockId,(()=>Yr(s))),o=await en.requestLock[en.blockId].request;else if(en.requestLock[en.blockId]&&en.requestLock[en.blockId].lock&&await en.requestLock[en.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),en.requestLock[e]||this.lockR(e,(()=>Yr(s))),o=await en.requestLock[e].request,this.unlockR(e)}else o=await Yr(s);return this.interceptors.response.invoke({response:o,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const tn={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},rn=e=>(...t)=>{const r=console[e];tn.overrode?r(...t):nn(r,e,...t)},nn=(e,t,...r)=>{const n=k.format(new Date,tn.format),s=tn.tag?`[${t}]`:"";s&&n?e.apply(console,[`${n} ${s}`,...r]):n?e.apply(console,[`${n}`,...r]):s?e.apply(console,[`${s}`,...r]):e.apply(console,[...r])};var sn={override:()=>{if(tn.overrode)return;tn.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{nn(t,e,...r)}}))},log:rn("log"),info:rn("info"),warn:rn("warn"),error:rn("error"),config:({tag:e=tn.tag,format:t=tn.format}={})=>{tn.tag=e,tn.format=t}};var on={getDataURL:e=>{const t={contentType:"",dataUrl:""};return Se.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+Gr.ab2str(e,!0),t))))},getArrayBuffer:async e=>Se.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>Se.to(fetch(e).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let o=0;const i=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;i.push(r),o+=r.length;const a=Te.float(100*o/n,{digits:2});t?.progress&&t?.progress(a,o,n)}const a=new Uint8Array(o);let c=0;for(const e of i)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)}))))};const an=new class{__defStyle="vertical-align: middle; mask-position: 50% 50%; mask-repeat: no-repeat; mask-size: 100%; -webkit-mask-position: 50% 50%; -webkit-mask-repeat: no-repeat; -webkit-mask-size: 100%; background-color: currentColor;";__map={back:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M609.408 149.376L277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"/></svg>',right:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"/></svg>',home:'<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M13 19.8h3.8v-7h3.303L12 4.697 3.897 12.8H7.2v7H11V17h2v2.8zm5 .2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6H3.414a1 1 0 0 1-.707-1.707l8.586-8.586a1 1 0 0 1 1.414 0l8.586 8.586A1 1 0 0 1 20.586 14H18v6z" fill-rule="evenodd" fill-opacity=".9"/></svg>',close:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M764.288 214.592L512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"/></svg>',close_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M466.752 512l-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248L466.752 512z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',close_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"/></svg>',warning:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M928.99 755.83L574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03zM554.67 768h-85.33v-85.33h85.33V768zm0-426.67v298.66h-85.33V341.32l85.33.01z" fill="currentColor"/></svg>',play:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024zm3.008-92.992a416 416 0 1 0 0-832 416 416 0 0 0 0 832zM383.232 287.616l384 224.896-384 223.104v-448z" fill="currentColor"/></svg>',lock:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"/><path fill="currentColor" d="M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm192-160v-64a192 192 0 1 0-384 0v64h384zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64z"/></svg>',lock_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M467.2 713.92v115.968a44.8 44.8 0 0 0 89.6 0V713.92c26.752-14.72 44.8-42.304 44.8-73.92 0-47.104-40.128-85.312-89.6-85.312-49.472 0-89.6 38.208-89.6 85.312 0 31.616 18.048 59.136 44.8 73.92zM64 384h896v640H64V384zm268.8 0h358.4V256c0-94.272-80.256-170.688-179.2-170.688-98.944 0-179.2 76.416-179.2 170.688v128zM512 0c148.48 0 268.8 114.56 268.8 256v128H243.2V256C243.2 114.56 363.52 0 512 0z" fill="currentColor"/></svg>',plus:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64h352z"/></svg>',plus_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"/><path fill="currentColor" d="M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',plus_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"/></svg>',star:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 747.84l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72L512 747.84zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"/></svg>',star_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M283.84 867.84L512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"/></svg>',share:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M679.872 348.8l-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"/></svg>',love:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M171.712 571.648l.352.32 287.904 252.8a64 64 0 0 0 82.912 1.344l296.832-244.544a215.584 215.584 0 1 0-301.824-300.576L512 316.672l-25.888-35.616a215.584 215.584 0 1 0-314.4 290.624zM32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512l-295.36 243.392a128 128 0 0 1-165.888-2.592L129.984 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>',love_fill:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512L562.592 892.8a96 96 0 0 1-124.416-1.952L130.016 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>'};getBase64=e=>{const t=this.getSVG(e);return t?.url||""};getSVG=e=>{if(!e)return;const t=this.__map[e];if(!t)return;return{url:this.toBase64(t),escape:this.toEscape(t)}};toBase64=e=>{if(!e)return"";const t=this._tiny(e);return`data:image/svg+xml;base64,${Fr.encode(t)}`};_tiny=e=>e?e.replace(/<!--(.*)-->/g,"").replace(/[\r\n]/g," ").replace(/"/g,"'"):"";toEscape=e=>{if(!e)return"";return`data:image/svg+xml,${this._tiny(e).replace(/%/g,"%25").replace(/&/g,"%26").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(/</g,"%3C").replace(/>/g,"%3E")}`};getStyle(e,t={}){if(!e)return"";const r=this.__map[e];return r?this.toStyle(r,t):""}toStyle(e,t={}){if(!e)return"";const r=this.toBase64(e);return r?this.getStyleByUrl(r,t):""}getStyleByUrl(e,t={}){if(!e)return"";const{key:r="mask-image",gradientValue:n="radial-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5))",gradient:s=!1,defStyle:o=this.__defStyle}=t,i=s&&n?`${n}, url("${e}")`:`url("${e}")`;return`${r}:${i};-webkit-${r}:${i};${o}`}},cn=(e,t,r)=>({key:e,fields:t,storage:r});class ln{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=Pe.debounce((e=>{if(this.key&&this.storage)try{const{setItem:t,setStorageSync:r}=this.storage;if(r)return r(this.key,e);if(t)return t(this.key,JSON.stringify(e))}catch(e){console.error("persit save ",e)}}));read(){if(this.key&&this.storage)try{const{getItem:e,getStorageSync:t}=this.storage;if(t)return t(this.key);if(e){const t=e(this.key);return JSON.parse(t)}}catch(e){return void console.error("persit read ",e)}}handleSave(e,t){if(!this.fields.includes(t)||!e)return;const r=Dt.copy(e,{fields:this.fields});this.save(r)}}class un extends y{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!oe.isFunction(n))return;const[,s]=await Pe.run(n({...r,commit:r.commit.bind(r),query:r.query.bind(r),dispatch:r.dispatch.bind(r)},t));return s}async query(e){const t=Reflect.get(this,e);let r;if(null!=t&&""!==t)r=Dt.copy(t);else{const[,t]=await Pe.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){oe.isObject(t)&&(t=Dt.copy(t)),this[e]=t}}const hn=(e,t)=>{const r=Object.assign(new un,e||{});r.__persist=new ln(t||r.persist);const n=r.__persist.read(),s=n?Object.assign(r,n):r;return new Proxy(s,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return oe.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(oe.isFunction(s)&&!s(e,r))return!0;const o=Reflect.set(e,t,r,n);return o&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),o},has:(e,t)=>Reflect.has(e,t)})};class dn{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=or.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const o=or.stringify(s,{uri:!1});this.list.push(`${e}?${o}`)}_parseHost(e){e&&!this.host&&/^http[s]?:\/\/([\w.]+)/.test(e)&&(this.host=e.replace(/^http[s]?:\/\/([\w.]+)[\w\W]+/,"$1"))}image(e,t={}){if(!e||!e.includes(this.host))return;if(this.list.length<=0)return;const r={g:"nw",...t},n=e.replace(/^http[s]?:\/\/[\w.]+\/([\w-.,_/?%&=]+)$/,"$1"),s=Br.base64.encodeByOss(n),o=or.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${o}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Br.base64.encodeByOss(e),o=or.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${o}`)}result(){return this.list.join("")}}const fn=(e,t)=>new dn(e,t);class pn{__list=[];constructor(){this.clear()}add(e){const t=Pe.run(e);return this.__list.push(t),this}clear(){return this.__list=[],this}wait(){const e=this.__list;return this.clear(),Promise.allSettled(e)}}const gn=new class{state=hn(new un);frame=new m;cache=new Map;cacheTime=new Map;setCache=(e,t)=>null!=t&&(!!e&&(this.cache.set(e,t),this.cacheTime.set(e,Date.now()),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};getCacheTime=e=>e&&this.cacheTime.get(e)||0;removeCache=e=>{e&&(this.cache.delete(e),this.cacheTime.delete(e))};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),o=this.getCache(s)||{},i=Date.now(),a=o[e],c={time:i,count:1,cycle:n};return a&&("day"!==n||k.isToday(a.time||0))&&(c.count=1+(a.count||0)),o[e]=c,this.setCache(s,o),o};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:o="day"}=t||{},i=this.cacheId(s);let a=this.getCache(i);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===o&&!k.isToday(c.time||0))return!0;if(r<=(c.count||0))return!1;return!(Date.now()-(c.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=Ut.copy(r);Ut.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||k.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new pn};class yn{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=g(),this.start=Date.now(),this.timeStartDesc=k.format(this.start,"hh:mm:ss.SSS")}get time(){return this.flag?this.end:this.start}get timeDesc(){return this.flag?this.timeEndDesc:this.timeStartDesc}done=(e=Date.now())=>{this.start&&(this.end=e,this.cost=this.end-this.start,this.timeEndDesc=k.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const mn=new class{__map=new Map;__trackList=[];opened=!0;clear(){return this.__map.clear(),this.__trackList=[],this}add(e,{desc:t="",type:r=""}={}){if(!e||!this.opened)return"";const n=new yn;return n.name=e,n.type=r,n.desc=t,this.__trackList.push(n),n.id}done(e){if(!e||!this.opened)return;const t=this.__trackList.find((t=>t.id===e));if(!t||t.isDone)return;t.done();const r=Dt.cloneClass(t);r.id=this._endId(e),r.flag=1,r.desc=`${t.desc} | end`,this.__trackList.push(r)}getTrack(e){return this.__trackList.find((t=>t.id===e))}getLine(e){if(!e||e.endsWith("-end"))return[];const t=this.__trackList.findIndex((t=>t.id===e));if(t<0)return[];const r=this._endId(e),n=this.__trackList.findIndex((e=>e.id===r)),s=n<0?this.__trackList.length-t:n-t+1;return zt.take(this.__trackList,s,t)}getList(e,t=""){if(!e)return[];const r=this.__trackList.filter((t=>t.name===e));if(r.length<=0)return[];if(!t)return r;const n=this._endId(t);return this.__trackList.filter((e=>e.id===t||e.id===n))}get list(){return this.__trackList}get size(){return this.__trackList.length}_endId=e=>`${e}-end`;report(e){const t=this.list;if(!t||t.length<=0)return;const r=t[0].time;t.forEach((t=>e&&e(t,r)))}},wn=e=>{try{const t=Gr.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},bn=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var _n={generateKeys:async()=>{try{const e=await window.crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),t=await window.crypto.subtle.exportKey("spki",e.publicKey),r=wn(t),n=bn(r,"PUBLIC KEY"),s=await window.crypto.subtle.exportKey("pkcs8",e.privateKey),o=wn(s);return{publicKey:r,publicKeyPem:n,privateKey:o,privateKeyPem:bn(o,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:bn,format_pem_content:wn,encrypt:async(e,t)=>{try{const r=(new TextEncoder).encode(e),n=await window.crypto.subtle.importKey("spki",Gr.str2ab(t,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),s=await window.crypto.subtle.encrypt({name:"RSA-OAEP"},n,r);return Gr.ab2str(s,!0)}catch(e){return console.error("encrypt failed:",e),""}},decrypt:async(e,t)=>{try{const r=Gr.str2ab(e,!0),n=await window.crypto.subtle.importKey("pkcs8",Gr.str2ab(t,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"]),s=await window.crypto.subtle.decrypt({name:"RSA-OAEP"},n,r);return(new TextDecoder).decode(s)}catch(e){return console.error("decrypt failed:",e),""}}};var vn={brotliCompress:function(e,t=a.default.constants.BROTLI_DEFAULT_QUALITY){try{if(!e)return"";const r=Buffer.from(e,"utf-8");return a.default.brotliCompressSync(r,{params:{[a.default.constants.BROTLI_PARAM_QUALITY]:t}}).toString("base64")}catch(t){return e||""}},brotliDecompress:function(e){try{if(!e)return"";const t=Buffer.from(e,"base64");return a.default.brotliDecompressSync(t).toString("utf-8")}catch(t){return e||""}}};class xn{timestamp=0;_key="";_value;constructor(e,t){this._key=e,this._value=t,this.updateAt()}get key(){return this._key}get value(){return this._value}set(e){this._value=e,this.updateAt()}updateAt(){this.timestamp=Date.now()}}class kn{_map=new Map;constructor(){this._map.clear()}get keys(){return Array.from(this._map.keys())}get values(){return Array.from(this._map.values())}get(e){if(!e)return;const t=this._map.get(e);return t?t.value:void 0}set(e,t){if(!e)return;const r=this._map.get(e);r?(r.set(t),this.clean()):this._map.set(e,new xn(e,t))}delete(e,t){if(!e)return;const r=this._map.get(e);t&&t(r?.value),this._map.delete(e)}clear(){this._map.clear()}clean(e=100,t){try{if(this._map.size<=e)return;if(this.keys.filter((e=>{if(!this._map.has(e))return!1;const t=this._map.get(e);return!t||!t.value})).forEach((e=>{this._map.delete(e)})),this._map.size<=e)return;const r=this.values.sort(((e,t)=>e.timestamp-t.timestamp)),n=r.length-e;if(n<=0)return;r.splice(0,n).forEach((e=>{this.delete(e.key,t)}))}catch(e){console.log("mapping clean",e)}}}var Sn={child_exec:e=>new Promise((t=>{if(!e)return t([null,""]);o.exec(e,((e,r)=>{t(e?[e||"error",""]:[null,r||""])}))}))};const $n=async()=>{do{let e,t;if([e,t]=await Sn.child_exec('reg query "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"'),e)break;const r=t.split("\n").find((e=>e.includes("ProxyEnable")));if(!(r&&r.trim().endsWith("1")))break;const n=t.split("\n").find((e=>e.includes("ProxyServer"))),s=n?n.split(" ").filter(Boolean).pop():"";if(!s)break;const o=s.split(":");if(o.length<=1)break;const i=o[0],a=+(o[1]||"");if(!i||!a)break;return{ipaddress:i,port:a}}while(0)},An=async()=>{do{let e,t;if([e,t]=await Sn.child_exec('networksetup -getwebproxy "Wi-Fi"'),e)break;const r=t.split("\n"),n=r.find((e=>e.includes("Enabled")));if(!(n&&n.includes("Yes")))break;const s=r.find((e=>e.includes("Server"))),o=r.find((e=>e.includes("Port"))),i=s?s.split(":")[1]?.trim():null,a=+((o?o.split(":")[1]?.trim():null)||"");if(!i||!a)break;return{ipaddress:i,port:a}}while(0)};var Cn={getSystemProxy:()=>{try{return"win32"===process.platform?$n():"darwin"===process.platform?An():void 0}catch(e){return}},toPacScript:({proxy:e="DIRECT",system:t="DIRECT",rules:r=["*"]})=>{const n=e||t||"DIRECT",s=t||"DIRECT",o=`\n function FindProxyForURL(url, host) {\n if (isInNet(host, "127.0.0.0", "255.255.255.0") ||\n isInNet(host, "192.168.0.0", "255.255.0.0") ||\n shExpMatch(host, "localhost") ||\n shExpMatch(host, "<local>")) {\n return "DIRECT";\n }\n\n for (let rule of ${JSON.stringify(r)}) {\n if (rule && shExpMatch(host, rule)) {\n return "${n}";\n }\n }\n return "${s}";\n }\n `;return Gr.toDataUrl(o)},toPacProxy:(e,t,r)=>{if(!e||!t)return"";const{type:n="ALL",direct:s=!1}=r||{};let o="";switch(n?n.toUpperCase():""){case"ALL":o=`SOCKS5 ${e}:${t};PROXY ${e}:${t};`;break;case"PROXY":o=`PROXY ${e}:${t}`;break;case"SOCKS5":o=`SOCKS5 ${e}:${t}`}if(!o&&!s)return"";const i=[];return o&&i.push(o),s&&i.push("DIRECT"),i.join(";")}};class En{publicKey="";privateKey="";iv="";__privateCryptoKey;__sharedSecret;__curve;__keyFormat;__subtle;constructor(e="P-256",t="raw"){this.__curve=e,this.__keyFormat=t||"raw","undefined"!=typeof window?this.__subtle=window.crypto.subtle:this.__subtle={}}async generateKeys(){const e=await this.__subtle.generateKey({name:"ECDH",namedCurve:this.__curve},!0,["deriveKey","deriveBits"]);return this.__privateCryptoKey=e.privateKey,this.publicKey=await this.exportKey(e.publicKey),this.privateKey=await this.exportKey(e.privateKey,"pkcs8"),this}async exportKey(e,t="raw"){const r=await this.__subtle.exportKey(t||this.__keyFormat,e);return Gr.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=Gr.base64ToBytes(e);return await this.__subtle.importKey(t||this.__keyFormat||"raw",n,{name:"ECDH",namedCurve:this.__curve},!0,r)}async setPrivateKey(e){if(!e)return!1;const t=await this.importKey(e,"pkcs8",["deriveKey","deriveBits"]);return this.privateKey=await this.exportKey(t,"pkcs8"),this.__privateCryptoKey=t,!0}async deriveSharedSecret(e,t){if(!this.__privateCryptoKey)return!1;const r=await this.importKey(e),n=await this.__subtle.deriveKey({name:"ECDH",public:r},this.__privateCryptoKey,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"]);return this.__sharedSecret=n,this.iv=t||"",!0}async encode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Gr.base64ToBytes(r),s=Gr.textEncode(e),o=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return Gr.ab2str(o,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?Gr.base64ToBytes(r):Gr.getRandomBytes(12),s=Gr.textEncode(e),o=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),i=Gr.concatBytes(new Uint8Array(o),n);return Gr.bytesToBase64(i)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Gr.base64ToBytes(e),s=Gr.base64ToBytes(r),o=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return Gr.textDecode(o)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=Gr.base64ToBytes(e);if(t.length<12)return"";const r=t.slice(t.length-12),n=t.slice(0,t.length-12),s=await this.__subtle.decrypt({name:"AES-GCM",iv:r},this.__sharedSecret,n);return Gr.textDecode(s)}}var On={...vn,...Sn,...Cn,Ecdh:class{publicKey="";privateKey="";sharedSecret;iv="";__curve;__algorithm;__ecdh;constructor(e="prime256v1",t="aes-256-gcm"){this.__curve=e,this.__algorithm=t,this.generateKeys()}generateKeys(){const e=c.default.createECDH("prime256v1");e.generateKeys(),this.publicKey=e.getPublicKey("base64"),this.privateKey=e.getPrivateKey("base64"),this.__ecdh=e}setPrivateKey(e){return!!e&&(!!this.__ecdh&&(this.__ecdh.setPrivateKey(e,"base64"),this.publicKey=this.__ecdh.getPublicKey("base64"),!0))}setSharedSecret(e){return!!e&&(this.sharedSecret=e,!0)}deriveSharedSecret(e,t){return!!e&&(this.sharedSecret=this.__ecdh.computeSecret(e,"base64").toString("base64"),this.iv=t||"",!0)}encode(e,t){if(!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Gr.base64ToBytes(r),s=c.default.createCipheriv("aes-256-gcm",Gr.base64ToBytes(this.sharedSecret),n),o=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),i=s.getAuthTag();return Buffer.concat([new Uint8Array(o),new Uint8Array(i)]).toString("base64")}encodeiv(e,t){if(!this.sharedSecret)return"";const r=t||this.iv,n=r?Gr.base64ToBytes(r):Gr.getRandomBytes(12),s=c.default.createCipheriv("aes-256-gcm",Gr.base64ToBytes(this.sharedSecret),n),o=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),i=s.getAuthTag();return Buffer.concat([new Uint8Array(o),new Uint8Array(i),n]).toString("base64")}decode(e,t){if(!e||!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=c.default.createDecipheriv("aes-256-gcm",Gr.base64ToBytes(this.sharedSecret),Gr.base64ToBytes(r)),s=Gr.base64ToBytes(e),o=s.slice(s.length-16);n.setAuthTag(o);const i=s.slice(0,s.length-16);return Buffer.concat([new Uint8Array(n.update(i)),new Uint8Array(n.final())]).toString("utf-8")}decodeiv(e){if(!e||!this.sharedSecret)return"";const t=Gr.base64ToBytes(e);if(t.length<28)return"";const r=t.slice(t.length-12),n=t.slice(t.length-28,t.length-12),s=c.default.createDecipheriv("aes-256-gcm",Gr.base64ToBytes(this.sharedSecret),r);s.setAuthTag(n);const o=t.slice(0,t.length-28);return Buffer.concat([new Uint8Array(s.update(o)),new Uint8Array(s.final())]).toString("utf-8")}},EcdhWeb:class extends En{constructor(e="P-256",t="raw"){super(e,t),this.__subtle=c.default.webcrypto.subtle}},Socks5:class{upstreamProxy;server=null;clientSockets=new Set;allowedDomains;connectionPool;systemProxy=null;useSystemProxy=!1;__debug=!1;__uuid;__port=0;__event;__pipeline;constructor(e,t=["*"],r=!1){this.__event=new y,this.upstreamProxy=e,this.allowedDomains=new Set(t),this.__debug=r,this.__uuid=g(),this.connectionPool=new kn,this.__pipeline=new Ee(1)}get id(){return this.__uuid}get port(){return this.__port}validateProxyConfig(e=this.upstreamProxy){const{ipaddress:t,port:r,userId:n,password:s}=e||{};return t&&"string"==typeof t?r&&"number"==typeof r?n&&"string"==typeof n?s&&"string"==typeof s?"":"无效的上游代理密码":"无效的上游代理用户名":"无效的上游代理端口":"无效的上游代理 IP 地址"}async start(e=8838){if(this.validateProxyConfig())return 0;if(this.server)return this.__debug&&console.info("[socks] server is already running"),this.__port;const t=await this.findAvailablePort(e);return t?(this.__port=t,this.server=l.default.createServer((e=>this.handleSocksConnection(e))),this.server.listen(t,(()=>{this.__debug&&console.info(`[socks] server is running on port ${t}`)})),this.server.on("error",(e=>{console.error("[socks] server error:",e),this.close()})),t):t}setUpstreamProxy(e){return!!e&&(!this.validateProxyConfig(e)&&(this.upstreamProxy=e,!0))}setSystemProxy(e,t){this.useSystemProxy=e,e&&t&&t.ipaddress&&t.port&&(this.systemProxy=t)}setAllowedDomains(e=[]){this.allowedDomains=new Set(e)}async findAvailablePort(e,t=200){let r=e,n=0;for(;n<t;)try{return await new Promise(((e,t)=>{const n=l.default.createServer();n.unref(),n.on("error",t),n.listen(r,(()=>{n.close((()=>e()))}))})),r}catch{n++,r++}return this.__debug&&console.warn("[socks] findAvailablePort failed"),0}async handleSocksConnection(e){this.__pipeline.push((()=>this._handleSocksConnection(e)))}async _handleSocksConnection(e){if(!e)return;this.clientSockets.add(e),e.on("close",(()=>{this.clientSockets.delete(e),e?.destroy()}));let t="";try{this.connectionPool.clean(100,(e=>e?.destroy())),await this.performHandshake(e);const r=await this.parseClientRequest(e);t=`${r.addr}:${r.port}`;const n=`${e.localAddress}:${e.localPort}`;if(this.isAllowedDomain(r.addr)){const s=await this.connectToUpstreamProxy(r);this.__debug&&console.info("[socks] handle connection upstream",t,n),this.setupDataForwarding(e,s)}else if(this.useSystemProxy&&this.systemProxy){const s=await this.connectToSystemProxy(r);this.__debug&&console.info("[socks] handle connection system",t,n),this.setupDataForwarding(e,s)}else{this.__debug&&console.info("[socks] handle connection local",t,n);const s=await this.connectToLocal(r);this.setupDataForwarding(e,s)}}catch(r){this.__debug&&console.error("[socks] connection failed:",r),e.end(new Uint8Array([5,1])),this._emit("error",r,t)}}performHandshake(e){return new Promise(((t,r)=>{e.once("data",(n=>{if(5!==n[0])return r(new Error("Unsupported SOCKS version"));e.write(new Uint8Array([5,0])),t()}))}))}parseClientRequest(e){return new Promise(((t,r)=>{e.once("data",(e=>{let n,s;if(1!==e[1])return r(new Error("Unsupported command"));if(1===e[3])n=e.slice(4,8).join("."),s=e.readUInt16BE(8);else{if(3!==e[3])return r(new Error("Unsupported address type"));{const t=e[4];n=e.slice(5,5+t).toString(),s=e.readUInt16BE(5+t)}}t({addr:n,port:s})}))}))}getPoolConnection(e){if(!e)return;const t=this.connectionPool.get(e);return t&&!t.destroyed?t:void 0}async connectToUpstreamProxy(e){const t=`${e.addr}:${e.port}`,r=this.getPoolConnection(t);if(r)return r;const n={proxy:{...this.upstreamProxy,type:5},command:"connect",destination:{host:e.addr,port:e.port}};try{const{socket:e}=await s.SocksClient.createConnection(n);return this.connectionPool.set(t,e),e.on("close",(()=>{this.__debug&&console.info("[socks] connection pool delete",t),this.connectionPool.delete(t)})),e}catch(e){throw new Error("Failed to connect to upstream proxy: "+e)}}async connectToSystemProxy(e){const t=`${e.addr}:${e.port}`,r=this.getPoolConnection(t);if(r)return r;const n={proxy:{...this.systemProxy,type:5},command:"connect",destination:{host:e.addr,port:e.port}};try{const{socket:e}=await s.SocksClient.createConnection(n);return this.connectionPool.set(t,e),e.on("close",(()=>{this.__debug&&console.info("[socks] connection pool delete",t),this.connectionPool.delete(t)})),e}catch(e){throw new Error("Failed to connect to system proxy: "+e)}}async connectToLocal(e){const t=`${e.addr}:${e.port}`,r=this.getPoolConnection(t);return r||new Promise(((r,n)=>{const s=l.default.createConnection(e.port,e.addr,(()=>{r(s)}));this.connectionPool.set(t,s),s.on("close",(()=>{this.__debug&&console.info("[socks] connection pool delete",t),this.connectionPool.delete(t)})),s.on("error",(e=>{n(e)}))}))}setupDataForwarding(e,t){e.write(new Uint8Array([5,0,0,1,0,0,0,0,0,0])),e.pipe(t),t.pipe(e);const r=`${t.localAddress}:${t.localPort}`;this.__debug&&console.info(`[socks] setupDataForwarding ${r}`),e.on("close",(()=>{this.__debug&&console.info("[socks] client socket close",r),t.end()})),t.on("close",(()=>{this.__debug&&console.info("[socks] target socket close",r),e.end()})),e.on("error",(e=>{this.__debug&&console.error("[socks] client socket error:",e),t.end()})),t.on("error",(t=>{this.__debug&&console.error("[socks] target socket error:",t),e.end()}))}isAllowedDomain(e){for(const t of this.allowedDomains){if("*"===t)return!0;if(or.shExpMatch(e,t))return!0}return!1}close(){try{if(!this.server)return;this.__debug&&console.info("[socks] closing SOCKS5 proxy server..."),this.server.close((e=>{e&&this.__debug&&console.error("[socks] closing the server failed:",e)})),this.clientSockets.forEach((e=>e?.destroy())),this.clientSockets.clear(),this.connectionPool.values.forEach((e=>e?.value?.destroy())),this.connectionPool.clear(),this.server=null,this.__port=0}catch(e){this.__debug&&console.error("[socks] close errot:",e)}}showPools(){this.connectionPool.values.forEach((e=>{const t=e?.value,r=e?.key;r&&t&&console.info(`[socks] ${r} ${t.localAddress}:${t.localPort}`)}))}on(e,t){e&&t&&(this.__event.off(e,t),this.__event.on(e,t))}off(e,t){e&&this.__event.off(e,t)}_emit(e,...t){try{if(!e)return;this.__event.emit(e,...t)}catch(e){}}}},Pn={Ecdh:En};const jn={gbk:u,math:Te,list:zt,string:Lt,time:k,obj:Dt,rule:Or,regex:Pr,...Gr,...Br,...Ut,Event:y},qn=Ut.singleton,Ln={...Gr,...Br,...Pe,qs:or,singleton:qn},Tn={mini:Yt,css:Ir,qs:or,icon:an,html:Wr},Fn={cdn:Zr,watermark:fn},Bn={Store:un,storeRef:hn,Persist:ln,persistConfig:cn},Rn=gn,Mn=mn,Dn=sn,Un={fetch:on,Http:en,css:Ir,qs:or,icon:an,html:Wr,rsa:_n,...Pn},In={...On};var zn={gbk:u,time:k,hook:Pe,math:Te,util:Ut,list:zt,string:Lt,obj:Dt,crypto:Br,mini:Yt,qs:or,css:Ir,cdn:Zr,html:Wr,icon:an,rule:Or,regex:Pr,convert:Gr,KValue:xn,Mapping:kn,Event:y,Http:en,Store:un,storeRef:hn,Persist:ln,persistConfig:cn,watermark:fn,joker:gn,tracker:mn,logger:sn,fetch:on,rsa:_n};e.KValue=xn,e.Mapping=kn,e.dCdn=Fn,e.dHook=Ln,e.dJoker=Rn,e.dLogger=Dn,e.dMini=Tn,e.dNode=In,e.dStore=Bn,e.dTracker=Mn,e.dUtil=jn,e.dWeb=Un,e.default=zn,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("zlib"),require("node:crypto"),require("net"),require("socks"),require("child_process")):"function"==typeof define&&define.amd?define(["exports","zlib","node:crypto","net","socks","child_process"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan={},e.zlib,e.crypto$1,e.net,e.socks,e.child_process)}(this,(function(e,t,r,n,s,i){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=o(t),c=o(r),l=o(n);var u={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const h="0123456789",f="abcdefghijklmnopqrstuvwxyz",d="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var p={keyNumber:h,keyLower:f,keyUpper:d,keyChars:h+f+d};const g=(e=0,t=0)=>{const r=p.keyChars.split(""),n=[];let s;if(t=t||r.length,e)for(s=0;s<e;s++)n[s]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",s=0;s<36;s++)n[s]||(e=0|16*Math.random(),n[s]=r[19==s?3&e|8:e])}return n.join("")};class y{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=g()}clear(){return this.__map.clear(),this}on(e,t,r=""){if(!e||!t)return this;let n=this.__map.get(e);return n||(n=new Set,this.__map.set(e,n)),n.add(t),r&&this.__tagList.push({name:e,listener:t,tag:r}),this}emit(e,...t){if(!e)return this;const r=this.__map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;this.__tagList=this.__tagList.filter((r=>r.name!==e||r.listener!==t));const r=this.__map.get(e);return r?(r.delete(t),r.size<=0&&this.__map.delete(e),this):this}remove(e){return e?(this.__tagList=this.__tagList.filter((t=>t.name!==e)),this.__map.delete(e),this):this}removeByTag(e){if(!e)return this;return this.__tagList.filter((t=>t.tag===e)).forEach((e=>{this.off(e.name,e.listener)})),this.__tagList=this.__tagList.filter((t=>t.tag!==e)),this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this.__map.has(e)}}class m{_loopTimer;_event=new y;started=!1;interval=0;constructor(e=0){this.interval=e||500}start(){return this.started||(this.stop(),this._loopTimer=setInterval((()=>{this._handleLoop()}),this.interval),this.started=!0),this}stop(){return this._loopTimer?(clearInterval(this._loopTimer),this._loopTimer=0,this.started=!1,this):this}restart(){return this.stop(),this.start(),this}on(e){return this._event.on("frame",e),this}off(e){return e?(this._event.off("frame",e),this):this}_handleLoop(){this._event.emit("frame")}}var w={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class b{date;timestamp=0;yyyy=0;yy="";M=0;MM="";d=0;dd="";h=0;hh="";m=0;mm="";s=0;ss="";S=0;SS="";SSS="";constructor(e){if(!e)return;const t="string"==typeof e||"number"==typeof e?new Date(e):e;t&&(this.date=t,this.timestamp=t.getTime(),this.toDate())}toDate(){return this.date?(this.yyyy=this.date.getFullYear(),this.yy=`${this.yyyy}`.substr(2),this.M=this.date.getMonth()+1,this.MM=(this.M<10?"0":"")+this.M,this.d=this.date.getDate(),this.dd=(this.d<10?"0":"")+this.d,this.h=this.date.getHours(),this.hh=(this.h<10?"0":"")+this.h,this.m=this.date.getMinutes(),this.mm=(this.m<10?"0":"")+this.m,this.s=this.date.getSeconds(),this.ss=(this.s<10?"0":"")+this.s,this.S=this.date.getMilliseconds(),this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this):this}toCountdown(e=""){const t={countdown:0,timestamp:0,seconds:0,d:0,dd:"",h:0,hh:"",m:0,mm:"",s:0,ss:"",S:0,SS:"",SSS:"",desc:""};if(!this.timestamp)return t;t.timestamp=this.timestamp,t.countdown=Math.max(t.timestamp-Date.now(),0),t.seconds=Math.floor(t.countdown/w.oneSecond);let r=t.countdown;t.d=Math.floor(r/w.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=w.oneDay,t.h=Math.floor(r/w.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=w.oneHour,t.m=Math.floor(r/w.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=w.oneMinute,t.s=Math.floor(r/w.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=w.oneSecond,t.S=r,t.SS=(t.S<10?"0":"")+t.S,t.SSS=t.S.toString().padStart(3,"0");let n=e;return n||(n=t.countdown>w.oneHour?"hh:mm:ss":t.countdown>w.oneMinute?"mm:ss":"ss"),t.desc=n.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>t[e])),t}add(e=0){return e?(this.timestamp=this.timestamp+e,this.date=new Date(this.timestamp),this.toDate(),this):this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}static get timezoneOffset(){return(new Date).getTimezoneOffset()/60}static getLocalTime(e=0){const t=new Date,r=t.getTime(),n=6e4*t.getTimezoneOffset();return new Date(r+n+36e5*e)}}const _=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?v(r).format(t):""},v=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new b(t||0)};function x({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:i=0}){const o=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${i}`;return new Date(_(Date.now(),o)).getTime()}var k={...w,now:function(){return v(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:x,todayZero:()=>x({}),format:_,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return v(r).toCountdown(t)},dtime:v,loopFrame:(e=500)=>new m(e),getTimezoneOffset:()=>b.timezoneOffset,getLocalTime:b.getLocalTime};const S="object"==typeof global&&null!==global&&global.Object===Object&&global,A="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,$="object"==typeof self&&null!==self&&self.Object===Object&&self,C=A||S||$||Function("return this")(),E=C.Symbol,{toString:O,hasOwnProperty:j,propertyIsEnumerable:q}=Object.prototype,P=E?E.toStringTag:void 0;function T(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":P&&P in Object(e)?function(e){const t=j.call(e,P),r=e[P];let n=!1;try{e[P]=void 0,n=!0}catch(e){}const s=O.call(e);return n&&(t?e[P]=r:delete e[P]),s}(e):O.call(e)}var L={getTag:T,getType:function(e){return(T(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:O,hasOwnProperty:j,propertyIsEnumerable:q};const F="object"==typeof e&&null!==e&&!e.nodeType&&e,B=F&&"object"==typeof module&&null!==module&&!module.nodeType&&module,R=B&&B.exports===F&&S.process,M=(()=>{try{const e=B&&B.require&&B.require("util").types;return e||R&&R.binding&&R.binding("util")}catch(e){}})();var D="[object Function]",U="[object GeneratorFunction]",I="[object AsyncFunction]",z=9007199254740991;const K=/^(?:0|[1-9]\d*)$/,N=C?.Buffer?.isBuffer,H=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,V=M&&M.isTypedArray;function W(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function Z(e){return null!=e&&"object"==typeof e}const J=Array.isArray;function G(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=z}(e.length)&&!X(e)}function Y(e){return Z(e)&&G(e)}function X(e){var t=W(e)?L.getTag(e):"";return t===D||t===U||t===I}function Q(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function ee(e){return Y(e)&&L.hasOwnProperty.call(e,"callee")&&(!L.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==L.toString.call(e))}const te="undefined"!=typeof window&&void 0!==window.document,re="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ne=V?e=>V(e):e=>Z(e)&&H.test(L.getTag(e)),se="function"==typeof N?N:()=>!1;var ie={is:function(e,t){return L.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===L.getTag(e)},isString:function(e){return"string"==typeof e||!J(e)&&Z(e)&&"[object String]"==L.getTag(e)},isObject:W,isObjectLike:Z,isPlainObject:function(e){if(!Z(e)||"[object Object]"!=L.getTag(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},isSymbol:function(e){return"symbol"==typeof e||Z(e)&&"[object Symbol]"===L.getTag(e)},isFunction:X,isArray:J,isArrayLikeObject:Y,isIndex:function(e,t){return!!(t=null==t?z:t)&&("number"==typeof e||K.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:G,isPrototype:Q,isArguments:ee,isPromise:function(e){return"[object Promise]"===(W(e)?L.getTag(e):"")},isBrowser:te,isNode:re,isBlobOrBuffer:e=>e instanceof Blob||e instanceof ArrayBuffer,isUint8Array:e=>e instanceof Uint8Array,isArrayBuffer:e=>e instanceof ArrayBuffer,isEmpty:e=>{if(null==e)return!0;if(G(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||se(e)||ne(e)||ee(e)))return!e.length;const t=L.getTag(e);if("[object Map]"===t||"[object Set]"===t)return!e.size;if(Q(e))return!Object.keys(e).length;for(const t in e)if(L.hasOwnProperty.call(e,t))return!1;return!0}};const oe=NaN,ae=/^\s+|\s+$/g,ce=/^[-+]0x[0-9a-f]+$/i,le=/^0b[01]+$/i,ue=/^0o[0-7]+$/i,he=parseInt,fe=1/0,de=17976931348623157e292;function pe(e){if("number"==typeof e)return e;if(ie.isSymbol(e))return oe;if(ie.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=ie.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(ae,"");const t=le.test(e);return t||ue.test(e)?he(e.slice(2),t?2:8):ce.test(e)?oe:+e}function ge(e){return e?(e=pe(e))===fe||e===-fe?(e<0?-1:1)*de:e==e?e:0:0===e?e:0}var ye={toNumber:pe,toFinite:ge,toInteger:function(e){var t=ge(e),r=t%1;return t==t?r?t-r:t:0}};const me="Expected a function",we=Math.max,be=Math.min;function _e(e,t=300,r={}){let n,s,i,o,a,c,l=0,u=!1,h=!1,f=!0;if("function"!=typeof e)throw new TypeError(me);function d(t){const r=n,i=s;return n=s=void 0,l=t,o=e.apply(i,r),o}function p(e){const r=e-c;return void 0===c||r>=t||r<0||h&&e-l>=i}function g(){const e=Date.now();if(p(e))return y(e);a=setTimeout(g,function(e){const r=t-(e-c);return h?be(r,i-(e-l)):r}(e))}function y(e){return a=void 0,f&&n?d(e):(n=s=void 0,o)}function m(...e){const r=Date.now(),i=p(r);if(n=e,s=this,c=r,i){if(void 0===a)return function(e){return l=e,a=setTimeout(g,t),u?d(e):o}(c);if(h)return a=setTimeout(g,t),d(c)}return void 0===a&&(a=setTimeout(g,t)),o}return t=ye.toNumber(t)||0,ie.isObject(r)&&(u=!!r.leading,h="maxWait"in r,i=h?we(ye.toNumber(r.maxWait)||0,t):i,f="trailing"in r?!!r.trailing:f),m.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},m.flush=function(){return void 0===a?o:y(Date.now())},m.pending=function(){return void 0!==a},m}class ve{__list=[];constructor(e){this.push(e)}push(e){return e&&this.__list.push(e),this}clear(){return this.__list=[],this}_exec(e,t){let r;if(ie.isFunction(e))r=e(t);else{if(ie.isPromise(e))return e.then((e=>({...t,...e})));r=e}return ie.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this.__list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}async function xe(e,t){return e.then((e=>[null,e])).catch((e=>(t&&Object.assign(e,t),[e,void 0])))}const ke=e=>{try{let t;return t=ie.isFunction(e)?e():e,xe(Promise.resolve(t))}catch(e){return Promise.resolve([e,void 0])}};var Se={to:xe,go:e=>ke(e),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:ke};class Ae{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var $e={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}static get I(){return this.Instance}}return e},getset:function(e){const t=new Ae;return void 0!==e&&t.set(e),t}};class Ce{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return Se.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class Ee{__list=[];__count=0;__max=1;constructor(e=1){this.__count=0,this.__max=e>0?e:1,this.clear()}push(e,t){const r=new Ce(e,t);return this.__list.push(r),this._step(),this}clear(){return this.__list=[],this.__count=0,this}_step(){if(this.__list.length<=0)return;if(this.__count>=this.__max)return;const e=this.__list.shift();e?(this.__count+=1,e?.run().finally((()=>{try{this.__count>0&&(this.__count-=1),this._step()}catch(e){console.error("[ddan] pipepine step finally",e)}}))):this._step()}async whenAll(){for(;;){if(this.__count<=0)break;await Se.delay(100),this._step()}return this.clear()}}class Oe extends($e.singleton()){__lockedMap=new Map;pipeline=new Ee;constructor(){super()}lock(e,t){if(!e||!t)return;const r=Se.safeRun(t);return this.__lockedMap.set(e,r),r}unlock(e){e&&this.__lockedMap.has(e)&&this.__lockedMap.delete(e)}async exec(e,t){if(!e||!t)return Se.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return Se.safeRun(e);const s=await n;return this.unlock(t),s}}var je={...Se,sleep:Se.delay,run:async function(e,t=0){if(t<=0)return Se.safeRun(e);const r=t>0?Date.now():0,n=await Se.safeRun(e),s=Date.now()-r;return s<t&&await Se.delay(t-s),n},exec:(e,t="")=>Oe.I.exec(e,t),debounce:_e,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return ie.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),_e(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new ve(e),mutex:function(e){var t=null;return async function(...r){if((t=this||t||{}).__ddMutex)return!1;t.__ddMutex=!0;try{e&&await Promise.resolve(e.apply(this,r))}catch(e){console.log(e)}finally{t.__ddMutex=!1}}},polling:async function(e={}){const{func:t,interval:r=100,times:n=1e3}=e;let s=n;const i=r<1?100:r;do{if(!t)break;const[e,r]=await Se.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await Se.delay(i)}while(-1===n||s>0)},pipe:(e,t)=>Oe.I.pipeline.push(e,t),pipeline:(e=1)=>new Ee(e),safeTask:(e,t)=>new Ce(e,t)};function qe(e){return Math.floor(Math.random()*e)}function Pe(e,t=10){return+parseFloat(Number(e).toExponential(t))}const Te=180/Math.PI;var Le={random:qe,randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randoms:function(e,t=1,r=!1){const n=[];for(;;){if(n.length>=t)break;if(!r&&n.length>=e)break;const s=qe(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:Pe,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=Pe(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*Te},degree2radian:function(e){return e/Te},formatMemory:function(e){let t=e;const r={g:0,m:0,kb:0,b:0,desc:""};return t>=1<<30&&(r.g=Math.floor(t/(1<<30)),t%=1<<30),t>=1<<20&&(r.m=Math.floor(t/(1<<20)),t%=1<<20),t>=1024&&(r.kb=Math.floor(t/1024),t%=1024),r.b=t,r.desc=e>=1<<30?(e/(1<<30)).toFixed(2)+"G":e>=1<<20?(e/(1<<20)).toFixed(2)+"M":e>=1024?(e/1024).toFixed(2)+"KB":e+"B",r}};function Fe(e){return e!=e}function Be(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}(t,(function(t){return e[t]}))}var Re,Me,De=(Re=Object.keys,Me=Object,function(e){return Re(Me(e))}),Ue=Math.max;function Ie(e,t){var r=ie.isArray(e)||ie.isArguments(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,s=!!n;for(var i in e)!t&&!L.hasOwnProperty.call(e,i)||s&&("length"==i||ie.isIndex(i,n))||r.push(i);return r}function ze(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const Ke=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function Ne(e){return Ke.test(e)}const He="\\ud800-\\udfff",Ve=`[${He}]`,We="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",Ze="\\ud83c[\\udffb-\\udfff]",Je=`[^${He}]`,Ge="(?:\\ud83c[\\udde6-\\uddff]){2}",Ye="[\\ud800-\\udbff][\\udc00-\\udfff]",Xe=`${`(?:${We}|${Ze})`}?`,Qe="[\\ufe0e\\ufe0f]?",et=Qe+Xe+`(?:\\u200d(?:${[Je,Ge,Ye].join("|")})${Qe+Xe})*`,tt=`(?:${[`${Je}${We}?`,We,Ge,Ye,Ve].join("|")})`,rt=RegExp(`${Ze}(?=${Ze})|${tt+et}`,"g");function nt(e){return Ne(e)?function(e){return e.match(rt)||[]}(e):function(e){return e.split("")}(e)}function st(e){return t=>{if(!t)return"";const r=Ne(t)?nt(t):void 0,n=r?r[0]:t[0],s=r?ze(r,1).join(""):t.slice(1);return n[e]()+s}}const it="\\ud800-\\udfff",ot="\\u2700-\\u27bf",at="a-z\\xdf-\\xf6\\xf8-\\xff",ct="A-Z\\xc0-\\xd6\\xd8-\\xde",lt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ut="['’]",ht=`[${lt}]`,ft=`[${ot}]`,dt=`[${at}]`,pt=`[^${it}${lt+"\\d"+ot+at+ct}]`,gt="(?:\\ud83c[\\udde6-\\uddff]){2}",yt="[\\ud800-\\udbff][\\udc00-\\udfff]",mt=`[${ct}]`,wt=`(?:${dt}|${pt})`,bt=`(?:${mt}|${pt})`,_t=`(?:${ut}(?:d|ll|m|re|s|t|ve))?`,vt=`(?:${ut}(?:D|LL|M|RE|S|T|VE))?`,xt="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",kt="[\\ufe0e\\ufe0f]?",St=kt+xt+`(?:\\u200d(?:${[`[^${it}]`,gt,yt].join("|")})${kt+xt})*`,At=`(?:${[ft,gt,yt].join("|")})${St}`,$t=RegExp([`${mt}?${dt}+${_t}(?=${[ht,mt,"$"].join("|")})`,`${bt}+${vt}(?=${[ht,mt+wt,"$"].join("|")})`,`${mt}?${wt}+${_t}`,`${mt}+${vt}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",At].join("|"),"g");const Ct=RegExp.prototype.test.bind(/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/),Et=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ot(e,t){if(void 0===t){const t=Ct(e)?function(e){return e.match($t)}(e):function(e){return e.match(Et)}(e);return t||[]}return e.match(t)||[]}function jt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:jt(e)))}`;if(ie.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const qt=st("toUpperCase"),Pt=st("toLowerCase");var Tt={toString:jt,startCase:e=>Ot(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+qt(t)),""),snakeCase:e=>Ot(jt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ot(jt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ot(jt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?qt(t):t))),""),upperCase:e=>Ot(jt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:qt,lowerCase:e=>Ot(jt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Pt,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r}};const Lt=e=>{if(!e)return e;if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};for(const r in e)e.hasOwnProperty(r)&&(t[r]=Lt(e[r]));return t};const Ft=(e,t,r={})=>{const n=e||{},{ignoreUndefined:s=!0,cover:i=!1}=r;if(!t)return n;for(const o in t){if(!t.hasOwnProperty(o))continue;const a=t[o];"object"!=typeof a||"object"!=typeof e[o]||i?s&&void 0===a||r.ignoreNull&&null===a||r.ignoreZero&&0===a||r.ignoreEmptyArray&&Array.isArray(a)&&a.length<=0||r.ignoreEmptyString&&"string"==typeof a&&""===a.trim()||(n[o]=a):n[o]=Bt(e[o],a,r)}return n},Bt=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?Ft(e,t,r):Ft({...e},t,r),n},Rt=(e,t,r={})=>Ft({...e},t,{cover:!0,...r}),Mt=(e,t,r,n,s=!1)=>{if(!e||!t||!r)return;let i=e[t];null!==i&&"object"==typeof i&&s&&Object.keys(i).forEach((e=>{Mt(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&Mt(e,t,r,n,s)},get:()=>i})};var Dt={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!0}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?i&&e.startsWith("_")?e:Tt.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const c=r[e];t.ignoreNull&&null===c||(t.ignoreZero&&0===c||t.ignoreEmptyArray&&Array.isArray(c)&&c.length<=0||t.ignoreEmptyString&&"string"==typeof c&&""===c.trim()||(o[a]=c))}return o},clone:Lt,merge:Bt,isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=Tt.parseValue(n,{number:t,boolean:r});else e[n]=Tt.parseValue(s,{number:t,boolean:r});return e},cloneClass:function(e){return e?"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)):e},combine:Rt,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:i=!0,ignoreEmptyArray:o=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=Rt(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:Mt,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};var Ut={...ie,...L,...Dt,...$e,includes:function(e,t,r,n){e=ie.isArrayLike(e)?e:function(e){return e?Be(e,function(e){return ie.isArrayLike(e)?Ie(e):function(e){if(!ie.isPrototype(e))return De(e);var t=[];for(var r in Object(e))L.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?ye.toInteger(r):0;var s=e.length;return r<0&&(r=Ue(s+r,0)),ie.isString(e)?r<=s&&e.indexOf(t,r)>-1:!!s&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var s=e.length,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}(e,Fe,r);for(var n=r-1,s=e.length;++n<s;)if(e[n]===t)return n;return-1}(e,t,r)>-1},forof:(e,t)=>{if(!e)return;let r;if(ie.isObject(e)&&(r=ie.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var It={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var zt={...It,stepAction:function(e,t,r=100){if(!ie.isFunction(t))return;if(!ie.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,i=e.slice(n,s);t&&t(i),n=s}},skip:function(e,t){if(!ie.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!ie.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const s=t+n;return e.slice(n,e.length<s?e.length:s)||[]},distinct:function(e){return!ie.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return Le.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!ie.isObject(e))return;const s=e[t];(ie.isString(s)&&""!==s||ie.isNumber(s))&&(n[s]=e[r])})),n):n}};const Kt="[object Object]",Nt="[object Array]",Ht=e=>Object.prototype.toString.call(e),Vt=(e,t,r=!1)=>{if(e===t)return;const n=Ht(e);if(n===Ht(t))if(n===Nt&&e.length>=t.length)for(let r=0;r<t.length;r++)Vt(e[r],t[r]);else if(n===Kt&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?Vt(e[n],t[n]):e[n]=null},Wt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=Ht(e),o=Ht(t);if(i===Nt&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)Wt(e[s],t[s],r,`${n}[${s}]`);else if(i===Kt&&o===i&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let i of s){const s=e[i],o=t[i],a=Ht(s),c=Ht(o);if(s!==o)if(a===Nt&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)Wt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===Kt&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)Wt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class Zt{list=[];constructor(){this.invoke=this.invoke.bind(this)}use(e){this.list=this.list.concat(e)}invoke(e){return this.list.reduce(((e,t)=>e.then((e=>t(e)))),Promise.resolve(e)).catch((e=>"REFETCH"===e.sig?Promise.resolve(e.result):Promise.reject(e)))}}class Jt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new Zt,response:new Zt};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:i}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=i}static blockId="blockid";static requestLock={};lockR(e,t){Jt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Jt.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}_fetch(e,t){let r=e;return t&&this.handleEncrypt&&(r=this.handleEncrypt(e)),new Promise(((e,n)=>{this.handleRequest({...r,success:r=>{let n=r;t&&this.handleDecrypt&&(n=this.handleDecrypt(r)),e(n)},fail:e=>{n(e)}})}))}async request(e,t){const r=Dt.copy(this.reqConfig[e]),{config:n,...s}=await this.interceptors.request.invoke({url:r.url,data:t||{},header:{"content-type":"application/json"},method:r.method?r.method:"POST",responseType:"text",config:r});let i;try{if("block"===n.model)this.lockR(Jt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await Jt.requestLock[Jt.blockId].request;else if(Jt.requestLock[Jt.blockId]&&Jt.requestLock[Jt.blockId].lock&&await Jt.requestLock[Jt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Jt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await Jt.requestLock[e].request,this.unlockR(e)}else i=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:i,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const Gt=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var Yt={diff:function(e,t){const r={};return(e=>{if(Ht(e)===Kt)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,s=r.length;for(let e=0;e<s-1;e++){const t=r[e];Ht(n[t])!==Kt&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),Vt(e,t,!0),Wt(e,t,r,"",!0),r},promixify:Gt,run:(e,t={})=>e?je.run(Gt(e)(t)):je.run(e),formatList:(e,t,r)=>(e||[]).reduce(((e,n,s)=>({...e,[`${r}[${t+s}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e))),Http:Jt,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,i=n.split(".");for(let e=0;e<i.length-1;e++)s=s[i[e]];let o=i[i.length-1],a=r[n].handler||r[n],c=r[n].deep;Dt.observe(s,o,a,e,c)}))}};const Xt=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const c={};if("string"!=typeof e||0===e.length)return c;const l=/\+/g,u=n||1e3;let h=(e=e.split(t)).length;u>0&&h>u&&(h=u);for(let t=0;t<h;++t){let n,o,a,u,h=e[t].replace(l,"%20"),f=h.indexOf(r);f>=0?(n=h.substr(0,f),o=h.substr(f+1)):(n=h,o=""),a=i?decodeURIComponent(n):n,u=i?decodeURIComponent(o):o,L.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return Dt.parseValue(c,{number:o,boolean:a}),c},Qt=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},er=function(e,t=!0){return t?encodeURIComponent(e):e},tr=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},rr=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,nr=e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/),n=r?r[1]:"",s=t.lastIndexOf("/")+1,i=t.substring(s),o=i.lastIndexOf("."),a=i.substring(0,o)||"",c=o>=0?i.substring(o):"";return{route:t.substring(0,s)||"",page:n,name:i,withoutExtension:a,extname:c}},sr=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(rr);if(!r||r.length<4)return t;const n=r[3]||"",s=e.split("?");return t.url=s[0],t.origin=r[0],t.protocol=`${r[1]}:`,t.host=`${r[2]}${n?":"+n:""}`,t.port=n,t.query=s.length>1?s[1]:"",t},ir=(e,t)=>{if(e===t)return!0;if(!e)return!1;if(!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var or={parse:Xt,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:i=!1,cleanNull:o=!1,cleanWhitespace:a=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const c=er(Qt(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+er(Qt(e),s)})).join(t):tr(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+er(Qt(l),s)})).filter(Boolean).join(t):n?er(Qt(n),s)+r+er(Qt(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=sr(e),{origin:r="",url:n="",query:s=""}=t,i=nr(n),o=Xt(s,{multiple:!0,uri:!1});return{...t,...i,pathname:n.substring(n.indexOf(r||"")+r.length),params:o}},parsePath:nr,parseHost:sr,join:(...e)=>{let t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length<=0||(/^(\w+):\/\//.test(r)?t=[r]:t.push(r))})),t.join("/")},shExpMatch:ir,isLocalhost:e=>!!e&&!!(ir(e,"127.0.0.1")||ir(e,"localhost")||ir(e,"192.168.*.*"))};const ar=/%[sdj%]/g;let cr=()=>{};function lr(e){if(!e||!e.length)return null;const t={};return e.forEach((e=>{const r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function ur(e,...t){let r=0;const n=t.length;if("function"==typeof e)return e.apply(null,t);if("string"==typeof e){return e.replace(ar,(e=>{if("%%"===e)return"%";if(r>=n)return e;switch(e){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(e){return"[Circular]"}break;default:return e}}))}return e}function hr(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}(t)||"string"!=typeof e||e))}function fr(e,t,r){let n=0;const s=e.length;!function i(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<s?t(e[a],i):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(cr=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class dr extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function pr(e,t,r,n,s){if(t.first){const t=new Promise(((t,i)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);fr(o,r,(e=>(n(e),e.length?i(new dr(e,lr(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.length;let c=0;const l=[],u=new Promise(((t,u)=>{const h=e=>{if(l.push.apply(l,e),c++,c===a)return n(l),l.length?u(new dr(l,lr(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?fr(n,r,h):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,h)}))}));return u.catch((e=>e)),u}function gr(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function yr(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e}const mr=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!hr(t,i||e.type)||n.push(ur(s.messages.required,e.fullField))};let wr;const br=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,_r=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,vr={integer:e=>vr.number(e)&&parseInt(e,10)===e,float:e=>vr.number(e)&&!vr.integer(e),array:e=>Array.isArray(e),regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:e=>"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime()),number:e=>!isNaN(e)&&"number"==typeof e,object:e=>"object"==typeof e&&!vr.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(br),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(wr)return wr;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),c.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const l=c.v4().source,u=c.v6().source;return wr=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${l}|${u}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)`,"i"),wr})()),hex:e=>"string"==typeof e&&!!e.match(_r)},xr="enum";var kr={required:mr,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(ur(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void mr(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?vr[i](t)||n.push(ur(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(ur(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let l=t,u="";const h="number"==typeof t,f="string"==typeof t,d=Array.isArray(t);if(h?u="number":f?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),f&&(l=t.replace(c,"_").length),i?l!==e.len&&n.push(ur(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(ur(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(ur(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(ur(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[xr]=Array.isArray(e[xr])?e[xr]:[],-1===e[xr].indexOf(t)&&n.push(ur(s.messages[xr],e.fullField,e[xr].join(", ")))},pattern:(e,t,r,n,s)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push(ur(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(ur(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Sr=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(hr(t,i)&&!e.required)return r();kr.required(e,t,n,o,s,i),hr(t,i)||kr.type(e,t,n,o,s)}r(o)};var Ar={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(hr(t,"string")&&!e.required)return r();kr.required(e,t,n,i,s,"string"),hr(t,"string")||(kr.type(e,t,n,i,s),kr.range(e,t,n,i,s),kr.pattern(e,t,n,i,s),!0===e.whitespace&&kr.whitespace(e,t,n,i,s))}r(i)},method:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(hr(t)&&!e.required)return r();kr.required(e,t,n,i,s),void 0!==t&&kr.type(e,t,n,i,s)}r(i)},number:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),hr(t)&&!e.required)return r();kr.required(e,t,n,i,s),void 0!==t&&(kr.type(e,t,n,i,s),kr.range(e,t,n,i,s))}r(i)},boolean:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(hr(t)&&!e.required)return r();kr.required(e,t,n,i,s),void 0!==t&&kr.type(e,t,n,i,s)}r(i)},regexp:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(hr(t)&&!e.required)return r();kr.required(e,t,n,i,s),hr(t)||kr.type(e,t,n,i,s)}r(i)},integer:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(hr(t)&&!e.required)return r();kr.required(e,t,n,i,s),void 0!==t&&(kr.type(e,t,n,i,s),kr.range(e,t,n,i,s))}r(i)},float:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(hr(t)&&!e.required)return r();kr.required(e,t,n,i,s),void 0!==t&&(kr.type(e,t,n,i,s),kr.range(e,t,n,i,s))}r(i)},array:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();kr.required(e,t,n,i,s,"array"),null!=t&&(kr.type(e,t,n,i,s),kr.range(e,t,n,i,s))}r(i)},object:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(hr(t)&&!e.required)return r();kr.required(e,t,n,i,s),void 0!==t&&kr.type(e,t,n,i,s)}r(i)},enum:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(hr(t)&&!e.required)return r();kr.required(e,t,n,i,s),void 0!==t&&kr.enum(e,t,n,i,s)}r(i)},pattern:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(hr(t,"string")&&!e.required)return r();kr.required(e,t,n,i,s),hr(t,"string")||kr.pattern(e,t,n,i,s)}r(i)},date:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(hr(t,"date")&&!e.required)return r();if(kr.required(e,t,n,i,s),!hr(t,"date")){let r;r=t instanceof Date?t:new Date(t),kr.type(e,r,n,i,s),r&&kr.range(e,r.getTime(),n,i,s)}}r(i)},url:Sr,hex:Sr,email:Sr,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;kr.required(e,t,n,i,s,o),r(i)},any:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(hr(t)&&!e.required)return r();kr.required(e,t,n,i,s)}r(i)}};function $r(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone(){const e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}const Cr=$r();class Er{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Ar[e]=t};static warning=cr;static messages=Cr;static validators=Ar;rules={};_messages=Cr;constructor(e){this.define(e)}define(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((t=>{const r=e[t];this.rules[t]=Array.isArray(r)?r:[r]}))}messages(e){return e&&(this._messages=yr($r(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,i=r;if("function"==typeof s&&(i=s,s={}),!this.rules||0===Object.keys(this.rules).length)return i&&i(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Cr&&(e=$r()),yr(e,s.messages),s.messages=e}else s.messages=this.messages();const o={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let i=r;"function"==typeof i.transform&&(n===e&&(n={...n}),s=n[t]=i.transform(s)),i="function"==typeof i?{validator:i}:{...i},i.validator=this.getValidationMethod(i),i.validator&&(i.field=t,i.fullField=i.fullField||t,i.type=this.getType(i),o[t]=o[t]||[],o[t].push({rule:i,value:s,source:n,field:t}))}))}));const a={};return pr(o,s,((e,t)=>{const r=e.rule;let i,o=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function c(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function l(i=[]){let l=Array.isArray(i)?i:[i];!0===s.suppressWarning&&l.length&&Er.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(gr(r,n));if(s.first&&u.length)return a[r.field]=1,t(u);if(o){if(r.required&&!e.value)return void 0!==r.message?u=[].concat(r.message).map(gr(r,n)):s.error&&(u=[s.error(r,ur(s.messages.required,r.field))]),t(u);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(c.bind(null,e))}));const a=new Er(o);a.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),a.validate(e.value,e.rule.options||s,(e=>{const r=[];u&&u.length&&r.push(...u),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(u)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,l,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,l,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===i?l():!1===i?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?l(i):i instanceof Error&&l(i.message)}i&&i.then&&i.then((()=>l()),(e=>l(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)s=e[r],Array.isArray(s)?t=t.concat(...s):t.push(s);var s;t.length?(r=lr(t),i(t,r)):i(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Ar.hasOwnProperty(e.type))throw new Error(ur("Unknown rule type %s",e.type));return e.type||"string"}getValidationMethod(e){if("function"==typeof e.validator)return e.validator;const t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?Ar.required:Ar[this.getType(e)]||void 0}}function Or(e){return new Er(e)}var jr={validateId:function(e){return!!e&&(!(e.length<6)&&!!/^[A-Za-z0-9_-]+$/.test(e))},validatePhone:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)},validator:Or,validate:function(e,t,r={},n=(()=>{})){return je.run(Or(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var qr={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};var Pr={toUtf8:e=>{if(!e)return"";const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},fromUtf8:e=>{let t="",r=0;if(!e)return"";let n=0,s=0,i=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t},toUtf8Bytes:e=>{if(!e)return new Uint8Array;const t=e.replace(/\r\n/g,"\n"),r=[];for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r.push(n):n<2048?(r.push(n>>6|192),r.push(63&n|128)):(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128))}return new Uint8Array(r)},fromUtf8Bytes:e=>{let t="",r=0;if(!e||e.length<=0)return"";for(;r<e.length;){let n=e[r];if(n<128)t+=String.fromCharCode(n),r++;else if(n>191&&n<224){const s=e[r+1];t+=String.fromCharCode((31&n)<<6|63&s),r+=2}else{const s=e[r+1],i=e[r+2];t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3}}return t}};const Tr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Lr={toBase64:(e="")=>{let t,r,n,s,i,o,a,c="",l=0;for(e=Pr.toUtf8(e);l<e.length;)t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),c=c+Tr.charAt(s)+Tr.charAt(i)+Tr.charAt(o)+Tr.charAt(a);return c},fromBase64:(e="")=>{let t,r,n,s,i,o,a,c="",l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=Tr.indexOf(e.charAt(l++)),i=Tr.indexOf(e.charAt(l++)),o=Tr.indexOf(e.charAt(l++)),a=Tr.indexOf(e.charAt(l++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c+=String.fromCharCode(t),64!=o&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=Pr.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,i,o,a,c="",l=0;if(!e||!ie.isArrayLike(e)||!ie.isUint8Array(e))return"";for(;l<e.length;)t=e[l++],r=e[l++],n=e[l++],s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),c=c+Tr.charAt(s)+Tr.charAt(i)+Tr.charAt(o)+Tr.charAt(a);return c},base64ToBytes:(e="")=>{let t,r,n,s,i,o,a,c=[],l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=Tr.indexOf(e.charAt(l++)),i=Tr.indexOf(e.charAt(l++)),o=Tr.indexOf(e.charAt(l++)),a=Tr.indexOf(e.charAt(l++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c.push(t),64!=o&&c.push(r),64!=a&&c.push(n);return new Uint8Array(c)}};const Fr=e=>Lr.toBase64(e);var Br={encode:Fr,decode:e=>Lr.fromBase64(e),encodeByOss:e=>Fr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Rr={...p,base64:Br,uuid:g,guid:(e,t=!1,r="")=>{const n=g(e||32);return t?k.now().format("yyyyMMddhhmmss")+r+n:n},getHexString:e=>{const t=p.keyChars;let r="";const n=t.length;for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*n));return r}};const Mr=e=>{if(!e)return"";if(!Ut.isObject(e))return"";let t="";return Ut.forof(e,((e,r)=>{r&&(t+=`${Tt.kebabCase(e)}:${r};`)})),t},Dr=["display","position","top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","fontSize","textAlign","fontFamily","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius","background","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","color","overflow","opacity","flexDirection","justifyContent","alignItems","flexWrap","alignContent","alignSelf","flex","flexBasis","flexFlow","flexShrink","pointerEvents"],Ur=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],Ir=(e,t="px")=>e&&t?"0"===e?e:jr.isFloat(e.toString())?`${e}${t}`:e:e;var zr={stringify:Mr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=or.parse(e,{sep:";",eq:":",uri:!1}),s={};return Ut.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:Tt.camelCase(e):e;jr.isFloat(n)||n.length>=2&&n.startsWith(".")&&jr.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:Ir,style:(e,t="px")=>{if(!e)return"";const r=Ut.copy(e,{fields:Dr});Ut.forof(r,((e,n)=>{(Ur.includes(e)||Ur.includes(Tt.camelCase(e)))&&(r[e]=Ir(n,t))}));return Mr(r)},commonFields:Dr};const Kr=(e,t="",r=!1)=>{try{if(!e)return;const n=or.parseUrl(e),s=t||n.name;if(!t||!r||!n.origin||n.origin===window.location.origin)((e,t)=>{try{const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}catch(t){console.error(`[ddan] _downloadUrl ${e}`,t)}})(e,s);else{const t=n.params;t.t=Date.now();const r=`${n.url}?${or.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){Nr(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},Nr=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;Kr(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},Hr=e=>{try{const t=document.createElement("textarea");document.body.appendChild(t),t.style.position="fixed",t.style.clip="rect(0 0 0 0)",t.style.top="10px",t.style.opacity="0",t.value=e??"",t.select();const r=document.execCommand("copy");return document.body.removeChild(t),r}catch(e){return console.error("[ddan] copyText",e),!1}},Vr=(e,t="denied")=>new Promise((r=>{const n=navigator?.permissions;if(!n||!n.query)return r(t);const s={name:e};n.query(s).then((e=>r(e.state))).catch((()=>r(t)))})),Wr=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e;var Zr={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),i=s.length,o=new Uint8Array(i);for(;i--;)o[i]=s.charCodeAt(i);return new File([o],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,i=new Uint8Array(s);for(;s--;)i[s]=n.charCodeAt(s);return new Blob([i],{type:r})},blobToFile:(e,t)=>(e.lastModifiedDate=new Date,e.name=t,e),readAsDataURL:(e,t)=>{var r=new FileReader;r.readAsDataURL(e),r.onloadend=function(e){t&&t(e.target?.result)}},downloadUrl:Kr,download:(e,t="")=>{e&&("string"!=typeof e?Nr(e,t):Kr(e,t))},downloadFile:Nr,downloadImage:e=>{try{if(!e)return;const t=e.match(/\/(\w+.\w+)$/)[1],r=new Image;r.onload=()=>{let e=document.createElement("canvas");e.width=r.width,e.height=r.height;let n=e.getContext("2d");n&&n.drawImage(r,0,0,r.width,r.height);let s=e.toDataURL();Kr(s,t)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.error("[ddan] downloadImage",e)}return Promise.resolve()},watermark:(e,{width:t=400,height:r=300,angle:n=0,fillStyle:s="rgba(0, 0, 0, 0.2)",font:i="16px Arial",textAlign:o="left",textBaseline:a="middle"}={})=>{try{if(!e)return"";const c=document.createElement("canvas");c.width=t,c.height=r;const l=c.getContext("2d");return l?(n&&l.rotate(n*Math.PI/180),s&&(l.fillStyle=s),i&&(l.font=i),o&&(l.textAlign=o),a&&(l.textBaseline=a),l.fillText(e,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}},copyText:(e,t=!1)=>new Promise((r=>{!t&&navigator.clipboard?Vr("clipboard-write").then((t=>{Wr(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(Hr(e)))):r(Hr(e))})).catch((()=>{r(Hr(e))})):r(Hr(e))})),queryPermission:Vr,isAllowed:Wr,legacyCopy:Hr};var Jr={ossImage:(e,t={})=>{if(!e)return e;const r=or.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=zt.toList(t.domain||""),n=e.match(/^http[s]?:\/\/([\w.]+)[\w\W]+/)[1]||"";if(!n||!r.includes(n))return e}const n=[];return t.webp&&!r.endsWith(".gif")&&n.push("format,webp"),t.resize&&n.push(`resize,s_${t.resize}`),t.interlace&&(n.push("interlace,1"),!n.every((e=>!e.startsWith("format")))||r.endsWith(".gif")||r.endsWith(".jpg")||n.push("format,jpg")),n.length<=0?e:`${r}?x-oss-process=image/${n.join("/")}`},ossSnapshot:(e,t={})=>{if(!e)return e;const r=or.parseUrl(e).url,n=["snapshot"],{m:s="fast",f:i="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`},ossBase64:e=>Lr.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const Gr=(e,t=!1)=>{const r=new Uint8Array(e);return t?Lr.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var Yr={...Pr,...Lr,str2Hex:e=>{let t="";for(let r=0;r<e.length;r++)t+=e.charCodeAt(r).toString(16).padStart(2,"0");return t},hex2Str:e=>{let t="";for(let r=0;r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t},str2ab:(e="",t=!1)=>{if(t)return Lr.base64ToBytes(e).buffer;{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t}},ab2str:Gr,bytesToStr:e=>{if(!e||!ie.isArrayLike(e))return"";return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")},strToBytes:(e="")=>{const t=e,r=new Uint8Array(t.length);for(let e=0,n=t.length;e<n;e++)r[e]=t.charCodeAt(e);return r},utf8ToBase64:e=>ie.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>ie.isBrowser?atob(e):Buffer.from(e,"base64").toString("utf-8"),getRandomBytes:e=>{const t=new Uint8Array(e);for(let r=0;r<e;r++)t[r]=Le.random(256);return t},textEncode:e=>Pr.toUtf8Bytes(e),textDecode:e=>Pr.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+Lr.toBase64(e):ie.isArrayBuffer(e)?`data:${t};base64,`+Gr(e,!0):"":"",concatBytes:(...e)=>{const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r}};const Xr=({url:e,options:t})=>{const r={"Content-Type":"application/json; charset=utf-8",...t.headers||{}};return t.headers=r,new Promise(((r,n)=>{fetch(e,t).then((e=>{r(e.json())})).catch((e=>{n(e)}))}))};function Qr(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function en(e){const{url:t="",host:r,options:n}=e,s=e;if(t.startsWith("http://")||t.startsWith("https://")||(s.url=(r||"")+t),"GET"===n.method.toUpperCase()&&n.body){const e=JSON.parse(n.body);if(Ut.isPlainObject(e)){const r=or.stringify(e),n=-1===t.indexOf("?")?"?":"&";s.url=`${s.url||""}${n}${r}`,delete s.options.body}}return n&&n.plugins&&delete s.options?.plugins,n&&n.model&&delete s.options?.model,s}class tn{host="";reqConfig={};handleError;interceptors={request:new Zt,response:new Zt};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(en),this.interceptors.response.use(e.handleResponse||Qr),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){tn.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete tn.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}async fetch(e,t){const r=Ut.copy(this.reqConfig[e])||{},n={host:this.host,url:r.url||"",options:{...r||{},body:JSON.stringify({...t||{}})}};try{const s=await this.interceptors.request.invoke(n);let i;if(delete s.options.plugins,"block"===r.model)this.lockR(tn.blockId,(()=>Xr(s))),i=await tn.requestLock[tn.blockId].request;else if(tn.requestLock[tn.blockId]&&tn.requestLock[tn.blockId].lock&&await tn.requestLock[tn.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),tn.requestLock[e]||this.lockR(e,(()=>Xr(s))),i=await tn.requestLock[e].request,this.unlockR(e)}else i=await Xr(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const rn={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},nn=e=>(...t)=>{const r=console[e];rn.overrode?r(...t):sn(r,e,...t)},sn=(e,t,...r)=>{const n=k.format(new Date,rn.format),s=rn.tag?`[${t}]`:"";s&&n?e.apply(console,[`${n} ${s}`,...r]):n?e.apply(console,[`${n}`,...r]):s?e.apply(console,[`${s}`,...r]):e.apply(console,[...r])};var on={override:()=>{if(rn.overrode)return;rn.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{sn(t,e,...r)}}))},log:nn("log"),info:nn("info"),warn:nn("warn"),error:nn("error"),config:({tag:e=rn.tag,format:t=rn.format}={})=>{rn.tag=e,rn.format=t}};var an={getDataURL:e=>{const t={contentType:"",dataUrl:""};return Se.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+Yr.ab2str(e,!0),t))))},getArrayBuffer:async e=>Se.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>Se.to(fetch(e).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=Le.float(100*i/n,{digits:2});t?.progress&&t?.progress(a,i,n)}const a=new Uint8Array(i);let c=0;for(const e of o)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)}))))};const cn=new class{__defStyle="vertical-align: middle; mask-position: 50% 50%; mask-repeat: no-repeat; mask-size: 100%; -webkit-mask-position: 50% 50%; -webkit-mask-repeat: no-repeat; -webkit-mask-size: 100%; background-color: currentColor;";__map={back:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M609.408 149.376L277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"/></svg>',right:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"/></svg>',home:'<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M13 19.8h3.8v-7h3.303L12 4.697 3.897 12.8H7.2v7H11V17h2v2.8zm5 .2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6H3.414a1 1 0 0 1-.707-1.707l8.586-8.586a1 1 0 0 1 1.414 0l8.586 8.586A1 1 0 0 1 20.586 14H18v6z" fill-rule="evenodd" fill-opacity=".9"/></svg>',close:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M764.288 214.592L512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"/></svg>',close_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M466.752 512l-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248L466.752 512z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',close_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"/></svg>',warning:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M928.99 755.83L574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03zM554.67 768h-85.33v-85.33h85.33V768zm0-426.67v298.66h-85.33V341.32l85.33.01z" fill="currentColor"/></svg>',play:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024zm3.008-92.992a416 416 0 1 0 0-832 416 416 0 0 0 0 832zM383.232 287.616l384 224.896-384 223.104v-448z" fill="currentColor"/></svg>',lock:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"/><path fill="currentColor" d="M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm192-160v-64a192 192 0 1 0-384 0v64h384zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64z"/></svg>',lock_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M467.2 713.92v115.968a44.8 44.8 0 0 0 89.6 0V713.92c26.752-14.72 44.8-42.304 44.8-73.92 0-47.104-40.128-85.312-89.6-85.312-49.472 0-89.6 38.208-89.6 85.312 0 31.616 18.048 59.136 44.8 73.92zM64 384h896v640H64V384zm268.8 0h358.4V256c0-94.272-80.256-170.688-179.2-170.688-98.944 0-179.2 76.416-179.2 170.688v128zM512 0c148.48 0 268.8 114.56 268.8 256v128H243.2V256C243.2 114.56 363.52 0 512 0z" fill="currentColor"/></svg>',plus:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64h352z"/></svg>',plus_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"/><path fill="currentColor" d="M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',plus_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"/></svg>',star:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 747.84l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72L512 747.84zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"/></svg>',star_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M283.84 867.84L512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"/></svg>',share:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M679.872 348.8l-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"/></svg>',love:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M171.712 571.648l.352.32 287.904 252.8a64 64 0 0 0 82.912 1.344l296.832-244.544a215.584 215.584 0 1 0-301.824-300.576L512 316.672l-25.888-35.616a215.584 215.584 0 1 0-314.4 290.624zM32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512l-295.36 243.392a128 128 0 0 1-165.888-2.592L129.984 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>',love_fill:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512L562.592 892.8a96 96 0 0 1-124.416-1.952L130.016 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>'};getBase64=e=>{const t=this.getSVG(e);return t?.url||""};getSVG=e=>{if(!e)return;const t=this.__map[e];if(!t)return;return{url:this.toBase64(t),escape:this.toEscape(t)}};toBase64=e=>{if(!e)return"";const t=this._tiny(e);return`data:image/svg+xml;base64,${Br.encode(t)}`};_tiny=e=>e?e.replace(/<!--(.*)-->/g,"").replace(/[\r\n]/g," ").replace(/"/g,"'"):"";toEscape=e=>{if(!e)return"";return`data:image/svg+xml,${this._tiny(e).replace(/%/g,"%25").replace(/&/g,"%26").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(/</g,"%3C").replace(/>/g,"%3E")}`};getStyle(e,t={}){if(!e)return"";const r=this.__map[e];return r?this.toStyle(r,t):""}toStyle(e,t={}){if(!e)return"";const r=this.toBase64(e);return r?this.getStyleByUrl(r,t):""}getStyleByUrl(e,t={}){if(!e)return"";const{key:r="mask-image",gradientValue:n="radial-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5))",gradient:s=!1,defStyle:i=this.__defStyle}=t,o=s&&n?`${n}, url("${e}")`:`url("${e}")`;return`${r}:${o};-webkit-${r}:${o};${i}`}},ln=(e,t,r)=>({key:e,fields:t,storage:r});class un{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=je.debounce((e=>{if(this.key&&this.storage)try{const{setItem:t,setStorageSync:r}=this.storage;if(r)return r(this.key,e);if(t)return t(this.key,JSON.stringify(e))}catch(e){console.error("persit save ",e)}}));read(){if(this.key&&this.storage)try{const{getItem:e,getStorageSync:t}=this.storage;if(t)return t(this.key);if(e){const t=e(this.key);return JSON.parse(t)}}catch(e){return void console.error("persit read ",e)}}handleSave(e,t){if(!this.fields.includes(t)||!e)return;const r=Dt.copy(e,{fields:this.fields});this.save(r)}}class hn extends y{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!ie.isFunction(n))return;const[,s]=await je.run(n({...r,commit:r.commit.bind(r),query:r.query.bind(r),dispatch:r.dispatch.bind(r)},t));return s}async query(e){const t=Reflect.get(this,e);let r;if(null!=t&&""!==t)r=Dt.copy(t);else{const[,t]=await je.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){ie.isObject(t)&&(t=Dt.copy(t)),this[e]=t}}const fn=(e,t)=>{const r=Object.assign(new hn,e||{});r.__persist=new un(t||r.persist);const n=r.__persist.read(),s=n?Object.assign(r,n):r;return new Proxy(s,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return ie.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(ie.isFunction(s)&&!s(e,r))return!0;const i=Reflect.set(e,t,r,n);return i&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),i},has:(e,t)=>Reflect.has(e,t)})};class dn{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=or.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=or.stringify(s,{uri:!1});this.list.push(`${e}?${i}`)}_parseHost(e){e&&!this.host&&/^http[s]?:\/\/([\w.]+)/.test(e)&&(this.host=e.replace(/^http[s]?:\/\/([\w.]+)[\w\W]+/,"$1"))}image(e,t={}){if(!e||!e.includes(this.host))return;if(this.list.length<=0)return;const r={g:"nw",...t},n=e.replace(/^http[s]?:\/\/[\w.]+\/([\w-.,_/?%&=]+)$/,"$1"),s=Rr.base64.encodeByOss(n),i=or.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Rr.base64.encodeByOss(e),i=or.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const pn=(e,t)=>new dn(e,t);class gn{__list=[];constructor(){this.clear()}add(e){const t=je.run(e);return this.__list.push(t),this}clear(){return this.__list=[],this}wait(){const e=this.__list;return this.clear(),Promise.allSettled(e)}}const yn=new class{state=fn(new hn);frame=new m;cache=new Map;cacheTime=new Map;setCache=(e,t)=>null!=t&&(!!e&&(this.cache.set(e,t),this.cacheTime.set(e,Date.now()),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};getCacheTime=e=>e&&this.cacheTime.get(e)||0;removeCache=e=>{e&&(this.cache.delete(e),this.cacheTime.delete(e))};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),i=this.getCache(s)||{},o=Date.now(),a=i[e],c={time:o,count:1,cycle:n};return a&&("day"!==n||k.isToday(a.time||0))&&(c.count=1+(a.count||0)),i[e]=c,this.setCache(s,i),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===i&&!k.isToday(c.time||0))return!0;if(r<=(c.count||0))return!1;return!(Date.now()-(c.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=Ut.copy(r);Ut.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||k.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new gn};class mn{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=g(),this.start=Date.now(),this.timeStartDesc=k.format(this.start,"hh:mm:ss.SSS")}get time(){return this.flag?this.end:this.start}get timeDesc(){return this.flag?this.timeEndDesc:this.timeStartDesc}done=(e=Date.now())=>{this.start&&(this.end=e,this.cost=this.end-this.start,this.timeEndDesc=k.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const wn=new class{__map=new Map;__trackList=[];opened=!0;clear(){return this.__map.clear(),this.__trackList=[],this}add(e,{desc:t="",type:r=""}={}){if(!e||!this.opened)return"";const n=new mn;return n.name=e,n.type=r,n.desc=t,this.__trackList.push(n),n.id}done(e){if(!e||!this.opened)return;const t=this.__trackList.find((t=>t.id===e));if(!t||t.isDone)return;t.done();const r=Dt.cloneClass(t);r.id=this._endId(e),r.flag=1,r.desc=`${t.desc} | end`,this.__trackList.push(r)}getTrack(e){return this.__trackList.find((t=>t.id===e))}getLine(e){if(!e||e.endsWith("-end"))return[];const t=this.__trackList.findIndex((t=>t.id===e));if(t<0)return[];const r=this._endId(e),n=this.__trackList.findIndex((e=>e.id===r)),s=n<0?this.__trackList.length-t:n-t+1;return zt.take(this.__trackList,s,t)}getList(e,t=""){if(!e)return[];const r=this.__trackList.filter((t=>t.name===e));if(r.length<=0)return[];if(!t)return r;const n=this._endId(t);return this.__trackList.filter((e=>e.id===t||e.id===n))}get list(){return this.__trackList}get size(){return this.__trackList.length}_endId=e=>`${e}-end`;report(e){const t=this.list;if(!t||t.length<=0)return;const r=t[0].time;t.forEach((t=>e&&e(t,r)))}},bn=e=>{try{const t=Yr.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},_n=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var vn={generateKeys:async()=>{try{const e=await window.crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),t=await window.crypto.subtle.exportKey("spki",e.publicKey),r=bn(t),n=_n(r,"PUBLIC KEY"),s=await window.crypto.subtle.exportKey("pkcs8",e.privateKey),i=bn(s);return{publicKey:r,publicKeyPem:n,privateKey:i,privateKeyPem:_n(i,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:_n,format_pem_content:bn,encrypt:async(e,t)=>{try{const r=(new TextEncoder).encode(e),n=await window.crypto.subtle.importKey("spki",Yr.str2ab(t,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),s=await window.crypto.subtle.encrypt({name:"RSA-OAEP"},n,r);return Yr.ab2str(s,!0)}catch(e){return console.error("encrypt failed:",e),""}},decrypt:async(e,t)=>{try{const r=Yr.str2ab(e,!0),n=await window.crypto.subtle.importKey("pkcs8",Yr.str2ab(t,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"]),s=await window.crypto.subtle.decrypt({name:"RSA-OAEP"},n,r);return(new TextDecoder).decode(s)}catch(e){return console.error("decrypt failed:",e),""}}};var xn={brotliCompress:function(e,t=a.default.constants.BROTLI_DEFAULT_QUALITY){try{if(!e)return"";const r=Buffer.from(e,"utf-8");return a.default.brotliCompressSync(r,{params:{[a.default.constants.BROTLI_PARAM_QUALITY]:t}}).toString("base64")}catch(t){return e||""}},brotliDecompress:function(e){try{if(!e)return"";const t=Buffer.from(e,"base64");return a.default.brotliDecompressSync(t).toString("utf-8")}catch(t){return e||""}}};var kn={child_exec:e=>new Promise((t=>{if(!e)return t([null,""]);i.exec(e,((e,r)=>{t(e?[e||"error",""]:[null,r||""])}))}))};const Sn=async()=>{do{let e,t;if([e,t]=await kn.child_exec('reg query "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"'),e)break;const r=t.split("\n").find((e=>e.includes("ProxyEnable")));if(!(r&&r.trim().endsWith("1")))break;const n=t.split("\n").find((e=>e.includes("ProxyServer"))),s=n?n.split(" ").filter(Boolean).pop():"";if(!s)break;const i=s.split(":");if(i.length<=1)break;const o=i[0],a=+(i[1]||"");if(!o||!a)break;return{ipaddress:o,port:a}}while(0)},An=async()=>{do{let e,t;if([e,t]=await kn.child_exec('networksetup -getwebproxy "Wi-Fi"'),e)break;const r=t.split("\n"),n=r.find((e=>e.includes("Enabled")));if(!(n&&n.includes("Yes")))break;const s=r.find((e=>e.includes("Server"))),i=r.find((e=>e.includes("Port"))),o=s?s.split(":")[1]?.trim():null,a=+((i?i.split(":")[1]?.trim():null)||"");if(!o||!a)break;return{ipaddress:o,port:a}}while(0)};var $n={getSystemProxy:()=>{try{return"win32"===process.platform?Sn():"darwin"===process.platform?An():void 0}catch(e){return}},toPacScript:({proxy:e="DIRECT",system:t="DIRECT",rules:r=["*"]})=>{const n=e||t||"DIRECT",s=t||"DIRECT",i=`\n function FindProxyForURL(url, host) {\n if (isInNet(host, "127.0.0.0", "255.255.255.0") ||\n isInNet(host, "192.168.0.0", "255.255.0.0") ||\n shExpMatch(host, "localhost") ||\n shExpMatch(host, "<local>")) {\n return "DIRECT";\n }\n\n for (let rule of ${JSON.stringify(r)}) {\n if (rule && shExpMatch(host, rule)) {\n return "${n}";\n }\n }\n return "${s}";\n }\n `;return Yr.toDataUrl(i)},toPacProxy:(e,t,r)=>{if(!e||!t)return"";const{type:n="ALL",direct:s=!1}=r||{};let i="";switch(n?n.toUpperCase():""){case"ALL":i=`SOCKS5 ${e}:${t};PROXY ${e}:${t};`;break;case"PROXY":i=`PROXY ${e}:${t}`;break;case"SOCKS5":i=`SOCKS5 ${e}:${t}`}if(!i&&!s)return"";const o=[];return i&&o.push(i),s&&o.push("DIRECT"),o.join(";")}};class Cn{publicKey="";privateKey="";iv="";__privateCryptoKey;__sharedSecret;__curve;__keyFormat;__subtle;constructor(e="P-256",t="raw"){this.__curve=e,this.__keyFormat=t||"raw","undefined"!=typeof window?this.__subtle=window.crypto.subtle:this.__subtle={}}async generateKeys(){const e=await this.__subtle.generateKey({name:"ECDH",namedCurve:this.__curve},!0,["deriveKey","deriveBits"]);return this.__privateCryptoKey=e.privateKey,this.publicKey=await this.exportKey(e.publicKey),this.privateKey=await this.exportKey(e.privateKey,"pkcs8"),this}async exportKey(e,t="raw"){const r=await this.__subtle.exportKey(t||this.__keyFormat,e);return Yr.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=Yr.base64ToBytes(e);return await this.__subtle.importKey(t||this.__keyFormat||"raw",n,{name:"ECDH",namedCurve:this.__curve},!0,r)}async setPrivateKey(e){if(!e)return!1;const t=await this.importKey(e,"pkcs8",["deriveKey","deriveBits"]);return this.privateKey=await this.exportKey(t,"pkcs8"),this.__privateCryptoKey=t,!0}async deriveSharedSecret(e,t){if(!this.__privateCryptoKey)return!1;const r=await this.importKey(e),n=await this.__subtle.deriveKey({name:"ECDH",public:r},this.__privateCryptoKey,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"]);return this.__sharedSecret=n,this.iv=t||"",!0}async encode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Yr.base64ToBytes(r),s=Yr.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return Yr.ab2str(i,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?Yr.base64ToBytes(r):Yr.getRandomBytes(12),s=Yr.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),o=Yr.concatBytes(new Uint8Array(i),n);return Yr.bytesToBase64(o)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Yr.base64ToBytes(e),s=Yr.base64ToBytes(r),i=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return Yr.textDecode(i)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=Yr.base64ToBytes(e);if(t.length<12)return"";const r=t.slice(t.length-12),n=t.slice(0,t.length-12),s=await this.__subtle.decrypt({name:"AES-GCM",iv:r},this.__sharedSecret,n);return Yr.textDecode(s)}}var En={...xn,...kn,...$n,Ecdh:class{publicKey="";privateKey="";sharedSecret;iv="";__curve;__algorithm;__ecdh;constructor(e="prime256v1",t="aes-256-gcm"){this.__curve=e,this.__algorithm=t,this.generateKeys()}generateKeys(){const e=c.default.createECDH("prime256v1");e.generateKeys(),this.publicKey=e.getPublicKey("base64"),this.privateKey=e.getPrivateKey("base64"),this.__ecdh=e}setPrivateKey(e){return!!e&&(!!this.__ecdh&&(this.__ecdh.setPrivateKey(e,"base64"),this.publicKey=this.__ecdh.getPublicKey("base64"),!0))}setSharedSecret(e){return!!e&&(this.sharedSecret=e,!0)}deriveSharedSecret(e,t){return!!e&&(this.sharedSecret=this.__ecdh.computeSecret(e,"base64").toString("base64"),this.iv=t||"",!0)}encode(e,t){if(!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Yr.base64ToBytes(r),s=c.default.createCipheriv("aes-256-gcm",Yr.base64ToBytes(this.sharedSecret),n),i=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),o=s.getAuthTag();return Buffer.concat([new Uint8Array(i),new Uint8Array(o)]).toString("base64")}encodeiv(e,t){if(!this.sharedSecret)return"";const r=t||this.iv,n=r?Yr.base64ToBytes(r):Yr.getRandomBytes(12),s=c.default.createCipheriv("aes-256-gcm",Yr.base64ToBytes(this.sharedSecret),n),i=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),o=s.getAuthTag();return Buffer.concat([new Uint8Array(i),new Uint8Array(o),n]).toString("base64")}decode(e,t){if(!e||!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=c.default.createDecipheriv("aes-256-gcm",Yr.base64ToBytes(this.sharedSecret),Yr.base64ToBytes(r)),s=Yr.base64ToBytes(e),i=s.slice(s.length-16);n.setAuthTag(i);const o=s.slice(0,s.length-16);return Buffer.concat([new Uint8Array(n.update(o)),new Uint8Array(n.final())]).toString("utf-8")}decodeiv(e){if(!e||!this.sharedSecret)return"";const t=Yr.base64ToBytes(e);if(t.length<28)return"";const r=t.slice(t.length-12),n=t.slice(t.length-28,t.length-12),s=c.default.createDecipheriv("aes-256-gcm",Yr.base64ToBytes(this.sharedSecret),r);s.setAuthTag(n);const i=t.slice(0,t.length-28);return Buffer.concat([new Uint8Array(s.update(i)),new Uint8Array(s.final())]).toString("utf-8")}},EcdhWeb:class extends Cn{constructor(e="P-256",t="raw"){super(e,t),this.__subtle=c.default.webcrypto.subtle}},Socks5:class{upstreamProxy;server=null;clientSockets=new Set;allowedDomains;systemProxy=null;useSystemProxy=!1;__debug=!1;__uuid;__port=0;__event;__pipeline;constructor(e,t=["*"],r=!1){this.__event=new y,this.upstreamProxy=e,this.allowedDomains=new Set(t),this.__debug=r,this.__uuid=g(),this.__pipeline=new Ee(1)}get id(){return this.__uuid}get port(){return this.__port}validateProxyConfig(e=this.upstreamProxy){const{ipaddress:t,port:r,userId:n,password:s}=e||{};return t&&"string"==typeof t?r&&"number"==typeof r?n&&"string"==typeof n?s&&"string"==typeof s?"":"无效的上游代理密码":"无效的上游代理用户名":"无效的上游代理端口":"无效的上游代理 IP 地址"}async start(e=8838){if(this.validateProxyConfig())return 0;if(this.server)return this.__debug&&console.info("[socks] server is already running"),this.__port;const t=await this.findAvailablePort(e);return t?(this.__port=t,this.server=l.default.createServer((e=>this.handleSocksConnection(e))),this.server.listen(t,(()=>{this.__debug&&console.info(`[socks] server is running on port ${t}`)})),this.server.on("error",(e=>{console.error("[socks] server error:",e),this.close()})),t):0}setUpstreamProxy(e){return!!e&&(!this.validateProxyConfig(e)&&(this.upstreamProxy=e,!0))}setSystemProxy(e,t){this.useSystemProxy=e,e&&t&&t.ipaddress&&t.port&&(this.systemProxy=t)}setAllowedDomains(e=[]){this.allowedDomains=new Set(e)}async findAvailablePort(e,t=200){let r=e,n=0;for(;n<t;)try{return await new Promise(((e,t)=>{const n=l.default.createServer();n.unref(),n.on("error",t),n.listen(r,(()=>{n.close((()=>e()))}))})),r}catch{n++,r++}return this.__debug&&console.warn("[socks] findAvailablePort failed"),0}async handleSocksConnection(e){const t=g();this.__pipeline.push((async()=>{this.__debug&&console.info(`[socks] pipeline ${e.remoteAddress}:${e.remotePort} ${t}`),await this._handleSocksConnection(e)}),(()=>{console.info(`[socks] pipeline ${t} end`)}))}async _handleSocksConnection(e){if(!e)return;this.clientSockets.add(e),e.on("close",(()=>{this.clientSockets.delete(e),e?.destroy()}));let t="";try{await this.performHandshake(e);const r=await this.parseClientRequest(e);if(t=`${r.addr}:${r.port}`,this.isAllowedDomain(r.addr)){const n=await this.connectToUpstreamProxy(r);this.__debug&&console.info("[socks] handle connection upstream",t),this.setupDataForwarding(e,n)}else if(this.useSystemProxy&&this.systemProxy){const n=await this.connectToSystemProxy(r);this.__debug&&console.info("[socks] handle connection system",t),this.setupDataForwarding(e,n)}else{this.__debug&&console.info("[socks] handle connection local",t);const n=await this.connectToLocal(r);this.setupDataForwarding(e,n)}}catch(r){this.__debug&&console.error("[socks] connection failed:",r),e.end(new Uint8Array([5,1])),this._emit("error",r,t)}}performHandshake(e){return new Promise(((t,r)=>{e.once("data",(n=>{if(5!==n[0])return r(new Error("Unsupported SOCKS version"));e.write(new Uint8Array([5,0])),t()}))}))}parseClientRequest(e){return new Promise(((t,r)=>{e.once("data",(e=>{let n,s;if(1!==e[1])return r(new Error("Unsupported command"));if(1===e[3])n=e.slice(4,8).join("."),s=e.readUInt16BE(8);else{if(3!==e[3])return r(new Error("Unsupported address type"));{const t=e[4];n=e.slice(5,5+t).toString(),s=e.readUInt16BE(5+t)}}t({addr:n,port:s})}))}))}async connectToUpstreamProxy(e){const t={proxy:{...this.upstreamProxy,type:5},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(t)}catch(e){throw new Error("Failed to connect to upstream proxy: "+e)}}async connectToSystemProxy(e){const t={proxy:{...this.systemProxy,type:5},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(t)}catch(e){throw new Error("Failed to connect to system proxy: "+e)}}async connectToProxy(e){const{socket:t}=await s.SocksClient.createConnection(e);return t}async connectToLocal(e){return new Promise(((t,r)=>{const n=l.default.createConnection(e.port,e.addr,(()=>{t(n)}));n.on("error",(e=>{r(e)}))}))}setupDataForwarding(e,t){e.write(new Uint8Array([5,0,0,1,0,0,0,0,0,0])),e.pipe(t),t.pipe(e);const r=`${t.localAddress}:${t.localPort}`;this.__debug&&console.info(`[socks] setupDataForwarding ${r}`),e.on("close",(()=>{this.__debug&&console.info("[socks] client socket close",r),t.end()})),t.on("close",(()=>{this.__debug&&console.info("[socks] target socket close",r),e.end()})),e.on("error",(e=>{this.__debug&&console.error("[socks] client socket error:",e),t.end()})),t.on("error",(t=>{this.__debug&&console.error("[socks] target socket error:",t),e.end()}))}isAllowedDomain(e){if(or.isLocalhost(e))return!1;for(const t of this.allowedDomains){if("*"===t)return!0;if(or.shExpMatch(e,t))return!0}return!1}close(){try{if(!this.server)return;this.__debug&&console.info("[socks] closing SOCKS5 proxy server..."),this.server.close((e=>{e&&this.__debug&&console.error("[socks] closing the server failed:",e)})),this.clientSockets.forEach((e=>e?.destroy())),this.clientSockets.clear(),this.server=null,this.__port=0}catch(e){this.__debug&&console.error("[socks] close errot:",e)}}on(e,t){e&&t&&(this.__event.off(e,t),this.__event.on(e,t))}off(e,t){e&&this.__event.off(e,t)}_emit(e,...t){try{if(!e)return;this.__event.emit(e,...t)}catch(e){}}}},On={Ecdh:Cn};class jn{timestamp=0;_key="";_value;constructor(e,t){this._key=e,this._value=t,this.updateAt()}get key(){return this._key}get value(){return this._value}set(e){this._value=e,this.updateAt()}updateAt(){this.timestamp=Date.now()}}class qn{_map=new Map;constructor(){this._map.clear()}get keys(){return Array.from(this._map.keys())}get values(){return Array.from(this._map.values())}get(e){if(!e)return;const t=this._map.get(e);return t?t.value:void 0}set(e,t){if(!e)return;const r=this._map.get(e);r?(r.set(t),this.clean()):this._map.set(e,new jn(e,t))}delete(e,t){if(!e)return;const r=this._map.get(e);t&&t(r?.value),this._map.delete(e)}clear(){this._map.clear()}clean(e=100,t){try{if(this._map.size<=e)return;if(this.keys.filter((e=>{if(!this._map.has(e))return!1;const t=this._map.get(e);return!t||!t.value})).forEach((e=>{this._map.delete(e)})),this._map.size<=e)return;const r=this.values.sort(((e,t)=>e.timestamp-t.timestamp)),n=r.length-e;if(n<=0)return;r.splice(0,n).forEach((e=>{this.delete(e.key,t)}))}catch(e){console.log("mapping clean",e)}}}const Pn={gbk:u,math:Le,list:zt,string:Tt,time:k,obj:Dt,rule:jr,regex:qr,...Yr,...Rr,...Ut,Event:y},Tn=Ut.singleton,Ln={...Yr,...Rr,...je,qs:or,singleton:Tn},Fn={mini:Yt,css:zr,qs:or,icon:cn,html:Zr},Bn={cdn:Jr,watermark:pn},Rn={Store:hn,storeRef:fn,Persist:un,persistConfig:ln},Mn=yn,Dn=wn,Un=on,In={fetch:an,Http:tn,css:zr,qs:or,icon:cn,html:Zr,rsa:vn,...On},zn={...En};var Kn={gbk:u,time:k,hook:je,math:Le,util:Ut,list:zt,string:Tt,obj:Dt,crypto:Rr,mini:Yt,qs:or,css:zr,cdn:Jr,html:Zr,icon:cn,rule:jr,regex:qr,convert:Yr,KValue:jn,Mapping:qn,Event:y,Http:tn,Store:hn,storeRef:fn,Persist:un,persistConfig:ln,watermark:pn,joker:yn,tracker:wn,logger:on,fetch:an,rsa:vn};e.KValue=jn,e.Mapping=qn,e.dCdn=Bn,e.dHook=Ln,e.dJoker=Mn,e.dLogger=Un,e.dMini=Fn,e.dNode=zn,e.dStore=Rn,e.dTracker=Dn,e.dUtil=Pn,e.dWeb=In,e.default=Kn,Object.defineProperty(e,"__esModule",{value:!0})}));
|