ddan-js 2.9.4 → 2.9.5

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.
Files changed (131) hide show
  1. package/bin/ddan-js.esm.js +1 -1
  2. package/bin/ddan-js.js +1 -1
  3. package/bin/types/browser.d.ts +1 -1
  4. package/bin/types/index.d.ts +2 -1
  5. package/bin/types/modules/node/index.d.ts +2 -0
  6. package/package.json +18 -13
  7. package/bin/lib/browser.js +0 -111
  8. package/bin/lib/class/event.js +0 -104
  9. package/bin/lib/class/getset.js +0 -12
  10. package/bin/lib/class/icon.js +0 -94
  11. package/bin/lib/class/joker.js +0 -121
  12. package/bin/lib/class/kvalue.js +0 -29
  13. package/bin/lib/class/mapping.js +0 -82
  14. package/bin/lib/class/persist.js +0 -65
  15. package/bin/lib/class/pipeTask.js +0 -42
  16. package/bin/lib/class/pipeparallel.js +0 -24
  17. package/bin/lib/class/store.js +0 -87
  18. package/bin/lib/class/tracker.js +0 -125
  19. package/bin/lib/class/watermark.js +0 -63
  20. package/bin/lib/common/_Symbol.js +0 -5
  21. package/bin/lib/common/_freeGlobal.js +0 -5
  22. package/bin/lib/common/_object.js +0 -40
  23. package/bin/lib/common/_root.js +0 -10
  24. package/bin/lib/common/internal/asciiToArray.js +0 -13
  25. package/bin/lib/common/internal/castSlice.js +0 -18
  26. package/bin/lib/common/internal/createCaseFirst.js +0 -30
  27. package/bin/lib/common/internal/hasUnicode.js +0 -26
  28. package/bin/lib/common/internal/nodeTypes.js +0 -26
  29. package/bin/lib/common/internal/slice.js +0 -46
  30. package/bin/lib/common/internal/stringToArray.js +0 -18
  31. package/bin/lib/common/internal/unicodeToArray.js +0 -40
  32. package/bin/lib/common/internal/unicodeWords.js +0 -67
  33. package/bin/lib/index.js +0 -114
  34. package/bin/lib/modules/browser/ecdh.js +0 -124
  35. package/bin/lib/modules/browser/index.js +0 -4
  36. package/bin/lib/modules/cdn.js +0 -62
  37. package/bin/lib/modules/convert/base.js +0 -125
  38. package/bin/lib/modules/convert/base64.js +0 -114
  39. package/bin/lib/modules/convert/index.js +0 -99
  40. package/bin/lib/modules/convert/md5.js +0 -222
  41. package/bin/lib/modules/convert/pkcs.js +0 -16
  42. package/bin/lib/modules/convert/utf8.js +0 -106
  43. package/bin/lib/modules/crypto/base64.js +0 -14
  44. package/bin/lib/modules/crypto/const.js +0 -7
  45. package/bin/lib/modules/crypto/index.js +0 -30
  46. package/bin/lib/modules/crypto/rsa.js +0 -143
  47. package/bin/lib/modules/crypto/tea.js +0 -79
  48. package/bin/lib/modules/crypto/uuid.js +0 -34
  49. package/bin/lib/modules/css.js +0 -137
  50. package/bin/lib/modules/decorator.js +0 -14
  51. package/bin/lib/modules/fetch.js +0 -82
  52. package/bin/lib/modules/gbk.js +0 -46
  53. package/bin/lib/modules/hook/base.js +0 -60
  54. package/bin/lib/modules/hook/hooker.js +0 -39
  55. package/bin/lib/modules/hook/index.js +0 -49
  56. package/bin/lib/modules/hook/log.js +0 -54
  57. package/bin/lib/modules/hook/modules/bezier.js +0 -121
  58. package/bin/lib/modules/hook/modules/debounce.js +0 -127
  59. package/bin/lib/modules/hook/modules/mutex.js +0 -22
  60. package/bin/lib/modules/hook/modules/pipeline.js +0 -59
  61. package/bin/lib/modules/hook/modules/polling.js +0 -20
  62. package/bin/lib/modules/hook/modules/safeTask.js +0 -25
  63. package/bin/lib/modules/hook/modules/throttle.js +0 -30
  64. package/bin/lib/modules/html.js +0 -293
  65. package/bin/lib/modules/http/index.js +0 -171
  66. package/bin/lib/modules/http/interceptor.js +0 -22
  67. package/bin/lib/modules/list/base.js +0 -37
  68. package/bin/lib/modules/list/index.js +0 -90
  69. package/bin/lib/modules/logger.js +0 -55
  70. package/bin/lib/modules/math/index.js +0 -118
  71. package/bin/lib/modules/mini/diff.js +0 -97
  72. package/bin/lib/modules/mini/http/index.js +0 -155
  73. package/bin/lib/modules/mini/index.js +0 -71
  74. package/bin/lib/modules/node/aliyun.js +0 -156
  75. package/bin/lib/modules/node/brotli.js +0 -46
  76. package/bin/lib/modules/node/child.js +0 -18
  77. package/bin/lib/modules/node/ecdh-web.js +0 -11
  78. package/bin/lib/modules/node/ecdh.js +0 -115
  79. package/bin/lib/modules/node/file.js +0 -25
  80. package/bin/lib/modules/node/index.js +0 -11
  81. package/bin/lib/modules/node/proxy.js +0 -147
  82. package/bin/lib/modules/node/rsa-web.js +0 -19
  83. package/bin/lib/modules/node/socks5.js +0 -424
  84. package/bin/lib/modules/obj/index.js +0 -184
  85. package/bin/lib/modules/qs/base.js +0 -5
  86. package/bin/lib/modules/qs/decode.js +0 -45
  87. package/bin/lib/modules/qs/encode.js +0 -53
  88. package/bin/lib/modules/qs/index.js +0 -152
  89. package/bin/lib/modules/regex.js +0 -16
  90. package/bin/lib/modules/rsa.js +0 -18
  91. package/bin/lib/modules/rule/async-validator/index.js +0 -306
  92. package/bin/lib/modules/rule/async-validator/interface.js +0 -2
  93. package/bin/lib/modules/rule/async-validator/messages.js +0 -59
  94. package/bin/lib/modules/rule/async-validator/rule/enum.js +0 -13
  95. package/bin/lib/modules/rule/async-validator/rule/index.js +0 -16
  96. package/bin/lib/modules/rule/async-validator/rule/pattern.js +0 -27
  97. package/bin/lib/modules/rule/async-validator/rule/range.js +0 -54
  98. package/bin/lib/modules/rule/async-validator/rule/required.js +0 -12
  99. package/bin/lib/modules/rule/async-validator/rule/type.js +0 -98
  100. package/bin/lib/modules/rule/async-validator/rule/url.js +0 -55
  101. package/bin/lib/modules/rule/async-validator/rule/whitespace.js +0 -20
  102. package/bin/lib/modules/rule/async-validator/util.js +0 -255
  103. package/bin/lib/modules/rule/async-validator/validator/any.js +0 -16
  104. package/bin/lib/modules/rule/async-validator/validator/array.js +0 -19
  105. package/bin/lib/modules/rule/async-validator/validator/boolean.js +0 -20
  106. package/bin/lib/modules/rule/async-validator/validator/date.js +0 -31
  107. package/bin/lib/modules/rule/async-validator/validator/enum.js +0 -20
  108. package/bin/lib/modules/rule/async-validator/validator/float.js +0 -20
  109. package/bin/lib/modules/rule/async-validator/validator/index.js +0 -36
  110. package/bin/lib/modules/rule/async-validator/validator/integer.js +0 -20
  111. package/bin/lib/modules/rule/async-validator/validator/method.js +0 -19
  112. package/bin/lib/modules/rule/async-validator/validator/number.js +0 -23
  113. package/bin/lib/modules/rule/async-validator/validator/object.js +0 -19
  114. package/bin/lib/modules/rule/async-validator/validator/pattern.js +0 -19
  115. package/bin/lib/modules/rule/async-validator/validator/regexp.js +0 -19
  116. package/bin/lib/modules/rule/async-validator/validator/required.js +0 -10
  117. package/bin/lib/modules/rule/async-validator/validator/string.js +0 -24
  118. package/bin/lib/modules/rule/async-validator/validator/type.js +0 -20
  119. package/bin/lib/modules/rule/index.js +0 -67
  120. package/bin/lib/modules/string/index.js +0 -121
  121. package/bin/lib/modules/string/words.js +0 -33
  122. package/bin/lib/modules/time/const.js +0 -11
  123. package/bin/lib/modules/time/dtime.js +0 -132
  124. package/bin/lib/modules/time/frame.js +0 -49
  125. package/bin/lib/modules/time/index.js +0 -84
  126. package/bin/lib/typings/index.js +0 -2
  127. package/bin/lib/util/function.js +0 -33
  128. package/bin/lib/util/includes.js +0 -96
  129. package/bin/lib/util/index.js +0 -26
  130. package/bin/lib/util/is.js +0 -148
  131. package/bin/lib/util/to.js +0 -47
package/bin/ddan-js.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("crypto"),require("zlib"),require("net"),require("socks"),require("child_process"),require("fs")):"function"==typeof define&&define.amd?define(["exports","crypto","zlib","net","socks","child_process","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan={},e.crypto$1,e.zlib,e.net,e.socks,e.child_process,e.fs)}(this,(function(e,t,r,n,s,i,o){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=a(t),u=a(r),l=a(n),h=a(o);var f={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 d="0123456789",p="abcdefghijklmnopqrstuvwxyz",g="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var y={keyNumber:d,keyLower:p,keyUpper:g,keyChars:d+p+g};const m=(e=0,t=0)=>{const r=y.keyChars.split(""),n=[];let s;if(t=t||r.length,e)for(s=0;s<e;s++)n[s]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",s=0;s<36;s++)n[s]||(e=0|16*Math.random(),n[s]=r[19==s?3&e|8:e])}return n.join("")};class w{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=m()}clear(){return this.__map.clear(),this}on(e,t,r=""){if(!e||!t)return this;let n=this.__map.get(e);return n||(n=new Set,this.__map.set(e,n)),n.add(t),r&&this.__tagList.push({name:e,listener:t,tag:r}),this}emit(e,...t){if(!e)return this;const r=this.__map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;this.__tagList=this.__tagList.filter((r=>r.name!==e||r.listener!==t));const r=this.__map.get(e);return r?(r.delete(t),r.size<=0&&this.__map.delete(e),this):this}remove(e){return e?(this.__tagList=this.__tagList.filter((t=>t.name!==e)),this.__map.delete(e),this):this}removeByTag(e){if(!e)return this;return this.__tagList.filter((t=>t.tag===e)).forEach((e=>{this.off(e.name,e.listener)})),this.__tagList=this.__tagList.filter((t=>t.tag!==e)),this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this.__map.has(e)}}class b{_loopTimer;_event=new w;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 _={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class v{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/_.oneSecond);let r=t.countdown;t.d=Math.floor(r/_.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=_.oneDay,t.h=Math.floor(r/_.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=_.oneHour,t.m=Math.floor(r/_.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=_.oneMinute,t.s=Math.floor(r/_.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=_.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>_.oneHour?"hh:mm:ss":t.countdown>_.oneMinute?"mm:ss":"ss"),t.desc=n.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>t[e])),t}add(e=0){return e?(this.timestamp=this.timestamp+e,this.date=new Date(this.timestamp),this.toDate(),this):this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}static get timezoneOffset(){return(new Date).getTimezoneOffset()/60}static getLocalTime(e=0){const t=new Date,r=t.getTime(),n=6e4*t.getTimezoneOffset();return new Date(r+n+36e5*e)}}const x=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?A(r).format(t):""},A=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new v(t||0)};function S({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(x(Date.now(),o)).getTime()}var k={..._,now:function(){return A(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:S,todayZero:()=>S({}),format:x,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return A(r).toCountdown(t)},dtime:A,loopFrame:(e=500)=>new b(e),getTimezoneOffset:()=>v.timezoneOffset,getLocalTime:v.getLocalTime};const C="object"==typeof global&&null!==global&&global.Object===Object&&global,$="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,O="object"==typeof self&&null!==self&&self.Object===Object&&self,E=$||C||O||Function("return this")(),j=E.Symbol,{toString:P,hasOwnProperty:T,propertyIsEnumerable:q}=Object.prototype,B=j?j.toStringTag:void 0;function L(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":B&&B in Object(e)?function(e){const t=T.call(e,B),r=e[B];let n=!1;try{e[B]=void 0,n=!0}catch(e){}const s=P.call(e);return n&&(t?e[B]=r:delete e[B]),s}(e):P.call(e)}var F={getTag:L,getType:function(e){return(L(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:P,hasOwnProperty:T,propertyIsEnumerable:q};const R="object"==typeof e&&null!==e&&!e.nodeType&&e,U=R&&"object"==typeof module&&null!==module&&!module.nodeType&&module,I=U&&U.exports===R&&C.process,D=(()=>{try{const e=U&&U.require&&U.require("util").types;return e||I&&I.binding&&I.binding("util")}catch(e){}})();var M="[object Function]",K="[object GeneratorFunction]",z="[object AsyncFunction]",N=9007199254740991;const H=/^(?:0|[1-9]\d*)$/,V=E?.Buffer?.isBuffer,W=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,Z=D&&D.isTypedArray;function Y(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function Q(e){return null!=e&&"object"==typeof e}const J=Array.isArray;function G(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=N}(e.length)&&!ee(e)}function X(e){return Q(e)&&G(e)}function ee(e){var t=Y(e)?F.getTag(e):"";return t===M||t===K||t===z}function te(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function re(e){return X(e)&&F.hasOwnProperty.call(e,"callee")&&(!F.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==F.toString.call(e))}const ne="undefined"!=typeof window&&void 0!==window.document,se="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ie=Z?e=>Z(e):e=>Q(e)&&W.test(F.getTag(e)),oe="function"==typeof V?V:()=>!1;var ae={is:function(e,t){return F.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===F.getTag(e)},isString:function(e){return"string"==typeof e||!J(e)&&Q(e)&&"[object String]"==F.getTag(e)},isObject:Y,isObjectLike:Q,isPlainObject:function(e){if(!Q(e)||"[object Object]"!=F.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||Q(e)&&"[object Symbol]"===F.getTag(e)},isFunction:ee,isArray:J,isArrayLikeObject:X,isIndex:function(e,t){return!!(t=null==t?N:t)&&("number"==typeof e||H.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:G,isPrototype:te,isArguments:re,isPromise:function(e){return"[object Promise]"===(Y(e)?F.getTag(e):"")},isBrowser:ne,isNode:se,isBlobOrBuffer:e=>e instanceof Blob||e instanceof ArrayBuffer,isUint8Array:e=>e instanceof Uint8Array,isArrayBuffer:e=>e instanceof ArrayBuffer,isEmpty:e=>{if(null==e)return!0;if(G(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||oe(e)||ie(e)||re(e)))return!e.length;const t=F.getTag(e);if("[object Map]"===t||"[object Set]"===t)return!e.size;if(te(e))return!Object.keys(e).length;for(const t in e)if(F.hasOwnProperty.call(e,t))return!1;return!0}};const ce=NaN,ue=/^\s+|\s+$/g,le=/^[-+]0x[0-9a-f]+$/i,he=/^0b[01]+$/i,fe=/^0o[0-7]+$/i,de=parseInt,pe=1/0,ge=17976931348623157e292;function ye(e){if("number"==typeof e)return e;if(ae.isSymbol(e))return ce;if(ae.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=ae.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(ue,"");const t=he.test(e);return t||fe.test(e)?de(e.slice(2),t?2:8):le.test(e)?ce:+e}function me(e){return e?(e=ye(e))===pe||e===-pe?(e<0?-1:1)*ge:e==e?e:0:0===e?e:0}var we={toNumber:ye,toFinite:me,toInteger:function(e){var t=me(e),r=t%1;return t==t?r?t-r:t:0}};const be="Expected a function",_e=Math.max,ve=Math.min;function xe(e,t=300,r={}){let n,s,i,o,a,c,u=0,l=!1,h=!1,f=!0;if("function"!=typeof e)throw new TypeError(be);function d(t){const r=n,i=s;return n=s=void 0,u=t,o=e.apply(i,r),o}function p(e){const r=e-c;return void 0===c||r>=t||r<0||h&&e-u>=i}function g(){const e=Date.now();if(p(e))return y(e);a=setTimeout(g,function(e){const r=t-(e-c);return h?ve(r,i-(e-u)):r}(e))}function y(e){return a=void 0,f&&n?d(e):(n=s=void 0,o)}function m(...e){const r=Date.now(),i=p(r);if(n=e,s=this,c=r,i){if(void 0===a)return function(e){return u=e,a=setTimeout(g,t),l?d(e):o}(c);if(h)return a=setTimeout(g,t),d(c)}return void 0===a&&(a=setTimeout(g,t)),o}return t=we.toNumber(t)||0,ae.isObject(r)&&(l=!!r.leading,h="maxWait"in r,i=h?_e(we.toNumber(r.maxWait)||0,t):i,f="trailing"in r?!!r.trailing:f),m.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=c=s=a=void 0},m.flush=function(){return void 0===a?o:y(Date.now())},m.pending=function(){return void 0!==a},m}class Ae{__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(ae.isFunction(e))r=e(t);else{if(ae.isPromise(e))return e.then((e=>({...t,...e})));r=e}return ae.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this.__list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}async function Se(e,t,r){return e.then((e=>(r&&r(),[null,e]))).catch((e=>(t&&Object.assign(e,t),r&&r(),[e,void 0])))}const ke=(e,t)=>{try{let r;return r=ae.isFunction(e)?e():e,Se(Promise.resolve(r),void 0,t)}catch(e){return t&&t(),Promise.resolve([e,void 0])}},Ce=e=>"string"==typeof(e="function"==typeof e?e():e)?new Error(e):e;var $e={to:Se,go:(e,t)=>ke(e,t),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:ke,toError:Ce,timeout:(e,t=0,r="timeout")=>{if(t<=0)return ke(e);let n;function s(){n&&clearTimeout(n)}const i=new Promise((e=>{s(),n=setTimeout((()=>e([Ce(r||"timeout"),void 0])),t)}));return Promise.race([ke(e,s),i])}};class Oe{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var Ee={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}static get I(){return this.Instance}}return e},getset:function(e){const t=new Oe;return void 0!==e&&t.set(e),t}};class je{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return $e.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class Pe{__list=[];__count=0;__max=1;constructor(e=1){this.__count=0,this.__max=e>0?e:1,this.clear()}push(e,t){const r=new je(e,t);return this.__list.push(r),this._step(),this}clear(){return this.__list=[],this.__count=0,this}_step(){if(this.__list.length<=0)return;if(this.__count>=this.__max)return;const e=this.__list.shift();e?(this.__count+=1,e?.run().finally((()=>{try{this.__count>0&&(this.__count-=1),this._step()}catch(e){console.error("[ddan] pipepine step finally",e)}}))):this._step()}async whenAll(){for(;;){if(this.__count<=0)break;await $e.delay(100),this._step()}return this.clear()}}class Te extends(Ee.singleton()){__lockedMap=new Map;pipeline=new Pe;constructor(){super()}lock(e,t){if(!e||!t)return;const r=$e.safeRun(t);return this.__lockedMap.set(e,r),r}unlock(e){e&&this.__lockedMap.has(e)&&this.__lockedMap.delete(e)}async exec(e,t){if(!e||!t)return $e.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return $e.safeRun(e);const s=await n;return this.unlock(t),s}}var qe={toUtf8:e=>{if(!e)return"";const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},fromUtf8:e=>{let t="",r=0;if(!e)return"";let n=0,s=0,i=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t},toUtf8Bytes:e=>{if(!e)return new Uint8Array;const t=e.replace(/\r\n/g,"\n"),r=[];for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r.push(n):n<2048?(r.push(n>>6|192),r.push(63&n|128)):(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128))}return new Uint8Array(r)},fromUtf8Bytes:e=>{let t="",r=0;if(!e||e.length<=0)return"";for(;r<e.length;){let n=e[r];if(n<128)t+=String.fromCharCode(n),r++;else if(n>191&&n<224){const s=e[r+1];t+=String.fromCharCode((31&n)<<6|63&s),r+=2}else{const s=e[r+1],i=e[r+2];t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3}}return t}};const Be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Le={toBase64:(e="")=>{let t,r,n,s,i,o,a,c="",u=0;for(e=qe.toUtf8(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),c=c+Be.charAt(s)+Be.charAt(i)+Be.charAt(o)+Be.charAt(a);return c},fromBase64:(e="")=>{let t,r,n,s,i,o,a,c="",u=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u<e.length;)s=Be.indexOf(e.charAt(u++)),i=Be.indexOf(e.charAt(u++)),o=Be.indexOf(e.charAt(u++)),a=Be.indexOf(e.charAt(u++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c+=String.fromCharCode(t),64!=o&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=qe.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,i,o,a,c="",u=0;if(!e||!ae.isArrayLike(e)||!ae.isUint8Array(e))return"";for(;u<e.length;)t=e[u++],r=e[u++],n=e[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),c=c+Be.charAt(s)+Be.charAt(i)+Be.charAt(o)+Be.charAt(a);return c},base64ToBytes:(e="")=>{let t,r,n,s,i,o,a,c=[],u=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u<e.length;)s=Be.indexOf(e.charAt(u++)),i=Be.indexOf(e.charAt(u++)),o=Be.indexOf(e.charAt(u++)),a=Be.indexOf(e.charAt(u++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c.push(t),64!=o&&c.push(r),64!=a&&c.push(n);return new Uint8Array(c)}};function Fe(e){return Math.floor(Math.random()*e)}function Re(e,t=10){return+parseFloat(Number(e).toExponential(t))}const Ue=180/Math.PI;var Ie={random:Fe,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=Fe(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:Re,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=Re(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*Ue},degree2radian:function(e){return e/Ue},calcDataSize:function(e){const t={gb:0,mb:0,kb:0,b:0,total:e,desc:""},r=[{name:"gb",divisor:1<<30},{name:"mb",divisor:1<<20},{name:"kb",divisor:1024},{name:"b",divisor:1}];for(const n of r){const r=Math.floor(e/n.divisor);t[n.name]=r,e-=r*n.divisor}return t.gb>0?t.desc=(t.gb+t.mb/1024).toFixed(2)+"GB":t.mb>0?t.desc=(t.mb+t.kb/1024).toFixed(2)+"MB":t.kb>0?t.desc=(t.kb+t.b/1024).toFixed(2)+"KB":t.desc=t.b+"B",t}};var De={bytes2str:e=>{if(!e||!ae.isArrayLike(e))return"";return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")},str2bytes:(e="")=>{const t=e,r=new Uint8Array(t.length);for(let e=0,n=t.length;e<n;e++)r[e]=t.charCodeAt(e);return r},str2hex:e=>{let t="";for(let r=0;r<e.length;r++)t+=e.charCodeAt(r).toString(16).padStart(2,"0");return t},hex2str:e=>{let t="";for(let r=0;r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t},concatBytes:(...e)=>{const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r},uint32ToBytes:e=>{const t=new Uint8Array(8);return t[0]=e[0]>>>24&255,t[1]=e[0]>>>16&255,t[2]=e[0]>>>8&255,t[3]=255&e[0],t[4]=e[1]>>>24&255,t[5]=e[1]>>>16&255,t[6]=e[1]>>>8&255,t[7]=255&e[1],t},bytesToUint32:e=>{const t=new Uint32Array(2);return t[0]=e[0]<<24|e[1]<<16|e[2]<<8|e[3],t[1]=e[4]<<24|e[5]<<16|e[6]<<8|e[7],t},hex2bytes:e=>{let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++)t[r]=parseInt(e.substr(2*r,2),16);return t},bytes2hex:e=>Array.from(e).map((e=>e.toString(16).padStart(2,"0"))).join(""),toUint32:e=>{const t=Math.ceil(e.length/4),r=new Uint32Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(4*n)<<24|e.charCodeAt(4*n+1)<<16|e.charCodeAt(4*n+2)<<8|e.charCodeAt(4*n+3);return r},fromUint32:e=>{let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]>>>24&255,e[r]>>>16&255,e[r]>>>8&255,255&e[r]);return t.replace(/\0+$/,"")},flatten:function e(t,r=!1,n=[]){for(let s=0;s<t.length;s+=1){const i=t[s];r&&Array.isArray(i)?e(i,r,n):n.push(i)}return n}};var Me={pkcs7Padding:(e,t)=>{const r=t-e.length%t,n=new Uint8Array(r).fill(r);return De.concatBytes(e,n)},pkcs7Unpadding:e=>{const t=e[e.length-1];return e.slice(0,-t)}};function Ke(e,t){return e<<t|e>>>32-t}function ze(e,t){let r,n,s,i,o;return s=2147483648&e,i=2147483648&t,r=1073741824&e,n=1073741824&t,o=(1073741823&e)+(1073741823&t),r&n?2147483648^o^s^i:r|n?1073741824&o?3221225472^o^s^i:1073741824^o^s^i:o^s^i}function Ne(e,t,r,n,s,i,o){return e=ze(e,ze(ze(function(e,t,r){return e&t|~e&r}(t,r,n),s),o)),ze(Ke(e,i),t)}function He(e,t,r,n,s,i,o){return e=ze(e,ze(ze(function(e,t,r){return e&r|t&~r}(t,r,n),s),o)),ze(Ke(e,i),t)}function Ve(e,t,r,n,s,i,o){return e=ze(e,ze(ze(function(e,t,r){return e^t^r}(t,r,n),s),o)),ze(Ke(e,i),t)}function We(e,t,r,n,s,i,o){return e=ze(e,ze(ze(function(e,t,r){return t^(e|~r)}(t,r,n),s),o)),ze(Ke(e,i),t)}function Ze(e){let t,r,n="",s="";for(r=0;r<=3;r++)t=e>>>8*r&255,s="0"+t.toString(16),n+=s.substr(s.length-2,2);return n}function Ye(e){let t,r,n,s,i,o,a,c,u,l=[];for(l=function(e){let t;const r=e.length,n=r+8,s=16*((n-n%64)/64+1),i=Array(s-1).fill(0);let o=0,a=0;for(;a<r;)t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|e[a]<<o,a++;return t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|128<<o,i[s-2]=r<<3,i[s-1]=r>>>29,i}(e),o=1732584193,a=4023233417,c=2562383102,u=271733878,t=0;t<l.length;t+=16)r=o,n=a,s=c,i=u,o=Ne(o,a,c,u,l[t+0],7,3614090360),u=Ne(u,o,a,c,l[t+1],12,3905402710),c=Ne(c,u,o,a,l[t+2],17,606105819),a=Ne(a,c,u,o,l[t+3],22,3250441966),o=Ne(o,a,c,u,l[t+4],7,4118548399),u=Ne(u,o,a,c,l[t+5],12,1200080426),c=Ne(c,u,o,a,l[t+6],17,2821735955),a=Ne(a,c,u,o,l[t+7],22,4249261313),o=Ne(o,a,c,u,l[t+8],7,1770035416),u=Ne(u,o,a,c,l[t+9],12,2336552879),c=Ne(c,u,o,a,l[t+10],17,4294925233),a=Ne(a,c,u,o,l[t+11],22,2304563134),o=Ne(o,a,c,u,l[t+12],7,1804603682),u=Ne(u,o,a,c,l[t+13],12,4254626195),c=Ne(c,u,o,a,l[t+14],17,2792965006),a=Ne(a,c,u,o,l[t+15],22,1236535329),o=He(o,a,c,u,l[t+1],5,4129170786),u=He(u,o,a,c,l[t+6],9,3225465664),c=He(c,u,o,a,l[t+11],14,643717713),a=He(a,c,u,o,l[t+0],20,3921069994),o=He(o,a,c,u,l[t+5],5,3593408605),u=He(u,o,a,c,l[t+10],9,38016083),c=He(c,u,o,a,l[t+15],14,3634488961),a=He(a,c,u,o,l[t+4],20,3889429448),o=He(o,a,c,u,l[t+9],5,568446438),u=He(u,o,a,c,l[t+14],9,3275163606),c=He(c,u,o,a,l[t+3],14,4107603335),a=He(a,c,u,o,l[t+8],20,1163531501),o=He(o,a,c,u,l[t+13],5,2850285829),u=He(u,o,a,c,l[t+2],9,4243563512),c=He(c,u,o,a,l[t+7],14,1735328473),a=He(a,c,u,o,l[t+12],20,2368359562),o=Ve(o,a,c,u,l[t+5],4,4294588738),u=Ve(u,o,a,c,l[t+8],11,2272392833),c=Ve(c,u,o,a,l[t+11],16,1839030562),a=Ve(a,c,u,o,l[t+14],23,4259657740),o=Ve(o,a,c,u,l[t+1],4,2763975236),u=Ve(u,o,a,c,l[t+4],11,1272893353),c=Ve(c,u,o,a,l[t+7],16,4139469664),a=Ve(a,c,u,o,l[t+10],23,3200236656),o=Ve(o,a,c,u,l[t+13],4,681279174),u=Ve(u,o,a,c,l[t+0],11,3936430074),c=Ve(c,u,o,a,l[t+3],16,3572445317),a=Ve(a,c,u,o,l[t+6],23,76029189),o=Ve(o,a,c,u,l[t+9],4,3654602809),u=Ve(u,o,a,c,l[t+12],11,3873151461),c=Ve(c,u,o,a,l[t+15],16,530742520),a=Ve(a,c,u,o,l[t+2],23,3299628645),o=We(o,a,c,u,l[t+0],6,4096336452),u=We(u,o,a,c,l[t+7],10,1126891415),c=We(c,u,o,a,l[t+14],15,2878612391),a=We(a,c,u,o,l[t+5],21,4237533241),o=We(o,a,c,u,l[t+12],6,1700485571),u=We(u,o,a,c,l[t+3],10,2399980690),c=We(c,u,o,a,l[t+10],15,4293915773),a=We(a,c,u,o,l[t+1],21,2240044497),o=We(o,a,c,u,l[t+8],6,1873313359),u=We(u,o,a,c,l[t+15],10,4264355552),c=We(c,u,o,a,l[t+6],15,2734768916),a=We(a,c,u,o,l[t+13],21,1309151649),o=We(o,a,c,u,l[t+4],6,4149444226),u=We(u,o,a,c,l[t+11],10,3174756917),c=We(c,u,o,a,l[t+2],15,718787259),a=We(a,c,u,o,l[t+9],21,3951481745),o=ze(o,r),a=ze(a,n),c=ze(c,s),u=ze(u,i);return Ze(o)+Ze(a)+Ze(c)+Ze(u)}const Qe=e=>{if("string"!=typeof e&&!(e instanceof Uint8Array))return"";return Ye("string"==typeof e?qe.toUtf8Bytes(e):e)};var Je={md5:Qe,md5Base64:e=>{const t=Qe(e);if(!t)return"";const r=De.hex2bytes(t);return Le.bytesToBase64(r)}};const Ge=(e,t=!1)=>{const r=new Uint8Array(e);return t?Le.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var Xe={...De,...Me,...qe,...Le,...Je,str2ab:(e="",t=!1)=>{if(t)return Le.base64ToBytes(e).buffer;{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t}},ab2str:Ge,utf8ToBase64:e=>ae.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>ae.isBrowser?atob(e):Buffer.from(e,"base64").toString("utf-8"),getRandomBytes:e=>{const t=new Uint8Array(e);for(let r=0;r<e;r++)t[r]=Ie.random(256);return t},textEncode:e=>qe.toUtf8Bytes(e),textDecode:e=>qe.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+Le.toBase64(e):ae.isArrayBuffer(e)?`data:${t};base64,`+Ge(e,!0):"":""};const et=e=>{try{const t=Xe.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},tt=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var rt={RSAPublicKey:"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApiLWsPmoaiGdr02AmPYS\n4/VgxyJNNJSK2VICirXl4P8qAP3b/6GIs7Hwnsmmuj7gledJ0XiZodFjDNgQEZEG\nj4K9KX8NixcrJwnTQV5UebiERdj+64ihwqPVWo9dIOj43ZPJ8f4dritJv5tnQaBb\nb9zTkU3Ofzk1g8RU00Ith6quOGZcU2IWC4OQ+5YiZvzrCBKEvjFwK2OvGq43tI51\nGaZdI9H09jisypqefsMvv6esjEQQOtl+WGlI5fof7KZUt3dppvuDI4CYgeXIoKKL\n9T9qDl8F9aNSs3XHx32YyA7L1FraFD6PjqRjueIFp2emsXQcIMeMqqgVyV+4qb+0\nuwIDAQAB",RSAPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmItaw+ahqIZ2v\nTYCY9hLj9WDHIk00lIrZUgKKteXg/yoA/dv/oYizsfCeyaa6PuCV50nReJmh0WMM\n2BARkQaPgr0pfw2LFysnCdNBXlR5uIRF2P7riKHCo9Vaj10g6Pjdk8nx/h2uK0m/\nm2dBoFtv3NORTc5/OTWDxFTTQi2Hqq44ZlxTYhYLg5D7liJm/OsIEoS+MXArY68a\nrje0jnUZpl0j0fT2OKzKmp5+wy+/p6yMRBA62X5YaUjl+h/splS3d2mm+4MjgJiB\n5cigoov1P2oOXwX1o1KzdcfHfZjIDsvUWtoUPo+OpGO54gWnZ6axdBwgx4yqqBXJ\nX7ipv7S7AgMBAAECggEAE1kuWLkSsJ2OoDpt9iJ+a7cJmNd5V1zPWOTwr9fkWFJP\nQYNPKlPVOFxKUivY84rcHAkuMyuQ9OQOXZISOQGDWpZW0mzeFmtR1r+Rr2S9gNmI\n6huOAL9OW306HUxiA7GuPhv2omy+Zyjac2q1WVLEI2B78Um2+WEfxuNIH7xu0gRR\nz/wluevMBQlv6hSeMESP6e9s2kB+FuM4bL7+1sexwS1TudKbHybujaiB8un9E2V3\nC9BkE6yf00Rhvii6Q4E4w3PFQfcBEFnjOD0S2Watx8GIbYjlYvtquy8Yj7OtyZB6\nw5sxyaYhKVVnkpGAbOgaCj94ABYF47VuwXr45I4PzQKBgQDp6svzD+QKlARjcWgO\nrH7UEpFX6m49G6Ib4c63xEg9+GesTgfDxoYxtXDKsC7I8OwMrmffJGbyfjaAvzmg\nicM3Y7kF6UPO9+q2mBRsyhoJSNONTeUVyoFSc+QDsVgndlTZIjqC5XLrONGaSPLJ\n7jJzqKhp3NQcpO8+xY0d7Efm1QKBgQC10fCNuF1LUTYgsWvvGxTiCCAIBurZmHU+\nGMb2Okfoco/P+QNl1jEba91AC7FudW3g/lRn0vTnDajlNoz2/CKunrTKN4/9lEBI\ntiwEOvhc5FtapRifSfrrNwFqPM+LijvOkcteWVhAUWCEP1eLmpnXGqfmZxnTaaVe\n5DyDgyAVTwKBgQDhEawfOQEANJ9sV2f6BnsZ7quuXcCoR3hZP5G5O8EO735BSesq\nsk/YcG4QeCjr6vQU15LWH552YH5srpHyJ9uP5gHW8DTwZZaPDhFJA8S9fjcfVP3B\nU9HO1fdknjTl83N8YPTPkZpbPZZfzyTcqrYclwFEqtfkn8YbLdW0Hu6n6QKBgDEv\njvS3uD1ExfDILlurptWSvx+Mx4F/1c+roj8/+u3t9+uaAIpPDE/PuTW3NBOens/r\n3WeM0QWkU1lWjYHPKY61jlDaARDnRxCkf3nRfhibCf+Wg/erar6wzagwtTCZf55d\nIHfwkYgsu4BrJkK02wMuydbxczIW9U6bTaeCFG7PAoGAN3oHYzTEBwZ7ZKv11QiQ\nEp/HeHBvD8fH/e1uVyBel4Co7NO5pV2s8qjS8+3+jxumKLNXCirjqwHo03YCdzxi\ncy4GFDsukHmDQ7FF9VC4QV0fJ0F7jGYE9nNZ+K9qwS5KrihOSBPxj0HptrF6TSOw\nBTSwr0byL3TC0m0StkSNKpo=",generateKeys:async e=>{try{const t=await e.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),r=await window.crypto.subtle.exportKey("spki",t.publicKey),n=et(r),s=tt(n,"PUBLIC KEY"),i=await window.crypto.subtle.exportKey("pkcs8",t.privateKey),o=et(i);return{publicKey:n,publicKeyPem:s,privateKey:o,privateKeyPem:tt(o,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:tt,format_pem_content:et,encrypt:async(e,t,r)=>{try{const n=(new TextEncoder).encode(t),s=await e.importKey("spki",Xe.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),i=[];for(let t=0;t<n.length;t+=190){let r=n.slice(t,t+190),o=await e.encrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(o))}const o=Xe.concatBytes(...i);return Xe.bytesToBase64(o)}catch(e){return console.error("[debug] encrypt",e),""}},decrypt:async(e,t,r)=>{try{const n=Xe.base64ToBytes(t),s=await e.importKey("pkcs8",Xe.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"]),i=[],o=256;for(let t=0;t<n.length;t+=o){let r=n.slice(t,t+o),a=await e.decrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(a))}const a=Xe.concatBytes(...i);return(new TextDecoder).decode(a)}catch(e){return console.error("decrypt failed:",e),""}}};const nt=()=>c.default.webcrypto.subtle;var st={generateKeys:()=>rt.generateKeys(nt()),encrypt:async(e,t)=>rt.encrypt(nt(),e,t),decrypt:async(e,t)=>rt.decrypt(nt(),e,t),encode:async e=>rt.encrypt(nt(),e,rt.RSAPublicKey),decode:async e=>rt.decrypt(nt(),e,rt.RSAPrivateKey)};const it="undefined"!=typeof window?window.crypto.subtle:{};var ot={generateKeys:()=>rt.generateKeys(it),encrypt:async(e,t)=>rt.encrypt(it,e,t),decrypt:async(e,t)=>rt.decrypt(it,e,t),encode:async e=>rt.encrypt(it,e,rt.RSAPublicKey),decode:async e=>rt.decrypt(it,e,rt.RSAPrivateKey)};const at=2654435769,ct=(e,t)=>{let r=0;for(let n=0;n<32;n++)r=r+at>>>0,e[0]=e[0]+((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,e[1]=e[1]+((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0;return e},ut=(e,t)=>{let r=3337565984;for(let n=0;n<32;n++)e[1]=e[1]-((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0,e[0]=e[0]-((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,r=r-at>>>0;return e},lt=e=>{const t=Xe.str2bytes(e),r=new Uint32Array(4);return r[0]=t[0]<<24|t[1]<<16|t[2]<<8|t[3],r[1]=t[4]<<24|t[5]<<16|t[6]<<8|t[7],r[2]=t[8]<<24|t[9]<<16|t[10]<<8|t[11],r[3]=t[12]<<24|t[13]<<16|t[14]<<8|t[15],r},ht=(e,t)=>{const r=Xe.pkcs7Padding(e,8),n=lt(t),s=[];for(let e=0;e<r.length;e+=8){const t=Xe.bytesToUint32(r.slice(e,e+8)),i=ct(t,n);s.push(Xe.uint32ToBytes(i))}return Xe.concatBytes(...s)},ft=(e,t)=>{const r=lt(t),n=[];for(let t=0;t<e.length;t+=8){const s=Xe.bytesToUint32(e.slice(t,t+8)),i=ut(s,r);n.push(Xe.uint32ToBytes(i))}const s=Xe.concatBytes(...n);return Xe.pkcs7Unpadding(s)};var dt={TEAKey:"33576f37387276645054657a6831686e454664424e5652456f47794835795942",encrypt:ct,decrypt:ut,toTeaKey:lt,encode:(e,t)=>{const r=Xe.textEncode(e),n=ht(r,t);return Xe.bytesToBase64(n)},decode:(e,t)=>{const r=Xe.base64ToBytes(e),n=ft(r,t);return Xe.textDecode(n.buffer)},encodeBytes:ht,decodeBytes:ft};function pt(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 gt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function yt(e){return gt.test(e)}const mt="\\ud800-\\udfff",wt=`[${mt}]`,bt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",_t="\\ud83c[\\udffb-\\udfff]",vt=`[^${mt}]`,xt="(?:\\ud83c[\\udde6-\\uddff]){2}",At="[\\ud800-\\udbff][\\udc00-\\udfff]",St=`${`(?:${bt}|${_t})`}?`,kt="[\\ufe0e\\ufe0f]?",Ct=kt+St+`(?:\\u200d(?:${[vt,xt,At].join("|")})${kt+St})*`,$t=`(?:${[`${vt}${bt}?`,bt,xt,At,wt].join("|")})`,Ot=RegExp(`${_t}(?=${_t})|${$t+Ct}`,"g");function Et(e){return yt(e)?function(e){return e.match(Ot)||[]}(e):function(e){return e.split("")}(e)}function jt(e){return t=>{if(!t)return"";const r=yt(t)?Et(t):void 0,n=r?r[0]:t[0],s=r?pt(r,1).join(""):t.slice(1);return n[e]()+s}}const Pt="\\ud800-\\udfff",Tt="\\u2700-\\u27bf",qt="a-z\\xdf-\\xf6\\xf8-\\xff",Bt="A-Z\\xc0-\\xd6\\xd8-\\xde",Lt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ft="['’]",Rt=`[${Lt}]`,Ut=`[${Tt}]`,It=`[${qt}]`,Dt=`[^${Pt}${Lt+"\\d"+Tt+qt+Bt}]`,Mt="(?:\\ud83c[\\udde6-\\uddff]){2}",Kt="[\\ud800-\\udbff][\\udc00-\\udfff]",zt=`[${Bt}]`,Nt=`(?:${It}|${Dt})`,Ht=`(?:${zt}|${Dt})`,Vt=`(?:${Ft}(?:d|ll|m|re|s|t|ve))?`,Wt=`(?:${Ft}(?:D|LL|M|RE|S|T|VE))?`,Zt="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Yt="[\\ufe0e\\ufe0f]?",Qt=Yt+Zt+`(?:\\u200d(?:${[`[^${Pt}]`,Mt,Kt].join("|")})${Yt+Zt})*`,Jt=`(?:${[Ut,Mt,Kt].join("|")})${Qt}`,Gt=RegExp([`${zt}?${It}+${Vt}(?=${[Rt,zt,"$"].join("|")})`,`${Ht}+${Wt}(?=${[Rt,zt+Nt,"$"].join("|")})`,`${zt}?${Nt}+${Vt}`,`${zt}+${Wt}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Jt].join("|"),"g");const Xt=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 ]/),er=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function tr(e,t){if(void 0===t){const t=Xt(e)?function(e){return e.match(Gt)}(e):function(e){return e.match(er)}(e);return t||[]}return e.match(t)||[]}function rr(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:rr(e)))}`;if(ae.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const nr=jt("toUpperCase"),sr=jt("toLowerCase");var ir={toString:rr,startCase:e=>tr(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+nr(t)),""),snakeCase:e=>tr(rr(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>tr(rr(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>tr(rr(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?nr(t):t))),""),upperCase:e=>tr(rr(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:nr,lowerCase:e=>tr(rr(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:sr,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r},jsonFormat:e=>{try{if(!e)return"";const t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(t){return e}},toLines:(e,t="\n")=>e?e.split(t).map((e=>e.trim())).filter((e=>!!e)):[]};var or={logString:e=>{try{const t=JSON.stringify(e);return void 0===t?"":dt.encode(t,Xe.hex2str(dt.TEAKey))}catch(e){return""}},logParse:e=>{try{if(!e)return"";const t=dt.decode(e,Xe.hex2str(dt.TEAKey));return ir.jsonFormat(t)}catch(e){return""}},logRString:async e=>{try{const t=JSON.stringify(e);if(void 0===t)return"";return ae.isBrowser?await ot.encode(t):await st.encode(t)}catch(e){return""}},logRParse:async e=>{try{if(!e)return"";const t=ae.isBrowser?await ot.decode(e):await st.decode(e);return ir.jsonFormat(t)}catch(e){return""}}};const ar=(e,t,r)=>e*(1-r)+t*r,cr=(e,t,r)=>e===t?0:(r-e)/(t-e),ur=(e,t,r)=>({x:ar(e.x,t.x,r),y:ar(e.y,t.y,r)}),lr=(e,t,r,n)=>{const s=ur(e,t,n),i=ur(t,r,n);return ur(s,i,n)},hr=(e,t)=>{if(1===e.length)return e[0];const r=[];for(let n=0;n<e.length-1;n++)r.push({x:(1-t)*e[n].x+t*e[n+1].x,y:(1-t)*e[n].y+t*e[n+1].y});return hr(r,t)},fr=(e,t)=>{if(0===t||t===e)return 1;let r=1;for(let n=1;n<=t;n++)r=r*(e-n+1)/n;return r};var dr={bezier1:ur,bezier2:lr,bezier3:(e,t,r,n,s)=>{const i=lr(e,t,r,s),o=lr(t,r,n,s);return ur(i,o,s)},bezier:hr,bezierCurve:(e,t)=>{const r=e.length-1;let n=0,s=0;for(let i=0;i<=r;i++){const o=fr(r,i)*Math.pow(1-t,r-i)*Math.pow(t,i);n+=o*e[i].x,s+=o*e[i].y}return{x:n,y:s}},lerp:ar,lerpAverage:(e,t,r="")=>{if(e.length<=0)return 0;if(1===e.length)return e[0].x;if(2===e.length)return ar(e[0].y,e[1].y,.5);const n=[],s=e.slice().sort(((e,t)=>e.x-t.x)),i=s.length,o=s[0].x,a=s[i-1].x;for(let e=o;e<=a;e+=t){let t=0;for(let n=0;n<i-1;n++){const i=s[n],o=s[n+1];if(e>=i.x&&e<=o.x){if("lerp"===r){const r=cr(i.x,o.x,e);t=ur(i,o,r).y}else t=i.y;break}}e>s[i-1].x&&(t=s[i-1].y),n.push(t)}return n.reduce(((e,t)=>e+t),0)/n.length},proportion:cr};var pr={...$e,...or,...dr,sleep:$e.delay,run:async function(e,t=0){if(t<=0)return $e.safeRun(e);const r=t>0?Date.now():0,n=await $e.safeRun(e),s=Date.now()-r;return s<t&&await $e.delay(t-s),n},exec:(e,t="")=>Te.I.exec(e,t),debounce:xe,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return ae.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),xe(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new Ae(e),mutex:function(e){var t=null;return async function(...r){if((t=this||t||{}).__ddMutex)return!1;t.__ddMutex=!0;try{e&&await Promise.resolve(e.apply(this,r))}catch(e){console.log(e)}finally{t.__ddMutex=!1}}},polling:async function(e={}){const{func:t,interval:r=100,times:n=1e3}=e;let s=n;const i=r<1?100:r;do{if(!t)break;const[e,r]=await $e.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await $e.delay(i)}while(-1===n||s>0)},pipe:(e,t)=>Te.I.pipeline.push(e,t),pipeline:(e=1)=>new Pe(e),safeTask:(e,t)=>new je(e,t)};function gr(e){return e!=e}function yr(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 mr,wr,br=(mr=Object.keys,wr=Object,function(e){return mr(wr(e))}),_r=Math.max;function vr(e,t){var r=ae.isArray(e)||ae.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&&!F.hasOwnProperty.call(e,i)||s&&("length"==i||ae.isIndex(i,n))||r.push(i);return r}const xr=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]=xr(e[r]));return t};const Ar=(e,t,r={})=>{const n=e||{},{ignoreUndefined:s=!0,cover:i=!1}=r;if(!t)return n;for(const o in t){if(!t.hasOwnProperty(o))continue;const a=t[o];"object"!=typeof a||"object"!=typeof e[o]||i?s&&void 0===a||r.ignoreNull&&null===a||r.ignoreZero&&0===a||r.ignoreEmptyArray&&Array.isArray(a)&&a.length<=0||r.ignoreEmptyString&&"string"==typeof a&&""===a.trim()||(n[o]=a):n[o]=Sr(e[o],a,r)}return n},Sr=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?Ar(e,t,r):Ar({...e},t,r),n},kr=(e,t,r={})=>Ar({...e},t,{cover:!0,...r}),Cr=(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=>{Cr(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&Cr(e,t,r,n,s)},get:()=>i})};var $r={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:ir.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const c=r[e];t.ignoreNull&&null===c||(t.ignoreZero&&0===c||t.ignoreEmptyArray&&Array.isArray(c)&&c.length<=0||t.ignoreEmptyString&&"string"==typeof c&&""===c.trim()||(o[a]=c))}return o},clone:xr,merge:Sr,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]=ir.parseValue(n,{number:t,boolean:r});else e[n]=ir.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:kr,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:i=!0,ignoreEmptyArray:o=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=kr(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:Cr,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};var Or={...ae,...F,...$r,...Ee,includes:function(e,t,r,n){e=ae.isArrayLike(e)?e:function(e){return e?yr(e,function(e){return ae.isArrayLike(e)?vr(e):function(e){if(!ae.isPrototype(e))return br(e);var t=[];for(var r in Object(e))F.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?we.toInteger(r):0;var s=e.length;return r<0&&(r=_r(s+r,0)),ae.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,gr,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(ae.isObject(e)&&(r=ae.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var Er={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 jr={...Er,stepAction:function(e,t,r=100){if(!ae.isFunction(t))return;if(!ae.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(!ae.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!ae.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!ae.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return Ie.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!ae.isObject(e))return;const s=e[t];(ae.isString(s)&&""!==s||ae.isNumber(s))&&(n[s]=e[r])})),n):n}};const Pr="[object Object]",Tr="[object Array]",qr=e=>Object.prototype.toString.call(e),Br=(e,t,r=!1)=>{if(e===t)return;const n=qr(e);if(n===qr(t))if(n===Tr&&e.length>=t.length)for(let r=0;r<t.length;r++)Br(e[r],t[r]);else if(n===Pr&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?Br(e[n],t[n]):e[n]=null},Lr=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=qr(e),o=qr(t);if(i===Tr&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)Lr(e[s],t[s],r,`${n}[${s}]`);else if(i===Pr&&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=qr(s),c=qr(o);if(s!==o)if(a===Tr&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)Lr(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===Pr&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)Lr(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class Fr{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 Rr{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new Fr,response:new Fr};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){Rr.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Rr.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=$r.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(Rr.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await Rr.requestLock[Rr.blockId].request;else if(Rr.requestLock[Rr.blockId]&&Rr.requestLock[Rr.blockId].lock&&await Rr.requestLock[Rr.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Rr.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await Rr.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 Ur=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var Ir={diff:function(e,t){const r={};return(e=>{if(qr(e)===Pr)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];qr(n[t])!==Pr&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),Br(e,t,!0),Lr(e,t,r,"",!0),r},promixify:Ur,run:(e,t={})=>e?pr.run(Ur(e)(t)):pr.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:Rr,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,i=n.split(".");for(let e=0;e<i.length-1;e++)s=s[i[e]];let o=i[i.length-1],a=r[n].handler||r[n],c=r[n].deep;$r.observe(s,o,a,e,c)}))}};const Dr=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const c={};if("string"!=typeof e||0===e.length)return c;const u=/\+/g,l=n||1e3;let h=(e=e.split(t)).length;l>0&&h>l&&(h=l);for(let t=0;t<h;++t){let n,o,a,l,h=e[t].replace(u,"%20"),f=h.indexOf(r);f>=0?(n=h.substr(0,f),o=h.substr(f+1)):(n=h,o=""),a=i?decodeURIComponent(n):n,l=i?decodeURIComponent(o):o,F.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(l):c[a]=[c[a],l]:c[a]=l}return $r.parseValue(c,{number:o,boolean:a}),c},Mr=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},Kr=function(e,t=!0){return t?encodeURIComponent(e):e},zr=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},Nr=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,Hr=e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/),n=r?r[1]:"",s=t.lastIndexOf("/")+1,i=t.substring(s),o=i.lastIndexOf("."),a=i.substring(0,o)||"",c=o>=0?i.substring(o):"";return{route:t.substring(0,s)||"",page:n,name:i,withoutExtension:a,extname:c}},Vr=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(Nr);if(!r||r.length<4)return t;const n=r[3]||"",s=e.split("?");return t.url=s[0],t.origin=r[0],t.protocol=`${r[1]}:`,t.host=`${r[2]}${n?":"+n:""}`,t.port=n,t.query=s.length>1?s[1]:"",t},Wr=(e,t)=>{if(e===t)return!0;if(!e)return!1;if(!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var Zr={parse:Dr,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:i=!1,cleanNull:o=!1,cleanWhitespace:a=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const c=Kr(Mr(n),s)+r,u=e[n];return Array.isArray(u)?u.map((function(e){return c+Kr(Mr(e),s)})).join(t):zr(u,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+Kr(Mr(u),s)})).filter(Boolean).join(t):n?Kr(Mr(n),s)+r+Kr(Mr(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=Vr(e),{origin:r="",url:n="",query:s=""}=t,i=Hr(n),o=Dr(s,{multiple:!0,uri:!1});return{...t,...i,pathname:n.substring(n.indexOf(r||"")+r.length),params:o}},parsePath:Hr,parseHost:Vr,join:(...e)=>{const t=[];let r=!1;return e.forEach((e=>{const n=e.trim();if(""===n)return;if(/^(\w+):\/\//.test(n))return t.length=0,t.push(n),void(r=!0);n.split("/").forEach((e=>{"."!==e&&""!==e&&(".."===e?t.length>0&&".."!==t[t.length-1]?t.pop():r||t.push(".."):t.push(e))}))})),t.join("/")},shExpMatch:Wr,isLocalIpAddress:e=>!!e&&!!(Wr(e,"127.0.0.1")||Wr(e,"localhost")||Wr(e,"192.168.*.*"))};const Yr=/%[sdj%]/g;let Qr=()=>{};function Jr(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 Gr(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(Yr,(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 Xr(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 en(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&&(Qr=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class tn extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function rn(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);en(o,r,(e=>(n(e),e.length?i(new tn(e,Jr(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.length;let c=0;const u=[],l=new Promise(((t,l)=>{const h=e=>{if(u.push.apply(u,e),c++,c===a)return n(u),u.length?l(new tn(u,Jr(u))):t(s)};o.length||(n(u),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?en(n,r,h):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,h)}))}));return l.catch((e=>e)),l}function nn(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 sn(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 on=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Xr(t,i||e.type)||n.push(Gr(s.messages.required,e.fullField))};let an;const cn=/^(([^<>()\[\]\\.,;:\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,}))$/,un=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,ln={integer:e=>ln.number(e)&&parseInt(e,10)===e,float:e=>ln.number(e)&&!ln.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&&!ln.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(cn),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(an)return an;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),c.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const u=c.v4().source,l=c.v6().source;return an=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${u}|${l}|(?:(?:[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"),an})()),hex:e=>"string"==typeof e&&!!e.match(un)},hn="enum";var fn={required:on,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(Gr(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void on(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?ln[i](t)||n.push(Gr(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(Gr(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let u=t,l="";const h="number"==typeof t,f="string"==typeof t,d=Array.isArray(t);if(h?l="number":f?l="string":d&&(l="array"),!l)return!1;d&&(u=t.length),f&&(u=t.replace(c,"_").length),i?u!==e.len&&n.push(Gr(s.messages[l].len,e.fullField,e.len)):o&&!a&&u<e.min?n.push(Gr(s.messages[l].min,e.fullField,e.min)):a&&!o&&u>e.max?n.push(Gr(s.messages[l].max,e.fullField,e.max)):o&&a&&(u<e.min||u>e.max)&&n.push(Gr(s.messages[l].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[hn]=Array.isArray(e[hn])?e[hn]:[],-1===e[hn].indexOf(t)&&n.push(Gr(s.messages[hn],e.fullField,e[hn].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(Gr(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(Gr(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const dn=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Xr(t,i)&&!e.required)return r();fn.required(e,t,n,o,s,i),Xr(t,i)||fn.type(e,t,n,o,s)}r(o)};var pn={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Xr(t,"string")&&!e.required)return r();fn.required(e,t,n,i,s,"string"),Xr(t,"string")||(fn.type(e,t,n,i,s),fn.range(e,t,n,i,s),fn.pattern(e,t,n,i,s),!0===e.whitespace&&fn.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(Xr(t)&&!e.required)return r();fn.required(e,t,n,i,s),void 0!==t&&fn.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),Xr(t)&&!e.required)return r();fn.required(e,t,n,i,s),void 0!==t&&(fn.type(e,t,n,i,s),fn.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(Xr(t)&&!e.required)return r();fn.required(e,t,n,i,s),void 0!==t&&fn.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(Xr(t)&&!e.required)return r();fn.required(e,t,n,i,s),Xr(t)||fn.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(Xr(t)&&!e.required)return r();fn.required(e,t,n,i,s),void 0!==t&&(fn.type(e,t,n,i,s),fn.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(Xr(t)&&!e.required)return r();fn.required(e,t,n,i,s),void 0!==t&&(fn.type(e,t,n,i,s),fn.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();fn.required(e,t,n,i,s,"array"),null!=t&&(fn.type(e,t,n,i,s),fn.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(Xr(t)&&!e.required)return r();fn.required(e,t,n,i,s),void 0!==t&&fn.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(Xr(t)&&!e.required)return r();fn.required(e,t,n,i,s),void 0!==t&&fn.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(Xr(t,"string")&&!e.required)return r();fn.required(e,t,n,i,s),Xr(t,"string")||fn.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(Xr(t,"date")&&!e.required)return r();if(fn.required(e,t,n,i,s),!Xr(t,"date")){let r;r=t instanceof Date?t:new Date(t),fn.type(e,r,n,i,s),r&&fn.range(e,r.getTime(),n,i,s)}}r(i)},url:dn,hex:dn,email:dn,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;fn.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(Xr(t)&&!e.required)return r();fn.required(e,t,n,i,s)}r(i)}};function gn(){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 yn=gn();class mn{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");pn[e]=t};static warning=Qr;static messages=yn;static validators=pn;rules={};_messages=yn;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=sn(gn(),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===yn&&(e=gn()),sn(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 rn(o,s,((e,t)=>{const r=e.rule;let i,o=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function c(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function u(i=[]){let u=Array.isArray(i)?i:[i];!0===s.suppressWarning&&u.length&&mn.warning("async-validator:",u),u.length&&void 0!==r.message&&(u=[].concat(r.message));let l=u.map(nn(r,n));if(s.first&&l.length)return a[r.field]=1,t(l);if(o){if(r.required&&!e.value)return void 0!==r.message?l=[].concat(r.message).map(nn(r,n)):s.error&&(l=[s.error(r,Gr(s.messages.required,r.field))]),t(l);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(c.bind(null,e))}));const a=new mn(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=[];l&&l.length&&r.push(...l),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(l)}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=Jr(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&&!pn.hasOwnProperty(e.type))throw new Error(Gr("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]?pn.required:pn[this.getType(e)]||void 0}}function wn(e){return new mn(e)}var bn={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:wn,validate:function(e,t,r={},n=(()=>{})){return pr.run(wn(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 _n={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 vn=e=>Le.toBase64(e);var xn={encode:vn,decode:e=>Le.fromBase64(e),encodeByOss:e=>vn(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var An={...y,base64:xn,tea:dt,uuid:m,guid:(e,t=!1,r="")=>{const n=m(e||32);return t?k.now().format("yyyyMMddhhmmss")+r+n:n},getHexString:e=>{const t=y.keyChars;let r="";const n=t.length;for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*n));return r}};const Sn=e=>{if(!e)return"";if(!Or.isObject(e))return"";let t="";return Or.forof(e,((e,r)=>{r&&(t+=`${ir.kebabCase(e)}:${r};`)})),t},kn=["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"],Cn=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],$n=(e,t="px")=>e&&t?"0"===e?e:bn.isFloat(e.toString())?`${e}${t}`:e:e;var On={stringify:Sn,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Zr.parse(e,{sep:";",eq:":",uri:!1}),s={};return Or.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:ir.camelCase(e):e;bn.isFloat(n)||n.length>=2&&n.startsWith(".")&&bn.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:$n,style:(e,t="px")=>{if(!e)return"";const r=Or.copy(e,{fields:kn});Or.forof(r,((e,n)=>{(Cn.includes(e)||Cn.includes(ir.camelCase(e)))&&(r[e]=$n(n,t))}));return Sn(r)},commonFields:kn};const En=(e,t="",r=!1)=>{try{if(!e)return;const n=Zr.parseUrl(e),s=t||n.name;if(!t||!r||!n.origin||n.origin===window.location.origin)((e,t)=>{try{const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}catch(t){console.error(`[ddan] _downloadUrl ${e}`,t)}})(e,s);else{const t=n.params;t.t=Date.now();const r=`${n.url}?${Zr.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){jn(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},jn=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;En(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},Pn=e=>{try{const t=document.createElement("textarea");document.body.appendChild(t),t.style.position="fixed",t.style.clip="rect(0 0 0 0)",t.style.top="10px",t.style.opacity="0",t.value=e??"",t.select();const r=document.execCommand("copy");return document.body.removeChild(t),r}catch(e){return console.error("[ddan] copyText",e),!1}},Tn=(e,t="denied")=>new Promise((r=>{const n=navigator?.permissions;if(!n||!n.query)return r(t);const s={name:e};n.query(s).then((e=>r(e.state))).catch((()=>r(t)))})),qn=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e,Bn=(e,t)=>{if(!e||!t)return[];const r=[];let n;for(;null!==(n=t.exec(e));)r.push(n[1]);return r};var Ln={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:En,download:(e,t="")=>{e&&("string"!=typeof e?jn(e,t):En(e,t))},downloadFile:jn,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();En(s,t)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.error("[ddan] downloadImage",e)}return Promise.resolve()},watermark:(e,{width:t=400,height:r=300,angle:n=0,fillStyle:s="rgba(0, 0, 0, 0.2)",font:i="16px Arial",textAlign:o="left",textBaseline:a="middle"}={})=>{try{if(!e)return"";const c=document.createElement("canvas");c.width=t,c.height=r;const u=c.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,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}},copyText:(e,t=!1)=>new Promise((r=>{!t&&navigator.clipboard?Tn("clipboard-write").then((t=>{qn(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(Pn(e)))):r(Pn(e))})).catch((()=>{r(Pn(e))})):r(Pn(e))})),queryPermission:Tn,isAllowed:qn,legacyCopy:Pn,takeHtmlLinks:e=>{if(!e)return[];const t=[];return[/<script[^>]+src="([^"]+)"/g,/<link[^>]+rel="stylesheet"[^>]+href="([^"]+)"/g,/<link[^>]+rel="icon"[^>]+href="([^"]+)"/g].forEach((r=>{const n=Bn(e,r);t.push(n)})),[].concat(...t)},takeHtml:Bn};var Fn={ossImage:(e,t={})=>{if(!e)return e;const r=Zr.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=jr.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=Zr.parseUrl(e).url,n=["snapshot"],{m:s="fast",f:i="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`},ossBase64:e=>Le.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const Rn=({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 Un(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function In(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(Or.isPlainObject(e)){const r=Zr.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 Dn{host="";reqConfig={};handleError;interceptors={request:new Fr,response:new Fr};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(In),this.interceptors.response.use(e.handleResponse||Un),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){Dn.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Dn.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=Or.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(Dn.blockId,(()=>Rn(s))),i=await Dn.requestLock[Dn.blockId].request;else if(Dn.requestLock[Dn.blockId]&&Dn.requestLock[Dn.blockId].lock&&await Dn.requestLock[Dn.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Dn.requestLock[e]||this.lockR(e,(()=>Rn(s))),i=await Dn.requestLock[e].request,this.unlockR(e)}else i=await Rn(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const Mn={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},Kn=e=>(...t)=>{const r=console[e];Mn.overrode?r(...t):zn(r,e,...t)},zn=(e,t,...r)=>{const n=k.format(new Date,Mn.format),s=Mn.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 Nn={override:()=>{if(Mn.overrode)return;Mn.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{zn(t,e,...r)}}))},log:Kn("log"),info:Kn("info"),warn:Kn("warn"),error:Kn("error"),config:({tag:e=Mn.tag,format:t=Mn.format}={})=>{Mn.tag=e,Mn.format=t}};var Hn={getDataURL:(e,t)=>{const r={contentType:"",dataUrl:""};return $e.to(fetch(e,{cache:t}).then((e=>(r.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(r.dataUrl=`data:${r.contentType};base64,`+Xe.ab2str(e,!0),r))))},getArrayBuffer:async(e,t)=>$e.to(fetch(e,{cache:t}).then((e=>e.arrayBuffer()))),getJson:async(e,t)=>$e.to(fetch(e,{cache:t}).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=Ie.float(100*i/n,{digits:2});t?.progress&&t?.progress(a,i,n)}const a=new Uint8Array(i);let c=0;for(const e of o)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)})))),getText:async(e,t)=>$e.to(fetch(e,{cache:t}).then((e=>e.text()))),cache:async(e,t="force-cache")=>$e.to(fetch(e,{cache:t}).then((()=>!0)))};const Vn=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,${xn.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}`}},Wn=(e,t,r)=>({key:e,fields:t,storage:r});class Zn{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=pr.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=$r.copy(e,{fields:this.fields});this.save(r)}}class Yn extends w{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!ae.isFunction(n))return;const[,s]=await pr.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=$r.copy(t);else{const[,t]=await pr.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){ae.isObject(t)&&(t=$r.copy(t)),this[e]=t}}const Qn=(e,t)=>{const r=Object.assign(new Yn,e||{});r.__persist=new Zn(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 ae.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(ae.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 Jn{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Zr.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Zr.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=An.base64.encodeByOss(n),i=Zr.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=An.base64.encodeByOss(e),i=Zr.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const Gn=(e,t)=>new Jn(e,t);class Xn{__list=[];constructor(){this.clear()}add(e){const t=pr.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 es=new class{state=Qn(new Yn);frame=new b;cache=new Map;cacheTime=new Map;setCache=(e,t)=>null!=t&&(!!e&&(this.cache.set(e,t),this.cacheTime.set(e,Date.now()),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};getCacheTime=e=>e&&this.cacheTime.get(e)||0;removeCache=e=>{e&&(this.cache.delete(e),this.cacheTime.delete(e))};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),i=this.getCache(s)||{},o=Date.now(),a=i[e],c={time:o,count:1,cycle:n};return a&&("day"!==n||k.isToday(a.time||0))&&(c.count=1+(a.count||0)),i[e]=c,this.setCache(s,i),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===i&&!k.isToday(c.time||0))return!0;if(r<=(c.count||0))return!1;return!(Date.now()-(c.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=Or.copy(r);Or.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||k.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new Xn};class ts{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=m(),this.start=Date.now(),this.timeStartDesc=k.format(this.start,"hh:mm:ss.SSS")}get time(){return this.flag?this.end:this.start}get timeDesc(){return this.flag?this.timeEndDesc:this.timeStartDesc}done=(e=Date.now())=>{this.start&&(this.end=e,this.cost=this.end-this.start,this.timeEndDesc=k.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const rs=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 ts;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=$r.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 jr.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)))}};var ns={brotliCompress:function(e,t=u.default.constants.BROTLI_DEFAULT_QUALITY){try{if(!e)return"";const r=Xe.toUtf8Bytes(e);return u.default.brotliCompressSync(r,{params:{[u.default.constants.BROTLI_PARAM_QUALITY]:t}}).toString("base64")}catch(t){return e||""}},brotliDecompress:function(e){try{if(!e)return"";const t=Xe.base64ToBytes(e);return u.default.brotliDecompressSync(t).toString("utf-8")}catch(t){return e||""}}};var ss={child_exec:e=>new Promise((t=>{if(!e)return t([null,""]);i.exec(e,((e,r)=>{t(e?[e||"error",""]:[null,r||""])}))}))};const is=()=>{try{return"win32"===process.platform?os():"darwin"===process.platform?as():void 0}catch(e){return}},os=async()=>{do{let e,t;if([e,t]=await ss.child_exec('reg query "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"'),e)break;const r=t.split("\n").find((e=>e.includes("ProxyEnable")));if(!(r&&r.trim().endsWith("1")))break;const n=t.split("\n").find((e=>e.includes("ProxyServer"))),s=n?n.split(" ").filter(Boolean).pop():"";if(!s)break;const i=s.split(":");if(i.length<=1)break;const o=i[0],a=+(i[1]||"");if(!o||!a)break;return{ipaddress:o,port:a}}while(0)},as=async()=>{do{let e,t;if([e,t]=await ss.child_exec('networksetup -getwebproxy "Wi-Fi"'),e)break;const r=t.split("\n"),n=r.find((e=>e.includes("Enabled")));if(!(n&&n.includes("Yes")))break;const s=r.find((e=>e.includes("Server"))),i=r.find((e=>e.includes("Port"))),o=s?s.split(":")[1]?.trim():null,a=+((i?i.split(":")[1]?.trim():null)||"");if(!o||!a)break;return{ipaddress:o,port:a}}while(0)},cs=(e,t=["*"],r="DIRECT")=>{const n=e||r||"DIRECT",s=r||"DIRECT",i=`\n function FindProxyForURL(url, host) {\n if (host === "127.0.0.1" || host === "localhost") {\n return "DIRECT";\n }\n\n if (isInNet(host, "10.0.0.0", "255.0.0.0") ||\n isInNet(host, "172.16.0.0", "255.240.0.0") ||\n isInNet(host, "192.168.0.0", "255.255.0.0")) {\n return "DIRECT";\n }\n\n var _rules = ${JSON.stringify(t)};\n var _proxy = "${n}";\n var _default = "${s}";\n\n for (var i = 0; i < _rules.length; i++) {\n if (shExpMatch(host, _rules[i])) {\n return _proxy;\n }\n }\n\n return _default;\n }\n `;return Xe.toDataUrl(i,"application/x-ns-proxy-autoconfig")},us=(e,t,r)=>{if(!e||!t)return"";const{type:n="ALL",direct:s=!1}=r||{};let i="";switch(n?n.toUpperCase():""){case"ALL":i=`SOCKS5 ${e}:${t};PROXY ${e}:${t}`;break;case"PROXY":i=`PROXY ${e}:${t}`;break;case"SOCKS5":i=`SOCKS5 ${e}:${t}`}if(!i&&!s)return"";const o=[];return i&&o.push(i),s&&o.push("DIRECT"),o.join(";")};var ls={getSystemProxy:is,toPacScript:cs,toPacProxy:us,pacScript:async(e,t,r)=>{const{type:n="SOCKS5",rules:s=["*"],useSystem:i}=r||{},o=us(e,t,{type:n});if(!o)return"";let a;if(i){const e=await is();e&&(a=us(e?.ipaddress||"",e?.port||0,{direct:!0}))}return cs(o,s||[],a)}};class hs{publicKey="";privateKey="";iv="";__privateCryptoKey;__sharedSecret;__curve;__keyFormat;__subtle;constructor(e="P-256",t="raw"){this.__curve=e,this.__keyFormat=t||"raw","undefined"!=typeof window?this.__subtle=window.crypto.subtle:this.__subtle={}}async generateKeys(){const e=await this.__subtle.generateKey({name:"ECDH",namedCurve:this.__curve},!0,["deriveKey","deriveBits"]);return this.__privateCryptoKey=e.privateKey,this.publicKey=await this.exportKey(e.publicKey),this.privateKey=await this.exportKey(e.privateKey,"pkcs8"),this}async exportKey(e,t="raw"){const r=await this.__subtle.exportKey(t||this.__keyFormat,e);return Xe.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=Xe.base64ToBytes(e);return await this.__subtle.importKey(t||this.__keyFormat||"raw",n,{name:"ECDH",namedCurve:this.__curve},!0,r)}async setPrivateKey(e){if(!e)return!1;const t=await this.importKey(e,"pkcs8",["deriveKey","deriveBits"]);return this.privateKey=await this.exportKey(t,"pkcs8"),this.__privateCryptoKey=t,!0}async deriveSharedSecret(e,t){if(!this.__privateCryptoKey)return!1;const r=await this.importKey(e),n=await this.__subtle.deriveKey({name:"ECDH",public:r},this.__privateCryptoKey,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"]);return this.__sharedSecret=n,this.iv=t||"",!0}async encode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Xe.base64ToBytes(r),s=Xe.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return Xe.ab2str(i,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?Xe.base64ToBytes(r):Xe.getRandomBytes(12),s=Xe.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),o=Xe.concatBytes(new Uint8Array(i),n);return Xe.bytesToBase64(o)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Xe.base64ToBytes(e),s=Xe.base64ToBytes(r),i=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return Xe.textDecode(i)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=Xe.base64ToBytes(e);if(t.length<12)return"";const r=t.slice(t.length-12),n=t.slice(0,t.length-12),s=await this.__subtle.decrypt({name:"AES-GCM",iv:r},this.__sharedSecret,n);return Xe.textDecode(s)}}const fs=(e,t)=>new Promise(((r,n)=>{h.default.readdir(e,(async(s,i)=>{if(s)return n(s);r(ds(e,i,t))}))})),ds=async(e,t,r)=>{for(let n of t){const t=`${e}\\${n}`;h.default.lstatSync(t).isDirectory()?await fs(`${t}`,r):r&&await r(t)}};var ps={...{readDirectory:fs,readFiles:ds},...ns,...ss,...ls,Ecdh:class{publicKey="";privateKey="";sharedSecret;iv="";__curve;__algorithm;__ecdh;constructor(e="prime256v1",t="aes-256-gcm"){this.__curve=e,this.__algorithm=t,this.generateKeys()}generateKeys(){const e=c.default.createECDH("prime256v1");e.generateKeys(),this.publicKey=e.getPublicKey("base64"),this.privateKey=e.getPrivateKey("base64"),this.__ecdh=e}setPrivateKey(e){return!!e&&(!!this.__ecdh&&(this.__ecdh.setPrivateKey(e,"base64"),this.publicKey=this.__ecdh.getPublicKey("base64"),!0))}setSharedSecret(e){return!!e&&(this.sharedSecret=e,!0)}deriveSharedSecret(e,t){return!!e&&(this.sharedSecret=this.__ecdh.computeSecret(e,"base64").toString("base64"),this.iv=t||"",!0)}encode(e,t){if(!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Xe.base64ToBytes(r),s=c.default.createCipheriv("aes-256-gcm",Xe.base64ToBytes(this.sharedSecret),n),i=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),o=s.getAuthTag();return Buffer.concat([new Uint8Array(i),new Uint8Array(o)]).toString("base64")}encodeiv(e,t){if(!this.sharedSecret)return"";const r=t||this.iv,n=r?Xe.base64ToBytes(r):Xe.getRandomBytes(12),s=c.default.createCipheriv("aes-256-gcm",Xe.base64ToBytes(this.sharedSecret),n),i=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),o=s.getAuthTag();return Buffer.concat([new Uint8Array(i),new Uint8Array(o),n]).toString("base64")}decode(e,t){if(!e||!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=c.default.createDecipheriv("aes-256-gcm",Xe.base64ToBytes(this.sharedSecret),Xe.base64ToBytes(r)),s=Xe.base64ToBytes(e),i=s.slice(s.length-16);n.setAuthTag(i);const o=s.slice(0,s.length-16);return Buffer.concat([new Uint8Array(n.update(o)),new Uint8Array(n.final())]).toString("utf-8")}decodeiv(e){if(!e||!this.sharedSecret)return"";const t=Xe.base64ToBytes(e);if(t.length<28)return"";const r=t.slice(t.length-12),n=t.slice(t.length-28,t.length-12),s=c.default.createDecipheriv("aes-256-gcm",Xe.base64ToBytes(this.sharedSecret),r);s.setAuthTag(n);const i=t.slice(0,t.length-28);return Buffer.concat([new Uint8Array(s.update(i)),new Uint8Array(s.final())]).toString("utf-8")}},EcdhWeb:class extends hs{constructor(e="P-256",t="raw"){super(e,t),this.__subtle=c.default.webcrypto.subtle}},Socks5:class{upstreamProxy;server=null;clientSockets=new Set;systemProxy=null;useSystemProxy=!1;__debug=!1;__uuid;__port=0;__event;__pipeline;__logger;__totalReceived=0;__totalSent=0;__rules=[];constructor(e,t=!1,r){this.__event=new w,this.upstreamProxy=this.filterProxyConfigs(e),this._updateRules(),this.__debug=t,this.__uuid=m(),this.__pipeline=new Pe(1),this.__logger=r||console}get id(){return this.__uuid}get port(){return this.__port}get url(){return this.__port?`socks5://127.0.0.1:${this.__port}`:""}get totalReceived(){return this.__totalReceived}get totalSent(){return this.__totalSent}get rules(){return this.__rules}validateProxyConfig(e){const{ipaddress:t,port:r,userId:n,password:s}=e||{};return t&&"string"==typeof t?r&&"number"==typeof r?n&&"string"==typeof n?s&&"string"==typeof s?"":"无效的上游代理密码":"无效的上游代理用户名":"无效的上游代理端口":"无效的上游代理 IP 地址"}filterProxyConfigs(e){let t=[];t=e&&Array.isArray(e)?e:[e];const r=[];for(const e of t)this.validateProxyConfig(e)||r.push(e);return r}async start(e=8838){if(this.upstreamProxy.length<=0)return 0;if(this.server)return this.__debug&&console.info("[socks5] server is already running"),this.__port;const t=await this.findAvailablePort(e);return t?(this.__port=t,this.server=l.default.createServer((e=>this.handleSocksConnection(e))),this.server.listen(t,(()=>{this.__debug&&this.__logger?.info(`[socks5] server is running on port ${t}`)})),this.server.on("error",(e=>{this.__logger?.error("[socks5] server error:",e),this.close()})),t):0}setUpstreamProxy(e){if(!e)return!1;const t=this.filterProxyConfigs(e);return!(!t||t.length<=0)&&(this.upstreamProxy=t,this._updateRules(),!0)}setSystemProxy(e,t){this.useSystemProxy=e,e&&t&&t.ipaddress&&t.port&&(this.systemProxy=t)}async findAvailablePort(e,t=200){let r=e,n=0;for(;n<t;)try{return await new Promise(((e,t)=>{const n=l.default.createServer();n.unref(),n.on("error",t),n.listen(r,(()=>{n.close((()=>e()))}))})),r}catch{n++,r++}return this.__debug&&this.__logger?.warn("[socks5] findAvailablePort failed"),0}async handleSocksConnection(e){let t="";try{if(!e)return;this.clientSockets.add(e),e.on("close",(()=>{this.clientSockets.delete(e),e?.destroy()})),await this.performHandshake(e);const r=await this.parseClientRequest(e),n=r.addr;t=`${n}:${r.port}`,this.__debug&&this.__logger?.info("[socks5] connection",t);const s=this.findProxyConfig(n);if(s){const n=await this.connectToUpstreamProxy(r,s);this.__logger?.info(`[socks5] connection upstream ${t}, use ${s.ipaddress}:${s.port}`),this.setupDataForwarding(e,n,"upstream")}else if(this.useSystemProxy&&this.systemProxy&&!Zr.isLocalIpAddress(n)){const n=await this.connectToSystemProxy(r);this.__debug&&console.info("[socks5] connection system",t),this.setupDataForwarding(e,n,"system")}else{this.__debug&&console.info("[socks5] connection local",t);const n=await this.connectToLocal(r);this.setupDataForwarding(e,n,"local")}}catch(r){this.__debug&&this.__logger?.error("[socks5] connection failed:",r),e.end(new Uint8Array([5,1])),this._emit("error",r,t)}}performHandshake(e){return new Promise(((t,r)=>{e.once("data",(n=>{if(5!==n[0])return r(new Error("Unsupported SOCKS version"));e.write(new Uint8Array([5,0])),t()}))}))}parseClientRequest(e){return new Promise(((t,r)=>{e.once("data",(e=>{let n,s;if(1!==e[1])return r(new Error("Unsupported command"));if(1===e[3])n=e.slice(4,8).join("."),s=e.readUInt16BE(8);else{if(3!==e[3])return r(new Error("Unsupported address type"));{const t=e[4];n=e.slice(5,5+t).toString(),s=e.readUInt16BE(5+t)}}t({addr:n,port:s})}))}))}async connectToUpstreamProxy(e,t){const r={proxy:{ipaddress:t.ipaddress,port:t.port,type:5,userId:t.userId,password:t.password},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(r)}catch(e){throw new Error("Failed to connect to upstream proxy: "+e)}}async connectToSystemProxy(e){const t={proxy:{...this.systemProxy,type:5},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(t)}catch(e){throw new Error("Failed to connect to system proxy: "+e)}}async connectToProxy(e){const{socket:t}=await s.SocksClient.createConnection(e);return t}async connectToLocal(e){return new Promise(((t,r)=>{const n=l.default.createConnection(e.port,e.addr,(()=>{t(n)}));n.on("error",(e=>{r(e)}))}))}setupDataForwarding(e,t,r="local"){e.write(new Uint8Array([5,0,0,1,0,0,0,0,0,0])),e.pipe(t),t.pipe(e);const n=`${t.localAddress}:${t.localPort}`;this.__debug&&console.info(`[socks5] setupDataForwarding ${n}`),"upstream"===r&&(t.on("data",(e=>{this.__totalSent+=e.length})),e.on("data",(e=>{this.__totalReceived+=e.length}))),e.on("close",(()=>{this.__debug&&console.info("[socks5] client socket close",n),t.end()})),t.on("close",(()=>{this.__debug&&console.info("[socks5] target socket close",n),e.end()})),e.on("error",(e=>{this.__debug&&console.error("[socks5] client socket error:",e?.message),t.end()})),t.on("error",(t=>{this.__debug&&console.error("[socks5] target socket error:",t?.message),e.end()}))}findProxyConfig(e){if(!Zr.isLocalIpAddress(e))for(const t of this.upstreamProxy)if(this.isAllowedDomain(e,t.rules||[]))return t}isAllowedDomain(e,t){if(Zr.isLocalIpAddress(e))return!1;if(!t||!Array.isArray(t))return!1;for(const r of t){if("*"===r)return!0;if(Zr.shExpMatch(e,r))return!0}return!1}close(){try{if(!this.server)return;this.__debug&&this.__logger?.info("[socks5] closing SOCKS5 proxy server..."),this.server.close((e=>{e&&this.__debug&&this.__logger?.error("[socks5] closing the server failed:",e)})),this.clientSockets.forEach((e=>e?.destroy())),this.clientSockets.clear(),this.server=null,this.__port=0}catch(e){this.__debug&&this.__logger?.error("[socks5] close error:",e)}}on(e,t){e&&t&&(this.__event.off(e,t),this.__event.on(e,t))}off(e,t){e&&this.__event.off(e,t)}resetStatistics(){this.__totalReceived=0,this.__totalSent=0}_emit(e,...t){try{if(!e)return;this.__event.emit(e,...t)}catch(e){}}_updateRules(){this.upstreamProxy&&(this.__rules=jr.distinct(this.upstreamProxy.reduce(((e,t)=>e.concat(t?.rules||[])),[])))}},rsa:st},gs={Ecdh:hs};class ys{timestamp=0;_key="";_value;constructor(e,t){this._key=e,this._value=t,this.updateAt()}get key(){return this._key}get value(){return this._value}set(e){this._value=e,this.updateAt()}updateAt(){this.timestamp=Date.now()}clear(){this.set(void 0)}}class ms{_map=new Map;constructor(){this._map.clear()}get keys(){return Array.from(this._map.keys())}get values(){return Array.from(this._map.values())}get(e){if(!e)return;const t=this._map.get(e);return t?t.value:void 0}getKV(e){if(e)return this._map.get(e)}set(e,t){if(!e)return;const r=this._map.get(e);r?(r.set(t),this.clean()):this._map.set(e,new ys(e,t))}delete(e,t){if(!e)return;const r=this._map.get(e);t&&t(r?.value),this._map.delete(e)}clear(){this._map.clear()}clean(e=100,t){try{if(this._map.size<=e)return;if(this.keys.filter((e=>{if(!this._map.has(e))return!1;const t=this._map.get(e);return!t||!t.value})).forEach((e=>{this._map.delete(e)})),this._map.size<=e)return;const r=this.values.sort(((e,t)=>e.timestamp-t.timestamp)),n=r.length-e;if(n<=0)return;r.splice(0,n).forEach((e=>{this.delete(e.key,t)}))}catch(e){console.log("mapping clean",e)}}}const ws={gbk:f,math:Ie,list:jr,string:ir,time:k,obj:$r,rule:bn,regex:_n,...Xe,...An,...Or,Event:w},bs=Or.singleton,_s={...Xe,...An,...pr,...ir,...Ie,qs:Zr,singleton:bs},vs={mini:Ir,css:On,qs:Zr,icon:Vn,html:Ln},xs={cdn:Fn,watermark:Gn},As={Store:Yn,storeRef:Qn,Persist:Zn,persistConfig:Wn},Ss=es,ks=rs,Cs=Nn,$s={fetch:Hn,Http:Dn,css:On,qs:Zr,icon:Vn,html:Ln,rsa:ot,...gs},Os={...ps};var Es={gbk:f,time:k,hook:pr,math:Ie,util:Or,list:jr,string:ir,obj:$r,crypto:An,mini:Ir,qs:Zr,css:On,cdn:Fn,html:Ln,icon:Vn,rule:bn,regex:_n,convert:Xe,KValue:ys,Mapping:ms,Event:w,Http:Dn,Store:Yn,storeRef:Qn,Persist:Zn,persistConfig:Wn,watermark:Gn,joker:es,tracker:rs,logger:Nn,fetch:Hn,rsa:ot};e.Event=w,e.KValue=ys,e.Mapping=ms,e.dCdn=xs,e.dHook=_s,e.dJoker=Ss,e.dLogger=Cs,e.dMini=vs,e.dNode=Os,e.dStore=As,e.dTracker=ks,e.dUtil=ws,e.dWeb=$s,e.default=Es,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("crypto"),require("zlib"),require("net"),require("socks"),require("child_process"),require("fs"),require("ali-oss"),require("@alicloud/pop-core")):"function"==typeof define&&define.amd?define(["exports","crypto","zlib","net","socks","child_process","fs","ali-oss","@alicloud/pop-core"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan={},e.crypto$1,e.zlib,e.net,e.socks,e.child_process,e.fs,e.OSS,e.aliCore)}(this,(function(e,t,r,n,s,i,o,a,c){"use strict";function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=u(t),h=u(r),f=u(n),d=u(o),p=u(a),g=u(c);var y={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 m="0123456789",w="abcdefghijklmnopqrstuvwxyz",b="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var _={keyNumber:m,keyLower:w,keyUpper:b,keyChars:m+w+b};const v=(e=0,t=0)=>{const r=_.keyChars.split(""),n=[];let s;if(t=t||r.length,e)for(s=0;s<e;s++)n[s]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",s=0;s<36;s++)n[s]||(e=0|16*Math.random(),n[s]=r[19==s?3&e|8:e])}return n.join("")};class x{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=v()}clear(){return this.__map.clear(),this}on(e,t,r=""){if(!e||!t)return this;let n=this.__map.get(e);return n||(n=new Set,this.__map.set(e,n)),n.add(t),r&&this.__tagList.push({name:e,listener:t,tag:r}),this}emit(e,...t){if(!e)return this;const r=this.__map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;this.__tagList=this.__tagList.filter((r=>r.name!==e||r.listener!==t));const r=this.__map.get(e);return r?(r.delete(t),r.size<=0&&this.__map.delete(e),this):this}remove(e){return e?(this.__tagList=this.__tagList.filter((t=>t.name!==e)),this.__map.delete(e),this):this}removeByTag(e){if(!e)return this;return this.__tagList.filter((t=>t.tag===e)).forEach((e=>{this.off(e.name,e.listener)})),this.__tagList=this.__tagList.filter((t=>t.tag!==e)),this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this.__map.has(e)}}class S{_loopTimer;_event=new x;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 A={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class k{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/A.oneSecond);let r=t.countdown;t.d=Math.floor(r/A.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=A.oneDay,t.h=Math.floor(r/A.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=A.oneHour,t.m=Math.floor(r/A.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=A.oneMinute,t.s=Math.floor(r/A.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=A.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>A.oneHour?"hh:mm:ss":t.countdown>A.oneMinute?"mm:ss":"ss"),t.desc=n.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>t[e])),t}add(e=0){return e?(this.timestamp=this.timestamp+e,this.date=new Date(this.timestamp),this.toDate(),this):this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}static get timezoneOffset(){return(new Date).getTimezoneOffset()/60}static getLocalTime(e=0){const t=new Date,r=t.getTime(),n=6e4*t.getTimezoneOffset();return new Date(r+n+36e5*e)}}const C=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?$(r).format(t):""},$=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new k(t||0)};function O({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 E={...A,now:function(){return $(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:O,todayZero:()=>O({}),format:C,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return $(r).toCountdown(t)},dtime:$,loopFrame:(e=500)=>new S(e),getTimezoneOffset:()=>k.timezoneOffset,getLocalTime:k.getLocalTime};const j="object"==typeof global&&null!==global&&global.Object===Object&&global,P="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,T="object"==typeof self&&null!==self&&self.Object===Object&&self,q=P||j||T||Function("return this")(),B=q.Symbol,{toString:L,hasOwnProperty:F,propertyIsEnumerable:R}=Object.prototype,I=B?B.toStringTag:void 0;function U(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":I&&I in Object(e)?function(e){const t=F.call(e,I),r=e[I];let n=!1;try{e[I]=void 0,n=!0}catch(e){}const s=L.call(e);return n&&(t?e[I]=r:delete e[I]),s}(e):L.call(e)}var D={getTag:U,getType:function(e){return(U(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:L,hasOwnProperty:F,propertyIsEnumerable:R};const M="object"==typeof e&&null!==e&&!e.nodeType&&e,K=M&&"object"==typeof module&&null!==module&&!module.nodeType&&module,z=K&&K.exports===M&&j.process,N=(()=>{try{const e=K&&K.require&&K.require("util").types;return e||z&&z.binding&&z.binding("util")}catch(e){}})();var H="[object Function]",V="[object GeneratorFunction]",W="[object AsyncFunction]",Z=9007199254740991;const Y=/^(?:0|[1-9]\d*)$/,Q=q?.Buffer?.isBuffer,J=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,G=N&&N.isTypedArray;function X(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function ee(e){return null!=e&&"object"==typeof e}const te=Array.isArray;function re(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=Z}(e.length)&&!se(e)}function ne(e){return ee(e)&&re(e)}function se(e){var t=X(e)?D.getTag(e):"";return t===H||t===V||t===W}function ie(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function oe(e){return ne(e)&&D.hasOwnProperty.call(e,"callee")&&(!D.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==D.toString.call(e))}const ae="undefined"!=typeof window&&void 0!==window.document,ce="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ue=G?e=>G(e):e=>ee(e)&&J.test(D.getTag(e)),le="function"==typeof Q?Q:()=>!1;var he={is:function(e,t){return D.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===D.getTag(e)},isString:function(e){return"string"==typeof e||!te(e)&&ee(e)&&"[object String]"==D.getTag(e)},isObject:X,isObjectLike:ee,isPlainObject:function(e){if(!ee(e)||"[object Object]"!=D.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||ee(e)&&"[object Symbol]"===D.getTag(e)},isFunction:se,isArray:te,isArrayLikeObject:ne,isIndex:function(e,t){return!!(t=null==t?Z:t)&&("number"==typeof e||Y.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:re,isPrototype:ie,isArguments:oe,isPromise:function(e){return"[object Promise]"===(X(e)?D.getTag(e):"")},isBrowser:ae,isNode:ce,isBlobOrBuffer:e=>e instanceof Blob||e instanceof ArrayBuffer,isUint8Array:e=>e instanceof Uint8Array,isArrayBuffer:e=>e instanceof ArrayBuffer,isEmpty:e=>{if(null==e)return!0;if(re(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||le(e)||ue(e)||oe(e)))return!e.length;const t=D.getTag(e);if("[object Map]"===t||"[object Set]"===t)return!e.size;if(ie(e))return!Object.keys(e).length;for(const t in e)if(D.hasOwnProperty.call(e,t))return!1;return!0}};const fe=NaN,de=/^\s+|\s+$/g,pe=/^[-+]0x[0-9a-f]+$/i,ge=/^0b[01]+$/i,ye=/^0o[0-7]+$/i,me=parseInt,we=1/0,be=17976931348623157e292;function _e(e){if("number"==typeof e)return e;if(he.isSymbol(e))return fe;if(he.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=he.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(de,"");const t=ge.test(e);return t||ye.test(e)?me(e.slice(2),t?2:8):pe.test(e)?fe:+e}function ve(e){return e?(e=_e(e))===we||e===-we?(e<0?-1:1)*be:e==e?e:0:0===e?e:0}var xe={toNumber:_e,toFinite:ve,toInteger:function(e){var t=ve(e),r=t%1;return t==t?r?t-r:t:0}};const Se="Expected a function",Ae=Math.max,ke=Math.min;function Ce(e,t=300,r={}){let n,s,i,o,a,c,u=0,l=!1,h=!1,f=!0;if("function"!=typeof e)throw new TypeError(Se);function d(t){const r=n,i=s;return n=s=void 0,u=t,o=e.apply(i,r),o}function p(e){const r=e-c;return void 0===c||r>=t||r<0||h&&e-u>=i}function g(){const e=Date.now();if(p(e))return y(e);a=setTimeout(g,function(e){const r=t-(e-c);return h?ke(r,i-(e-u)):r}(e))}function y(e){return a=void 0,f&&n?d(e):(n=s=void 0,o)}function m(...e){const r=Date.now(),i=p(r);if(n=e,s=this,c=r,i){if(void 0===a)return function(e){return u=e,a=setTimeout(g,t),l?d(e):o}(c);if(h)return a=setTimeout(g,t),d(c)}return void 0===a&&(a=setTimeout(g,t)),o}return t=xe.toNumber(t)||0,he.isObject(r)&&(l=!!r.leading,h="maxWait"in r,i=h?Ae(xe.toNumber(r.maxWait)||0,t):i,f="trailing"in r?!!r.trailing:f),m.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=c=s=a=void 0},m.flush=function(){return void 0===a?o:y(Date.now())},m.pending=function(){return void 0!==a},m}class $e{__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(he.isFunction(e))r=e(t);else{if(he.isPromise(e))return e.then((e=>({...t,...e})));r=e}return he.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this.__list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}async function Oe(e,t,r){return e.then((e=>(r&&r(),[null,e]))).catch((e=>(t&&Object.assign(e,t),r&&r(),[e,void 0])))}const Ee=(e,t)=>{try{let r;return r=he.isFunction(e)?e():e,Oe(Promise.resolve(r),void 0,t)}catch(e){return t&&t(),Promise.resolve([e,void 0])}},je=e=>"string"==typeof(e="function"==typeof e?e():e)?new Error(e):e;var Pe={to:Oe,go:(e,t)=>Ee(e,t),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:Ee,toError:je,timeout:(e,t=0,r="timeout")=>{if(t<=0)return Ee(e);let n;function s(){n&&clearTimeout(n)}const i=new Promise((e=>{s(),n=setTimeout((()=>e([je(r||"timeout"),void 0])),t)}));return Promise.race([Ee(e,s),i])}};class Te{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var qe={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}static get I(){return this.Instance}}return e},getset:function(e){const t=new Te;return void 0!==e&&t.set(e),t}};class Be{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return Pe.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class Le{__list=[];__count=0;__max=1;constructor(e=1){this.__count=0,this.__max=e>0?e:1,this.clear()}push(e,t){const r=new Be(e,t);return this.__list.push(r),this._step(),this}clear(){return this.__list=[],this.__count=0,this}_step(){if(this.__list.length<=0)return;if(this.__count>=this.__max)return;const e=this.__list.shift();e?(this.__count+=1,e?.run().finally((()=>{try{this.__count>0&&(this.__count-=1),this._step()}catch(e){console.error("[ddan] pipepine step finally",e)}}))):this._step()}async whenAll(){for(;;){if(this.__count<=0)break;await Pe.delay(100),this._step()}return this.clear()}}class Fe extends(qe.singleton()){__lockedMap=new Map;pipeline=new Le;constructor(){super()}lock(e,t){if(!e||!t)return;const r=Pe.safeRun(t);return this.__lockedMap.set(e,r),r}unlock(e){e&&this.__lockedMap.has(e)&&this.__lockedMap.delete(e)}async exec(e,t){if(!e||!t)return Pe.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return Pe.safeRun(e);const s=await n;return this.unlock(t),s}}var Re={toUtf8:e=>{if(!e)return"";const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},fromUtf8:e=>{let t="",r=0;if(!e)return"";let n=0,s=0,i=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t},toUtf8Bytes:e=>{if(!e)return new Uint8Array;const t=e.replace(/\r\n/g,"\n"),r=[];for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r.push(n):n<2048?(r.push(n>>6|192),r.push(63&n|128)):(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128))}return new Uint8Array(r)},fromUtf8Bytes:e=>{let t="",r=0;if(!e||e.length<=0)return"";for(;r<e.length;){let n=e[r];if(n<128)t+=String.fromCharCode(n),r++;else if(n>191&&n<224){const s=e[r+1];t+=String.fromCharCode((31&n)<<6|63&s),r+=2}else{const s=e[r+1],i=e[r+2];t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3}}return t}};const Ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Ue={toBase64:(e="")=>{let t,r,n,s,i,o,a,c="",u=0;for(e=Re.toUtf8(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),c=c+Ie.charAt(s)+Ie.charAt(i)+Ie.charAt(o)+Ie.charAt(a);return c},fromBase64:(e="")=>{let t,r,n,s,i,o,a,c="",u=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u<e.length;)s=Ie.indexOf(e.charAt(u++)),i=Ie.indexOf(e.charAt(u++)),o=Ie.indexOf(e.charAt(u++)),a=Ie.indexOf(e.charAt(u++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c+=String.fromCharCode(t),64!=o&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=Re.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,i,o,a,c="",u=0;if(!e||!he.isArrayLike(e)||!he.isUint8Array(e))return"";for(;u<e.length;)t=e[u++],r=e[u++],n=e[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),c=c+Ie.charAt(s)+Ie.charAt(i)+Ie.charAt(o)+Ie.charAt(a);return c},base64ToBytes:(e="")=>{let t,r,n,s,i,o,a,c=[],u=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u<e.length;)s=Ie.indexOf(e.charAt(u++)),i=Ie.indexOf(e.charAt(u++)),o=Ie.indexOf(e.charAt(u++)),a=Ie.indexOf(e.charAt(u++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c.push(t),64!=o&&c.push(r),64!=a&&c.push(n);return new Uint8Array(c)}};function De(e){return Math.floor(Math.random()*e)}function Me(e,t=10){return+parseFloat(Number(e).toExponential(t))}const Ke=180/Math.PI;var ze={random:De,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=De(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:Me,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=Me(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*Ke},degree2radian:function(e){return e/Ke},calcDataSize:function(e){const t={gb:0,mb:0,kb:0,b:0,total:e,desc:""},r=[{name:"gb",divisor:1<<30},{name:"mb",divisor:1<<20},{name:"kb",divisor:1024},{name:"b",divisor:1}];for(const n of r){const r=Math.floor(e/n.divisor);t[n.name]=r,e-=r*n.divisor}return t.gb>0?t.desc=(t.gb+t.mb/1024).toFixed(2)+"GB":t.mb>0?t.desc=(t.mb+t.kb/1024).toFixed(2)+"MB":t.kb>0?t.desc=(t.kb+t.b/1024).toFixed(2)+"KB":t.desc=t.b+"B",t}};var Ne={bytes2str:e=>{if(!e||!he.isArrayLike(e))return"";return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")},str2bytes:(e="")=>{const t=e,r=new Uint8Array(t.length);for(let e=0,n=t.length;e<n;e++)r[e]=t.charCodeAt(e);return r},str2hex:e=>{let t="";for(let r=0;r<e.length;r++)t+=e.charCodeAt(r).toString(16).padStart(2,"0");return t},hex2str:e=>{let t="";for(let r=0;r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t},concatBytes:(...e)=>{const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r},uint32ToBytes:e=>{const t=new Uint8Array(8);return t[0]=e[0]>>>24&255,t[1]=e[0]>>>16&255,t[2]=e[0]>>>8&255,t[3]=255&e[0],t[4]=e[1]>>>24&255,t[5]=e[1]>>>16&255,t[6]=e[1]>>>8&255,t[7]=255&e[1],t},bytesToUint32:e=>{const t=new Uint32Array(2);return t[0]=e[0]<<24|e[1]<<16|e[2]<<8|e[3],t[1]=e[4]<<24|e[5]<<16|e[6]<<8|e[7],t},hex2bytes:e=>{let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++)t[r]=parseInt(e.substr(2*r,2),16);return t},bytes2hex:e=>Array.from(e).map((e=>e.toString(16).padStart(2,"0"))).join(""),toUint32:e=>{const t=Math.ceil(e.length/4),r=new Uint32Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(4*n)<<24|e.charCodeAt(4*n+1)<<16|e.charCodeAt(4*n+2)<<8|e.charCodeAt(4*n+3);return r},fromUint32:e=>{let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]>>>24&255,e[r]>>>16&255,e[r]>>>8&255,255&e[r]);return t.replace(/\0+$/,"")},flatten:function e(t,r=!1,n=[]){for(let s=0;s<t.length;s+=1){const i=t[s];r&&Array.isArray(i)?e(i,r,n):n.push(i)}return n}};var He={pkcs7Padding:(e,t)=>{const r=t-e.length%t,n=new Uint8Array(r).fill(r);return Ne.concatBytes(e,n)},pkcs7Unpadding:e=>{const t=e[e.length-1];return e.slice(0,-t)}};function Ve(e,t){return e<<t|e>>>32-t}function We(e,t){let r,n,s,i,o;return s=2147483648&e,i=2147483648&t,r=1073741824&e,n=1073741824&t,o=(1073741823&e)+(1073741823&t),r&n?2147483648^o^s^i:r|n?1073741824&o?3221225472^o^s^i:1073741824^o^s^i:o^s^i}function Ze(e,t,r,n,s,i,o){return e=We(e,We(We(function(e,t,r){return e&t|~e&r}(t,r,n),s),o)),We(Ve(e,i),t)}function Ye(e,t,r,n,s,i,o){return e=We(e,We(We(function(e,t,r){return e&r|t&~r}(t,r,n),s),o)),We(Ve(e,i),t)}function Qe(e,t,r,n,s,i,o){return e=We(e,We(We(function(e,t,r){return e^t^r}(t,r,n),s),o)),We(Ve(e,i),t)}function Je(e,t,r,n,s,i,o){return e=We(e,We(We(function(e,t,r){return t^(e|~r)}(t,r,n),s),o)),We(Ve(e,i),t)}function Ge(e){let t,r,n="",s="";for(r=0;r<=3;r++)t=e>>>8*r&255,s="0"+t.toString(16),n+=s.substr(s.length-2,2);return n}function Xe(e){let t,r,n,s,i,o,a,c,u,l=[];for(l=function(e){let t;const r=e.length,n=r+8,s=16*((n-n%64)/64+1),i=Array(s-1).fill(0);let o=0,a=0;for(;a<r;)t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|e[a]<<o,a++;return t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|128<<o,i[s-2]=r<<3,i[s-1]=r>>>29,i}(e),o=1732584193,a=4023233417,c=2562383102,u=271733878,t=0;t<l.length;t+=16)r=o,n=a,s=c,i=u,o=Ze(o,a,c,u,l[t+0],7,3614090360),u=Ze(u,o,a,c,l[t+1],12,3905402710),c=Ze(c,u,o,a,l[t+2],17,606105819),a=Ze(a,c,u,o,l[t+3],22,3250441966),o=Ze(o,a,c,u,l[t+4],7,4118548399),u=Ze(u,o,a,c,l[t+5],12,1200080426),c=Ze(c,u,o,a,l[t+6],17,2821735955),a=Ze(a,c,u,o,l[t+7],22,4249261313),o=Ze(o,a,c,u,l[t+8],7,1770035416),u=Ze(u,o,a,c,l[t+9],12,2336552879),c=Ze(c,u,o,a,l[t+10],17,4294925233),a=Ze(a,c,u,o,l[t+11],22,2304563134),o=Ze(o,a,c,u,l[t+12],7,1804603682),u=Ze(u,o,a,c,l[t+13],12,4254626195),c=Ze(c,u,o,a,l[t+14],17,2792965006),a=Ze(a,c,u,o,l[t+15],22,1236535329),o=Ye(o,a,c,u,l[t+1],5,4129170786),u=Ye(u,o,a,c,l[t+6],9,3225465664),c=Ye(c,u,o,a,l[t+11],14,643717713),a=Ye(a,c,u,o,l[t+0],20,3921069994),o=Ye(o,a,c,u,l[t+5],5,3593408605),u=Ye(u,o,a,c,l[t+10],9,38016083),c=Ye(c,u,o,a,l[t+15],14,3634488961),a=Ye(a,c,u,o,l[t+4],20,3889429448),o=Ye(o,a,c,u,l[t+9],5,568446438),u=Ye(u,o,a,c,l[t+14],9,3275163606),c=Ye(c,u,o,a,l[t+3],14,4107603335),a=Ye(a,c,u,o,l[t+8],20,1163531501),o=Ye(o,a,c,u,l[t+13],5,2850285829),u=Ye(u,o,a,c,l[t+2],9,4243563512),c=Ye(c,u,o,a,l[t+7],14,1735328473),a=Ye(a,c,u,o,l[t+12],20,2368359562),o=Qe(o,a,c,u,l[t+5],4,4294588738),u=Qe(u,o,a,c,l[t+8],11,2272392833),c=Qe(c,u,o,a,l[t+11],16,1839030562),a=Qe(a,c,u,o,l[t+14],23,4259657740),o=Qe(o,a,c,u,l[t+1],4,2763975236),u=Qe(u,o,a,c,l[t+4],11,1272893353),c=Qe(c,u,o,a,l[t+7],16,4139469664),a=Qe(a,c,u,o,l[t+10],23,3200236656),o=Qe(o,a,c,u,l[t+13],4,681279174),u=Qe(u,o,a,c,l[t+0],11,3936430074),c=Qe(c,u,o,a,l[t+3],16,3572445317),a=Qe(a,c,u,o,l[t+6],23,76029189),o=Qe(o,a,c,u,l[t+9],4,3654602809),u=Qe(u,o,a,c,l[t+12],11,3873151461),c=Qe(c,u,o,a,l[t+15],16,530742520),a=Qe(a,c,u,o,l[t+2],23,3299628645),o=Je(o,a,c,u,l[t+0],6,4096336452),u=Je(u,o,a,c,l[t+7],10,1126891415),c=Je(c,u,o,a,l[t+14],15,2878612391),a=Je(a,c,u,o,l[t+5],21,4237533241),o=Je(o,a,c,u,l[t+12],6,1700485571),u=Je(u,o,a,c,l[t+3],10,2399980690),c=Je(c,u,o,a,l[t+10],15,4293915773),a=Je(a,c,u,o,l[t+1],21,2240044497),o=Je(o,a,c,u,l[t+8],6,1873313359),u=Je(u,o,a,c,l[t+15],10,4264355552),c=Je(c,u,o,a,l[t+6],15,2734768916),a=Je(a,c,u,o,l[t+13],21,1309151649),o=Je(o,a,c,u,l[t+4],6,4149444226),u=Je(u,o,a,c,l[t+11],10,3174756917),c=Je(c,u,o,a,l[t+2],15,718787259),a=Je(a,c,u,o,l[t+9],21,3951481745),o=We(o,r),a=We(a,n),c=We(c,s),u=We(u,i);return Ge(o)+Ge(a)+Ge(c)+Ge(u)}const et=e=>{if("string"!=typeof e&&!(e instanceof Uint8Array))return"";return Xe("string"==typeof e?Re.toUtf8Bytes(e):e)};var tt={md5:et,md5Base64:e=>{const t=et(e);if(!t)return"";const r=Ne.hex2bytes(t);return Ue.bytesToBase64(r)}};const rt=(e,t=!1)=>{const r=new Uint8Array(e);return t?Ue.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var nt={...Ne,...He,...Re,...Ue,...tt,str2ab:(e="",t=!1)=>{if(t)return Ue.base64ToBytes(e).buffer;{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t}},ab2str:rt,utf8ToBase64:e=>he.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>he.isBrowser?atob(e):Buffer.from(e,"base64").toString("utf-8"),getRandomBytes:e=>{const t=new Uint8Array(e);for(let r=0;r<e;r++)t[r]=ze.random(256);return t},textEncode:e=>Re.toUtf8Bytes(e),textDecode:e=>Re.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+Ue.toBase64(e):he.isArrayBuffer(e)?`data:${t};base64,`+rt(e,!0):"":""};const st=e=>{try{const t=nt.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},it=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var ot={RSAPublicKey:"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApiLWsPmoaiGdr02AmPYS\n4/VgxyJNNJSK2VICirXl4P8qAP3b/6GIs7Hwnsmmuj7gledJ0XiZodFjDNgQEZEG\nj4K9KX8NixcrJwnTQV5UebiERdj+64ihwqPVWo9dIOj43ZPJ8f4dritJv5tnQaBb\nb9zTkU3Ofzk1g8RU00Ith6quOGZcU2IWC4OQ+5YiZvzrCBKEvjFwK2OvGq43tI51\nGaZdI9H09jisypqefsMvv6esjEQQOtl+WGlI5fof7KZUt3dppvuDI4CYgeXIoKKL\n9T9qDl8F9aNSs3XHx32YyA7L1FraFD6PjqRjueIFp2emsXQcIMeMqqgVyV+4qb+0\nuwIDAQAB",RSAPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmItaw+ahqIZ2v\nTYCY9hLj9WDHIk00lIrZUgKKteXg/yoA/dv/oYizsfCeyaa6PuCV50nReJmh0WMM\n2BARkQaPgr0pfw2LFysnCdNBXlR5uIRF2P7riKHCo9Vaj10g6Pjdk8nx/h2uK0m/\nm2dBoFtv3NORTc5/OTWDxFTTQi2Hqq44ZlxTYhYLg5D7liJm/OsIEoS+MXArY68a\nrje0jnUZpl0j0fT2OKzKmp5+wy+/p6yMRBA62X5YaUjl+h/splS3d2mm+4MjgJiB\n5cigoov1P2oOXwX1o1KzdcfHfZjIDsvUWtoUPo+OpGO54gWnZ6axdBwgx4yqqBXJ\nX7ipv7S7AgMBAAECggEAE1kuWLkSsJ2OoDpt9iJ+a7cJmNd5V1zPWOTwr9fkWFJP\nQYNPKlPVOFxKUivY84rcHAkuMyuQ9OQOXZISOQGDWpZW0mzeFmtR1r+Rr2S9gNmI\n6huOAL9OW306HUxiA7GuPhv2omy+Zyjac2q1WVLEI2B78Um2+WEfxuNIH7xu0gRR\nz/wluevMBQlv6hSeMESP6e9s2kB+FuM4bL7+1sexwS1TudKbHybujaiB8un9E2V3\nC9BkE6yf00Rhvii6Q4E4w3PFQfcBEFnjOD0S2Watx8GIbYjlYvtquy8Yj7OtyZB6\nw5sxyaYhKVVnkpGAbOgaCj94ABYF47VuwXr45I4PzQKBgQDp6svzD+QKlARjcWgO\nrH7UEpFX6m49G6Ib4c63xEg9+GesTgfDxoYxtXDKsC7I8OwMrmffJGbyfjaAvzmg\nicM3Y7kF6UPO9+q2mBRsyhoJSNONTeUVyoFSc+QDsVgndlTZIjqC5XLrONGaSPLJ\n7jJzqKhp3NQcpO8+xY0d7Efm1QKBgQC10fCNuF1LUTYgsWvvGxTiCCAIBurZmHU+\nGMb2Okfoco/P+QNl1jEba91AC7FudW3g/lRn0vTnDajlNoz2/CKunrTKN4/9lEBI\ntiwEOvhc5FtapRifSfrrNwFqPM+LijvOkcteWVhAUWCEP1eLmpnXGqfmZxnTaaVe\n5DyDgyAVTwKBgQDhEawfOQEANJ9sV2f6BnsZ7quuXcCoR3hZP5G5O8EO735BSesq\nsk/YcG4QeCjr6vQU15LWH552YH5srpHyJ9uP5gHW8DTwZZaPDhFJA8S9fjcfVP3B\nU9HO1fdknjTl83N8YPTPkZpbPZZfzyTcqrYclwFEqtfkn8YbLdW0Hu6n6QKBgDEv\njvS3uD1ExfDILlurptWSvx+Mx4F/1c+roj8/+u3t9+uaAIpPDE/PuTW3NBOens/r\n3WeM0QWkU1lWjYHPKY61jlDaARDnRxCkf3nRfhibCf+Wg/erar6wzagwtTCZf55d\nIHfwkYgsu4BrJkK02wMuydbxczIW9U6bTaeCFG7PAoGAN3oHYzTEBwZ7ZKv11QiQ\nEp/HeHBvD8fH/e1uVyBel4Co7NO5pV2s8qjS8+3+jxumKLNXCirjqwHo03YCdzxi\ncy4GFDsukHmDQ7FF9VC4QV0fJ0F7jGYE9nNZ+K9qwS5KrihOSBPxj0HptrF6TSOw\nBTSwr0byL3TC0m0StkSNKpo=",generateKeys:async e=>{try{const t=await e.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),r=await window.crypto.subtle.exportKey("spki",t.publicKey),n=st(r),s=it(n,"PUBLIC KEY"),i=await window.crypto.subtle.exportKey("pkcs8",t.privateKey),o=st(i);return{publicKey:n,publicKeyPem:s,privateKey:o,privateKeyPem:it(o,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:it,format_pem_content:st,encrypt:async(e,t,r)=>{try{const n=(new TextEncoder).encode(t),s=await e.importKey("spki",nt.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),i=[];for(let t=0;t<n.length;t+=190){let r=n.slice(t,t+190),o=await e.encrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(o))}const o=nt.concatBytes(...i);return nt.bytesToBase64(o)}catch(e){return console.error("[debug] encrypt",e),""}},decrypt:async(e,t,r)=>{try{const n=nt.base64ToBytes(t),s=await e.importKey("pkcs8",nt.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"]),i=[],o=256;for(let t=0;t<n.length;t+=o){let r=n.slice(t,t+o),a=await e.decrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(a))}const a=nt.concatBytes(...i);return(new TextDecoder).decode(a)}catch(e){return console.error("decrypt failed:",e),""}}};const at=()=>l.default.webcrypto.subtle;var ct={generateKeys:()=>ot.generateKeys(at()),encrypt:async(e,t)=>ot.encrypt(at(),e,t),decrypt:async(e,t)=>ot.decrypt(at(),e,t),encode:async e=>ot.encrypt(at(),e,ot.RSAPublicKey),decode:async e=>ot.decrypt(at(),e,ot.RSAPrivateKey)};const ut="undefined"!=typeof window?window.crypto.subtle:{};var lt={generateKeys:()=>ot.generateKeys(ut),encrypt:async(e,t)=>ot.encrypt(ut,e,t),decrypt:async(e,t)=>ot.decrypt(ut,e,t),encode:async e=>ot.encrypt(ut,e,ot.RSAPublicKey),decode:async e=>ot.decrypt(ut,e,ot.RSAPrivateKey)};const ht=2654435769,ft=(e,t)=>{let r=0;for(let n=0;n<32;n++)r=r+ht>>>0,e[0]=e[0]+((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,e[1]=e[1]+((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0;return e},dt=(e,t)=>{let r=3337565984;for(let n=0;n<32;n++)e[1]=e[1]-((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0,e[0]=e[0]-((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,r=r-ht>>>0;return e},pt=e=>{const t=nt.str2bytes(e),r=new Uint32Array(4);return r[0]=t[0]<<24|t[1]<<16|t[2]<<8|t[3],r[1]=t[4]<<24|t[5]<<16|t[6]<<8|t[7],r[2]=t[8]<<24|t[9]<<16|t[10]<<8|t[11],r[3]=t[12]<<24|t[13]<<16|t[14]<<8|t[15],r},gt=(e,t)=>{const r=nt.pkcs7Padding(e,8),n=pt(t),s=[];for(let e=0;e<r.length;e+=8){const t=nt.bytesToUint32(r.slice(e,e+8)),i=ft(t,n);s.push(nt.uint32ToBytes(i))}return nt.concatBytes(...s)},yt=(e,t)=>{const r=pt(t),n=[];for(let t=0;t<e.length;t+=8){const s=nt.bytesToUint32(e.slice(t,t+8)),i=dt(s,r);n.push(nt.uint32ToBytes(i))}const s=nt.concatBytes(...n);return nt.pkcs7Unpadding(s)};var mt={TEAKey:"33576f37387276645054657a6831686e454664424e5652456f47794835795942",encrypt:ft,decrypt:dt,toTeaKey:pt,encode:(e,t)=>{const r=nt.textEncode(e),n=gt(r,t);return nt.bytesToBase64(n)},decode:(e,t)=>{const r=nt.base64ToBytes(e),n=yt(r,t);return nt.textDecode(n.buffer)},encodeBytes:gt,decodeBytes:yt};function wt(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 bt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function _t(e){return bt.test(e)}const vt="\\ud800-\\udfff",xt=`[${vt}]`,St="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",At="\\ud83c[\\udffb-\\udfff]",kt=`[^${vt}]`,Ct="(?:\\ud83c[\\udde6-\\uddff]){2}",$t="[\\ud800-\\udbff][\\udc00-\\udfff]",Ot=`${`(?:${St}|${At})`}?`,Et="[\\ufe0e\\ufe0f]?",jt=Et+Ot+`(?:\\u200d(?:${[kt,Ct,$t].join("|")})${Et+Ot})*`,Pt=`(?:${[`${kt}${St}?`,St,Ct,$t,xt].join("|")})`,Tt=RegExp(`${At}(?=${At})|${Pt+jt}`,"g");function qt(e){return _t(e)?function(e){return e.match(Tt)||[]}(e):function(e){return e.split("")}(e)}function Bt(e){return t=>{if(!t)return"";const r=_t(t)?qt(t):void 0,n=r?r[0]:t[0],s=r?wt(r,1).join(""):t.slice(1);return n[e]()+s}}const Lt="\\ud800-\\udfff",Ft="\\u2700-\\u27bf",Rt="a-z\\xdf-\\xf6\\xf8-\\xff",It="A-Z\\xc0-\\xd6\\xd8-\\xde",Ut="\\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",Dt="['’]",Mt=`[${Ut}]`,Kt=`[${Ft}]`,zt=`[${Rt}]`,Nt=`[^${Lt}${Ut+"\\d"+Ft+Rt+It}]`,Ht="(?:\\ud83c[\\udde6-\\uddff]){2}",Vt="[\\ud800-\\udbff][\\udc00-\\udfff]",Wt=`[${It}]`,Zt=`(?:${zt}|${Nt})`,Yt=`(?:${Wt}|${Nt})`,Qt=`(?:${Dt}(?:d|ll|m|re|s|t|ve))?`,Jt=`(?:${Dt}(?:D|LL|M|RE|S|T|VE))?`,Gt="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Xt="[\\ufe0e\\ufe0f]?",er=Xt+Gt+`(?:\\u200d(?:${[`[^${Lt}]`,Ht,Vt].join("|")})${Xt+Gt})*`,tr=`(?:${[Kt,Ht,Vt].join("|")})${er}`,rr=RegExp([`${Wt}?${zt}+${Qt}(?=${[Mt,Wt,"$"].join("|")})`,`${Yt}+${Jt}(?=${[Mt,Wt+Zt,"$"].join("|")})`,`${Wt}?${Zt}+${Qt}`,`${Wt}+${Jt}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",tr].join("|"),"g");const nr=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 ]/),sr=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function ir(e,t){if(void 0===t){const t=nr(e)?function(e){return e.match(rr)}(e):function(e){return e.match(sr)}(e);return t||[]}return e.match(t)||[]}function or(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:or(e)))}`;if(he.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const ar=Bt("toUpperCase"),cr=Bt("toLowerCase");var ur={toString:or,startCase:e=>ir(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+ar(t)),""),snakeCase:e=>ir(or(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>ir(or(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>ir(or(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?ar(t):t))),""),upperCase:e=>ir(or(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:ar,lowerCase:e=>ir(or(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:cr,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r},jsonFormat:e=>{try{if(!e)return"";const t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(t){return e}},toLines:(e,t="\n")=>e?e.split(t).map((e=>e.trim())).filter((e=>!!e)):[]};var lr={logString:e=>{try{const t=JSON.stringify(e);return void 0===t?"":mt.encode(t,nt.hex2str(mt.TEAKey))}catch(e){return""}},logParse:e=>{try{if(!e)return"";const t=mt.decode(e,nt.hex2str(mt.TEAKey));return ur.jsonFormat(t)}catch(e){return""}},logRString:async e=>{try{const t=JSON.stringify(e);if(void 0===t)return"";return he.isBrowser?await lt.encode(t):await ct.encode(t)}catch(e){return""}},logRParse:async e=>{try{if(!e)return"";const t=he.isBrowser?await lt.decode(e):await ct.decode(e);return ur.jsonFormat(t)}catch(e){return""}}};const hr=(e,t,r)=>e*(1-r)+t*r,fr=(e,t,r)=>e===t?0:(r-e)/(t-e),dr=(e,t,r)=>({x:hr(e.x,t.x,r),y:hr(e.y,t.y,r)}),pr=(e,t,r,n)=>{const s=dr(e,t,n),i=dr(t,r,n);return dr(s,i,n)},gr=(e,t)=>{if(1===e.length)return e[0];const r=[];for(let n=0;n<e.length-1;n++)r.push({x:(1-t)*e[n].x+t*e[n+1].x,y:(1-t)*e[n].y+t*e[n+1].y});return gr(r,t)},yr=(e,t)=>{if(0===t||t===e)return 1;let r=1;for(let n=1;n<=t;n++)r=r*(e-n+1)/n;return r};var mr={bezier1:dr,bezier2:pr,bezier3:(e,t,r,n,s)=>{const i=pr(e,t,r,s),o=pr(t,r,n,s);return dr(i,o,s)},bezier:gr,bezierCurve:(e,t)=>{const r=e.length-1;let n=0,s=0;for(let i=0;i<=r;i++){const o=yr(r,i)*Math.pow(1-t,r-i)*Math.pow(t,i);n+=o*e[i].x,s+=o*e[i].y}return{x:n,y:s}},lerp:hr,lerpAverage:(e,t,r="")=>{if(e.length<=0)return 0;if(1===e.length)return e[0].x;if(2===e.length)return hr(e[0].y,e[1].y,.5);const n=[],s=e.slice().sort(((e,t)=>e.x-t.x)),i=s.length,o=s[0].x,a=s[i-1].x;for(let e=o;e<=a;e+=t){let t=0;for(let n=0;n<i-1;n++){const i=s[n],o=s[n+1];if(e>=i.x&&e<=o.x){if("lerp"===r){const r=fr(i.x,o.x,e);t=dr(i,o,r).y}else t=i.y;break}}e>s[i-1].x&&(t=s[i-1].y),n.push(t)}return n.reduce(((e,t)=>e+t),0)/n.length},proportion:fr};var wr={...Pe,...lr,...mr,sleep:Pe.delay,run:async function(e,t=0){if(t<=0)return Pe.safeRun(e);const r=t>0?Date.now():0,n=await Pe.safeRun(e),s=Date.now()-r;return s<t&&await Pe.delay(t-s),n},exec:(e,t="")=>Fe.I.exec(e,t),debounce:Ce,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return he.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),Ce(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new $e(e),mutex:function(e){var t=null;return async function(...r){if((t=this||t||{}).__ddMutex)return!1;t.__ddMutex=!0;try{e&&await Promise.resolve(e.apply(this,r))}catch(e){console.log(e)}finally{t.__ddMutex=!1}}},polling:async function(e={}){const{func:t,interval:r=100,times:n=1e3}=e;let s=n;const i=r<1?100:r;do{if(!t)break;const[e,r]=await Pe.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await Pe.delay(i)}while(-1===n||s>0)},pipe:(e,t)=>Fe.I.pipeline.push(e,t),pipeline:(e=1)=>new Le(e),safeTask:(e,t)=>new Be(e,t)};function br(e){return e!=e}function _r(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 vr,xr,Sr=(vr=Object.keys,xr=Object,function(e){return vr(xr(e))}),Ar=Math.max;function kr(e,t){var r=he.isArray(e)||he.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&&!D.hasOwnProperty.call(e,i)||s&&("length"==i||he.isIndex(i,n))||r.push(i);return r}const Cr=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]=Cr(e[r]));return t};const $r=(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]=Or(e[o],a,r)}return n},Or=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?$r(e,t,r):$r({...e},t,r),n},Er=(e,t,r={})=>$r({...e},t,{cover:!0,...r}),jr=(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=>{jr(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&jr(e,t,r,n,s)},get:()=>i})};var Pr={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:ur.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const c=r[e];t.ignoreNull&&null===c||(t.ignoreZero&&0===c||t.ignoreEmptyArray&&Array.isArray(c)&&c.length<=0||t.ignoreEmptyString&&"string"==typeof c&&""===c.trim()||(o[a]=c))}return o},clone:Cr,merge:Or,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]=ur.parseValue(n,{number:t,boolean:r});else e[n]=ur.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:Er,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:i=!0,ignoreEmptyArray:o=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=Er(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:jr,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};var Tr={...he,...D,...Pr,...qe,includes:function(e,t,r,n){e=he.isArrayLike(e)?e:function(e){return e?_r(e,function(e){return he.isArrayLike(e)?kr(e):function(e){if(!he.isPrototype(e))return Sr(e);var t=[];for(var r in Object(e))D.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?xe.toInteger(r):0;var s=e.length;return r<0&&(r=Ar(s+r,0)),he.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,br,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(he.isObject(e)&&(r=he.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var qr={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 Br={...qr,stepAction:function(e,t,r=100){if(!he.isFunction(t))return;if(!he.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(!he.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!he.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!he.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return ze.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!he.isObject(e))return;const s=e[t];(he.isString(s)&&""!==s||he.isNumber(s))&&(n[s]=e[r])})),n):n}};const Lr="[object Object]",Fr="[object Array]",Rr=e=>Object.prototype.toString.call(e),Ir=(e,t,r=!1)=>{if(e===t)return;const n=Rr(e);if(n===Rr(t))if(n===Fr&&e.length>=t.length)for(let r=0;r<t.length;r++)Ir(e[r],t[r]);else if(n===Lr&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?Ir(e[n],t[n]):e[n]=null},Ur=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=Rr(e),o=Rr(t);if(i===Fr&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)Ur(e[s],t[s],r,`${n}[${s}]`);else if(i===Lr&&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=Rr(s),c=Rr(o);if(s!==o)if(a===Fr&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)Ur(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===Lr&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)Ur(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class Dr{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 Mr{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new Dr,response:new Dr};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){Mr.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Mr.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=Pr.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(Mr.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await Mr.requestLock[Mr.blockId].request;else if(Mr.requestLock[Mr.blockId]&&Mr.requestLock[Mr.blockId].lock&&await Mr.requestLock[Mr.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Mr.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await Mr.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 Kr=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var zr={diff:function(e,t){const r={};return(e=>{if(Rr(e)===Lr)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];Rr(n[t])!==Lr&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),Ir(e,t,!0),Ur(e,t,r,"",!0),r},promixify:Kr,run:(e,t={})=>e?wr.run(Kr(e)(t)):wr.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:Mr,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,i=n.split(".");for(let e=0;e<i.length-1;e++)s=s[i[e]];let o=i[i.length-1],a=r[n].handler||r[n],c=r[n].deep;Pr.observe(s,o,a,e,c)}))}};const Nr=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const c={};if("string"!=typeof e||0===e.length)return c;const u=/\+/g,l=n||1e3;let h=(e=e.split(t)).length;l>0&&h>l&&(h=l);for(let t=0;t<h;++t){let n,o,a,l,h=e[t].replace(u,"%20"),f=h.indexOf(r);f>=0?(n=h.substr(0,f),o=h.substr(f+1)):(n=h,o=""),a=i?decodeURIComponent(n):n,l=i?decodeURIComponent(o):o,D.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(l):c[a]=[c[a],l]:c[a]=l}return Pr.parseValue(c,{number:o,boolean:a}),c},Hr=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},Vr=function(e,t=!0){return t?encodeURIComponent(e):e},Wr=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},Zr=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,Yr=e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/),n=r?r[1]:"",s=t.lastIndexOf("/")+1,i=t.substring(s),o=i.lastIndexOf("."),a=i.substring(0,o)||"",c=o>=0?i.substring(o):"";return{route:t.substring(0,s)||"",page:n,name:i,withoutExtension:a,extname:c}},Qr=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(Zr);if(!r||r.length<4)return t;const n=r[3]||"",s=e.split("?");return t.url=s[0],t.origin=r[0],t.protocol=`${r[1]}:`,t.host=`${r[2]}${n?":"+n:""}`,t.port=n,t.query=s.length>1?s[1]:"",t},Jr=(e,t)=>{if(e===t)return!0;if(!e)return!1;if(!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var Gr={parse:Nr,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:i=!1,cleanNull:o=!1,cleanWhitespace:a=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const c=Vr(Hr(n),s)+r,u=e[n];return Array.isArray(u)?u.map((function(e){return c+Vr(Hr(e),s)})).join(t):Wr(u,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+Vr(Hr(u),s)})).filter(Boolean).join(t):n?Vr(Hr(n),s)+r+Vr(Hr(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=Qr(e),{origin:r="",url:n="",query:s=""}=t,i=Yr(n),o=Nr(s,{multiple:!0,uri:!1});return{...t,...i,pathname:n.substring(n.indexOf(r||"")+r.length),params:o}},parsePath:Yr,parseHost:Qr,join:(...e)=>{const t=[];let r=!1;return e.forEach((e=>{const n=e.trim();if(""===n)return;if(/^(\w+):\/\//.test(n))return t.length=0,t.push(n),void(r=!0);n.split("/").forEach((e=>{"."!==e&&""!==e&&(".."===e?t.length>0&&".."!==t[t.length-1]?t.pop():r||t.push(".."):t.push(e))}))})),t.join("/")},shExpMatch:Jr,isLocalIpAddress:e=>!!e&&!!(Jr(e,"127.0.0.1")||Jr(e,"localhost")||Jr(e,"192.168.*.*"))};const Xr=/%[sdj%]/g;let en=()=>{};function tn(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 rn(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(Xr,(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 nn(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 sn(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&&(en=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class on extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function an(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);sn(o,r,(e=>(n(e),e.length?i(new on(e,tn(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.length;let c=0;const u=[],l=new Promise(((t,l)=>{const h=e=>{if(u.push.apply(u,e),c++,c===a)return n(u),u.length?l(new on(u,tn(u))):t(s)};o.length||(n(u),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?sn(n,r,h):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,h)}))}));return l.catch((e=>e)),l}function cn(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 un(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 ln=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!nn(t,i||e.type)||n.push(rn(s.messages.required,e.fullField))};let hn;const fn=/^(([^<>()\[\]\\.,;:\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,}))$/,dn=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,pn={integer:e=>pn.number(e)&&parseInt(e,10)===e,float:e=>pn.number(e)&&!pn.integer(e),array:e=>Array.isArray(e),regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:e=>"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime()),number:e=>!isNaN(e)&&"number"==typeof e,object:e=>"object"==typeof e&&!pn.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(fn),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(hn)return hn;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),c.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const u=c.v4().source,l=c.v6().source;return hn=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${u}|${l}|(?:(?:[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"),hn})()),hex:e=>"string"==typeof e&&!!e.match(dn)},gn="enum";var yn={required:ln,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(rn(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void ln(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?pn[i](t)||n.push(rn(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(rn(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let u=t,l="";const h="number"==typeof t,f="string"==typeof t,d=Array.isArray(t);if(h?l="number":f?l="string":d&&(l="array"),!l)return!1;d&&(u=t.length),f&&(u=t.replace(c,"_").length),i?u!==e.len&&n.push(rn(s.messages[l].len,e.fullField,e.len)):o&&!a&&u<e.min?n.push(rn(s.messages[l].min,e.fullField,e.min)):a&&!o&&u>e.max?n.push(rn(s.messages[l].max,e.fullField,e.max)):o&&a&&(u<e.min||u>e.max)&&n.push(rn(s.messages[l].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[gn]=Array.isArray(e[gn])?e[gn]:[],-1===e[gn].indexOf(t)&&n.push(rn(s.messages[gn],e.fullField,e[gn].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(rn(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(rn(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const mn=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(nn(t,i)&&!e.required)return r();yn.required(e,t,n,o,s,i),nn(t,i)||yn.type(e,t,n,o,s)}r(o)};var wn={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(nn(t,"string")&&!e.required)return r();yn.required(e,t,n,i,s,"string"),nn(t,"string")||(yn.type(e,t,n,i,s),yn.range(e,t,n,i,s),yn.pattern(e,t,n,i,s),!0===e.whitespace&&yn.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(nn(t)&&!e.required)return r();yn.required(e,t,n,i,s),void 0!==t&&yn.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),nn(t)&&!e.required)return r();yn.required(e,t,n,i,s),void 0!==t&&(yn.type(e,t,n,i,s),yn.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(nn(t)&&!e.required)return r();yn.required(e,t,n,i,s),void 0!==t&&yn.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(nn(t)&&!e.required)return r();yn.required(e,t,n,i,s),nn(t)||yn.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(nn(t)&&!e.required)return r();yn.required(e,t,n,i,s),void 0!==t&&(yn.type(e,t,n,i,s),yn.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(nn(t)&&!e.required)return r();yn.required(e,t,n,i,s),void 0!==t&&(yn.type(e,t,n,i,s),yn.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();yn.required(e,t,n,i,s,"array"),null!=t&&(yn.type(e,t,n,i,s),yn.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(nn(t)&&!e.required)return r();yn.required(e,t,n,i,s),void 0!==t&&yn.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(nn(t)&&!e.required)return r();yn.required(e,t,n,i,s),void 0!==t&&yn.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(nn(t,"string")&&!e.required)return r();yn.required(e,t,n,i,s),nn(t,"string")||yn.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(nn(t,"date")&&!e.required)return r();if(yn.required(e,t,n,i,s),!nn(t,"date")){let r;r=t instanceof Date?t:new Date(t),yn.type(e,r,n,i,s),r&&yn.range(e,r.getTime(),n,i,s)}}r(i)},url:mn,hex:mn,email:mn,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;yn.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(nn(t)&&!e.required)return r();yn.required(e,t,n,i,s)}r(i)}};function bn(){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 _n=bn();class vn{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");wn[e]=t};static warning=en;static messages=_n;static validators=wn;rules={};_messages=_n;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=un(bn(),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===_n&&(e=bn()),un(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 an(o,s,((e,t)=>{const r=e.rule;let i,o=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function c(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function u(i=[]){let u=Array.isArray(i)?i:[i];!0===s.suppressWarning&&u.length&&vn.warning("async-validator:",u),u.length&&void 0!==r.message&&(u=[].concat(r.message));let l=u.map(cn(r,n));if(s.first&&l.length)return a[r.field]=1,t(l);if(o){if(r.required&&!e.value)return void 0!==r.message?l=[].concat(r.message).map(cn(r,n)):s.error&&(l=[s.error(r,rn(s.messages.required,r.field))]),t(l);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(c.bind(null,e))}));const a=new vn(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=[];l&&l.length&&r.push(...l),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(l)}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=tn(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&&!wn.hasOwnProperty(e.type))throw new Error(rn("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]?wn.required:wn[this.getType(e)]||void 0}}function xn(e){return new vn(e)}var Sn={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:xn,validate:function(e,t,r={},n=(()=>{})){return wr.run(xn(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 An={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 kn=e=>Ue.toBase64(e);var Cn={encode:kn,decode:e=>Ue.fromBase64(e),encodeByOss:e=>kn(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var $n={..._,base64:Cn,tea:mt,uuid:v,guid:(e,t=!1,r="")=>{const n=v(e||32);return t?E.now().format("yyyyMMddhhmmss")+r+n:n},getHexString:e=>{const t=_.keyChars;let r="";const n=t.length;for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*n));return r}};const On=e=>{if(!e)return"";if(!Tr.isObject(e))return"";let t="";return Tr.forof(e,((e,r)=>{r&&(t+=`${ur.kebabCase(e)}:${r};`)})),t},En=["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"],jn=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],Pn=(e,t="px")=>e&&t?"0"===e?e:Sn.isFloat(e.toString())?`${e}${t}`:e:e;var Tn={stringify:On,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Gr.parse(e,{sep:";",eq:":",uri:!1}),s={};return Tr.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:ur.camelCase(e):e;Sn.isFloat(n)||n.length>=2&&n.startsWith(".")&&Sn.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:Pn,style:(e,t="px")=>{if(!e)return"";const r=Tr.copy(e,{fields:En});Tr.forof(r,((e,n)=>{(jn.includes(e)||jn.includes(ur.camelCase(e)))&&(r[e]=Pn(n,t))}));return On(r)},commonFields:En};const qn=(e,t="",r=!1)=>{try{if(!e)return;const n=Gr.parseUrl(e),s=t||n.name;if(!t||!r||!n.origin||n.origin===window.location.origin)((e,t)=>{try{const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}catch(t){console.error(`[ddan] _downloadUrl ${e}`,t)}})(e,s);else{const t=n.params;t.t=Date.now();const r=`${n.url}?${Gr.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){Bn(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},Bn=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;qn(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},Ln=e=>{try{const t=document.createElement("textarea");document.body.appendChild(t),t.style.position="fixed",t.style.clip="rect(0 0 0 0)",t.style.top="10px",t.style.opacity="0",t.value=e??"",t.select();const r=document.execCommand("copy");return document.body.removeChild(t),r}catch(e){return console.error("[ddan] copyText",e),!1}},Fn=(e,t="denied")=>new Promise((r=>{const n=navigator?.permissions;if(!n||!n.query)return r(t);const s={name:e};n.query(s).then((e=>r(e.state))).catch((()=>r(t)))})),Rn=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e,In=(e,t)=>{if(!e||!t)return[];const r=[];let n;for(;null!==(n=t.exec(e));)r.push(n[1]);return r};var Un={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:qn,download:(e,t="")=>{e&&("string"!=typeof e?Bn(e,t):qn(e,t))},downloadFile:Bn,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();qn(s,t)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.error("[ddan] downloadImage",e)}return Promise.resolve()},watermark:(e,{width:t=400,height:r=300,angle:n=0,fillStyle:s="rgba(0, 0, 0, 0.2)",font:i="16px Arial",textAlign:o="left",textBaseline:a="middle"}={})=>{try{if(!e)return"";const c=document.createElement("canvas");c.width=t,c.height=r;const u=c.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,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}},copyText:(e,t=!1)=>new Promise((r=>{!t&&navigator.clipboard?Fn("clipboard-write").then((t=>{Rn(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(Ln(e)))):r(Ln(e))})).catch((()=>{r(Ln(e))})):r(Ln(e))})),queryPermission:Fn,isAllowed:Rn,legacyCopy:Ln,takeHtmlLinks:e=>{if(!e)return[];const t=[];return[/<script[^>]+src="([^"]+)"/g,/<link[^>]+rel="stylesheet"[^>]+href="([^"]+)"/g,/<link[^>]+rel="icon"[^>]+href="([^"]+)"/g].forEach((r=>{const n=In(e,r);t.push(n)})),[].concat(...t)},takeHtml:In};var Dn={ossImage:(e,t={})=>{if(!e)return e;const r=Gr.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=Br.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=Gr.parseUrl(e).url,n=["snapshot"],{m:s="fast",f:i="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`},ossBase64:e=>Ue.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const Mn=({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 Kn(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function zn(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(Tr.isPlainObject(e)){const r=Gr.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 Nn{host="";reqConfig={};handleError;interceptors={request:new Dr,response:new Dr};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(zn),this.interceptors.response.use(e.handleResponse||Kn),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){Nn.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Nn.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=Tr.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(Nn.blockId,(()=>Mn(s))),i=await Nn.requestLock[Nn.blockId].request;else if(Nn.requestLock[Nn.blockId]&&Nn.requestLock[Nn.blockId].lock&&await Nn.requestLock[Nn.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Nn.requestLock[e]||this.lockR(e,(()=>Mn(s))),i=await Nn.requestLock[e].request,this.unlockR(e)}else i=await Mn(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const Hn={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},Vn=e=>(...t)=>{const r=console[e];Hn.overrode?r(...t):Wn(r,e,...t)},Wn=(e,t,...r)=>{const n=E.format(new Date,Hn.format),s=Hn.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 Zn={override:()=>{if(Hn.overrode)return;Hn.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{Wn(t,e,...r)}}))},log:Vn("log"),info:Vn("info"),warn:Vn("warn"),error:Vn("error"),config:({tag:e=Hn.tag,format:t=Hn.format}={})=>{Hn.tag=e,Hn.format=t}};var Yn={getDataURL:(e,t)=>{const r={contentType:"",dataUrl:""};return Pe.to(fetch(e,{cache:t}).then((e=>(r.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(r.dataUrl=`data:${r.contentType};base64,`+nt.ab2str(e,!0),r))))},getArrayBuffer:async(e,t)=>Pe.to(fetch(e,{cache:t}).then((e=>e.arrayBuffer()))),getJson:async(e,t)=>Pe.to(fetch(e,{cache:t}).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=ze.float(100*i/n,{digits:2});t?.progress&&t?.progress(a,i,n)}const a=new Uint8Array(i);let c=0;for(const e of o)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)})))),getText:async(e,t)=>Pe.to(fetch(e,{cache:t}).then((e=>e.text()))),cache:async(e,t="force-cache")=>Pe.to(fetch(e,{cache:t}).then((()=>!0)))};const Qn=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,${Cn.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}`}},Jn=(e,t,r)=>({key:e,fields:t,storage:r});class Gn{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=wr.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=Pr.copy(e,{fields:this.fields});this.save(r)}}class Xn extends x{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!he.isFunction(n))return;const[,s]=await wr.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=Pr.copy(t);else{const[,t]=await wr.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){he.isObject(t)&&(t=Pr.copy(t)),this[e]=t}}const es=(e,t)=>{const r=Object.assign(new Xn,e||{});r.__persist=new Gn(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 he.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(he.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 ts{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Gr.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Gr.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=$n.base64.encodeByOss(n),i=Gr.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=$n.base64.encodeByOss(e),i=Gr.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const rs=(e,t)=>new ts(e,t);class ns{__list=[];constructor(){this.clear()}add(e){const t=wr.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 ss=new class{state=es(new Xn);frame=new S;cache=new Map;cacheTime=new Map;setCache=(e,t)=>null!=t&&(!!e&&(this.cache.set(e,t),this.cacheTime.set(e,Date.now()),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};getCacheTime=e=>e&&this.cacheTime.get(e)||0;removeCache=e=>{e&&(this.cache.delete(e),this.cacheTime.delete(e))};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),i=this.getCache(s)||{},o=Date.now(),a=i[e],c={time:o,count:1,cycle:n};return a&&("day"!==n||E.isToday(a.time||0))&&(c.count=1+(a.count||0)),i[e]=c,this.setCache(s,i),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===i&&!E.isToday(c.time||0))return!0;if(r<=(c.count||0))return!1;return!(Date.now()-(c.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=Tr.copy(r);Tr.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||E.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new ns};class is{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=v(),this.start=Date.now(),this.timeStartDesc=E.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=E.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const os=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 is;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=Pr.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 Br.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)))}};var as={brotliCompress:function(e,t=h.default.constants.BROTLI_DEFAULT_QUALITY){try{if(!e)return"";const r=nt.toUtf8Bytes(e);return h.default.brotliCompressSync(r,{params:{[h.default.constants.BROTLI_PARAM_QUALITY]:t}}).toString("base64")}catch(t){return e||""}},brotliDecompress:function(e){try{if(!e)return"";const t=nt.base64ToBytes(e);return h.default.brotliDecompressSync(t).toString("utf-8")}catch(t){return e||""}}};var cs={child_exec:e=>new Promise((t=>{if(!e)return t([null,""]);i.exec(e,((e,r)=>{t(e?[e||"error",""]:[null,r||""])}))}))};const us=()=>{try{return"win32"===process.platform?ls():"darwin"===process.platform?hs():void 0}catch(e){return}},ls=async()=>{do{let e,t;if([e,t]=await cs.child_exec('reg query "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"'),e)break;const r=t.split("\n").find((e=>e.includes("ProxyEnable")));if(!(r&&r.trim().endsWith("1")))break;const n=t.split("\n").find((e=>e.includes("ProxyServer"))),s=n?n.split(" ").filter(Boolean).pop():"";if(!s)break;const i=s.split(":");if(i.length<=1)break;const o=i[0],a=+(i[1]||"");if(!o||!a)break;return{ipaddress:o,port:a}}while(0)},hs=async()=>{do{let e,t;if([e,t]=await cs.child_exec('networksetup -getwebproxy "Wi-Fi"'),e)break;const r=t.split("\n"),n=r.find((e=>e.includes("Enabled")));if(!(n&&n.includes("Yes")))break;const s=r.find((e=>e.includes("Server"))),i=r.find((e=>e.includes("Port"))),o=s?s.split(":")[1]?.trim():null,a=+((i?i.split(":")[1]?.trim():null)||"");if(!o||!a)break;return{ipaddress:o,port:a}}while(0)},fs=(e,t=["*"],r="DIRECT")=>{const n=e||r||"DIRECT",s=r||"DIRECT",i=`\n function FindProxyForURL(url, host) {\n if (host === "127.0.0.1" || host === "localhost") {\n return "DIRECT";\n }\n\n if (isInNet(host, "10.0.0.0", "255.0.0.0") ||\n isInNet(host, "172.16.0.0", "255.240.0.0") ||\n isInNet(host, "192.168.0.0", "255.255.0.0")) {\n return "DIRECT";\n }\n\n var _rules = ${JSON.stringify(t)};\n var _proxy = "${n}";\n var _default = "${s}";\n\n for (var i = 0; i < _rules.length; i++) {\n if (shExpMatch(host, _rules[i])) {\n return _proxy;\n }\n }\n\n return _default;\n }\n `;return nt.toDataUrl(i,"application/x-ns-proxy-autoconfig")},ds=(e,t,r)=>{if(!e||!t)return"";const{type:n="ALL",direct:s=!1}=r||{};let i="";switch(n?n.toUpperCase():""){case"ALL":i=`SOCKS5 ${e}:${t};PROXY ${e}:${t}`;break;case"PROXY":i=`PROXY ${e}:${t}`;break;case"SOCKS5":i=`SOCKS5 ${e}:${t}`}if(!i&&!s)return"";const o=[];return i&&o.push(i),s&&o.push("DIRECT"),o.join(";")};var ps={getSystemProxy:us,toPacScript:fs,toPacProxy:ds,pacScript:async(e,t,r)=>{const{type:n="SOCKS5",rules:s=["*"],useSystem:i}=r||{},o=ds(e,t,{type:n});if(!o)return"";let a;if(i){const e=await us();e&&(a=ds(e?.ipaddress||"",e?.port||0,{direct:!0}))}return fs(o,s||[],a)}};class gs{publicKey="";privateKey="";iv="";__privateCryptoKey;__sharedSecret;__curve;__keyFormat;__subtle;constructor(e="P-256",t="raw"){this.__curve=e,this.__keyFormat=t||"raw","undefined"!=typeof window?this.__subtle=window.crypto.subtle:this.__subtle={}}async generateKeys(){const e=await this.__subtle.generateKey({name:"ECDH",namedCurve:this.__curve},!0,["deriveKey","deriveBits"]);return this.__privateCryptoKey=e.privateKey,this.publicKey=await this.exportKey(e.publicKey),this.privateKey=await this.exportKey(e.privateKey,"pkcs8"),this}async exportKey(e,t="raw"){const r=await this.__subtle.exportKey(t||this.__keyFormat,e);return nt.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=nt.base64ToBytes(e);return await this.__subtle.importKey(t||this.__keyFormat||"raw",n,{name:"ECDH",namedCurve:this.__curve},!0,r)}async setPrivateKey(e){if(!e)return!1;const t=await this.importKey(e,"pkcs8",["deriveKey","deriveBits"]);return this.privateKey=await this.exportKey(t,"pkcs8"),this.__privateCryptoKey=t,!0}async deriveSharedSecret(e,t){if(!this.__privateCryptoKey)return!1;const r=await this.importKey(e),n=await this.__subtle.deriveKey({name:"ECDH",public:r},this.__privateCryptoKey,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"]);return this.__sharedSecret=n,this.iv=t||"",!0}async encode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=nt.base64ToBytes(r),s=nt.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return nt.ab2str(i,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?nt.base64ToBytes(r):nt.getRandomBytes(12),s=nt.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),o=nt.concatBytes(new Uint8Array(i),n);return nt.bytesToBase64(o)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=nt.base64ToBytes(e),s=nt.base64ToBytes(r),i=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return nt.textDecode(i)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=nt.base64ToBytes(e);if(t.length<12)return"";const r=t.slice(t.length-12),n=t.slice(0,t.length-12),s=await this.__subtle.decrypt({name:"AES-GCM",iv:r},this.__sharedSecret,n);return nt.textDecode(s)}}const ys=(e,t)=>new Promise(((r,n)=>{d.default.readdir(e,(async(s,i)=>{if(s)return n(s);r(ms(e,i,t))}))})),ms=async(e,t,r)=>{for(let n of t){const t=`${e}\\${n}`;d.default.lstatSync(t).isDirectory()?await ys(`${t}`,r):r&&await r(t)}};var ws={readDirectory:ys,readFiles:ms};var bs={...ws,...as,...cs,...ps,Ecdh:class{publicKey="";privateKey="";sharedSecret;iv="";__curve;__algorithm;__ecdh;constructor(e="prime256v1",t="aes-256-gcm"){this.__curve=e,this.__algorithm=t,this.generateKeys()}generateKeys(){const e=l.default.createECDH("prime256v1");e.generateKeys(),this.publicKey=e.getPublicKey("base64"),this.privateKey=e.getPrivateKey("base64"),this.__ecdh=e}setPrivateKey(e){return!!e&&(!!this.__ecdh&&(this.__ecdh.setPrivateKey(e,"base64"),this.publicKey=this.__ecdh.getPublicKey("base64"),!0))}setSharedSecret(e){return!!e&&(this.sharedSecret=e,!0)}deriveSharedSecret(e,t){return!!e&&(this.sharedSecret=this.__ecdh.computeSecret(e,"base64").toString("base64"),this.iv=t||"",!0)}encode(e,t){if(!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=nt.base64ToBytes(r),s=l.default.createCipheriv("aes-256-gcm",nt.base64ToBytes(this.sharedSecret),n),i=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),o=s.getAuthTag();return Buffer.concat([new Uint8Array(i),new Uint8Array(o)]).toString("base64")}encodeiv(e,t){if(!this.sharedSecret)return"";const r=t||this.iv,n=r?nt.base64ToBytes(r):nt.getRandomBytes(12),s=l.default.createCipheriv("aes-256-gcm",nt.base64ToBytes(this.sharedSecret),n),i=Buffer.concat([new Uint8Array(s.update(e,"utf8")),new Uint8Array(s.final())]),o=s.getAuthTag();return Buffer.concat([new Uint8Array(i),new Uint8Array(o),n]).toString("base64")}decode(e,t){if(!e||!this.sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=l.default.createDecipheriv("aes-256-gcm",nt.base64ToBytes(this.sharedSecret),nt.base64ToBytes(r)),s=nt.base64ToBytes(e),i=s.slice(s.length-16);n.setAuthTag(i);const o=s.slice(0,s.length-16);return Buffer.concat([new Uint8Array(n.update(o)),new Uint8Array(n.final())]).toString("utf-8")}decodeiv(e){if(!e||!this.sharedSecret)return"";const t=nt.base64ToBytes(e);if(t.length<28)return"";const r=t.slice(t.length-12),n=t.slice(t.length-28,t.length-12),s=l.default.createDecipheriv("aes-256-gcm",nt.base64ToBytes(this.sharedSecret),r);s.setAuthTag(n);const i=t.slice(0,t.length-28);return Buffer.concat([new Uint8Array(s.update(i)),new Uint8Array(s.final())]).toString("utf-8")}},EcdhWeb:class extends gs{constructor(e="P-256",t="raw"){super(e,t),this.__subtle=l.default.webcrypto.subtle}},Socks5:class{upstreamProxy;server=null;clientSockets=new Set;systemProxy=null;useSystemProxy=!1;__debug=!1;__uuid;__port=0;__event;__pipeline;__logger;__totalReceived=0;__totalSent=0;__rules=[];constructor(e,t=!1,r){this.__event=new x,this.upstreamProxy=this.filterProxyConfigs(e),this._updateRules(),this.__debug=t,this.__uuid=v(),this.__pipeline=new Le(1),this.__logger=r||console}get id(){return this.__uuid}get port(){return this.__port}get url(){return this.__port?`socks5://127.0.0.1:${this.__port}`:""}get totalReceived(){return this.__totalReceived}get totalSent(){return this.__totalSent}get rules(){return this.__rules}validateProxyConfig(e){const{ipaddress:t,port:r,userId:n,password:s}=e||{};return t&&"string"==typeof t?r&&"number"==typeof r?n&&"string"==typeof n?s&&"string"==typeof s?"":"无效的上游代理密码":"无效的上游代理用户名":"无效的上游代理端口":"无效的上游代理 IP 地址"}filterProxyConfigs(e){let t=[];t=e&&Array.isArray(e)?e:[e];const r=[];for(const e of t)this.validateProxyConfig(e)||r.push(e);return r}async start(e=8838){if(this.upstreamProxy.length<=0)return 0;if(this.server)return this.__debug&&console.info("[socks5] server is already running"),this.__port;const t=await this.findAvailablePort(e);return t?(this.__port=t,this.server=f.default.createServer((e=>this.handleSocksConnection(e))),this.server.listen(t,(()=>{this.__debug&&this.__logger?.info(`[socks5] server is running on port ${t}`)})),this.server.on("error",(e=>{this.__logger?.error("[socks5] server error:",e),this.close()})),t):0}setUpstreamProxy(e){if(!e)return!1;const t=this.filterProxyConfigs(e);return!(!t||t.length<=0)&&(this.upstreamProxy=t,this._updateRules(),!0)}setSystemProxy(e,t){this.useSystemProxy=e,e&&t&&t.ipaddress&&t.port&&(this.systemProxy=t)}async findAvailablePort(e,t=200){let r=e,n=0;for(;n<t;)try{return await new Promise(((e,t)=>{const n=f.default.createServer();n.unref(),n.on("error",t),n.listen(r,(()=>{n.close((()=>e()))}))})),r}catch{n++,r++}return this.__debug&&this.__logger?.warn("[socks5] findAvailablePort failed"),0}async handleSocksConnection(e){let t="";try{if(!e)return;this.clientSockets.add(e),e.on("close",(()=>{this.clientSockets.delete(e),e?.destroy()})),await this.performHandshake(e);const r=await this.parseClientRequest(e),n=r.addr;t=`${n}:${r.port}`,this.__debug&&this.__logger?.info("[socks5] connection",t);const s=this.findProxyConfig(n);if(s){const n=await this.connectToUpstreamProxy(r,s);this.__logger?.info(`[socks5] connection upstream ${t}, use ${s.ipaddress}:${s.port}`),this.setupDataForwarding(e,n,"upstream")}else if(this.useSystemProxy&&this.systemProxy&&!Gr.isLocalIpAddress(n)){const n=await this.connectToSystemProxy(r);this.__debug&&console.info("[socks5] connection system",t),this.setupDataForwarding(e,n,"system")}else{this.__debug&&console.info("[socks5] connection local",t);const n=await this.connectToLocal(r);this.setupDataForwarding(e,n,"local")}}catch(r){this.__debug&&this.__logger?.error("[socks5] connection failed:",r),e.end(new Uint8Array([5,1])),this._emit("error",r,t)}}performHandshake(e){return new Promise(((t,r)=>{e.once("data",(n=>{if(5!==n[0])return r(new Error("Unsupported SOCKS version"));e.write(new Uint8Array([5,0])),t()}))}))}parseClientRequest(e){return new Promise(((t,r)=>{e.once("data",(e=>{let n,s;if(1!==e[1])return r(new Error("Unsupported command"));if(1===e[3])n=e.slice(4,8).join("."),s=e.readUInt16BE(8);else{if(3!==e[3])return r(new Error("Unsupported address type"));{const t=e[4];n=e.slice(5,5+t).toString(),s=e.readUInt16BE(5+t)}}t({addr:n,port:s})}))}))}async connectToUpstreamProxy(e,t){const r={proxy:{ipaddress:t.ipaddress,port:t.port,type:5,userId:t.userId,password:t.password},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(r)}catch(e){throw new Error("Failed to connect to upstream proxy: "+e)}}async connectToSystemProxy(e){const t={proxy:{...this.systemProxy,type:5},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(t)}catch(e){throw new Error("Failed to connect to system proxy: "+e)}}async connectToProxy(e){const{socket:t}=await s.SocksClient.createConnection(e);return t}async connectToLocal(e){return new Promise(((t,r)=>{const n=f.default.createConnection(e.port,e.addr,(()=>{t(n)}));n.on("error",(e=>{r(e)}))}))}setupDataForwarding(e,t,r="local"){e.write(new Uint8Array([5,0,0,1,0,0,0,0,0,0])),e.pipe(t),t.pipe(e);const n=`${t.localAddress}:${t.localPort}`;this.__debug&&console.info(`[socks5] setupDataForwarding ${n}`),"upstream"===r&&(t.on("data",(e=>{this.__totalSent+=e.length})),e.on("data",(e=>{this.__totalReceived+=e.length}))),e.on("close",(()=>{this.__debug&&console.info("[socks5] client socket close",n),t.end()})),t.on("close",(()=>{this.__debug&&console.info("[socks5] target socket close",n),e.end()})),e.on("error",(e=>{this.__debug&&console.error("[socks5] client socket error:",e?.message),t.end()})),t.on("error",(t=>{this.__debug&&console.error("[socks5] target socket error:",t?.message),e.end()}))}findProxyConfig(e){if(!Gr.isLocalIpAddress(e))for(const t of this.upstreamProxy)if(this.isAllowedDomain(e,t.rules||[]))return t}isAllowedDomain(e,t){if(Gr.isLocalIpAddress(e))return!1;if(!t||!Array.isArray(t))return!1;for(const r of t){if("*"===r)return!0;if(Gr.shExpMatch(e,r))return!0}return!1}close(){try{if(!this.server)return;this.__debug&&this.__logger?.info("[socks5] closing SOCKS5 proxy server..."),this.server.close((e=>{e&&this.__debug&&this.__logger?.error("[socks5] closing the server failed:",e)})),this.clientSockets.forEach((e=>e?.destroy())),this.clientSockets.clear(),this.server=null,this.__port=0}catch(e){this.__debug&&this.__logger?.error("[socks5] close error:",e)}}on(e,t){e&&t&&(this.__event.off(e,t),this.__event.on(e,t))}off(e,t){e&&this.__event.off(e,t)}resetStatistics(){this.__totalReceived=0,this.__totalSent=0}_emit(e,...t){try{if(!e)return;this.__event.emit(e,...t)}catch(e){}}_updateRules(){this.upstreamProxy&&(this.__rules=Br.distinct(this.upstreamProxy.reduce(((e,t)=>e.concat(t?.rules||[])),[])))}},rsa:ct,Aliyun:class{bucket;accessKeyId;accessKeySecret;region;__oss;__cdn;constructor({bucket:e,accessKeyId:t,accessKeySecret:r,region:n}){this.bucket=e,this.accessKeyId=t,this.accessKeySecret=r,this.region=n,this.__oss=this._getOSS()}get client(){return this.__oss||(this.__oss=this._getOSS()),this.__oss}_getOSS(){return new p.default({region:this.region,accessKeyId:this.accessKeyId,accessKeySecret:this.accessKeySecret,bucket:this.bucket})}async read(e){try{if(!await this.exist(e))return"";const t=await this.client.get(e);return t.content?.toString()||""}catch(t){return void console.log(`aliyun read ${e} error`,t)}}async delete(e){try{return await this.client.delete(e),!0}catch(t){return console.log(`aliyun delete ${e} error`,t),!1}}async exist(e,t={}){try{return await this.client.head(e,t),!0}catch(e){return!1}}async upload(e,t){try{return!(!e||!t)&&(await this.client.put(e,t),!0)}catch(e){return console.log(`aliyun upload ${t} error`,e),!1}}async put(e,t){try{return!(!e||!t)&&(await this.client.put(e,Buffer.from(t)),!0)}catch(t){return console.log(`aliyun put content ${e} error`,t),!1}}async putSymlink(e,t){try{if(!e||!t)return!1;return await this.client.putSymlink(e,t)}catch(e){return!1}}async browse(e,t){let r,n=!1;const s=e.endsWith("/")?e:`${e}/`;try{do{const e=await this.client.listV2({prefix:s,"continuation-token":r,"max-keys":"50"},{});for(let r of e.objects||[])t&&await t(r.name);r=e.nextContinuationToken,n=e.isTruncated}while(n);return!0}catch(t){return console.log(`aliyun browse ${e} error`,t),!1}}get cdn(){return this.__cdn||(this.__cdn=new g.default({accessKeyId:this.accessKeyId,accessKeySecret:this.accessKeySecret,endpoint:"https://cdn.aliyuncs.com",apiVersion:"2018-05-10"})),this.__cdn}async refreshCDN(e,t="File"){try{let r={ObjectPath:e,ObjectType:t};const n={method:"POST",formatParams:!1};return await this.cdn.request("RefreshObjectCaches",r,n),!0}catch(t){return console.log(`aliyun refreshCDN ${e} err`,t),!1}}}},_s={Ecdh:gs};class vs{timestamp=0;_key="";_value;constructor(e,t){this._key=e,this._value=t,this.updateAt()}get key(){return this._key}get value(){return this._value}set(e){this._value=e,this.updateAt()}updateAt(){this.timestamp=Date.now()}clear(){this.set(void 0)}}class xs{_map=new Map;constructor(){this._map.clear()}get keys(){return Array.from(this._map.keys())}get values(){return Array.from(this._map.values())}get(e){if(!e)return;const t=this._map.get(e);return t?t.value:void 0}getKV(e){if(e)return this._map.get(e)}set(e,t){if(!e)return;const r=this._map.get(e);r?(r.set(t),this.clean()):this._map.set(e,new vs(e,t))}delete(e,t){if(!e)return;const r=this._map.get(e);t&&t(r?.value),this._map.delete(e)}clear(){this._map.clear()}clean(e=100,t){try{if(this._map.size<=e)return;if(this.keys.filter((e=>{if(!this._map.has(e))return!1;const t=this._map.get(e);return!t||!t.value})).forEach((e=>{this._map.delete(e)})),this._map.size<=e)return;const r=this.values.sort(((e,t)=>e.timestamp-t.timestamp)),n=r.length-e;if(n<=0)return;r.splice(0,n).forEach((e=>{this.delete(e.key,t)}))}catch(e){console.log("mapping clean",e)}}}const Ss={gbk:y,math:ze,list:Br,string:ur,time:E,obj:Pr,rule:Sn,regex:An,...nt,...$n,...Tr,Event:x},As=Tr.singleton,ks={...nt,...$n,...wr,...ur,...ze,qs:Gr,singleton:As},Cs={mini:zr,css:Tn,qs:Gr,icon:Qn,html:Un},$s={cdn:Dn,watermark:rs},Os={Store:Xn,storeRef:es,Persist:Gn,persistConfig:Jn},Es=ss,js=os,Ps=Zn,Ts={fetch:Yn,Http:Nn,css:Tn,qs:Gr,icon:Qn,html:Un,rsa:lt,..._s},qs={...bs};var Bs={gbk:y,time:E,hook:wr,math:ze,util:Tr,list:Br,string:ur,obj:Pr,crypto:$n,mini:zr,qs:Gr,css:Tn,cdn:Dn,html:Un,icon:Qn,rule:Sn,regex:An,convert:nt,KValue:vs,Mapping:xs,Event:x,Http:Nn,Store:Xn,storeRef:es,Persist:Gn,persistConfig:Jn,watermark:rs,joker:ss,tracker:os,logger:Zn,fetch:Yn,rsa:lt};e.Event=x,e.KValue=vs,e.Mapping=xs,e.dCdn=$s,e.dHook=ks,e.dJoker=Es,e.dLogger=Ps,e.dMini=Cs,e.dNode=qs,e.dStore=Os,e.dTracker=js,e.dUtil=Ss,e.dWeb=Ts,e.default=Bs,Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -1,4 +1,4 @@
1
- export { Ddan } from './typings';
1
+ export type { Ddan } from './typings';
2
2
  import Http from './modules/http';
3
3
  import Event from './class/event';
4
4
  import Store from './class/store';
@@ -1,4 +1,4 @@
1
- export { Ddan } from './typings';
1
+ export type { Ddan } from './typings';
2
2
  import Http from './modules/http';
3
3
  import Event from './class/event';
4
4
  import Store from './class/store';
@@ -678,6 +678,7 @@ declare const dNode: {
678
678
  encode: (data: string) => Promise<string>;
679
679
  decode: (encryptedBase64: string) => Promise<string>;
680
680
  };
681
+ Aliyun: typeof import("./modules/node/aliyun").default;
681
682
  getSystemProxy: () => Promise<{
682
683
  ipaddress: string;
683
684
  port: number;