ddan-js 2.1.6 → 2.1.9

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
- var e={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const t="0123456789",r="abcdefghijklmnopqrstuvwxyz",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var s={keyNumber:t,keyLower:r,keyUpper:n,keyChars:t+r+n};const i=(e=0,t=0)=>{const r=s.keyChars.split(""),n=[];let i;if(t=t||r.length,e)for(i=0;i<e;i++)n[i]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",i=0;i<36;i++)n[i]||(e=0|16*Math.random(),n[i]=r[19==i?3&e|8:e])}return n.join("")};class o{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=i()}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,handler: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.handler!==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.handler)})),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 a{_loopTimer;_event=new o;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const c=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?f(r).format(t):""},f=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function h({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(c(Date.now(),o)).getTime()}var d={...l,now:function(){return f(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:h,todayZero:()=>h({}),format:c,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return f(r).toCountdown(t)},dtime:f,loopFrame:(e=500)=>new a(e)},g="object"==typeof global&&global&&global.Object===Object&&global,p="object"==typeof self&&self&&self.Object===Object&&self;const m=(g||p||Function("return this")()).Symbol,{toString:y,hasOwnProperty:w,propertyIsEnumerable:b}=Object.prototype,v=m?m.toStringTag:void 0;function _(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":v&&v in Object(e)?function(e){const t=w.call(e,v),r=e[v];let n=!1;try{e[v]=void 0,n=!0}catch(e){}const s=y.call(e);return n&&(t?e[v]=r:delete e[v]),s}(e):y.call(e)}var $={getTag:_,getType:function(e){return(_(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:y,hasOwnProperty:w,propertyIsEnumerable:b},x="[object Function]",k="[object GeneratorFunction]",S="[object AsyncFunction]",A=9007199254740991;const q=/^(?:0|[1-9]\d*)$/;function j(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function C(e){return null!=e&&"object"==typeof e}const O=Array.isArray;function L(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=A}(e.length)&&!F(e)}function E(e){return C(e)&&L(e)}function F(e){var t=j(e)?$.getTag(e):"";return t===x||t===k||t===S}var M={is:function(e,t){return $.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===$.getTag(e)},isString:function(e){return"string"==typeof e||!O(e)&&C(e)&&"[object String]"==$.getTag(e)},isObject:j,isObjectLike:C,isPlainObject:function(e){if(!C(e)||"[object Object]"!=$.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||C(e)&&"[object Symbol]"===$.getTag(e)},isFunction:F,isArray:O,isArrayLikeObject:E,isIndex:function(e,t){return!!(t=null==t?A:t)&&("number"==typeof e||q.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:L,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return E(e)&&$.hasOwnProperty.call(e,"callee")&&(!$.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==$.toString.call(e))},isPromise:function(e){return"[object Promise]"===(j(e)?$.getTag(e):"")}};const R=NaN,D=/^\s+|\s+$/g,P=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,I=/^0o[0-7]+$/i,T=parseInt,N=1/0,B=17976931348623157e292;function U(e){if("number"==typeof e)return e;if(M.isSymbol(e))return R;if(M.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=M.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(D,"");const t=z.test(e);return t||I.test(e)?T(e.slice(2),t?2:8):P.test(e)?R:+e}function V(e){return e?(e=U(e))===N||e===-N?(e<0?-1:1)*B:e==e?e:0:0===e?e:0}var H={toNumber:U,toFinite:V,toInteger:function(e){var t=V(e),r=t%1;return t==t?r?t-r:t:0}};const W="Expected a function",Z=Math.max,J=Math.min;function G(e,t=300,r={}){var n,s,i,o,a,l,u=0,c=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(W);function d(t){var r=n,i=s;return n=s=void 0,u=t,o=e.apply(i,r)}function g(e){var r=e-l;return void 0===l||r>=t||r<0||f&&e-u>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-l);return f?J(r,i-(e-u)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,l=r,i){if(void 0===a)return function(e){return u=e,a=setTimeout(p,t),c?d(e):o}(l);if(f)return a=setTimeout(p,t),d(l)}return void 0===a&&(a=setTimeout(p,t)),o}return t=H.toNumber(t)||0,M.isObject(r)&&(c=!!r.leading,i=(f="maxWait"in r)?Z(H.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=l=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}class Y{__source;constructor(e){this.__source=e}run(){let e;try{let t;return t=M.isFunction(this.__source)?this.__source():this.__source,e=M.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new Y(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new Y(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new Y(e).run();const s=await n;return this._unlock(t),s}}class K{__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(M.isFunction(e))r=e(t);else{if(M.isPromise(e))return e.then((e=>({...t,...e})));r=e}return M.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])}}}const Q=(e=1e3)=>new Promise((t=>{setTimeout(t,e)}));var X={sleep:Q,run:async(e,t=0)=>{if(t<=0)return new Y(e).run();const r=t>0?Date.now():0,n=await new Y(e).run(),s=Date.now()-r;return s<t&&await Q(t-s),n},exec:(e,t="")=>Y.exec(e,t),debounce:G,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return M.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),G(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new K(e),delay:(e=1e3)=>new Promise((t=>{setTimeout(t,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}}}};function ee(e){return Math.floor(Math.random()*e)}function te(e,t=10){return+parseFloat(Number(e).toExponential(t))}var re={random:ee,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=ee(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:te,float:function(e,{fractionDigits:t=2,fixed:r=!1}={}){const n=te(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")}};function ne(e){return e!=e}function se(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 ie,oe,ae=(ie=Object.keys,oe=Object,function(e){return ie(oe(e))}),le=Math.max;function ue(e,t){var r=M.isArray(e)||M.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&&!$.hasOwnProperty.call(e,i)||s&&("length"==i||M.isIndex(i,n))||r.push(i);return r}function ce(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 fe=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function he(e){return fe.test(e)}const de="\\ud800-\\udfff",ge=`[${de}]`,pe="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",me="\\ud83c[\\udffb-\\udfff]",ye=`[^${de}]`,we="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",ve=`${`(?:${pe}|${me})`}?`,_e="[\\ufe0e\\ufe0f]?",$e=_e+ve+`(?:\\u200d(?:${[ye,we,be].join("|")})${_e+ve})*`,xe=`(?:${[`${ye}${pe}?`,pe,we,be,ge].join("|")})`,ke=RegExp(`${me}(?=${me})|${xe+$e}`,"g");function Se(e){return he(e)?function(e){return e.match(ke)||[]}(e):function(e){return e.split("")}(e)}function Ae(e){return t=>{if(!t)return"";const r=he(t)?Se(t):void 0,n=r?r[0]:t[0],s=r?ce(r,1).join(""):t.slice(1);return n[e]()+s}}const qe="\\ud800-\\udfff",je="\\u2700-\\u27bf",Ce="a-z\\xdf-\\xf6\\xf8-\\xff",Oe="A-Z\\xc0-\\xd6\\xd8-\\xde",Le="\\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",Ee="['’]",Fe=`[${Le}]`,Me=`[${je}]`,Re=`[${Ce}]`,De=`[^${qe}${Le+"\\d"+je+Ce+Oe}]`,Pe="(?:\\ud83c[\\udde6-\\uddff]){2}",ze="[\\ud800-\\udbff][\\udc00-\\udfff]",Ie=`[${Oe}]`,Te=`(?:${Re}|${De})`,Ne=`(?:${Ie}|${De})`,Be=`(?:${Ee}(?:d|ll|m|re|s|t|ve))?`,Ue=`(?:${Ee}(?:D|LL|M|RE|S|T|VE))?`,Ve="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",He="[\\ufe0e\\ufe0f]?",We=He+Ve+`(?:\\u200d(?:${[`[^${qe}]`,Pe,ze].join("|")})${He+Ve})*`,Ze=`(?:${[Me,Pe,ze].join("|")})${We}`,Je=RegExp([`${Ie}?${Re}+${Be}(?=${[Fe,Ie,"$"].join("|")})`,`${Ne}+${Ue}(?=${[Fe,Ie+Te,"$"].join("|")})`,`${Ie}?${Te}+${Be}`,`${Ie}+${Ue}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ze].join("|"),"g");const Ge=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 ]/),Ye=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ke(e,t){if(void 0===t){const t=Ge(e)?function(e){return e.match(Je)}(e):function(e){return e.match(Ye)}(e);return t||[]}return e.match(t)||[]}function Qe(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Qe(e)))}`;if(M.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Xe=Ae("toUpperCase"),et=Ae("toLowerCase");var tt={toString:Qe,startCase:e=>Ke(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Xe(t)),""),snakeCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Xe(t):t))),""),upperCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Xe,lowerCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:et,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r}};const rt=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]=rt(e[r]));return t};const nt=(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]=st(e[o],a,r)}return n},st=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?nt(e,t,r):nt({...e},t,r),n},it=(e,t,r={})=>nt({...e},t,{cover:!0,...r}),ot=(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=>{ot(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ot(e,t,r,n,s)},get:()=>i})};var at={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!0}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?i&&e.startsWith("_")?e:tt.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const l=r[e];t.ignoreNull&&null===l||(t.ignoreZero&&0===l||t.ignoreEmptyArray&&Array.isArray(l)&&l.length<=0||t.ignoreEmptyString&&"string"==typeof l&&""===l.trim()||(o[a]=l))}return o},clone:rt,merge:st,isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=tt.parseValue(n,{number:t,boolean:r});else e[n]=tt.parseValue(s,{number:t,boolean:r});return e},cloneClass:function(e){return e?"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)):e},combine:it,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:l=!0}=t;return e.forEach((e=>r=it(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:l}))),r},observe:ot};var lt={...M,...$,...at,includes:function(e,t,r,n){e=M.isArrayLike(e)?e:function(e){return e?se(e,function(e){return M.isArrayLike(e)?ue(e):function(e){if(!M.isPrototype(e))return ae(e);var t=[];for(var r in Object(e))$.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?H.toInteger(r):0;var s=e.length;return r<0&&(r=le(s+r,0)),M.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,ne,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(M.isObject(e)&&(r=M.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var ut={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var ct={...ut,stepAction:function(e,t,r=100){if(!M.isFunction(t))return;if(!M.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(!M.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!M.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!M.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return re.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!M.isObject(e))return;const s=e[t];(M.isString(s)&&""!==s||M.isNumber(s))&&(n[s]=e[r])})),n):n}};const ft="[object Object]",ht="[object Array]",dt=e=>Object.prototype.toString.call(e),gt=(e,t,r=!1)=>{if(e===t)return;const n=dt(e);if(n===dt(t))if(n===ht&&e.length>=t.length)for(let r=0;r<t.length;r++)gt(e[r],t[r]);else if(n===ft&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?gt(e[n],t[n]):e[n]=null},pt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=dt(e),o=dt(t);if(i===ht&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)pt(e[s],t[s],r,`${n}[${s}]`);else if(i===ft&&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=dt(s),l=dt(o);if(s!==o)if(a===ht&&l===a&&s.length>=o.length)for(let e=0;e<s.length;e++)pt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===ft&&l===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)pt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class mt{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 yt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new mt,response:new mt};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){yt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete yt.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=at.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(yt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await yt.requestLock[yt.blockId].request;else if(yt.requestLock[yt.blockId]&&yt.requestLock[yt.blockId].lock&&await yt.requestLock[yt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),yt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await yt.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 wt=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var bt={diff:function(e,t){const r={};return(e=>{if(dt(e)===ft)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];dt(n[t])!==ft&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),gt(e,t,!0),pt(e,t,r,"",!0),r},promixify:wt,run:(e,t={})=>e?X.run(wt(e)(t)):X.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:yt,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],l=r[n].deep;at.observe(s,o,a,e,l)}))}};const vt=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 l={};if("string"!=typeof e||0===e.length)return l;const u=/\+/g,c=n||1e3;let f=(e=e.split(t)).length;c>0&&f>c&&(f=c);for(let t=0;t<f;++t){let n,o,a,c,f=e[t].replace(u,"%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,c=i?decodeURIComponent(o):o,$.hasOwnProperty.call(l,a)&&s?Array.isArray(l[a])?l[a].push(c):l[a]=[l[a],c]:l[a]=c}return at.parseValue(l,{number:o,boolean:a}),l},_t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},$t=function(e,t=!0){return t?encodeURIComponent(e):e},xt=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))};var kt={parse:vt,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 l=$t(_t(n),s)+r,u=e[n];return Array.isArray(u)?u.map((function(e){return l+$t(_t(e),s)})).join(t):xt(u,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":l+$t(_t(u),s)})).filter(Boolean).join(t):n?$t(_t(n),s)+r+$t(_t(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=e.split("?"),r=t[0],n=t.length>1?t[1]:"";let s="";const i=r.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);i&&(s=i[1]);return{url:e,path:r,page:s,query:n,params:vt(n,{multiple:!0,uri:!1})}},parsePath:e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.lastIndexOf("/")+1,n=t.substring(r),s=n.lastIndexOf("."),i=n.substring(0,s),o=n.substring(s);return{root:t.substring(0,r),name:n,withoutExtension:i,extension:o}}};const St=/%[sdj%]/g;let At=()=>{};function qt(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 jt(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(St,(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 Ct(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 Ot(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&&(At=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Lt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Et(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);Ot(o,r,(e=>(n(e),e.length?i(new Lt(e,qt(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 l=0;const u=[],c=new Promise(((t,c)=>{const f=e=>{if(u.push.apply(u,e),l++,l===a)return n(u),u.length?c(new Lt(u,qt(u))):t(s)};o.length||(n(u),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?Ot(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 c.catch((e=>e)),c}function Ft(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function Mt(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 Rt=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Ct(t,i||e.type)||n.push(jt(s.messages.required,e.fullField))};let Dt;const Pt=/^(([^<>()\[\]\\.,;:\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,}))$/,zt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,It={integer:e=>It.number(e)&&parseInt(e,10)===e,float:e=>It.number(e)&&!It.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&&!It.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Pt),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Dt)return Dt;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}$`),l=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");l.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),l.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const u=l.v4().source,c=l.v6().source;return Dt=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${u}|${c}|(?:(?:[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"),Dt})()),hex:e=>"string"==typeof e&&!!e.match(zt)},Tt="enum";var Nt={required:Rt,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(jt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Rt(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?It[i](t)||n.push(jt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(jt(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,l=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let u=t,c="";const f="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(f?c="number":h?c="string":d&&(c="array"),!c)return!1;d&&(u=t.length),h&&(u=t.replace(l,"_").length),i?u!==e.len&&n.push(jt(s.messages[c].len,e.fullField,e.len)):o&&!a&&u<e.min?n.push(jt(s.messages[c].min,e.fullField,e.min)):a&&!o&&u>e.max?n.push(jt(s.messages[c].max,e.fullField,e.max)):o&&a&&(u<e.min||u>e.max)&&n.push(jt(s.messages[c].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Tt]=Array.isArray(e[Tt])?e[Tt]:[],-1===e[Tt].indexOf(t)&&n.push(jt(s.messages[Tt],e.fullField,e[Tt].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(jt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(jt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Bt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Ct(t,i)&&!e.required)return r();Nt.required(e,t,n,o,s,i),Ct(t,i)||Nt.type(e,t,n,o,s)}r(o)};var Ut={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Ct(t,"string")&&!e.required)return r();Nt.required(e,t,n,i,s,"string"),Ct(t,"string")||(Nt.type(e,t,n,i,s),Nt.range(e,t,n,i,s),Nt.pattern(e,t,n,i,s),!0===e.whitespace&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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),Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),Ct(t)||Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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();Nt.required(e,t,n,i,s,"array"),null!=t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t,"string")&&!e.required)return r();Nt.required(e,t,n,i,s),Ct(t,"string")||Nt.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(Ct(t,"date")&&!e.required)return r();if(Nt.required(e,t,n,i,s),!Ct(t,"date")){let r;r=t instanceof Date?t:new Date(t),Nt.type(e,r,n,i,s),r&&Nt.range(e,r.getTime(),n,i,s)}}r(i)},url:Bt,hex:Bt,email:Bt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s)}r(i)}};function Vt(){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 Ht=Vt();class Wt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Ut[e]=t};static warning=At;static messages=Ht;static validators=Ut;rules={};_messages=Ht;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=Mt(Vt(),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===Ht&&(e=Vt()),Mt(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 Et(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 l(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function u(i=[]){let u=Array.isArray(i)?i:[i];!0===s.suppressWarning&&u.length&&Wt.warning("async-validator:",u),u.length&&void 0!==r.message&&(u=[].concat(r.message));let c=u.map(Ft(r,n));if(s.first&&c.length)return a[r.field]=1,t(c);if(o){if(r.required&&!e.value)return void 0!==r.message?c=[].concat(r.message).map(Ft(r,n)):s.error&&(c=[s.error(r,jt(s.messages.required,r.field))]),t(c);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(l.bind(null,e))}));const a=new Wt(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=[];c&&c.length&&r.push(...c),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(c)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,u,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,u,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),u(e.message)}!0===i?u():!1===i?u("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?u(i):i instanceof Error&&u(i.message)}i&&i.then&&i.then((()=>u()),(e=>u(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=qt(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&&!Ut.hasOwnProperty(e.type))throw new Error(jt("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]?Ut.required:Ut[this.getType(e)]||void 0}}function Zt(e){return new Wt(e)}var Jt={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:Zt,validate:function(e,t,r={},n=(()=>{})){return X.run(Zt(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 Gt={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})$/}};const Yt=`${s.keyUpper}${s.keyLower}${s.keyNumber}+/=`,Kt=e=>{let t,r,n,s,i,o,a,l="",u=0;for(e=Qt(e);u<e.length;)t=e.charCodeAt(u++),r=e.charCodeAt(u++),n=e.charCodeAt(u++),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),l=l+Yt.charAt(s)+Yt.charAt(i)+Yt.charAt(o)+Yt.charAt(a);return l},Qt=e=>{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},Xt=e=>{let t="",r=0,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};var er={encode:Kt,decode:e=>{let t,r,n,s,i,o,a,l="",u=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u<e.length;)s=Yt.indexOf(e.charAt(u++)),i=Yt.indexOf(e.charAt(u++)),o=Yt.indexOf(e.charAt(u++)),a=Yt.indexOf(e.charAt(u++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,l+=String.fromCharCode(t),64!=o&&(l+=String.fromCharCode(r)),64!=a&&(l+=String.fromCharCode(n));return l=Xt(l),l},encodeByOss:e=>Kt(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var tr={...s,base64:er,uuid:i,newId:(e,t=!1,r="")=>{const n=i(e||32);return t?d.now().format("yyyyMMddhhmmss")+r+n:n}};const rr=e=>{if(!e)return"";if(!lt.isObject(e))return"";let t="";return lt.forof(e,((e,r)=>{r&&(t+=`${tt.kebabCase(e)}:${r};`)})),t},nr=["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"],sr=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],ir=(e,t="px")=>e&&t?"0"===e?e:Jt.isFloat(e.toString())?`${e}${t}`:e:e;var or={stringify:rr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=kt.parse(e,{sep:";",eq:":",uri:!1}),s={};return lt.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:tt.camelCase(e):e;Jt.isFloat(n)||n.length>=2&&n.startsWith(".")&&Jt.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:ir,style:(e,t="px")=>{if(!e)return"";const r=lt.copy(e,{fields:nr});lt.forof(r,((e,n)=>{(sr.includes(e)||sr.includes(tt.camelCase(e)))&&(r[e]=ir(n,t))}));return rr(r)},commonFields:nr};const ar=(e,t)=>{try{const r=document.createElement("a");r.href=t,r.download=e,r.click()}catch(e){console.warn("[ddan] downloadUrl",e)}};var lr={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:ar,download:(e,t)=>{if(!t)return;if("string"==typeof t)return void ar(e,t);const r=URL?.createObjectURL(t);r&&(ar(e,r),URL?.revokeObjectURL(r))},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();ar(t,s)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.warn("[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 l=document.createElement("canvas");l.width=t,l.height=r;const u=l.getContext("2d");return u?(n&&u.rotate(n*Math.PI/180),s&&(u.fillStyle=s),i&&(u.font=i),o&&(u.textAlign=o),a&&(u.textBaseline=a),u.fillText(e,l.width/10,l.height/2),`url(${l.toDataURL()})`):""}catch(e){return console.warn("[ddan] watermark",e),""}}};const ur=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,${er.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}`}};var cr={ossImage:(e,t={})=>{if(!e)return e;const r=kt.parseUrl(e).path;if(t.domain){if(!e.startsWith("http"))return e;const r=ct.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=kt.parseUrl(e).path,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(",")}`}};var fr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r}};const hr=({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 dr(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function gr(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(lt.isPlainObject(e)){const r=kt.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 pr{host="";reqConfig={};handleError;interceptors={request:new mt,response:new mt};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(gr),this.interceptors.response.use(e.handleResponse||dr),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){pr.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete pr.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=lt.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(pr.blockId,(()=>hr(s))),i=await pr.requestLock[pr.blockId].request;else if(pr.requestLock[pr.blockId]&&pr.requestLock[pr.blockId].lock&&await pr.requestLock[pr.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),pr.requestLock[e]||this.lockR(e,(()=>hr(s))),i=await pr.requestLock[e].request,this.unlockR(e)}else i=await hr(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)}}}class mr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=X.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=at.copy(e,{fields:this.fields});this.save(r)}}class yr extends o{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!M.isFunction(n))return;const[,s]=await X.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=at.copy(t);else{const[,t]=await X.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){M.isObject(t)&&(t=at.copy(t)),this[e]=t}}const wr=(e,t)=>{const r=Object.assign(new yr,e||{});r.__persist=new mr(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 M.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(M.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 br{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=kt.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=kt.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=tr.base64.encodeByOss(n),i=kt.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=tr.base64.encodeByOss(e),i=kt.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}class vr{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>X.sleep(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await X.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await X.sleep(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class _r{__list=[];constructor(){this.clear()}add(e){const t=X.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 $r=new class{state=wr(new yr);frame=new a;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],l={time:o,count:1,cycle:n};return a&&("day"!==n||d.isToday(a.time||0))&&(l.count=1+(a.count||0)),i[e]=l,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 l=a[e];if(!l)return!0;if("day"===i&&!d.isToday(l.time||0))return!0;if(r<=(l.count||0))return!1;return!(Date.now()-(l.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=lt.copy(r);lt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||d.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new vr;parallel=()=>new _r};class xr{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=i(),this.start=Date.now(),this.timeStartDesc=d.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=d.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const kr=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 xr;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=at.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 ct.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)))}},Sr={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},Ar=e=>(...t)=>{const r=console[e];Sr.overrode?r(...t):qr(r,e,...t)},qr=(e,t,...r)=>{const n=d.format(new Date,Sr.format),s=Sr.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 jr={override:()=>{if(Sr.overrode)return;Sr.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{qr(t,e,...r)}}))},log:Ar("log"),info:Ar("info"),warn:Ar("warn"),error:Ar("error"),config:({tag:e=Sr.tag,format:t=Sr.format}={})=>{Sr.tag=e,Sr.format=t}},Cr={gbk:e,time:d,hook:X,math:re,util:lt,list:ct,string:tt,obj:at,crypto:tr,mini:bt,qs:kt,css:or,cdn:cr,html:lr,icon:ur,rule:Jt,regex:Gt,convert:fr,Event:o,Http:pr,Store:yr,storeRef:wr,Persist:mr,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r}),watermark:(e,t)=>new br(e,t),joker:$r,tracker:kr,logger:jr};export{Cr as default};
1
+ var e={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const t="0123456789",r="abcdefghijklmnopqrstuvwxyz",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var s={keyNumber:t,keyLower:r,keyUpper:n,keyChars:t+r+n};const i=(e=0,t=0)=>{const r=s.keyChars.split(""),n=[];let i;if(t=t||r.length,e)for(i=0;i<e;i++)n[i]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",i=0;i<36;i++)n[i]||(e=0|16*Math.random(),n[i]=r[19==i?3&e|8:e])}return n.join("")};class o{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=i()}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,handler: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.handler!==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.handler)})),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 a{_loopTimer;_event=new o;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const c=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?f(r).format(t):""},f=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function h({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(c(Date.now(),o)).getTime()}var d={...l,now:function(){return f(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:h,todayZero:()=>h({}),format:c,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return f(r).toCountdown(t)},dtime:f,loopFrame:(e=500)=>new a(e)},g="object"==typeof global&&global&&global.Object===Object&&global,p="object"==typeof self&&self&&self.Object===Object&&self;const m=(g||p||Function("return this")()).Symbol,{toString:y,hasOwnProperty:w,propertyIsEnumerable:b}=Object.prototype,v=m?m.toStringTag:void 0;function _(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":v&&v in Object(e)?function(e){const t=w.call(e,v),r=e[v];let n=!1;try{e[v]=void 0,n=!0}catch(e){}const s=y.call(e);return n&&(t?e[v]=r:delete e[v]),s}(e):y.call(e)}var $={getTag:_,getType:function(e){return(_(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:y,hasOwnProperty:w,propertyIsEnumerable:b},x="[object Function]",k="[object GeneratorFunction]",S="[object AsyncFunction]",A=9007199254740991;const q=/^(?:0|[1-9]\d*)$/;function j(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function C(e){return null!=e&&"object"==typeof e}const O=Array.isArray;function L(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=A}(e.length)&&!F(e)}function E(e){return C(e)&&L(e)}function F(e){var t=j(e)?$.getTag(e):"";return t===x||t===k||t===S}var M={is:function(e,t){return $.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===$.getTag(e)},isString:function(e){return"string"==typeof e||!O(e)&&C(e)&&"[object String]"==$.getTag(e)},isObject:j,isObjectLike:C,isPlainObject:function(e){if(!C(e)||"[object Object]"!=$.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||C(e)&&"[object Symbol]"===$.getTag(e)},isFunction:F,isArray:O,isArrayLikeObject:E,isIndex:function(e,t){return!!(t=null==t?A:t)&&("number"==typeof e||q.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:L,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return E(e)&&$.hasOwnProperty.call(e,"callee")&&(!$.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==$.toString.call(e))},isPromise:function(e){return"[object Promise]"===(j(e)?$.getTag(e):"")}};const R=NaN,D=/^\s+|\s+$/g,P=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,I=/^0o[0-7]+$/i,T=parseInt,N=1/0,B=17976931348623157e292;function U(e){if("number"==typeof e)return e;if(M.isSymbol(e))return R;if(M.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=M.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(D,"");const t=z.test(e);return t||I.test(e)?T(e.slice(2),t?2:8):P.test(e)?R:+e}function V(e){return e?(e=U(e))===N||e===-N?(e<0?-1:1)*B:e==e?e:0:0===e?e:0}var H={toNumber:U,toFinite:V,toInteger:function(e){var t=V(e),r=t%1;return t==t?r?t-r:t:0}};const W="Expected a function",Z=Math.max,J=Math.min;function G(e,t=300,r={}){var n,s,i,o,a,l,u=0,c=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(W);function d(t){var r=n,i=s;return n=s=void 0,u=t,o=e.apply(i,r)}function g(e){var r=e-l;return void 0===l||r>=t||r<0||f&&e-u>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-l);return f?J(r,i-(e-u)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,l=r,i){if(void 0===a)return function(e){return u=e,a=setTimeout(p,t),c?d(e):o}(l);if(f)return a=setTimeout(p,t),d(l)}return void 0===a&&(a=setTimeout(p,t)),o}return t=H.toNumber(t)||0,M.isObject(r)&&(c=!!r.leading,i=(f="maxWait"in r)?Z(H.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=l=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}class Y{__source;constructor(e){this.__source=e}run(){let e;try{let t;return t=M.isFunction(this.__source)?this.__source():this.__source,e=M.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new Y(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new Y(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new Y(e).run();const s=await n;return this._unlock(t),s}}class K{__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(M.isFunction(e))r=e(t);else{if(M.isPromise(e))return e.then((e=>({...t,...e})));r=e}return M.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])}}}const Q=(e=1e3)=>new Promise((t=>{setTimeout(t,e)}));var X={sleep:Q,run:async(e,t=0)=>{if(t<=0)return new Y(e).run();const r=t>0?Date.now():0,n=await new Y(e).run(),s=Date.now()-r;return s<t&&await Q(t-s),n},exec:(e,t="")=>Y.exec(e,t),debounce:G,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return M.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),G(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new K(e),delay:(e=1e3)=>new Promise((t=>{setTimeout(t,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}}}};function ee(e){return Math.floor(Math.random()*e)}function te(e,t=10){return+parseFloat(Number(e).toExponential(t))}var re={random:ee,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=ee(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:te,float:function(e,{fractionDigits:t=2,fixed:r=!1}={}){const n=te(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")}};function ne(e){return e!=e}function se(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 ie,oe,ae=(ie=Object.keys,oe=Object,function(e){return ie(oe(e))}),le=Math.max;function ue(e,t){var r=M.isArray(e)||M.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&&!$.hasOwnProperty.call(e,i)||s&&("length"==i||M.isIndex(i,n))||r.push(i);return r}function ce(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 fe=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function he(e){return fe.test(e)}const de="\\ud800-\\udfff",ge=`[${de}]`,pe="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",me="\\ud83c[\\udffb-\\udfff]",ye=`[^${de}]`,we="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",ve=`${`(?:${pe}|${me})`}?`,_e="[\\ufe0e\\ufe0f]?",$e=_e+ve+`(?:\\u200d(?:${[ye,we,be].join("|")})${_e+ve})*`,xe=`(?:${[`${ye}${pe}?`,pe,we,be,ge].join("|")})`,ke=RegExp(`${me}(?=${me})|${xe+$e}`,"g");function Se(e){return he(e)?function(e){return e.match(ke)||[]}(e):function(e){return e.split("")}(e)}function Ae(e){return t=>{if(!t)return"";const r=he(t)?Se(t):void 0,n=r?r[0]:t[0],s=r?ce(r,1).join(""):t.slice(1);return n[e]()+s}}const qe="\\ud800-\\udfff",je="\\u2700-\\u27bf",Ce="a-z\\xdf-\\xf6\\xf8-\\xff",Oe="A-Z\\xc0-\\xd6\\xd8-\\xde",Le="\\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",Ee="['’]",Fe=`[${Le}]`,Me=`[${je}]`,Re=`[${Ce}]`,De=`[^${qe}${Le+"\\d"+je+Ce+Oe}]`,Pe="(?:\\ud83c[\\udde6-\\uddff]){2}",ze="[\\ud800-\\udbff][\\udc00-\\udfff]",Ie=`[${Oe}]`,Te=`(?:${Re}|${De})`,Ne=`(?:${Ie}|${De})`,Be=`(?:${Ee}(?:d|ll|m|re|s|t|ve))?`,Ue=`(?:${Ee}(?:D|LL|M|RE|S|T|VE))?`,Ve="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",He="[\\ufe0e\\ufe0f]?",We=He+Ve+`(?:\\u200d(?:${[`[^${qe}]`,Pe,ze].join("|")})${He+Ve})*`,Ze=`(?:${[Me,Pe,ze].join("|")})${We}`,Je=RegExp([`${Ie}?${Re}+${Be}(?=${[Fe,Ie,"$"].join("|")})`,`${Ne}+${Ue}(?=${[Fe,Ie+Te,"$"].join("|")})`,`${Ie}?${Te}+${Be}`,`${Ie}+${Ue}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ze].join("|"),"g");const Ge=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 ]/),Ye=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ke(e,t){if(void 0===t){const t=Ge(e)?function(e){return e.match(Je)}(e):function(e){return e.match(Ye)}(e);return t||[]}return e.match(t)||[]}function Qe(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Qe(e)))}`;if(M.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Xe=Ae("toUpperCase"),et=Ae("toLowerCase");var tt={toString:Qe,startCase:e=>Ke(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Xe(t)),""),snakeCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Xe(t):t))),""),upperCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Xe,lowerCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:et,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r}};const rt=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]=rt(e[r]));return t};const nt=(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]=st(e[o],a,r)}return n},st=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?nt(e,t,r):nt({...e},t,r),n},it=(e,t,r={})=>nt({...e},t,{cover:!0,...r}),ot=(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=>{ot(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ot(e,t,r,n,s)},get:()=>i})};var at={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!0}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?i&&e.startsWith("_")?e:tt.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const l=r[e];t.ignoreNull&&null===l||(t.ignoreZero&&0===l||t.ignoreEmptyArray&&Array.isArray(l)&&l.length<=0||t.ignoreEmptyString&&"string"==typeof l&&""===l.trim()||(o[a]=l))}return o},clone:rt,merge:st,isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=tt.parseValue(n,{number:t,boolean:r});else e[n]=tt.parseValue(s,{number:t,boolean:r});return e},cloneClass:function(e){return e?"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)):e},combine:it,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:l=!0}=t;return e.forEach((e=>r=it(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:l}))),r},observe:ot};var lt={...M,...$,...at,includes:function(e,t,r,n){e=M.isArrayLike(e)?e:function(e){return e?se(e,function(e){return M.isArrayLike(e)?ue(e):function(e){if(!M.isPrototype(e))return ae(e);var t=[];for(var r in Object(e))$.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?H.toInteger(r):0;var s=e.length;return r<0&&(r=le(s+r,0)),M.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,ne,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(M.isObject(e)&&(r=M.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var ut={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var ct={...ut,stepAction:function(e,t,r=100){if(!M.isFunction(t))return;if(!M.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(!M.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!M.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!M.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return re.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!M.isObject(e))return;const s=e[t];(M.isString(s)&&""!==s||M.isNumber(s))&&(n[s]=e[r])})),n):n}};const ft="[object Object]",ht="[object Array]",dt=e=>Object.prototype.toString.call(e),gt=(e,t,r=!1)=>{if(e===t)return;const n=dt(e);if(n===dt(t))if(n===ht&&e.length>=t.length)for(let r=0;r<t.length;r++)gt(e[r],t[r]);else if(n===ft&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?gt(e[n],t[n]):e[n]=null},pt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=dt(e),o=dt(t);if(i===ht&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)pt(e[s],t[s],r,`${n}[${s}]`);else if(i===ft&&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=dt(s),l=dt(o);if(s!==o)if(a===ht&&l===a&&s.length>=o.length)for(let e=0;e<s.length;e++)pt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===ft&&l===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)pt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class mt{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 yt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new mt,response:new mt};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){yt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete yt.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=at.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(yt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await yt.requestLock[yt.blockId].request;else if(yt.requestLock[yt.blockId]&&yt.requestLock[yt.blockId].lock&&await yt.requestLock[yt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),yt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await yt.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 wt=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var bt={diff:function(e,t){const r={};return(e=>{if(dt(e)===ft)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];dt(n[t])!==ft&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),gt(e,t,!0),pt(e,t,r,"",!0),r},promixify:wt,run:(e,t={})=>e?X.run(wt(e)(t)):X.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:yt,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],l=r[n].deep;at.observe(s,o,a,e,l)}))}};const vt=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 l={};if("string"!=typeof e||0===e.length)return l;const u=/\+/g,c=n||1e3;let f=(e=e.split(t)).length;c>0&&f>c&&(f=c);for(let t=0;t<f;++t){let n,o,a,c,f=e[t].replace(u,"%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,c=i?decodeURIComponent(o):o,$.hasOwnProperty.call(l,a)&&s?Array.isArray(l[a])?l[a].push(c):l[a]=[l[a],c]:l[a]=c}return at.parseValue(l,{number:o,boolean:a}),l},_t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},$t=function(e,t=!0){return t?encodeURIComponent(e):e},xt=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))};var kt={parse:vt,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 l=$t(_t(n),s)+r,u=e[n];return Array.isArray(u)?u.map((function(e){return l+$t(_t(e),s)})).join(t):xt(u,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":l+$t(_t(u),s)})).filter(Boolean).join(t):n?$t(_t(n),s)+r+$t(_t(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=e.split("?"),r=t[0],n=t.length>1?t[1]:"";let s="";const i=r.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);i&&(s=i[1]);return{url:e,path:r,page:s,query:n,params:vt(n,{multiple:!0,uri:!1})}},parsePath:e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.lastIndexOf("/")+1,n=t.substring(r),s=n.lastIndexOf("."),i=n.substring(0,s),o=n.substring(s);return{root:t.substring(0,r),name:n,withoutExtension:i,extension:o}},join:(...e)=>{const t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length>0&&t.push(r)})),t.join("/")}};const St=/%[sdj%]/g;let At=()=>{};function qt(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 jt(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(St,(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 Ct(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 Ot(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&&(At=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Lt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Et(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);Ot(o,r,(e=>(n(e),e.length?i(new Lt(e,qt(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 l=0;const u=[],c=new Promise(((t,c)=>{const f=e=>{if(u.push.apply(u,e),l++,l===a)return n(u),u.length?c(new Lt(u,qt(u))):t(s)};o.length||(n(u),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?Ot(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 c.catch((e=>e)),c}function Ft(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function Mt(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 Rt=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Ct(t,i||e.type)||n.push(jt(s.messages.required,e.fullField))};let Dt;const Pt=/^(([^<>()\[\]\\.,;:\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,}))$/,zt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,It={integer:e=>It.number(e)&&parseInt(e,10)===e,float:e=>It.number(e)&&!It.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&&!It.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Pt),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Dt)return Dt;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}$`),l=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");l.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),l.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const u=l.v4().source,c=l.v6().source;return Dt=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${u}|${c}|(?:(?:[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"),Dt})()),hex:e=>"string"==typeof e&&!!e.match(zt)},Tt="enum";var Nt={required:Rt,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(jt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Rt(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?It[i](t)||n.push(jt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(jt(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,l=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let u=t,c="";const f="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(f?c="number":h?c="string":d&&(c="array"),!c)return!1;d&&(u=t.length),h&&(u=t.replace(l,"_").length),i?u!==e.len&&n.push(jt(s.messages[c].len,e.fullField,e.len)):o&&!a&&u<e.min?n.push(jt(s.messages[c].min,e.fullField,e.min)):a&&!o&&u>e.max?n.push(jt(s.messages[c].max,e.fullField,e.max)):o&&a&&(u<e.min||u>e.max)&&n.push(jt(s.messages[c].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Tt]=Array.isArray(e[Tt])?e[Tt]:[],-1===e[Tt].indexOf(t)&&n.push(jt(s.messages[Tt],e.fullField,e[Tt].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(jt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(jt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Bt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Ct(t,i)&&!e.required)return r();Nt.required(e,t,n,o,s,i),Ct(t,i)||Nt.type(e,t,n,o,s)}r(o)};var Ut={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Ct(t,"string")&&!e.required)return r();Nt.required(e,t,n,i,s,"string"),Ct(t,"string")||(Nt.type(e,t,n,i,s),Nt.range(e,t,n,i,s),Nt.pattern(e,t,n,i,s),!0===e.whitespace&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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),Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),Ct(t)||Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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();Nt.required(e,t,n,i,s,"array"),null!=t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t,"string")&&!e.required)return r();Nt.required(e,t,n,i,s),Ct(t,"string")||Nt.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(Ct(t,"date")&&!e.required)return r();if(Nt.required(e,t,n,i,s),!Ct(t,"date")){let r;r=t instanceof Date?t:new Date(t),Nt.type(e,r,n,i,s),r&&Nt.range(e,r.getTime(),n,i,s)}}r(i)},url:Bt,hex:Bt,email:Bt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s)}r(i)}};function Vt(){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 Ht=Vt();class Wt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Ut[e]=t};static warning=At;static messages=Ht;static validators=Ut;rules={};_messages=Ht;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=Mt(Vt(),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===Ht&&(e=Vt()),Mt(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 Et(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 l(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function u(i=[]){let u=Array.isArray(i)?i:[i];!0===s.suppressWarning&&u.length&&Wt.warning("async-validator:",u),u.length&&void 0!==r.message&&(u=[].concat(r.message));let c=u.map(Ft(r,n));if(s.first&&c.length)return a[r.field]=1,t(c);if(o){if(r.required&&!e.value)return void 0!==r.message?c=[].concat(r.message).map(Ft(r,n)):s.error&&(c=[s.error(r,jt(s.messages.required,r.field))]),t(c);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(l.bind(null,e))}));const a=new Wt(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=[];c&&c.length&&r.push(...c),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(c)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,u,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,u,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),u(e.message)}!0===i?u():!1===i?u("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?u(i):i instanceof Error&&u(i.message)}i&&i.then&&i.then((()=>u()),(e=>u(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=qt(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&&!Ut.hasOwnProperty(e.type))throw new Error(jt("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]?Ut.required:Ut[this.getType(e)]||void 0}}function Zt(e){return new Wt(e)}var Jt={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:Zt,validate:function(e,t,r={},n=(()=>{})){return X.run(Zt(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 Gt={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})$/}};const Yt=`${s.keyUpper}${s.keyLower}${s.keyNumber}+/=`,Kt=e=>{let t,r,n,s,i,o,a,l="",u=0;for(e=Qt(e);u<e.length;)t=e.charCodeAt(u++),r=e.charCodeAt(u++),n=e.charCodeAt(u++),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),l=l+Yt.charAt(s)+Yt.charAt(i)+Yt.charAt(o)+Yt.charAt(a);return l},Qt=e=>{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},Xt=e=>{let t="",r=0,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};var er={encode:Kt,decode:e=>{let t,r,n,s,i,o,a,l="",u=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u<e.length;)s=Yt.indexOf(e.charAt(u++)),i=Yt.indexOf(e.charAt(u++)),o=Yt.indexOf(e.charAt(u++)),a=Yt.indexOf(e.charAt(u++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,l+=String.fromCharCode(t),64!=o&&(l+=String.fromCharCode(r)),64!=a&&(l+=String.fromCharCode(n));return l=Xt(l),l},encodeByOss:e=>Kt(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var tr={...s,base64:er,uuid:i,newId:(e,t=!1,r="")=>{const n=i(e||32);return t?d.now().format("yyyyMMddhhmmss")+r+n:n}};const rr=e=>{if(!e)return"";if(!lt.isObject(e))return"";let t="";return lt.forof(e,((e,r)=>{r&&(t+=`${tt.kebabCase(e)}:${r};`)})),t},nr=["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"],sr=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],ir=(e,t="px")=>e&&t?"0"===e?e:Jt.isFloat(e.toString())?`${e}${t}`:e:e;var or={stringify:rr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=kt.parse(e,{sep:";",eq:":",uri:!1}),s={};return lt.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:tt.camelCase(e):e;Jt.isFloat(n)||n.length>=2&&n.startsWith(".")&&Jt.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:ir,style:(e,t="px")=>{if(!e)return"";const r=lt.copy(e,{fields:nr});lt.forof(r,((e,n)=>{(sr.includes(e)||sr.includes(tt.camelCase(e)))&&(r[e]=ir(n,t))}));return rr(r)},commonFields:nr};const ar=(e,t)=>{try{const r=document.createElement("a");r.href=t,r.download=e,r.click()}catch(e){console.warn("[ddan] downloadUrl",e)}};var lr={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:ar,download:(e,t)=>{if(!t)return;if("string"==typeof t)return void ar(e,t);const r=URL?.createObjectURL(t);r&&(ar(e,r),URL?.revokeObjectURL(r))},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();ar(t,s)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.warn("[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 l=document.createElement("canvas");l.width=t,l.height=r;const u=l.getContext("2d");return u?(n&&u.rotate(n*Math.PI/180),s&&(u.fillStyle=s),i&&(u.font=i),o&&(u.textAlign=o),a&&(u.textBaseline=a),u.fillText(e,l.width/10,l.height/2),`url(${l.toDataURL()})`):""}catch(e){return console.warn("[ddan] watermark",e),""}}};const ur=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,${er.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}`}};var cr={ossImage:(e,t={})=>{if(!e)return e;const r=kt.parseUrl(e).path;if(t.domain){if(!e.startsWith("http"))return e;const r=ct.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=kt.parseUrl(e).path,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(",")}`}};var fr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r}};const hr=({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 dr(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function gr(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(lt.isPlainObject(e)){const r=kt.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 pr{host="";reqConfig={};handleError;interceptors={request:new mt,response:new mt};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(gr),this.interceptors.response.use(e.handleResponse||dr),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){pr.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete pr.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=lt.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(pr.blockId,(()=>hr(s))),i=await pr.requestLock[pr.blockId].request;else if(pr.requestLock[pr.blockId]&&pr.requestLock[pr.blockId].lock&&await pr.requestLock[pr.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),pr.requestLock[e]||this.lockR(e,(()=>hr(s))),i=await pr.requestLock[e].request,this.unlockR(e)}else i=await hr(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)}}}class mr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=X.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=at.copy(e,{fields:this.fields});this.save(r)}}class yr extends o{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!M.isFunction(n))return;const[,s]=await X.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=at.copy(t);else{const[,t]=await X.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){M.isObject(t)&&(t=at.copy(t)),this[e]=t}}const wr=(e,t)=>{const r=Object.assign(new yr,e||{});r.__persist=new mr(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 M.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(M.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 br{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=kt.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=kt.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=tr.base64.encodeByOss(n),i=kt.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=tr.base64.encodeByOss(e),i=kt.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}class vr{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>X.sleep(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await X.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await X.sleep(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class _r{__list=[];constructor(){this.clear()}add(e){const t=X.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 $r=new class{state=wr(new yr);frame=new a;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],l={time:o,count:1,cycle:n};return a&&("day"!==n||d.isToday(a.time||0))&&(l.count=1+(a.count||0)),i[e]=l,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 l=a[e];if(!l)return!0;if("day"===i&&!d.isToday(l.time||0))return!0;if(r<=(l.count||0))return!1;return!(Date.now()-(l.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=lt.copy(r);lt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||d.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new vr;parallel=()=>new _r};class xr{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=i(),this.start=Date.now(),this.timeStartDesc=d.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=d.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const kr=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 xr;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=at.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 ct.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)))}},Sr={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},Ar=e=>(...t)=>{const r=console[e];Sr.overrode?r(...t):qr(r,e,...t)},qr=(e,t,...r)=>{const n=d.format(new Date,Sr.format),s=Sr.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 jr={override:()=>{if(Sr.overrode)return;Sr.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{qr(t,e,...r)}}))},log:Ar("log"),info:Ar("info"),warn:Ar("warn"),error:Ar("error"),config:({tag:e=Sr.tag,format:t=Sr.format}={})=>{Sr.tag=e,Sr.format=t}},Cr={gbk:e,time:d,hook:X,math:re,util:lt,list:ct,string:tt,obj:at,crypto:tr,mini:bt,qs:kt,css:or,cdn:cr,html:lr,icon:ur,rule:Jt,regex:Gt,convert:fr,Event:o,Http:pr,Store:yr,storeRef:wr,Persist:mr,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r}),watermark:(e,t)=>new br(e,t),joker:$r,tracker:kr,logger:jr};export{Cr as default};
package/bin/ddan-js.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ddan=t()}(this,(function(){"use strict";var e={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const t="0123456789",r="abcdefghijklmnopqrstuvwxyz",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var s={keyNumber:t,keyLower:r,keyUpper:n,keyChars:t+r+n};const i=(e=0,t=0)=>{const r=s.keyChars.split(""),n=[];let i;if(t=t||r.length,e)for(i=0;i<e;i++)n[i]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",i=0;i<36;i++)n[i]||(e=0|16*Math.random(),n[i]=r[19==i?3&e|8:e])}return n.join("")};class o{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=i()}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,handler: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.handler!==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.handler)})),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 a{_loopTimer;_event=new o;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const c=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?f(r).format(t):""},f=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function h({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(c(Date.now(),o)).getTime()}var d={...l,now:function(){return f(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:h,todayZero:()=>h({}),format:c,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return f(r).toCountdown(t)},dtime:f,loopFrame:(e=500)=>new a(e)},g="object"==typeof global&&global&&global.Object===Object&&global,p="object"==typeof self&&self&&self.Object===Object&&self;const m=(g||p||Function("return this")()).Symbol,{toString:y,hasOwnProperty:w,propertyIsEnumerable:b}=Object.prototype,v=m?m.toStringTag:void 0;function _(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":v&&v in Object(e)?function(e){const t=w.call(e,v),r=e[v];let n=!1;try{e[v]=void 0,n=!0}catch(e){}const s=y.call(e);return n&&(t?e[v]=r:delete e[v]),s}(e):y.call(e)}var $={getTag:_,getType:function(e){return(_(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:y,hasOwnProperty:w,propertyIsEnumerable:b},x="[object Function]",k="[object GeneratorFunction]",S="[object AsyncFunction]",A=9007199254740991;const q=/^(?:0|[1-9]\d*)$/;function j(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function C(e){return null!=e&&"object"==typeof e}const O=Array.isArray;function L(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=A}(e.length)&&!F(e)}function E(e){return C(e)&&L(e)}function F(e){var t=j(e)?$.getTag(e):"";return t===x||t===k||t===S}var M={is:function(e,t){return $.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===$.getTag(e)},isString:function(e){return"string"==typeof e||!O(e)&&C(e)&&"[object String]"==$.getTag(e)},isObject:j,isObjectLike:C,isPlainObject:function(e){if(!C(e)||"[object Object]"!=$.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||C(e)&&"[object Symbol]"===$.getTag(e)},isFunction:F,isArray:O,isArrayLikeObject:E,isIndex:function(e,t){return!!(t=null==t?A:t)&&("number"==typeof e||q.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:L,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return E(e)&&$.hasOwnProperty.call(e,"callee")&&(!$.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==$.toString.call(e))},isPromise:function(e){return"[object Promise]"===(j(e)?$.getTag(e):"")}};const R=NaN,D=/^\s+|\s+$/g,P=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,T=/^0o[0-7]+$/i,I=parseInt,N=1/0,B=17976931348623157e292;function U(e){if("number"==typeof e)return e;if(M.isSymbol(e))return R;if(M.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=M.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(D,"");const t=z.test(e);return t||T.test(e)?I(e.slice(2),t?2:8):P.test(e)?R:+e}function V(e){return e?(e=U(e))===N||e===-N?(e<0?-1:1)*B:e==e?e:0:0===e?e:0}var H={toNumber:U,toFinite:V,toInteger:function(e){var t=V(e),r=t%1;return t==t?r?t-r:t:0}};const W="Expected a function",Z=Math.max,J=Math.min;function G(e,t=300,r={}){var n,s,i,o,a,l,u=0,c=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(W);function d(t){var r=n,i=s;return n=s=void 0,u=t,o=e.apply(i,r)}function g(e){var r=e-l;return void 0===l||r>=t||r<0||f&&e-u>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-l);return f?J(r,i-(e-u)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,l=r,i){if(void 0===a)return function(e){return u=e,a=setTimeout(p,t),c?d(e):o}(l);if(f)return a=setTimeout(p,t),d(l)}return void 0===a&&(a=setTimeout(p,t)),o}return t=H.toNumber(t)||0,M.isObject(r)&&(c=!!r.leading,i=(f="maxWait"in r)?Z(H.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=l=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}class Y{__source;constructor(e){this.__source=e}run(){let e;try{let t;return t=M.isFunction(this.__source)?this.__source():this.__source,e=M.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new Y(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new Y(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new Y(e).run();const s=await n;return this._unlock(t),s}}class K{__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(M.isFunction(e))r=e(t);else{if(M.isPromise(e))return e.then((e=>({...t,...e})));r=e}return M.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])}}}const Q=(e=1e3)=>new Promise((t=>{setTimeout(t,e)}));var X={sleep:Q,run:async(e,t=0)=>{if(t<=0)return new Y(e).run();const r=t>0?Date.now():0,n=await new Y(e).run(),s=Date.now()-r;return s<t&&await Q(t-s),n},exec:(e,t="")=>Y.exec(e,t),debounce:G,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return M.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),G(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new K(e),delay:(e=1e3)=>new Promise((t=>{setTimeout(t,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}}}};function ee(e){return Math.floor(Math.random()*e)}function te(e,t=10){return+parseFloat(Number(e).toExponential(t))}var re={random:ee,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=ee(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:te,float:function(e,{fractionDigits:t=2,fixed:r=!1}={}){const n=te(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")}};function ne(e){return e!=e}function se(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 ie,oe,ae=(ie=Object.keys,oe=Object,function(e){return ie(oe(e))}),le=Math.max;function ue(e,t){var r=M.isArray(e)||M.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&&!$.hasOwnProperty.call(e,i)||s&&("length"==i||M.isIndex(i,n))||r.push(i);return r}function ce(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 fe=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function he(e){return fe.test(e)}const de="\\ud800-\\udfff",ge=`[${de}]`,pe="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",me="\\ud83c[\\udffb-\\udfff]",ye=`[^${de}]`,we="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",ve=`${`(?:${pe}|${me})`}?`,_e="[\\ufe0e\\ufe0f]?",$e=_e+ve+`(?:\\u200d(?:${[ye,we,be].join("|")})${_e+ve})*`,xe=`(?:${[`${ye}${pe}?`,pe,we,be,ge].join("|")})`,ke=RegExp(`${me}(?=${me})|${xe+$e}`,"g");function Se(e){return he(e)?function(e){return e.match(ke)||[]}(e):function(e){return e.split("")}(e)}function Ae(e){return t=>{if(!t)return"";const r=he(t)?Se(t):void 0,n=r?r[0]:t[0],s=r?ce(r,1).join(""):t.slice(1);return n[e]()+s}}const qe="\\ud800-\\udfff",je="\\u2700-\\u27bf",Ce="a-z\\xdf-\\xf6\\xf8-\\xff",Oe="A-Z\\xc0-\\xd6\\xd8-\\xde",Le="\\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",Ee="['’]",Fe=`[${Le}]`,Me=`[${je}]`,Re=`[${Ce}]`,De=`[^${qe}${Le+"\\d"+je+Ce+Oe}]`,Pe="(?:\\ud83c[\\udde6-\\uddff]){2}",ze="[\\ud800-\\udbff][\\udc00-\\udfff]",Te=`[${Oe}]`,Ie=`(?:${Re}|${De})`,Ne=`(?:${Te}|${De})`,Be=`(?:${Ee}(?:d|ll|m|re|s|t|ve))?`,Ue=`(?:${Ee}(?:D|LL|M|RE|S|T|VE))?`,Ve="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",He="[\\ufe0e\\ufe0f]?",We=He+Ve+`(?:\\u200d(?:${[`[^${qe}]`,Pe,ze].join("|")})${He+Ve})*`,Ze=`(?:${[Me,Pe,ze].join("|")})${We}`,Je=RegExp([`${Te}?${Re}+${Be}(?=${[Fe,Te,"$"].join("|")})`,`${Ne}+${Ue}(?=${[Fe,Te+Ie,"$"].join("|")})`,`${Te}?${Ie}+${Be}`,`${Te}+${Ue}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ze].join("|"),"g");const Ge=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 ]/),Ye=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ke(e,t){if(void 0===t){const t=Ge(e)?function(e){return e.match(Je)}(e):function(e){return e.match(Ye)}(e);return t||[]}return e.match(t)||[]}function Qe(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Qe(e)))}`;if(M.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Xe=Ae("toUpperCase"),et=Ae("toLowerCase");var tt={toString:Qe,startCase:e=>Ke(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Xe(t)),""),snakeCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Xe(t):t))),""),upperCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Xe,lowerCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:et,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r}};const rt=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]=rt(e[r]));return t};const nt=(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]=st(e[o],a,r)}return n},st=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?nt(e,t,r):nt({...e},t,r),n},it=(e,t,r={})=>nt({...e},t,{cover:!0,...r}),ot=(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=>{ot(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ot(e,t,r,n,s)},get:()=>i})};var at={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!0}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?i&&e.startsWith("_")?e:tt.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const l=r[e];t.ignoreNull&&null===l||(t.ignoreZero&&0===l||t.ignoreEmptyArray&&Array.isArray(l)&&l.length<=0||t.ignoreEmptyString&&"string"==typeof l&&""===l.trim()||(o[a]=l))}return o},clone:rt,merge:st,isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=tt.parseValue(n,{number:t,boolean:r});else e[n]=tt.parseValue(s,{number:t,boolean:r});return e},cloneClass:function(e){return e?"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)):e},combine:it,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:l=!0}=t;return e.forEach((e=>r=it(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:l}))),r},observe:ot};var lt={...M,...$,...at,includes:function(e,t,r,n){e=M.isArrayLike(e)?e:function(e){return e?se(e,function(e){return M.isArrayLike(e)?ue(e):function(e){if(!M.isPrototype(e))return ae(e);var t=[];for(var r in Object(e))$.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?H.toInteger(r):0;var s=e.length;return r<0&&(r=le(s+r,0)),M.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,ne,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(M.isObject(e)&&(r=M.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var ut={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var ct={...ut,stepAction:function(e,t,r=100){if(!M.isFunction(t))return;if(!M.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(!M.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!M.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!M.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return re.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!M.isObject(e))return;const s=e[t];(M.isString(s)&&""!==s||M.isNumber(s))&&(n[s]=e[r])})),n):n}};const ft="[object Object]",ht="[object Array]",dt=e=>Object.prototype.toString.call(e),gt=(e,t,r=!1)=>{if(e===t)return;const n=dt(e);if(n===dt(t))if(n===ht&&e.length>=t.length)for(let r=0;r<t.length;r++)gt(e[r],t[r]);else if(n===ft&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?gt(e[n],t[n]):e[n]=null},pt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=dt(e),o=dt(t);if(i===ht&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)pt(e[s],t[s],r,`${n}[${s}]`);else if(i===ft&&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=dt(s),l=dt(o);if(s!==o)if(a===ht&&l===a&&s.length>=o.length)for(let e=0;e<s.length;e++)pt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===ft&&l===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)pt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class mt{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 yt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new mt,response:new mt};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){yt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete yt.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=at.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(yt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await yt.requestLock[yt.blockId].request;else if(yt.requestLock[yt.blockId]&&yt.requestLock[yt.blockId].lock&&await yt.requestLock[yt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),yt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await yt.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 wt=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var bt={diff:function(e,t){const r={};return(e=>{if(dt(e)===ft)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];dt(n[t])!==ft&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),gt(e,t,!0),pt(e,t,r,"",!0),r},promixify:wt,run:(e,t={})=>e?X.run(wt(e)(t)):X.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:yt,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],l=r[n].deep;at.observe(s,o,a,e,l)}))}};const vt=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 l={};if("string"!=typeof e||0===e.length)return l;const u=/\+/g,c=n||1e3;let f=(e=e.split(t)).length;c>0&&f>c&&(f=c);for(let t=0;t<f;++t){let n,o,a,c,f=e[t].replace(u,"%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,c=i?decodeURIComponent(o):o,$.hasOwnProperty.call(l,a)&&s?Array.isArray(l[a])?l[a].push(c):l[a]=[l[a],c]:l[a]=c}return at.parseValue(l,{number:o,boolean:a}),l},_t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},$t=function(e,t=!0){return t?encodeURIComponent(e):e},xt=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))};var kt={parse:vt,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 l=$t(_t(n),s)+r,u=e[n];return Array.isArray(u)?u.map((function(e){return l+$t(_t(e),s)})).join(t):xt(u,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":l+$t(_t(u),s)})).filter(Boolean).join(t):n?$t(_t(n),s)+r+$t(_t(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=e.split("?"),r=t[0],n=t.length>1?t[1]:"";let s="";const i=r.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);i&&(s=i[1]);return{url:e,path:r,page:s,query:n,params:vt(n,{multiple:!0,uri:!1})}},parsePath:e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.lastIndexOf("/")+1,n=t.substring(r),s=n.lastIndexOf("."),i=n.substring(0,s),o=n.substring(s);return{root:t.substring(0,r),name:n,withoutExtension:i,extension:o}}};const St=/%[sdj%]/g;let At=()=>{};function qt(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 jt(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(St,(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 Ct(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 Ot(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&&(At=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Lt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Et(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);Ot(o,r,(e=>(n(e),e.length?i(new Lt(e,qt(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 l=0;const u=[],c=new Promise(((t,c)=>{const f=e=>{if(u.push.apply(u,e),l++,l===a)return n(u),u.length?c(new Lt(u,qt(u))):t(s)};o.length||(n(u),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?Ot(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 c.catch((e=>e)),c}function Ft(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function Mt(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 Rt=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Ct(t,i||e.type)||n.push(jt(s.messages.required,e.fullField))};let Dt;const Pt=/^(([^<>()\[\]\\.,;:\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,}))$/,zt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Tt={integer:e=>Tt.number(e)&&parseInt(e,10)===e,float:e=>Tt.number(e)&&!Tt.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&&!Tt.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Pt),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Dt)return Dt;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}$`),l=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");l.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),l.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const u=l.v4().source,c=l.v6().source;return Dt=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${u}|${c}|(?:(?:[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"),Dt})()),hex:e=>"string"==typeof e&&!!e.match(zt)},It="enum";var Nt={required:Rt,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(jt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Rt(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Tt[i](t)||n.push(jt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(jt(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,l=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let u=t,c="";const f="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(f?c="number":h?c="string":d&&(c="array"),!c)return!1;d&&(u=t.length),h&&(u=t.replace(l,"_").length),i?u!==e.len&&n.push(jt(s.messages[c].len,e.fullField,e.len)):o&&!a&&u<e.min?n.push(jt(s.messages[c].min,e.fullField,e.min)):a&&!o&&u>e.max?n.push(jt(s.messages[c].max,e.fullField,e.max)):o&&a&&(u<e.min||u>e.max)&&n.push(jt(s.messages[c].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[It]=Array.isArray(e[It])?e[It]:[],-1===e[It].indexOf(t)&&n.push(jt(s.messages[It],e.fullField,e[It].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(jt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(jt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Bt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Ct(t,i)&&!e.required)return r();Nt.required(e,t,n,o,s,i),Ct(t,i)||Nt.type(e,t,n,o,s)}r(o)};var Ut={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Ct(t,"string")&&!e.required)return r();Nt.required(e,t,n,i,s,"string"),Ct(t,"string")||(Nt.type(e,t,n,i,s),Nt.range(e,t,n,i,s),Nt.pattern(e,t,n,i,s),!0===e.whitespace&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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),Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),Ct(t)||Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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();Nt.required(e,t,n,i,s,"array"),null!=t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t,"string")&&!e.required)return r();Nt.required(e,t,n,i,s),Ct(t,"string")||Nt.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(Ct(t,"date")&&!e.required)return r();if(Nt.required(e,t,n,i,s),!Ct(t,"date")){let r;r=t instanceof Date?t:new Date(t),Nt.type(e,r,n,i,s),r&&Nt.range(e,r.getTime(),n,i,s)}}r(i)},url:Bt,hex:Bt,email:Bt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s)}r(i)}};function Vt(){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 Ht=Vt();class Wt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Ut[e]=t};static warning=At;static messages=Ht;static validators=Ut;rules={};_messages=Ht;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=Mt(Vt(),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===Ht&&(e=Vt()),Mt(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 Et(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 l(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function u(i=[]){let u=Array.isArray(i)?i:[i];!0===s.suppressWarning&&u.length&&Wt.warning("async-validator:",u),u.length&&void 0!==r.message&&(u=[].concat(r.message));let c=u.map(Ft(r,n));if(s.first&&c.length)return a[r.field]=1,t(c);if(o){if(r.required&&!e.value)return void 0!==r.message?c=[].concat(r.message).map(Ft(r,n)):s.error&&(c=[s.error(r,jt(s.messages.required,r.field))]),t(c);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(l.bind(null,e))}));const a=new Wt(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=[];c&&c.length&&r.push(...c),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(c)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,u,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,u,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),u(e.message)}!0===i?u():!1===i?u("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?u(i):i instanceof Error&&u(i.message)}i&&i.then&&i.then((()=>u()),(e=>u(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=qt(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&&!Ut.hasOwnProperty(e.type))throw new Error(jt("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]?Ut.required:Ut[this.getType(e)]||void 0}}function Zt(e){return new Wt(e)}var Jt={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:Zt,validate:function(e,t,r={},n=(()=>{})){return X.run(Zt(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 Gt={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})$/}};const Yt=`${s.keyUpper}${s.keyLower}${s.keyNumber}+/=`,Kt=e=>{let t,r,n,s,i,o,a,l="",u=0;for(e=Qt(e);u<e.length;)t=e.charCodeAt(u++),r=e.charCodeAt(u++),n=e.charCodeAt(u++),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),l=l+Yt.charAt(s)+Yt.charAt(i)+Yt.charAt(o)+Yt.charAt(a);return l},Qt=e=>{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},Xt=e=>{let t="",r=0,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};var er={encode:Kt,decode:e=>{let t,r,n,s,i,o,a,l="",u=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u<e.length;)s=Yt.indexOf(e.charAt(u++)),i=Yt.indexOf(e.charAt(u++)),o=Yt.indexOf(e.charAt(u++)),a=Yt.indexOf(e.charAt(u++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,l+=String.fromCharCode(t),64!=o&&(l+=String.fromCharCode(r)),64!=a&&(l+=String.fromCharCode(n));return l=Xt(l),l},encodeByOss:e=>Kt(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var tr={...s,base64:er,uuid:i,newId:(e,t=!1,r="")=>{const n=i(e||32);return t?d.now().format("yyyyMMddhhmmss")+r+n:n}};const rr=e=>{if(!e)return"";if(!lt.isObject(e))return"";let t="";return lt.forof(e,((e,r)=>{r&&(t+=`${tt.kebabCase(e)}:${r};`)})),t},nr=["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"],sr=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],ir=(e,t="px")=>e&&t?"0"===e?e:Jt.isFloat(e.toString())?`${e}${t}`:e:e;var or={stringify:rr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=kt.parse(e,{sep:";",eq:":",uri:!1}),s={};return lt.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:tt.camelCase(e):e;Jt.isFloat(n)||n.length>=2&&n.startsWith(".")&&Jt.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:ir,style:(e,t="px")=>{if(!e)return"";const r=lt.copy(e,{fields:nr});lt.forof(r,((e,n)=>{(sr.includes(e)||sr.includes(tt.camelCase(e)))&&(r[e]=ir(n,t))}));return rr(r)},commonFields:nr};const ar=(e,t)=>{try{const r=document.createElement("a");r.href=t,r.download=e,r.click()}catch(e){console.warn("[ddan] downloadUrl",e)}};var lr={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:ar,download:(e,t)=>{if(!t)return;if("string"==typeof t)return void ar(e,t);const r=URL?.createObjectURL(t);r&&(ar(e,r),URL?.revokeObjectURL(r))},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();ar(t,s)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.warn("[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 l=document.createElement("canvas");l.width=t,l.height=r;const u=l.getContext("2d");return u?(n&&u.rotate(n*Math.PI/180),s&&(u.fillStyle=s),i&&(u.font=i),o&&(u.textAlign=o),a&&(u.textBaseline=a),u.fillText(e,l.width/10,l.height/2),`url(${l.toDataURL()})`):""}catch(e){return console.warn("[ddan] watermark",e),""}}};const ur=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,${er.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}`}};var cr={ossImage:(e,t={})=>{if(!e)return e;const r=kt.parseUrl(e).path;if(t.domain){if(!e.startsWith("http"))return e;const r=ct.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=kt.parseUrl(e).path,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(",")}`}};var fr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r}};const hr=({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 dr(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function gr(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(lt.isPlainObject(e)){const r=kt.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 pr{host="";reqConfig={};handleError;interceptors={request:new mt,response:new mt};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(gr),this.interceptors.response.use(e.handleResponse||dr),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){pr.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete pr.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=lt.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(pr.blockId,(()=>hr(s))),i=await pr.requestLock[pr.blockId].request;else if(pr.requestLock[pr.blockId]&&pr.requestLock[pr.blockId].lock&&await pr.requestLock[pr.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),pr.requestLock[e]||this.lockR(e,(()=>hr(s))),i=await pr.requestLock[e].request,this.unlockR(e)}else i=await hr(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)}}}class mr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=X.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=at.copy(e,{fields:this.fields});this.save(r)}}class yr extends o{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!M.isFunction(n))return;const[,s]=await X.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=at.copy(t);else{const[,t]=await X.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){M.isObject(t)&&(t=at.copy(t)),this[e]=t}}const wr=(e,t)=>{const r=Object.assign(new yr,e||{});r.__persist=new mr(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 M.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(M.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 br{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=kt.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=kt.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=tr.base64.encodeByOss(n),i=kt.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=tr.base64.encodeByOss(e),i=kt.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}class vr{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>X.sleep(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await X.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await X.sleep(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class _r{__list=[];constructor(){this.clear()}add(e){const t=X.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 $r=new class{state=wr(new yr);frame=new a;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],l={time:o,count:1,cycle:n};return a&&("day"!==n||d.isToday(a.time||0))&&(l.count=1+(a.count||0)),i[e]=l,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 l=a[e];if(!l)return!0;if("day"===i&&!d.isToday(l.time||0))return!0;if(r<=(l.count||0))return!1;return!(Date.now()-(l.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=lt.copy(r);lt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||d.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new vr;parallel=()=>new _r};class xr{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=i(),this.start=Date.now(),this.timeStartDesc=d.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=d.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const kr=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 xr;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=at.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 ct.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)))}},Sr={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},Ar=e=>(...t)=>{const r=console[e];Sr.overrode?r(...t):qr(r,e,...t)},qr=(e,t,...r)=>{const n=d.format(new Date,Sr.format),s=Sr.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 jr={override:()=>{if(Sr.overrode)return;Sr.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{qr(t,e,...r)}}))},log:Ar("log"),info:Ar("info"),warn:Ar("warn"),error:Ar("error"),config:({tag:e=Sr.tag,format:t=Sr.format}={})=>{Sr.tag=e,Sr.format=t}};return{gbk:e,time:d,hook:X,math:re,util:lt,list:ct,string:tt,obj:at,crypto:tr,mini:bt,qs:kt,css:or,cdn:cr,html:lr,icon:ur,rule:Jt,regex:Gt,convert:fr,Event:o,Http:pr,Store:yr,storeRef:wr,Persist:mr,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r}),watermark:(e,t)=>new br(e,t),joker:$r,tracker:kr,logger:jr}}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ddan=t()}(this,(function(){"use strict";var e={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const t="0123456789",r="abcdefghijklmnopqrstuvwxyz",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var s={keyNumber:t,keyLower:r,keyUpper:n,keyChars:t+r+n};const i=(e=0,t=0)=>{const r=s.keyChars.split(""),n=[];let i;if(t=t||r.length,e)for(i=0;i<e;i++)n[i]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",i=0;i<36;i++)n[i]||(e=0|16*Math.random(),n[i]=r[19==i?3&e|8:e])}return n.join("")};class o{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=i()}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,handler: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.handler!==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.handler)})),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 a{_loopTimer;_event=new o;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const c=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?f(r).format(t):""},f=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function h({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(c(Date.now(),o)).getTime()}var d={...l,now:function(){return f(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:h,todayZero:()=>h({}),format:c,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return f(r).toCountdown(t)},dtime:f,loopFrame:(e=500)=>new a(e)},g="object"==typeof global&&global&&global.Object===Object&&global,p="object"==typeof self&&self&&self.Object===Object&&self;const m=(g||p||Function("return this")()).Symbol,{toString:y,hasOwnProperty:w,propertyIsEnumerable:b}=Object.prototype,v=m?m.toStringTag:void 0;function _(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":v&&v in Object(e)?function(e){const t=w.call(e,v),r=e[v];let n=!1;try{e[v]=void 0,n=!0}catch(e){}const s=y.call(e);return n&&(t?e[v]=r:delete e[v]),s}(e):y.call(e)}var $={getTag:_,getType:function(e){return(_(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:y,hasOwnProperty:w,propertyIsEnumerable:b},x="[object Function]",k="[object GeneratorFunction]",S="[object AsyncFunction]",A=9007199254740991;const j=/^(?:0|[1-9]\d*)$/;function q(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function C(e){return null!=e&&"object"==typeof e}const O=Array.isArray;function L(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=A}(e.length)&&!F(e)}function E(e){return C(e)&&L(e)}function F(e){var t=q(e)?$.getTag(e):"";return t===x||t===k||t===S}var M={is:function(e,t){return $.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===$.getTag(e)},isString:function(e){return"string"==typeof e||!O(e)&&C(e)&&"[object String]"==$.getTag(e)},isObject:q,isObjectLike:C,isPlainObject:function(e){if(!C(e)||"[object Object]"!=$.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||C(e)&&"[object Symbol]"===$.getTag(e)},isFunction:F,isArray:O,isArrayLikeObject:E,isIndex:function(e,t){return!!(t=null==t?A:t)&&("number"==typeof e||j.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:L,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return E(e)&&$.hasOwnProperty.call(e,"callee")&&(!$.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==$.toString.call(e))},isPromise:function(e){return"[object Promise]"===(q(e)?$.getTag(e):"")}};const R=NaN,D=/^\s+|\s+$/g,P=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,T=/^0o[0-7]+$/i,I=parseInt,N=1/0,B=17976931348623157e292;function U(e){if("number"==typeof e)return e;if(M.isSymbol(e))return R;if(M.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=M.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(D,"");const t=z.test(e);return t||T.test(e)?I(e.slice(2),t?2:8):P.test(e)?R:+e}function V(e){return e?(e=U(e))===N||e===-N?(e<0?-1:1)*B:e==e?e:0:0===e?e:0}var H={toNumber:U,toFinite:V,toInteger:function(e){var t=V(e),r=t%1;return t==t?r?t-r:t:0}};const W="Expected a function",Z=Math.max,J=Math.min;function G(e,t=300,r={}){var n,s,i,o,a,l,u=0,c=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(W);function d(t){var r=n,i=s;return n=s=void 0,u=t,o=e.apply(i,r)}function g(e){var r=e-l;return void 0===l||r>=t||r<0||f&&e-u>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-l);return f?J(r,i-(e-u)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,l=r,i){if(void 0===a)return function(e){return u=e,a=setTimeout(p,t),c?d(e):o}(l);if(f)return a=setTimeout(p,t),d(l)}return void 0===a&&(a=setTimeout(p,t)),o}return t=H.toNumber(t)||0,M.isObject(r)&&(c=!!r.leading,i=(f="maxWait"in r)?Z(H.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=l=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}class Y{__source;constructor(e){this.__source=e}run(){let e;try{let t;return t=M.isFunction(this.__source)?this.__source():this.__source,e=M.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new Y(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new Y(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new Y(e).run();const s=await n;return this._unlock(t),s}}class K{__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(M.isFunction(e))r=e(t);else{if(M.isPromise(e))return e.then((e=>({...t,...e})));r=e}return M.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])}}}const Q=(e=1e3)=>new Promise((t=>{setTimeout(t,e)}));var X={sleep:Q,run:async(e,t=0)=>{if(t<=0)return new Y(e).run();const r=t>0?Date.now():0,n=await new Y(e).run(),s=Date.now()-r;return s<t&&await Q(t-s),n},exec:(e,t="")=>Y.exec(e,t),debounce:G,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return M.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),G(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new K(e),delay:(e=1e3)=>new Promise((t=>{setTimeout(t,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}}}};function ee(e){return Math.floor(Math.random()*e)}function te(e,t=10){return+parseFloat(Number(e).toExponential(t))}var re={random:ee,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=ee(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:te,float:function(e,{fractionDigits:t=2,fixed:r=!1}={}){const n=te(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")}};function ne(e){return e!=e}function se(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 ie,oe,ae=(ie=Object.keys,oe=Object,function(e){return ie(oe(e))}),le=Math.max;function ue(e,t){var r=M.isArray(e)||M.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&&!$.hasOwnProperty.call(e,i)||s&&("length"==i||M.isIndex(i,n))||r.push(i);return r}function ce(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 fe=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function he(e){return fe.test(e)}const de="\\ud800-\\udfff",ge=`[${de}]`,pe="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",me="\\ud83c[\\udffb-\\udfff]",ye=`[^${de}]`,we="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",ve=`${`(?:${pe}|${me})`}?`,_e="[\\ufe0e\\ufe0f]?",$e=_e+ve+`(?:\\u200d(?:${[ye,we,be].join("|")})${_e+ve})*`,xe=`(?:${[`${ye}${pe}?`,pe,we,be,ge].join("|")})`,ke=RegExp(`${me}(?=${me})|${xe+$e}`,"g");function Se(e){return he(e)?function(e){return e.match(ke)||[]}(e):function(e){return e.split("")}(e)}function Ae(e){return t=>{if(!t)return"";const r=he(t)?Se(t):void 0,n=r?r[0]:t[0],s=r?ce(r,1).join(""):t.slice(1);return n[e]()+s}}const je="\\ud800-\\udfff",qe="\\u2700-\\u27bf",Ce="a-z\\xdf-\\xf6\\xf8-\\xff",Oe="A-Z\\xc0-\\xd6\\xd8-\\xde",Le="\\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",Ee="['’]",Fe=`[${Le}]`,Me=`[${qe}]`,Re=`[${Ce}]`,De=`[^${je}${Le+"\\d"+qe+Ce+Oe}]`,Pe="(?:\\ud83c[\\udde6-\\uddff]){2}",ze="[\\ud800-\\udbff][\\udc00-\\udfff]",Te=`[${Oe}]`,Ie=`(?:${Re}|${De})`,Ne=`(?:${Te}|${De})`,Be=`(?:${Ee}(?:d|ll|m|re|s|t|ve))?`,Ue=`(?:${Ee}(?:D|LL|M|RE|S|T|VE))?`,Ve="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",He="[\\ufe0e\\ufe0f]?",We=He+Ve+`(?:\\u200d(?:${[`[^${je}]`,Pe,ze].join("|")})${He+Ve})*`,Ze=`(?:${[Me,Pe,ze].join("|")})${We}`,Je=RegExp([`${Te}?${Re}+${Be}(?=${[Fe,Te,"$"].join("|")})`,`${Ne}+${Ue}(?=${[Fe,Te+Ie,"$"].join("|")})`,`${Te}?${Ie}+${Be}`,`${Te}+${Ue}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ze].join("|"),"g");const Ge=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 ]/),Ye=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ke(e,t){if(void 0===t){const t=Ge(e)?function(e){return e.match(Je)}(e):function(e){return e.match(Ye)}(e);return t||[]}return e.match(t)||[]}function Qe(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Qe(e)))}`;if(M.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Xe=Ae("toUpperCase"),et=Ae("toLowerCase");var tt={toString:Qe,startCase:e=>Ke(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Xe(t)),""),snakeCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Xe(t):t))),""),upperCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Xe,lowerCase:e=>Ke(Qe(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:et,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r}};const rt=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]=rt(e[r]));return t};const nt=(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]=st(e[o],a,r)}return n},st=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?nt(e,t,r):nt({...e},t,r),n},it=(e,t,r={})=>nt({...e},t,{cover:!0,...r}),ot=(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=>{ot(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ot(e,t,r,n,s)},get:()=>i})};var at={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!0}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?i&&e.startsWith("_")?e:tt.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const l=r[e];t.ignoreNull&&null===l||(t.ignoreZero&&0===l||t.ignoreEmptyArray&&Array.isArray(l)&&l.length<=0||t.ignoreEmptyString&&"string"==typeof l&&""===l.trim()||(o[a]=l))}return o},clone:rt,merge:st,isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=tt.parseValue(n,{number:t,boolean:r});else e[n]=tt.parseValue(s,{number:t,boolean:r});return e},cloneClass:function(e){return e?"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)):e},combine:it,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:l=!0}=t;return e.forEach((e=>r=it(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:l}))),r},observe:ot};var lt={...M,...$,...at,includes:function(e,t,r,n){e=M.isArrayLike(e)?e:function(e){return e?se(e,function(e){return M.isArrayLike(e)?ue(e):function(e){if(!M.isPrototype(e))return ae(e);var t=[];for(var r in Object(e))$.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?H.toInteger(r):0;var s=e.length;return r<0&&(r=le(s+r,0)),M.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,ne,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(M.isObject(e)&&(r=M.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var ut={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var ct={...ut,stepAction:function(e,t,r=100){if(!M.isFunction(t))return;if(!M.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(!M.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!M.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!M.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return re.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!M.isObject(e))return;const s=e[t];(M.isString(s)&&""!==s||M.isNumber(s))&&(n[s]=e[r])})),n):n}};const ft="[object Object]",ht="[object Array]",dt=e=>Object.prototype.toString.call(e),gt=(e,t,r=!1)=>{if(e===t)return;const n=dt(e);if(n===dt(t))if(n===ht&&e.length>=t.length)for(let r=0;r<t.length;r++)gt(e[r],t[r]);else if(n===ft&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?gt(e[n],t[n]):e[n]=null},pt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=dt(e),o=dt(t);if(i===ht&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)pt(e[s],t[s],r,`${n}[${s}]`);else if(i===ft&&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=dt(s),l=dt(o);if(s!==o)if(a===ht&&l===a&&s.length>=o.length)for(let e=0;e<s.length;e++)pt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===ft&&l===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)pt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class mt{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 yt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new mt,response:new mt};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){yt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete yt.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=at.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(yt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await yt.requestLock[yt.blockId].request;else if(yt.requestLock[yt.blockId]&&yt.requestLock[yt.blockId].lock&&await yt.requestLock[yt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),yt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await yt.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 wt=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var bt={diff:function(e,t){const r={};return(e=>{if(dt(e)===ft)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];dt(n[t])!==ft&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),gt(e,t,!0),pt(e,t,r,"",!0),r},promixify:wt,run:(e,t={})=>e?X.run(wt(e)(t)):X.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:yt,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],l=r[n].deep;at.observe(s,o,a,e,l)}))}};const vt=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 l={};if("string"!=typeof e||0===e.length)return l;const u=/\+/g,c=n||1e3;let f=(e=e.split(t)).length;c>0&&f>c&&(f=c);for(let t=0;t<f;++t){let n,o,a,c,f=e[t].replace(u,"%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,c=i?decodeURIComponent(o):o,$.hasOwnProperty.call(l,a)&&s?Array.isArray(l[a])?l[a].push(c):l[a]=[l[a],c]:l[a]=c}return at.parseValue(l,{number:o,boolean:a}),l},_t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},$t=function(e,t=!0){return t?encodeURIComponent(e):e},xt=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))};var kt={parse:vt,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 l=$t(_t(n),s)+r,u=e[n];return Array.isArray(u)?u.map((function(e){return l+$t(_t(e),s)})).join(t):xt(u,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":l+$t(_t(u),s)})).filter(Boolean).join(t):n?$t(_t(n),s)+r+$t(_t(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=e.split("?"),r=t[0],n=t.length>1?t[1]:"";let s="";const i=r.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);i&&(s=i[1]);return{url:e,path:r,page:s,query:n,params:vt(n,{multiple:!0,uri:!1})}},parsePath:e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.lastIndexOf("/")+1,n=t.substring(r),s=n.lastIndexOf("."),i=n.substring(0,s),o=n.substring(s);return{root:t.substring(0,r),name:n,withoutExtension:i,extension:o}},join:(...e)=>{const t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length>0&&t.push(r)})),t.join("/")}};const St=/%[sdj%]/g;let At=()=>{};function jt(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 qt(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(St,(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 Ct(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 Ot(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&&(At=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Lt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Et(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);Ot(o,r,(e=>(n(e),e.length?i(new Lt(e,jt(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 l=0;const u=[],c=new Promise(((t,c)=>{const f=e=>{if(u.push.apply(u,e),l++,l===a)return n(u),u.length?c(new Lt(u,jt(u))):t(s)};o.length||(n(u),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?Ot(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 c.catch((e=>e)),c}function Ft(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function Mt(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 Rt=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Ct(t,i||e.type)||n.push(qt(s.messages.required,e.fullField))};let Dt;const Pt=/^(([^<>()\[\]\\.,;:\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,}))$/,zt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Tt={integer:e=>Tt.number(e)&&parseInt(e,10)===e,float:e=>Tt.number(e)&&!Tt.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&&!Tt.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Pt),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Dt)return Dt;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}$`),l=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");l.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),l.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const u=l.v4().source,c=l.v6().source;return Dt=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${u}|${c}|(?:(?:[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"),Dt})()),hex:e=>"string"==typeof e&&!!e.match(zt)},It="enum";var Nt={required:Rt,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(qt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Rt(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Tt[i](t)||n.push(qt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(qt(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,l=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let u=t,c="";const f="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(f?c="number":h?c="string":d&&(c="array"),!c)return!1;d&&(u=t.length),h&&(u=t.replace(l,"_").length),i?u!==e.len&&n.push(qt(s.messages[c].len,e.fullField,e.len)):o&&!a&&u<e.min?n.push(qt(s.messages[c].min,e.fullField,e.min)):a&&!o&&u>e.max?n.push(qt(s.messages[c].max,e.fullField,e.max)):o&&a&&(u<e.min||u>e.max)&&n.push(qt(s.messages[c].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[It]=Array.isArray(e[It])?e[It]:[],-1===e[It].indexOf(t)&&n.push(qt(s.messages[It],e.fullField,e[It].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(qt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(qt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Bt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Ct(t,i)&&!e.required)return r();Nt.required(e,t,n,o,s,i),Ct(t,i)||Nt.type(e,t,n,o,s)}r(o)};var Ut={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Ct(t,"string")&&!e.required)return r();Nt.required(e,t,n,i,s,"string"),Ct(t,"string")||(Nt.type(e,t,n,i,s),Nt.range(e,t,n,i,s),Nt.pattern(e,t,n,i,s),!0===e.whitespace&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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),Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),Ct(t)||Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&(Nt.type(e,t,n,i,s),Nt.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();Nt.required(e,t,n,i,s,"array"),null!=t&&(Nt.type(e,t,n,i,s),Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s),void 0!==t&&Nt.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(Ct(t,"string")&&!e.required)return r();Nt.required(e,t,n,i,s),Ct(t,"string")||Nt.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(Ct(t,"date")&&!e.required)return r();if(Nt.required(e,t,n,i,s),!Ct(t,"date")){let r;r=t instanceof Date?t:new Date(t),Nt.type(e,r,n,i,s),r&&Nt.range(e,r.getTime(),n,i,s)}}r(i)},url:Bt,hex:Bt,email:Bt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Nt.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(Ct(t)&&!e.required)return r();Nt.required(e,t,n,i,s)}r(i)}};function Vt(){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 Ht=Vt();class Wt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Ut[e]=t};static warning=At;static messages=Ht;static validators=Ut;rules={};_messages=Ht;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=Mt(Vt(),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===Ht&&(e=Vt()),Mt(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 Et(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 l(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function u(i=[]){let u=Array.isArray(i)?i:[i];!0===s.suppressWarning&&u.length&&Wt.warning("async-validator:",u),u.length&&void 0!==r.message&&(u=[].concat(r.message));let c=u.map(Ft(r,n));if(s.first&&c.length)return a[r.field]=1,t(c);if(o){if(r.required&&!e.value)return void 0!==r.message?c=[].concat(r.message).map(Ft(r,n)):s.error&&(c=[s.error(r,qt(s.messages.required,r.field))]),t(c);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(l.bind(null,e))}));const a=new Wt(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=[];c&&c.length&&r.push(...c),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(c)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,u,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,u,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),u(e.message)}!0===i?u():!1===i?u("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?u(i):i instanceof Error&&u(i.message)}i&&i.then&&i.then((()=>u()),(e=>u(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=jt(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&&!Ut.hasOwnProperty(e.type))throw new Error(qt("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]?Ut.required:Ut[this.getType(e)]||void 0}}function Zt(e){return new Wt(e)}var Jt={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:Zt,validate:function(e,t,r={},n=(()=>{})){return X.run(Zt(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 Gt={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})$/}};const Yt=`${s.keyUpper}${s.keyLower}${s.keyNumber}+/=`,Kt=e=>{let t,r,n,s,i,o,a,l="",u=0;for(e=Qt(e);u<e.length;)t=e.charCodeAt(u++),r=e.charCodeAt(u++),n=e.charCodeAt(u++),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),l=l+Yt.charAt(s)+Yt.charAt(i)+Yt.charAt(o)+Yt.charAt(a);return l},Qt=e=>{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},Xt=e=>{let t="",r=0,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};var er={encode:Kt,decode:e=>{let t,r,n,s,i,o,a,l="",u=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u<e.length;)s=Yt.indexOf(e.charAt(u++)),i=Yt.indexOf(e.charAt(u++)),o=Yt.indexOf(e.charAt(u++)),a=Yt.indexOf(e.charAt(u++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,l+=String.fromCharCode(t),64!=o&&(l+=String.fromCharCode(r)),64!=a&&(l+=String.fromCharCode(n));return l=Xt(l),l},encodeByOss:e=>Kt(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var tr={...s,base64:er,uuid:i,newId:(e,t=!1,r="")=>{const n=i(e||32);return t?d.now().format("yyyyMMddhhmmss")+r+n:n}};const rr=e=>{if(!e)return"";if(!lt.isObject(e))return"";let t="";return lt.forof(e,((e,r)=>{r&&(t+=`${tt.kebabCase(e)}:${r};`)})),t},nr=["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"],sr=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],ir=(e,t="px")=>e&&t?"0"===e?e:Jt.isFloat(e.toString())?`${e}${t}`:e:e;var or={stringify:rr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=kt.parse(e,{sep:";",eq:":",uri:!1}),s={};return lt.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:tt.camelCase(e):e;Jt.isFloat(n)||n.length>=2&&n.startsWith(".")&&Jt.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:ir,style:(e,t="px")=>{if(!e)return"";const r=lt.copy(e,{fields:nr});lt.forof(r,((e,n)=>{(sr.includes(e)||sr.includes(tt.camelCase(e)))&&(r[e]=ir(n,t))}));return rr(r)},commonFields:nr};const ar=(e,t)=>{try{const r=document.createElement("a");r.href=t,r.download=e,r.click()}catch(e){console.warn("[ddan] downloadUrl",e)}};var lr={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:ar,download:(e,t)=>{if(!t)return;if("string"==typeof t)return void ar(e,t);const r=URL?.createObjectURL(t);r&&(ar(e,r),URL?.revokeObjectURL(r))},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();ar(t,s)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.warn("[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 l=document.createElement("canvas");l.width=t,l.height=r;const u=l.getContext("2d");return u?(n&&u.rotate(n*Math.PI/180),s&&(u.fillStyle=s),i&&(u.font=i),o&&(u.textAlign=o),a&&(u.textBaseline=a),u.fillText(e,l.width/10,l.height/2),`url(${l.toDataURL()})`):""}catch(e){return console.warn("[ddan] watermark",e),""}}};const ur=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,${er.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}`}};var cr={ossImage:(e,t={})=>{if(!e)return e;const r=kt.parseUrl(e).path;if(t.domain){if(!e.startsWith("http"))return e;const r=ct.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=kt.parseUrl(e).path,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(",")}`}};var fr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r}};const hr=({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 dr(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function gr(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(lt.isPlainObject(e)){const r=kt.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 pr{host="";reqConfig={};handleError;interceptors={request:new mt,response:new mt};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(gr),this.interceptors.response.use(e.handleResponse||dr),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){pr.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete pr.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=lt.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(pr.blockId,(()=>hr(s))),i=await pr.requestLock[pr.blockId].request;else if(pr.requestLock[pr.blockId]&&pr.requestLock[pr.blockId].lock&&await pr.requestLock[pr.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),pr.requestLock[e]||this.lockR(e,(()=>hr(s))),i=await pr.requestLock[e].request,this.unlockR(e)}else i=await hr(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)}}}class mr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=X.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=at.copy(e,{fields:this.fields});this.save(r)}}class yr extends o{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!M.isFunction(n))return;const[,s]=await X.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=at.copy(t);else{const[,t]=await X.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){M.isObject(t)&&(t=at.copy(t)),this[e]=t}}const wr=(e,t)=>{const r=Object.assign(new yr,e||{});r.__persist=new mr(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 M.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(M.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 br{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=kt.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=kt.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=tr.base64.encodeByOss(n),i=kt.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=tr.base64.encodeByOss(e),i=kt.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}class vr{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>X.sleep(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await X.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await X.sleep(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class _r{__list=[];constructor(){this.clear()}add(e){const t=X.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 $r=new class{state=wr(new yr);frame=new a;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],l={time:o,count:1,cycle:n};return a&&("day"!==n||d.isToday(a.time||0))&&(l.count=1+(a.count||0)),i[e]=l,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 l=a[e];if(!l)return!0;if("day"===i&&!d.isToday(l.time||0))return!0;if(r<=(l.count||0))return!1;return!(Date.now()-(l.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=lt.copy(r);lt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||d.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new vr;parallel=()=>new _r};class xr{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=i(),this.start=Date.now(),this.timeStartDesc=d.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=d.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const kr=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 xr;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=at.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 ct.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)))}},Sr={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},Ar=e=>(...t)=>{const r=console[e];Sr.overrode?r(...t):jr(r,e,...t)},jr=(e,t,...r)=>{const n=d.format(new Date,Sr.format),s=Sr.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 qr={override:()=>{if(Sr.overrode)return;Sr.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{jr(t,e,...r)}}))},log:Ar("log"),info:Ar("info"),warn:Ar("warn"),error:Ar("error"),config:({tag:e=Sr.tag,format:t=Sr.format}={})=>{Sr.tag=e,Sr.format=t}};return{gbk:e,time:d,hook:X,math:re,util:lt,list:ct,string:tt,obj:at,crypto:tr,mini:bt,qs:kt,css:or,cdn:cr,html:lr,icon:ur,rule:Jt,regex:Gt,convert:fr,Event:o,Http:pr,Store:yr,storeRef:wr,Persist:mr,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r}),watermark:(e,t)=>new br(e,t),joker:$r,tracker:kr,logger:qr}}));
@@ -84,6 +84,7 @@ const _merge = (target, source, options = {}) => {
84
84
  }
85
85
  return result;
86
86
  };
87
+ // <T extends object>
87
88
  const merge = (target, source, options = {}) => {
88
89
  let result = {};
89
90
  if (target && typeof target === 'object' && !Array.isArray(target)) {
@@ -35,4 +35,14 @@ const parsePath = (path) => {
35
35
  const root = _path.substring(0, idx);
36
36
  return { root, name, withoutExtension, extension };
37
37
  };
38
- exports.default = { parse: decode_1.default, stringify: encode_1.default, https, parseUrl, parsePath };
38
+ const join = (...args) => {
39
+ const arr = [];
40
+ args.forEach(e => {
41
+ const _s = e.trim().replace(/^\/*(.*?)\/*$/, '$1');
42
+ if (_s.length > 0) {
43
+ arr.push(_s);
44
+ }
45
+ });
46
+ return arr.join("/");
47
+ };
48
+ exports.default = { parse: decode_1.default, stringify: encode_1.default, https, parseUrl, parsePath, join };
@@ -57,7 +57,6 @@ function now() {
57
57
  * 倒计时格式
58
58
  * @param endTime 结束时间
59
59
  * @param reg 格式
60
- * @param def
61
60
  * @returns
62
61
  */
63
62
  const countdown = (endTime, reg = "") => {
@@ -1,4 +1,4 @@
1
- import { dd } from "../typings";
1
+ import { xh } from "../typings";
2
2
  export declare class DTrack {
3
3
  id: string;
4
4
  /** 开始时间戳 */
@@ -41,7 +41,7 @@ export declare class DTracker {
41
41
  get list(): DTrack[];
42
42
  get size(): number;
43
43
  _endId: (id: string) => string;
44
- report(cb?: dd.TAction<DTrack, number>): void;
44
+ report(cb?: xh.Func2<DTrack, number>): void;
45
45
  }
46
46
  declare const tracker: DTracker;
47
47
  export default tracker;
@@ -34,7 +34,7 @@ declare const _default: {
34
34
  exec: (func: Function, taskId?: string) => Promise<any[]>;
35
35
  debounce: typeof import("./modules/hook/debounce").default;
36
36
  throttle: typeof import("./modules/hook/throttle").default;
37
- task: (param?: import("./typings").dd.TTask | undefined) => import("./class/pipeTask").default;
37
+ task: (param?: import("./typings").xh.Func1<any, any> | undefined) => import("./class/pipeTask").default;
38
38
  delay: (time?: number) => Promise<unknown>;
39
39
  mutex: typeof import("./modules/hook/mutex").default;
40
40
  };
@@ -90,12 +90,12 @@ declare const _default: {
90
90
  isPromise: (value: any) => boolean;
91
91
  };
92
92
  list: {
93
- stepAction: <T_1>(list: T_1[], func: import("./typings").dd.TArrayFunction<T_1>, stepCount?: number) => void;
93
+ stepAction: <T_1>(list: T_1[], func: import("./typings").xh.Task<T_1, void>, stepCount?: number) => void;
94
94
  skip: <T_2>(list: T_2[], count: number) => T_2[];
95
95
  take: <T_3>(list: T_3[], count: number, skip?: number) => T_3[];
96
96
  distinct: <T_4>(list: T_4[]) => T_4[];
97
97
  randoms: <T_5>(list: T_5[], count?: number, repeat?: boolean) => T_5[];
98
- toKV: (list: import("./typings").dd.KV<any>[], key: string, value: string) => import("./typings").dd.KV<any>;
98
+ toKV: (list: import("./typings").xh.KV<any>[], key: string, value: string) => import("./typings").xh.KV<any>;
99
99
  groupBy: <T_6>(list: T_6[], key: string) => Record<string, T_6[]>;
100
100
  first: <T_7>(list: T_7[]) => T_7 | undefined;
101
101
  last: <T_8>(list: T_8[]) => T_8 | undefined;
@@ -191,6 +191,7 @@ declare const _default: {
191
191
  withoutExtension: string;
192
192
  extension: string;
193
193
  };
194
+ join: (...args: string[]) => string;
194
195
  };
195
196
  css: {
196
197
  stringify: (styleObj: Record<string, string | number>) => string;
@@ -1,4 +1,4 @@
1
- import { dd } from '../../typings';
1
+ import { dd, xh } from '../../typings';
2
2
  /**
3
3
  * 防抖 一段时间内,规定时间间隔多次执行,回调触发一次
4
4
  * @param func
@@ -6,7 +6,7 @@ import { dd } from '../../typings';
6
6
  * @param options 参数:leading 开始执行, trailing结束执行
7
7
  * @returns
8
8
  */
9
- declare function debounce(func: dd.TAnyFunction, wait?: number, options?: dd.IDebounceOption): {
9
+ declare function debounce(func: xh.Callback, wait?: number, options?: dd.IDebounceOption): {
10
10
  (...debouncedArgs: any[]): any;
11
11
  cancel: () => void;
12
12
  flush: () => any;
@@ -2,14 +2,14 @@ import debounce from "./debounce";
2
2
  import throttle from "./throttle";
3
3
  import mutex from "./mutex";
4
4
  import DPipeTask from "../../class/pipeTask";
5
- import { dd } from "../../typings";
5
+ import { xh } from "../../typings";
6
6
  declare const _default: {
7
7
  sleep: (time?: number) => Promise<unknown>;
8
8
  run: (task?: Function | Promise<any> | undefined, wait?: number) => Promise<any[]>;
9
9
  exec: (func: Function, taskId?: string) => Promise<any[]>;
10
10
  debounce: typeof debounce;
11
11
  throttle: typeof throttle;
12
- task: (param?: dd.TTask | undefined) => DPipeTask;
12
+ task: (param?: xh.Func1<any, any> | undefined) => DPipeTask;
13
13
  delay: (time?: number) => Promise<unknown>;
14
14
  mutex: typeof mutex;
15
15
  };
@@ -1,3 +1,3 @@
1
- import { dd } from '../../typings';
2
- declare function mutex(func: dd.TAnyFunction): (...args: any[]) => Promise<false | undefined>;
1
+ import { xh } from '../../typings';
2
+ declare function mutex(func: xh.Callback): (...args: any[]) => Promise<false | undefined>;
3
3
  export default mutex;
@@ -1,4 +1,4 @@
1
- import { dd } from "../../typings";
1
+ import { dd, xh } from "../../typings";
2
2
  /**
3
3
  * 节流 每个间隔内,触发一次
4
4
  * @param func
@@ -6,7 +6,7 @@ import { dd } from "../../typings";
6
6
  * @param options 参数:leading 开始执行, trailing结束执行
7
7
  * @returns
8
8
  */
9
- declare function throttle(func: dd.TAnyFunction, wait?: number, options?: Omit<dd.IDebounceOption, 'maxWait'>): {
9
+ declare function throttle(func: xh.Callback, wait?: number, options?: Omit<dd.IDebounceOption, 'maxWait'>): {
10
10
  (...debouncedArgs: any[]): any;
11
11
  cancel: () => void;
12
12
  flush: () => any;
@@ -1,5 +1,5 @@
1
1
  import Interceptor from "./interceptor";
2
- import { dd } from "../../typings";
2
+ import { dd, xh } from "../../typings";
3
3
  export default class Http implements dd.IHttp {
4
4
  host: string;
5
5
  reqConfig: {};
@@ -32,5 +32,5 @@ export default class Http implements dd.IHttp {
32
32
  * @param {object} req
33
33
  */
34
34
  getIdFromReqUrl(req: any): any;
35
- fetch(name: string, payload?: dd.KV): Promise<any>;
35
+ fetch(name: string, payload?: xh.KV): Promise<any>;
36
36
  }
@@ -1,4 +1,4 @@
1
- import { dd } from "../../typings";
1
+ import { xh } from "../../typings";
2
2
  /**
3
3
  * 分步动作
4
4
  * @param list 列表
@@ -6,7 +6,7 @@ import { dd } from "../../typings";
6
6
  * @param stepCount 每步数量
7
7
  * @returns
8
8
  */
9
- declare function stepAction<T>(list: T[], func: dd.TArrayFunction<T>, stepCount?: number): void;
9
+ declare function stepAction<T>(list: T[], func: xh.Task<T>, stepCount?: number): void;
10
10
  /**
11
11
  * 跳过数据
12
12
  * @param list 列表
@@ -35,7 +35,7 @@ declare const _default: {
35
35
  take: typeof take;
36
36
  distinct: typeof distinct;
37
37
  randoms: typeof randoms;
38
- toKV: (list: dd.KV<any>[], key: string, value: string) => dd.KV<any>;
38
+ toKV: (list: xh.KV<any>[], key: string, value: string) => xh.KV<any>;
39
39
  groupBy: <T>(list: T[], key: string) => Record<string, T[]>;
40
40
  first: <T_1>(list: T_1[]) => T_1 | undefined;
41
41
  last: <T_2>(list: T_2[]) => T_2 | undefined;
@@ -31,5 +31,6 @@ declare const _default: {
31
31
  withoutExtension: string;
32
32
  extension: string;
33
33
  };
34
+ join: (...args: string[]) => string;
34
35
  };
35
36
  export default _default;
@@ -1,9 +1,16 @@
1
1
  import DPersist from "../class/persist";
2
+ export declare namespace xh {
3
+ type KV<T = any> = Record<string, T>;
4
+ type Callback<T extends any[] = unknown[], R = void> = (...args: T) => R;
5
+ type Action<T extends any[] = unknown[], R = any> = Callback<T, R>;
6
+ type Task<T = any, R = void> = Callback<[T[]], R>;
7
+ type Func<R = any> = Callback<[], R>;
8
+ type Func1<T = any, R = any> = Callback<[T], R>;
9
+ type Func2<T0 = any, T1 = any, R = any> = Callback<[T0, T1], R>;
10
+ type Func3<T0 = any, T1 = any, T2 = any, R = any> = Callback<[T0, T1, T2], R>;
11
+ type Func4<T0 = any, T1 = any, T2 = any, T3 = any, R = any> = Callback<[T0, T1, T2, T3], R>;
12
+ }
2
13
  export declare namespace dd {
3
- type TAction<T = any, T1 = any, T2 = any, T3 = any> = (...args: unknown extends T3 ? (unknown extends T2 ? (unknown extends T1 ? [T] : [T, T1]) : [T, T1, T2]) : [T, T1, T2, T3]) => void;
4
- type TFunc<R = any, T = any, T1 = any, T2 = any, T3 = any> = (...args: unknown extends T3 ? (unknown extends T2 ? (unknown extends T1 ? [T] : [T, T1]) : [T, T1, T2]) : [T, T1, T2, T3]) => R;
5
- type TAnyFunction<T = void> = (...args: any[]) => T;
6
- type TArrayFunction<T> = (args: T[]) => void;
7
14
  type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
8
15
  /**
9
16
  * leading 开始执行
@@ -41,9 +48,6 @@ export declare namespace dd {
41
48
  fields: string[];
42
49
  storage: DStorage;
43
50
  }
44
- type TTask = (arg: any) => any;
45
- type KV<T = any> = Record<string, T>;
46
- type Callback<T extends any[] = unknown[], R = void> = (...args: T) => R;
47
51
  interface IHttpRequest {
48
52
  url: string;
49
53
  host: string;
@@ -52,14 +56,14 @@ export declare namespace dd {
52
56
  interface IHttpApiConfig {
53
57
  [key: string]: IHttpRequestInit;
54
58
  }
55
- type ResponseInterceptFunc = (arg: IHttpResponse) => any;
56
- type RequestInterceptFunc = (arg: IHttpRequest) => IHttpRequest;
59
+ type ResponseInterceptFunc = xh.Func1<IHttpResponse>;
60
+ type RequestInterceptFunc = xh.Func1<IHttpRequest, IHttpRequest>;
57
61
  interface IHttpConfig {
58
62
  host?: string;
59
63
  config: IHttpApiConfig;
60
64
  handleRequest?: RequestInterceptFunc | RequestInterceptFunc[];
61
65
  handleResponse?: ResponseInterceptFunc | ResponseInterceptFunc[];
62
- handleError?: (error: any) => void;
66
+ handleError?: xh.Func1;
63
67
  }
64
68
  interface IHttpRequestInit extends RequestInit {
65
69
  [key: string]: any;
@@ -80,7 +84,7 @@ export declare namespace dd {
80
84
  }
81
85
  interface IHttpResponse {
82
86
  response: Response & Record<string, any>;
83
- config?: KV;
87
+ config?: xh.KV;
84
88
  refetch: () => Promise<any>;
85
89
  }
86
90
  interface IMiniHttpOptions {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ddan-js",
3
- "version": "2.1.6",
3
+ "version": "2.1.9",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "bin/ddan-js.js",