fileuploadsdk 0.0.1

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 (40) hide show
  1. package/README.md +17 -0
  2. package/dist/cjs/index.cjs.js +2 -0
  3. package/dist/cjs/index.cjs.js.map +1 -0
  4. package/dist/cjs/index.d.ts +3 -0
  5. package/dist/cjs/index.d.ts.map +1 -0
  6. package/dist/esm/index.d.ts +3 -0
  7. package/dist/esm/index.d.ts.map +1 -0
  8. package/dist/esm/index.esm.js +2 -0
  9. package/dist/esm/index.esm.js.map +1 -0
  10. package/dist/index.cjs.js +11 -0
  11. package/dist/index.cjs.js.map +1 -0
  12. package/dist/index.d.ts +378 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.esm.js +11 -0
  15. package/dist/index.esm.js.map +1 -0
  16. package/dist/index.umd.js +11 -0
  17. package/dist/index.umd.js.map +1 -0
  18. package/dist/types/constants/errmsg.d.ts +6 -0
  19. package/dist/types/core/parallel-uploader.d.ts +16 -0
  20. package/dist/types/core/slice-uploader.d.ts +38 -0
  21. package/dist/types/core/upload.d.ts +21 -0
  22. package/dist/types/core/web-worker-helper.d.ts +16 -0
  23. package/dist/types/index.d.ts +20 -0
  24. package/dist/types/react/components/Progress.d.ts +9 -0
  25. package/dist/types/react/components/Upload.d.ts +13 -0
  26. package/dist/types/react/components/UploadList.d.ts +11 -0
  27. package/dist/types/react/hooks/useUpload.d.ts +14 -0
  28. package/dist/types/react/index.d.ts +6 -0
  29. package/dist/types/types/index.d.ts +224 -0
  30. package/dist/types/utils/file.d.ts +52 -0
  31. package/dist/types/vue/components/Progress.vue.d.ts +17 -0
  32. package/dist/types/vue/components/Upload.vue.d.ts +232 -0
  33. package/dist/types/vue/components/UploadList.vue.d.ts +26 -0
  34. package/dist/types/vue/composables/useUpload.d.ts +90 -0
  35. package/dist/types/vue/index.d.ts +6 -0
  36. package/dist/umd/index.d.ts +3 -0
  37. package/dist/umd/index.d.ts.map +1 -0
  38. package/dist/umd/index.umd.js +2 -0
  39. package/dist/umd/index.umd.js.map +1 -0
  40. package/package.json +74 -0
package/README.md ADDED
@@ -0,0 +1,17 @@
1
+ ## 核心功能
2
+
3
+ * 分片上传:支持大文件分片上传和断点续传
4
+
5
+ * 并行上传:支持多个文件同时上传
6
+
7
+ * 秒传功能:通过文件哈希判断是否已存在
8
+
9
+ * Web Worker支持:后台计算文件哈希
10
+
11
+ * React和Vue组件:开箱即用的UI组件
12
+
13
+ * 完整类型定义:TypeScript支持
14
+
15
+ * 高度可配置:支持各种上传场景
16
+
17
+ * 错误恢复:网络中断自动重试
@@ -0,0 +1,2 @@
1
+ "use strict";module.exports=function(){console.log("FileUploadSDK")};
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/index.ts"],"sourcesContent":["function FileUploadSDK() {\r\n console.log('FileUploadSDK');\r\n}\r\n\r\nexport default FileUploadSDK;"],"names":["console","log"],"mappings":"4BAAA,WACEA,QAAQC,IAAI,gBACd"}
@@ -0,0 +1,3 @@
1
+ declare function FileUploadSDK(): void;
2
+ export default FileUploadSDK;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,iBAAS,aAAa,SAErB;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare function FileUploadSDK(): void;
2
+ export default FileUploadSDK;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,iBAAS,aAAa,SAErB;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ function o(){console.log("FileUploadSDK")}export{o as default};
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../src/index.ts"],"sourcesContent":["function FileUploadSDK() {\r\n console.log('FileUploadSDK');\r\n}\r\n\r\nexport default FileUploadSDK;"],"names":["FileUploadSDK","console","log"],"mappings":"AAAA,SAASA,IACPC,QAAQC,IAAI,gBACd"}
@@ -0,0 +1,11 @@
1
+ "use strict";var e=require("axios"),t=require("react");function n(e,t,n,r){return new(n||(n=Promise))(function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,a)}l((r=r.apply(e,t||[])).next())})}function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}"function"==typeof SuppressedError&&SuppressedError;var i,s={exports:{}};var o=(i||(i=1,s.exports=function(e){var t=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function n(e,t){var n=e[0],r=e[1],i=e[2],s=e[3];r=((r+=((i=((i+=((s=((s+=((n=((n+=(r&i|~r&s)+t[0]-680876936|0)<<7|n>>>25)+r|0)&r|~n&i)+t[1]-389564586|0)<<12|s>>>20)+n|0)&n|~s&r)+t[2]+606105819|0)<<17|i>>>15)+s|0)&s|~i&n)+t[3]-1044525330|0)<<22|r>>>10)+i|0,r=((r+=((i=((i+=((s=((s+=((n=((n+=(r&i|~r&s)+t[4]-176418897|0)<<7|n>>>25)+r|0)&r|~n&i)+t[5]+1200080426|0)<<12|s>>>20)+n|0)&n|~s&r)+t[6]-1473231341|0)<<17|i>>>15)+s|0)&s|~i&n)+t[7]-45705983|0)<<22|r>>>10)+i|0,r=((r+=((i=((i+=((s=((s+=((n=((n+=(r&i|~r&s)+t[8]+1770035416|0)<<7|n>>>25)+r|0)&r|~n&i)+t[9]-1958414417|0)<<12|s>>>20)+n|0)&n|~s&r)+t[10]-42063|0)<<17|i>>>15)+s|0)&s|~i&n)+t[11]-1990404162|0)<<22|r>>>10)+i|0,r=((r+=((i=((i+=((s=((s+=((n=((n+=(r&i|~r&s)+t[12]+1804603682|0)<<7|n>>>25)+r|0)&r|~n&i)+t[13]-40341101|0)<<12|s>>>20)+n|0)&n|~s&r)+t[14]-1502002290|0)<<17|i>>>15)+s|0)&s|~i&n)+t[15]+1236535329|0)<<22|r>>>10)+i|0,r=((r+=((i=((i+=((s=((s+=((n=((n+=(r&s|i&~s)+t[1]-165796510|0)<<5|n>>>27)+r|0)&i|r&~i)+t[6]-1069501632|0)<<9|s>>>23)+n|0)&r|n&~r)+t[11]+643717713|0)<<14|i>>>18)+s|0)&n|s&~n)+t[0]-373897302|0)<<20|r>>>12)+i|0,r=((r+=((i=((i+=((s=((s+=((n=((n+=(r&s|i&~s)+t[5]-701558691|0)<<5|n>>>27)+r|0)&i|r&~i)+t[10]+38016083|0)<<9|s>>>23)+n|0)&r|n&~r)+t[15]-660478335|0)<<14|i>>>18)+s|0)&n|s&~n)+t[4]-405537848|0)<<20|r>>>12)+i|0,r=((r+=((i=((i+=((s=((s+=((n=((n+=(r&s|i&~s)+t[9]+568446438|0)<<5|n>>>27)+r|0)&i|r&~i)+t[14]-1019803690|0)<<9|s>>>23)+n|0)&r|n&~r)+t[3]-187363961|0)<<14|i>>>18)+s|0)&n|s&~n)+t[8]+1163531501|0)<<20|r>>>12)+i|0,r=((r+=((i=((i+=((s=((s+=((n=((n+=(r&s|i&~s)+t[13]-1444681467|0)<<5|n>>>27)+r|0)&i|r&~i)+t[2]-51403784|0)<<9|s>>>23)+n|0)&r|n&~r)+t[7]+1735328473|0)<<14|i>>>18)+s|0)&n|s&~n)+t[12]-1926607734|0)<<20|r>>>12)+i|0,r=((r+=((i=((i+=((s=((s+=((n=((n+=(r^i^s)+t[5]-378558|0)<<4|n>>>28)+r|0)^r^i)+t[8]-2022574463|0)<<11|s>>>21)+n|0)^n^r)+t[11]+1839030562|0)<<16|i>>>16)+s|0)^s^n)+t[14]-35309556|0)<<23|r>>>9)+i|0,r=((r+=((i=((i+=((s=((s+=((n=((n+=(r^i^s)+t[1]-1530992060|0)<<4|n>>>28)+r|0)^r^i)+t[4]+1272893353|0)<<11|s>>>21)+n|0)^n^r)+t[7]-155497632|0)<<16|i>>>16)+s|0)^s^n)+t[10]-1094730640|0)<<23|r>>>9)+i|0,r=((r+=((i=((i+=((s=((s+=((n=((n+=(r^i^s)+t[13]+681279174|0)<<4|n>>>28)+r|0)^r^i)+t[0]-358537222|0)<<11|s>>>21)+n|0)^n^r)+t[3]-722521979|0)<<16|i>>>16)+s|0)^s^n)+t[6]+76029189|0)<<23|r>>>9)+i|0,r=((r+=((i=((i+=((s=((s+=((n=((n+=(r^i^s)+t[9]-640364487|0)<<4|n>>>28)+r|0)^r^i)+t[12]-421815835|0)<<11|s>>>21)+n|0)^n^r)+t[15]+530742520|0)<<16|i>>>16)+s|0)^s^n)+t[2]-995338651|0)<<23|r>>>9)+i|0,r=((r+=((s=((s+=(r^((n=((n+=(i^(r|~s))+t[0]-198630844|0)<<6|n>>>26)+r|0)|~i))+t[7]+1126891415|0)<<10|s>>>22)+n|0)^((i=((i+=(n^(s|~r))+t[14]-1416354905|0)<<15|i>>>17)+s|0)|~n))+t[5]-57434055|0)<<21|r>>>11)+i|0,r=((r+=((s=((s+=(r^((n=((n+=(i^(r|~s))+t[12]+1700485571|0)<<6|n>>>26)+r|0)|~i))+t[3]-1894986606|0)<<10|s>>>22)+n|0)^((i=((i+=(n^(s|~r))+t[10]-1051523|0)<<15|i>>>17)+s|0)|~n))+t[1]-2054922799|0)<<21|r>>>11)+i|0,r=((r+=((s=((s+=(r^((n=((n+=(i^(r|~s))+t[8]+1873313359|0)<<6|n>>>26)+r|0)|~i))+t[15]-30611744|0)<<10|s>>>22)+n|0)^((i=((i+=(n^(s|~r))+t[6]-1560198380|0)<<15|i>>>17)+s|0)|~n))+t[13]+1309151649|0)<<21|r>>>11)+i|0,r=((r+=((s=((s+=(r^((n=((n+=(i^(r|~s))+t[4]-145523070|0)<<6|n>>>26)+r|0)|~i))+t[11]-1120210379|0)<<10|s>>>22)+n|0)^((i=((i+=(n^(s|~r))+t[2]+718787259|0)<<15|i>>>17)+s|0)|~n))+t[9]-343485551|0)<<21|r>>>11)+i|0,e[0]=n+e[0]|0,e[1]=r+e[1]|0,e[2]=i+e[2]|0,e[3]=s+e[3]|0}function r(e){var t,n=[];for(t=0;t<64;t+=4)n[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return n}function i(e){var t,n=[];for(t=0;t<64;t+=4)n[t>>2]=e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24);return n}function s(e){var t,i,s,o,a,l,c=e.length,u=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=c;t+=64)n(u,r(e.substring(t-64,t)));for(i=(e=e.substring(t-64)).length,s=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t<i;t+=1)s[t>>2]|=e.charCodeAt(t)<<(t%4<<3);if(s[t>>2]|=128<<(t%4<<3),t>55)for(n(u,s),t=0;t<16;t+=1)s[t]=0;return o=(o=8*c).toString(16).match(/(.*?)(.{0,8})$/),a=parseInt(o[2],16),l=parseInt(o[1],16)||0,s[14]=a,s[15]=l,n(u,s),u}function o(e){var t,r,s,o,a,l,c=e.length,u=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=c;t+=64)n(u,i(e.subarray(t-64,t)));for(r=(e=t-64<c?e.subarray(t-64):new Uint8Array(0)).length,s=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t<r;t+=1)s[t>>2]|=e[t]<<(t%4<<3);if(s[t>>2]|=128<<(t%4<<3),t>55)for(n(u,s),t=0;t<16;t+=1)s[t]=0;return o=(o=8*c).toString(16).match(/(.*?)(.{0,8})$/),a=parseInt(o[2],16),l=parseInt(o[1],16)||0,s[14]=a,s[15]=l,n(u,s),u}function a(e){var n,r="";for(n=0;n<4;n+=1)r+=t[e>>8*n+4&15]+t[e>>8*n&15];return r}function l(e){var t;for(t=0;t<e.length;t+=1)e[t]=a(e[t]);return e.join("")}function c(e){return/[\u0080-\uFFFF]/.test(e)&&(e=unescape(encodeURIComponent(e))),e}function u(e,t){var n,r=e.length,i=new ArrayBuffer(r),s=new Uint8Array(i);for(n=0;n<r;n+=1)s[n]=e.charCodeAt(n);return t?s:i}function d(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function p(e,t,n){var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e)),r.set(new Uint8Array(t),e.byteLength),r}function h(e){var t,n=[],r=e.length;for(t=0;t<r-1;t+=2)n.push(parseInt(e.substr(t,2),16));return String.fromCharCode.apply(String,n)}function f(){this.reset()}return l(s("hello")),"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function t(e,t){return(e=0|e||0)<0?Math.max(e+t,0):Math.min(e,t)}ArrayBuffer.prototype.slice=function(n,r){var i,s,o,a,l=this.byteLength,c=t(n,l),u=l;return r!==e&&(u=t(r,l)),c>u?new ArrayBuffer(0):(i=u-c,s=new ArrayBuffer(i),o=new Uint8Array(s),a=new Uint8Array(this,c,i),o.set(a),s)}}(),f.prototype.append=function(e){return this.appendBinary(c(e)),this},f.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var t,i=this._buff.length;for(t=64;t<=i;t+=64)n(this._hash,r(this._buff.substring(t-64,t)));return this._buff=this._buff.substring(t-64),this},f.prototype.end=function(e){var t,n,r=this._buff,i=r.length,s=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<i;t+=1)s[t>>2]|=r.charCodeAt(t)<<(t%4<<3);return this._finish(s,i),n=l(this._hash),e&&(n=h(n)),this.reset(),n},f.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},f.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},f.prototype.setState=function(e){return this._buff=e.buff,this._length=e.length,this._hash=e.hash,this},f.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},f.prototype._finish=function(e,t){var r,i,s,o=t;if(e[o>>2]|=128<<(o%4<<3),o>55)for(n(this._hash,e),o=0;o<16;o+=1)e[o]=0;r=(r=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),i=parseInt(r[2],16),s=parseInt(r[1],16)||0,e[14]=i,e[15]=s,n(this._hash,e)},f.hash=function(e,t){return f.hashBinary(c(e),t)},f.hashBinary=function(e,t){var n=l(s(e));return t?h(n):n},f.ArrayBuffer=function(){this.reset()},f.ArrayBuffer.prototype.append=function(e){var t,r=p(this._buff.buffer,e),s=r.length;for(this._length+=e.byteLength,t=64;t<=s;t+=64)n(this._hash,i(r.subarray(t-64,t)));return this._buff=t-64<s?new Uint8Array(r.buffer.slice(t-64)):new Uint8Array(0),this},f.ArrayBuffer.prototype.end=function(e){var t,n,r=this._buff,i=r.length,s=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<i;t+=1)s[t>>2]|=r[t]<<(t%4<<3);return this._finish(s,i),n=l(this._hash),e&&(n=h(n)),this.reset(),n},f.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},f.ArrayBuffer.prototype.getState=function(){var e=f.prototype.getState.call(this);return e.buff=d(e.buff),e},f.ArrayBuffer.prototype.setState=function(e){return e.buff=u(e.buff,!0),f.prototype.setState.call(this,e)},f.ArrayBuffer.prototype.destroy=f.prototype.destroy,f.ArrayBuffer.prototype._finish=f.prototype._finish,f.ArrayBuffer.hash=function(e,t){var n=l(o(new Uint8Array(e)));return t?h(n):n},f}()),s.exports),a=r(o);const l=e=>`${e.name}-${e.size}-${e.type}-${e.lastModified}`,c=e=>e.slice(e.lastIndexOf(".")+1),u=(e,t)=>{if(!t)return!0;const n=t.split(",").map(e=>e.trim()),r=e.type,i=c(e.name);return n.some(e=>{if(e.startsWith("."))return i===e.slice(1);if(e.includes("/")){const t=e.split("/")[0];return r.startsWith(t)}return r===e})},d=(e,t,n)=>!(t&&e.size>t)&&!(n&&e.size<n),p=(e,t)=>{const n=[];let r=0;for(;r<e.size;){const i=Math.min(r+t,e.size),s=e.slice(r,i);n.push(s),r=i}return n},h=e=>new Promise(t=>{const n=new a.ArrayBuffer,r=new FileReader,i=2097152,s=p(e,i);let o=0;r.onload=e=>{var r;n.append(null===(r=e.target)||void 0===r?void 0:r.result),o++,o<s.length?l():t(n.end())},r.onerror=()=>{t("")};const l=()=>{const t=o*i,n=t+i>=e.size?e.size:t+i;r.readAsArrayBuffer(e.slice(t,n))};l()});class f{constructor(t){this.fileList=[],this.abortControllers=new Map,this.config=Object.assign({method:"POST",headers:{},timeout:3e4,maxRetries:3,retryDelay:1e3,chunkSize:5242880,chunkRetry:3,concurrency:3,autoUpload:!0,multiple:!1,withCredentials:!1},t),this.axiosInstance=e.create({timeout:this.config.timeout,headers:this.config.headers,withCredentials:this.config.withCredentials})}addFile(e){var t,n;const r={uid:l(e),file:e,name:e.name,size:e.size,type:e.type,status:"pending",percent:0,uploadedSize:0};return this.fileList.push(r),null===(n=(t=this.config).onFileListChange)||void 0===n||n.call(t,this.fileList),this.config.autoUpload&&this.upload(r),r}addFiles(e){return e.map(e=>this.addFile(e))}removeFile(e){var t,n;const r=this.fileList.findIndex(t=>t.uid===e);-1!==r&&(this.abortUpload(e),this.fileList.splice(r,1),null===(n=(t=this.config).onFileListChange)||void 0===n||n.call(t,this.fileList))}clearFiles(){var e,t;this.fileList.forEach(e=>{this.abortUpload(e.uid)}),this.fileList=[],null===(t=(e=this.config).onFileListChange)||void 0===t||t.call(e,this.fileList)}getFileList(){return[...this.fileList]}uploadAll(){return n(this,void 0,void 0,function*(){const e=this.fileList.filter(e=>"pending"===e.status);yield Promise.all(e.map(e=>this.upload(e)))})}abortUpload(e){var t,n,r,i;const s=this.abortControllers.get(e);if(s){s.abort(),this.abortControllers.delete(e);const o=this.fileList.find(t=>t.uid===e);o&&(o.status="canceled",o.percent=0,null===(n=(t=this.config).onCancel)||void 0===n||n.call(t,o),null===(i=(r=this.config).onFileListChange)||void 0===i||i.call(r,this.fileList))}}retryUpload(e){return n(this,void 0,void 0,function*(){var t,n;const r=this.fileList.find(t=>t.uid===e);!r||"error"!==r.status&&"canceled"!==r.status||(r.status="pending",r.percent=0,r.error=void 0,null===(n=(t=this.config).onFileListChange)||void 0===n||n.call(t,this.fileList),yield this.upload(r))})}checkFastUpload(e){return n(this,void 0,void 0,function*(){if(!this.config.url)return{shouldUpload:!0};try{return(yield this.axiosInstance.post(`${this.config.url}/check`,{fileName:e.name,fileSize:e.size,lastModified:e.file.lastModified})).data}catch(e){return console.warn("秒传检查失败,继续正常上传:",e),{shouldUpload:!0}}})}updateProgress(e,t,n){var r,i;if(e.uploadedSize=t,e.percent=n>0?Math.round(t/n*100):0,this.config.onProgress){const e=new ProgressEvent("progress",{loaded:t,total:n,lengthComputable:!0});this.config.onProgress(e)}null===(i=(r=this.config).onFileListChange)||void 0===i||i.call(r,this.fileList)}request(e){return n(this,arguments,void 0,function*(e,t=this.config.maxRetries){var n,r;let i;for(let s=0;s<t;s++)try{const t=new AbortController;(null===(n=e.data)||void 0===n?void 0:n.uid)&&this.abortControllers.set(e.data.uid,t);const i=yield this.axiosInstance(Object.assign(Object.assign({},e),{signal:t.signal}));return(null===(r=e.data)||void 0===r?void 0:r.uid)&&this.abortControllers.delete(e.data.uid),i.data}catch(e){if(i=e,"ERR_CANCELED"===e.code)throw e;s<t-1&&(yield new Promise(e=>setTimeout(e,this.config.retryDelay*Math.pow(2,s))))}throw i})}}class m{value;next;constructor(e){this.value=e}}class g{#e;#t;#n;constructor(){this.clear()}enqueue(e){const t=new m(e);this.#e?(this.#t.next=t,this.#t=t):(this.#e=t,this.#t=t),this.#n++}dequeue(){const e=this.#e;if(e)return this.#e=this.#e.next,this.#n--,this.#e||(this.#t=void 0),e.value}peek(){if(this.#e)return this.#e.value}clear(){this.#e=void 0,this.#t=void 0,this.#n=0}get size(){return this.#n}*[Symbol.iterator](){let e=this.#e;for(;e;)yield e.value,e=e.next}*drain(){for(;this.#e;)yield this.dequeue()}}function y(e){v(e);const t=new g;let n=0;const r=()=>{n<e&&t.size>0&&(n++,t.dequeue()())},i=async(e,t,i)=>{const s=(async()=>e(...i))();t(s);try{await s}catch{}n--,r()},s=(s,...o)=>new Promise(a=>{((s,o,a)=>{new Promise(e=>{t.enqueue(e)}).then(i.bind(void 0,s,o,a)),n<e&&r()})(s,a,o)});return Object.defineProperties(s,{activeCount:{get:()=>n},pendingCount:{get:()=>t.size},clearQueue:{value(){t.clear()}},concurrency:{get:()=>e,set(i){v(i),e=i,queueMicrotask(()=>{for(;n<e&&t.size>0;)r()})}},map:{async value(e,t){const n=Array.from(e,(e,n)=>this(t,e,n));return Promise.all(n)}}}),s}function v(e){if(!Number.isInteger(e)&&e!==Number.POSITIVE_INFINITY||!(e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up")}class x extends f{constructor(e){super(e),this.chunkSize=e.chunkSize||5242880}upload(e){return n(this,void 0,void 0,function*(){try{if(!(yield this.validateFile(e)))return;const t=yield this.checkFastUpload(e);if(!0===(null==t?void 0:t.fileExists))return void(yield this.handleFastUpload(e,t));e.hash=yield h(e.file);const n=p(e.file,this.chunkSize);e.chunkList=n.map((t,n)=>({index:n,chunk:t,hash:`${e.hash}-${n}`,size:t.size,progress:0,status:"pending"})),yield this.uploadChunks(e,t.uploadedList||[]),yield this.mergeChunks(e)}catch(t){this.handleUploadError(e,t)}})}validateFile(e){return n(this,void 0,void 0,function*(){var t,n;if(this.config.beforeUpload){if(!(yield Promise.resolve(this.config.beforeUpload(e.file))))return this.removeFile(e.uid),!1}return e.status="uploading",null===(n=(t=this.config).onFileListChange)||void 0===n||n.call(t,this.fileList),!0})}handleFastUpload(e,t){return n(this,void 0,void 0,function*(){var t,n;e.status="success",e.percent=100,e.response={message:"秒传成功"},this.config.onSuccess&&this.config.onSuccess(e.response,e),null===(n=(t=this.config).onFileListChange)||void 0===n||n.call(t,this.fileList)})}uploadChunks(e,t){return n(this,void 0,void 0,function*(){const{chunkList:n}=e;if(!n)return;const r=y(this.config.concurrency||3),i=[];n.filter(e=>!t.includes(e.hash)).forEach(t=>{const n=r(()=>this.uploadChunk(e,t));i.push(n)}),yield Promise.all(i)})}uploadChunk(e,t){return n(this,void 0,void 0,function*(){t.status="uploading";const n=new FormData;n.append("file",t.chunk),n.append("chunkIndex",t.index.toString()),n.append("chunkHash",t.hash),n.append("fileHash",e.hash),n.append("fileName",e.name),n.append("totalChunks",e.chunkList.length.toString()),n.append("uid",e.uid);try{yield this.request({method:this.config.method,url:this.config.url,data:n,onUploadProgress:n=>{const r=n.loaded,i=n.total||t.size;t.progress=Math.round(r/i*100);const s=e.chunkList.reduce((e,n)=>e+(n.index===t.index?r:n.size*(n.progress/100)),0),o=e.size;this.updateProgress(e,s,o)}},this.config.chunkRetry),t.status="success",t.progress=100}catch(e){throw t.status="error",e}})}mergeChunks(e){return n(this,void 0,void 0,function*(){var t,n;const r=yield this.request({method:"POST",url:`${this.config.url}/merge`,data:{fileName:e.name,fileHash:e.hash,totalChunks:e.chunkList.length,uid:e.uid}});e.status="success",e.percent=100,e.response=r,this.config.onSuccess&&this.config.onSuccess(r,e),null===(n=(t=this.config).onFileListChange)||void 0===n||n.call(t,this.fileList)})}handleUploadError(e,t){var n,r;e.status="error",e.error=t,this.config.onError&&this.config.onError(t,e),null===(r=(n=this.config).onFileListChange)||void 0===r||r.call(n,this.fileList)}resumeUpload(e){return n(this,void 0,void 0,function*(){const t=this.fileList.find(t=>t.uid===e);if(t&&"error"===t.status)try{const e=(yield this.request({method:"GET",url:`${this.config.url}/uploaded`,params:{fileHash:t.hash,fileName:t.name}})).uploadedList||[];yield this.uploadChunks(t,e),yield this.mergeChunks(t)}catch(e){this.handleUploadError(t,e)}})}}class b extends f{constructor(e){super(e),this.concurrent=e.concurrent||3}upload(e){return n(this,void 0,void 0,function*(){var t,n,r,i;try{if(!(yield this.validateFile(e)))return;e.status="uploading",null===(n=(t=this.config).onFileListChange)||void 0===n||n.call(t,this.fileList);const r=new FormData;r.append("file",e.file),r.append("fileName",e.name),r.append("uid",e.uid);const i=yield this.request({method:this.config.method,url:this.config.url,data:r,onUploadProgress:t=>{this.updateProgress(e,t.loaded,t.total||e.size)}});e.status="success",e.percent=100,e.response=i,this.config.onSuccess&&this.config.onSuccess(i,e)}catch(t){this.handleUploadError(e,t)}null===(i=(r=this.config).onFileListChange)||void 0===i||i.call(r,this.fileList)})}uploadAll(){return n(this,void 0,void 0,function*(){const e=this.fileList.filter(e=>"pending"===e.status),t=y(this.concurrent),n=e.map(e=>t(()=>this.upload(e)));yield Promise.all(n)})}validateFile(e){return n(this,void 0,void 0,function*(){if(this.config.beforeUpload){if(!(yield Promise.resolve(this.config.beforeUpload(e.file))))return this.removeFile(e.uid),!1}return!0})}handleUploadError(e,t){e.status="error",e.error=t,this.config.onError&&this.config.onError(t,e)}}var j,k={exports:{}},w={};var C,N,S={};
2
+ /**
3
+ * @license React
4
+ * react-jsx-runtime.development.js
5
+ *
6
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ */function L(){return C||(C=1,"production"!==process.env.NODE_ENV&&function(){function e(t){if(null==t)return null;if("function"==typeof t)return t.$$typeof===N?null:t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case f:return"Fragment";case g:return"Profiler";case m:return"StrictMode";case b:return"Suspense";case j:return"SuspenseList";case C:return"Activity"}if("object"==typeof t)switch("number"==typeof t.tag&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),t.$$typeof){case h:return"Portal";case v:return t.displayName||"Context";case y:return(t._context.displayName||"Context")+".Consumer";case x:var n=t.render;return(t=t.displayName)||(t=""!==(t=n.displayName||n.name||"")?"ForwardRef("+t+")":"ForwardRef"),t;case k:return null!==(n=t.displayName||null)?n:e(t.type)||"Memo";case w:n=t._payload,t=t._init;try{return e(t(n))}catch(e){}}return null}function n(e){return""+e}function r(e){try{n(e);var t=!1}catch(e){t=!0}if(t){var r=(t=console).error,i="function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return r.call(t,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",i),n(e)}}function i(t){if(t===f)return"<>";if("object"==typeof t&&null!==t&&t.$$typeof===w)return"<...>";try{var n=e(t);return n?"<"+n+">":"<...>"}catch(e){return"<...>"}}function s(){return Error("react-stack-top-frame")}function o(){var t=e(this.type);return z[t]||(z[t]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),void 0!==(t=this.props.ref)?t:null}function a(t,n,i,s,a,c){var d,h=n.children;if(void 0!==h)if(s)if(F(h)){for(s=0;s<h.length;s++)l(h[s]);Object.freeze&&Object.freeze(h)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else l(h);if(_.call(n,"key")){h=e(t);var f=Object.keys(n).filter(function(e){return"key"!==e});s=0<f.length?"{key: someKey, "+f.join(": ..., ")+": ...}":"{key: someKey}",R[h+s]||(f=0<f.length?"{"+f.join(": ..., ")+": ...}":"{}",console.error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',s,h,f,h),R[h+s]=!0)}if(h=null,void 0!==i&&(r(i),h=""+i),function(e){if(_.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(n)&&(r(n.key),h=""+n.key),"key"in n)for(var m in i={},n)"key"!==m&&(i[m]=n[m]);else i=n;return h&&function(e,t){function n(){u||(u=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",t))}n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}(i,"function"==typeof t?t.displayName||t.name||"Unknown":t),function(e,t,n,r,i,s){var a=n.ref;return e={$$typeof:p,type:e,key:t,props:n,_owner:r},null!==(void 0!==a?a:null)?Object.defineProperty(e,"ref",{enumerable:!1,get:o}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:i}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:s}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}(t,h,i,null===(d=L.A)?null:d.getOwner(),a,c)}function l(e){c(e)?e._store&&(e._store.validated=1):"object"==typeof e&&null!==e&&e.$$typeof===w&&("fulfilled"===e._payload.status?c(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function c(e){return"object"==typeof e&&null!==e&&e.$$typeof===p}var u,d=t,p=Symbol.for("react.transitional.element"),h=Symbol.for("react.portal"),f=Symbol.for("react.fragment"),m=Symbol.for("react.strict_mode"),g=Symbol.for("react.profiler"),y=Symbol.for("react.consumer"),v=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),b=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),C=Symbol.for("react.activity"),N=Symbol.for("react.client.reference"),L=d.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,_=Object.prototype.hasOwnProperty,F=Array.isArray,U=console.createTask?console.createTask:function(){return null},z={},A=(d={react_stack_bottom_frame:function(e){return e()}}).react_stack_bottom_frame.bind(d,s)(),O=U(i(s)),R={};S.Fragment=f,S.jsx=function(e,t,n){var r=1e4>L.recentlyCreatedOwnerStacks++;return a(e,t,n,!1,r?Error("react-stack-top-frame"):A,r?U(i(e)):O)},S.jsxs=function(e,t,n){var r=1e4>L.recentlyCreatedOwnerStacks++;return a(e,t,n,!0,r?Error("react-stack-top-frame"):A,r?U(i(e)):O)}}()),S}var _=(N||(N=1,"production"===process.env.NODE_ENV?k.exports=function(){if(j)return w;j=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(t,n,r){var i=null;if(void 0!==r&&(i=""+r),void 0!==n.key&&(i=""+n.key),"key"in n)for(var s in r={},n)"key"!==s&&(r[s]=n[s]);else r=n;return n=r.ref,{$$typeof:e,type:t,key:i,ref:void 0!==n?n:null,props:r}}return w.Fragment=t,w.jsx=n,w.jsxs=n,w}():k.exports=L()),k.exports);const F=e=>{const[r,i]=t.useState([]),[s,o]=t.useState(!1),a=t.useRef(null),l=t.useCallback(()=>{e.chunkSize&&e.chunkSize>0?a.current=new x(Object.assign(Object.assign({},e),{onFileListChange:t=>{var n;i(t),null===(n=e.onFileListChange)||void 0===n||n.call(e,t)}})):a.current=new b(Object.assign(Object.assign({},e),{onFileListChange:t=>{var n;i(t),null===(n=e.onFileListChange)||void 0===n||n.call(e,t)}}))},[e]);return{fileList:r,uploading:s,handleFileSelect:t.useCallback(t=>{a.current||l();const n=Array.from(t).filter(t=>!(e.accept&&!u(t,e.accept))&&!!d(t,e.maxSize,e.minSize));n.length>0&&a.current.addFiles(n)},[e,l]),uploadAll:t.useCallback(()=>n(void 0,void 0,void 0,function*(){if(a.current){o(!0);try{yield a.current.uploadAll()}finally{o(!1)}}}),[]),cancelUpload:t.useCallback(e=>{var t;null===(t=a.current)||void 0===t||t.abortUpload(e)},[]),retryUpload:t.useCallback(e=>n(void 0,void 0,void 0,function*(){var t;yield null===(t=a.current)||void 0===t?void 0:t.retryUpload(e)}),[]),removeFile:t.useCallback(e=>{var t;null===(t=a.current)||void 0===t||t.removeFile(e)},[]),clearFiles:t.useCallback(()=>{var e;null===(e=a.current)||void 0===e||e.clearFiles()},[]),uploader:a.current}},U=({fileList:e,listType:t,onCancel:n,onRetry:r,onRemove:i})=>0===e.length?null:(()=>{switch(t){case"picture":return _.jsx("div",{className:"upload-list upload-list-picture",children:e.map(e=>_.jsxs("div",{className:"upload-list-item upload-list-item-picture",children:[_.jsx("div",{className:"upload-list-item-thumbnail",children:e.type.startsWith("image/")?_.jsx("img",{src:URL.createObjectURL(e.file),alt:e.name,onLoad:()=>URL.revokeObjectURL(URL.createObjectURL(e.file))}):_.jsx("div",{className:"upload-list-item-icon",children:e.type.split("/")[0]})}),_.jsxs("div",{className:"upload-list-item-info",children:[_.jsx("div",{className:"upload-list-item-name",children:e.name}),_.jsxs("div",{className:"upload-list-item-status",children:["uploading"===e.status&&_.jsxs(_.Fragment,{children:[_.jsxs("span",{className:"upload-list-item-progress",children:[e.percent,"%"]}),_.jsx("button",{className:"upload-list-item-action",onClick:()=>n(e.uid),children:"取消"})]}),"success"===e.status&&_.jsx("span",{className:"upload-list-item-success",children:"✓ 成功"}),"error"===e.status&&_.jsxs(_.Fragment,{children:[_.jsx("span",{className:"upload-list-item-error",children:"✗ 失败"}),_.jsx("button",{className:"upload-list-item-action",onClick:()=>r(e.uid),children:"重试"})]}),"canceled"===e.status&&_.jsxs(_.Fragment,{children:[_.jsx("span",{className:"upload-list-item-canceled",children:"已取消"}),_.jsx("button",{className:"upload-list-item-action",onClick:()=>r(e.uid),children:"重试"})]}),_.jsx("button",{className:"upload-list-item-action upload-list-item-remove",onClick:()=>i(e.uid),children:"删除"})]})]})]},e.uid))});case"picture-card":return _.jsx("div",{className:"upload-list upload-list-picture-card",children:e.map(e=>_.jsxs("div",{className:"upload-list-item upload-list-item-picture-card",children:[_.jsxs("div",{className:"upload-list-item-thumbnail",children:[e.type.startsWith("image/")?_.jsx("img",{src:URL.createObjectURL(e.file),alt:e.name,onLoad:()=>URL.revokeObjectURL(URL.createObjectURL(e.file))}):_.jsx("div",{className:"upload-list-item-icon",children:e.type.split("/")[0]}),_.jsx("div",{className:"upload-list-item-overlay",children:_.jsxs("div",{className:"upload-list-item-status",children:["uploading"===e.status&&_.jsxs(_.Fragment,{children:[_.jsxs("span",{className:"upload-list-item-progress",children:[e.percent,"%"]}),_.jsx("button",{className:"upload-list-item-action",onClick:()=>n(e.uid),children:"取消"})]}),"success"===e.status&&_.jsx("span",{className:"upload-list-item-success",children:"✓"}),"error"===e.status&&_.jsxs(_.Fragment,{children:[_.jsx("span",{className:"upload-list-item-error",children:"✗"}),_.jsx("button",{className:"upload-list-item-action",onClick:()=>r(e.uid),children:"重试"})]}),"canceled"===e.status&&_.jsxs(_.Fragment,{children:[_.jsx("span",{className:"upload-list-item-canceled",children:"已取消"}),_.jsx("button",{className:"upload-list-item-action",onClick:()=>r(e.uid),children:"重试"})]}),_.jsx("button",{className:"upload-list-item-action upload-list-item-remove",onClick:()=>i(e.uid),children:"删除"})]})})]}),_.jsx("div",{className:"upload-list-item-name",children:e.name})]},e.uid))});default:return _.jsx("div",{className:"upload-list upload-list-text",children:e.map(e=>{return _.jsxs("div",{className:"upload-list-item",children:[_.jsxs("div",{className:"upload-list-item-name",children:[_.jsx("span",{children:e.name}),_.jsxs("span",{className:"upload-list-item-size",children:["(",(t=e.size,t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(2)} KB`:`${(t/1048576).toFixed(2)} MB`),")"]})]}),_.jsxs("div",{className:"upload-list-item-status",children:["uploading"===e.status&&_.jsxs(_.Fragment,{children:[_.jsxs("span",{className:"upload-list-item-progress",children:[e.percent,"%"]}),_.jsx("button",{className:"upload-list-item-action",onClick:()=>n(e.uid),children:"取消"})]}),"success"===e.status&&_.jsx("span",{className:"upload-list-item-success",children:"✓ 成功"}),"error"===e.status&&_.jsxs(_.Fragment,{children:[_.jsx("span",{className:"upload-list-item-error",children:"✗ 失败"}),_.jsx("button",{className:"upload-list-item-action",onClick:()=>r(e.uid),children:"重试"})]}),"canceled"===e.status&&_.jsxs(_.Fragment,{children:[_.jsx("span",{className:"upload-list-item-canceled",children:"已取消"}),_.jsx("button",{className:"upload-list-item-action",onClick:()=>r(e.uid),children:"重试"})]}),_.jsx("button",{className:"upload-list-item-action upload-list-item-remove",onClick:()=>i(e.uid),children:"删除"})]})]},e.uid);var t})})}})(),z=({fileList:e,onUploadAll:t,onClear:n})=>{const r=(()=>{if(0===e.length)return 0;const t=e.reduce((e,t)=>e+t.size,0),n=e.reduce((e,t)=>e+(t.uploadedSize||0),0);return Math.round(n/t*100)})(),i=e.filter(e=>"uploading"===e.status).length,s=e.filter(e=>"success"===e.status).length,o=e.filter(e=>"error"===e.status).length;return 0===e.length?null:_.jsxs("div",{className:"upload-progress",children:[_.jsxs("div",{className:"upload-progress-header",children:[_.jsxs("div",{className:"upload-progress-status",children:[i>0&&_.jsxs("span",{className:"upload-progress-uploading",children:["正在上传 ",i," 个文件..."]}),0===i&&s>0&&_.jsxs("span",{className:"upload-progress-success",children:["已成功上传 ",s," 个文件"]}),o>0&&_.jsxs("span",{className:"upload-progress-error",children:["有 ",o," 个文件上传失败"]})]}),_.jsxs("div",{className:"upload-progress-actions",children:[_.jsx("button",{className:"upload-progress-action upload-progress-start",onClick:t,disabled:i>0,children:"开始上传"}),_.jsx("button",{className:"upload-progress-action upload-progress-clear",onClick:n,children:"清空"})]})]}),_.jsxs("div",{className:"upload-progress-bar-container",children:[_.jsx("div",{className:"upload-progress-bar",style:{width:`${r}%`}}),_.jsxs("div",{className:"upload-progress-text",children:[r,"%"]})]}),_.jsx("div",{className:"upload-progress-footer",children:_.jsxs("div",{className:"upload-progress-stats",children:[_.jsxs("span",{children:["总数: ",e.length]}),_.jsxs("span",{children:["成功: ",s]}),_.jsxs("span",{children:["失败: ",o]}),_.jsxs("span",{children:["等待: ",e.length-s-o-i]})]})})]})};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("/* 上传组件共享样式 */\n\n/* 基础样式 */\n.upload-container {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n}\n\n.upload-drag {\n border: 2px dashed #d9d9d9;\n border-radius: 6px;\n padding: 40px 20px;\n text-align: center;\n cursor: pointer;\n transition: border-color 0.3s;\n}\n\n.upload-drag:hover,\n.upload-dragover {\n border-color: #1890ff;\n}\n\n.upload-trigger {\n display: inline-block;\n cursor: pointer;\n}\n\n.upload-default {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #666;\n}\n\n.upload-icon {\n font-size: 32px;\n color: #999;\n margin-bottom: 8px;\n}\n\n.upload-text {\n font-size: 14px;\n}\n\n/* UploadList 样式 */\n.upload-list {\n margin-top: 12px;\n}\n\n.upload-list-item {\n display: flex;\n align-items: center;\n padding: 8px 0;\n border-bottom: 1px solid #f0f0f0;\n}\n\n.upload-list-item-name {\n flex: 1;\n font-size: 14px;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.upload-list-item-size {\n font-size: 12px;\n color: #999;\n margin-left: 8px;\n}\n\n.upload-list-item-status {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.upload-list-item-progress {\n font-size: 12px;\n color: #1890ff;\n}\n\n.upload-list-item-success {\n font-size: 12px;\n color: #52c41a;\n}\n\n.upload-list-item-error {\n font-size: 12px;\n color: #ff4d4f;\n}\n\n.upload-list-item-canceled {\n font-size: 12px;\n color: #999;\n}\n\n.upload-list-item-action {\n font-size: 12px;\n color: #1890ff;\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n}\n\n.upload-list-item-action:hover {\n text-decoration: underline;\n}\n\n.upload-list-item-remove {\n color: #999;\n}\n\n/* 图片类型样式 */\n.upload-list-item-picture {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n}\n\n.upload-list-item-thumbnail {\n position: relative;\n width: 100px;\n height: 100px;\n border-radius: 4px;\n overflow: hidden;\n border: 1px solid #f0f0f0;\n}\n\n.upload-list-item-thumbnail img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.upload-list-item-icon {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #f5f5f5;\n font-size: 12px;\n color: #999;\n}\n\n.upload-list-item-info {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n/* 图片卡片类型样式 */\n.upload-list-picture-card {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.upload-list-item-picture-card {\n width: 120px;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n border: none;\n padding: 0;\n}\n\n.upload-list-item-picture-card .upload-list-item-thumbnail {\n width: 120px;\n height: 120px;\n}\n\n.upload-list-item-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n}\n\n.upload-list-item-picture-card .upload-list-item-status {\n color: white;\n flex-direction: column;\n gap: 8px;\n}\n\n.upload-list-item-picture-card .upload-list-item-action {\n color: white;\n border: 1px solid white;\n padding: 2px 8px;\n border-radius: 4px;\n}\n\n.upload-list-item-picture-card .upload-list-item-action:hover {\n background-color: white;\n color: #1890ff;\n text-decoration: none;\n}\n\n.upload-list-item-picture-card .upload-list-item-name {\n font-size: 12px;\n text-align: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n\n/* Progress 组件样式 */\n.upload-progress {\n margin-top: 12px;\n padding: 12px;\n background-color: #fafafa;\n border-radius: 6px;\n}\n\n.upload-progress-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.upload-progress-status {\n font-size: 14px;\n color: #333;\n}\n\n.upload-progress-uploading {\n color: #1890ff;\n}\n\n.upload-progress-success {\n color: #52c41a;\n}\n\n.upload-progress-error {\n color: #ff4d4f;\n}\n\n.upload-progress-actions {\n display: flex;\n gap: 8px;\n}\n\n.upload-progress-action {\n font-size: 12px;\n padding: 4px 12px;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n background-color: white;\n cursor: pointer;\n transition: all 0.3s;\n}\n\n.upload-progress-action:hover {\n border-color: #1890ff;\n color: #1890ff;\n}\n\n.upload-progress-action:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.upload-progress-action:disabled:hover {\n border-color: #d9d9d9;\n color: #999;\n}\n\n.upload-progress-start {\n color: #1890ff;\n border-color: #1890ff;\n}\n\n.upload-progress-start:hover {\n background-color: #e6f7ff;\n}\n\n.upload-progress-clear {\n color: #666;\n}\n\n.upload-progress-bar-container {\n position: relative;\n height: 8px;\n background-color: #f0f0f0;\n border-radius: 4px;\n overflow: hidden;\n margin-bottom: 8px;\n}\n\n.upload-progress-bar {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n background-color: #1890ff;\n transition: width 0.3s ease;\n}\n\n.upload-progress-text {\n position: absolute;\n top: 0;\n right: 8px;\n height: 100%;\n display: flex;\n align-items: center;\n font-size: 12px;\n color: #666;\n}\n\n.upload-progress-footer {\n margin-top: 8px;\n}\n\n.upload-progress-stats {\n display: flex;\n gap: 16px;\n font-size: 12px;\n color: #999;\n}");exports.BaseUploader=f,exports.ParallelUploader=b,exports.ReactUpload=e=>{var{children:n,className:r="",style:i,drag:s=!1,showFileList:o=!0,listType:a="text"}=e,l=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}(e,["children","className","style","drag","showFileList","listType"]);const c=t.useRef(null),u=t.useRef(null),{fileList:d,uploading:p,handleFileSelect:h,uploadAll:f,cancelUpload:m,retryUpload:g,removeFile:y,clearFiles:v}=F(l),x=t.useCallback(()=>{var e;null===(e=c.current)||void 0===e||e.click()},[]),b=t.useCallback(e=>{e.target.files&&(h(e.target.files),e.target.value="")},[h]),j=t.useCallback(e=>{var t,n;e.preventDefault(),e.stopPropagation(),"dragenter"===e.type||"dragover"===e.type?null===(t=u.current)||void 0===t||t.classList.add("upload-dragover"):"dragleave"===e.type&&(null===(n=u.current)||void 0===n||n.classList.remove("upload-dragover"))},[]),k=t.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),null===(t=u.current)||void 0===t||t.classList.remove("upload-dragover"),e.dataTransfer.files&&h(e.dataTransfer.files)},[h]),w=()=>n||_.jsxs("div",{className:"upload-default",children:[_.jsx("div",{className:"upload-icon",children:"+"}),_.jsx("div",{className:"upload-text",children:"点击或拖拽文件到此区域上传"})]});return _.jsxs("div",{className:`upload-container ${r}`,style:i,children:[_.jsx("input",{ref:c,type:"file",style:{display:"none"},multiple:l.multiple,accept:l.accept,onChange:b}),s?_.jsx("div",{ref:u,className:"upload-drag",onClick:x,onDragEnter:j,onDragOver:j,onDragLeave:j,onDrop:k,children:w()}):_.jsx("div",{className:"upload-trigger",onClick:x,children:w()}),o&&_.jsx(U,{fileList:d,listType:a,onCancel:m,onRetry:g,onRemove:y}),p&&_.jsx(z,{fileList:d,onUploadAll:f,onClear:v})]})},exports.SliceUploader=x,exports.calculateChunkSize=e=>e<=10485760?e:e<=104857600?5242880:e<=1073741824?10485760:20971520,exports.calculateFileHash=h,exports.createFileChunks=p,exports.defaultConfig={url:"",method:"POST",timeout:3e4,maxRetries:3,retryDelay:1e3,chunkSize:5242880,chunkRetry:3,concurrent:3,autoUpload:!0,multiple:!1,withCredentials:!1},exports.formatFileSize=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB","TB"][t]},exports.generateFileId=l,exports.getFileExtension=c,exports.useReactUpload=F,exports.validateFileSize=d,exports.validateFileType=u;
11
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../node_modules/.pnpm/spark-md5@3.0.2/node_modules/spark-md5/spark-md5.js","../node_modules/.pnpm/yocto-queue@1.2.2/node_modules/yocto-queue/index.js","../node_modules/.pnpm/p-limit@7.2.0/node_modules/p-limit/index.js","../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-runtime.js","../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n","/*\nHow it works:\n`this.#head` is an instance of `Node` which keeps track of its current value and nests another instance of `Node` that keeps the value that comes after it. When a value is provided to `.enqueue()`, the code needs to iterate through `this.#head`, going deeper and deeper to find the last value. However, iterating through every single item is slow. This problem is solved by saving a reference to the last value as `this.#tail` so that it can reference it to add a new value.\n*/\n\nclass Node {\n\tvalue;\n\tnext;\n\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n}\n\nexport default class Queue {\n\t#head;\n\t#tail;\n\t#size;\n\n\tconstructor() {\n\t\tthis.clear();\n\t}\n\n\tenqueue(value) {\n\t\tconst node = new Node(value);\n\n\t\tif (this.#head) {\n\t\t\tthis.#tail.next = node;\n\t\t\tthis.#tail = node;\n\t\t} else {\n\t\t\tthis.#head = node;\n\t\t\tthis.#tail = node;\n\t\t}\n\n\t\tthis.#size++;\n\t}\n\n\tdequeue() {\n\t\tconst current = this.#head;\n\t\tif (!current) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#head = this.#head.next;\n\t\tthis.#size--;\n\n\t\t// Clean up tail reference when queue becomes empty\n\t\tif (!this.#head) {\n\t\t\tthis.#tail = undefined;\n\t\t}\n\n\t\treturn current.value;\n\t}\n\n\tpeek() {\n\t\tif (!this.#head) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.#head.value;\n\n\t\t// TODO: Node.js 18.\n\t\t// return this.#head?.value;\n\t}\n\n\tclear() {\n\t\tthis.#head = undefined;\n\t\tthis.#tail = undefined;\n\t\tthis.#size = 0;\n\t}\n\n\tget size() {\n\t\treturn this.#size;\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tlet current = this.#head;\n\n\t\twhile (current) {\n\t\t\tyield current.value;\n\t\t\tcurrent = current.next;\n\t\t}\n\t}\n\n\t* drain() {\n\t\twhile (this.#head) {\n\t\t\tyield this.dequeue();\n\t\t}\n\t}\n}\n","import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tvalidateConcurrency(concurrency);\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst resumeNext = () => {\n\t\t// Process the next queued function if we're under the concurrency limit\n\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\tactiveCount++;\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst next = () => {\n\t\tactiveCount--;\n\t\tresumeNext();\n\t};\n\n\tconst run = async (function_, resolve, arguments_) => {\n\t\t// Execute the function and capture the result promise\n\t\tconst result = (async () => function_(...arguments_))();\n\n\t\t// Resolve immediately with the promise (don't wait for completion)\n\t\tresolve(result);\n\n\t\t// Wait for the function to complete (success or failure)\n\t\t// We catch errors here to prevent unhandled rejections,\n\t\t// but the original promise rejection is preserved for the caller\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\t// Decrement active count and process next queued function\n\t\tnext();\n\t};\n\n\tconst enqueue = (function_, resolve, arguments_) => {\n\t\t// Queue the internal resolve function instead of the run function\n\t\t// to preserve the asynchronous execution context.\n\t\tnew Promise(internalResolve => { // eslint-disable-line promise/param-names\n\t\t\tqueue.enqueue(internalResolve);\n\t\t}).then(run.bind(undefined, function_, resolve, arguments_)); // eslint-disable-line promise/prefer-await-to-then\n\n\t\t// Start processing immediately if we haven't reached the concurrency limit\n\t\tif (activeCount < concurrency) {\n\t\t\tresumeNext();\n\t\t}\n\t};\n\n\tconst generator = (function_, ...arguments_) => new Promise(resolve => {\n\t\tenqueue(function_, resolve, arguments_);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue() {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t\tconcurrency: {\n\t\t\tget: () => concurrency,\n\n\t\t\tset(newConcurrency) {\n\t\t\t\tvalidateConcurrency(newConcurrency);\n\t\t\t\tconcurrency = newConcurrency;\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\t// eslint-disable-next-line no-unmodified-loop-condition\n\t\t\t\t\twhile (activeCount < concurrency && queue.size > 0) {\n\t\t\t\t\t\tresumeNext();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\tmap: {\n\t\t\tasync value(iterable, function_) {\n\t\t\t\tconst promises = Array.from(iterable, (value, index) => this(function_, value, index));\n\t\t\t\treturn Promise.all(promises);\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n\nexport function limitFunction(function_, options) {\n\tconst {concurrency} = options;\n\tconst limit = pLimit(concurrency);\n\n\treturn (...arguments_) => limit(() => function_(...arguments_));\n}\n\nfunction validateConcurrency(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n}\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":["exports","undefined","hex_chr","md5cycle","x","k","a","b","c","d","md5blk","s","i","md5blks","charCodeAt","md5blk_array","md51","length","tail","tmp","lo","hi","n","state","substring","toString","match","parseInt","md51_array","subarray","Uint8Array","rhex","j","hex","join","toUtf8","str","test","unescape","encodeURIComponent","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arr","arrayBuffer2Utf8Str","String","fromCharCode","apply","concatenateArrayBuffers","first","second","result","byteLength","set","hexToBinaryString","bytes","push","substr","SparkMD5","this","reset","prototype","slice","clamp","val","Math","max","min","from","to","num","target","targetArray","sourceArray","begin","end","append","appendBinary","contents","_buff","_length","_hash","raw","ret","_finish","getState","hash","setState","destroy","hashBinary","content","buffer","call","factory","Node","value","next","constructor","Queue","head","size","clear","enqueue","node","dequeue","current","peek","Symbol","iterator","drain","pLimit","concurrency","validateConcurrency","queue","activeCount","resumeNext","run","async","function_","resolve","arguments_","generator","Promise","internalResolve","then","bind","Object","defineProperties","get","pendingCount","clearQueue","newConcurrency","queueMicrotask","map","iterable","promises","Array","index","all","Number","isInteger","POSITIVE_INFINITY","TypeError","process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE","displayName","name","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","tag","console","error","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","_context","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","testStringCoercion","checkKeyStringCoercion","JSCompiler_inline_result","e","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","toStringTag","getTaskName","UnknownOwner","Error","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","props","ref","jsxDEVImpl","config","maybeKey","isStaticChildren","debugStack","debugTask","dispatcher","children","isArrayImpl","validateChildKeys","freeze","hasOwnProperty","keys","filter","didWarnAboutKeySpread","getter","getOwnPropertyDescriptor","isReactWarning","key","hasValidKey","propName","warnAboutAccessingKey","specialPropKeyWarningShown","defineProperty","configurable","defineKeyPropWarningGetter","owner","refProp","REACT_ELEMENT_TYPE","_owner","enumerable","_store","writable","ReactElement","ReactSharedInternals","A","getOwner","isValidElement","validated","status","object","React","require$$0","for","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","isArray","createTask","unknownOwnerDebugStack","react_stack_bottom_frame","callStackForError","unknownOwnerDebugTask","reactJsxRuntime_development","Fragment","jsx","trackActualOwner","recentlyCreatedOwnerStacks","jsxs","jsxRuntimeModule","jsxProd","reactJsxRuntime_production","require$$1","css","insertAt","document","getElementsByTagName","style","createElement","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}