ddan-js 3.8.0 → 3.8.2

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.
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("crypto")):"function"==typeof define&&define.amd?define(["exports","crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan=e.ddan||{},e.crypto$1)}(this,(function(e,t){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=r(t);const s="0123456789",i="abcdefghijklmnopqrstuvwxyz",o="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var a={keyNumber:s,keyLower:i,keyUpper:o,keyChars:s+i+o};const c=(e=0,t=0)=>e?f(e,"lower",t):u("lower",t),l=(e=0)=>f(32,"lower",e),u=(e="lower",t=0)=>{const r=a.keyChars.split(""),n=[];let s,i;for(t=t||r.length,n[8]=n[13]=n[18]=n[23]="-",n[14]="4",s=0;s<36;s++)n[s]||(i=0|16*Math.random(),n[s]=r[19==s?3&i|8:i]);const o=n.join("");return"upper"===e?o.toUpperCase():o.toLowerCase()},f=(e=32,t="mixin",r=0)=>{const n=a.keyChars.split(""),s=[];let i;for(r=r||n.length,i=0;i<e;i++)s[i]=n[0|Math.random()*r];const o=s.join("");return"lower"===t?o.toLowerCase():"upper"===t?o.toUpperCase():o};class h{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=c()}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 d{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()}clear(){this.set(void 0)}}const p="object"==typeof global&&null!==global&&global.Object===Object&&global,g="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,y="object"==typeof self&&null!==self&&self.Object===Object&&self,m=g||p||y||Function("return this")(),b=m.Symbol,{toString:w,hasOwnProperty:v,propertyIsEnumerable:_}=Object.prototype,A=b?b.toStringTag:void 0;function x(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":A&&A in Object(e)?function(e){const t=v.call(e,A),r=e[A];let n=!1;try{e[A]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[A]=r:delete e[A]),s}(e):w.call(e)}var k={getTag:x,getType:function(e){return(x(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:v,propertyIsEnumerable:_};const $="object"==typeof e&&null!==e&&!e.nodeType&&e,S=$&&"object"==typeof module&&null!==module&&!module.nodeType&&module,O=S&&S.exports===$&&p.process,j=(()=>{try{const e=S&&S.require&&S.require("util").types;return e||O&&O.binding&&O.binding("util")}catch(e){}})();var C="[object Function]",E="[object GeneratorFunction]",q="[object AsyncFunction]",T=9007199254740991;const L=/^(?:0|[1-9]\d*)$/,P=m?.Buffer?.isBuffer,B=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,M=j&&j.isTypedArray;function F(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function R(e){return null!=e&&"object"==typeof e}const U=Array.isArray;function D(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=T}(e.length)&&!N(e)}function I(e){return R(e)&&D(e)}function N(e){var t=F(e)?k.getTag(e):"";return t===C||t===E||t===q}function z(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function K(e){return I(e)&&k.hasOwnProperty.call(e,"callee")&&(!k.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==k.toString.call(e))}const H="undefined"!=typeof window&&void 0!==window.document,W="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,V=M?e=>M(e):e=>R(e)&&B.test(k.getTag(e)),Z="function"==typeof P?P:()=>!1;var J={is:function(e,t){return k.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===k.getTag(e)},isString:function(e){return"string"==typeof e||!U(e)&&R(e)&&"[object String]"==k.getTag(e)},isObject:F,isObjectLike:R,isPlainObject:function(e){if(!R(e)||"[object Object]"!=k.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||R(e)&&"[object Symbol]"===k.getTag(e)},isFunction:N,isArray:U,isArrayLikeObject:I,isIndex:function(e,t){return!!(t=null==t?T:t)&&("number"==typeof e||L.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:D,isPrototype:z,isArguments:K,isPromise:function(e){return"[object Promise]"===(F(e)?k.getTag(e):"")},isBrowser:H,isNode:W,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(D(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||Z(e)||V(e)||K(e)))return!e.length;const t=k.getTag(e);if("[object Map]"===t||"[object Set]"===t)return!e.size;if(z(e))return!Object.keys(e).length;for(const t in e)if(k.hasOwnProperty.call(e,t))return!1;return!0},isJSONStr:e=>{try{const t=JSON.parse(e);return"object"==typeof t&&null!==t}catch(e){return!1}}};const G=NaN,Q=/^\s+|\s+$/g,Y=/^[-+]0x[0-9a-f]+$/i,X=/^0b[01]+$/i,ee=/^0o[0-7]+$/i,te=parseInt,re=1/0,ne=17976931348623157e292;function se(e){if("number"==typeof e)return e;if(J.isSymbol(e))return G;if(J.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=J.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Q,"");const t=X.test(e);return t||ee.test(e)?te(e.slice(2),t?2:8):Y.test(e)?G:+e}function ie(e){return e?(e=se(e))===re||e===-re?(e<0?-1:1)*ne:e==e?e:0:0===e?e:0}var oe={toNumber:se,toFinite:ie,toInteger:function(e){var t=ie(e),r=t%1;return t==t?r?t-r:t:0}};const ae="Expected a function",ce=Math.max,le=Math.min;function ue(e,t=300,r={}){let n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(ae);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||f&&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 f?le(r,i-(e-l)):r}(e))}function y(e){return a=void 0,h&&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(f)return a=setTimeout(g,t),d(c)}return void 0===a&&(a=setTimeout(g,t)),o}return t=oe.toNumber(t)||0,J.isObject(r)&&(u=!!r.leading,f="maxWait"in r,i=f?ce(oe.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),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 fe{__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(J.isFunction(e))r=e(t);else{if(J.isPromise(e))return e.then((e=>({...t,...e})));r=e}return J.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 he(e,t,r){return e.then((e=>(r&&r(),[null,e]))).catch((e=>(t&&Object.assign(e,t),r&&r(),[e,void 0])))}const de=(e,t)=>{try{let r;return r=J.isFunction(e)?e():e,he(Promise.resolve(r),void 0,t)}catch(e){return t&&t(),Promise.resolve([e,void 0])}},pe=e=>"string"==typeof(e="function"==typeof e?e():e)?new Error(e):e,ge=e=>"function"==typeof e?e():e;var ye={to:he,go:(e,t)=>de(e,t),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:de,toError:pe,timeout:(e,t=0,r="timeout")=>{if(t<=0)return de(e);let n;function s(){n&&clearTimeout(n)}const i=new Promise((e=>{s(),n=setTimeout((()=>e([pe(r||"timeout"),void 0])),t)}));return Promise.race([de(e,s),i])},getValueIf:(e,t,r)=>{const n="function"==typeof e?e():e;return ge(n?t:r)},resolveValue:ge};class me{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var be={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 me;return void 0!==e&&t.set(e),t},singletonFactory:function(e){class t extends e{static __instance__;constructor(...e){super(...e)}static getInstance(){return t.__instance__||(t.__instance__=new t),t.__instance__}static get I(){return this.getInstance()}}return t}};class we{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return ye.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class ve{__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 we(e,t);return this.__list.push(r),this._step(),this}async exec(e){return new Promise((t=>{this.push(e,((...e)=>{t(...e)}))}))}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 ye.delay(100),this._step()}return this.clear()}}class _e extends(be.singleton()){__lockedMap=new Map;pipeline=new ve;constructor(){super()}lock(e,t){if(!e||!t)return;const r=ye.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 ye.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return ye.safeRun(e);const s=await n;return this.unlock(t),s}}var Ae={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 xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var ke={toBase64:(e="")=>{let t,r,n,s,i,o,a,c="",l=0;for(e=Ae.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+xe.charAt(s)+xe.charAt(i)+xe.charAt(o)+xe.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=xe.indexOf(e.charAt(l++)),i=xe.indexOf(e.charAt(l++)),o=xe.indexOf(e.charAt(l++)),a=xe.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=Ae.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,i,o,a,c="",l=0;if(!e||!J.isArrayLike(e)||!J.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+xe.charAt(s)+xe.charAt(i)+xe.charAt(o)+xe.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=xe.indexOf(e.charAt(l++)),i=xe.indexOf(e.charAt(l++)),o=xe.indexOf(e.charAt(l++)),a=xe.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)}};function $e(e){return Math.floor(Math.random()*e)}function Se(e,t=10){return+parseFloat(Number(e).toExponential(t))}const Oe=180/Math.PI;var je={random:$e,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=$e(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:Se,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=Se(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*Oe},degree2radian:function(e){return e/Oe},calcDataSize:function(e){const t={gb:0,mb:0,kb:0,b:0,total:e,desc:""},r=[{name:"gb",divisor:1<<30},{name:"mb",divisor:1<<20},{name:"kb",divisor:1024},{name:"b",divisor:1}];for(const n of r){const r=Math.floor(e/n.divisor);t[n.name]=r,e-=r*n.divisor}return t.gb>0?t.desc=(t.gb+t.mb/1024).toFixed(2)+"GB":t.mb>0?t.desc=(t.mb+t.kb/1024).toFixed(2)+"MB":t.kb>0?t.desc=(t.kb+t.b/1024).toFixed(2)+"KB":t.desc=t.b+"B",t}};var Ce={bytes2str:e=>{if(!e||!J.isArrayLike(e))return"";return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")},str2bytes:(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},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},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},uint32ToBytes:e=>{const t=new Uint8Array(8);return t[0]=e[0]>>>24&255,t[1]=e[0]>>>16&255,t[2]=e[0]>>>8&255,t[3]=255&e[0],t[4]=e[1]>>>24&255,t[5]=e[1]>>>16&255,t[6]=e[1]>>>8&255,t[7]=255&e[1],t},bytesToUint32:e=>{const t=new Uint32Array(2);return t[0]=e[0]<<24|e[1]<<16|e[2]<<8|e[3],t[1]=e[4]<<24|e[5]<<16|e[6]<<8|e[7],t},hex2bytes:e=>{let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++)t[r]=parseInt(e.substr(2*r,2),16);return t},bytes2hex:e=>Array.from(e).map((e=>e.toString(16).padStart(2,"0"))).join(""),toUint32:e=>{const t=Math.ceil(e.length/4),r=new Uint32Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(4*n)<<24|e.charCodeAt(4*n+1)<<16|e.charCodeAt(4*n+2)<<8|e.charCodeAt(4*n+3);return r},fromUint32:e=>{let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]>>>24&255,e[r]>>>16&255,e[r]>>>8&255,255&e[r]);return t.replace(/\0+$/,"")},flatten:function e(t,r=!1,n=[]){for(let s=0;s<t.length;s+=1){const i=t[s];r&&Array.isArray(i)?e(i,r,n):n.push(i)}return n}};var Ee={pkcs7Padding:(e,t)=>{const r=t-e.length%t,n=new Uint8Array(r).fill(r);return Ce.concatBytes(e,n)},pkcs7Unpadding:e=>{const t=e[e.length-1];return e.slice(0,-t)}};function qe(e,t){return e<<t|e>>>32-t}function Te(e,t){let r,n,s,i,o;return s=2147483648&e,i=2147483648&t,r=1073741824&e,n=1073741824&t,o=(1073741823&e)+(1073741823&t),r&n?2147483648^o^s^i:r|n?1073741824&o?3221225472^o^s^i:1073741824^o^s^i:o^s^i}function Le(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e&t|~e&r}(t,r,n),s),o)),Te(qe(e,i),t)}function Pe(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e&r|t&~r}(t,r,n),s),o)),Te(qe(e,i),t)}function Be(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e^t^r}(t,r,n),s),o)),Te(qe(e,i),t)}function Me(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return t^(e|~r)}(t,r,n),s),o)),Te(qe(e,i),t)}function Fe(e){let t,r,n="",s="";for(r=0;r<=3;r++)t=e>>>8*r&255,s="0"+t.toString(16),n+=s.substr(s.length-2,2);return n}function Re(e){let t,r,n,s,i,o,a,c,l,u=[];for(u=function(e){let t;const r=e.length,n=r+8,s=16*((n-n%64)/64+1),i=Array(s-1).fill(0);let o=0,a=0;for(;a<r;)t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|e[a]<<o,a++;return t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|128<<o,i[s-2]=r<<3,i[s-1]=r>>>29,i}(e),o=1732584193,a=4023233417,c=2562383102,l=271733878,t=0;t<u.length;t+=16)r=o,n=a,s=c,i=l,o=Le(o,a,c,l,u[t+0],7,3614090360),l=Le(l,o,a,c,u[t+1],12,3905402710),c=Le(c,l,o,a,u[t+2],17,606105819),a=Le(a,c,l,o,u[t+3],22,3250441966),o=Le(o,a,c,l,u[t+4],7,4118548399),l=Le(l,o,a,c,u[t+5],12,1200080426),c=Le(c,l,o,a,u[t+6],17,2821735955),a=Le(a,c,l,o,u[t+7],22,4249261313),o=Le(o,a,c,l,u[t+8],7,1770035416),l=Le(l,o,a,c,u[t+9],12,2336552879),c=Le(c,l,o,a,u[t+10],17,4294925233),a=Le(a,c,l,o,u[t+11],22,2304563134),o=Le(o,a,c,l,u[t+12],7,1804603682),l=Le(l,o,a,c,u[t+13],12,4254626195),c=Le(c,l,o,a,u[t+14],17,2792965006),a=Le(a,c,l,o,u[t+15],22,1236535329),o=Pe(o,a,c,l,u[t+1],5,4129170786),l=Pe(l,o,a,c,u[t+6],9,3225465664),c=Pe(c,l,o,a,u[t+11],14,643717713),a=Pe(a,c,l,o,u[t+0],20,3921069994),o=Pe(o,a,c,l,u[t+5],5,3593408605),l=Pe(l,o,a,c,u[t+10],9,38016083),c=Pe(c,l,o,a,u[t+15],14,3634488961),a=Pe(a,c,l,o,u[t+4],20,3889429448),o=Pe(o,a,c,l,u[t+9],5,568446438),l=Pe(l,o,a,c,u[t+14],9,3275163606),c=Pe(c,l,o,a,u[t+3],14,4107603335),a=Pe(a,c,l,o,u[t+8],20,1163531501),o=Pe(o,a,c,l,u[t+13],5,2850285829),l=Pe(l,o,a,c,u[t+2],9,4243563512),c=Pe(c,l,o,a,u[t+7],14,1735328473),a=Pe(a,c,l,o,u[t+12],20,2368359562),o=Be(o,a,c,l,u[t+5],4,4294588738),l=Be(l,o,a,c,u[t+8],11,2272392833),c=Be(c,l,o,a,u[t+11],16,1839030562),a=Be(a,c,l,o,u[t+14],23,4259657740),o=Be(o,a,c,l,u[t+1],4,2763975236),l=Be(l,o,a,c,u[t+4],11,1272893353),c=Be(c,l,o,a,u[t+7],16,4139469664),a=Be(a,c,l,o,u[t+10],23,3200236656),o=Be(o,a,c,l,u[t+13],4,681279174),l=Be(l,o,a,c,u[t+0],11,3936430074),c=Be(c,l,o,a,u[t+3],16,3572445317),a=Be(a,c,l,o,u[t+6],23,76029189),o=Be(o,a,c,l,u[t+9],4,3654602809),l=Be(l,o,a,c,u[t+12],11,3873151461),c=Be(c,l,o,a,u[t+15],16,530742520),a=Be(a,c,l,o,u[t+2],23,3299628645),o=Me(o,a,c,l,u[t+0],6,4096336452),l=Me(l,o,a,c,u[t+7],10,1126891415),c=Me(c,l,o,a,u[t+14],15,2878612391),a=Me(a,c,l,o,u[t+5],21,4237533241),o=Me(o,a,c,l,u[t+12],6,1700485571),l=Me(l,o,a,c,u[t+3],10,2399980690),c=Me(c,l,o,a,u[t+10],15,4293915773),a=Me(a,c,l,o,u[t+1],21,2240044497),o=Me(o,a,c,l,u[t+8],6,1873313359),l=Me(l,o,a,c,u[t+15],10,4264355552),c=Me(c,l,o,a,u[t+6],15,2734768916),a=Me(a,c,l,o,u[t+13],21,1309151649),o=Me(o,a,c,l,u[t+4],6,4149444226),l=Me(l,o,a,c,u[t+11],10,3174756917),c=Me(c,l,o,a,u[t+2],15,718787259),a=Me(a,c,l,o,u[t+9],21,3951481745),o=Te(o,r),a=Te(a,n),c=Te(c,s),l=Te(l,i);return Fe(o)+Fe(a)+Fe(c)+Fe(l)}const Ue=e=>{if("string"!=typeof e&&!(e instanceof Uint8Array))return"";return Re("string"==typeof e?Ae.toUtf8Bytes(e):e)};var De={md5:Ue,md5Base64:e=>{const t=Ue(e);if(!t)return"";const r=Ce.hex2bytes(t);return ke.bytesToBase64(r)}};const Ie=(e,t=!1)=>{const r=new Uint8Array(e);return t?ke.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var Ne={...Ce,...Ee,...Ae,...ke,...De,str2ab:(e="",t=!1)=>{if(t)return ke.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:Ie,utf8ToBase64:e=>J.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>J.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]=je.random(256);return t},textEncode:e=>Ae.toUtf8Bytes(e),textDecode:e=>Ae.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+ke.toBase64(e):J.isArrayBuffer(e)?`data:${t};base64,`+Ie(e,!0):"":""};const ze=e=>{try{const t=Ne.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},Ke=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var He={RSAPublicKey:"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApiLWsPmoaiGdr02AmPYS\n4/VgxyJNNJSK2VICirXl4P8qAP3b/6GIs7Hwnsmmuj7gledJ0XiZodFjDNgQEZEG\nj4K9KX8NixcrJwnTQV5UebiERdj+64ihwqPVWo9dIOj43ZPJ8f4dritJv5tnQaBb\nb9zTkU3Ofzk1g8RU00Ith6quOGZcU2IWC4OQ+5YiZvzrCBKEvjFwK2OvGq43tI51\nGaZdI9H09jisypqefsMvv6esjEQQOtl+WGlI5fof7KZUt3dppvuDI4CYgeXIoKKL\n9T9qDl8F9aNSs3XHx32YyA7L1FraFD6PjqRjueIFp2emsXQcIMeMqqgVyV+4qb+0\nuwIDAQAB",RSAPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmItaw+ahqIZ2v\nTYCY9hLj9WDHIk00lIrZUgKKteXg/yoA/dv/oYizsfCeyaa6PuCV50nReJmh0WMM\n2BARkQaPgr0pfw2LFysnCdNBXlR5uIRF2P7riKHCo9Vaj10g6Pjdk8nx/h2uK0m/\nm2dBoFtv3NORTc5/OTWDxFTTQi2Hqq44ZlxTYhYLg5D7liJm/OsIEoS+MXArY68a\nrje0jnUZpl0j0fT2OKzKmp5+wy+/p6yMRBA62X5YaUjl+h/splS3d2mm+4MjgJiB\n5cigoov1P2oOXwX1o1KzdcfHfZjIDsvUWtoUPo+OpGO54gWnZ6axdBwgx4yqqBXJ\nX7ipv7S7AgMBAAECggEAE1kuWLkSsJ2OoDpt9iJ+a7cJmNd5V1zPWOTwr9fkWFJP\nQYNPKlPVOFxKUivY84rcHAkuMyuQ9OQOXZISOQGDWpZW0mzeFmtR1r+Rr2S9gNmI\n6huOAL9OW306HUxiA7GuPhv2omy+Zyjac2q1WVLEI2B78Um2+WEfxuNIH7xu0gRR\nz/wluevMBQlv6hSeMESP6e9s2kB+FuM4bL7+1sexwS1TudKbHybujaiB8un9E2V3\nC9BkE6yf00Rhvii6Q4E4w3PFQfcBEFnjOD0S2Watx8GIbYjlYvtquy8Yj7OtyZB6\nw5sxyaYhKVVnkpGAbOgaCj94ABYF47VuwXr45I4PzQKBgQDp6svzD+QKlARjcWgO\nrH7UEpFX6m49G6Ib4c63xEg9+GesTgfDxoYxtXDKsC7I8OwMrmffJGbyfjaAvzmg\nicM3Y7kF6UPO9+q2mBRsyhoJSNONTeUVyoFSc+QDsVgndlTZIjqC5XLrONGaSPLJ\n7jJzqKhp3NQcpO8+xY0d7Efm1QKBgQC10fCNuF1LUTYgsWvvGxTiCCAIBurZmHU+\nGMb2Okfoco/P+QNl1jEba91AC7FudW3g/lRn0vTnDajlNoz2/CKunrTKN4/9lEBI\ntiwEOvhc5FtapRifSfrrNwFqPM+LijvOkcteWVhAUWCEP1eLmpnXGqfmZxnTaaVe\n5DyDgyAVTwKBgQDhEawfOQEANJ9sV2f6BnsZ7quuXcCoR3hZP5G5O8EO735BSesq\nsk/YcG4QeCjr6vQU15LWH552YH5srpHyJ9uP5gHW8DTwZZaPDhFJA8S9fjcfVP3B\nU9HO1fdknjTl83N8YPTPkZpbPZZfzyTcqrYclwFEqtfkn8YbLdW0Hu6n6QKBgDEv\njvS3uD1ExfDILlurptWSvx+Mx4F/1c+roj8/+u3t9+uaAIpPDE/PuTW3NBOens/r\n3WeM0QWkU1lWjYHPKY61jlDaARDnRxCkf3nRfhibCf+Wg/erar6wzagwtTCZf55d\nIHfwkYgsu4BrJkK02wMuydbxczIW9U6bTaeCFG7PAoGAN3oHYzTEBwZ7ZKv11QiQ\nEp/HeHBvD8fH/e1uVyBel4Co7NO5pV2s8qjS8+3+jxumKLNXCirjqwHo03YCdzxi\ncy4GFDsukHmDQ7FF9VC4QV0fJ0F7jGYE9nNZ+K9qwS5KrihOSBPxj0HptrF6TSOw\nBTSwr0byL3TC0m0StkSNKpo=",generateKeys:async e=>{try{const t=await e.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),r=await window.crypto.subtle.exportKey("spki",t.publicKey),n=ze(r),s=Ke(n,"PUBLIC KEY"),i=await window.crypto.subtle.exportKey("pkcs8",t.privateKey),o=ze(i);return{publicKey:n,publicKeyPem:s,privateKey:o,privateKeyPem:Ke(o,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:Ke,format_pem_content:ze,encrypt:async(e,t,r)=>{try{const n=(new TextEncoder).encode(t),s=await e.importKey("spki",Ne.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),i=[];for(let t=0;t<n.length;t+=190){let r=n.slice(t,t+190),o=await e.encrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(o))}const o=Ne.concatBytes(...i);return Ne.bytesToBase64(o)}catch(e){return console.error("[debug] encrypt",e),""}},decrypt:async(e,t,r)=>{try{const n=Ne.base64ToBytes(t),s=await e.importKey("pkcs8",Ne.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"]),i=[],o=256;for(let t=0;t<n.length;t+=o){let r=n.slice(t,t+o),a=await e.decrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(a))}const a=Ne.concatBytes(...i);return(new TextDecoder).decode(a)}catch(e){return console.error("decrypt failed:",e),""}}};const We=()=>n.default.webcrypto.subtle;var Ve=async e=>He.encrypt(We(),e,He.RSAPublicKey),Ze=async e=>He.decrypt(We(),e,He.RSAPrivateKey);const Je="undefined"!=typeof window?window.crypto.subtle:{};var Ge={generateKeys:()=>He.generateKeys(Je),encrypt:async(e,t)=>He.encrypt(Je,e,t),decrypt:async(e,t)=>He.decrypt(Je,e,t),encode:async e=>He.encrypt(Je,e,He.RSAPublicKey),decode:async e=>He.decrypt(Je,e,He.RSAPrivateKey)};const Qe=2654435769,Ye=(e,t)=>{let r=0;for(let n=0;n<32;n++)r=r+Qe>>>0,e[0]=e[0]+((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,e[1]=e[1]+((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0;return e},Xe=(e,t)=>{let r=3337565984;for(let n=0;n<32;n++)e[1]=e[1]-((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0,e[0]=e[0]-((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,r=r-Qe>>>0;return e},et=e=>{const t=Ne.str2bytes(e),r=new Uint32Array(4);return r[0]=t[0]<<24|t[1]<<16|t[2]<<8|t[3],r[1]=t[4]<<24|t[5]<<16|t[6]<<8|t[7],r[2]=t[8]<<24|t[9]<<16|t[10]<<8|t[11],r[3]=t[12]<<24|t[13]<<16|t[14]<<8|t[15],r},tt=(e,t)=>{const r=Ne.pkcs7Padding(e,8),n=et(t),s=[];for(let e=0;e<r.length;e+=8){const t=Ne.bytesToUint32(r.slice(e,e+8)),i=Ye(t,n);s.push(Ne.uint32ToBytes(i))}return Ne.concatBytes(...s)},rt=(e,t)=>{const r=et(t),n=[];for(let t=0;t<e.length;t+=8){const s=Ne.bytesToUint32(e.slice(t,t+8)),i=Xe(s,r);n.push(Ne.uint32ToBytes(i))}const s=Ne.concatBytes(...n);return Ne.pkcs7Unpadding(s)};var nt={TEAKey:"33576f37387276645054657a6831686e454664424e5652456f47794835795942",encrypt:Ye,decrypt:Xe,toTeaKey:et,encode:(e,t)=>{const r=Ne.textEncode(e),n=tt(r,t);return Ne.bytesToBase64(n)},decode:(e,t)=>{const r=Ne.base64ToBytes(e),n=rt(r,t);return Ne.textDecode(n.buffer)},encodeBytes:tt,decodeBytes:rt};function st(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 it=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function ot(e){return it.test(e)}const at="\\ud800-\\udfff",ct=`[${at}]`,lt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",ut="\\ud83c[\\udffb-\\udfff]",ft=`[^${at}]`,ht="(?:\\ud83c[\\udde6-\\uddff]){2}",dt="[\\ud800-\\udbff][\\udc00-\\udfff]",pt=`${`(?:${lt}|${ut})`}?`,gt="[\\ufe0e\\ufe0f]?",yt=gt+pt+`(?:\\u200d(?:${[ft,ht,dt].join("|")})${gt+pt})*`,mt=`(?:${[`${ft}${lt}?`,lt,ht,dt,ct].join("|")})`,bt=RegExp(`${ut}(?=${ut})|${mt+yt}`,"g");function wt(e){return ot(e)?function(e){return e.match(bt)||[]}(e):function(e){return e.split("")}(e)}function vt(e){return t=>{if(!t)return"";const r=ot(t)?wt(t):void 0,n=r?r[0]:t[0],s=r?st(r,1).join(""):t.slice(1);return n[e]()+s}}const _t="\\ud800-\\udfff",At="\\u2700-\\u27bf",xt="a-z\\xdf-\\xf6\\xf8-\\xff",kt="A-Z\\xc0-\\xd6\\xd8-\\xde",$t="\\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",St="['’]",Ot=`[${$t}]`,jt=`[${At}]`,Ct=`[${xt}]`,Et=`[^${_t}${$t+"\\d"+At+xt+kt}]`,qt="(?:\\ud83c[\\udde6-\\uddff]){2}",Tt="[\\ud800-\\udbff][\\udc00-\\udfff]",Lt=`[${kt}]`,Pt=`(?:${Ct}|${Et})`,Bt=`(?:${Lt}|${Et})`,Mt=`(?:${St}(?:d|ll|m|re|s|t|ve))?`,Ft=`(?:${St}(?:D|LL|M|RE|S|T|VE))?`,Rt="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ut="[\\ufe0e\\ufe0f]?",Dt=Ut+Rt+`(?:\\u200d(?:${[`[^${_t}]`,qt,Tt].join("|")})${Ut+Rt})*`,It=`(?:${[jt,qt,Tt].join("|")})${Dt}`,Nt=RegExp([`${Lt}?${Ct}+${Mt}(?=${[Ot,Lt,"$"].join("|")})`,`${Bt}+${Ft}(?=${[Ot,Lt+Pt,"$"].join("|")})`,`${Lt}?${Pt}+${Mt}`,`${Lt}+${Ft}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",It].join("|"),"g");const zt=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 ]/),Kt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ht(e,t){if(void 0===t){const t=zt(e)?function(e){return e.match(Nt)}(e):function(e){return e.match(Kt)}(e);return t||[]}return e.match(t)||[]}function Wt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Wt(e)))}`;if(J.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Vt=vt("toUpperCase"),Zt=vt("toLowerCase");var Jt={toString:Wt,startCase:e=>Ht(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Vt(t)),""),snakeCase:e=>Ht(Wt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ht(Wt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ht(Wt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Vt(t):t))),""),upperCase:e=>Ht(Wt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Vt,lowerCase:e=>Ht(Wt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Zt,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},jsonFormat:e=>{try{if(!e)return"";const t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(t){return e}},toLines:(e,t="\n")=>e?e.split(t).map((e=>e.trim())).filter((e=>!!e)):[]};var Gt={logString:e=>{try{const t=JSON.stringify(e);return void 0===t?"":nt.encode(t,Ne.hex2str(nt.TEAKey))}catch(e){return""}},logParse:e=>{try{if(!e)return"";const t=nt.decode(e,Ne.hex2str(nt.TEAKey));return Jt.jsonFormat(t)}catch(e){return""}},logRString:async e=>{try{const t=JSON.stringify(e);if(void 0===t)return"";return J.isBrowser?await Ge.encode(t):await Ve(t)}catch(e){return""}},logRParse:async e=>{try{if(!e)return"";const t=J.isBrowser?await Ge.decode(e):await Ze(e);return Jt.jsonFormat(t)}catch(e){return""}}};const Qt=(e,t,r)=>e*(1-r)+t*r,Yt=(e,t,r)=>e===t?0:(r-e)/(t-e),Xt=(e,t,r)=>({x:Qt(e.x,t.x,r),y:Qt(e.y,t.y,r)}),er=(e,t,r,n)=>{const s=Xt(e,t,n),i=Xt(t,r,n);return Xt(s,i,n)},tr=(e,t)=>{if(1===e.length)return e[0];const r=[];for(let n=0;n<e.length-1;n++)r.push({x:(1-t)*e[n].x+t*e[n+1].x,y:(1-t)*e[n].y+t*e[n+1].y});return tr(r,t)},rr=(e,t)=>{if(0===t||t===e)return 1;let r=1;for(let n=1;n<=t;n++)r=r*(e-n+1)/n;return r};var nr={bezier1:Xt,bezier2:er,bezier3:(e,t,r,n,s)=>{const i=er(e,t,r,s),o=er(t,r,n,s);return Xt(i,o,s)},bezier:tr,bezierCurve:(e,t)=>{const r=e.length-1;let n=0,s=0;for(let i=0;i<=r;i++){const o=rr(r,i)*Math.pow(1-t,r-i)*Math.pow(t,i);n+=o*e[i].x,s+=o*e[i].y}return{x:n,y:s}},lerp:Qt,lerpAverage:(e,t,r="")=>{if(e.length<=0)return 0;if(1===e.length)return e[0].x;if(2===e.length)return Qt(e[0].y,e[1].y,.5);const n=[],s=e.slice().sort(((e,t)=>e.x-t.x)),i=s.length,o=s[0].x,a=s[i-1].x;for(let e=o;e<=a;e+=t){let t=0;for(let n=0;n<i-1;n++){const i=s[n],o=s[n+1];if(e>=i.x&&e<=o.x){if("lerp"===r){const r=Yt(i.x,o.x,e);t=Xt(i,o,r).y}else t=i.y;break}}e>s[i-1].x&&(t=s[i-1].y),n.push(t)}return n.reduce(((e,t)=>e+t),0)/n.length},proportion:Yt};var sr={anySuccess:async e=>await Promise.any(e.map((e=>e?e?.then((e=>!!e||Promise.reject())):Promise.reject()))).catch((()=>!1))};var ir={...ye,...Gt,...nr,...sr,sleep:ye.delay,run:async function(e,t=0){if(t<=0)return ye.safeRun(e);const r=t>0?Date.now():0,n=await ye.safeRun(e),s=Date.now()-r;return s<t&&await ye.delay(t-s),n},exec:(e,t="")=>_e.I.exec(e,t),debounce:ue,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return J.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),ue(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new fe(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 ye.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await ye.delay(i)}while(-1===n||s>0)},pipe:(e,t)=>_e.I.pipeline.push(e,t),pipeline:(e=1)=>new ve(e),safeTask:(e,t)=>new we(e,t),pipeAsync:e=>_e.I.pipeline.exec(e),runAsync:async(e,t={pipe:!1,mutex:""})=>{let r;r=t.pipe?_e.I.pipeline.exec(e):_e.I.exec(e,t.mutex||"");const[n,s]=await r;if(!n)return s}};const or=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]=or(e[r]));return t};const ar=(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]=cr(e[o],a,r)}return n},cr=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?ar(e,t,r):ar({...e},t,r),n},lr=(e,t,r={})=>ar({...e},t,{cover:!0,...r}),ur=(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=>{ur(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ur(e,t,r,n,s)},get:()=>i})};var fr={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:Jt.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:or,merge:cr,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]=Jt.parseValue(n,{number:t,boolean:r});else e[n]=Jt.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:lr,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=lr(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:ur,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};const hr=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 f=(e=e.split(t)).length;u>0&&f>u&&(f=u);for(let t=0;t<f;++t){let n,o,a,u,f=e[t].replace(l,"%20"),h=f.indexOf(r);h>=0?(n=f.substr(0,h),o=f.substr(h+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,u=i?decodeURIComponent(o):o,k.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return fr.parseValue(c,{number:o,boolean:a}),c},dr=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},pr=function(e,t=!0){return t?encodeURIComponent(e):e},gr=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},yr=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,mr="(?: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}",br="[a-fA-F\\d]{1,4}",wr=`\n(?:\n(?:${br}:){7}(?:${br}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${br}:){6}(?:${mr}|:${br}|:)| // 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(?:${br}:){5}(?::${mr}|(?::${br}){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(?:${br}:){4}(?:(?::${br}){0,1}:${mr}|(?::${br}){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(?:${br}:){3}(?:(?::${br}){0,2}:${mr}|(?::${br}){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(?:${br}:){2}(?:(?::${br}){0,3}:${mr}|(?::${br}){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(?:${br}:){1}(?:(?::${br}){0,4}:${mr}|(?::${br}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${br}){0,5}:${mr}|(?::${br}){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(),vr=new RegExp(`^${mr}$`),_r=new RegExp(`^${wr}$`),Ar=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}},xr=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(yr);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},kr=(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)},$r=e=>{const t=(e||"").trim();return vr.test(t)},Sr=e=>{const t=(e||"").trim();return _r.test(t)},Or=e=>!!e&&(!!kr(e,"localhost")||!!$r(e)&&!!(kr(e,"127.0.0.1")||kr(e,"127.*")||kr(e,"10.*")||kr(e,"172.*")||kr(e,"192.168.*"))),jr=e=>{if(!e)return!1;if(!Sr(e))return!1;const t=e.toLowerCase();if(kr(t,"::1")||kr(t,"::")||kr(t,"fc*")||kr(t,"fd*")||kr(t,"fe8*")||kr(t,"fe9*")||kr(t,"fea*")||kr(t,"feb*")||kr(t,"fec*")||kr(t,"fed*")||kr(t,"fee*")||kr(t,"fef*"))return!0;if(t.startsWith("::ffff:")){const e=t.substring(7);return Or(e)}if(t.startsWith("::")){const e=t.split(".");if(4===e.length)return Or(e.join("."))}return!1};var Cr={parse:hr,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=pr(dr(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+pr(dr(e),s)})).join(t):gr(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+pr(dr(l),s)})).filter(Boolean).join(t):n?pr(dr(n),s)+r+pr(dr(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=xr(e),{origin:r="",url:n="",query:s=""}=t,i=Ar(n),o=hr(s,{multiple:!0,uri:!1});return{...t,...i,pathname:n.substring(n.indexOf(r||"")+r.length),params:o}},parsePath:Ar,parseHost:xr,join:(...e)=>{const t=[];let r=!1;return e.forEach((e=>{const n=e.trim();if(""===n)return;if(/^(\w+):\/\//.test(n))return t.length=0,t.push(n),void(r=!0);n.split("/").forEach((e=>{"."!==e&&""!==e&&(".."===e?t.length>0&&".."!==t[t.length-1]?t.pop():r||t.push(".."):t.push(e))}))})),t.join("/")},urlJoin:(...e)=>{if(0===e.length)return"";const t=e.filter((e=>null!=e&&""!==e)).map((e=>e.trim()));if(0===t.length)return"";if(1===t.length)return t[0];let r="",n="";const s=[];let i=!1,o=!1,a=!1,c=!1,l=!1;for(let e=0;e<t.length;e++){let u=t[e];if(!i){const e=u.match(/^([a-zA_Z][a-zA-Z\d+\-.]*):\/\/([^/#?]+)/i);if(e)r=e[1].toLowerCase(),n=e[2],i=!0,c="file"===r,u=u.slice(e[0].length),u.startsWith("/")&&(o=!0);else{const e=u.match(/^file:(\/\/)?\/?/i);e&&e[0]&&(r="file",i=!0,c=!0,n="",u=u.slice(e[0].length),(u.startsWith("/")||e[0].includes("/"))&&(o=!0))}}if(0!==e||i||(u.startsWith("/")?o=!0:(u.startsWith("./")||u.startsWith("../"))&&(a=!0)),c&&!l){const e=u.match(/^([a-zA-Z]:)/);e&&(l=!0,0===s.length&&(s.push(e[1]),u=u.slice(e[1].length)))}if(!u)continue;const f=u.split("/").filter((e=>""!==e&&"."!==e));for(const e of f)if(c&&!l&&e.match(/^[a-zA-Z]:$/))l=!0,s.push(e);else if(".."===e)if(s.length>0&&".."!==s[s.length-1]){if(s[s.length-1].match(/^[a-zA-Z]:$/))continue;s.pop()}else i||o||s.push("..");else s.push(e)}let u=s.join("/");if(o?u="/"+u:!a||u.startsWith("./")||u.startsWith("../")||(u="./"+u),i){let e=u;return c?(l?(e.match(/^\/?[a-zA-Z]:/)||(e="/"+e),e=e.replace(/^(\/?[a-zA-Z]:)([^/]|$)/,"$1/$2")):e&&!e.startsWith("/")&&(e="/"+e),`file://${e}`):(!e||e.startsWith("/")||e.startsWith("./")||e.startsWith("../")||(e="/"+e),`${r}://${n}${e}`)}return u},shExpMatch:kr,isLocalIPAddress:e=>!!e&&!!(kr(e,"127.0.0.1")||kr(e,"localhost")||kr(e,"192.168.*.*")),parseFileUrl:e=>{const t={href:e,file:"",url:"",protocol:"",host:"",query:"",params:{}};if(!e)return t;let r=e?e.replace(/\\/g,"/"):"";r.startsWith("file://")&&!r.startsWith("file:///")?r="file:///"+r.slice(7):r.startsWith("file:/")&&!r.startsWith("file:///")&&(r="file:///"+r.slice(6));const n=r.match(/^file:\/\/(?:([^\/\\]+))?(\/.*)?$/);if(!n||n.length<3)return t;t.protocol="file:";const s=n[1]||"",i=n[2]||"";t.host=s;const o=i.split("?");return t.url=t.protocol+`//${t.host}`+o[0],t.file=o[0],t.query=o.length>1?o[1]:"",t.params=hr(t.query,{multiple:!0,uri:!1}),t},isIP:e=>{const t=(e||"").trim();return!!$r(t)||!!Sr(t)},isIPv4:$r,isIPv6:Sr,isPrivateIP:e=>!!e&&(!!Or(e)||!!jr(e)),isPrivateIPv4:Or,isPrivateIPv6:jr};class Er{_loopTimer;_event=new h;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 qr={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class Tr{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/qr.oneSecond);let r=t.countdown;t.d=Math.floor(r/qr.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=qr.oneDay,t.h=Math.floor(r/qr.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=qr.oneHour,t.m=Math.floor(r/qr.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=qr.oneMinute,t.s=Math.floor(r/qr.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=qr.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>qr.oneHour?"hh:mm:ss":t.countdown>qr.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 Lr=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?Mr(e):e;return r?Pr(r).format(t):""},Pr=e=>{const t="string"==typeof e||"number"==typeof e?Mr(e):e;return new Tr(t||0)};function Br({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(Lr(Date.now(),o)).getTime()}function Mr(e){if(!e)return;let t;return"string"==typeof e?t=new Date(e):"number"==typeof e&&(t=10==e.toString().length?new Date(1e3*e):new Date(e)),t}var Fr={...qr,now:function(){return Pr(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:Br,todayZero:()=>Br({}),format:Lr,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return Pr(r).toCountdown(t)},dtime:Pr,loopFrame:(e=500)=>new Er(e),getTimezoneOffset:()=>Tr.timezoneOffset,getLocalTime:Tr.getLocalTime,toDate:Mr};const Rr=e=>ke.toBase64(e);var Ur={encode:Rr,decode:e=>ke.fromBase64(e),encodeByOss:e=>Rr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Dr={...a,base64:Ur,tea:nt,uuid:c,guid:(e=0,t=!1,r="")=>{let n="";return n=e<=0?c():f(e||32,"lower"),t?Fr.now().format("yyyyMMddhhmmss")+r+n:n},UUID:u,uuid32:l,randomID:f,getHexString:e=>{const t=a.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 Ir=(e,t,r=8)=>{if(e===t)return!0;if(null==e||null==t||"object"!=typeof e||"object"!=typeof t)return!1;if(r<=0)return!1;if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const n=Object.prototype.toString.call(e);if(n!==Object.prototype.toString.call(t))return!1;switch(n){case"[object Array]":return Nr(e,t,r);case"[object Map]":return zr(e,t,r);case"[object Set]":return Kr(e,t,r);case"[object Object]":return Hr(e,t,r);default:return Wr(e,t,n)}},Nr=(e,t,r=1/0)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Ir(e[n],t[n],r-1))return!1;return!0},zr=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const[n,s]of e)if(!t.has(n)||!Ir(s,t.get(n),r-1))return!1;return!0},Kr=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const n of e)if(![...t].some((e=>Ir(n,e,r-1))))return!1;return!0},Hr=(e,t,r=1/0)=>{const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;for(const i of n)if(!s.includes(i)||!Ir(e[i],t[i],r-1))return!1;const i=Object.getOwnPropertySymbols(e),o=Object.getOwnPropertySymbols(t);if(i.length!==o.length)return!1;for(const n of i)if(!o.includes(n)||!Ir(Reflect.get(e,n),Reflect.get(t,n),r-1))return!1;return!0},Wr=(e,t,r)=>{switch(r){case"[object RegExp]":return String(e)===String(t);case"[object Date]":return e.getTime()===t.getTime();case"[object ArrayBuffer]":return Vr(e,t);default:return e===t}},Vr=(e,t)=>{if(e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e),n=new Uint8Array(t);for(let e=0;e<r.length;e++)if(r[e]!==n[e])return!1;return!0};var Zr={isEqual:Ir,isEqualArray:Nr,isEqualObject:Hr,isEqualValue:Wr,isEqualAB:Vr,isEqualDeep:(e,t)=>Ir(e,t,1/0)};const Jr=(e,t=new WeakMap)=>{if(null===e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let r;if(Array.isArray(e)){r=[],t.set(e,r);for(const n of e)r.push(Jr(n,t))}else if(e instanceof Date)r=new Date(e);else if(e instanceof RegExp)r=new RegExp(e.source,e.flags);else if(e instanceof Map){r=new Map,t.set(e,r);for(const[n,s]of e.entries())r.set(Jr(n,t),Jr(s,t))}else if(e instanceof Set){r=new Set,t.set(e,r);for(const n of e.values())r.add(Jr(n,t))}else if("object"==typeof e){r={},t.set(e,r);for(const[n,s]of Object.entries(e))r[n]=Jr(s,t)}return r};var Gr={copy:(e,t={})=>{if(null==e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r||null===r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!0,...o}=t,a={},c=[{condition:o.ignoreNull,test:e=>null===e},{condition:o.ignoreZero,test:e=>0===e},{condition:o.ignoreEmptyArray,test:e=>Array.isArray(e)&&0===e.length},{condition:o.ignoreEmptyString,test:e=>"string"==typeof e&&""===e.trim()}].filter((e=>e.condition));for(const[e,t]of Object.entries(r)){const r=!s||i&&e.startsWith("_")?e:Jt.camelCase(e);n.length>0&&!n.includes(e)&&!n.includes(r)||(c.some((e=>e.test(t)))||(a[r]=t))}return a},clone:Jr,cloneClass:function(e){return null==e||"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}};const Qr=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var Yr={shExpMatch:Qr,shExpMatchs:(e,t)=>{if(!e||!t)return!1;let r=[];if(Array.isArray(t))r=t;else{if("string"!=typeof t)return!1;r=[t]}for(const t of r){if("*"===t)return!0;if(Qr(e,t))return!0}return!1}};const Xr="[object Object]",en="[object Array]",tn=k.getTag,rn=e=>{if(tn(e)!==Xr)return e;const t={};for(const r in e)if(/\w+\.\w+/g.test(r)&&!r.includes("[")){const n=r.split(".");let s=t;for(let e=0;e<n.length-1;e++){const t=n[e];tn(s[t])!==Xr&&(s[t]={}),s=s[t]}s[n[n.length-1]]=e[r]}else t[r]=e[r];return t},nn=(e,t,r=!1)=>{if(e===t)return;const n=tn(e);if(n===tn(t))if(n===en&&e.length>=t.length)for(let r=0;r<t.length;r++)nn(e[r],t[r]);else if(n===Xr&&Object.keys(e).length>=Object.keys(t).length)for(const n in t)r||void 0!==e[n]?nn(e[n],t[n]):e[n]=null},sn=(e,t)=>nn(e,t,!0),on=(e,t,r={},n="",s=!1)=>{if(e===t)return r;const i=tn(e),o=tn(t);if(i===en&&o===i&&e.length>=t.length){for(let s=0;s<e.length;s++)on(e[s],t[s],r,`${n}[${s}]`,!1);return r}if(i===Xr&&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=tn(s),c=tn(o);if(s!==o)if(a===en&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)on(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`,!1);else if(a===Xr&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)on(s[e],o[e],r,`${n?n+".":""}${i}.${e}`,!1);else null!==s&&(r[`${n?n+".":""}${i}`]=s)}return r}return r[n]=e,r};var an={...Zr,...Gr,...Yr,...{flattenPath:rn,normalizeStructure:sn,diffPath:(e,t)=>{const r=rn(e),n=rn(t);return sn(r,n),on(r,n)}}};var cn={urlAuthA:(e,t=Date.now()+2*qr.oneDay,r="AM3FUIg6Gh8MAtb3XTHB")=>{const n=/^(http:\/\/|https:\/\/)?([^\/?]+)(\/[^?]*)?(\?.*)?$/.exec(e);if(!n)return"";const s=Math.floor(t/1e3);let[,i,o,a,c]=n;i||(i="http://"),a||(a="/"),c||(c="");const u=l(),f=`${s}-${u}-0-${De.md5(`${a}-${s}-${u}-0-${r}`)}`;return c?`${i}${o}${a}${c}&auth_key=${f}`:`${i}${o}${a}${c}?auth_key=${f}`}};const ln={...an,...Ne,...Dr,...ir,...Jt,...je,...be,qs:Cr,ali:cn};var un={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)}};function fn(e){return e!=e}function hn(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 dn,pn,gn=(dn=Object.keys,pn=Object,function(e){return dn(pn(e))}),yn=Math.max;function mn(e,t){var r=J.isArray(e)||J.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&&!k.hasOwnProperty.call(e,i)||s&&("length"==i||J.isIndex(i,n))||r.push(i);return r}var bn={...J,...k,...fr,...be,includes:function(e,t,r,n){e=J.isArrayLike(e)?e:function(e){return e?hn(e,function(e){return J.isArrayLike(e)?mn(e):function(e){if(!J.isPrototype(e))return gn(e);var t=[];for(var r in Object(e))k.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?oe.toInteger(r):0;var s=e.length;return r<0&&(r=yn(s+r,0)),J.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,fn,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(J.isObject(e)&&(r=J.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var wn={...{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]:[]}},stepAction:function(e,t,r=100){if(!J.isFunction(t))return;if(!J.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(!J.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!J.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!J.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return je.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!J.isObject(e))return;const s=e[t];(J.isString(s)&&""!==s||J.isNumber(s))&&(n[s]=e[r])})),n):n}};const vn=/%[sdj%]/g;let _n=()=>{};function An(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 xn(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(vn,(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 kn(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 $n(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&&(_n=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Sn extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function On(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);$n(o,r,(e=>(n(e),e.length?i(new Sn(e,An(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 f=e=>{if(l.push.apply(l,e),c++,c===a)return n(l),l.length?u(new Sn(l,An(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?$n(n,r,f):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,f)}))}));return u.catch((e=>e)),u}function jn(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],(s=r)&&void 0!==s.message?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField};var s}}function Cn(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 En=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!kn(t,i||e.type)||n.push(xn(s.messages.required,e.fullField))};let qn;const Tn=/^(([^<>()\[\]\\.,;:\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,}))$/,Ln=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Pn={integer:e=>Pn.number(e)&&parseInt(e,10)===e,float:e=>Pn.number(e)&&!Pn.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&&!Pn.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Tn),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(qn)return qn;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 qn=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"),qn})()),hex:e=>"string"==typeof e&&!!e.match(Ln)},Bn="enum";var Mn={required:En,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(xn(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void En(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Pn[i](t)||n.push(xn(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(xn(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 f="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(f?u="number":h?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),h&&(l=t.replace(c,"_").length),i?l!==e.len&&n.push(xn(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(xn(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(xn(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(xn(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Bn]=Array.isArray(e[Bn])?e[Bn]:[],-1===e[Bn].indexOf(t)&&n.push(xn(s.messages[Bn],e.fullField,e[Bn].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(xn(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(xn(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Fn=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kn(t,i)&&!e.required)return r();Mn.required(e,t,n,o,s,i),kn(t,i)||Mn.type(e,t,n,o,s)}r(o)};var Rn={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(kn(t,"string")&&!e.required)return r();Mn.required(e,t,n,i,s,"string"),kn(t,"string")||(Mn.type(e,t,n,i,s),Mn.range(e,t,n,i,s),Mn.pattern(e,t,n,i,s),!0===e.whitespace&&Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&Mn.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),kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&(Mn.type(e,t,n,i,s),Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),kn(t)||Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&(Mn.type(e,t,n,i,s),Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&(Mn.type(e,t,n,i,s),Mn.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();Mn.required(e,t,n,i,s,"array"),null!=t&&(Mn.type(e,t,n,i,s),Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&Mn.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(kn(t,"string")&&!e.required)return r();Mn.required(e,t,n,i,s),kn(t,"string")||Mn.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(kn(t,"date")&&!e.required)return r();if(Mn.required(e,t,n,i,s),!kn(t,"date")){let r;r=t instanceof Date?t:new Date(t),Mn.type(e,r,n,i,s),r&&Mn.range(e,r.getTime(),n,i,s)}}r(i)},url:Fn,hex:Fn,email:Fn,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s)}r(i)}};function Un(){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 Dn=Un();class In{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Rn[e]=t};static warning=_n;static messages=Dn;static validators=Rn;rules={};_messages=Dn;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=Cn(Un(),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===Dn&&(e=Un()),Cn(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 On(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&&In.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(jn(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(jn(r,n)):s.error&&(u=[s.error(r,xn(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 In(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=An(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&&!Rn.hasOwnProperty(e.type))throw new Error(xn("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]?Rn.required:Rn[this.getType(e)]||void 0}}function Nn(e){return new In(e)}var zn={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:Nn,validate:function(e,t,r={},n=(()=>{})){return ir.run(Nn(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 Kn={stringify:function(e){try{if(!(e instanceof Map))return;return JSON.stringify([...e.entries()])}catch(e){return}},parse:function(e){try{if("string"!=typeof e)return;const t=JSON.parse(e);if(!Array.isArray(t))return;return new Map(t)}catch(e){return}},deepStringify:function e(t){try{if(!(t instanceof Map))return;const r=[...t.entries()].map((([t,r])=>r instanceof Map?[t,JSON.parse(e(r))]:r instanceof Set?[t,[...r]]:[t,r]));return JSON.stringify(r)}catch(e){return}},deepParse:function e(t){try{if("string"!=typeof t)return;const r=JSON.parse(t);if(!Array.isArray(r))return;return new Map(r.map((([t,r])=>{if(Array.isArray(r)&&r.every((e=>Array.isArray(e)&&2===e.length))){return[t,e(JSON.stringify(r))]}return[t,r]})))}catch(e){return}}};const Hn={gbk:un,math:je,list:wn,string:Jt,time:Fr,obj:fr,rule:zn,regex:{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})$/}},...Ne,...Dr,...bn,Event:h,map:Kn},Wn="[object Object]",Vn="[object Array]",Zn=e=>Object.prototype.toString.call(e),Jn=(e,t,r=!1)=>{if(e===t)return;const n=Zn(e);if(n===Zn(t))if(n===Vn&&e.length>=t.length)for(let r=0;r<t.length;r++)Jn(e[r],t[r]);else if(n===Wn&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?Jn(e[n],t[n]):e[n]=null},Gn=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=Zn(e),o=Zn(t);if(i===Vn&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)Gn(e[s],t[s],r,`${n}[${s}]`);else if(i===Wn&&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=Zn(s),c=Zn(o);if(s!==o)if(a===Vn&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)Gn(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===Wn&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)Gn(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class Qn{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 Yn{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new Qn,response:new Qn};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){Yn.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Yn.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=fr.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(Yn.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await Yn.requestLock[Yn.blockId].request;else if(Yn.requestLock[Yn.blockId]&&Yn.requestLock[Yn.blockId].lock&&await Yn.requestLock[Yn.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Yn.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await Yn.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 Xn=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var es={diff:function(e,t){const r={};return(e=>{if(Zn(e)===Wn)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];Zn(n[t])!==Wn&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),Jn(e,t,!0),Gn(e,t,r,"",!0),r},promixify:Xn,run:(e,t={})=>e?ir.run(Xn(e)(t)):ir.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:Yn,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;fr.observe(s,o,a,e,c)}))}};const ts=e=>{if(!e)return"";if(!bn.isObject(e))return"";let t="";return bn.forof(e,((e,r)=>{r&&(t+=`${Jt.kebabCase(e)}:${r};`)})),t},rs=["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"],ns=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],ss=(e,t="px")=>e&&t?"0"===e?e:zn.isFloat(e.toString())?`${e}${t}`:e:e;var is={stringify:ts,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Cr.parse(e,{sep:";",eq:":",uri:!1}),s={};return bn.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:Jt.camelCase(e):e;zn.isFloat(n)||n.length>=2&&n.startsWith(".")&&zn.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:ss,style:(e,t="px")=>{if(!e)return"";const r=bn.copy(e,{fields:rs});bn.forof(r,((e,n)=>{(ns.includes(e)||ns.includes(Jt.camelCase(e)))&&(r[e]=ss(n,t))}));return ts(r)},commonFields:rs};var os={watchTextChange:function(e,t){if(!(e instanceof HTMLElement))return;let r=e.textContent||"";const n=new MutationObserver((()=>{const n=e.textContent||"";n!==r&&t&&(t(n,r),r=n)}));return n.observe(e,{childList:!0,characterData:!0}),()=>(()=>{try{n?.disconnect()}catch(e){}})()},watchAttrChange:function(e,t,r){if(!(e instanceof HTMLElement))return;const n=new MutationObserver((n=>{for(const s of n)if("attributes"===s.type&&t){const n=s.attributeName;if(!n)continue;if(!r||r.includes(n)){const r=e.getAttribute(n),i=s.oldValue;t(n,r,i)}}}));return n.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:r||void 0}),()=>{(()=>{try{n?.disconnect()}catch(e){}})()}},watchElementChange:function(e,t){if(!(e&&e instanceof Element))return;const{onText:r,onAttr:n,attrFilter:s=null}=t||{};if(!r&&!n)return;let i=e.textContent||"";const o=e=>{if(e!==i){try{r?.(e,i)}catch(e){console.error("watchElementChange: onText error:",e)}i=e}},a=new MutationObserver((t=>{for(const i of t)try{switch(i.type){case"characterData":case"childList":if(r){const t=e.textContent||"";o(t)}break;case"attributes":if(n){const t=i.attributeName;if(t&&(!s||s.includes(t))){const r=e.getAttribute(t),s=i.oldValue;try{n(t,r,s)}catch(e){console.error("watchElementChange: onAttr error:",e)}}}}}catch(e){console.error("watchElementChange: MutationObserver error:",e)}})),c={attributes:!!n,attributeOldValue:!!n,characterData:!!r,childList:!!r,subtree:!!r};n&&s&&(c.attributeFilter=s);try{a.observe(e,c)}catch(e){return void console.error("watchElementChange: observe error:",e)}return()=>{(()=>{try{a?.disconnect()}catch(e){}})()}},waitForElement:function(e,t=0){return new Promise((r=>{if(!e)return void r(null);const n=document.querySelector(e);if(n)return void r(n);let s=null;const i=new MutationObserver((()=>{const t=document.querySelector(e);t&&(o(),r(t),s&&(clearTimeout(s),s=null))}));i.observe(document.body,{childList:!0,subtree:!0}),t&&(s=setTimeout((()=>{o(),r(null),s=null}),t));const o=()=>{try{i?.disconnect()}catch(e){}}}))}};const as=(e,t="",r=!1)=>{try{if(!e)return;const n=Cr.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}?${Cr.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){cs(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},cs=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;as(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},ls=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}},us=(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)))})),fs=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e,hs=(e,t)=>{if(!e||!t)return[];const r=[];let n;for(;null!==(n=t.exec(e));)r.push(n[1]);return r},ds=(e,t="application/javascript")=>{const r=new Blob([e],{type:t});return URL.createObjectURL(r)};var ps={...os,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:as,download:(e,t="")=>{e&&("string"!=typeof e?cs(e,t):as(e,t))},downloadFile:cs,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();as(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?us("clipboard-write").then((t=>{fs(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(ls(e)))):r(ls(e))})).catch((()=>{r(ls(e))})):r(ls(e))})),queryPermission:us,isAllowed:fs,legacyCopy:ls,takeHtmlLinks:e=>{if(!e)return[];const t=[];return[/<script[^>]+src="([^"]+)"/g,/<link[^>]+rel="stylesheet"[^>]+href="([^"]+)"/g,/<link[^>]+rel="icon"[^>]+href="([^"]+)"/g].forEach((r=>{const n=hs(e,r);t.push(n)})),[].concat(...t)},takeHtml:hs,toBlobUrl:ds,workerURL:e=>ds(`(${e.toString()})()`,"text/javascript"),getVideoMetadata:(e,t=3e4)=>new Promise(((r,n)=>{let s=null,i=null,o=null;const a=e=>{o&&(clearTimeout(o),o=null),s&&(s.onerror=null,s.onloadedmetadata=null,s.remove(),s=null),i&&(URL.revokeObjectURL(i),i=null),e&&n(e)};try{if(s=document.createElement("video"),o=setTimeout((()=>{a(new Error(`操作超时(${t}ms)`))}),t),e instanceof File||e instanceof Blob||e instanceof MediaSource)i=URL.createObjectURL(e),s.src=i;else{if("string"!=typeof e)throw new Error("无效的视频源类型");s.crossOrigin="anonymous",s.src=e}s.onloadedmetadata=()=>{r({width:s?.videoWidth||0,height:s?.videoHeight||0,duration:s?.duration||0}),a()},s.onerror=()=>{a(new Error(`视频加载失败: ${s?.error?.message||"未知错误"}`))}}catch(e){a(e instanceof Error?e:new Error("未知同步错误"))}})),getImageMetadata:(e,t=5e3)=>new Promise(((r,n)=>{const s=new Image;let i=null,o=null;const a=e=>{o&&(clearTimeout(o),o=null),s.onload=null,s.onerror=null,i&&(URL.revokeObjectURL(i),i=null),e&&n(e)};o=setTimeout((()=>{a(new Error(`图片加载超时(${t}ms)`))}),t),s.onload=()=>{r({width:s.naturalWidth,height:s.naturalHeight}),a()},s.onerror=()=>{a(new Error(`无法加载图片: ${s.src||"未知资源"}`))};try{if(e instanceof File||e instanceof Blob)i=URL.createObjectURL(e),s.src=i;else{if("string"!=typeof e)throw new Error("无效的图片源类型");s.setAttribute("crossOrigin","Anonymous"),s.src=e}}catch(e){e instanceof Error?a(e):a(new Error("未知同步错误"))}})),ElementObserver:class{callbacks;selector="";observer=null;elementsSeen=new WeakSet;clickHandlers=new Map;isObserving=!1;root=document.body;constructor(e={}){this.callbacks={onAppear:e.onAppear||(()=>{}),onDisappear:e.onDisappear||(()=>{}),onClick:e.onClick||(()=>{})}}initObserver(){this.observer=new MutationObserver((e=>{let t=new Set,r=new Set;for(const n of e)if("childList"===n.type){for(const e of n.addedNodes)t=this.collectAdded(e,t);for(const e of n.removedNodes)r=this.collectRemoved(e,r)}t.forEach((e=>this.triggerCallback(e,"appear"))),r.forEach((e=>this.triggerCallback(e,"disappear")))}))}collectAdded(e,t){if(e.nodeType!==Node.ELEMENT_NODE)return t;const r=e;return r.matches&&r.matches(this.selector)&&t.add(r),t}collectRemoved(e,t){if(e.nodeType!==Node.ELEMENT_NODE)return t;const r=e;return this.elementsSeen.has(r)&&t.add(r),t}triggerCallback(e,t){if("appear"===t){if(!this.elementsSeen.has(e)){this.elementsSeen.add(e),this.bindClick(e);try{this.callbacks.onAppear(e)}catch(e){console.error(e)}}}else if(this.elementsSeen.has(e)){this.elementsSeen.delete(e),this.unbindClick(e);try{this.callbacks.onDisappear(e)}catch(e){console.error(e)}}}bindClick(e){if(this.clickHandlers.has(e))return;const t=t=>{try{this.callbacks?.onClick(e,t)}catch(e){console.error(e)}};e.addEventListener("click",t),this.clickHandlers.set(e,t)}unbindClick(e){const t=this.clickHandlers.get(e);t&&(e.removeEventListener("click",t),this.clickHandlers.delete(e))}observe(e,t={}){if(this.isObserving)return void console.warn("Already observing. Call disconnect() first.");this.selector=e,this.root=t.root??document.body,this.observer||this.initObserver();const{childList:r=!0,subtree:n=!0}=t;this.observer.observe(this.root,{childList:r,subtree:n}),Array.from(this.root.children).forEach((t=>{t.matches&&t.matches(e)&&this.triggerCallback(t,"appear")})),this.isObserving=!0}updateObserver(e){return!!e&&(this.selector=e,this.isObserving&&(this.elementsSeen=new WeakSet,Array.from(this.root.children).forEach((e=>{e.matches&&e.matches(this.selector)&&this.triggerCallback(e,"appear")}))),!0)}disconnect(){this.observer&&this.observer.disconnect(),this.elementsSeen=new WeakSet,this.clickHandlers.forEach(((e,t)=>{t?.removeEventListener("click",e)})),this.isObserving=!1}updateCallbacks(e){this.callbacks={...this.callbacks,...e}}destroy(){this.disconnect(),this.observer=null,this.callbacks={onAppear:()=>{},onDisappear:()=>{},onClick:()=>{}}}}};const gs=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,${Ur.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}`}},ys={mini:es,css:is,qs:Cr,icon:gs,html:ps},ms=({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 bs(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function ws(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(bn.isPlainObject(e)){const r=Cr.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 vs{host="";reqConfig={};handleError;interceptors={request:new Qn,response:new Qn};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(ws),this.interceptors.response.use(e.handleResponse||bs),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){vs.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete vs.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=bn.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(vs.blockId,(()=>ms(s))),i=await vs.requestLock[vs.blockId].request;else if(vs.requestLock[vs.blockId]&&vs.requestLock[vs.blockId].lock&&await vs.requestLock[vs.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),vs.requestLock[e]||this.lockR(e,(()=>ms(s))),i=await vs.requestLock[e].request,this.unlockR(e)}else i=await ms(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)}}}var _s={getDataURL:(e,t)=>{const r={contentType:"",dataUrl:""};return ye.to(fetch(e,{cache:t}).then((e=>(r.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(r.dataUrl=`data:${r.contentType};base64,`+Ne.ab2str(e,!0),r))))},getArrayBuffer:async(e,t)=>ye.to(fetch(e,{cache:t}).then((e=>e.arrayBuffer()))),getJson:async(e,t)=>ye.to(fetch(e,{cache:t}).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=je.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)})))),getText:async(e,t)=>ye.to(fetch(e,{cache:t}).then((e=>e.text()))),cache:async(e,t="no-cache")=>ye.to(fetch(e,{cache:t}).then((()=>!0))),Fetch:class{baseURL;defaultHeaders;constructor(e={}){this.baseURL=e.baseURL||"",this.defaultHeaders=e.headers||{}}query(e,t={}){return new Promise(((r,n)=>{let s=e.url||"";const i={...this.defaultHeaders,...e?.headers||{}},o={method:e?.method||"GET",headers:i,cache:e?.cache},a=o.method?.toUpperCase();"POST"===a&&(o.body=JSON.stringify(t||{}),i["Content-Type"]||(i["Content-Type"]="application/json"),o.headers=i),fetch(s,o).then((async e=>{const t=await e.text();e.ok?r(t):n(this.formatError(e,t))})).catch((e=>{n(this.formatError(null,null,e))}))}))}request(e,t={}){const{method:r="GET",baseURL:n=this.baseURL,headers:s,params:i,cache:o}=t,a="GET"===r.toUpperCase(),c=a&&i?`?${Cr.stringify(i)}`:"",l={url:`${Cr.urlJoin(n,e)}${c}`,method:r,headers:{"Content-Type":"application/json",...s},cache:o};return this.query(l,a?void 0:i)}formatError(e,t,r){const n={timestamp:(new Date).toISOString(),type:r?"NetworkError":"HttpError",message:r?r.message||"":`HTTP ${e?.status}: ${e?.statusText}`};return e&&(n.status=e.status,n.statusText=e.statusText,n.url=e.url,n.data=t,n.response={status:e.status,statusText:e.statusText,data:t,headers:Object.fromEntries(e.headers.entries())}),r&&(n.originalError=r,n.code=r.code),n}}};const As={fetch:_s,Http:vs,css:is,qs:Cr,icon:gs,html:ps,rsa:Ge,...{Ecdh:class{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 Ne.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=Ne.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=Ne.base64ToBytes(r),s=Ne.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return Ne.ab2str(i,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?Ne.base64ToBytes(r):Ne.getRandomBytes(12),s=Ne.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),o=Ne.concatBytes(new Uint8Array(i),n);return Ne.bytesToBase64(o)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Ne.base64ToBytes(e),s=Ne.base64ToBytes(r),i=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return Ne.textDecode(i)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=Ne.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 Ne.textDecode(s)}}}};var xs={ossImage:(e,t={})=>{if(!e)return e;const r=Cr.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=wn.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=Cr.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=>ke.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const ks={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},$s=e=>(...t)=>{const r=console[e];ks.overrode?r(...t):Ss(r,e,...t)},Ss=(e,t,...r)=>{const n=Fr.format(new Date,ks.format),s=ks.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 Os={override:()=>{if(ks.overrode)return;ks.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{Ss(t,e,...r)}}))},log:$s("log"),info:$s("info"),warn:$s("warn"),error:$s("error"),config:({tag:e=ks.tag,format:t=ks.format}={})=>{ks.tag=e,ks.format=t}};class js{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=ir.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=fr.copy(e,{fields:this.fields});this.save(r)}}class Cs extends h{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!J.isFunction(n))return;const[,s]=await ir.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=fr.copy(t);else{const[,t]=await ir.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){J.isObject(t)&&(t=fr.copy(t)),this[e]=t}}const Es=(e,t)=>{const r=Object.assign(new Cs,e||{});r.__persist=new js(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 J.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(J.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 qs{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Cr.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Cr.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=Dr.base64.encodeByOss(n),i=Cr.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Dr.base64.encodeByOss(e),i=Cr.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}class Ts{__list=[];constructor(){this.clear()}add(e){const t=ir.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 Ls=new class{state=Es(new Cs);frame=new Er;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||Fr.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&&!Fr.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=bn.copy(r);bn.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||Fr.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new Ts};class Ps{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=c(),this.start=Date.now(),this.timeStartDesc=Fr.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=Fr.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Bs=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 Ps;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=fr.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 wn.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)))}},Ms={cdn:xs,watermark:(e,t)=>new qs(e,t)},Fs={Store:Cs,storeRef:Es,Persist:js,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r})},Rs=Ls,Us=Bs,Ds=Os;e.Event=h,e.KValue=d,e.Mapping=class{_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}getKV(e){if(e)return this._map.get(e)}set(e,t){if(!e)return;const r=this._map.get(e);r?(r.set(t),this.clean()):this._map.set(e,new d(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)}}},e.dCdn=Ms,e.dHook=ln,e.dJoker=Rs,e.dLogger=Ds,e.dMini=ys,e.dStore=Fs,e.dTracker=Us,e.dUtil=Hn,e.dWeb=As,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("crypto")):"function"==typeof define&&define.amd?define(["exports","crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan=e.ddan||{},e.crypto$1)}(this,(function(e,t){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=r(t);const s="0123456789",i="abcdefghijklmnopqrstuvwxyz",o="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var a={keyNumber:s,keyLower:i,keyUpper:o,keyChars:s+i+o};const c=(e=0,t=0)=>e?f(e,"lower",t):u("lower",t),l=(e=0)=>f(32,"lower",e),u=(e="lower",t=0)=>{const r=a.keyChars.split(""),n=[];let s,i;for(t=t||r.length,n[8]=n[13]=n[18]=n[23]="-",n[14]="4",s=0;s<36;s++)n[s]||(i=0|16*Math.random(),n[s]=r[19==s?3&i|8:i]);const o=n.join("");return"upper"===e?o.toUpperCase():o.toLowerCase()},f=(e=32,t="mixin",r=0)=>{const n=a.keyChars.split(""),s=[];let i;for(r=r||n.length,i=0;i<e;i++)s[i]=n[0|Math.random()*r];const o=s.join("");return"lower"===t?o.toLowerCase():"upper"===t?o.toUpperCase():o};class h{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=c()}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 d{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()}clear(){this.set(void 0)}}const p="object"==typeof global&&null!==global&&global.Object===Object&&global,g="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,y="object"==typeof self&&null!==self&&self.Object===Object&&self,m=g||p||y||Function("return this")(),b=m.Symbol,{toString:w,hasOwnProperty:v,propertyIsEnumerable:_}=Object.prototype,A=b?b.toStringTag:void 0;function x(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":A&&A in Object(e)?function(e){const t=v.call(e,A),r=e[A];let n=!1;try{e[A]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[A]=r:delete e[A]),s}(e):w.call(e)}var k={getTag:x,getType:function(e){return(x(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:v,propertyIsEnumerable:_};const $="object"==typeof e&&null!==e&&!e.nodeType&&e,S=$&&"object"==typeof module&&null!==module&&!module.nodeType&&module,O=S&&S.exports===$&&p.process,j=(()=>{try{const e=S&&S.require&&S.require("util").types;return e||O&&O.binding&&O.binding("util")}catch(e){}})();var C="[object Function]",E="[object GeneratorFunction]",q="[object AsyncFunction]",T=9007199254740991;const L=/^(?:0|[1-9]\d*)$/,P=m?.Buffer?.isBuffer,B=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,M=j&&j.isTypedArray;function F(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function R(e){return null!=e&&"object"==typeof e}const U=Array.isArray;function D(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=T}(e.length)&&!N(e)}function I(e){return R(e)&&D(e)}function N(e){var t=F(e)?k.getTag(e):"";return t===C||t===E||t===q}function z(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function K(e){return I(e)&&k.hasOwnProperty.call(e,"callee")&&(!k.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==k.toString.call(e))}const H="undefined"!=typeof window&&void 0!==window.document,W="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,V=M?e=>M(e):e=>R(e)&&B.test(k.getTag(e)),Z="function"==typeof P?P:()=>!1;var J={is:function(e,t){return k.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===k.getTag(e)},isString:function(e){return"string"==typeof e||!U(e)&&R(e)&&"[object String]"==k.getTag(e)},isObject:F,isObjectLike:R,isPlainObject:function(e){if(!R(e)||"[object Object]"!=k.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||R(e)&&"[object Symbol]"===k.getTag(e)},isFunction:N,isArray:U,isArrayLikeObject:I,isIndex:function(e,t){return!!(t=null==t?T:t)&&("number"==typeof e||L.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:D,isPrototype:z,isArguments:K,isPromise:function(e){return"[object Promise]"===(F(e)?k.getTag(e):"")},isBrowser:H,isNode:W,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(D(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||Z(e)||V(e)||K(e)))return!e.length;const t=k.getTag(e);if("[object Map]"===t||"[object Set]"===t)return!e.size;if(z(e))return!Object.keys(e).length;for(const t in e)if(k.hasOwnProperty.call(e,t))return!1;return!0},isJSONStr:e=>{try{const t=JSON.parse(e);return"object"==typeof t&&null!==t}catch(e){return!1}}};const G=NaN,Q=/^\s+|\s+$/g,Y=/^[-+]0x[0-9a-f]+$/i,X=/^0b[01]+$/i,ee=/^0o[0-7]+$/i,te=parseInt,re=1/0,ne=17976931348623157e292;function se(e){if("number"==typeof e)return e;if(J.isSymbol(e))return G;if(J.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=J.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Q,"");const t=X.test(e);return t||ee.test(e)?te(e.slice(2),t?2:8):Y.test(e)?G:+e}function ie(e){return e?(e=se(e))===re||e===-re?(e<0?-1:1)*ne:e==e?e:0:0===e?e:0}var oe={toNumber:se,toFinite:ie,toInteger:function(e){var t=ie(e),r=t%1;return t==t?r?t-r:t:0}};const ae="Expected a function",ce=Math.max,le=Math.min;function ue(e,t=300,r={}){let n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(ae);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||f&&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 f?le(r,i-(e-l)):r}(e))}function y(e){return a=void 0,h&&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(f)return a=setTimeout(g,t),d(c)}return void 0===a&&(a=setTimeout(g,t)),o}return t=oe.toNumber(t)||0,J.isObject(r)&&(u=!!r.leading,f="maxWait"in r,i=f?ce(oe.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),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 fe{__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(J.isFunction(e))r=e(t);else{if(J.isPromise(e))return e.then((e=>({...t,...e})));r=e}return J.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 he(e,t,r){return e.then((e=>(r&&r(),[null,e]))).catch((e=>(t&&Object.assign(e,t),r&&r(),[e,void 0])))}const de=(e,t)=>{try{let r;return r=J.isFunction(e)?e():e,he(Promise.resolve(r),void 0,t)}catch(e){return t&&t(),Promise.resolve([e,void 0])}},pe=e=>"string"==typeof(e="function"==typeof e?e():e)?new Error(e):e,ge=e=>"function"==typeof e?e():e;var ye={to:he,go:(e,t)=>de(e,t),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:de,toError:pe,timeout:(e,t=0,r="timeout")=>{if(t<=0)return de(e);let n;function s(){n&&clearTimeout(n)}const i=new Promise((e=>{s(),n=setTimeout((()=>e([pe(r||"timeout"),void 0])),t)}));return Promise.race([de(e,s),i])},getValueIf:(e,t,r)=>{const n="function"==typeof e?e():e;return ge(n?t:r)},resolveValue:ge};class me{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var be={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 me;return void 0!==e&&t.set(e),t},singletonFactory:function(e){class t extends e{static __instance__;constructor(...e){super(...e)}static getInstance(){return t.__instance__||(t.__instance__=new t),t.__instance__}static get I(){return this.getInstance()}}return t}};class we{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return ye.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class ve{__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 we(e,t);return this.__list.push(r),this._step(),this}async exec(e){return new Promise((t=>{this.push(e,((...e)=>{t(...e)}))}))}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 ye.delay(100),this._step()}return this.clear()}}class _e extends(be.singleton()){__lockedMap=new Map;pipeline=new ve;constructor(){super()}lock(e,t){if(!e||!t)return;const r=ye.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 ye.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return ye.safeRun(e);const s=await n;return this.unlock(t),s}}var Ae={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 xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var ke={toBase64:(e="")=>{let t,r,n,s,i,o,a,c="",l=0;for(e=Ae.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+xe.charAt(s)+xe.charAt(i)+xe.charAt(o)+xe.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=xe.indexOf(e.charAt(l++)),i=xe.indexOf(e.charAt(l++)),o=xe.indexOf(e.charAt(l++)),a=xe.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=Ae.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,i,o,a,c="",l=0;if(!e||!J.isArrayLike(e)||!J.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+xe.charAt(s)+xe.charAt(i)+xe.charAt(o)+xe.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=xe.indexOf(e.charAt(l++)),i=xe.indexOf(e.charAt(l++)),o=xe.indexOf(e.charAt(l++)),a=xe.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)}};function $e(e){return Math.floor(Math.random()*e)}function Se(e,t=10){return+parseFloat(Number(e).toExponential(t))}const Oe=180/Math.PI;var je={random:$e,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=$e(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:Se,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=Se(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*Oe},degree2radian:function(e){return e/Oe},calcDataSize:function(e){const t={gb:0,mb:0,kb:0,b:0,total:e,desc:""},r=[{name:"gb",divisor:1<<30},{name:"mb",divisor:1<<20},{name:"kb",divisor:1024},{name:"b",divisor:1}];for(const n of r){const r=Math.floor(e/n.divisor);t[n.name]=r,e-=r*n.divisor}return t.gb>0?t.desc=(t.gb+t.mb/1024).toFixed(2)+"GB":t.mb>0?t.desc=(t.mb+t.kb/1024).toFixed(2)+"MB":t.kb>0?t.desc=(t.kb+t.b/1024).toFixed(2)+"KB":t.desc=t.b+"B",t}};var Ce={bytes2str:e=>{if(!e||!J.isArrayLike(e))return"";return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")},str2bytes:(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},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},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},uint32ToBytes:e=>{const t=new Uint8Array(8);return t[0]=e[0]>>>24&255,t[1]=e[0]>>>16&255,t[2]=e[0]>>>8&255,t[3]=255&e[0],t[4]=e[1]>>>24&255,t[5]=e[1]>>>16&255,t[6]=e[1]>>>8&255,t[7]=255&e[1],t},bytesToUint32:e=>{const t=new Uint32Array(2);return t[0]=e[0]<<24|e[1]<<16|e[2]<<8|e[3],t[1]=e[4]<<24|e[5]<<16|e[6]<<8|e[7],t},hex2bytes:e=>{let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++)t[r]=parseInt(e.substr(2*r,2),16);return t},bytes2hex:e=>Array.from(e).map((e=>e.toString(16).padStart(2,"0"))).join(""),toUint32:e=>{const t=Math.ceil(e.length/4),r=new Uint32Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(4*n)<<24|e.charCodeAt(4*n+1)<<16|e.charCodeAt(4*n+2)<<8|e.charCodeAt(4*n+3);return r},fromUint32:e=>{let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]>>>24&255,e[r]>>>16&255,e[r]>>>8&255,255&e[r]);return t.replace(/\0+$/,"")},flatten:function e(t,r=!1,n=[]){for(let s=0;s<t.length;s+=1){const i=t[s];r&&Array.isArray(i)?e(i,r,n):n.push(i)}return n}};var Ee={pkcs7Padding:(e,t)=>{const r=t-e.length%t,n=new Uint8Array(r).fill(r);return Ce.concatBytes(e,n)},pkcs7Unpadding:e=>{const t=e[e.length-1];return e.slice(0,-t)}};function qe(e,t){return e<<t|e>>>32-t}function Te(e,t){let r,n,s,i,o;return s=2147483648&e,i=2147483648&t,r=1073741824&e,n=1073741824&t,o=(1073741823&e)+(1073741823&t),r&n?2147483648^o^s^i:r|n?1073741824&o?3221225472^o^s^i:1073741824^o^s^i:o^s^i}function Le(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e&t|~e&r}(t,r,n),s),o)),Te(qe(e,i),t)}function Pe(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e&r|t&~r}(t,r,n),s),o)),Te(qe(e,i),t)}function Be(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e^t^r}(t,r,n),s),o)),Te(qe(e,i),t)}function Me(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return t^(e|~r)}(t,r,n),s),o)),Te(qe(e,i),t)}function Fe(e){let t,r,n="",s="";for(r=0;r<=3;r++)t=e>>>8*r&255,s="0"+t.toString(16),n+=s.substr(s.length-2,2);return n}function Re(e){let t,r,n,s,i,o,a,c,l,u=[];for(u=function(e){let t;const r=e.length,n=r+8,s=16*((n-n%64)/64+1),i=Array(s-1).fill(0);let o=0,a=0;for(;a<r;)t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|e[a]<<o,a++;return t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|128<<o,i[s-2]=r<<3,i[s-1]=r>>>29,i}(e),o=1732584193,a=4023233417,c=2562383102,l=271733878,t=0;t<u.length;t+=16)r=o,n=a,s=c,i=l,o=Le(o,a,c,l,u[t+0],7,3614090360),l=Le(l,o,a,c,u[t+1],12,3905402710),c=Le(c,l,o,a,u[t+2],17,606105819),a=Le(a,c,l,o,u[t+3],22,3250441966),o=Le(o,a,c,l,u[t+4],7,4118548399),l=Le(l,o,a,c,u[t+5],12,1200080426),c=Le(c,l,o,a,u[t+6],17,2821735955),a=Le(a,c,l,o,u[t+7],22,4249261313),o=Le(o,a,c,l,u[t+8],7,1770035416),l=Le(l,o,a,c,u[t+9],12,2336552879),c=Le(c,l,o,a,u[t+10],17,4294925233),a=Le(a,c,l,o,u[t+11],22,2304563134),o=Le(o,a,c,l,u[t+12],7,1804603682),l=Le(l,o,a,c,u[t+13],12,4254626195),c=Le(c,l,o,a,u[t+14],17,2792965006),a=Le(a,c,l,o,u[t+15],22,1236535329),o=Pe(o,a,c,l,u[t+1],5,4129170786),l=Pe(l,o,a,c,u[t+6],9,3225465664),c=Pe(c,l,o,a,u[t+11],14,643717713),a=Pe(a,c,l,o,u[t+0],20,3921069994),o=Pe(o,a,c,l,u[t+5],5,3593408605),l=Pe(l,o,a,c,u[t+10],9,38016083),c=Pe(c,l,o,a,u[t+15],14,3634488961),a=Pe(a,c,l,o,u[t+4],20,3889429448),o=Pe(o,a,c,l,u[t+9],5,568446438),l=Pe(l,o,a,c,u[t+14],9,3275163606),c=Pe(c,l,o,a,u[t+3],14,4107603335),a=Pe(a,c,l,o,u[t+8],20,1163531501),o=Pe(o,a,c,l,u[t+13],5,2850285829),l=Pe(l,o,a,c,u[t+2],9,4243563512),c=Pe(c,l,o,a,u[t+7],14,1735328473),a=Pe(a,c,l,o,u[t+12],20,2368359562),o=Be(o,a,c,l,u[t+5],4,4294588738),l=Be(l,o,a,c,u[t+8],11,2272392833),c=Be(c,l,o,a,u[t+11],16,1839030562),a=Be(a,c,l,o,u[t+14],23,4259657740),o=Be(o,a,c,l,u[t+1],4,2763975236),l=Be(l,o,a,c,u[t+4],11,1272893353),c=Be(c,l,o,a,u[t+7],16,4139469664),a=Be(a,c,l,o,u[t+10],23,3200236656),o=Be(o,a,c,l,u[t+13],4,681279174),l=Be(l,o,a,c,u[t+0],11,3936430074),c=Be(c,l,o,a,u[t+3],16,3572445317),a=Be(a,c,l,o,u[t+6],23,76029189),o=Be(o,a,c,l,u[t+9],4,3654602809),l=Be(l,o,a,c,u[t+12],11,3873151461),c=Be(c,l,o,a,u[t+15],16,530742520),a=Be(a,c,l,o,u[t+2],23,3299628645),o=Me(o,a,c,l,u[t+0],6,4096336452),l=Me(l,o,a,c,u[t+7],10,1126891415),c=Me(c,l,o,a,u[t+14],15,2878612391),a=Me(a,c,l,o,u[t+5],21,4237533241),o=Me(o,a,c,l,u[t+12],6,1700485571),l=Me(l,o,a,c,u[t+3],10,2399980690),c=Me(c,l,o,a,u[t+10],15,4293915773),a=Me(a,c,l,o,u[t+1],21,2240044497),o=Me(o,a,c,l,u[t+8],6,1873313359),l=Me(l,o,a,c,u[t+15],10,4264355552),c=Me(c,l,o,a,u[t+6],15,2734768916),a=Me(a,c,l,o,u[t+13],21,1309151649),o=Me(o,a,c,l,u[t+4],6,4149444226),l=Me(l,o,a,c,u[t+11],10,3174756917),c=Me(c,l,o,a,u[t+2],15,718787259),a=Me(a,c,l,o,u[t+9],21,3951481745),o=Te(o,r),a=Te(a,n),c=Te(c,s),l=Te(l,i);return Fe(o)+Fe(a)+Fe(c)+Fe(l)}const Ue=e=>{if("string"!=typeof e&&!(e instanceof Uint8Array))return"";return Re("string"==typeof e?Ae.toUtf8Bytes(e):e)};var De={md5:Ue,md5Base64:e=>{const t=Ue(e);if(!t)return"";const r=Ce.hex2bytes(t);return ke.bytesToBase64(r)}};const Ie=(e,t=!1)=>{const r=new Uint8Array(e);return t?ke.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var Ne={...Ce,...Ee,...Ae,...ke,...De,str2ab:(e="",t=!1)=>{if(t)return ke.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:Ie,utf8ToBase64:e=>J.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>J.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]=je.random(256);return t},textEncode:e=>Ae.toUtf8Bytes(e),textDecode:e=>Ae.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+ke.toBase64(e):J.isArrayBuffer(e)?`data:${t};base64,`+Ie(e,!0):"":""};const ze=e=>{try{const t=Ne.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},Ke=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var He={RSAPublicKey:"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApiLWsPmoaiGdr02AmPYS\n4/VgxyJNNJSK2VICirXl4P8qAP3b/6GIs7Hwnsmmuj7gledJ0XiZodFjDNgQEZEG\nj4K9KX8NixcrJwnTQV5UebiERdj+64ihwqPVWo9dIOj43ZPJ8f4dritJv5tnQaBb\nb9zTkU3Ofzk1g8RU00Ith6quOGZcU2IWC4OQ+5YiZvzrCBKEvjFwK2OvGq43tI51\nGaZdI9H09jisypqefsMvv6esjEQQOtl+WGlI5fof7KZUt3dppvuDI4CYgeXIoKKL\n9T9qDl8F9aNSs3XHx32YyA7L1FraFD6PjqRjueIFp2emsXQcIMeMqqgVyV+4qb+0\nuwIDAQAB",RSAPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmItaw+ahqIZ2v\nTYCY9hLj9WDHIk00lIrZUgKKteXg/yoA/dv/oYizsfCeyaa6PuCV50nReJmh0WMM\n2BARkQaPgr0pfw2LFysnCdNBXlR5uIRF2P7riKHCo9Vaj10g6Pjdk8nx/h2uK0m/\nm2dBoFtv3NORTc5/OTWDxFTTQi2Hqq44ZlxTYhYLg5D7liJm/OsIEoS+MXArY68a\nrje0jnUZpl0j0fT2OKzKmp5+wy+/p6yMRBA62X5YaUjl+h/splS3d2mm+4MjgJiB\n5cigoov1P2oOXwX1o1KzdcfHfZjIDsvUWtoUPo+OpGO54gWnZ6axdBwgx4yqqBXJ\nX7ipv7S7AgMBAAECggEAE1kuWLkSsJ2OoDpt9iJ+a7cJmNd5V1zPWOTwr9fkWFJP\nQYNPKlPVOFxKUivY84rcHAkuMyuQ9OQOXZISOQGDWpZW0mzeFmtR1r+Rr2S9gNmI\n6huOAL9OW306HUxiA7GuPhv2omy+Zyjac2q1WVLEI2B78Um2+WEfxuNIH7xu0gRR\nz/wluevMBQlv6hSeMESP6e9s2kB+FuM4bL7+1sexwS1TudKbHybujaiB8un9E2V3\nC9BkE6yf00Rhvii6Q4E4w3PFQfcBEFnjOD0S2Watx8GIbYjlYvtquy8Yj7OtyZB6\nw5sxyaYhKVVnkpGAbOgaCj94ABYF47VuwXr45I4PzQKBgQDp6svzD+QKlARjcWgO\nrH7UEpFX6m49G6Ib4c63xEg9+GesTgfDxoYxtXDKsC7I8OwMrmffJGbyfjaAvzmg\nicM3Y7kF6UPO9+q2mBRsyhoJSNONTeUVyoFSc+QDsVgndlTZIjqC5XLrONGaSPLJ\n7jJzqKhp3NQcpO8+xY0d7Efm1QKBgQC10fCNuF1LUTYgsWvvGxTiCCAIBurZmHU+\nGMb2Okfoco/P+QNl1jEba91AC7FudW3g/lRn0vTnDajlNoz2/CKunrTKN4/9lEBI\ntiwEOvhc5FtapRifSfrrNwFqPM+LijvOkcteWVhAUWCEP1eLmpnXGqfmZxnTaaVe\n5DyDgyAVTwKBgQDhEawfOQEANJ9sV2f6BnsZ7quuXcCoR3hZP5G5O8EO735BSesq\nsk/YcG4QeCjr6vQU15LWH552YH5srpHyJ9uP5gHW8DTwZZaPDhFJA8S9fjcfVP3B\nU9HO1fdknjTl83N8YPTPkZpbPZZfzyTcqrYclwFEqtfkn8YbLdW0Hu6n6QKBgDEv\njvS3uD1ExfDILlurptWSvx+Mx4F/1c+roj8/+u3t9+uaAIpPDE/PuTW3NBOens/r\n3WeM0QWkU1lWjYHPKY61jlDaARDnRxCkf3nRfhibCf+Wg/erar6wzagwtTCZf55d\nIHfwkYgsu4BrJkK02wMuydbxczIW9U6bTaeCFG7PAoGAN3oHYzTEBwZ7ZKv11QiQ\nEp/HeHBvD8fH/e1uVyBel4Co7NO5pV2s8qjS8+3+jxumKLNXCirjqwHo03YCdzxi\ncy4GFDsukHmDQ7FF9VC4QV0fJ0F7jGYE9nNZ+K9qwS5KrihOSBPxj0HptrF6TSOw\nBTSwr0byL3TC0m0StkSNKpo=",generateKeys:async e=>{try{const t=await e.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),r=await window.crypto.subtle.exportKey("spki",t.publicKey),n=ze(r),s=Ke(n,"PUBLIC KEY"),i=await window.crypto.subtle.exportKey("pkcs8",t.privateKey),o=ze(i);return{publicKey:n,publicKeyPem:s,privateKey:o,privateKeyPem:Ke(o,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:Ke,format_pem_content:ze,encrypt:async(e,t,r)=>{try{const n=(new TextEncoder).encode(t),s=await e.importKey("spki",Ne.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),i=[];for(let t=0;t<n.length;t+=190){let r=n.slice(t,t+190),o=await e.encrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(o))}const o=Ne.concatBytes(...i);return Ne.bytesToBase64(o)}catch(e){return console.error("[debug] encrypt",e),""}},decrypt:async(e,t,r)=>{try{const n=Ne.base64ToBytes(t),s=await e.importKey("pkcs8",Ne.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"]),i=[],o=256;for(let t=0;t<n.length;t+=o){let r=n.slice(t,t+o),a=await e.decrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(a))}const a=Ne.concatBytes(...i);return(new TextDecoder).decode(a)}catch(e){return console.error("decrypt failed:",e),""}}};const We=()=>n.default.webcrypto.subtle;var Ve=async e=>He.encrypt(We(),e,He.RSAPublicKey),Ze=async e=>He.decrypt(We(),e,He.RSAPrivateKey);const Je="undefined"!=typeof window?window.crypto.subtle:{};var Ge={generateKeys:()=>He.generateKeys(Je),encrypt:async(e,t)=>He.encrypt(Je,e,t),decrypt:async(e,t)=>He.decrypt(Je,e,t),encode:async e=>He.encrypt(Je,e,He.RSAPublicKey),decode:async e=>He.decrypt(Je,e,He.RSAPrivateKey)};const Qe=2654435769,Ye=(e,t)=>{let r=0;for(let n=0;n<32;n++)r=r+Qe>>>0,e[0]=e[0]+((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,e[1]=e[1]+((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0;return e},Xe=(e,t)=>{let r=3337565984;for(let n=0;n<32;n++)e[1]=e[1]-((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0,e[0]=e[0]-((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,r=r-Qe>>>0;return e},et=e=>{const t=Ne.str2bytes(e),r=new Uint32Array(4);return r[0]=t[0]<<24|t[1]<<16|t[2]<<8|t[3],r[1]=t[4]<<24|t[5]<<16|t[6]<<8|t[7],r[2]=t[8]<<24|t[9]<<16|t[10]<<8|t[11],r[3]=t[12]<<24|t[13]<<16|t[14]<<8|t[15],r},tt=(e,t)=>{const r=Ne.pkcs7Padding(e,8),n=et(t),s=[];for(let e=0;e<r.length;e+=8){const t=Ne.bytesToUint32(r.slice(e,e+8)),i=Ye(t,n);s.push(Ne.uint32ToBytes(i))}return Ne.concatBytes(...s)},rt=(e,t)=>{const r=et(t),n=[];for(let t=0;t<e.length;t+=8){const s=Ne.bytesToUint32(e.slice(t,t+8)),i=Xe(s,r);n.push(Ne.uint32ToBytes(i))}const s=Ne.concatBytes(...n);return Ne.pkcs7Unpadding(s)};var nt={TEAKey:"33576f37387276645054657a6831686e454664424e5652456f47794835795942",encrypt:Ye,decrypt:Xe,toTeaKey:et,encode:(e,t)=>{const r=Ne.textEncode(e),n=tt(r,t);return Ne.bytesToBase64(n)},decode:(e,t)=>{const r=Ne.base64ToBytes(e),n=rt(r,t);return Ne.textDecode(n.buffer)},encodeBytes:tt,decodeBytes:rt};function st(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 it=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function ot(e){return it.test(e)}const at="\\ud800-\\udfff",ct=`[${at}]`,lt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",ut="\\ud83c[\\udffb-\\udfff]",ft=`[^${at}]`,ht="(?:\\ud83c[\\udde6-\\uddff]){2}",dt="[\\ud800-\\udbff][\\udc00-\\udfff]",pt=`${`(?:${lt}|${ut})`}?`,gt="[\\ufe0e\\ufe0f]?",yt=gt+pt+`(?:\\u200d(?:${[ft,ht,dt].join("|")})${gt+pt})*`,mt=`(?:${[`${ft}${lt}?`,lt,ht,dt,ct].join("|")})`,bt=RegExp(`${ut}(?=${ut})|${mt+yt}`,"g");function wt(e){return ot(e)?function(e){return e.match(bt)||[]}(e):function(e){return e.split("")}(e)}function vt(e){return t=>{if(!t)return"";const r=ot(t)?wt(t):void 0,n=r?r[0]:t[0],s=r?st(r,1).join(""):t.slice(1);return n[e]()+s}}const _t="\\ud800-\\udfff",At="\\u2700-\\u27bf",xt="a-z\\xdf-\\xf6\\xf8-\\xff",kt="A-Z\\xc0-\\xd6\\xd8-\\xde",$t="\\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",St="['’]",Ot=`[${$t}]`,jt=`[${At}]`,Ct=`[${xt}]`,Et=`[^${_t}${$t+"\\d"+At+xt+kt}]`,qt="(?:\\ud83c[\\udde6-\\uddff]){2}",Tt="[\\ud800-\\udbff][\\udc00-\\udfff]",Lt=`[${kt}]`,Pt=`(?:${Ct}|${Et})`,Bt=`(?:${Lt}|${Et})`,Mt=`(?:${St}(?:d|ll|m|re|s|t|ve))?`,Ft=`(?:${St}(?:D|LL|M|RE|S|T|VE))?`,Rt="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ut="[\\ufe0e\\ufe0f]?",Dt=Ut+Rt+`(?:\\u200d(?:${[`[^${_t}]`,qt,Tt].join("|")})${Ut+Rt})*`,It=`(?:${[jt,qt,Tt].join("|")})${Dt}`,Nt=RegExp([`${Lt}?${Ct}+${Mt}(?=${[Ot,Lt,"$"].join("|")})`,`${Bt}+${Ft}(?=${[Ot,Lt+Pt,"$"].join("|")})`,`${Lt}?${Pt}+${Mt}`,`${Lt}+${Ft}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",It].join("|"),"g");const zt=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 ]/),Kt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ht(e,t){if(void 0===t){const t=zt(e)?function(e){return e.match(Nt)}(e):function(e){return e.match(Kt)}(e);return t||[]}return e.match(t)||[]}function Wt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Wt(e)))}`;if(J.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Vt=vt("toUpperCase"),Zt=vt("toLowerCase");var Jt={toString:Wt,startCase:e=>Ht(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Vt(t)),""),snakeCase:e=>Ht(Wt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ht(Wt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ht(Wt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Vt(t):t))),""),upperCase:e=>Ht(Wt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Vt,lowerCase:e=>Ht(Wt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Zt,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},jsonFormat:e=>{try{if(!e)return"";const t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(t){return e}},toLines:(e,t="\n")=>e?e.split(t).map((e=>e.trim())).filter((e=>!!e)):[]};var Gt={logString:e=>{try{const t=JSON.stringify(e);return void 0===t?"":nt.encode(t,Ne.hex2str(nt.TEAKey))}catch(e){return""}},logParse:e=>{try{if(!e)return"";const t=nt.decode(e,Ne.hex2str(nt.TEAKey));return Jt.jsonFormat(t)}catch(e){return""}},logRString:async e=>{try{const t=JSON.stringify(e);if(void 0===t)return"";return J.isBrowser?await Ge.encode(t):await Ve(t)}catch(e){return""}},logRParse:async e=>{try{if(!e)return"";const t=J.isBrowser?await Ge.decode(e):await Ze(e);return Jt.jsonFormat(t)}catch(e){return""}}};const Qt=(e,t,r)=>e*(1-r)+t*r,Yt=(e,t,r)=>e===t?0:(r-e)/(t-e),Xt=(e,t,r)=>({x:Qt(e.x,t.x,r),y:Qt(e.y,t.y,r)}),er=(e,t,r,n)=>{const s=Xt(e,t,n),i=Xt(t,r,n);return Xt(s,i,n)},tr=(e,t)=>{if(1===e.length)return e[0];const r=[];for(let n=0;n<e.length-1;n++)r.push({x:(1-t)*e[n].x+t*e[n+1].x,y:(1-t)*e[n].y+t*e[n+1].y});return tr(r,t)},rr=(e,t)=>{if(0===t||t===e)return 1;let r=1;for(let n=1;n<=t;n++)r=r*(e-n+1)/n;return r};var nr={bezier1:Xt,bezier2:er,bezier3:(e,t,r,n,s)=>{const i=er(e,t,r,s),o=er(t,r,n,s);return Xt(i,o,s)},bezier:tr,bezierCurve:(e,t)=>{const r=e.length-1;let n=0,s=0;for(let i=0;i<=r;i++){const o=rr(r,i)*Math.pow(1-t,r-i)*Math.pow(t,i);n+=o*e[i].x,s+=o*e[i].y}return{x:n,y:s}},lerp:Qt,lerpAverage:(e,t,r="")=>{if(e.length<=0)return 0;if(1===e.length)return e[0].x;if(2===e.length)return Qt(e[0].y,e[1].y,.5);const n=[],s=e.slice().sort(((e,t)=>e.x-t.x)),i=s.length,o=s[0].x,a=s[i-1].x;for(let e=o;e<=a;e+=t){let t=0;for(let n=0;n<i-1;n++){const i=s[n],o=s[n+1];if(e>=i.x&&e<=o.x){if("lerp"===r){const r=Yt(i.x,o.x,e);t=Xt(i,o,r).y}else t=i.y;break}}e>s[i-1].x&&(t=s[i-1].y),n.push(t)}return n.reduce(((e,t)=>e+t),0)/n.length},proportion:Yt};var sr={anySuccess:async e=>await Promise.any(e.map((e=>e?e?.then((e=>!!e||Promise.reject())):Promise.reject()))).catch((()=>!1))};var ir={...ye,...Gt,...nr,...sr,sleep:ye.delay,run:async function(e,t=0){if(t<=0)return ye.safeRun(e);const r=t>0?Date.now():0,n=await ye.safeRun(e),s=Date.now()-r;return s<t&&await ye.delay(t-s),n},exec:(e,t="")=>_e.I.exec(e,t),debounce:ue,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return J.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),ue(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new fe(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 ye.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await ye.delay(i)}while(-1===n||s>0)},pipe:(e,t)=>_e.I.pipeline.push(e,t),pipeline:(e=1)=>new ve(e),safeTask:(e,t)=>new we(e,t),pipeAsync:e=>_e.I.pipeline.exec(e),runAsync:async(e,t={pipe:!1,mutex:""})=>{let r;r=t.pipe?_e.I.pipeline.exec(e):_e.I.exec(e,t.mutex||"");const[n,s]=await r;if(!n)return s}};const or=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]=or(e[r]));return t};const ar=(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]=cr(e[o],a,r)}return n},cr=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?ar(e,t,r):ar({...e},t,r),n},lr=(e,t,r={})=>ar({...e},t,{cover:!0,...r}),ur=(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=>{ur(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ur(e,t,r,n,s)},get:()=>i})};var fr={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:Jt.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:or,merge:cr,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]=Jt.parseValue(n,{number:t,boolean:r});else e[n]=Jt.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:lr,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=lr(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:ur,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};const hr=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 f=(e=e.split(t)).length;u>0&&f>u&&(f=u);for(let t=0;t<f;++t){let n,o,a,u,f=e[t].replace(l,"%20"),h=f.indexOf(r);h>=0?(n=f.substr(0,h),o=f.substr(h+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,u=i?decodeURIComponent(o):o,k.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return fr.parseValue(c,{number:o,boolean:a}),c},dr=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},pr=function(e,t=!0){return t?encodeURIComponent(e):e},gr=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},yr=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,mr="(?: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}",br="[a-fA-F\\d]{1,4}",wr=`\n(?:\n(?:${br}:){7}(?:${br}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${br}:){6}(?:${mr}|:${br}|:)| // 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(?:${br}:){5}(?::${mr}|(?::${br}){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(?:${br}:){4}(?:(?::${br}){0,1}:${mr}|(?::${br}){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(?:${br}:){3}(?:(?::${br}){0,2}:${mr}|(?::${br}){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(?:${br}:){2}(?:(?::${br}){0,3}:${mr}|(?::${br}){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(?:${br}:){1}(?:(?::${br}){0,4}:${mr}|(?::${br}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${br}){0,5}:${mr}|(?::${br}){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(),vr=new RegExp(`^${mr}$`),_r=new RegExp(`^${wr}$`),Ar=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}},xr=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(yr);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},kr=(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)},$r=e=>{const t=(e||"").trim();return vr.test(t)},Sr=e=>{const t=(e||"").trim();return _r.test(t)},Or=e=>!!e&&(!!kr(e,"localhost")||!!$r(e)&&!!(kr(e,"127.0.0.1")||kr(e,"127.*")||kr(e,"10.*")||kr(e,"172.*")||kr(e,"192.168.*"))),jr=e=>{if(!e)return!1;if(!Sr(e))return!1;const t=e.toLowerCase();if(kr(t,"::1")||kr(t,"::")||kr(t,"fc*")||kr(t,"fd*")||kr(t,"fe8*")||kr(t,"fe9*")||kr(t,"fea*")||kr(t,"feb*")||kr(t,"fec*")||kr(t,"fed*")||kr(t,"fee*")||kr(t,"fef*"))return!0;if(t.startsWith("::ffff:")){const e=t.substring(7);return Or(e)}if(t.startsWith("::")){const e=t.split(".");if(4===e.length)return Or(e.join("."))}return!1};var Cr={parse:hr,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=pr(dr(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+pr(dr(e),s)})).join(t):gr(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+pr(dr(l),s)})).filter(Boolean).join(t):n?pr(dr(n),s)+r+pr(dr(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=xr(e),{origin:r="",url:n="",query:s=""}=t,i=Ar(n),o=hr(s,{multiple:!0,uri:!1});return{...t,...i,pathname:n.substring(n.indexOf(r||"")+r.length),params:o}},parsePath:Ar,parseHost:xr,join:(...e)=>{const t=[];let r=!1;return e.forEach((e=>{const n=e.trim();if(""===n)return;if(/^(\w+):\/\//.test(n))return t.length=0,t.push(n),void(r=!0);n.split("/").forEach((e=>{"."!==e&&""!==e&&(".."===e?t.length>0&&".."!==t[t.length-1]?t.pop():r||t.push(".."):t.push(e))}))})),t.join("/")},urlJoin:(...e)=>{if(0===e.length)return"";const t=e.filter((e=>null!=e&&""!==e)).map((e=>e.trim()));if(0===t.length)return"";if(1===t.length)return t[0];let r="",n="";const s=[];let i=!1,o=!1,a=!1,c=!1,l=!1;for(let e=0;e<t.length;e++){let u=t[e];if(!i){const e=u.match(/^([a-zA_Z][a-zA-Z\d+\-.]*):\/\/([^/#?]+)/i);if(e)r=e[1].toLowerCase(),n=e[2],i=!0,c="file"===r,u=u.slice(e[0].length),u.startsWith("/")&&(o=!0);else{const e=u.match(/^file:(\/\/)?\/?/i);e&&e[0]&&(r="file",i=!0,c=!0,n="",u=u.slice(e[0].length),(u.startsWith("/")||e[0].includes("/"))&&(o=!0))}}if(0!==e||i||(u.startsWith("/")?o=!0:(u.startsWith("./")||u.startsWith("../"))&&(a=!0)),c&&!l){const e=u.match(/^([a-zA-Z]:)/);e&&(l=!0,0===s.length&&(s.push(e[1]),u=u.slice(e[1].length)))}if(!u)continue;const f=u.split("/").filter((e=>""!==e&&"."!==e));for(const e of f)if(c&&!l&&e.match(/^[a-zA-Z]:$/))l=!0,s.push(e);else if(".."===e)if(s.length>0&&".."!==s[s.length-1]){if(s[s.length-1].match(/^[a-zA-Z]:$/))continue;s.pop()}else i||o||s.push("..");else s.push(e)}let u=s.join("/");if(o?u="/"+u:!a||u.startsWith("./")||u.startsWith("../")||(u="./"+u),i){let e=u;return c?(l?(e.match(/^\/?[a-zA-Z]:/)||(e="/"+e),e=e.replace(/^(\/?[a-zA-Z]:)([^/]|$)/,"$1/$2")):e&&!e.startsWith("/")&&(e="/"+e),`file://${e}`):(!e||e.startsWith("/")||e.startsWith("./")||e.startsWith("../")||(e="/"+e),`${r}://${n}${e}`)}return u},shExpMatch:kr,isLocalIPAddress:e=>!!e&&!!(kr(e,"127.0.0.1")||kr(e,"localhost")||kr(e,"192.168.*.*")),parseFileUrl:e=>{const t={href:e,file:"",url:"",protocol:"",host:"",query:"",params:{}};if(!e)return t;let r=e?e.replace(/\\/g,"/"):"";r.startsWith("file://")&&!r.startsWith("file:///")?r="file:///"+r.slice(7):r.startsWith("file:/")&&!r.startsWith("file:///")&&(r="file:///"+r.slice(6));const n=r.match(/^file:\/\/(?:([^\/\\]+))?(\/.*)?$/);if(!n||n.length<3)return t;t.protocol="file:";const s=n[1]||"",i=n[2]||"";t.host=s;const o=i.split("?");return t.url=t.protocol+`//${t.host}`+o[0],t.file=o[0],t.query=o.length>1?o[1]:"",t.params=hr(t.query,{multiple:!0,uri:!1}),t},isIP:e=>{const t=(e||"").trim();return!!$r(t)||!!Sr(t)},isIPv4:$r,isIPv6:Sr,isPrivateIP:e=>!!e&&(!!Or(e)||!!jr(e)),isPrivateIPv4:Or,isPrivateIPv6:jr};class Er{_loopTimer;_event=new h;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 qr={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class Tr{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/qr.oneSecond);let r=t.countdown;t.d=Math.floor(r/qr.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=qr.oneDay,t.h=Math.floor(r/qr.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=qr.oneHour,t.m=Math.floor(r/qr.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=qr.oneMinute,t.s=Math.floor(r/qr.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=qr.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>qr.oneHour?"hh:mm:ss":t.countdown>qr.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 Lr=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?Mr(e):e;return r?Pr(r).format(t):""},Pr=e=>{const t="string"==typeof e||"number"==typeof e?Mr(e):e;return new Tr(t||0)};function Br({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(Lr(Date.now(),o)).getTime()}function Mr(e){if(!e)return;let t;return"string"==typeof e?t=new Date(e):"number"==typeof e&&(t=10==e.toString().length?new Date(1e3*e):new Date(e)),t}var Fr={...qr,now:function(){return Pr(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:Br,todayZero:()=>Br({}),format:Lr,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return Pr(r).toCountdown(t)},dtime:Pr,loopFrame:(e=500)=>new Er(e),getTimezoneOffset:()=>Tr.timezoneOffset,getLocalTime:Tr.getLocalTime,toDate:Mr};const Rr=e=>ke.toBase64(e);var Ur={encode:Rr,decode:e=>ke.fromBase64(e),encodeByOss:e=>Rr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Dr={...a,base64:Ur,tea:nt,uuid:c,guid:(e=0,t=!1,r="")=>{let n="";return n=e<=0?c():f(e||32,"lower"),t?Fr.now().format("yyyyMMddhhmmss")+r+n:n},UUID:u,uuid32:l,randomID:f,getHexString:e=>{const t=a.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 Ir=(e,t,r=8)=>{if(e===t)return!0;if(null==e||null==t||"object"!=typeof e||"object"!=typeof t)return!1;if(r<=0)return!1;if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const n=Object.prototype.toString.call(e);if(n!==Object.prototype.toString.call(t))return!1;switch(n){case"[object Array]":return Nr(e,t,r);case"[object Map]":return zr(e,t,r);case"[object Set]":return Kr(e,t,r);case"[object Object]":return Hr(e,t,r);default:return Wr(e,t,n)}},Nr=(e,t,r=1/0)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Ir(e[n],t[n],r-1))return!1;return!0},zr=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const[n,s]of e)if(!t.has(n)||!Ir(s,t.get(n),r-1))return!1;return!0},Kr=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const n of e)if(![...t].some((e=>Ir(n,e,r-1))))return!1;return!0},Hr=(e,t,r=1/0)=>{const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;for(const i of n)if(!s.includes(i)||!Ir(e[i],t[i],r-1))return!1;const i=Object.getOwnPropertySymbols(e),o=Object.getOwnPropertySymbols(t);if(i.length!==o.length)return!1;for(const n of i)if(!o.includes(n)||!Ir(Reflect.get(e,n),Reflect.get(t,n),r-1))return!1;return!0},Wr=(e,t,r)=>{switch(r){case"[object RegExp]":return String(e)===String(t);case"[object Date]":return e.getTime()===t.getTime();case"[object ArrayBuffer]":return Vr(e,t);default:return e===t}},Vr=(e,t)=>{if(e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e),n=new Uint8Array(t);for(let e=0;e<r.length;e++)if(r[e]!==n[e])return!1;return!0};var Zr={isEqual:Ir,isEqualArray:Nr,isEqualObject:Hr,isEqualValue:Wr,isEqualAB:Vr,isEqualDeep:(e,t)=>Ir(e,t,1/0)};const Jr=(e,t=new WeakMap)=>{if(null===e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let r;if(Array.isArray(e)){r=[],t.set(e,r);for(const n of e)r.push(Jr(n,t))}else if(e instanceof Date)r=new Date(e);else if(e instanceof RegExp)r=new RegExp(e.source,e.flags);else if(e instanceof Map){r=new Map,t.set(e,r);for(const[n,s]of e.entries())r.set(Jr(n,t),Jr(s,t))}else if(e instanceof Set){r=new Set,t.set(e,r);for(const n of e.values())r.add(Jr(n,t))}else if("object"==typeof e){r={},t.set(e,r);for(const[n,s]of Object.entries(e))r[n]=Jr(s,t)}return r};var Gr={copy:(e,t={})=>{if(null==e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r||null===r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!0,...o}=t,a={},c=[{condition:o.ignoreNull,test:e=>null===e},{condition:o.ignoreZero,test:e=>0===e},{condition:o.ignoreEmptyArray,test:e=>Array.isArray(e)&&0===e.length},{condition:o.ignoreEmptyString,test:e=>"string"==typeof e&&""===e.trim()}].filter((e=>e.condition));for(const[e,t]of Object.entries(r)){const r=!s||i&&e.startsWith("_")?e:Jt.camelCase(e);n.length>0&&!n.includes(e)&&!n.includes(r)||(c.some((e=>e.test(t)))||(a[r]=t))}return a},clone:Jr,cloneClass:function(e){return null==e||"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}};const Qr=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var Yr={shExpMatch:Qr,shExpMatchs:(e,t)=>{if(!e||!t)return!1;let r=[];if(Array.isArray(t))r=t;else{if("string"!=typeof t)return!1;r=[t]}for(const t of r){if("*"===t)return!0;if(Qr(e,t))return!0}return!1}};const Xr="[object Object]",en="[object Array]",tn=k.getTag,rn=e=>{if(tn(e)!==Xr)return e;const t={};for(const r in e)if(/\w+\.\w+/g.test(r)&&!r.includes("[")){const n=r.split(".");let s=t;for(let e=0;e<n.length-1;e++){const t=n[e];tn(s[t])!==Xr&&(s[t]={}),s=s[t]}s[n[n.length-1]]=e[r]}else t[r]=e[r];return t},nn=(e,t,r=!1)=>{if(e===t)return;const n=tn(e);if(n===tn(t))if(n===en&&e.length>=t.length)for(let r=0;r<t.length;r++)nn(e[r],t[r]);else if(n===Xr&&Object.keys(e).length>=Object.keys(t).length)for(const n in t)r||void 0!==e[n]?nn(e[n],t[n]):e[n]=null},sn=(e,t)=>nn(e,t,!0),on=(e,t,r={},n="",s=!1)=>{if(e===t)return r;const i=tn(e),o=tn(t);if(i===en&&o===i&&e.length>=t.length){for(let s=0;s<e.length;s++)on(e[s],t[s],r,`${n}[${s}]`,!1);return r}if(i===Xr&&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=tn(s),c=tn(o);if(s!==o)if(a===en&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)on(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`,!1);else if(a===Xr&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)on(s[e],o[e],r,`${n?n+".":""}${i}.${e}`,!1);else null!==s&&(r[`${n?n+".":""}${i}`]=s)}return r}return r[n]=e,r};var an={...Zr,...Gr,...Yr,...{flattenPath:rn,normalizeStructure:sn,diffPath:(e,t)=>{const r=rn(e),n=rn(t);return sn(r,n),on(r,n)}}};var cn={urlAuthA:(e,t=Date.now()+2*qr.oneDay,r="AM3FUIg6Gh8MAtb3XTHB")=>{const n=/^(http:\/\/|https:\/\/)?([^\/?]+)(\/[^?]*)?(\?.*)?$/.exec(e);if(!n)return"";const s=Math.floor(t/1e3);let[,i,o,a,c]=n;i||(i="http://"),a||(a="/"),c||(c="");const u=l(),f=`${s}-${u}-0-${De.md5(`${a}-${s}-${u}-0-${r}`)}`;return c?`${i}${o}${a}${c}&auth_key=${f}`:`${i}${o}${a}${c}?auth_key=${f}`}};const ln={...an,...Ne,...Dr,...ir,...Jt,...je,...be,qs:Cr,ali:cn};var un={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)}};function fn(e){return e!=e}function hn(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 dn,pn,gn=(dn=Object.keys,pn=Object,function(e){return dn(pn(e))}),yn=Math.max;function mn(e,t){var r=J.isArray(e)||J.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&&!k.hasOwnProperty.call(e,i)||s&&("length"==i||J.isIndex(i,n))||r.push(i);return r}var bn={...J,...k,...fr,...be,includes:function(e,t,r,n){e=J.isArrayLike(e)?e:function(e){return e?hn(e,function(e){return J.isArrayLike(e)?mn(e):function(e){if(!J.isPrototype(e))return gn(e);var t=[];for(var r in Object(e))k.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?oe.toInteger(r):0;var s=e.length;return r<0&&(r=yn(s+r,0)),J.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,fn,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(J.isObject(e)&&(r=J.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var wn={...{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]:[]}},stepAction:function(e,t,r=100){if(!J.isFunction(t))return;if(!J.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(!J.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!J.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!J.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return je.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!J.isObject(e))return;const s=e[t];(J.isString(s)&&""!==s||J.isNumber(s))&&(n[s]=e[r])})),n):n}};const vn=/%[sdj%]/g;let _n=()=>{};function An(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 xn(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(vn,(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 kn(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 $n(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&&(_n=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Sn extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function On(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);$n(o,r,(e=>(n(e),e.length?i(new Sn(e,An(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 f=e=>{if(l.push.apply(l,e),c++,c===a)return n(l),l.length?u(new Sn(l,An(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?$n(n,r,f):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,f)}))}));return u.catch((e=>e)),u}function jn(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],(s=r)&&void 0!==s.message?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField};var s}}function Cn(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 En=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!kn(t,i||e.type)||n.push(xn(s.messages.required,e.fullField))};let qn;const Tn=/^(([^<>()\[\]\\.,;:\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,}))$/,Ln=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Pn={integer:e=>Pn.number(e)&&parseInt(e,10)===e,float:e=>Pn.number(e)&&!Pn.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&&!Pn.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Tn),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(qn)return qn;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 qn=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"),qn})()),hex:e=>"string"==typeof e&&!!e.match(Ln)},Bn="enum";var Mn={required:En,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(xn(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void En(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Pn[i](t)||n.push(xn(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(xn(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 f="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(f?u="number":h?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),h&&(l=t.replace(c,"_").length),i?l!==e.len&&n.push(xn(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(xn(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(xn(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(xn(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Bn]=Array.isArray(e[Bn])?e[Bn]:[],-1===e[Bn].indexOf(t)&&n.push(xn(s.messages[Bn],e.fullField,e[Bn].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(xn(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(xn(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Fn=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kn(t,i)&&!e.required)return r();Mn.required(e,t,n,o,s,i),kn(t,i)||Mn.type(e,t,n,o,s)}r(o)};var Rn={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(kn(t,"string")&&!e.required)return r();Mn.required(e,t,n,i,s,"string"),kn(t,"string")||(Mn.type(e,t,n,i,s),Mn.range(e,t,n,i,s),Mn.pattern(e,t,n,i,s),!0===e.whitespace&&Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&Mn.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),kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&(Mn.type(e,t,n,i,s),Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),kn(t)||Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&(Mn.type(e,t,n,i,s),Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&(Mn.type(e,t,n,i,s),Mn.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();Mn.required(e,t,n,i,s,"array"),null!=t&&(Mn.type(e,t,n,i,s),Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s),void 0!==t&&Mn.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(kn(t,"string")&&!e.required)return r();Mn.required(e,t,n,i,s),kn(t,"string")||Mn.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(kn(t,"date")&&!e.required)return r();if(Mn.required(e,t,n,i,s),!kn(t,"date")){let r;r=t instanceof Date?t:new Date(t),Mn.type(e,r,n,i,s),r&&Mn.range(e,r.getTime(),n,i,s)}}r(i)},url:Fn,hex:Fn,email:Fn,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Mn.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(kn(t)&&!e.required)return r();Mn.required(e,t,n,i,s)}r(i)}};function Un(){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 Dn=Un();class In{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Rn[e]=t};static warning=_n;static messages=Dn;static validators=Rn;rules={};_messages=Dn;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=Cn(Un(),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===Dn&&(e=Un()),Cn(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 On(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&&In.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(jn(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(jn(r,n)):s.error&&(u=[s.error(r,xn(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 In(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=An(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&&!Rn.hasOwnProperty(e.type))throw new Error(xn("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]?Rn.required:Rn[this.getType(e)]||void 0}}function Nn(e){return new In(e)}var zn={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:Nn,validate:function(e,t,r={},n=(()=>{})){return ir.run(Nn(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 Kn={stringify:function(e){try{if(!(e instanceof Map))return;return JSON.stringify([...e.entries()])}catch(e){return}},parse:function(e){try{if("string"!=typeof e)return;const t=JSON.parse(e);if(!Array.isArray(t))return;return new Map(t)}catch(e){return}},deepStringify:function e(t){try{if(!(t instanceof Map))return;const r=[...t.entries()].map((([t,r])=>r instanceof Map?[t,JSON.parse(e(r))]:r instanceof Set?[t,[...r]]:[t,r]));return JSON.stringify(r)}catch(e){return}},deepParse:function e(t){try{if("string"!=typeof t)return;const r=JSON.parse(t);if(!Array.isArray(r))return;return new Map(r.map((([t,r])=>{if(Array.isArray(r)&&r.every((e=>Array.isArray(e)&&2===e.length))){return[t,e(JSON.stringify(r))]}return[t,r]})))}catch(e){return}}};const Hn={gbk:un,math:je,list:wn,string:Jt,time:Fr,obj:fr,rule:zn,regex:{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})$/}},...Ne,...Dr,...bn,Event:h,map:Kn},Wn="[object Object]",Vn="[object Array]",Zn=e=>Object.prototype.toString.call(e),Jn=(e,t,r=!1)=>{if(e===t)return;const n=Zn(e);if(n===Zn(t))if(n===Vn&&e.length>=t.length)for(let r=0;r<t.length;r++)Jn(e[r],t[r]);else if(n===Wn&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?Jn(e[n],t[n]):e[n]=null},Gn=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=Zn(e),o=Zn(t);if(i===Vn&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)Gn(e[s],t[s],r,`${n}[${s}]`);else if(i===Wn&&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=Zn(s),c=Zn(o);if(s!==o)if(a===Vn&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)Gn(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===Wn&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)Gn(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class Qn{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 Yn{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new Qn,response:new Qn};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){Yn.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Yn.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=fr.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(Yn.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await Yn.requestLock[Yn.blockId].request;else if(Yn.requestLock[Yn.blockId]&&Yn.requestLock[Yn.blockId].lock&&await Yn.requestLock[Yn.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Yn.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await Yn.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 Xn=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var es={diff:function(e,t){const r={};return(e=>{if(Zn(e)===Wn)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];Zn(n[t])!==Wn&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),Jn(e,t,!0),Gn(e,t,r,"",!0),r},promixify:Xn,run:(e,t={})=>e?ir.run(Xn(e)(t)):ir.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:Yn,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;fr.observe(s,o,a,e,c)}))}};const ts=e=>{if(!e)return"";if(!bn.isObject(e))return"";let t="";return bn.forof(e,((e,r)=>{r&&(t+=`${Jt.kebabCase(e)}:${r};`)})),t},rs=["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"],ns=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],ss=(e,t="px")=>e&&t?"0"===e?e:zn.isFloat(e.toString())?`${e}${t}`:e:e;var is={stringify:ts,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Cr.parse(e,{sep:";",eq:":",uri:!1}),s={};return bn.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:Jt.camelCase(e):e;zn.isFloat(n)||n.length>=2&&n.startsWith(".")&&zn.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:ss,style:(e,t="px")=>{if(!e)return"";const r=bn.copy(e,{fields:rs});bn.forof(r,((e,n)=>{(ns.includes(e)||ns.includes(Jt.camelCase(e)))&&(r[e]=ss(n,t))}));return ts(r)},commonFields:rs};var os={watchTextChange:function(e,t){if(!(e instanceof HTMLElement))return;let r=e.textContent||"";const n=new MutationObserver((()=>{const n=e.textContent||"";n!==r&&t&&(t(n,r),r=n)}));return n.observe(e,{childList:!0,characterData:!0}),()=>(()=>{try{n?.disconnect()}catch(e){}})()},watchAttrChange:function(e,t,r){if(!(e instanceof HTMLElement))return;const n=new MutationObserver((n=>{for(const s of n)if("attributes"===s.type&&t){const n=s.attributeName;if(!n)continue;if(!r||r.includes(n)){const r=e.getAttribute(n),i=s.oldValue;t(n,r,i)}}}));return n.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:r||void 0}),()=>{(()=>{try{n?.disconnect()}catch(e){}})()}},watchElementChange:function(e,t){if(!(e&&e instanceof Element))return;const{onText:r,onAttr:n,attrFilter:s=null}=t||{};if(!r&&!n)return;let i=e.textContent||"";const o=e=>{if(e!==i){try{r?.(e,i)}catch(e){console.error("watchElementChange: onText error:",e)}i=e}},a=new MutationObserver((t=>{for(const i of t)try{switch(i.type){case"characterData":case"childList":if(r){const t=e.textContent||"";o(t)}break;case"attributes":if(n){const t=i.attributeName;if(t&&(!s||s.includes(t))){const r=e.getAttribute(t),s=i.oldValue;try{n(t,r,s)}catch(e){console.error("watchElementChange: onAttr error:",e)}}}}}catch(e){console.error("watchElementChange: MutationObserver error:",e)}})),c={attributes:!!n,attributeOldValue:!!n,characterData:!!r,childList:!!r,subtree:!!r};n&&s&&(c.attributeFilter=s);try{a.observe(e,c)}catch(e){return void console.error("watchElementChange: observe error:",e)}return()=>{(()=>{try{a?.disconnect()}catch(e){}})()}},waitForElement:function(e,t=0){return new Promise((r=>{if(!e)return void r(null);const n=document.querySelector(e);if(n)return void r(n);let s=null;const i=new MutationObserver((()=>{const t=document.querySelector(e);t&&(o(),r(t),s&&(clearTimeout(s),s=null))}));i.observe(document.body,{childList:!0,subtree:!0}),t&&(s=setTimeout((()=>{o(),r(null),s=null}),t));const o=()=>{try{i?.disconnect()}catch(e){}}}))}};const as=(e,t="",r=!1)=>{try{if(!e)return;const n=Cr.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}?${Cr.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){cs(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},cs=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;as(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},ls=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}},us=(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)))})),fs=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e,hs=(e,t)=>{if(!e||!t)return[];const r=[];let n;for(;null!==(n=t.exec(e));)r.push(n[1]);return r},ds=(e,t="application/javascript")=>{const r=new Blob([e],{type:t});return URL.createObjectURL(r)};var ps={...os,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:as,download:(e,t="")=>{e&&("string"!=typeof e?cs(e,t):as(e,t))},downloadFile:cs,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();as(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?us("clipboard-write").then((t=>{fs(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(ls(e)))):r(ls(e))})).catch((()=>{r(ls(e))})):r(ls(e))})),queryPermission:us,isAllowed:fs,legacyCopy:ls,takeHtmlLinks:e=>{if(!e)return[];const t=[];return[/<script[^>]+src="([^"]+)"/g,/<link[^>]+rel="stylesheet"[^>]+href="([^"]+)"/g,/<link[^>]+rel="icon"[^>]+href="([^"]+)"/g].forEach((r=>{const n=hs(e,r);t.push(n)})),[].concat(...t)},takeHtml:hs,toBlobUrl:ds,workerURL:e=>ds(`(${e.toString()})()`,"text/javascript"),getVideoMetadata:(e,t=3e4)=>new Promise(((r,n)=>{let s=null,i=null,o=null;const a=e=>{o&&(clearTimeout(o),o=null),s&&(s.onerror=null,s.onloadedmetadata=null,s.remove(),s=null),i&&(URL.revokeObjectURL(i),i=null),e&&n(e)};try{if(s=document.createElement("video"),o=setTimeout((()=>{a(new Error(`操作超时(${t}ms)`))}),t),e instanceof File||e instanceof Blob||e instanceof MediaSource)i=URL.createObjectURL(e),s.src=i;else{if("string"!=typeof e)throw new Error("无效的视频源类型");s.crossOrigin="anonymous",s.src=e}s.onloadedmetadata=()=>{r({width:s?.videoWidth||0,height:s?.videoHeight||0,duration:s?.duration||0}),a()},s.onerror=()=>{a(new Error(`视频加载失败: ${s?.error?.message||"未知错误"}`))}}catch(e){a(e instanceof Error?e:new Error("未知同步错误"))}})),getImageMetadata:(e,t=5e3)=>new Promise(((r,n)=>{const s=new Image;let i=null,o=null;const a=e=>{o&&(clearTimeout(o),o=null),s.onload=null,s.onerror=null,i&&(URL.revokeObjectURL(i),i=null),e&&n(e)};o=setTimeout((()=>{a(new Error(`图片加载超时(${t}ms)`))}),t),s.onload=()=>{r({width:s.naturalWidth,height:s.naturalHeight}),a()},s.onerror=()=>{a(new Error(`无法加载图片: ${s.src||"未知资源"}`))};try{if(e instanceof File||e instanceof Blob)i=URL.createObjectURL(e),s.src=i;else{if("string"!=typeof e)throw new Error("无效的图片源类型");s.setAttribute("crossOrigin","Anonymous"),s.src=e}}catch(e){e instanceof Error?a(e):a(new Error("未知同步错误"))}})),ElementObserver:class{callbacks;selector="";observer=null;elementsSeen=new WeakSet;clickHandlers=new Map;isObserving=!1;deep=!1;root=document.body;constructor(e={}){this.callbacks={onAppear:e.onAppear||(()=>{}),onDisappear:e.onDisappear||(()=>{}),onClick:e.onClick||(()=>{})}}initObserver(){this.observer=new MutationObserver((e=>{let t=new Set,r=new Set;for(const n of e)if("childList"===n.type){for(const e of n.addedNodes)t=this.collectAdded(e,t);for(const e of n.removedNodes)r=this.collectRemoved(e,r)}t.forEach((e=>this.triggerCallback(e,"appear"))),r.forEach((e=>this.triggerCallback(e,"disappear")))}))}collectAdded(e,t){if(e.nodeType!==Node.ELEMENT_NODE)return t;const r=e;return r.matches&&r.matches(this.selector)&&t.add(r),this.deep&&r.querySelectorAll(this.selector).forEach((e=>t.add(e))),t}collectRemoved(e,t){if(e.nodeType!==Node.ELEMENT_NODE)return t;const r=e;return this.elementsSeen.has(r)&&t.add(r),this.deep&&r.querySelectorAll(this.selector).forEach((e=>{this.elementsSeen.has(e)&&t.add(e)})),t}triggerCallback(e,t){if("appear"===t){if(!this.elementsSeen.has(e)){this.elementsSeen.add(e),this.bindClick(e);try{this.callbacks.onAppear(e)}catch(e){console.error(e)}}}else if(this.elementsSeen.has(e)){this.elementsSeen.delete(e),this.unbindClick(e);try{this.callbacks.onDisappear(e)}catch(e){console.error(e)}}}bindClick(e){if(this.clickHandlers.has(e))return;const t=t=>{try{this.callbacks?.onClick(e,t)}catch(e){console.error(e)}};e.addEventListener("click",t),this.clickHandlers.set(e,t)}unbindClick(e){const t=this.clickHandlers.get(e);t&&(e.removeEventListener("click",t),this.clickHandlers.delete(e))}observe(e,t={}){if(this.isObserving)return void console.warn("Already observing. Call disconnect() first.");this.selector=e,this.deep=t.deep??!1,this.root=t.root??document.body,this.observer||this.initObserver();const{childList:r=!0,subtree:n=!0}=t;this.observer.observe(this.root,{childList:r,subtree:n}),this.deep?this.root.querySelectorAll(e).forEach((e=>this.triggerCallback(e,"appear"))):Array.from(this.root.children).forEach((t=>{t.matches&&t.matches(e)&&this.triggerCallback(t,"appear")})),this.isObserving=!0}updateObserver(e,t){void 0!==e&&(this.selector=e),void 0!==t&&(this.deep=t),this.isObserving&&(this.elementsSeen=new WeakSet,this.deep?this.root.querySelectorAll(this.selector).forEach((e=>this.triggerCallback(e,"appear"))):Array.from(this.root.children).forEach((e=>{e.matches&&e.matches(this.selector)&&this.triggerCallback(e,"appear")})))}disconnect(){this.observer&&this.observer.disconnect(),this.elementsSeen=new WeakSet,this.clickHandlers.forEach(((e,t)=>{t?.removeEventListener("click",e)})),this.isObserving=!1}updateCallbacks(e){this.callbacks={...this.callbacks,...e}}destroy(){this.disconnect(),this.observer=null,this.callbacks={onAppear:()=>{},onDisappear:()=>{},onClick:()=>{}}}}};const gs=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,${Ur.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}`}},ys={mini:es,css:is,qs:Cr,icon:gs,html:ps},ms=({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 bs(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function ws(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(bn.isPlainObject(e)){const r=Cr.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 vs{host="";reqConfig={};handleError;interceptors={request:new Qn,response:new Qn};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(ws),this.interceptors.response.use(e.handleResponse||bs),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){vs.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete vs.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=bn.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(vs.blockId,(()=>ms(s))),i=await vs.requestLock[vs.blockId].request;else if(vs.requestLock[vs.blockId]&&vs.requestLock[vs.blockId].lock&&await vs.requestLock[vs.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),vs.requestLock[e]||this.lockR(e,(()=>ms(s))),i=await vs.requestLock[e].request,this.unlockR(e)}else i=await ms(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)}}}var _s={getDataURL:(e,t)=>{const r={contentType:"",dataUrl:""};return ye.to(fetch(e,{cache:t}).then((e=>(r.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(r.dataUrl=`data:${r.contentType};base64,`+Ne.ab2str(e,!0),r))))},getArrayBuffer:async(e,t)=>ye.to(fetch(e,{cache:t}).then((e=>e.arrayBuffer()))),getJson:async(e,t)=>ye.to(fetch(e,{cache:t}).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=je.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)})))),getText:async(e,t)=>ye.to(fetch(e,{cache:t}).then((e=>e.text()))),cache:async(e,t="no-cache")=>ye.to(fetch(e,{cache:t}).then((()=>!0))),Fetch:class{baseURL;defaultHeaders;constructor(e={}){this.baseURL=e.baseURL||"",this.defaultHeaders=e.headers||{}}query(e,t={}){return new Promise(((r,n)=>{let s=e.url||"";const i={...this.defaultHeaders,...e?.headers||{}},o={method:e?.method||"GET",headers:i,cache:e?.cache},a=o.method?.toUpperCase();"POST"===a&&(o.body=JSON.stringify(t||{}),i["Content-Type"]||(i["Content-Type"]="application/json"),o.headers=i),fetch(s,o).then((async e=>{const t=await e.text();e.ok?r(t):n(this.formatError(e,t))})).catch((e=>{n(this.formatError(null,null,e))}))}))}request(e,t={}){const{method:r="GET",baseURL:n=this.baseURL,headers:s,params:i,cache:o}=t,a="GET"===r.toUpperCase(),c=a&&i?`?${Cr.stringify(i)}`:"",l={url:`${Cr.urlJoin(n,e)}${c}`,method:r,headers:{"Content-Type":"application/json",...s},cache:o};return this.query(l,a?void 0:i)}formatError(e,t,r){const n={timestamp:(new Date).toISOString(),type:r?"NetworkError":"HttpError",message:r?r.message||"":`HTTP ${e?.status}: ${e?.statusText}`};return e&&(n.status=e.status,n.statusText=e.statusText,n.url=e.url,n.data=t,n.response={status:e.status,statusText:e.statusText,data:t,headers:Object.fromEntries(e.headers.entries())}),r&&(n.originalError=r,n.code=r.code),n}}};const As={fetch:_s,Http:vs,css:is,qs:Cr,icon:gs,html:ps,rsa:Ge,...{Ecdh:class{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 Ne.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=Ne.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=Ne.base64ToBytes(r),s=Ne.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return Ne.ab2str(i,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?Ne.base64ToBytes(r):Ne.getRandomBytes(12),s=Ne.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),o=Ne.concatBytes(new Uint8Array(i),n);return Ne.bytesToBase64(o)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Ne.base64ToBytes(e),s=Ne.base64ToBytes(r),i=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return Ne.textDecode(i)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=Ne.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 Ne.textDecode(s)}}}};var xs={ossImage:(e,t={})=>{if(!e)return e;const r=Cr.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=wn.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=Cr.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=>ke.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const ks={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},$s=e=>(...t)=>{const r=console[e];ks.overrode?r(...t):Ss(r,e,...t)},Ss=(e,t,...r)=>{const n=Fr.format(new Date,ks.format),s=ks.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 Os={override:()=>{if(ks.overrode)return;ks.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{Ss(t,e,...r)}}))},log:$s("log"),info:$s("info"),warn:$s("warn"),error:$s("error"),config:({tag:e=ks.tag,format:t=ks.format}={})=>{ks.tag=e,ks.format=t}};class js{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=ir.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=fr.copy(e,{fields:this.fields});this.save(r)}}class Cs extends h{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!J.isFunction(n))return;const[,s]=await ir.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=fr.copy(t);else{const[,t]=await ir.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){J.isObject(t)&&(t=fr.copy(t)),this[e]=t}}const Es=(e,t)=>{const r=Object.assign(new Cs,e||{});r.__persist=new js(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 J.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(J.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 qs{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Cr.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Cr.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=Dr.base64.encodeByOss(n),i=Cr.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Dr.base64.encodeByOss(e),i=Cr.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}class Ts{__list=[];constructor(){this.clear()}add(e){const t=ir.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 Ls=new class{state=Es(new Cs);frame=new Er;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||Fr.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&&!Fr.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=bn.copy(r);bn.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||Fr.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new Ts};class Ps{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=c(),this.start=Date.now(),this.timeStartDesc=Fr.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=Fr.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Bs=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 Ps;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=fr.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 wn.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)))}},Ms={cdn:xs,watermark:(e,t)=>new qs(e,t)},Fs={Store:Cs,storeRef:Es,Persist:js,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r})},Rs=Ls,Us=Bs,Ds=Os;e.Event=h,e.KValue=d,e.Mapping=class{_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}getKV(e){if(e)return this._map.get(e)}set(e,t){if(!e)return;const r=this._map.get(e);r?(r.set(t),this.clean()):this._map.set(e,new d(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)}}},e.dCdn=Ms,e.dHook=ln,e.dJoker=Rs,e.dLogger=Ds,e.dMini=ys,e.dStore=Fs,e.dTracker=Us,e.dUtil=Hn,e.dWeb=As,Object.defineProperty(e,"__esModule",{value:!0})}));