k2-im 0.1.32 → 0.1.33

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.
@@ -0,0 +1,7 @@
1
+ import {wa as wa$1,G as G$1,J as J$1,f,g,i,Y as Y$1,Z as Z$1,aa as aa$1,ba as ba$1,W as W$1,X as X$1,L as L$1,M,F as F$1,I,m,e,K,H as H$1,N,P,R,Q as Q$1,S,T as T$1,U,V as V$1,ia as ia$1,ja as ja$1,xb,Ha as Ha$1,Ga as Ga$1,Fa as Fa$1,ga as ga$1,ka as ka$1,ea as ea$1,Ea as Ea$1,_,$ as $$1,l,s,Ca as Ca$1,Ba as Ba$1,ca as ca$1,da as da$1}from'./chunk-F6DQBWJW.js';import*as V from'node-forge';import V__default from'node-forge';import {deleteDB,openDB}from'idb';function Si(e,n=async t=>{let{createBrowserApiProtocolClient:r}=await import('./browser-YLMJKRLM.js');return r(t)}){let t=null;function r(){if(t!==null)return t;let o=n(e);return t=o,o.catch(()=>{t===o&&(t=null);}),o}return async(o,i)=>(await r())(o,i)}function Fn(){return typeof navigator<"u"&&typeof ClipboardItem=="function"&&typeof navigator.clipboard?.write=="function"}function Y(e){if(!e.isCurrent())throw new DOMException("Image copy is no longer active","AbortError")}async function Hn(e,n){if(Y(n),e.size===0)throw new Error("Empty clipboard image");let t=URL.createObjectURL(e),r=new Image,o;try{if(await new Promise((s,d)=>{r.onload=()=>s(),r.onerror=()=>d(new Error("Clipboard image decode failed")),r.src=t;}),Y(n),r.naturalWidth<=0||r.naturalHeight<=0)throw new Error("Invalid clipboard image dimensions");if(e.type==="image/png")return e;if(r.naturalWidth*r.naturalHeight>16777216)throw new Error("Clipboard image exceeds canvas pixel limit");o=document.createElement("canvas"),o.width=r.naturalWidth,o.height=r.naturalHeight;let i=o.getContext("2d");if(i===null)throw new Error("Clipboard canvas unavailable");i.drawImage(r,0,0);let a=await new Promise((s,d)=>{o.toBlob(c=>c===null?d(new Error("Clipboard PNG encoding failed")):s(c),"image/png");});return Y(n),a}finally{r.onload=null,r.onerror=null,r.src="",URL.revokeObjectURL(t),o!==void 0&&(o.width=o.height=0);}}async function Ai(e,n){if(n!==void 0&&n!==""){Y(e);let s=false,d={...e,isCurrent:()=>!s&&e.isCurrent()};try{if(!Fn())throw new Error("Image Clipboard API unavailable");let c=(async()=>Hn(await e.loadOriginal(),d))();return c.catch(()=>{}),await navigator.clipboard.write([new ClipboardItem({"image/png":c,"text/plain":new Blob([n],{type:"text/plain"})})]),Y(e),"original"}catch{return s=true,Y(e),await navigator.clipboard.writeText(n),Y(e),"text"}finally{s=true;}}if(!Fn())throw new Error("Image Clipboard API unavailable");Y(e);let t=false,r={...e,isCurrent:()=>!t&&e.isCurrent()},o={quality:"original"},i=async()=>(Y(r),o.quality="thumbnail",Hn(await e.loadThumbnail(),r)),a=(async()=>{try{return await Hn(await e.loadOriginal(),r)}catch(s){Y(r);try{return await i()}catch(d){throw Y(r),new AggregateError([s,d],"Original and thumbnail copy failed")}}})();a.catch(()=>{});try{try{await navigator.clipboard.write([new ClipboardItem({"image/png":a})]);}catch(s){if(Y(r),typeof s=="object"&&s!==null&&"name"in s&&(s.name==="NotAllowedError"||s.name==="SecurityError")||(await a,Y(r),o.quality==="thumbnail"))throw s;let d=i();d.catch(()=>{}),await navigator.clipboard.write([new ClipboardItem({"image/png":d})]);}return Y(r),o.quality}finally{t=true;}}var H=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="MediaTransferError",this.code=n;}};function Mi(e){return e instanceof H?e.code:void 0}var _i=3600*1e3,xi=300*1e3;function pe(...e){for(let n of e){if(typeof n!="string"&&typeof n!="number")continue;let t=String(n).trim();if(t!=="")return t}return ""}function Ei(e){let n=Number(e);if(!(!Number.isFinite(n)||n<=0))return n>1e12?n/1e3:n}function Ri(e){let n=e.replace(/\/+$/,"");return n===""?"":/^https?:\/\//i.test(n)?n:`https://${n}`}function yr(e){if(e===null||typeof e!="object")throw new H("credentials-invalid","S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u56DE\u5305\u4E0D\u662F\u5BF9\u8C61");let n=e,t=pe(n.access_key_id,n.accessKeyId),r=pe(n.secret_key,n.secretKey,n.secretAccessKey),o=pe(n.session_token,n.sessionToken).replace(/\s+/g,""),i=pe(n.bucket),a=pe(n.region),s=Ri(pe(n.dns_point,n.dnsPoint)),d=[t===""?"access_key_id":"",r===""?"secret_key":"",o===""?"session_token":"",i===""?"bucket":"",a===""?"region":"",s===""?"dns_point":""].filter(h=>h!=="");if(d.length>0)throw new H("credentials-invalid",`S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u7F3A\u5C11 ${d.join("\u3001")}`);let c=Ei(n.expiration??n.expiresAtSeconds),g=pe(n.key_prefix,n.keyPrefix),C=pe(n.identity_id,n.identityId);return {accessKeyId:t,secretAccessKey:r,sessionToken:o,bucket:i,region:a,dnsPoint:s,...c===void 0?{}:{expiresAtSeconds:c},...g===""?{}:{keyPrefix:g},...C===""?{}:{identityId:C}}}function Ti(e,n){if(n-e.fetchedAtMs>=_i)return false;let{expiresAtSeconds:t}=e.credential;return t===void 0?true:t*1e3-xi>n}function hr(e){let n=new Map,t=new Map;async function r(o,i){let a;try{a=await e({bucket:o,forceRefresh:i});}catch(d){let c=d instanceof Error?d.message:String(d);throw new H("credentials-request-failed",`S3 \u4E0A\u4F20\u51ED\u8BC1\u83B7\u53D6\u5931\u8D25\uFF1Abucket=${o}\uFF1B\u539F\u56E0\uFF1A${c}`,{cause:d})}let s=yr(a);return n.set(o,{credential:s,fetchedAtMs:Date.now()}),s}return {resolve(o,i){if(e===void 0)return Promise.reject(new H("credentials-provider-missing","media upload: \u5BBF\u4E3B\u672A\u6CE8\u5165 getUploadCredentials\uFF0C\u65E0\u6CD5\u7533\u8BF7 S3 \u4E34\u65F6\u51ED\u8BC1"));let a=i?.forceRefresh===true,s=a?void 0:n.get(o);if(s!==void 0&&Ti(s,Date.now()))return Promise.resolve(s.credential);n.delete(o);let d=t.get(o);if(d!==void 0)return d;let c=r(o,a).finally(()=>{t.get(o)===c&&t.delete(o);});return t.set(o,c),c}}}function ki(){if(typeof window>"u"||typeof document>"u")return {recordingSupported:false,recordingBlockers:["no-media-devices"],playbackSupported:false};let e=[];window.isSecureContext===false&&e.push("insecure-context"),(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)&&e.push("no-media-devices"),typeof MediaRecorder>"u"&&e.push("no-media-recorder");let n=window,t=window.AudioContext!==void 0||n.webkitAudioContext!==void 0,r=window.OfflineAudioContext!==void 0||n.webkitOfflineAudioContext!==void 0;return (!t||!r)&&e.push("audio-context-blocked"),{recordingSupported:e.length===0,recordingBlockers:e,playbackSupported:typeof Audio<"u"}}var L=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="VoiceError",this.code=n;}};function ln(e){return e instanceof L?e.code:void 0}function br(e){switch(e instanceof DOMException||e instanceof Error?e.name:""){case "NotAllowedError":case "SecurityError":case "PermissionDeniedError":return new L("permission-denied","\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u62D2\u7EDD",{cause:e});case "NotFoundError":case "DevicesNotFoundError":return new L("device-not-found","\u672A\u627E\u5230\u53EF\u7528\u9EA6\u514B\u98CE",{cause:e});case "NotReadableError":case "TrackStartError":case "AbortError":return new L("device-busy","\u9EA6\u514B\u98CE\u88AB\u5360\u7528\u6216\u542F\u52A8\u5931\u8D25",{cause:e});default:return new L("device-busy",e instanceof Error?e.message:"\u9EA6\u514B\u98CE\u542F\u52A8\u5931\u8D25",{cause:e})}}var re=16e3,Di=new URL("./speex-runtime.txt",import.meta.url).href,$n=null,Ui=15e3;async function Oi(){document.querySelector('script[data-speex-runtime="true"]')?.remove();let e=new AbortController,n=setTimeout(()=>e.abort(new Error("Speex runtime fetch timeout")),Ui),t;try{t=await fetch(Di,{signal:e.signal});}finally{clearTimeout(n);}if(!t.ok)throw new Error(`Speex runtime fetch failed: ${t.status}`);let r=await t.text();if(r.trimStart().startsWith("<"))throw new Error("Speex runtime fetch returned HTML instead of script");let o=document.createElement("script");o.dataset.speexRuntime="true",o.text=r,document.head.appendChild(o);}async function jn(){let e=typeof window>"u"?void 0:window;return e?.__speexInH5!==void 0?e.__speexInH5:($n??=(async()=>{if(e===void 0||typeof document>"u")throw new L("codec-unavailable","Speex \u8FD0\u884C\u65F6\u4EC5\u53EF\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u52A0\u8F7D");if(await Oi(),e.__speexInH5===void 0&&e.initAudio?.(),e.__speexInH5===void 0)throw new L("codec-unavailable","Speex \u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return e.__speexInH5})().catch(n=>{throw $n=null,n instanceof L?n:new L("codec-unavailable","Speex \u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25",{cause:n})}),$n)}function Cr(){jn().catch(()=>{});}function fe(e,n,t){for(let r=0;r<t.length;r+=1)e.setUint8(n+r,t.charCodeAt(r));}function Bi(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);fe(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),fe(o,8,"WAVE"),fe(o,12,"fmt "),o.setUint32(16,16,true),o.setUint16(20,1,true),o.setUint16(22,1,true),o.setUint32(24,n,true),o.setUint32(28,n*2,true),o.setUint16(32,2,true),o.setUint16(34,16,true),fe(o,36,"data"),o.setUint32(40,e.length*2,true);let i=44;for(let a=0;a<e.length;a+=1){let s=Math.max(-1,Math.min(1,e[a]??0));o.setInt16(i,s<0?s*32768:s*32767,true),i+=2;}return r}function qn(e){if(e instanceof Int16Array)return e;let n=new Int16Array(e.length);for(let t=0;t<e.length;t+=1){let r=Math.max(-1,Math.min(1,e[t]??0));n[t]=r<0?r*32768:r*32767;}return n}var Ni=40,Jn=120,Ki=40,Vn=80;function Gi(e,n){let t=Math.min(Math.floor(n*Ni/1e3),Math.floor(e.length/2));for(let r=0;r<t;r+=1){let o=r/t;e[r]=Math.round((e[r]??0)*o);let i=e.length-1-r;e[i]=Math.round((e[i]??0)*o);}return e}function zn(e,n){if(e.length===0)return e;let t=Math.min(Math.floor(n*Jn/1e3),Math.max(0,e.length-1)),r=t>0?e.subarray(t):e,o=new Float32Array(r),i=Math.min(Math.floor(n*Ki/1e3),Math.floor(o.length/2));for(let a=0;a<i;a+=1){let s=a/i;o[a]=(o[a]??0)*s;let d=o.length-1-a;o[d]=(o[d]??0)*s;}return o}function pn(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);return fe(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),fe(o,8,"WAVE"),fe(o,12,"fmt "),o.setUint32(16,16,true),o.setUint16(20,1,true),o.setUint16(22,1,true),o.setUint32(24,n,true),o.setUint32(28,n*2,true),o.setUint16(32,2,true),o.setUint16(34,16,true),fe(o,36,"data"),o.setUint32(40,e.length*2,true),new Int16Array(r,44).set(e),new Uint8Array(r)}function Li(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t+=1)n[t]=e.charCodeAt(t)&255;return n}function Hi(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,Math.min(r+32768,e.length)));return t}async function wr(e,n){let t=await jn(),r=Math.floor(n*Vn/1e3),o=new Float32Array(r+e.length);o.set(e,r);let i=Bi(o,n);try{return Li(t.encodeFile(i))}catch(a){throw new L("encode-failed","\u8BED\u97F3\u7F16\u7801\u5931\u8D25",{cause:a})}}async function Pr(e){let n=await jn();try{let[t,r]=n.decodeFile(Hi(e));if(t.length===0)throw new Error("decoded empty pcm");let o=Gi(qn(t),r.rate>0?r.rate:re),i=r.rate>0?r.rate:re;return {samples:o,sampleRate:i,durationMs:Math.round(o.length/i*1e3)}}catch(t){throw t instanceof L?t:new L("decode-failed","\u8BED\u97F3\u89E3\u7801\u5931\u8D25",{cause:t})}}async function Ir(e){let n=await Pr(e);return {wavData:pn(n.samples,n.sampleRate),durationMs:n.durationMs}}var Fi=.5,$i=2;function vr(e){if(typeof e!="number"||!Number.isFinite(e))throw new L("invalid-playback-rate",`\u64AD\u653E\u901F\u7387\u5FC5\u987B\u662F\u6709\u9650\u6570\u5B57\uFF0C\u6536\u5230 ${String(e)}`);return Math.min(Math.max(e,Fi),$i)}function ji(e={}){let n=e.cacheMax??8,t={activeId:"",isPlaying:false,loadingId:"",progress:0,currentTimeMs:0,errorIds:new Set,playbackRate:e.playbackRate===void 0?1:vr(e.playbackRate)},r=new Set;function o(){for(let f of r)f(t);}let i=null,a=new Map,s=0,d=false,c=false;function g(f){let P=a.get(f);return P!==void 0&&(a.delete(f),a.set(f,P)),P}function C(f,P){if(d)return URL.revokeObjectURL(P.url),P;let M=a.get(f);if(M!==void 0)return URL.revokeObjectURL(P.url),a.delete(f),a.set(f,M),M;for(a.set(f,P);a.size>n;){let _;for(let E of a.keys())if(E!==t.activeId){_=E;break}if(_===void 0)break;let D=a.get(_);a.delete(_),D!==void 0&&URL.revokeObjectURL(D.url);}return P}function h(f){f.paused||f.pause(),f.removeAttribute("src");try{f.load();}catch{}}function l(f,P){return !d&&f===s&&t.activeId===P}function b(f){f.defaultPlaybackRate=t.playbackRate,f.playbackRate=t.playbackRate;}function v(){if(i!==null)return i;let f=new Audio;return f.preload="auto",b(f),f.addEventListener("timeupdate",()=>{t.activeId!==""&&(t.currentTimeMs=f.currentTime*1e3,t.progress=f.duration>0?Math.min(1,f.currentTime/f.duration):0,o());}),f.addEventListener("ended",()=>{A(),h(f),o();}),f.addEventListener("pause",()=>{t.activeId!==""&&(t.isPlaying=false,o());}),i=f,f}function A(){t.activeId="",t.isPlaying=false,t.progress=0,t.currentTimeMs=0;}function R(){s+=1,c=false,t.loadingId="",A(),i!==null&&h(i),o();}function k(f){t.errorIds=new Set([...t.errorIds,f]);}function x(f){if(!t.errorIds.has(f))return;let P=new Set(t.errorIds);P.delete(f),t.errorIds=P;}async function S(f,P){let M=g(f);if(M!==void 0)return {entry:M};let _;try{_=await P();}catch(D){return {entry:null,error:{code:ln(D),cause:D}}}if(_===null)return {entry:null};try{let{wavData:D,durationMs:E}=await Ir(_),U={url:URL.createObjectURL(new Blob([D],{type:"audio/wav"})),durationMs:E};return {entry:C(f,U)}}catch(D){return {entry:null,error:{code:ln(D),cause:D}}}}async function u(f,P){if(d)return;let M=v();if(x(f),t.activeId===f){if(t.isPlaying){M.pause();return}let E=++s;try{await M.play();}catch{if(!l(E,f))return;k(f),o();return}if(!l(E,f))return;t.isPlaying=true,o(),P.onPlayStart?.();return}if(t.loadingId===f)return;R();let _=++s;t.loadingId=f,o();let D=await S(f,P.load);if(_===s){if(t.loadingId="",D.entry===null){k(f),o(),D.error!==void 0&&P.onDecodeError?.(D.error.code,D.error.cause);return}M.src=D.entry.url,b(M),t.activeId=f,t.progress=0,t.currentTimeMs=0,o();try{await M.play();}catch(E){if(!l(_,f))return;A(),h(M),k(f),o(),P.onDecodeError?.(void 0,E);return}l(_,f)&&(t.isPlaying=true,o(),P.onPlayStart?.());}}function m(f,P){i===null||t.activeId!==f||!Number.isFinite(i.duration)||i.duration<=0||(i.currentTime=Math.min(Math.max(P,0),.999)*i.duration);}function w(f){i===null||t.activeId!==f||t.isPlaying&&(c=true,i.pause());}function p(f){if(i===null||t.activeId!==f||!c)return;c=false;let P=++s;i.play().then(()=>{l(P,f)&&(t.isPlaying=true,o());}).catch(()=>{l(P,f)&&(k(f),o());});}function y(f){let P=vr(f);P!==t.playbackRate&&(t.playbackRate=P,i!==null&&b(i),o());}function I(){if(!d){d=true,R();for(let f of a.values())URL.revokeObjectURL(f.url);a.clear(),r.clear(),i=null;}}return {getState:()=>t,subscribe:f=>(r.add(f),()=>r.delete(f)),toggle:u,seek:m,beginScrub:w,endScrub:p,setPlaybackRate:y,stop:R,dispose:I}}function qi(e){if(e.length===0)return 0;let n=0;for(let t=0;t<e.length;t+=1){let r=((e[t]??128)-128)/128;n+=r*r;}return Math.min(1,Math.sqrt(n/e.length)*Math.SQRT2)}function Ji(e,n,t){if(e.length===0||n<=0||t<=0)return 0;let r=n/t,o=0,i=0;for(let a=0;a<e.length;a+=1){let s=a*r,d=.2;s<200?d=.15:s<300?d=.4:s<=3400?d=1:s<=6e3&&(d=.45),o+=(e[a]??0)/255*d,i+=d;}return i>0?o/i:0}function Sr(e){let n=qi(e.timeDomain),t=Ji(e.frequency,e.sampleRate,e.fftSize),r=n*.55+t*.45;return Math.min(1,r*e.boost)**.72}var fn=class{constructor(n=.45,t=.18){this.attack=n;this.release=t;}attack;release;value=0;next(n){let t=Math.min(1,Math.max(0,n));return t>this.value?this.value+=(t-this.value)*this.attack:this.value+=(t-this.value)*this.release,this.value}};var Vi=5e3,Wn=15e3,zi=25e3,Wi=25e3;function Ke(e,n,t){return new Promise((r,o)=>{let i=setTimeout(()=>o(new Error(t)),n);e.then(a=>{clearTimeout(i),r(a);},a=>{clearTimeout(i),o(a);});})}async function Yi(){if(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)throw new L("no-media-devices","\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9EA6\u514B\u98CE\u91C7\u96C6");let e=navigator.mediaDevices.getUserMedia({audio:Qi()});try{return await Ke(e,Wi,"\u9EA6\u514B\u98CE\u6388\u6743\u8BF7\u6C42\u8D85\u65F6")}catch(n){throw e.then(t=>t.getTracks().forEach(r=>r.stop())).catch(()=>{}),br(n)}}function Qi(){return {channelCount:1,echoCancellation:true,noiseSuppression:true,autoGainControl:true}}var Xi=50,Zi=.12,ea=2.6,na=.06,ta=256;function ra(){return typeof MediaRecorder>"u"?"":["audio/webm","audio/webm;codecs=opus","audio/mp4","audio/aac","audio/ogg;codecs=opus"].find(n=>MediaRecorder.isTypeSupported(n))??""}async function oa(e,n,t){let r=window.AudioContext??window.webkitAudioContext,o=window.OfflineAudioContext??window.webkitOfflineAudioContext;if(o===void 0||t==null&&r===void 0)throw new L("audio-context-blocked","AudioContext \u4E0D\u53EF\u7528");let i=t??new r,a=t==null;try{i.state==="suspended"&&await Ke(i.resume(),Wn,"audioContext.resume timeout").catch(()=>{});let s=await Ke(i.decodeAudioData(await e.arrayBuffer()),Wn,"decodeAudioData timeout"),d=Math.max(1,Math.ceil(s.duration*n)),c=new o(1,d,n),g=c.createBufferSource();return g.buffer=s,g.connect(c.destination),g.start(0),(await Ke(c.startRendering(),Wn,"offlineAudioContext.startRendering timeout")).getChannelData(0).slice()}catch(s){throw s instanceof L?s:new L("decode-failed","\u5F55\u97F3\u6BB5\u89E3\u7801\u5931\u8D25",{cause:s})}finally{a&&i.close().catch(()=>{});}}function Ar(e){let n=0;for(let o of e)n+=o.length;let t=new Float32Array(n),r=0;for(let o of e)t.set(o,r),r+=o.length;return t}async function ia(e={}){if(typeof MediaRecorder>"u")throw new L("no-media-recorder","\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u5F55\u97F3");let n;e.stream!==void 0?n=e.stream:n=await Yi(),Cr();let t=ra(),r=e.maxDurationMs??6e4,o="recording",i=[],a=0,s=[],d=null,c=null,g=null,C=[],h=0,l=false;function b(){try{let f;try{f=t!==""?new MediaRecorder(n,{mimeType:t}):new MediaRecorder(n);}catch{f=new MediaRecorder(n);}return C=[],f.ondataavailable=P=>{P.data.size>0&&C.push(P.data);},f.start(250),h=Date.now(),f}catch(f){throw f instanceof L?f:new L("device-busy","\u5F55\u97F3\u5668\u542F\u52A8\u5931\u8D25",{cause:f})}}let v=e.amplitude?.intervalMs??Xi,A=e.amplitude?.boost??ea,R=e.amplitude?.smoothing??Zi,k=e.amplitude?.minVolume??na;function x(){let f=Math.floor(r/1e3*re),P=0;for(let _ of i)P+=_.length;if(P>f){let _=f,D=[];for(let E of i){if(_<=0)break;E.length<=_?(D.push(E),_-=E.length):(D.push(E.slice(0,_)),_=0);}i.length=0,i.push(...D);}a=Math.min(a,r);let M=Math.max(0,Math.ceil(r/v));s.length>M&&(s.length=M);}async function S(){if(o!=="recording"){e.onMaxDuration?.();return}e.onMaxDuration?.(),o="paused";let f=I().then(()=>x());g=f;try{await f;}catch(P){console.warn("[im-browser] pauseAtMaxDuration settle failed",P);}}let u=setInterval(()=>{!l&&o==="recording"&&p()>=r&&(l=true,S());},250),m=null,w=null;try{let f=window.AudioContext??window.webkitAudioContext;if(f!==void 0){m=new f,m.state==="suspended"&&m.resume().catch(()=>{});let P=m.createMediaStreamSource(n),M=m.createAnalyser();M.fftSize=ta,M.smoothingTimeConstant=R,P.connect(M);let _=new Uint8Array(M.frequencyBinCount),D=new Uint8Array(M.fftSize),E=new fn;w=setInterval(()=>{if(o!=="recording"||d===null)return;M.getByteFrequencyData(_),M.getByteTimeDomainData(D);let U=Sr({timeDomain:D,frequency:_,sampleRate:m.sampleRate,fftSize:M.fftSize,boost:A}),O=E.next(U),N=O<k?0:O;s.push(Math.round(N*255)),e.onAmplitude?.(N);},v);}}catch(f){console.warn("[im-browser] amplitude analyser setup failed",f);}function p(){let f=o==="recording"&&d!==null?Date.now()-h:0;return a+f}function y(){u!==null&&(clearInterval(u),u=null),w!==null&&(clearInterval(w),w=null),m?.close().catch(()=>{}),m=null;for(let f of n.getTracks())f.stop();}function I(){if(c!==null)return c;let f=d;return f===null?Promise.resolve():(d=null,c=(async()=>{await new Promise(_=>{if(f.state==="inactive"){_();return}let D=setTimeout(()=>{console.warn("[im-browser] recorder onstop timed out, settling with received chunks"),_();},Vi);f.onstop=()=>{clearTimeout(D),_();},f.stop();});let P=new Blob(C,{type:f.mimeType||t||"audio/webm"});if(C=[],P.size===0)return;let M=await oa(P,re,m);M.length!==0&&(i.push(M),a+=M.length/re*1e3);})().finally(()=>{c=null;}),c)}try{d=b();}catch(f){throw o="closed",y(),f}return {getState:()=>o,recordedMs:p,async pause(){o==="recording"&&(o="paused",await I(),(l||a>=r)&&x());},async resume(){o!=="paused"||l||(d=b(),o="recording");},async finish(){if(o==="closed")throw new L("empty-recording","\u5F55\u97F3\u4F1A\u8BDD\u5DF2\u7ED3\u675F");o="closed";let f=async()=>{try{g!==null?await g:await I(),x();}finally{y();}let P=Ar(i);if(P.length===0)throw new L("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let M=zn(P,re);if(M.length===0)throw new L("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let _=Math.min(s.length,Math.ceil(Jn/v));return {data:await wr(M,re),durationMs:Math.round(M.length/re*1e3)+Vn,waveform:s.slice(_),filename:`AUDIO_${Date.now()}.ogg`,mimeType:"audio/ogg"}};try{return await Ke(f(),zi,"\u5F55\u97F3\u5B9A\u7A3F\u8D85\u65F6")}catch(P){throw y(),P instanceof L?P:new L("encode-failed","\u5F55\u97F3\u5B9A\u7A3F\u5931\u8D25",{cause:P})}},cancel(){o="closed";let f=d;if(d=null,f!==null&&(f.ondataavailable=null,f.onstop=null,f.state!=="inactive"))try{f.stop();}catch{}i.length=0,y();},async previewWav(){g!==null?await g:c!==null&&await c,x();let f=Ar(i),P=zn(f,re);if(P.length===0)throw new L("empty-recording","\u6682\u65E0\u53EF\u8BD5\u542C\u7684\u5F55\u97F3\u5185\u5BB9");return {wavData:pn(qn(P),re),durationMs:Math.round(P.length/re*1e3)}}}}function Se(e){let n=new Map;return {shouldRenegotiate(t,r,o){if(r===void 0)return true;if(o!==void 0&&!e(o,r))return false;let i=n.get(t);return i!==void 0&&e(i,r)?false:(n.set(t,r),true)},reset(t){n.delete(t);}}}function Mr(e,n){return e.length===n.length&&e.every((t,r)=>t===n[r])}var oe=class extends Error{constructor(n,t){super(n,t),this.name="ChannelKeyError";}};function _r(e){let n=e.trim(),t=n.replace(/-/g,"+").replace(/_/g,"/");if(t===""||!/^[A-Z0-9+/]*={0,2}$/i.test(t)||t.length%4===1)throw new oe("channel secret_key \u4E0D\u662F\u5408\u6CD5 Base64");let r=t.replace(/=+$/,""),o=r+"=".repeat((4-r.length%4)%4),i;try{i=atob(o);}catch(c){throw new oe("channel secret_key Base64 \u89E3\u7801\u5931\u8D25",{cause:c})}let a=Uint8Array.from(i,c=>c.charCodeAt(0)&255);if(a.length===0)throw new oe("channel secret_key Base64 \u89E3\u7801\u7ED3\u679C\u4E3A\u7A7A");let s=new Uint8Array(16);s.set(a.subarray(0,s.length));let d=n.length===16&&/^[\x20-\x7E]+$/.test(n)?Uint8Array.from(n,c=>c.charCodeAt(0)):void 0;return {canonical:s,...d===void 0?{}:{legacyAscii:d},metadata:{channelKeyCharLength:n.length,decodedByteLength:a.length,padByteCount:Math.max(0,16-a.length),legacyAsciiCandidate:d!==void 0}}}function aa(e){let n=new Map,t=new Map,r=new Map,o=new Map,i=Se(Mr);function a(S){return {canonical:S.canonical.slice(),...S.legacyAscii===void 0?{}:{legacyAscii:S.legacyAscii.slice()},metadata:{...S.metadata}}}function s(S){return [{strategy:"canonical-base64-pad",key:S.canonical.slice()},...S.legacyAscii===void 0?[]:[{strategy:"legacy-ascii16",key:S.legacyAscii.slice()}]]}function d(S){n.delete(S),t.delete(S),r.delete(S),o.set(S,(o.get(S)??0)+1);}function c(S){let u=o.get(S)??0,m=(async()=>{try{let w=await e.loadSecretKey(S);if(w===null||w.trim()==="")throw new oe(`channel secret_key \u7F3A\u5931\uFF08channelId=${S}\uFF09`);let p=_r(w);return (o.get(S)??0)===u&&n.set(S,a(p)),p}catch(w){let p=w instanceof oe?w:new oe(`channel secret_key \u52A0\u8F7D\u5931\u8D25\uFF08channelId=${S}\uFF09`,{cause:w});throw e.onError?.(p.message,w),p}})().finally(()=>{t.get(S)===m&&t.delete(S);});return t.set(S,m),m}function g(S,u){let m=t.get(S);if(m!==void 0)return m;i.shouldRenegotiate(S,u.staleKey,n.get(S)?.canonical)&&d(S);}function C(S,u){let m=S.trim();if(m===""){let p=new oe("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(p.message),Promise.reject(p)}if(u!==void 0){let p=g(m,u);if(p!==void 0)return p.then(a)}let w=n.get(m);return w!==void 0?Promise.resolve(a(w)):t.get(m)??c(m)}function h(S,u){let m=S.trim();if(m===""){let I=new oe("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(I.message),Promise.reject(I)}if(u!==void 0){let I=g(m,u);if(I!==void 0)return I.then(f=>f.canonical.slice())}let w=n.get(m);if(w!==void 0)return Promise.resolve(w.canonical.slice());let p=r.get(m);if(p!==void 0)return p;let y=(t.get(m)??c(m)).then(I=>I.canonical.slice()).finally(()=>{r.get(m)===y&&r.delete(m);});return r.set(m,y),y}function l(S){return n.get(S.trim())?.canonical.slice()??null}async function b(S,u){let m=await C(S,u);return s(m)}function v(S){let u=n.get(S.trim());return u===void 0?[]:s(u)}function A(S){let u=n.get(S.trim());return u===void 0?null:{...u.metadata}}function R(S,u){let m=S.trim();if(m==="")throw new oe("channel id \u4E0D\u80FD\u4E3A\u7A7A");let w=_r(u);d(m),i.reset(m),n.set(m,a(w));}function k(S){let u=S.trim();u!==""&&(d(u),i.reset(u));}function x(){let S=new Set([...n.keys(),...t.keys(),...r.keys(),...o.keys()]);for(let u of S)o.set(u,(o.get(u)??0)+1),i.reset(u);n.clear(),t.clear(),r.clear();}return {getChannelKey:h,getCachedChannelKey:l,getChannelKeyCandidates:b,getCachedChannelKeyCandidates:v,getCachedChannelKeyMetadata:A,primeChannelKey:R,clearChannelKey:k,clearAll:x}}function Yn(){let e=globalThis.scheduler;return typeof e?.yield=="function"?e.yield():new Promise(n=>setTimeout(n,0))}var Zn=2654435769,xr=16,Ae=8,Qn=16,Er=32;function Rr(e){if(e.length<Qn)throw new Error(`TEA key \u957F\u5EA6\u4E0D\u8DB3\uFF1A${e.length}\uFF0C\u9700 \u2265 ${Qn} \u5B57\u8282`);let n=new DataView(e.buffer,e.byteOffset,Qn);return [n.getUint32(0,true),n.getUint32(4,true),n.getUint32(8,true),n.getUint32(12,true)]}function et([e,n],[t,r,o,i]){let a=e>>>0,s=n>>>0,d=Math.imul(Zn,16)>>>0;for(let c=0;c<xr;c++)s=s-(Math.imul(a,16)+o^a+d^(a>>>5)+i)>>>0,a=a-(Math.imul(s,16)+t^s+d^(s>>>5)+r)>>>0,d=d-Zn>>>0;return [a,s]}function nt([e,n],[t,r,o,i]){let a=e>>>0,s=n>>>0,d=0;for(let c=0;c<xr;c++)d=d+Zn>>>0,a=a+(Math.imul(s,16)+t^s+d^(s>>>5)+r)>>>0,s=s+(Math.imul(a,16)+o^a+d^(a>>>5)+i)>>>0;return [a,s]}function Ge(e,n,t,r){let o=Rr(n),i=new Uint8Array(e.length),a=Math.floor(e.length/Ae),s=r===void 0?a:Math.min(a,Math.floor(r/Ae)),d=new DataView(e.buffer,e.byteOffset,e.byteLength),c=new DataView(i.buffer);for(let C=0;C<s;C++){let h=C*Ae,[l,b]=t([d.getUint32(h,true),d.getUint32(h+4,true)],o);c.setUint32(h,l,true),c.setUint32(h+4,b,true);}let g=s*Ae;return g<e.length&&i.set(e.subarray(g),g),i}function Le(e,n){return Ge(n,e,et)}function He(e,n){return Ge(n,e,nt)}function Tr(e,n){return Ge(n,e,nt,Er)}function kr(e,n){return Ge(n,e,et,Er)}var sa=1024*1024;function ca(){return Yn()}function Xn(e){if(e?.aborted)throw new DOMException("TEA \u5206\u5757\u5904\u7406\u5DF2\u53D6\u6D88","AbortError")}async function tt(e,n,t,r=sa,o={}){if(!Number.isInteger(r)||r<=0||r%Ae!==0)throw new RangeError(`TEA \u5206\u5757\u5927\u5C0F\u5FC5\u987B\u662F ${Ae} \u7684\u6B63\u6574\u6570\u500D\uFF1A${r}`);Rr(e);let i=t==="encrypt"?nt:et,a=o.yieldToMain??ca,s=n.size,d=[],c=0;for(;c<s;){Xn(o.signal);let g=Math.min(c+r,s),C=new Uint8Array(await n.slice(c,g).arrayBuffer());Xn(o.signal),d.push(new Blob([Ge(C,e,i)])),c=g,o.onProgress?.(c,s),c<s&&await a();}return Xn(o.signal),new Blob(d)}var Dr=8,mn=16;function da(e){let n=V.md.md5.create();return n.update(e,"utf8"),n.digest().toHex()}function Or(e){return new TextEncoder().encode(e)}function ua(e){let n=e.length;for(;n>0&&e[n-1]===0;)n-=1;return new TextDecoder().decode(e.subarray(0,n))}function la(e){let n=atob(e),t=new Uint8Array(n.length);for(let r=0;r<n.length;r++)t[r]=n.charCodeAt(r);return t}function pa(e){let n="";for(let t of e)n+=String.fromCharCode(t);return btoa(n)}function fa(e){let n=Math.ceil(e.length/Dr)*Dr;if(n===e.length)return e;let t=new Uint8Array(n);return t.set(e),t}function Br(e,n=da){let t=e.trim();if(t==="")throw new Error("collect TEA key: userId \u4E3A\u7A7A");let r=n(t).replace(/[^0-9a-f]/gi,"");if(r.length<mn)throw new Error("collect TEA key: MD5 \u957F\u5EA6\u4E0D\u8DB3");let o=Or(r.slice(0,mn).toUpperCase());if(o.length<mn)throw new Error("collect TEA key: \u6D3E\u751F\u7ED3\u679C\u4E0D\u8DB3 16 \u5B57\u8282");return o.subarray(0,mn)}function Nr(e,n,t){return pa(He(Br(n,t),fa(Or(e))))}function ma(e,n,t){return ua(Le(Br(n,t),la(e)))}function ga(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function rt(e){let n=e.trim();if(n===""||!n.startsWith("{"))return null;try{return ga(JSON.parse(n))}catch{return null}}function ya(e){let n=e.trim(),t=n.indexOf("}");return t>=0?n.slice(0,t+1):n}function Kr(e,n,t){let r=rt(e);if(r!==null)return r;if(e.trim()===""||n.trim()==="")return null;try{let o=ma(e,n,t);return rt(o)??rt(ya(o))}catch{return null}}var ha="core";var Fe=class extends Error{code=502;constructor(n,t){super(`core JSON \u4F20\u8F93\u5931\u8D25\uFF1A${n||"unknown transport error"}`,t===void 0?void 0:{cause:t}),this.name="CoreJsonTransportError";}},J=class extends Error{businessCode;operation;constructor(n,t,r){super(`${n}\u5931\u8D25\uFF1Acode=${t}${r?` ${r}`:""}`),this.name="CoreJsonBusinessError",this.businessCode=t,this.operation=n;}};async function T(e,n,t,r){let o=r!==void 0&&"responseMode"in r&&r.responseMode==="strict",i;try{i=await e(n,{target:ha,data:t,...r?.method===void 0?{}:{method:r.method},...r?.headers===void 0?{}:{headers:r.headers},...r?.prefix===void 0?{}:{prefix:r.prefix}});}catch(a){throw o?new Fe(a instanceof Error?a.message:String(a),a):a}if(o){let a=typeof i.msg=="string"?i.msg:"";if(i.code===502)throw new Fe(a);return i.code!==200?{ok:false,code:i.code,message:a,data:i.data}:{ok:true,code:200,message:a,data:i.data}}return {code:i.code,data:i.code===200&&i.data!=null?i.data:null}}function Gr(e,n){let t=n.clientType===void 0?{public_key:n.publicKey}:{public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return T(e,"/user/encrypt_info/info",t,r)}function ba(e){let n=e.trim().replace(/-/g,"+").replace(/_/g,"/"),t=n+"=".repeat((4-n.length%4)%4),r=atob(t),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i)&255;return o}function Ca(e){let n=e.clientType,t=new Map,r=new Map,o=Se((h,l)=>h===l),i=null,a=null;function s(h,l){e.onError?.(h,l);}function d(){if(i!==null)return Promise.resolve(i);if(a!==null)return a;let h=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(l=>(i=l,l)).finally(()=>{a===h&&(a=null);});return a=h,h}async function c(h){let l;try{l=await d();}catch(R){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08userId=${h}\uFF09`,R),null}let b;try{b=await Gr(e.client,{publicKey:l.publicKeyBase64,clientType:n});}catch(R){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${h}\uFF09`,R),null}if(b.data===null)return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08userId=${h}\uFF0Ccode=${b.code}\uFF09`),null;let v=b.data.prv_key??b.data.prvKey??"",A=String(b.data.version??"").trim();if(v==="")return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08userId=${h}\uFF09`),null;try{let R=e.crypto.rsaDecryptPkcs1({data:ba(v),privateKey:l.privateKey}),k=new TextDecoder().decode(R).trim();if(k==="")return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u79C1\u94A5\u4E3A\u7A7A\uFF08userId=${h}\uFF09`),null;let x={privateKey:k,version:A};return t.set(h,x),x}catch(R){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08userId=${h}\uFF09`,R),null}}function g(h,l){let b=h.trim();if(b==="")return Promise.resolve(null);if(l!==void 0){let k=r.get(b);if(k!==void 0)return k;o.shouldRenegotiate(b,l.staleKey,t.get(b)?.privateKey)&&t.delete(b);}let v=t.get(b);if(v!==void 0)return Promise.resolve(v);let A=r.get(b);if(A!==void 0)return A;let R=c(b).finally(()=>{r.get(b)===R&&r.delete(b);});return r.set(b,R),R}function C(h){return t.get(h.trim())??null}return {getUserPrivateKey:g,getCachedPrivateKey:C}}function Lr(e,n){let t=n.clientType===void 0?{group_id:n.groupId,public_key:n.publicKey}:{group_id:n.groupId,public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return T(e,"/user_group/encrypt_info",t,r)}function wa(e){let n=e.trim().replace(/-/g,"+").replace(/_/g,"/"),t=n+"=".repeat((4-n.length%4)%4),r=atob(t),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i)&255;return o}function Pa(e){let n=e.clientType,t=new Map,r=new Map,o=new Map,i=Se((l,b)=>l===b),a=null,s=null;function d(){if(a!==null)return Promise.resolve(a);if(s!==null)return s;let l=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(b=>(a=b,b)).finally(()=>{s===l&&(s=null);});return s=l,l}async function c(l){let b=o.get(l)??0,v;try{v=await d();}catch(u){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08groupId=${l}\uFF09`,u),null}let A;try{A=await Lr(e.client,{groupId:l,publicKey:v.publicKeyBase64,clientType:n});}catch(u){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08groupId=${l}\uFF09`,u),null}if(A.data===null)return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08groupId=${l}\uFF0Ccode=${A.code}\uFF09`),null;let R=A.data,k=String(R.prv_key??R.prvKey??R.private_key??"").trim(),x=String(R.pub_key??R.pubKey??R.public_key??"").trim(),S=String(R.version??"").trim();if(k==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08groupId=${l}\uFF09`),null;try{let u=e.crypto.rsaDecryptPkcs1({data:wa(k),privateKey:v.privateKey}),m=new TextDecoder().decode(u).trim();if(m==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u7FA4\u79C1\u94A5\u4E3A\u7A7A\uFF08groupId=${l}\uFF09`),null;let w={privateKey:m,publicKey:x,version:S};return (o.get(l)??0)===b&&t.set(l,w),w}catch(u){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08groupId=${l}\uFF09`,u),null}}function g(l,b){let v=l.trim();if(v==="")return Promise.resolve(null);if(b!==void 0){let x=r.get(v);if(x!==void 0)return x;i.shouldRenegotiate(v,b.staleKey,t.get(v)?.privateKey)&&t.delete(v);}let A=t.get(v);if(A!==void 0)return Promise.resolve(A);let R=r.get(v);if(R!==void 0)return R;let k=c(v).finally(()=>{r.get(v)===k&&r.delete(v);});return r.set(v,k),k}function C(l){return t.get(l.trim())??null}function h(l){let b=l.trim();t.delete(b),r.delete(b),o.set(b,(o.get(b)??0)+1),i.reset(b);}return {getGroupKeys:g,getCachedGroupKeys:C,getCachedGroupKeyVersion:l=>t.get(l.trim())?.version??null,clearGroupKeys:h}}async function $e(e,n){let t=n.clientType===void 0?{other_user_openid:n.userId}:{other_user_openid:n.userId,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await T(e,"/user/info/other",t,r)).data}function Ia(e){let n=e.clientType,t=new Map,r=new Map;async function o(a){try{let d=((await $e(e.client,{userId:a,clientType:n}))?.public_key??"").trim();return d===""?(e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\uFF1A/user/info/other \u65E0 public_key\uFF08userId=${a}\uFF09`),null):(t.set(a,d),d)}catch(s){return e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${a}\uFF09`,s),null}}function i(a,s){let d=a.trim();if(d==="")return Promise.resolve(null);s?.force===true&&t.delete(d);let c=t.get(d);if(c!==void 0)return Promise.resolve(c);let g=r.get(d);if(g!==void 0)return g;let C=o(d).finally(()=>{r.get(d)===C&&r.delete(d);});return r.set(d,C),C}return {getPeerPublicKey:i}}var ye=16;function Hr(e){let n="";for(let t of e)n+=String.fromCharCode(t);return n}function Fr(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t)&255;return n}function $r(e){return e.replace(/(.{64})/g,`$1
2
+ `).trim()}function va(e){return e.replace(/-----BEGIN[^-]+-----/g,"").replace(/-----END[^-]+-----/g,"").replace(/\s+/g,"")}function Sa(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u79C1\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return V.pki.privateKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return V.pki.privateKeyFromAsn1(V.asn1.fromDer(V.util.decode64(t)))}catch(i){r.push(i);}let o=$r(t);for(let i of ["PRIVATE KEY","RSA PRIVATE KEY"])try{return V.pki.privateKeyFromPem(`-----BEGIN ${i}-----
3
+ ${o}
4
+ -----END ${i}-----`)}catch(a){r.push(a);}throw new Error(`RSA \u79C1\u94A5\u89E3\u6790\u5931\u8D25\uFF08\u5DF2\u8BD5 PKCS1-DER / PKCS8-PEM / PKCS1-PEM\uFF09\uFF1A${r[0]instanceof Error?r[0].message:String(r[0])}`)}function jr(e){let n=Sa(e.privateKey),t=Math.ceil(n.n.bitLength()/8),{data:r}=e;if(r.length===0)throw new Error("RSA \u89E3\u5BC6\uFF1A\u5BC6\u6587\u4E3A\u7A7A");let o=[];for(let d=0;d<r.length;d+=t){let c=Math.min(d+t,r.length);try{let g=n.decrypt(Hr(r.subarray(d,c)),"RSAES-PKCS1-V1_5");o.push(Fr(g));}catch(g){let C=g instanceof Error?g.message:String(g);throw new Error(`RSA-PKCS1 \u89E3\u5BC6\u5931\u8D25\uFF08\u5BC6\u6587 ${r.length}B\uFF0C\u5757 ${d}..${c}\uFF0CkeySize ${t}B\uFF0C\u79C1\u94A5 ${n.n.bitLength()}bit\uFF09\uFF1A${C}`)}}let i=o.reduce((d,c)=>d+c.length,0),a=new Uint8Array(i),s=0;for(let d of o)a.set(d,s),s+=d.length;return a}function Aa(e){let n=jr({data:e.secretKey,privateKey:e.privateKey});if(n.length<ye)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${n.length} < ${ye}`);return Le(n,e.cipherData)}function Ma(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u516C\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return V.pki.publicKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return V.pki.publicKeyFromAsn1(V.asn1.fromDer(V.util.decode64(t)))}catch(i){r.push(i);}let o=$r(t);for(let i of ["PUBLIC KEY","RSA PUBLIC KEY"])try{return V.pki.publicKeyFromPem(`-----BEGIN ${i}-----
5
+ ${o}
6
+ -----END ${i}-----`)}catch(a){r.push(a);}throw new Error(`RSA \u516C\u94A5\u89E3\u6790\u5931\u8D25\uFF08\u5DF2\u8BD5 SPKI-DER / SPKI-PEM / PKCS1-PEM\uFF09\uFF1A${r[0]instanceof Error?r[0].message:String(r[0])}`)}function qr(){let e=new Uint8Array(ye),n=new Uint8Array(1);for(let t=0;t<ye;t++){let r=0;do globalThis.crypto.getRandomValues(n),r=n[0]??0;while(r===0);e[t]=r;}return e}function _a(e,n){if(n.length===0)throw new Error("RSA \u52A0\u5BC6\uFF1A\u660E\u6587\u4E3A\u7A7A");let t=Ma(e),r=Math.ceil(t.n.bitLength()/8)-11;if(r<=0)throw new Error(`RSA \u52A0\u5BC6\uFF1A\u516C\u94A5\u4F4D\u6570\u8FC7\u5C0F\uFF08${t.n.bitLength()}bit\uFF09`);let o=[];for(let d=0;d<n.length;d+=r){let c=Math.min(d+r,n.length),g=t.encrypt(Hr(n.subarray(d,c)),"RSAES-PKCS1-V1_5");o.push(Fr(g));}let i=o.reduce((d,c)=>d+c.length,0),a=new Uint8Array(i),s=0;for(let d of o)a.set(d,s),s+=d.length;return a}function xa(e){let n=e.teaKey??qr();if(n.length<ye)throw new Error(`\u7AEF\u5230\u7AEF\u52A0\u5BC6\u5931\u8D25\uFF1AteaKey \u957F\u5EA6 ${n.length} < ${ye}`);let t=n.subarray(0,ye),r=He(t,e.plain);return {secretKey:_a(e.publicKey,t),cipherData:r}}function Ea(e){return Le(e.teaKey,e.cipherData)}function Ra(e){return He(e.teaKey,e.plain)}function Ta(e){return tt(e.teaKey,e.plain,"encrypt",void 0,e.signal===void 0?{}:{signal:e.signal})}function ka(e){return tt(e.teaKey,e.cipherData,"decrypt",void 0,e.signal===void 0?{}:{signal:e.signal})}function Da(e){return Tr(e.teaKey,e.plain)}function Ua(e){return kr(e.teaKey,e.cipherData)}function Oa(){return new Promise((e,n)=>{V.pki.rsa.generateKeyPair({bits:2048,e:65537,workers:-1},(t,r)=>{if(t){n(t);return}e({publicKeyBase64:va(V.pki.publicKeyToPem(r.publicKey)),privateKey:V.pki.privateKeyToPem(r.privateKey)});});})}function Ba(){return {decryptEndToEnd:Aa,encryptEndToEnd:xa,decryptSymmetric:Ea,encryptSymmetric:Ra,encryptSymmetricChunked:Ta,decryptSymmetricChunked:ka,encryptFileSimple:Da,decryptFileSimple:Ua,randomTeaKey:qr,generateTempKeyPair:Oa,rsaDecryptPkcs1:jr}}function ot(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function je(e,n){return T(e,"/friend/apply/list_paginated",{type:n.listType,page:n.page,page_size:n.pageSize},ot(n.clientType,"GET"))}function qe(e,n){return T(e,"/friend/apply/agree",{id:n.applicationId},ot(n.clientType,"POST"))}function Je(e,n){return T(e,"/friend/apply/del",{id:n.applicationId},ot(n.clientType,"POST"))}var Jr=50,Vr=20,zr=1,it=2,at=3,Na=4,Ka=5,Wr=0,Ga=1,La=2;function Ha(e){switch(e){case Wr:case Ga:case La:return e;default:return}}var Me=class extends Error{constructor(t,r){super(`application HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ApplicationHttpError";}code},W=class extends Error{constructor(n){super(`application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ApplicationMappingError";}};function F(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Yr(e){let n=F(e);if(n==="")return;if(/^\d+$/.test(n)){let r=Number(n);return !Number.isSafeInteger(r)||r<=0?void 0:n.length>=13?r:r*1e3}let t=Date.parse(n);return Number.isFinite(t)?t:void 0}function Qr(e){let n=F(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=Ha(t);if(r===void 0)throw new W(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===Wr}function Fa(e){let n=F(e.type);if(n==="")return true;if(Number(n)!==zr)throw new W(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${n}`);return true}function $a(e){let n=Number(F(e.type));if(n!==it&&n!==at&&n!==Na&&n!==Ka)throw new W(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${F(e.type)||"<empty>"}`);return n}function gn(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>Jr)throw new W(`limit \u5FC5\u987B\u4E3A 1-${Jr}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new W("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new W("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function Xr(e){if(e!=null&&Array.isArray(e.list))return e.list;let n=e?.count??e?.total,t=n===0||typeof n=="string"&&/^0+$/.test(n.trim());if(e?.list===null&&t)return [];throw new W("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function st(e){let n=e.trim();if(n==="")throw new W("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function ja(e){let n=st(F(e.id)||F(e.aid)),t=F(e.user_id)||F(e.user_info?.user_id),r=F(e.nick_name??e.nickname??e.name)||F(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(t===""||r==="")throw new W(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let o=F(e.head_img_url??e.avatar)||F(e.user_info?.head_img_url??e.user_info?.avatar),i=F(e.user_info?.mid),a=Yr(e.create_time??e.createTime??e.update_version);return {applicationId:n,applicantId:t,applicantName:r,...o===""?{}:{applicantAvatar:o},...i===""?{}:{applicantDisplayId:i},message:F(e.remarks??e.introduce_self),...a===void 0?{}:{createdAt:a}}}function qa(e){let n=st(F(e.id)||F(e.aid)),t=F(e.group_id)||F(e.group_info?.group_id);if(t==="")throw new W(`GROUP id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let r=F(e.user_id)||F(e.user_info?.user_id),o=F(e.nick_name??e.nickname??e.name)||F(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(r===""||o==="")throw new W(`GROUP \u7533\u8BF7\u4EBA\u6216\u9080\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let i=F(e.head_img_url??e.avatar)||F(e.user_info?.head_img_url??e.user_info?.avatar),a=F(e.user_info?.mid),s=F(e.group_info?.name??e.group_info?.group_name);if(s==="")throw new W(`GROUP \u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let d=F(e.group_info?.head_img_url??e.group_info?.avatar),c=Yr(e.create_time??e.createTime??e.update_version);return {applicationId:n,groupId:t,kind:Number(e.type)===at?"invite":"request",actor:{id:r,name:o,...i===""?{}:{avatarUrl:i},...a===""?{}:{displayId:a}},target:{id:t,name:s,...d===""?{}:{avatarUrl:d}},message:F(e.remarks??e.introduce_self),...c===void 0?{}:{createdAt:c}}}async function yn(e,n,t){let r=await t(e.client,{applicationId:st(n),clientType:e.clientType});if(!r.ok)throw new Me(r.code,r.message)}function Ja(e){async function n(t){let{pageSize:r}=gn(t),{page:o}=gn(t);for(let i=0;i<Vr;i+=1){let a=await je(e.client,{listType:zr,page:o,pageSize:r,clientType:e.clientType});if(!a.ok)throw new Me(a.code,a.message);let s=Xr(a.data),d=s.filter(C=>Fa(C)&&Qr(C)).map(ja),c=s.length<r,g=o+1;if(d.length>0||c)return {items:d,exhausted:c,...c?{}:{nextCursor:String(g)}};o=g;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>yn(e,t,qe),ignoreApplication:t=>yn(e,t,Je)}}function Va(e){async function n(t){let{pageSize:r}=gn(t),{page:o}=gn(t);for(let i=0;i<Vr;i+=1){let a=await je(e.client,{listType:it,page:o,pageSize:r,clientType:e.clientType});if(!a.ok)throw new Me(a.code,a.message);let s=Xr(a.data),d=s.filter(C=>{let h=$a(C);return (h===it||h===at)&&Qr(C)}).map(qa),c=s.length<r,g=o+1;if(d.length>0||c)return {items:d,exhausted:c,...c?{}:{nextCursor:String(g)}};o=g;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>yn(e,t,qe),ignoreApplication:t=>yn(e,t,Je)}}function G(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function za(e){if(typeof e=="boolean")return e;if(typeof e=="number")return e===0?false:e===1?true:void 0;if(typeof e=="string"){let n=e.trim();if(n==="0"||n.toLowerCase()==="false")return false;if(n==="1"||n.toLowerCase()==="true")return true}}function Wa(e){let n=Number(e);return n===1?{configType:"pinned-game"}:n===2?{configType:"float-link"}:n===3?{configType:"float-game"}:Number.isInteger(n)&&n>=0?{configType:"unknown",rawConfigType:n}:{configType:"unknown"}}function Ya(e){let n=Number(e.product_id),t=za(e.is_dynamic);return {...Wa(e.config_type),...G(e.appid)===void 0?{}:{appId:G(e.appid)},...Number.isInteger(n)?{productId:n}:{},...G(e.domain)===void 0?{}:{domain:G(e.domain)},...G(e.suffix_address)===void 0?{}:{suffixAddress:G(e.suffix_address)},...G(e.developer_id)===void 0?{}:{developerId:G(e.developer_id)},...G(e.introduction)===void 0?{}:{introduction:G(e.introduction)},...G(e.icon)===void 0?{}:{icon:G(e.icon)},...G(e.icon_small)===void 0?{}:{iconSmall:G(e.icon_small)},...G(e.icon_medium)===void 0?{}:{iconMedium:G(e.icon_medium)},...G(e.icon_large)===void 0?{}:{iconLarge:G(e.icon_large)},...t===void 0?{}:{isDynamic:t},...G(e.lang_types)===void 0?{}:{langTypes:G(e.lang_types)},...G(e.currency_types)===void 0?{}:{currencyTypes:G(e.currency_types)},...G(e.simple_chinese_name)===void 0?{}:{nameZhHans:G(e.simple_chinese_name)},...G(e.unsimplified_chinese_name)===void 0?{}:{nameZhHant:G(e.unsimplified_chinese_name)},...G(e.english_name)===void 0?{}:{nameEn:G(e.english_name)},...G(e.vietnamese_name)===void 0?{}:{nameVi:G(e.vietnamese_name)},...G(e.thai_name)===void 0?{}:{nameTh:G(e.thai_name)},...G(e.h5_url)===void 0?{}:{h5Url:G(e.h5_url)}}}function Zr(e,n){return Array.isArray(e.mini_program_rel_list)?e.mini_program_rel_list.filter(t=>t!==null&&typeof t=="object").map(t=>Ya(t)):n.source==="info"?[]:void 0}function eo(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function no(e,n){return T(e,"/user_radio/list",{user_id:n.userId,update_version:n.updateVersion,page:n.page,page_size:n.pageSize},eo(n.clientType,"GET"))}function to(e,n){return T(e,"/user_radio/info",{radio_id:n.channelId},eo(n.clientType,"POST"))}var ro=500,Ve=class extends Error{constructor(t,r){super(`CHANNEL HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelHttpError";}code},ce=class extends Error{constructor(n){super(`CHANNEL profile \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelProfileMappingError";}};function oo(e,n){let t=typeof e=="string"||typeof e=="number"?String(e).trim():"";if(t==="")throw new ce(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function he(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function _e(e){return Number(e)===1}function Qa(e){if(typeof e=="number")return e===0?false:e===1?true:void 0;if(typeof e=="string"){let n=e.trim();if(n==="0")return false;if(n==="1")return true}}function Xa(e,n){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":n===false?"guest":"unknown"}function Za(e){let n=e.is_in===void 0?void 0:_e(e.is_in),t=_e(e.radio_user?.is_del),r=_e(e.radio_user?.is_black);return Number(e.status)===3?"dismissed":t&&r?"removed":r?"blacklisted":t?"left":n===false?"guest":e.status!==void 0&&Number(e.status)!==2?"unknown_restricted":"active"}function es(e,n,t){let r=he(e.radio_user?.user_id),o=e.radio_setting?.un_speaking_user_ids,i=he(e.radio_setting?.un_speaking_period);return {role:n,baseState:t,resolvedState:t,allMembersMuted:_e(e.radio_setting?.is_unspeeking_all),currentUserMuted:r!==void 0&&Array.isArray(o)&&o.map(String).includes(r),...i===void 0?{}:{mutePeriod:i}}}function ns(e){if(e!=null)return Number(e)===1?"standard":Number(e)===2?"competition":"unknown"}function ts(e){let n=he(e);return n!==void 0&&/^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function rs(e,n){let t=e.replace(/^0+(?=\d)/,""),r=n.replace(/^0+(?=\d)/,"");return t.length!==r.length?t.length>r.length?t:r:t>=r?t:r}function io(e,n,t){let r=oo(e.radio_id??e.id,"id"),o=oo(e.name,"name"),i=e.is_in===void 0?void 0:_e(e.is_in),a=Xa(e.radio_user?.role_id,i),s=Za(e),d=es(e,a,s),c=Ca$1({channelState:s,snapshot:d,nowMs:n}),g={...d,resolvedState:c.channelState},C=ts(e.update_version),h=he(e.head_img_url),l=he(e.desc),b=he(e.user_id),v=Number(e.total_users),A=ns(e.type),R=Qa(e.radio_setting?.is_unvisit_other),k=e.verify_way===void 0?void 0:Number(e.verify_way),x=k!==void 0&&Number.isSafeInteger(k)?k:void 0,S=he(e.invite_code),u=Zr(e,{source:t});return {id:r,name:o,...h===void 0?{}:{avatar:h},...l===void 0?{}:{description:l},...b===void 0?{}:{ownerId:b},...Number.isFinite(v)&&v>=0?{memberCount:v}:{},...x===void 0?{}:{verifyType:x},...S===void 0?{}:{inviteCode:S},role:a,permissions:c.permissions,channelState:c.channelState,allMembersMuted:g.allMembersMuted,...R===void 0?{}:{memberPrivateChatDisabled:R},accessSnapshot:g,...e.radio_user?.is_undisturb===void 0?{}:{muted:_e(e.radio_user.is_undisturb)},...A===void 0?{}:{channelKind:A},...C===void 0?{}:{updateVersion:C},...u===void 0?{}:{miniProgramRels:u}}}function ao(e){return {...e,updatedAt:Date.now()}}function so(e,n){if(e.accessSnapshot===void 0)return {...e,permissions:Ba$1(e.role,e.channelState)};let t=Ca$1({channelState:e.channelState,snapshot:e.accessSnapshot,permissions:e.permissions,nowMs:n});return {...e,channelState:t.channelState,permissions:t.permissions,allMembersMuted:e.allMembersMuted??e.accessSnapshot.allMembersMuted,accessSnapshot:{...e.accessSnapshot,resolvedState:t.channelState}}}function ct(e,n){let{updatedAt:t,...r}=so(e,n);return r}function os(e){let n=new Map,t=new Map,r=new Map,o="0",i=false,a=null,s=0,d=null,c=0;function g(){if(i)return Promise.resolve();if(a!==null)return a;let l=s;return a=(async()=>{if(e.storage!==void 0){let[b,v]=await Promise.all([e.storage.getChannelProfiles(),e.storage.getChannelListVersion()]);if(l!==s)return;for(let A of b)n.set(A.id,so(A,e.now?.()??Date.now()));o=/^\d+$/.test(v)?v:"0";}i=true;})().finally(()=>{a=null;}),a}function C(l){if(l?.forceRefresh!==true&&d!==null)return d;let b=++c,v=(async()=>{await g();let A=(await e.getUserId()).trim();if(A==="")throw new ce("user_id \u4E0D\u80FD\u4E3A\u7A7A");let R=l?.forceRefresh===true?"0":o,k=[];for(let S=1;;S+=1){let u=await no(e.client,{userId:A,updateVersion:R,page:S,pageSize:ro,clientType:e.clientType});if(!u.ok)throw new Ve(u.code,u.message);if(u.data===null)break;if(!Array.isArray(u.data))throw new ce("list data \u5FC5\u987B\u662F\u6570\u7EC4");let m=e.now?.()??Date.now(),w=u.data.map(p=>io(p,m,"list"));if(k.push(...w),w.length<ro)break}if(b!==c)return [...n.values()].map(S=>ct(S,e.now?.()??Date.now()));let x=o;for(let S of k)n.set(S.id,ao(S)),S.updateVersion!==void 0&&(x=rs(x,S.updateVersion));return o=x,e.storage!==void 0&&(await e.storage.saveChannelProfiles([...n.values()]),await e.storage.saveChannelListVersion(o)),[...n.values()].map(S=>ct(S,e.now?.()??Date.now()))})();return d=v,v.finally(()=>{d===v&&(d=null);}).catch(()=>{}),v}function h(l,b){let v=l.trim();if(v==="")return Promise.reject(new ce("channel id \u4E0D\u80FD\u4E3A\u7A7A"));let A=b?.forceRefresh===true;if(!A){let x=t.get(v);if(x!==void 0)return x}let R=(r.get(v)??0)+1;A&&r.set(v,R);let k=(async()=>{await g();let x=n.get(v);if(!A&&x!==void 0&&x.miniProgramRels!==void 0)return ct(x,e.now?.()??Date.now());let S=await to(e.client,{channelId:v,clientType:e.clientType});if(!S.ok)throw new Ve(S.code,S.message);if(S.data===null||S.data===void 0)throw new ce("info data \u4E0D\u80FD\u4E3A\u7A7A");let u=io(S.data,e.now?.()??Date.now(),"info");if(u.id!==v)throw new ce(`info id \u4E0D\u5339\u914D\uFF1A\u8BF7\u6C42 ${v}\uFF0C\u54CD\u5E94 ${u.id}`);if((r.get(v)??R)===R){let m=ao(u);n.set(v,m),await e.storage?.saveChannelProfiles([m]);}return u})().finally(()=>{t.get(v)===k&&t.delete(v);});return r.set(v,R),t.set(v,k),k}return {listProfiles:C,getProfile:h,clearCache(){s+=1,c+=1;for(let l of new Set([...n.keys(),...t.keys(),...r.keys()]))r.set(l,(r.get(l)??0)+1);n.clear(),t.clear(),d=null,o="0",i=true,a=null;}}}function co(e,n){return je(e,{listType:2,page:n.page,pageSize:n.pageSize,clientType:n.clientType})}function uo(e,n){return qe(e,n)}function lo(e,n){return Je(e,n)}var is=20,po=50,as=20,ss=2,cs=3,mo=4,ds=5,go=0,us=1,ls=2;function ps(e){switch(e){case go:case us:case ls:return e;default:return}}var ze=class extends Error{constructor(t,r){super(`CHANNEL join application HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelJoinApplicationHttpError";}code},X=class extends Error{constructor(n){super(`CHANNEL join application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelJoinApplicationMappingError";}};function $(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function fs(e){let n=$(e);if(n==="")return;if(/^\d+$/.test(n)){let r=Number(n);return !Number.isSafeInteger(r)||r<=0?void 0:n.length>=13?r:r*1e3}let t=Date.parse(n);return Number.isFinite(t)?t:void 0}function ms(e){let n=$(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=ps(t);if(r===void 0)throw new X(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===go}function gs(e){let n=Number($(e.type));if(n!==ss&&n!==cs&&n!==mo&&n!==ds)throw new X(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${$(e.type)||"<empty>"}`);return n}function ys(e){let n=$(e.id)||$(e.aid),t=$(e.user_id)||$(e.user_info?.user_id),r=e.radio_info??e.channel_info,o=$(e.radio_id)||$(e.channel_id)||$(r?.radio_id)||$(r?.channel_id);if(n==="")throw new X("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");if(t==="")throw new X(`\u7533\u8BF7\u4EBA id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);if(o==="")throw new X(`CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let i=$(e.user_info?.nick_name)||$(e.user_info?.nickname)||$(e.user_info?.name)||t,a=$(e.user_info?.head_img_url)||$(e.user_info?.avatar),s=$(e.user_info?.mid),d=$(r?.name)||$(r?.radio_name)||$(r?.channel_name)||o,c=$(r?.head_img_url)||$(r?.avatar),g=fs(e.create_time??e.createTime);return {applicationId:n,applicantId:t,applicantName:i,...a===""?{}:{applicantAvatar:a},...s===""?{}:{applicantDisplayId:s},channelId:o,channelName:d,...c===""?{}:{channelAvatar:c},message:$(e.remarks)||$(e.introduce_self),...g===void 0?{}:{createdAt:g}}}function fo(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>po)throw new X(`limit \u5FC5\u987B\u4E3A 1-${po}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit||is};if(!/^[1-9]\d*$/.test(e.cursor))throw new X("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new X("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function hs(e){if(e!=null&&Array.isArray(e.list))return e.list;let n=e?.count??e?.total,t=n===0||typeof n=="string"&&/^0+$/.test(n.trim());if(e?.list===null&&t)return [];throw new X("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function bs(e){let n=e.trim();if(n==="")throw new X("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function Cs(e){async function n(r){let{pageSize:o}=fo(r),{page:i}=fo(r);for(let a=0;a<as;a+=1){let s=await co(e.client,{page:i,pageSize:o,clientType:e.clientType});if(!s.ok)throw new ze(s.code,s.message);let d=hs(s.data),c=d.filter(h=>gs(h)===mo&&ms(h)).map(ys),g=d.length<o,C=i+1;if(c.length>0||g)return {items:c,exhausted:g,...g?{}:{nextCursor:String(C)}};i=C;}return {items:[],exhausted:false,nextCursor:String(i)}}async function t(r,o){let i=await o(e.client,{applicationId:bs(r),clientType:e.clientType});if(!i.ok)throw new ze(i.code,i.message)}return {listJoinApplications:n,acceptJoinApplication:r=>t(r,uo),ignoreJoinApplication:r=>t(r,lo)}}function hn(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function dt(e,n){return T(e,"/user_radio/users",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},hn(n.clientType,"GET"))}function ut(e,n){return T(e,"/user_radio/search_user",{radio_id:n.channelId,nick_name:n.query,page:n.page,page_size:n.pageSize,update_version:n.updateVersion??"0"},hn(n.clientType,"POST"))}function yo(e,n){return T(e,"/user_radio/admins",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},hn(n.clientType,"GET"))}function ho(e,n){return T(e,"/user_radio/user/infos",{radio_id:n.channelId,user_ids:n.userIds.join(",")},hn(n.clientType,"POST"))}var bn=18,ws=12,Ps=300*1e3,Is=32,We=class extends Error{constructor(t,r){super(`CHANNEL member HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelMemberHttpError";}code},q=class extends Error{constructor(n){super(`CHANNEL member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMemberMappingError";}};function de(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function vs(e){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":"unknown"}function Ss(e){let n=de(e);return /^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function lt(e,n){return e===void 0?n===void 0?0:-1:n===void 0?1:e.length!==n.length?e.length>n.length?1:-1:e===n?0:e>n?1:-1}function bo(e,n){let t=de(e.radio_id);if(t==="")throw new q("radio_id \u4E0D\u80FD\u4E3A\u7A7A");if(t!==n)throw new q(`\u6210\u5458\u9891\u9053 ${t} \u4E0E\u8BF7\u6C42\u9891\u9053 ${n} \u4E0D\u4E00\u81F4`);let r=de(e.user_id)||de(e.user_info?.user_id);if(r==="")throw new q("user_id \u4E0D\u80FD\u4E3A\u7A7A");if(e.is_master!==void 0){let c=Number(e.is_master);if(c!==0&&c!==1)throw new q(`is_master \u975E\u6CD5\uFF1A${de(e.is_master)}`)}let o=de(e.nick_name),i=de(e.user_info?.nick_name)||de(e.user_info?.name),a=de(e.user_info?.head_img_url),s=Ss(e.update_version),d=Number(e.join_type);return {userId:r,...o===""?{}:{nickname:o},displayName:o||i||r,...a===""?{}:{avatar:a},role:vs(e.role_id),...Number.isInteger(d)?{joinType:d}:{},...s===void 0?{}:{updateVersion:s}}}function As(e){if(e.channelId.trim()==="")throw new q("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>bn)throw new q(`limit \u5FC5\u987B\u4E3A 1-${bn}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new q("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new q("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:t,pageSize:e.limit}}function Co(e){let n=[],t=new Map;for(let r of e)t.has(r.userId)||n.push(r.userId),t.set(r.userId,r);return n.map(r=>t.get(r))}function Ms(e){let n=e.now??(()=>Date.now()),t=e.isActive??(()=>true),r=e.cacheTtlMs??Ps,o=new Map,i=new Map,a=new Map,s=new Map,d=new Map,c=new Set,g=new Set,C=(p,y)=>`${p}:${y}`;function h(p){let y=d.get(p);return y!==void 0?y:(d.set(p,0),0)}function l(p){let y=p.trim();if(y==="")throw new q("channelId \u4E0D\u80FD\u4E3A\u7A7A");return y}function b(p){for(i.delete(p.channelId),i.set(p.channelId,p);i.size>Is;){let y=i.keys().next().value;if(y===void 0)break;i.delete(y);}}function v(p){let y=i.get(p);if(y!==void 0)return b(y),Promise.resolve(y);if(g.has(p)||e.storage?.getChannelMemberSnapshot===void 0)return Promise.resolve(null);let I=a.get(p);if(I!==void 0)return I;let f=h(p),P=e.storage.getChannelMemberSnapshot(p).then(M=>!t()||M===null||M.channelId!==p||f!==h(p)||g.has(p)?null:(b(M),M)).finally(()=>{a.get(p)===P&&a.delete(p);});return a.set(p,P),P}function A(p,y){let I=p.map(P=>P.userId),f=new Map(p.map(P=>[P.userId,P]));for(let P of y){f.has(P.userId)||I.push(P.userId);let M=f.get(P.userId);(M===void 0||lt(P.updateVersion,M.updateVersion)>=0)&&f.set(P.userId,P);}return I.map(P=>f.get(P))}async function R(p,y){let I=await ga$1(y);return p.filter(f=>I.match(f.displayName)!==null||I.match(f.userId,{pinyin:false})!==null)}async function k(p,y,I={}){if(!t()||y!==h(p.channelId))return;let f=p.channelId,P=g.has(f),M=I.allowPersistentRebuild===true&&P&&e.storage?.deleteChannelMemberSnapshot===void 0&&e.storage?.saveChannelMemberSnapshot!==void 0;(!P||M)&&await e.storage?.saveChannelMemberSnapshot?.(p),t()&&y===h(f)&&(b(p),I.allowPersistentRebuild===true&&(!P||e.storage?.deleteChannelMemberSnapshot===void 0)&&g.delete(f));}async function x(p,y,I,f,P=false,M){let _=await v(p);if(!t()||I!==h(p))return;let D=n(),E=M!==void 0&&_?.nextCursor===M,U=P&&_!==null&&!E,O=f!==void 0&&!U?f.nextCursor:_?.nextCursor,N={channelId:p,items:A(_?.items??[],y),...O===void 0?{}:{nextCursor:O},exhausted:U?_.exhausted:f?.exhausted??_?.exhausted??false,updatedAt:D};await k(N,I);}async function S(p,y,I){if(!t()||I!==h(p))return [...y];let f=n(),P=f+r,M=[],_=[],D=new Map;for(let E of y){let U=C(p,E.userId),O=o.get(U)?.member;if(O!==void 0&&lt(E.updateVersion,O.updateVersion)<0){_.push(O);continue}M.push({channelId:p,...E,updatedAt:f}),_.push(E),D.set(U,{member:E,expiresAt:P});}if(M.length>0&&t()&&I===h(p)&&!c.has(p)&&(await e.storage?.saveChannelMembers?.(M),e.storage?.getChannelMembers!==void 0&&t()&&I===h(p))){let E=await e.storage.getChannelMembers(p,M.map(O=>O.userId)),U=new Map(E.map(O=>{let{channelId:N,updatedAt:B,...te}=O;return [te.userId,{member:te,updatedAt:B}]}));for(let O=0;O<_.length;O+=1){let N=_[O];if(N===void 0)continue;let B=U.get(N.userId);B===void 0||lt(B.member.updateVersion,N.updateVersion)<=0||(_[O]=B.member,D.set(C(p,N.userId),{member:B.member,expiresAt:B.updatedAt+r}));}}if(t()&&I===h(p))for(let[E,U]of D)o.set(E,U);return _}async function u(p,y){let I=l(p.channelId),{page:f,pageSize:P}=As({...p,channelId:I}),M=h(I),_=await y(I,f,P);if(!_.ok)throw new We(_.code,_.message);if(_.data!==null&&!Array.isArray(_.data))throw new q("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let D=Co((_.data??[]).map(O=>bo(O,I))),E=await S(I,D,M),U=(_.data??[]).length<P;return {items:E,exhausted:U,...U?{}:{nextCursor:String(f+1)}}}function m(p){let y=l(p),I=s.get(y);if(I!==void 0)return I;let f=h(y),P=(async()=>{let M,_=false,D=[];for(let U=0;U<ws&&!_;U+=1){let O=await u({channelId:y,limit:bn,...M===void 0?{}:{cursor:M}},(N,B,te)=>dt(e.client,{channelId:N,page:B,pageSize:te,clientType:e.clientType}));if(!t()||f!==h(y))throw new q("\u6210\u5458\u5FEB\u7167\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");D=A(D,O.items),M=O.nextCursor,_=O.exhausted;}let E={channelId:y,items:D,...M===void 0?{}:{nextCursor:M},exhausted:_,updatedAt:n()};return await k(E,f,{allowPersistentRebuild:true}),{items:E.items,...E.nextCursor===void 0?{}:{nextCursor:E.nextCursor},exhausted:E.exhausted}})().finally(()=>{s.get(y)===P&&s.delete(y);});return s.set(y,P),P}async function w(p){let y=l(p),I=h(y)+1;d.set(y,I),c.add(y),g.add(y),i.delete(y),a.delete(y),s.delete(y);let f=`${y}:`;for(let P of o.keys())P.startsWith(f)&&o.delete(P);e.storage?.deleteChannelMembers===void 0&&e.storage?.deleteChannelMemberSnapshot===void 0||(await Promise.all([e.storage.deleteChannelMembers?.(y),e.storage.deleteChannelMemberSnapshot?.(y)]),I===h(y)&&(e.storage?.deleteChannelMembers!==void 0&&c.delete(y),e.storage?.deleteChannelMemberSnapshot!==void 0&&g.delete(y)));}return {async prefetchMembers(p){let y=l(p),I=await v(y),f=g.has(y);I!==null&&!f&&I.updatedAt+r>n()||await m(y);},async getCachedMembers(p){let y=l(p.channelId),I=await v(y);if(I===null)return null;let f=p.query?.trim()??"";return f===""&&g.has(y)?null:f===""?{items:[...I.items],...I.nextCursor===void 0?{}:{nextCursor:I.nextCursor},exhausted:I.exhausted}:{items:await R(I.items,f),exhausted:true}},async refreshMembers(p){let y=l(p.channelId),I=p.query?.trim()??"";if(I==="")return m(y);let f=h(y),[P,M]=await Promise.all([u({channelId:y,query:I,limit:bn},(D,E,U)=>ut(e.client,{channelId:D,query:I,page:E,pageSize:U,updateVersion:"0",clientType:e.clientType})),v(y)]),_=M===null?[]:await R(M.items,I);return await x(y,P.items,f),{...P,items:A(P.items,_)}},async listMembers(p){let y=l(p.channelId),I={...p,channelId:y},f=h(y),P=await u(I,(M,_,D)=>dt(e.client,{channelId:M,page:_,pageSize:D,clientType:e.clientType}));return await x(y,P.items,f,P,I.cursor!==void 0,I.cursor),P},async searchMembers(p){let y=p.query.trim();if(y==="")return Promise.reject(new q("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A"));let I=l(p.channelId),f={...p,channelId:I},P=h(I),M=await u(f,(_,D,E)=>ut(e.client,{channelId:_,query:y,page:D,pageSize:E,updateVersion:"0",clientType:e.clientType}));return await x(I,M.items,P),M},listAdmins:p=>u(p,(y,I,f)=>yo(e.client,{channelId:y,page:I,pageSize:f,clientType:e.clientType})),async getMembersByIds(p,y,I){let f=p.trim();if(f==="")throw new q("channelId \u4E0D\u80FD\u4E3A\u7A7A");let P=[...new Set(y.map(E=>E.trim()).filter(Boolean))];if(P.length===0)return [];let M=I?.forceRefresh===true,_=new Map,D=[];for(let E of P){let U=o.get(C(f,E));!M&&U!==void 0&&U.expiresAt>n()?_.set(E,U.member):D.push(E);}if(!M&&D.length>0&&!c.has(f)&&e.storage?.getChannelMembers!==void 0){let E=h(f),U=await e.storage.getChannelMembers(f,D);if(t()&&E===h(f))for(let{channelId:O,updatedAt:N,...B}of U)O===f&&(o.set(C(f,B.userId),{member:B,expiresAt:N+r}),N+r>n()&&_.set(B.userId,B));D=D.filter(O=>!_.has(O));}if(!t())return P.flatMap(E=>_.has(E)?[_.get(E)]:[]);if(D.length>0){let E=h(f),U=await ho(e.client,{channelId:f,userIds:D,clientType:e.clientType});if(!U.ok)throw new We(U.code,U.message);if(U.data!==null&&!Array.isArray(U.data))throw new q("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let O=Co((U.data??[]).map(ve=>bo(ve,f))),N=D.filter(ve=>!O.some(vi=>vi.userId===ve)),B=M&&N.length>0&&E===h(f),te;B?(await w(f),te=O):te=await S(f,O,E);for(let ve of te)_.set(ve.userId,ve);}return P.flatMap(E=>_.has(E)?[_.get(E)]:[])},invalidateChannelMembers:w,clearCache(){let p=new Set(d.keys());for(let y of o.keys())p.add(y.slice(0,y.indexOf(":")));for(let y of i.keys())p.add(y);for(let y of a.keys())p.add(y);for(let y of s.keys())p.add(y);for(let y of c)p.add(y);for(let y of g)p.add(y);for(let y of p)d.set(y,h(y)+1);o.clear(),i.clear(),a.clear(),s.clear(),c.clear(),g.clear();}}}function wo(e){return {responseMode:"strict",method:"POST",...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Po(e,n){return T(e,"/user_radio/member/list",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},wo(n.clientType))}function Io(e,n){return T(e,"/user_radio/member/search",{radio_id:n.channelId,search_name:n.query,page:n.page,page_size:n.pageSize},wo(n.clientType))}var vo=18,Cn=class extends Error{constructor(t,r){super(`CHANNEL @ member HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelMentionMemberHttpError";}code},ae=class extends Error{constructor(n){super(`CHANNEL @ member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMentionMemberMappingError";}};function xe(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function _s(e){let n=xe(e.user_id);if(n==="")throw new ae("user_id \u4E0D\u80FD\u4E3A\u7A7A");let t=xe(e.radio_user_nickname)||xe(e.nick_name)||xe(e.name)||xe(e.mid)||n,r=xe(e.head_img_url);return {userId:n,displayName:t,...r===""?{}:{avatar:r}}}function xs(e){let n=e.channelId.trim();if(n==="")throw new ae("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>vo)throw new ae(`limit \u5FC5\u987B\u4E3A 1-${vo}`);if(e.cursor===void 0)return {channelId:n,page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new ae("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new ae("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {channelId:n,page:t,pageSize:e.limit}}function Es(e){let n=[],t=new Map;for(let r of e)t.has(r.userId)||n.push(r.userId),t.set(r.userId,r);return n.map(r=>t.get(r))}function Rs(e){async function n(t,r){let{channelId:o,page:i,pageSize:a}=xs(t),s=await r({channelId:o,page:i,pageSize:a,clientType:e.clientType});if(!s.ok)throw new Cn(s.code,s.message);if(s.data!==null&&!Array.isArray(s.data))throw new ae("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let d=s.data??[],c=Es(d.map(_s)),g=d.length<a;return {items:c,exhausted:g,...g?{}:{nextCursor:String(i+1)}}}return {listMentionMembers:t=>n(t,r=>Po(e.client,r)),searchMentionMembers:t=>{let r=t.query.trim();return r===""?Promise.reject(new ae("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):n(t,o=>Io(e.client,{...o,query:r}))}}}function Ts(e){let n=e.fetch??((t,r)=>globalThis.fetch(t,r));return {async postProtobuf({path:t,body:r,headers:o,signal:i}){let a=await e.getBaseUrl();if(!a)throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let s={"Content-Type":"application/octet-stream"},d=e.getClientType?.();d!==void 0&&(s["Client-type"]=String(d)),Object.assign(s,o);let c=await e.getAuth();c!==null&&c.token!==""&&c.userId!==""&&(s.Authorization=`${c.token}:${c.userId}`);let g=await n(`${a}${t}`,{method:"POST",body:r,headers:s,signal:i});if(!g.ok)throw new wa$1({path:t,status:g.status,statusText:g.statusText});let C=await g.arrayBuffer();return new Uint8Array(C)}}}var se=class extends Error{constructor(n){super(n),this.name="DirectoryMappingError";}};function wn(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new se(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function Q(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Ye(e){let n=Q(e);return n===""?void 0:n}function ks(e){let n=wn(e,"\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879"),t=n.user_info===void 0?n:wn(n.user_info,"\u8054\u7CFB\u4EBA user_info"),r=Q(t.user_id??n.friend_user_id??n.user_id);if(r==="")throw new se("\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A user_id");let o=Q(n.remark_name)||Q(n.contact_name)||Q(t.nick_name)||Q(t.username)||Q(t.mid)||r,i=Q(t.nick_name)||Q(t.username)||Q(t.mid)||r,a=Ye(t.head_img_url),s=Ye(t.username)??Ye(t.mid);return {id:r,kind:"individual",displayName:o,cardDisplayName:i,...a===void 0?{}:{avatarUrl:a},...s===void 0?{}:{username:s}}}function Ds(e){let n=wn(e,"\u7FA4\u7EC4\u76EE\u5F55\u9879"),t=Q(n.group_id);if(t==="")throw new se("\u7FA4\u7EC4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A group_id");let r=Ye(n.head_img_url),o=Q(n.name)||t;return {id:t,kind:"group",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function Us(e){let n=wn(e,"\u793E\u7FA4\u76EE\u5F55\u9879"),t=Q(n.radio_id??n.id);if(t==="")throw new se("\u793E\u7FA4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A radio_id/id");let r=Ye(n.head_img_url),o=Q(n.name)||t;return {id:t,kind:"channel",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function Os(e,n){if(!Number.isSafeInteger(e)||e<1)throw new se("\u76EE\u5F55 page \u5FC5\u987B\u662F\u6B63\u6574\u6570");if(!Number.isSafeInteger(n)||n<1||n>100)throw new se("\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570")}function Bs(e){return {async list(n){Os(n.page,n.pageSize);let t=n.kind==="individual"?"/friend/list":n.kind==="group"?"/user_group/list":"/user_radio/list",r=n.kind==="channel"&&e.getUserId!==void 0?String(await e.getUserId()).trim():"",i=(await T(e.client,t,{...r===""?{}:{user_id:r},update_version:0,page:n.page,page_size:n.pageSize},{responseMode:"strict",method:"GET",...e.clientType===void 0?{}:{headers:{"Client-type":String(e.clientType)}}})).data??[];if(!Array.isArray(i))throw new se(`${n.kind} \u76EE\u5F55 data \u5FC5\u987B\u662F\u6570\u7EC4`);let a=n.kind==="individual"?ks:n.kind==="group"?Ds:Us,s=new Map;for(let c of i){let g=a(c);s.set(g.id,g);}let d=i.length<n.pageSize;return {items:[...s.values()],...d?{}:{nextPage:n.page+1},exhausted:d}}}}var Ns="https://api.giphy.com/v1/gifs",Ee=class extends Error{constructor(t){super(t==="core"?"\u8868\u60C5 Core API \u672A\u914D\u7F6E":"Giphy API key \u672A\u914D\u7F6E");this.provider=t;this.name="ExpressionProviderUnavailableError";}provider},j=class extends Error{constructor(n){super(n),this.name="ExpressionMappingError";}},be=class extends Error{constructor(t,r){super(`Giphy \u8BF7\u6C42\u5931\u8D25\uFF1AHTTP ${t}${r?` ${r}`:""}`);this.status=t;this.name="GiphyHttpError";}status};function ee(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new j(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function Z(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function me(e,n){let t=Z(e);if(t==="")throw new j(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function Te(e){let n=Z(e);return n===""?void 0:n}function Re(e,n){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw new j(`${n} \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570`);return t}function Ks(e,n){let t=Number(e);if(!Number.isSafeInteger(t))throw new j(`${n} \u5FC5\u987B\u662F\u5B89\u5168\u6574\u6570`);return t}function So(e,n){let t=Number(e);if(!Number.isFinite(t)||t<=0)throw new j(`${n} \u5FC5\u987B\u662F\u6709\u9650\u6B63\u6570`);return t}function Ce(e,n){let t=me(e,n),r;try{r=new URL(t);}catch(o){throw new j(`${n} \u4E0D\u662F\u5408\u6CD5 URL\uFF1A${o instanceof Error?o.message:String(o)}`)}if(r.protocol!=="https:"&&r.protocol!=="http:")throw new j(`${n} \u53EA\u652F\u6301 HTTP(S)`);if(r.username!==""||r.password!=="")throw new j(`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return t}function pt(e,n){if(e==null)return [];if(Array.isArray(e))return e;let r=ee(e,n).list;if(r==null)return [];if(!Array.isArray(r))throw new j(`${n}.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null`);return r}function Qe(e){return e==="sticker"?1:e==="gif"?2:3}function Ao(e){let n=ee(e,"\u8D34\u56FE\u5305"),t=Te(n.onlineTime??n.online_time),r=n.isPlatformIssued??n.is_platform_issued;return {id:me(n.packId??n.pack_id,"\u8D34\u56FE\u5305 packId"),nameZh:Z(n.nameZh??n.name_zh),nameEn:Z(n.nameEn??n.name_en),nameTh:Z(n.nameTh??n.name_th),nameTw:Z(n.nameTw??n.name_tw),nameVi:Z(n.nameVi??n.name_vi),publisher:Z(n.publisher),trayIconUrl:Ce(n.trayIcon??n.tray_icon,"\u8D34\u56FE\u5305 trayIcon"),sortWeight:Ks(n.sortWeight??n.sort_weight??0,"\u8D34\u56FE\u5305 sortWeight"),isPlatformIssued:r===true||Number(r)===1,...t===void 0?{}:{onlineTime:t},stickerCount:Re(n.stickerCount??n.sticker_count??0,"\u8D34\u56FE\u5305 stickerCount")}}function ft(e,n,t,r){let o=ee(e,t),i=Te(o.id),a={...i===void 0?{}:{recordId:i},url:Ce(o.imgUrl??o.img_url,`${t} imgUrl`),width:Re(o.width??0,`${t} width`),height:Re(o.height??0,`${t} height`)};if(n==="sticker")return {kind:n,...a,packageId:me(r??o.packId??o.pack_id,`${t} packageId`),resourceId:me(o.fileName??o.file_name,`${t} resourceId`)};let s=Te(o.fileName??o.file_name);return {kind:n,...a,...s===void 0?{}:{resourceId:s}}}function Gs(e,n){if(n!=="emoji")return ft(e,n,"\u6700\u8FD1\u4F7F\u7528\u9879");let t=ee(e,"\u6700\u8FD1 emoji"),r=Te(t.id);return {kind:"emoji",...r===void 0?{}:{recordId:r},token:me(t.imgUrl??t.img_url,"\u6700\u8FD1 emoji token"),resourceId:me(t.fileName??t.file_name,"\u6700\u8FD1 emoji resourceId")}}function Mo(e,n,t){let r=Qe(n);return pt(e,t).filter(o=>{let i=ee(o,`${t} item`),a=i.favType??i.fav_type;if(a==null)return true;let s=Number(a);if(s!==1&&s!==2&&s!==3)throw new j(`${t} item.favType \u5FC5\u987B\u662F 1\u30012 \u6216 3`);return s===r})}function xo(e){return {fav_type:Qe(e.kind),pack_id:e.kind==="sticker"?e.packageId:"",img_url:Ce(e.url,"\u8868\u60C5\u5199\u5165 imgUrl"),file_name:e.resourceId??"",width:e.width,height:e.height}}function Ls(e){return e.kind!=="emoji"?xo(e):{fav_type:Qe(e.kind),pack_id:"",img_url:e.token,file_name:e.resourceId,width:0,height:0}}function _o(e){let n=[...new Set(e.map(t=>t.trim()).filter(Boolean))];if(n.length===0||n.length>30||n.some(t=>t.includes("|")))throw new j("\u6279\u91CF\u5220\u9664 recordIds \u5FC5\u987B\u5305\u542B 1-30 \u4E2A\u4E0D\u542B\u7AD6\u7EBF\u7684\u552F\u4E00\u975E\u7A7A id");return n.join("|")}function Hs(e){let n=ee(e,"Giphy item"),t=ee(n.images,"Giphy item.images"),r=ee(t.original,"Giphy item.images.original"),o=t.fixed_width,i=o==null?void 0:ee(o,"Giphy item.images.fixed_width"),a=Ce(r.url,"Giphy original.url"),s=i===void 0?void 0:Te(i.url),d=i===void 0?void 0:Te(i.webp),c=d===void 0?s===void 0?a:Ce(s,"Giphy fixed_width.url"):Ce(d,"Giphy fixed_width.webp"),g=d!==void 0&&s!==void 0&&s!==d?Ce(s,"Giphy fixed_width.url"):void 0;return {kind:"gif",resourceId:me(n.id,"Giphy item.id"),title:Z(n.title)||"GIF",url:a,previewUrl:c,...g===void 0?{}:{fallbackPreviewUrl:g},width:So(r.width,"Giphy original.width"),height:So(r.height,"Giphy original.height")}}function Fs(e,n){let t=ee(e,"Giphy response");if(!Array.isArray(t.data))throw new j("Giphy response.data \u5FC5\u987B\u662F\u6570\u7EC4");let r=ee(t.pagination,"Giphy response.pagination"),o=Re(r.offset??n,"Giphy pagination.offset");if(o!==n)throw new j("Giphy pagination.offset \u4E0E\u8BF7\u6C42 offset \u4E0D\u4E00\u81F4");let i=Re(r.count??t.data.length,"Giphy pagination.count"),a=Re(r.total_count??r.totalCount??0,"Giphy pagination.total_count"),s=new Map;for(let c of t.data){let g=Hs(c);s.set(g.resourceId,g);}let d=o+i;return {items:[...s.values()],offset:o,totalCount:a,...i>0&&d<a?{nextOffset:d}:{}}}function $s(e){async function n(r,o,i){if(e.coreClient===void 0)throw new Ee("core");let a=await T(e.coreClient,r,o,{method:"POST",responseMode:"strict"});if(!a.ok)throw new J(i,a.code,a.message);return a.data}async function t(r,o){let i=e.giphyApiKey?.trim()??"";if(i==="")throw new Ee("giphy");let a=e.fetcher??globalThis.fetch;if(typeof a!="function")throw new Ee("giphy");let s=new URLSearchParams({api_key:i,limit:String(o.limit),offset:String(o.offset),...o.query===void 0?{}:{q:o.query,lang:"en"}}),d;try{d=await a(`${Ns}/${r}?${s.toString()}`);}catch{throw new be(0,"network failure")}let c;try{c=await d.json();}catch(C){throw d.ok?new j(`Giphy response \u4E0D\u662F JSON\uFF1A${C instanceof Error?C.message:String(C)}`):new be(d.status,"")}if(!d.ok){let C=c!==null&&typeof c=="object"&&!Array.isArray(c)?c.meta:void 0,h=C!==null&&typeof C=="object"&&!Array.isArray(C)?Z(C.msg):"";throw new be(d.status,h)}let g=c!==null&&typeof c=="object"&&!Array.isArray(c)?c.meta:void 0;if(g!==null&&typeof g=="object"&&!Array.isArray(g)){let C=g,h=Number(C.status);if(Number.isFinite(h)&&h!==200)throw new be(h,Z(C.msg))}return Fs(c,o.offset)}return {async listStickerPacks(r){let o=await n("/user/sticker/pack_list",r===void 0?{}:{version:r},"\u8D34\u56FE\u5305\u5217\u8868");if(Array.isArray(o))return {version:"",items:o.map(Ao)};if(o==null)return {version:"",items:[]};let i=ee(o,"\u8D34\u56FE\u5305\u5217\u8868 data"),a=i.list??i.packs;if(a==null)return {version:Z(i.version),items:[]};if(!Array.isArray(a))throw new j("\u8D34\u56FE\u5305\u5217\u8868 data.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null");return {version:Z(i.version),items:a.map(Ao)}},async listStickerItems(r){let o=await n("/user/sticker/item_list",{pack_id:r},"\u8D34\u56FE\u660E\u7EC6\u5217\u8868");return pt(o,"\u8D34\u56FE\u660E\u7EC6\u5217\u8868 data").map(i=>ft(i,"sticker","\u8D34\u56FE\u660E\u7EC6",r))},async listFavorites(r){let o=await n("/user/sticker/my_fav/list",{fav_type:Qe(r)},"\u8868\u60C5\u6536\u85CF\u5217\u8868");return Mo(o,r,"\u8868\u60C5\u6536\u85CF\u5217\u8868 data").map(i=>ft(i,r,"\u8868\u60C5\u6536\u85CF\u9879"))},async addFavorite(r){await n("/user/sticker/my_fav/add",xo(r),"\u6DFB\u52A0\u8868\u60C5\u6536\u85CF");},async deleteFavorites(r){await n("/user/sticker/my_fav/del",{ids:_o(r)},"\u5220\u9664\u8868\u60C5\u6536\u85CF");},async listRecent(r){let o=await n("/user/sticker/recent/list",{fav_type:Qe(r)},"\u6700\u8FD1\u4F7F\u7528\u5217\u8868");return Mo(o,r,"\u6700\u8FD1\u4F7F\u7528\u5217\u8868 data").map(i=>Gs(i,r))},async reportRecent(r){await n("/user/sticker/recent/report",Ls(r),"\u4E0A\u62A5\u6700\u8FD1\u4F7F\u7528");},async deleteRecent(r){await n("/user/sticker/recent/del",{ids:_o(r)},"\u5220\u9664\u6700\u8FD1\u4F7F\u7528");},async listReactionTop(r){let o=await n("/user/reaction/emoji/top",r===void 0?{}:{limit:r},"\u5FEB\u6377\u56DE\u5E94 Top \u5217\u8868");return pt(o,"\u5FEB\u6377\u56DE\u5E94 Top data").map(i=>{let a=ee(i,"\u5FEB\u6377\u56DE\u5E94 Top \u9879");return me(a.emoji,"\u5FEB\u6377\u56DE\u5E94 emoji")})},async reportReaction(r){await n("/user/reaction/emoji/report",{emoji:r},"\u4E0A\u62A5\u5FEB\u6377\u56DE\u5E94");},listGiphyTrending:r=>t("trending",r),searchGiphy:r=>t("search",r)}}async function Eo(e,n){let t=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await T(e,"/user_group/info",{group_id:n.groupId},t)).data}function js(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return [];let n=e,t=["list","users","user_list","members","member_list","members_list"];for(let r of t)if(Array.isArray(n[r]))return n[r];if(Array.isArray(n.data))return n.data;if(typeof n.data=="object"&&n.data!==null){let r=n.data;for(let o of t)if(Array.isArray(r[o]))return r[o]}return []}function qs(e){if(typeof e=="number")return e;if(typeof e=="string"&&e.trim()!==""){let n=Number(e);return Number.isNaN(n)?void 0:n}}var Ro=200,Js=50;async function To(e,n){let t=String(n.updateVersion??0).trim()||"0",r=[],o;for(let i=1;i<=Js;i++){let a={group_id:n.groupId,update_version:t,page:String(i),page_size:String(Ro)},{data:s}=await T(e,"/user_group/user/list",a,{method:"GET",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(s===null)break;let d=js(s);if(d.length===0)break;for(let g of d){let C=String(g.user_id??g.userId??"").trim();if(C==="")continue;let h={userId:C,nickName:String(g.nick_name??g.nickName??"").trim()},l=qs(g.join_type??g.joinType);l!==void 0&&(h.joinType=l),r.push(h);}let c=s.update_version;if(typeof c=="number"&&(o=c),d.length<Ro)break}return {members:r,updateVersion:o}}async function ko(e,n){return (await T(e,"/user/info/friend",{friend_user_id:n.userId})).data}var Vs=1440*60*1e3;function mt(e,n,t=Vs){let r=new Map,o=new Map,i=new Map;function a(g){let C=(i.get(g)??0)+1;i.set(g,C);let h=e(g).then(l=>(l!==null&&i.get(g)===C&&(r.set(g,l),n?.save(g,l).catch(()=>{})),l)).finally(()=>{o.get(g)===h&&o.delete(g);});return o.set(g,h),h}return {get:async(g,C)=>{if(C?.forceRefresh===true)return a(g);let h=r.get(g);if(h!==void 0)return h;let l=o.get(g);if(l!==void 0)return l;if(n!==void 0)try{let b=i.get(g)??0,v=await n.get(g);if(v!==null)return (i.get(g)??0)===b&&(r.set(g,v.value),Date.now()-v.updatedAt>t&&a(g)),v.value}catch{}return a(g)},peek:async g=>{let C=r.get(g);if(C!==void 0)return {value:C,stale:false};if(n===void 0)return null;try{let h=i.get(g)??0,l=await n.get(g);if(l!==null)return (i.get(g)??0)===h&&r.set(g,l.value),{value:l.value,stale:Date.now()-l.updatedAt>t}}catch{}return null},clear:()=>{for(let g of new Set([...r.keys(),...o.keys(),...i.keys()]))i.set(g,(i.get(g)??0)+1);r.clear(),o.clear();}}}function zs(e){async function n(h){let l=await ko(e.client,{userId:h})??await $e(e.client,{userId:h});return l===null?null:ca$1(l)}async function t(h){let l=await Eo(e.client,{groupId:h,clientType:e.clientType});return l===null?null:da$1(l)}async function r(h){let{members:l}=await To(e.client,{groupId:h,clientType:e.clientType});return l.length===0?null:l}function o(h){let l={};for(let b of h)b.nickName!==""&&(l[b.userId]=b.nickName);return l}let{storage:i}=e,a=i===void 0?void 0:{get:async h=>{let l=await i.getUserProfile(h);return l===null?null:{value:l,updatedAt:l.updatedAt}},save:async(h,l)=>{await i.saveUserProfile({...l,updatedAt:Date.now()});}},s=i===void 0?void 0:{get:async h=>{let l=await i.getGroupMembers(h);return l===null?null:{value:l.members.map(b=>({userId:b.userId,nickName:b.groupNick,...b.joinType===void 0?{}:{joinType:b.joinType}})),updatedAt:l.updatedAt}},save:async(h,l)=>{let b=l.map(v=>({userId:v.userId,groupNick:v.nickName,...v.joinType===void 0?{}:{joinType:v.joinType}}));await i.saveGroupMembers({groupId:h,members:b,updatedAt:Date.now()});}},d=i===void 0?void 0:{get:async h=>{let l=await i.getGroupProfile(h);return l===null?null:{value:l,updatedAt:l.updatedAt}},save:async(h,l)=>{await i.saveGroupProfile({...l,updatedAt:Date.now()});}},c=mt(n,a),g=mt(t,d),C=mt(r,s);return {getUserProfile:(h,l)=>c.get(h,l),getGroupProfile:(h,l)=>g.get(h,l),getGroupMemberNames:async(h,l)=>{let b=await C.get(h,l);return b===null?null:o(b)},listGroupMembers:(h,l)=>C.get(h,l),peekUserProfile:h=>c.peek(h),peekGroupMemberNames:async h=>{let l=await C.peek(h);return l===null?null:{value:o(l.value),stale:l.stale}},peekGroupMembers:h=>C.peek(h),peekGroupProfile:h=>g.peek(h),clearCache:()=>{c.clear(),g.clear(),C.clear();}}}var Pn=class extends Error{responseCode;operation;constructor(n,t,r){let o=n==="bind"?"\u7ED1\u5B9A":"\u89E3\u7ED1";super(`${o}\u673A\u5668\u4EBA\u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`),this.name="RobotConversationBindError",this.responseCode=t,this.operation=n;}},ke=class extends Error{constructor(n){super(n),this.name="RobotConversationBindMappingError";}};function Ws(e){let n=e.robotId.trim(),t=e.conversationId.trim();if(n==="")throw new ke("\u7ED1\u5B9A\u673A\u5668\u4EBA robotId \u4E0D\u80FD\u4E3A\u7A7A");if(t==="")throw new ke("\u7ED1\u5B9A\u673A\u5668\u4EBA conversationId \u4E0D\u80FD\u4E3A\u7A7A");if(e.groupType!==1&&e.groupType!==2)throw new ke("\u7ED1\u5B9A\u673A\u5668\u4EBA groupType \u5FC5\u987B\u662F 1 \u6216 2");return {robotId:n,conversationId:t,groupType:e.groupType,...e.clientType===void 0?{}:{clientType:e.clientType}}}async function Do(e,n,t){let r=Ws(t),i=await T(e,n==="bind"?"/robot/bind_group":"/robot/un_bind_group",{robot_id:r.robotId,object_id:r.conversationId,relation_type:r.groupType},{responseMode:"strict",method:"POST",...r.clientType===void 0?{}:{headers:{"Client-type":String(r.clientType)}}});if(!i.ok)throw new Pn(n,i.code,i.message)}function Ys(e,n){return Do(e,"bind",n)}function Qs(e,n){return Do(e,"unbind",n)}function Xs(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function ne(e,n,t,r){let o=await T(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new J(r,o.code,o.message)}function Zs(e){return ne(e.client,"/user_radio/edit",{radio_id:e.channelId,...e.name===void 0?{}:{name:e.name},...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl},...e.description===void 0?{}:{desc:e.description}},"\u4FEE\u6539\u793E\u7FA4\u8D44\u6599")}function ec(e){return ne(e.client,"/user_radio/user/setting",{radio_id:e.channelId,nick_name:e.nickname},"\u4FEE\u6539\u793E\u7FA4\u6635\u79F0")}function nc(e){return ne(e.client,"/user_radio/member/edit",{radio_id:e.channelId,radio_user_id:e.userId,nick_name:e.nickname},"\u4FEE\u6539\u793E\u7FA4\u6635\u79F0")}function tc(e){let n=e.userIds.map(t=>({user_id:Xs(t)}));return ne(e.client,"/user_radio/invited_users",{radio_id:e.channelId,members:JSON.stringify(n)},"\u9080\u8BF7\u793E\u7FA4\u6210\u5458")}function rc(e){return ne(e.client,"/user_radio/kick_user",{radio_id:e.channelId,user_id:e.userId},"\u79FB\u9664\u793E\u7FA4\u6210\u5458")}function oc(e){return ne(e.client,"/user_radio/add_admin",{radio_id:e.channelId,user_id:e.userId},"\u8BBE\u4E3A\u793E\u7FA4\u7BA1\u7406\u5458")}function ic(e){return ne(e.client,"/user_radio/del_admin",{radio_id:e.channelId,user_id:e.userId},"\u53D6\u6D88\u793E\u7FA4\u7BA1\u7406\u5458")}function ac(e){return ne(e.client,"/user_radio/transfer",{radio_id:e.channelId,user_id:e.userId},"\u8F6C\u8BA9\u793E\u7FA4")}function sc(e){return ne(e.client,"/user_radio/user/quit",{radio_id:e.channelId,...e.newOwnerId===void 0?{}:{user_id:e.newOwnerId}},"\u9000\u51FA\u793E\u7FA4")}function cc(e){return ne(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,verify_way:e.verifyType,...e.verifyType===4&&e.inviteCode!==void 0?{invite_code:e.inviteCode}:{}},"\u4FEE\u6539\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F")}function dc(e){return ne(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,is_unspeeking_all:e.muted?"1":"0"},e.muted?"\u5F00\u542F\u793E\u7FA4\u5168\u5458\u7981\u8A00":"\u5173\u95ED\u793E\u7FA4\u5168\u5458\u7981\u8A00")}function uc(e){return ne(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,is_unvisit_other:e.disabled?"1":"0"},e.disabled?"\u5F00\u542F\u793E\u7FA4\u5168\u5458\u7981\u79C1\u804A":"\u5173\u95ED\u793E\u7FA4\u5168\u5458\u7981\u79C1\u804A")}function lc(e){return ne(e.client,"/user_radio/closed",{radio_id:e.channelId},"\u89E3\u6563\u793E\u7FA4")}async function pc(e){e.signal?.throwIfAborted(),fc(e.channelId,"channel");let n=e.index.trim();if(n==="")throw new Error("CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587 index \u7F3A\u5931");e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId),e.signal?.throwIfAborted();let t=e.containAnchor??true,r=G$1({userId:e.userId,clientType:e.clientType,pulls:[{channelId:e.channelId,baseIndex:n,direction:0,count:20,contain:t?1:0}]}),o=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:r,...e.signal===void 0?{}:{signal:e.signal}});e.signal?.throwIfAborted();let i=J$1(o,{selfId:e.userId,keepRaw:true,expectedChannelIds:[e.channelId],onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps);if(t){let s=i.messages.filter(d=>d.extensions?.historyCursor===n);if(s.length!==1)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587 anchor \u5FC5\u987B\u4E00\u4E00\u5BF9\u5E94\uFF08channelId=${e.channelId}, index=${n}, count=${s.length}\uFF09`)}let a=i.nextBaseIndexes[e.channelId];return {messages:i.messages,hasNewer:(i.messageCounts[e.channelId]??0)===20&&a!==void 0&&a!==n,...a===void 0?{}:{nextCursor:a}}}function fc(e,n){if(!/^\d+$/.test(e))throw new Error(`CHANNEL ${n} id \u975E\u6CD5\uFF1A${e}`);let t=BigInt(e);if(t<=0n)throw new Error(`CHANNEL ${n} id \u975E\u6CD5\uFF1A${e}`);return t}async function mc(e){let n=gc(e.indexes),t=f.encode(f.create({sUserId:gt(e.userId,"user"),lsIndex:n.map(i=>({sChnnId:gt(i.channelId,"channel"),sIndex:i.readCursor}))})),r=await e.http.postProtobuf({path:"/channel/v1/readIndexes/edit",body:t}),o=g.decode(r);if(o.errcode!==0)throw new Error(`CHANNEL readIndexes/edit \u5931\u8D25\uFF1Aerrcode=${o.errcode}`)}function gc(e){if(e.length===0)throw new Error("CHANNEL readIndexes/edit \u81F3\u5C11\u9700\u8981\u4E00\u4E2A index");let n=new Set;return e.map(t=>{gt(t.channelId,"channel");let r=t.readCursor.trim();if(r==="")throw new Error(`CHANNEL readIndexes/edit cursor \u7F3A\u5931\uFF08channelId=${t.channelId}\uFF09`);if(n.has(t.channelId))throw new Error(`CHANNEL readIndexes/edit \u9891\u9053\u91CD\u590D\uFF08channelId=${t.channelId}\uFF09`);return n.add(t.channelId),{channelId:t.channelId,readCursor:r}})}function gt(e,n){if(!/^\d+$/.test(e))throw new Error(`CHANNEL readIndexes ${n} id \u975E\u6CD5\uFF1A${e}`);let t=BigInt(e);if(t<=0n)throw new Error(`CHANNEL readIndexes ${n} id \u975E\u6CD5\uFF1A${e}`);return t}async function yc(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u8BBE\u7F6E\u9ED1\u540D\u5355\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await T(e,"/user/black/set",{friend_user_id:t,status:n.blocked?2:1},{responseMode:"strict",method:"POST"});if(!r.ok)throw new Error(`${n.blocked?"\u52A0\u5165":"\u79FB\u51FA"}\u9ED1\u540D\u5355\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}var In=class extends Error{responseCode;constructor(n,t){super(`\u641C\u7D22\u7528\u6237\u5931\u8D25\uFF08${n}\uFF09\uFF1A${t||"unknown error"}`),this.name="ContactUserSearchError",this.responseCode=n;}},vn=class extends Error{kind;responseCode;constructor(n,t,r){super(`\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`),this.name="ContactFriendshipRequestError",this.kind=n,this.responseCode=t;}},yt={HIDDEN_CONTACT:40112,OWN_FRIEND_LIMIT_REACHED:40121,TARGET_FRIEND_LIMIT_REACHED:40122},hc=36875,bc=40113;function ht(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function ue(e){let n=ht(e);return n===""?void 0:n}function Uo(e){let n=Array.isArray(e)?e[0]:e;return n!==null&&typeof n=="object"?n:void 0}function Cc(e){switch(e){case yt.HIDDEN_CONTACT:return "hidden-contact";case yt.OWN_FRIEND_LIMIT_REACHED:return "own-friend-limit";case yt.TARGET_FRIEND_LIMIT_REACHED:return "target-friend-limit";default:return "remote"}}async function wc(e,n){let t=n.query.trim();if(t==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1Aquery \u4E0D\u80FD\u4E3A\u7A7A");let r=await T(e,"/user/info/search",{username:t},{responseMode:"strict",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok)throw new In(r.code,r.message);let o=Uo(r.data);if(o===void 0)return null;let i=ht(o.user_id??o.userId);if(i==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1A\u54CD\u5E94\u7F3A\u5C11 user_id");let a=ht(o.nick_name??o.nickname??o.name)||i,s=o.friend_status??o.friendStatus,d=s===void 0?void 0:Number(s);if(d!==void 0&&!Number.isInteger(d))throw new Error("\u641C\u7D22\u7528\u6237\uFF1Afriend_status \u975E\u6CD5");return {userId:i,nickname:a,...ue(o.username)===void 0?{}:{username:ue(o.username)},...ue(o.mid)===void 0?{}:{miCallId:ue(o.mid)},...ue(o.head_img_url??o.avatar)===void 0?{}:{avatarUrl:ue(o.head_img_url??o.avatar)},...ue(o.per_signature??o.signature)===void 0?{}:{signature:ue(o.per_signature??o.signature)},...d===void 0?{}:{friendStatus:d}}}async function Pc(e,n){let t=n.userId.trim(),r=n.message.trim(),o=n.remark?.trim();if(t===""||r==="")throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\uFF1AuserId \u548C message \u4E0D\u80FD\u4E3A\u7A7A");let i=await T(e,"/friend/apply/do",{to_user_id:t,remarks:r,...o===void 0||o===""?{}:{remark_nick_name:o}},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!i.ok)throw new vn(Cc(i.code),i.code,i.message);let a=Uo(i.data),s=Number(a?.status??0);if(s!==0&&s!==1&&s!==2)throw new Error(`\u53D1\u9001\u597D\u53CB\u7533\u8BF7\uFF1A\u672A\u77E5\u7ED3\u679C\u72B6\u6001 ${s}`);let d=ue(a?.message??a?.msg??i.message);return {status:s,...d===void 0?{}:{message:d}}}async function Ic(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await T(e,"/friend/del",{friend_user_id:t},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok&&r.code!==bc)throw new Error(`\u5220\u9664\u597D\u53CB\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}async function vc(e,n){let t=n.reporterUserId.trim(),r=n.targetUserId.trim(),o=n.problem.trim();if(t===""||r===""||o==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1AreporterUserId\u3001targetUserId \u548C problem \u4E0D\u80FD\u4E3A\u7A7A");let i=await T(e,"/user/report_user/add",{user_id:t,to_user_id:r,problem:o,images:"1"},{responseMode:"strict",method:"POST"});if(!i.ok)throw new J("\u4E3E\u62A5\u8054\u7CFB\u4EBA",i.code,i.message)}function Sc(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function Ac(e){let n=e.memberIds.map(t=>({user_id:Sc(t)}));return T(e.client,"/user_radio/create",{name:e.name,secret_key:e.secretKey,is_hidden:"0",members:JSON.stringify(n),...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl}},{method:"POST",responseMode:"strict"})}function Mc(e){return T(e.client,"/user_group/create_face",{is_hidden:"0"},{method:"POST",responseMode:"strict"})}function _c(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function xc(e){let n=e.memberIds.map(t=>({user_id:_c(t)}));return T(e.client,"/user_group/create",{name:e.name,is_hidden:"0",members:JSON.stringify(n),...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl}},{method:"POST",responseMode:"strict"})}function De(e){if(e.trim()==="")throw new Error("board pinned message groupId \u4E0D\u80FD\u4E3A\u7A7A")}function Ue(e){if(e.trim()==="")throw new Error("channel board pinned message channelId \u4E0D\u80FD\u4E3A\u7A7A")}function Oo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Ec(e){De(e.groupId);let n=await T(e.client,"/api/v1/board/get_board_msg_top",{group_ids:e.groupId,group_type:2},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(!Oo(n.data))throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u5BF9\u8C61");let t=n.data[e.groupId];if(t===void 0&&Object.keys(n.data).length===0)return {...n,data:null};if(t===void 0)throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u5355\u7FA4\u54CD\u5E94\u5305\u542B\u975E\u76EE\u6807 groupId");if(!Oo(t)||t.group_id!==e.groupId||t.group_type!==2||typeof t.msg_content!="string"||t.msg_content==="")throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u7F6E\u9876\u8BB0\u5F55\u5B57\u6BB5\u4E0D\u5339\u914D");let r=t,o=i(r.msg_content);if(o.envelope.convType!==2)throw new Error("board get \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 2");if(o.envelope.receiverId!==e.groupId)throw new Error("board get \u5FEB\u7167 receiverId \u4E0E\u54CD\u5E94 groupId \u4E0D\u4E00\u81F4");return {...n,data:{groupId:r.group_id,groupType:2,messageContent:r.msg_content}}}function Bo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Rc(e){Ue(e.channelId);let n=await T(e.client,"/api/v1/board/get_board_msg_top",{group_ids:e.channelId,group_type:1},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(!Bo(n.data))throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u5BF9\u8C61");let t=n.data[e.channelId];if(t===void 0&&Object.keys(n.data).length===0)return {...n,data:null};if(t===void 0)throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u5355\u9891\u9053\u54CD\u5E94\u5305\u542B\u975E\u76EE\u6807 channelId");if(!Bo(t)||t.group_id!==e.channelId||t.group_type!==1||typeof t.msg_content!="string"||t.msg_content==="")throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u7F6E\u9876\u8BB0\u5F55\u5B57\u6BB5\u4E0D\u5339\u914D");let r=t,o=i(r.msg_content);if(o.envelope.convType!==3)throw new Error("channel board get \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 3");if(o.envelope.receiverId!==e.channelId)throw new Error("channel board get \u5FEB\u7167 receiverId \u4E0E\u54CD\u5E94 channelId \u4E0D\u4E00\u81F4");return {...n,data:{channelId:r.group_id,groupType:1,messageContent:r.msg_content}}}async function Tc(e,n){let r=(await T(e,"/user_radio/info",{radio_id:n.channelId},{...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}})).data?.secret_key;return typeof r=="string"&&r.trim()!==""?r:null}function kc(e){if(typeof e!="string"||e.length===0)return false;try{let n=new URL(e);return n.protocol==="http:"||n.protocol==="https:"}catch{return false}}async function Dc(e){let n=await e("/system/background/list",{target:"core",method:"POST",data:{}});if(n.code!==200)throw new Error(`\u4F1A\u8BDD\u80CC\u666F\u9884\u7F6E\u5217\u8868\u8BF7\u6C42\u5931\u8D25\uFF1A${n.code}${n.msg?` ${n.msg}`:""}`);if(!Array.isArray(n.data?.lists))throw new Error("\u4F1A\u8BDD\u80CC\u666F\u9884\u7F6E\u5217\u8868\u54CD\u5E94\u7F3A\u5C11 lists");let t=[],r=new Set;for(let o of n.data.lists){let i=typeof o.id=="string"||typeof o.id=="number"?String(o.id):"";i.length===0||o.is_enabled!==1||!kc(o.img_url)||r.has(i)||(r.add(i),t.push({id:i,url:o.img_url,...typeof o.name=="string"&&o.name.length>0?{name:o.name}:{}}));}return t}function Uc(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function Xe(e,n,t,r){let o=await T(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new J(r,o.code,o.message)}function Oc(e){let n=e.userIds.map(t=>({user_id:Uc(t)}));return Xe(e.client,"/user_group/invited",{group_id:e.groupId,members:JSON.stringify(n)},"\u9080\u8BF7\u7FA4\u6210\u5458")}function Bc(e){return Xe(e.client,"/user_group/kick",{group_id:e.groupId,out_user_id:e.userId},"\u79FB\u9664\u7FA4\u6210\u5458")}function Nc(e){return Xe(e.client,"/user_group/transfer",{group_id:e.groupId,new_user_id:e.userId},"\u8F6C\u8BA9\u7FA4\u7EC4")}function Kc(e){return Xe(e.client,"/user_group/user/quit",{group_id:e.groupId,...e.newOwnerId===void 0?{}:{new_user_id:e.newOwnerId}},"\u9000\u51FA\u7FA4\u7EC4")}function Gc(e){return Xe(e.client,"/user_group/edit",{group_id:e.groupId,verify_way:e.verifyWay,...e.verifyWay===4&&e.inviteCode!==void 0?{invite_code:e.inviteCode}:{}},"\u4FEE\u6539\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F")}var Lc=new Set([200,32768]);async function Hc(e){let n=Y$1({userId:e.userId,groupId:e.groupId}),t=await e.http.postProtobuf({path:"/offline/v1/group/read_all",body:n}),{code:r}=Z$1(t);if(!Lc.has(r))throw new Error(`\u7FA4 read_all \u4E1A\u52A1\u5931\u8D25\uFF1Acode=${r}\uFF08groupId=${e.groupId}\uFF09`)}var Ze=class extends Error{constructor(n){super(`${n}\u54CD\u5E94\u5305\u542B\u65E0\u6CD5\u8BC6\u522B\u7684 is_waitting`),this.name="MembershipJoinMappingError";}};function Fc(e,n){if(e===true||e===1||e==="1")return Object.freeze({outcome:"waiting"});if(e==null||e===false||e===0||e==="0")return Object.freeze({outcome:"joined"});throw new Ze(n)}async function No(e,n,t,r){let o=await T(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new J(r,o.code,o.message);if(o.data===null||o.data===void 0)throw new Ze(r);return Fc(o.data.is_waitting,r)}async function Ko(e,n,t,r){let o=await T(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new J(r,o.code,o.message);return Object.freeze({outcome:"joined"})}function $c(e){return No(e.client,"/user_group/apply",{group_id:e.groupId,qrcode_type:2,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u666E\u901A\u7FA4")}function jc(e){return Ko(e.client,"/user_group/enter_by_invite_code",{group_id:e.groupId,invite_code:e.inviteCode},"\u4F7F\u7528\u9080\u8BF7\u7801\u52A0\u5165\u666E\u901A\u7FA4")}function qc(e){return No(e.client,"/user_radio/add/apply",{radio_id:e.channelId,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u793E\u7FA4")}function Jc(e){return Ko(e.client,"/user_radio/enter_by_invite_code",{radio_id:e.channelId,invite_code:e.inviteCode},"\u4F7F\u7528\u9080\u8BF7\u7801\u52A0\u5165\u793E\u7FA4")}async function Vc(e){if(De(e.groupId),e.messageContent.trim()==="")throw new Error("board pinned message messageContent \u4E0D\u80FD\u4E3A\u7A7A");let n=i(e.messageContent);if(n.envelope.convType!==2)throw new Error("board pin \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 2");if(n.envelope.receiverId!==e.groupId)throw new Error("board pin \u5FEB\u7167 receiverId \u4E0E\u76EE\u6807 groupId \u4E0D\u4E00\u81F4");let t=await T(e.client,"/api/v1/board/board_msg_top",{group_id:e.groupId,group_type:2,msg_content:e.messageContent},{method:"POST",prefix:"",responseMode:"strict"});if(!t.ok)return t;if(t.data!==null)throw new Error("board pin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...t,data:null}}async function zc(e){if(Ue(e.channelId),e.messageContent.trim()==="")throw new Error("channel board pinned message messageContent \u4E0D\u80FD\u4E3A\u7A7A");let n=i(e.messageContent);if(n.envelope.convType!==3)throw new Error("channel board pin \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 3");if(n.envelope.receiverId!==e.channelId)throw new Error("channel board pin \u5FEB\u7167 receiverId \u4E0E\u76EE\u6807 channelId \u4E0D\u4E00\u81F4");let t=await T(e.client,"/api/v1/board/board_msg_top",{group_id:e.channelId,group_type:1,msg_content:e.messageContent},{method:"POST",prefix:"",responseMode:"strict"});if(!t.ok)return t;if(t.data!==null)throw new Error("channel board pin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...t,data:null}}async function Wc(e){let n=aa$1({userId:e.userId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/chat/msg/by_id",body:n});return ba$1(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function Yc(e){e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=W$1({userId:e.userId,groupId:e.groupId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/group/msg/by_id",body:n});return X$1(t,{selfId:e.userId,keepRaw:true,source:"history",onReaction:e.onReaction},e.decryptDeps)}async function Qc(e){e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let n=L$1({userId:e.userId,channelId:e.channelId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/channel/v1/msg/by_id",body:n});return M(t,{selfId:e.userId,keepRaw:true,expectedChannelIds:[e.channelId],diagnostic:{endpoint:"msgById",surface:"msg-by-id",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps)}var Xc=20,Go=10,bt=30,Zc=100;async function ed(e){let n=[];for(let t of Ho(e.channels,Xc)){let r=F$1({userId:e.userId,clientType:e.clientType,channels:t}),o=await e.http.postProtobuf({path:"/channel/v1/sessions",body:r}),i={selfId:e.userId,keepRaw:e.keepRaw??true,expectedChannelIds:t.map(s=>s.channelId),diagnostic:{endpoint:"sessions",surface:"session-last",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType}},a=I(o,i);await Lo(e,a.sessions.filter(s=>s.channelState==="active"||s.raw?.status===0).map(s=>s.channelId)),n.push(...I(o,{...i,onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps).sessions);}return n}async function nd(e){let n=od(e.channelBatchSize),t=e.messageCount??bt,r=id(e.maxPagesPerBatch),o=new Map;for(let i of Ho(e.pulls,n)){let a=i.map(c=>({...c})),s=new Map(a.map(c=>[c.channelId,new Set([c.baseIndex])])),d=0;for(;a.length>0;){if(d>=r){let l=a.map(({channelId:b,baseIndex:v})=>`${b}@${v}`).join(",");throw new Error(`channel offline \u5206\u9875\u8D85\u8FC7 maxPagesPerBatch=${r}\uFF08active=${l}\uFF09`)}d+=1;let c=G$1({userId:e.userId,clientType:e.clientType,pulls:a.map(l=>({channelId:l.channelId,baseIndex:l.baseIndex,direction:0,count:t,contain:0}))});e.signal?.throwIfAborted();let g=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:c,...e.signal===void 0?{}:{signal:e.signal}});e.signal?.throwIfAborted(),await Lo(e,a.map(l=>l.channelId));let C=J$1(g,{selfId:e.userId,keepRaw:e.keepRaw??true,expectedChannelIds:a.map(l=>l.channelId),diagnostic:{endpoint:"offlineMessages",surface:"offline-batch",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps);for(let l of C.messages)o.has(l.id)||o.set(l.id,l);let h=[];for(let l of a){let b=C.nextBaseIndexes[l.channelId],v=C.messageCounts[l.channelId]??0;if(b===void 0)continue;let A=s.get(l.channelId);if(A.has(b))throw new Error(`channel offline cursor \u5FAA\u73AF\uFF08channelId=${l.channelId}, baseIndex=${b}\uFF09`);v<t||(A.add(b),h.push({channelId:l.channelId,baseIndex:b}));}a=h;}}return [...o.values()].sort(m)}async function td(e$1){e$1.signal?.throwIfAborted();let n=e$1.count??bt;if(!Number.isInteger(n)||n<=0)throw new Error("channel latest: count \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");e$1.decryptDeps!==void 0&&e$1.prepareKey!==void 0&&await e$1.prepareKey(e$1.channelId);let t=G$1({userId:e$1.userId,clientType:e$1.clientType,pulls:[{channelId:e$1.channelId,baseIndex:"",direction:1,count:n,contain:0}]});e$1.signal?.throwIfAborted();let r=await e$1.http.postProtobuf({path:"/channel/v1/offlineMessages",body:t,...e$1.signal===void 0?{}:{signal:e$1.signal}});e$1.signal?.throwIfAborted();let o={selfId:e$1.userId,keepRaw:e$1.keepRaw??true,expectedChannelIds:[e$1.channelId],diagnostic:{endpoint:"offlineMessages",surface:"history-page",...e$1.operationId===void 0?{}:{operationId:e$1.operationId},clientTypeHeader:e$1.clientType,clientTypeBody:e$1.clientType},onContentDecodeError:e$1.onContentDecodeError,onReaction:e$1.onReaction},i=e$1.yieldToEventLoop===void 0?{...J$1(r,o,e$1.decryptDeps),firstBaseIndex:e.decode(r).lsMessage[0]?.sIndex}:await K(r,o,e$1.decryptDeps,{yieldToEventLoop:e$1.yieldToEventLoop,signal:e$1.signal}),a=i.batchSize===n,s=i.firstBaseIndex;if(a&&(typeof s!="string"||s.trim()===""))throw new Error(`channel latest: \u6EE1\u9875\u7F3A\u5C11\u5411\u65E7 cursor\uFF08channelId=${e$1.channelId}\uFF09`);return {messages:i.messages,hasOlder:a,...a?{nextCursor:s}:{}}}async function rd(e){e.signal?.throwIfAborted();let n=e.count??bt;e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let t=H$1({userId:e.userId,clientType:e.clientType,channelId:e.channelId,baseIndex:e.baseIndex,count:n,contain:e.contain??0});e.signal?.throwIfAborted();let r=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:t,...e.signal===void 0?{}:{signal:e.signal}});return e.signal?.throwIfAborted(),N(r,{selfId:e.userId,channelId:e.channelId,requestedBaseIndex:e.baseIndex,requestedCount:n,keepRaw:e.keepRaw??true,diagnostic:{endpoint:"history",surface:"history-page",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps)}async function Lo(e,n){if(e.decryptDeps===void 0||e.prepareKeys===void 0)return;let t=[...new Set(n.filter(Boolean))];t.length>0&&await e.prepareKeys(t);}function od(e){if(e===void 0)return Go;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: channelBatchSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return Math.min(e,Go)}function id(e){if(e===void 0)return Zc;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: maxPagesPerBatch \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return e}function Ho(e,n){let t=[];for(let r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t}async function Fo(e,n){let t=_({userId:n.userId,clientType:n.clientType,limit:n.limit,deliveredMsgInfos:n.deliveredMsgInfos}),r=await n.http.postProtobuf({path:e,body:t});return $$1(r,{selfId:n.userId,keepRaw:true,onReaction:n.onReaction},n.decryptDeps)}function $o(e){return Fo("/offline/v1/chat",e)}function jo(e){return Fo("/offline/v1/owner_chat",e)}function ad(e){return $o(e).then(n=>n.messages)}function sd(e){return jo(e).then(n=>n.messages)}function qo(e){return [...new Set(e.filter(n=>n!==void 0&&n!==""))]}async function cd(e){let n=P({userId:e.userId,clientType:e.clientType,limit:e.limit,deliveredMsgIds:e.deliveredMsgInfos?.map(r=>r.msgId)}),t=await e.http.postProtobuf({path:"/offline/v1/group",body:n});if(e.prepareKeys!==void 0&&e.decryptDeps!==void 0){let r=R(t,{selfId:e.userId}),o=qo(r.messages.map(i=>i.conversationId));o.length>0&&await e.prepareKeys(o);}return R(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function dd(e){let n=Q$1({userId:e.userId,clientType:e.clientType,size:e.size}),t=await e.http.postProtobuf({path:"/offline/v1/group/session",body:n});if(e.prepareKeys!==void 0&&e.decryptDeps!==void 0){let r=S(t,{selfId:e.userId}),o=qo([...r.unreads.map(i=>i.groupId),...r.messages.map(i=>i.conversationId)]);o.length>0&&await e.prepareKeys(o);}return S(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function ud(e){e.signal?.throwIfAborted(),e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=T$1({userId:e.userId,groupId:e.groupId,baseTime:e.baseTime,direct:e.direct,limit:e.limit,clientType:e.clientType});e.signal?.throwIfAborted();let t=await e.http.postProtobuf({path:"/offline/v1/group/history_msg",body:n,...e.signal===void 0?{}:{signal:e.signal}});e.signal?.throwIfAborted();let r={selfId:e.userId,keepRaw:e.keepRaw??true,source:"history",onReaction:e.onReaction};return e.yieldToEventLoop===void 0?U(t,r,e.decryptDeps):V$1(t,{...r,expectedGroupId:e.groupId},e.decryptDeps,{yieldToEventLoop:e.yieldToEventLoop,signal:e.signal})}async function ld(e){let n=ia$1({userId:e.userId,clientType:e.clientType,limit:e.limit??100,msgId:String(Date.now()),deliveredMsgIds:e.deliveredMsgIds}),t=await e.http.postProtobuf({path:"/offline/v1/signal",body:n});return ja$1(t)}var Sn=class extends Error{responseCode;constructor(n,t){super(`\u641C\u7D22\u673A\u5668\u4EBA\u5931\u8D25\uFF08${n}\uFF09\uFF1A${t||"unknown error"}`),this.name="RobotDirectoryError",this.responseCode=n;}},ie=class extends Error{constructor(n){super(n),this.name="RobotDirectoryMappingError";}};function Ct(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Jo(e){let n=Ct(e);return n===""?void 0:n}function wt(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function pd(e){if(e===true||e===1||e==="1")return true;if(e===false||e===0||e==="0")return false}function fd(e){let n=wt(e);if(n===void 0)throw new ie("\u673A\u5668\u4EBA\u76EE\u5F55\u9879\u5FC5\u987B\u662F\u5BF9\u8C61");let t=Ct(n.robot_id??n.robotId);if(t==="")throw new ie("\u673A\u5668\u4EBA\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A robot_id");let r=Ct(n.robot_name??n.robotName)||t,o=Jo(n.mid??n.botMid??n.bot_mid),i=Jo(n.img_url??n.imgUrl),a=pd(n.bind);return {id:t,displayName:r,...o===void 0?{}:{username:o},...i===void 0?{}:{avatarUrl:i},...a===void 0?{}:{bound:a}}}function md(e){if(Array.isArray(e))return e;let n=wt(e);if(n===void 0)throw new ie("\u673A\u5668\u4EBA\u76EE\u5F55 data \u5FC5\u987B\u662F\u5BF9\u8C61\u6216\u6570\u7EC4");let t=n.data??n.list;if(!Array.isArray(t))throw new ie("\u673A\u5668\u4EBA\u76EE\u5F55 data.data \u5FC5\u987B\u662F\u6570\u7EC4");return t}function gd(e){let n=wt(e);if(n===void 0)return;let t=n.total_count??n.totalCount;if(t===void 0)return;let r=typeof t=="number"?t:Number(t);if(!Number.isSafeInteger(r)||r<0)throw new ie("\u673A\u5668\u4EBA\u76EE\u5F55 total_count \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");return r}async function yd(e,n){if(!Number.isSafeInteger(n.page)||n.page<1)throw new ie("\u673A\u5668\u4EBA\u76EE\u5F55 page \u5FC5\u987B\u662F\u6B63\u6574\u6570");if(!Number.isSafeInteger(n.pageSize)||n.pageSize<1||n.pageSize>100)throw new ie("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");let t=n.keyword?.trim()??"",r=n.groupId?.trim()??"";if(r===""!=(n.groupType===void 0))throw new ie("\u673A\u5668\u4EBA\u76EE\u5F55 groupId \u4E0E groupType \u5FC5\u987B\u540C\u65F6\u63D0\u4F9B\u6216\u540C\u65F6\u7701\u7565");let o=await T(e,"/robot/search_robot",{page:n.page,page_size:n.pageSize,...t===""?{}:{keyword:t},...r===""||n.groupType===void 0?{}:{group_id:r,group_type:n.groupType},...n.boundOnly===true?{search_type:1}:{}},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!o.ok)throw new Sn(o.code,o.message);let a=md(o.data).map(fd),s=gd(o.data),d=s===void 0?a.length<n.pageSize:n.page*n.pageSize>=s;return {items:a,exhausted:d}}var hd={direct:"/friend/undisturb/set",group:"/user_group/user/edit",channel:"/user_radio/user/setting",robot:"/friend/undisturb/set"},bd={direct:"friend_user_id",group:"group_id",channel:"radio_id",robot:"friend_user_id"};async function Cd(e){let n=hd[e.conversationType],t=bd[e.conversationType];if(n===void 0||t===void 0)throw new Error(`\u514D\u6253\u6270\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${e.conversationType}`);let{code:r}=await T(e.client,n,{[t]:e.targetId,is_undisturb:e.muted?"1":"0"},{method:"POST"});if(r!==200)throw new Error(`\u514D\u6253\u6270\u8BBE\u7F6E\u5931\u8D25\uFF1Acode=${r}\uFF08${e.conversationType} ${e.targetId}\uFF09`)}async function wd(e){let n={friend_user_id:e.userId};e.name!==void 0&&(n.nick_name=e.name),e.email!==void 0&&(n.ext_email=JSON.stringify(e.email)),e.phones!==void 0&&(n.ext_mobile=JSON.stringify(e.phones.map(r=>({country_code:r.countryCode,mobile:r.mobile}))));let{code:t}=await T(e.client,"/friend/remarks/update",n,{method:"POST"});if(t!==200)throw new Error(`\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u5931\u8D25\uFF1Acode=${t}\uFF08userId=${e.userId}\uFF09`)}async function Pd(e){let{code:n}=await T(e.client,"/user_group/user/edit",{group_id:e.groupId,nick_name:e.nickname},{method:"POST"});if(n!==200)throw new Error(`\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u5931\u8D25\uFF1Acode=${n}\uFF08groupId=${e.groupId}\uFF09`)}async function Id(e){De(e.groupId);let n=await T(e.client,"/api/v1/board/board_msg_top_cancel",{group_id:e.groupId,group_type:2},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(n.data!==null)throw new Error("board unpin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...n,data:null}}async function vd(e){Ue(e.channelId);let n=await T(e.client,"/api/v1/board/board_msg_top_cancel",{group_id:e.channelId,group_type:1},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(n.data!==null)throw new Error("channel board unpin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...n,data:null}}async function Sd(e){let n={group_id:e.groupId};e.name!==void 0&&(n.name=e.name),e.avatarUrl!==void 0&&(n.head_img_url=e.avatarUrl);let{code:t}=await T(e.client,"/user_group/edit",n,{method:"POST"});if(t!==200)throw new Error(`\u4FEE\u6539\u7FA4\u8D44\u6599\u5931\u8D25\uFF1Acode=${t}\uFF08groupId=${e.groupId}\uFF09`)}var Ad="1970-01-01 08:00:00",Md="2000",_d="",An=class extends Error{constructor(){super("\u4F1A\u8BDD\u6536\u85CF Core API \u672A\u914D\u7F6E"),this.name="SessionFavoriteProviderUnavailableError";}},ge=class extends Error{constructor(n){super(n),this.name="SessionFavoriteMappingError";}};function z(e){return typeof e=="string"?e:e==null?"":String(e)}function en(e,n){let t=z(e).trim();if(t==="")throw new ge(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function xd(e){let n=typeof e=="number"?e:Number(String(e??"").trim());return n===1?"text":n===2?"image":n===3?"video":n===4?"voice":n===5?"location":n===11?"file":n===28?"mediaAlbum":null}function Ed(e){return e==="text"?1:e==="image"?2:e==="video"?3:e==="voice"?4:e==="location"?5:e==="mediaAlbum"?28:11}function Rd(e){if(e==="direct")return 0;if(e==="group")return 1;if(e==="channel")return 2;throw new ge(`favorite conversation type ${e}`)}function Mn(e,n){return n==="text"||n==="location"?z(e.content).trim():n==="file"?z(e.fileName||e.file_name||e.name).trim():n==="mediaAlbum"?z(e.caption).trim():""}function Td(e,n){let t=z(e.group_id).trim(),r=z(e.radio_id).trim(),o=Number(z(e.msg_type).trim());if(o===1&&t!=="")return {conversationType:"group",conversationId:t};if(o===2&&r!=="")return {conversationType:"channel",conversationId:r};if(t!=="")return {conversationType:"group",conversationId:t};if(r!=="")return {conversationType:"channel",conversationId:r};if(o===0){let i=z(e.from_id).trim(),a=z(e.to_id).trim(),s=i===n.trim()?a:i;if(s!=="")return {conversationType:"direct",conversationId:s}}return null}function kd(e,n){let t=e.from_user,r=z(t?.nick_name||t?.nickname||t?.name).trim();return r===""?n:r}function Dd(e,n){let t=z(e.uu_id).trim(),r=xd(e.content_type),o=Kr(z(e.msg_body),n);if(t===""||r===null||o===null)return null;let i=z(e.from_id).trim();return Object.freeze({collectId:t,msgId:z(e.msg_id).trim(),kind:r,senderId:i,senderName:kd(e,i),avatarUrl:z(e.from_user?.avatar).trim(),createdAt:z(e.create_time||e.update_time||e.msg_time).trim(),text:Mn(o,r),imageUrl:xb(r,o),fileName:r==="file"?Mn(o,"file"):"",body:Object.freeze({...o}),conversation:Td(e,n)})}function Ud(e){if(e==null)return [];if(Array.isArray(e))return e;if(typeof e=="object"&&e!==null&&"list"in e){let n=e.list;if(n==null)return [];if(Array.isArray(n))return n}throw new ge("favorite list data \u5FC5\u987B\u662F\u6570\u7EC4\u6216 { list }")}function Od(){if(typeof crypto>"u"||typeof crypto.randomUUID!="function")throw new ge("collect uuid \u4E0D\u53EF\u7528");return crypto.randomUUID()}function Bd(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function Nd(e){async function n(t,r,o){if(e.coreClient===void 0)throw new An;let i=await T(e.coreClient,t,r,{method:"POST",responseMode:"strict",prefix:_d});if(!i.ok)throw new J(o,i.code,i.message);return i.data}return {async list(){let t=en(e.getUserId(),"favorite userId"),r=await n("/api/v1/user/favorite/list",{start_time:Ad,page_size:Md},"\u4F1A\u8BDD\u6536\u85CF\u5217\u8868");return Object.freeze(Ud(r).flatMap(o=>{let i=Dd(o,t);return i===null?[]:[i]}))},async add(t){let r=en(e.getUserId(),"favorite userId"),o=(e.createCollectId??Od)(),i={msg_id:en(t.messageId,"favorite msgId"),content_type:Ed(t.kind),msg_type:Rd(t.conversation.conversationType),msg_time:String(t.createdAt),from_id:en(t.senderId,"favorite fromId"),to_id:en(t.peerId,"favorite toId"),is_hide:t.hide===true?"1":"0",uu_id:o,msg_body:Nr(JSON.stringify(t.plainBody),r)};return t.conversation.conversationType==="group"&&(i.group_id=t.conversation.conversationId),t.conversation.conversationType==="channel"&&(i.radio_id=t.conversation.conversationId),await n("/api/v1/user/favorite/add",i,"\u6DFB\u52A0\u4F1A\u8BDD\u6536\u85CF"),Bd({collectId:o,msgId:t.messageId.trim(),kind:t.kind,senderId:t.senderId.trim(),senderName:t.senderId.trim(),avatarUrl:"",createdAt:String(t.createdAt),text:Mn(t.plainBody,t.kind),imageUrl:xb(t.kind,t.plainBody),fileName:t.kind==="file"?Mn(t.plainBody,"file"):"",body:t.plainBody,conversation:t.conversation})},async delete(t){let r=[...new Set(t.map(o=>o.trim()).filter(o=>o!==""))];if(r.length===0)throw new ge("favorite ids \u4E0D\u80FD\u4E3A\u7A7A");await n("/api/v1/user/favorite/del",{ids:r.join("|")},"\u5220\u9664\u4F1A\u8BDD\u6536\u85CF");}}}async function Vo(e,n){let t=V__default.md.md5.create();for(let r=0;r<e.size;r+=1024*1024){n?.throwIfAborted();let o=new Uint8Array(await e.slice(r,r+1024*1024).arrayBuffer());n?.throwIfAborted();for(let i=0;i<o.length;i+=8192)t.update(String.fromCharCode(...o.subarray(i,i+8192)));}return n?.throwIfAborted(),t.digest().toHex()}var zo="image/jpeg";function Pt(e,n){return e.type!==""||n===void 0||n===""?e:new Blob([e],{type:n})}function Gd(e){let n=0;return {fileMd5:Vo,async imageDimensions(t,r,o){let i=await e.prepare({operationId:`core-image-dimensions-${++n}`,generation:0,kind:"image",file:Pt(t,r),includePoster:false},o);return {width:i.width,height:i.height}},async imageThumbnail(t,r,o){let i=await e.prepare({operationId:`core-image-thumbnail-${++n}`,generation:0,kind:"image",file:Pt(t,r?.mimeType),...r?.maxSize===void 0?{}:{maxSize:r.maxSize},...r?.targetBytes===void 0?{}:{targetBytes:r.targetBytes},...r?.maxBytes===void 0?{}:{maxBytes:r.maxBytes},...r?.quality===void 0?{}:{quality:r.quality},...r?.minQuality===void 0?{}:{minQuality:r.minQuality}},o);if(i.posterData===void 0)throw new Error("\u56FE\u7247\u7F29\u7565\u56FE\u751F\u6210\u5931\u8D25\uFF1A\u6267\u884C\u5668\u672A\u8FD4\u56DE poster");return {data:new Uint8Array(i.posterData),width:i.width,height:i.height,mimeType:zo}},async videoPoster(t,r,o){let i=await e.prepare({operationId:`core-video-poster-${++n}`,generation:0,kind:"video",file:Pt(t,r?.mimeType),...r?.maxSize===void 0?{}:{maxSize:r.maxSize},...r?.targetBytes===void 0?{}:{targetBytes:r.targetBytes},...r?.maxBytes===void 0?{}:{maxBytes:r.maxBytes},...r?.quality===void 0?{}:{quality:r.quality},...r?.minQuality===void 0?{}:{minQuality:r.minQuality},...r?.atTime===void 0?{}:{atTime:r.atTime}},o);if(i.posterData===void 0)throw new Error("\u89C6\u9891\u5C01\u9762\u751F\u6210\u5931\u8D25\uFF1A\u6267\u884C\u5668\u672A\u8FD4\u56DE poster");return {data:new Uint8Array(i.posterData),width:i.width,height:i.height,duration:Math.round(i.duration??0),mimeType:zo}}}}function Ld(e){return e>=192&&e<=207&&e!==196&&e!==200&&e!==204}function Hd(e){return e!==void 0&&e>=5&&e<=8}function Fd(e,n,t){return Hd(t)?{width:n,height:e}:{width:e,height:n}}function $d(e,n,t){if(n+6>t)return;for(let[d,c]of [69,120,105,102,0,0].entries())if(e.getUint8(n+d)!==c)return;let r=n+6;if(r+8>t)return;let o=e.getUint16(r,false);if(o!==19789&&o!==18761)return;let i=o===18761;if(e.getUint16(r+2,i)!==42)return;let a=r+e.getUint32(r+4,i);if(a+2>t)return;let s=e.getUint16(a,i);for(let d=0;d<s;d++){let c=a+2+d*12;if(c+12>t)return;if(e.getUint16(c,i)===274)return e.getUint16(c+8,i)}}function jd(e,n){let t,r=2;for(;r+4<=n;){if(e.getUint8(r)!==255)return;let o=e.getUint8(r+1);if(o===255){r+=1;continue}if(o===218||o===217)return;let i=e.getUint16(r+2,false);if(i<2)return;let a=r+4,s=r+2+i;if(s>n)return;if(Ld(o)){if(a+5>n)return;let d=e.getUint16(a+1,false),c=e.getUint16(a+3,false);return c<=0||d<=0?void 0:Fd(c,d,t)}o===225&&t===void 0&&(t=$d(e,a,s)),r=s;}}function qd(e,n){if(n<24)return;let t=e.getUint32(16,false),r=e.getUint32(20,false);return t>0&&r>0?{width:t,height:r}:void 0}function Jd(e,n){if(n<10)return;let t=e.getUint16(6,true),r=e.getUint16(8,true);return t>0&&r>0?{width:t,height:r}:void 0}function Vd(e,n){if(n<30)return;let t=e.getUint32(12,false);if(t===1448097824){let r=e.getUint16(26,true)&16383,o=e.getUint16(28,true)&16383;return r>0&&o>0?{width:r,height:o}:void 0}if(t===1448097868){let r=e.getUint32(21,true),o=(r&16383)+1,i=(r>>>14&16383)+1;return {width:o,height:i}}if(t===1448097880){let r=(e.getUint16(24,true)|e.getUint8(26)<<16)+1,o=(e.getUint16(27,true)|e.getUint8(29)<<16)+1;return {width:r,height:o}}}function _n(e,n,t){return n<t.length?false:t.every((r,o)=>e.getUint8(o)===r)}async function Wo(e){if(e.size===0)return;let n=new Uint8Array(await e.slice(0,Math.min(e.size,262144)).arrayBuffer()),t=new DataView(n.buffer,n.byteOffset,n.byteLength),r=n.byteLength;if(_n(t,r,[255,216,255]))return jd(t,r);if(_n(t,r,[137,80,78,71,13,10,26,10]))return qd(t,r);if(_n(t,r,[71,73,70,56]))return Jd(t,r);if(_n(t,r,[82,73,70,70])&&r>=12&&t.getUint32(8,false)===1464156752)return Vd(t,r)}var ni=320,zd=12*1024,ti=20*1024,Wd=.9,Yd=.72,Qd=320,Xd=10*1024,Zd=16*1024,eu=.84,nu=.68,ri=15e3,tu=1;function ru(){if(typeof navigator>"u")return 2;let e=navigator.userAgent;if(/iPad|iPhone|iPod/.test(e)||/Macintosh/.test(e)&&(navigator.maxTouchPoints??0)>1)return 1;let t=navigator.deviceMemory;return t!==void 0&&t<=2?1:2}function Yo(e){let n={active:0,disposed:false},t=[];function r(){for(;!n.disposed&&n.active<e&&t.length>0;){let o=t.shift();if(o.signal?.aborted){o.reject(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));continue}o.onAbort!==void 0&&o.signal?.removeEventListener("abort",o.onAbort),n.active+=1;let i=false;o.resolve(()=>{i||(i=true,n.active-=1,r());});}}return {acquire(o){return n.disposed?Promise.reject(new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E")):new Promise((i,a)=>{let s={resolve:i,reject:a,...o===void 0?{}:{signal:o}};o!==void 0&&(s.onAbort=()=>{let d=t.indexOf(s);d>=0&&t.splice(d,1),a(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},o.addEventListener("abort",s.onAbort,{once:true})),t.push(s),r();})},dispose(){n.disposed=true;for(let o of t.splice(0))o.onAbort!==void 0&&o.signal?.removeEventListener("abort",o.onAbort),o.reject(new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E"));}}}function nn(e){if(e?.aborted)throw new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError")}var Qo=16777216,ou=4096;function iu(e,n){let t=Math.min(1,ou/Math.max(e,n)),r=Math.max(1,Math.round(e*t)),o=Math.max(1,Math.round(n*t)),i=r*o;if(i>Qo){let a=Math.sqrt(Qo/i);r=Math.max(1,Math.floor(r*a)),o=Math.max(1,Math.floor(o*a));}return {width:r,height:o}}function vt(e,n,t){let r=Math.min(1,t/Math.max(e,n));return iu(Math.max(1,Math.round(e*r)),Math.max(1,Math.round(n*r)))}async function Xo(e,n,t,r,o){nn(o);let i=document.createElement("canvas");i.width=n,i.height=t;let a=i.getContext("2d");if(a===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u65E0\u6CD5\u521B\u5EFA Canvas 2D \u4E0A\u4E0B\u6587");a.drawImage(e,0,0,n,t);let s=await new Promise(d=>i.toBlob(d,"image/jpeg",r));if(nn(o),s===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1ACanvas \u7F16\u7801\u8FD4\u56DE\u7A7A\u7ED3\u679C");return await s.arrayBuffer()}function It(e,n){if(!Number.isInteger(e)||e<=0)throw new RangeError(`${n}\u5FC5\u987B\u662F\u6B63\u6574\u6570`)}function Zo(e,n){if(!Number.isFinite(e)||e<=0||e>1)throw new RangeError(`${n}\u5FC5\u987B\u5927\u4E8E 0 \u4E14\u4E0D\u8D85\u8FC7 1`)}async function St(e,n,t,r,o){let i=r.kind==="video",a=i?"\u89C6\u9891\u5C01\u9762":"\u56FE\u7247\u7F29\u7565\u56FE",s=r.maxSize??(i?Qd:ni),d=r.targetBytes??(i?Xd:zd),c=r.maxBytes??(i?Zd:ti),g=r.quality??(i?eu:Wd),C=r.minQuality??(i?nu:Yd);if(It(s,`${a}\u6700\u5927\u8FB9\u957F`),It(d,`${a}\u76EE\u6807\u5B57\u8282\u6570`),It(c,`${a}\u6700\u5927\u5B57\u8282\u6570`),Zo(g,`${a}\u521D\u59CB\u8D28\u91CF`),Zo(C,`${a}\u6700\u4F4E\u8D28\u91CF`),d>c)throw new RangeError(`${a}\u76EE\u6807\u5B57\u8282\u6570\u4E0D\u80FD\u8D85\u8FC7\u6700\u5927\u5B57\u8282\u6570`);if(C>g)throw new RangeError(`${a}\u6700\u4F4E\u8D28\u91CF\u4E0D\u80FD\u9AD8\u4E8E\u521D\u59CB\u8D28\u91CF`);let h=vt(n,t,s),l=Math.min(200,Math.max(h.width,h.height)),b,v=[...new Set([g,Math.max(C,g-.12),C])];for(let R of v){let k=await Xo(e,h.width,h.height,R,o);if((b===void 0||k.byteLength<b.byteLength)&&(b=k),k.byteLength<=d)return k}let A=Math.max(h.width,h.height);if(A>l&&b!==void 0){let R=Math.sqrt(d/b.byteLength),k=Math.max(l,Math.floor(A*Math.min(.9,Math.max(.5,R))));h=vt(n,t,k);for(let x of [g,C]){let S=await Xo(e,h.width,h.height,x,o);if(S.byteLength<b.byteLength&&(b=S),S.byteLength<=d)return S}}if(b!==void 0&&b.byteLength<=c)return b;throw new Error(`${a}\u751F\u6210\u5931\u8D25\uFF1A\u7F16\u7801\u7ED3\u679C\u8D85\u8FC7 ${c} \u5B57\u8282\u786C\u4E0A\u9650`)}function ei(e,n,t){return new Promise((r,o)=>{let i,a,s,d,c=()=>{i!==void 0&&clearTimeout(i),e.removeEventListener(n,a),e.removeEventListener("error",s),t?.removeEventListener("abort",d);};a=()=>{c(),r();},s=()=>{c(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u524D\u89E3\u7801\u9519\u8BEF`));},d=()=>{c(),o(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},i=setTimeout(()=>{c(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u8D85\u65F6`));},ri),e.addEventListener(n,a,{once:true}),e.addEventListener("error",s,{once:true}),t?.addEventListener("abort",d,{once:true});})}async function au(e,n){nn(n);let t=e.maxSize??ni,r=e.maxBytes??ti,o=await Wo(e.file);nn(n);function i(g,C){return e.file.type==="image/jpeg"&&e.file.size<=r&&Math.max(g,C)<=t}if(o!==void 0){if(e.includePoster===false)return o;if(i(o.width,o.height))return {...o,posterData:await e.file.arrayBuffer()}}let a=o===void 0?void 0:vt(o.width,o.height,t),s;try{s=a===void 0?await createImageBitmap(e.file):await createImageBitmap(e.file,{resizeWidth:a.width,resizeHeight:a.height,resizeQuality:"high"});}catch(g){if(n?.aborted)throw g}if(s!==void 0)try{nn(n);let g=o??{width:s.width,height:s.height};return e.includePoster===!1?g:o===void 0&&i(s.width,s.height)?{...g,posterData:await e.file.arrayBuffer()}:{...g,posterData:await St(s,s.width,s.height,e,n)}}finally{s.close();}let d=URL.createObjectURL(e.file),c=new Image;try{await new Promise((C,h)=>{let l,b,v=()=>{l!==void 0&&clearTimeout(l),c.onload=null,c.onerror=null,n?.removeEventListener("abort",b);};b=()=>{v(),h(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},c.onload=()=>{v(),C();},c.onerror=()=>{v(),h(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u9519\u8BEF"));},l=setTimeout(()=>{v(),h(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u8D85\u65F6"));},ri),n?.addEventListener("abort",b,{once:!0}),c.src=d;});let g=o??{width:c.naturalWidth,height:c.naturalHeight};return e.includePoster===!1?g:i(c.naturalWidth,c.naturalHeight)?{...g,posterData:await e.file.arrayBuffer()}:{...g,posterData:await St(c,c.naturalWidth,c.naturalHeight,e,n)}}finally{c.removeAttribute("src"),URL.revokeObjectURL(d);}}async function su(e,n){let t=URL.createObjectURL(e.file),r=document.createElement("video");r.muted=true,r.preload="metadata",r.playsInline=true;try{r.src=t,r.load(),await ei(r,"loadeddata",n);let o=r.videoWidth,i=r.videoHeight;if(o<=0||i<=0)throw new Error("\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u89C6\u9891\u5C3A\u5BF8\u65E0\u6548");let a=Number.isFinite(r.duration)&&r.duration>0?r.duration:void 0,s=e.atTime===void 0?a===void 0?0:Math.min(1,a/2):Math.max(0,Math.min(e.atTime,a??e.atTime));s>0&&(r.currentTime=s,await ei(r,"seeked",n));let d=a===void 0?void 0:a,c;try{c=await St(r,o,i,e,n);}catch(g){if(n?.aborted||g instanceof RangeError)throw g}return {width:o,height:i,...d===void 0?{}:{duration:d},...c===void 0?{}:{posterData:c}}}finally{r.pause(),r.removeAttribute("src"),r.load(),URL.revokeObjectURL(t);}}function cu(e={}){let n=e.maxConcurrency??ru();if(!Number.isInteger(n)||n<1||n>4)throw new RangeError("\u5A92\u4F53\u9884\u89C8\u5E76\u53D1\u6570\u5FC5\u987B\u662F 1-4 \u7684\u6574\u6570");let t=Yo(n),r=Yo(tu),o=false;return {async prepare(i,a){if(o)throw new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E");let s=i.kind==="video",d=await(s?r:t).acquire(a);try{return s?await su(i,a):await au(i,a)}finally{d();}},dispose(){o||(o=true,t.dispose(),r.dispose());}}}function xn(e=6){if(!Number.isSafeInteger(e)||e<1)throw new RangeError("\u5A92\u4F53\u8BF7\u6C42\u5E76\u53D1\u4E0A\u9650\u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let n=0,t=[];function r(){for(;n<e&&t.length>0;){let o=t.shift();if(o.signal?.removeEventListener("abort",o.cancel),o.signal?.aborted){o.cancel();continue}n+=1,o.start();}}return async function(i,a){if(i?.aborted)throw new DOMException("\u5A92\u4F53\u4F20\u8F93\u5DF2\u53D6\u6D88","AbortError");await new Promise((s,d)=>{let c={signal:i,start:s,cancel:()=>{let g=t.indexOf(c);g>=0&&t.splice(g,1),d(new DOMException("\u5A92\u4F53\u4F20\u8F93\u5DF2\u53D6\u6D88","AbortError"));}};i?.addEventListener("abort",c.cancel,{once:true}),t.push(c),r();});try{if(i?.aborted)throw new DOMException("\u5A92\u4F53\u4F20\u8F93\u5DF2\u53D6\u6D88","AbortError");return await a()}finally{n-=1,r();}}}var tn=16*1024*1024,rn=3,At=3,En=6,du=5*1024**3,Rn=1e4;function Mt(e,n){if(!Number.isSafeInteger(e)||e<0)throw new H("upload-source-invalid","\u5A92\u4F53\u4E0A\u4F20\u5927\u5C0F\u5FC5\u987B\u4E3A\u975E\u8D1F\u5B89\u5168\u6574\u6570\u5B57\u8282\u6570");let t=n&&e>tn,r=t?Math.ceil(e/tn):1;if(!t&&e>du)throw new H("upload-size-exceeded","\u5355\u6B21 PUT \u6700\u591A\u652F\u6301 5 GiB\uFF1B\u66F4\u5927\u5BF9\u8C61\u9700\u8981\u663E\u5F0F\u542F\u7528\u5E76\u914D\u7F6E\u5206\u7247\u4E0A\u4F20");if(r>Rn)throw new H("upload-size-exceeded","\u5F53\u524D 16 MiB \u5206\u7247\u7B56\u7565\u6700\u591A\u652F\u6301 10,000 \u7247\uFF08156.25 GiB\uFF09");return {multipart:t,partSize:tn,partCount:r}}function uu(e,n,t,r){let o=/^bytes (\d+)-(\d+)\/(\d+)$/.exec(e.headers.get("content-range")??""),i=e.headers.get("etag")??"",a=Number(o?.[1]),s=Number(o?.[2]),d=Number(o?.[3]);if(e.status!==206||o===null||![a,s,d].every(Number.isSafeInteger)||d<=0||a!==n||s!==Math.min(t,d-1)||s<a||!/^"[\x21\x23-\x7E\x80-\xFF]*"$/.test(i)||e.headers.get("content-encoding")!==null&&e.headers.get("content-encoding")!=="identity")throw new H("download-range-invalid","\u5206\u6BB5\u4E0B\u8F7D\u54CD\u5E94\u65E0\u6548\uFF1A\u9700\u8981 206\u3001\u6B63\u786E Content-Range\u3001\u5F3A ETag \u548C\u672A\u538B\u7F29\u5B57\u8282\uFF1B\u8BF7\u68C0\u67E5\u4E0B\u8F7D\u57DF\u540D\u7684 CORS ExposeHeaders");if(r!==void 0&&(d!==r.total||i!==r.etag))throw new H("download-object-changed","\u5206\u6BB5\u4E0B\u8F7D\u671F\u95F4\u6587\u4EF6\u7248\u672C\u53D1\u751F\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u4E0B\u8F7D");return {end:s,total:d,etag:i}}function oi(e=true,n,t=tn){if(!Number.isSafeInteger(t)||t<=0)throw new RangeError("\u4E0B\u8F7D\u5206\u6BB5\u5927\u5C0F\u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let r=xn(En);async function o(a,s){if(!a.ok)throw new H("download-range-failed",`\u5A92\u4F53\u4E0B\u8F7D\u5931\u8D25\uFF1AHTTP ${a.status}`);return s.onProgress===void 0||a.body===null?s.preferBlob===true?await a.blob():new Uint8Array(await a.arrayBuffer()):pu(a,s.onProgress,s.expectedBytes,s.preferBlob===true)}async function i(a){let s=new AbortController,d=()=>s.abort(a.signal?.reason);a.signal?.aborted?d():a.signal?.addEventListener("abort",d,{once:true});let c=s.signal,g=[],C=[],h=0,l,b="",v=1,A,R=false,k=u=>{R||(R=true,A=u,s.abort());};function x(u,m){h+=m-(C[u]??0),C[u]=m;let w=l.total;a.onProgress?.({percent:Math.min(99,Math.round(h/w*100)),bytesTransferred:h,bytesTotal:w});}async function S(u){let m=u*t,w=l===void 0?m+t-1:Math.min(m+t-1,l.total-1);return r(c,async()=>{let p=await fetch(a.url,{signal:c,cache:"no-store",headers:{Range:`bytes=${m}-${w}`}});if(u===0&&p.status===200)return n?.record("info","sdk","media","download-range-unavailable",()=>({data:{reason:"server-returned-full-response"}})),g[0]=await o(p,{...a,preferBlob:true}),"single";let y=uu(p,m,w,l);l===void 0&&(l=y,b=p.headers.get("content-type")??"",n?.record("debug","sdk","media","download-range-started",()=>({data:{bytesTotal:y.total,partSizeBytes:t,concurrency:At}})));let I=await o(p,{...a,preferBlob:true,onProgress:f=>x(u,f.bytesTransferred)});if(I.size!==y.end-m+1)throw new H("download-range-invalid","\u5206\u6BB5\u4E0B\u8F7D\u5B57\u8282\u6570\u4E0E Content-Range \u4E0D\u4E00\u81F4");return g[u]=I,x(u,I.size),"range"})}try{let u=await S(0);if(u==="range"){let m=Math.ceil(l.total/t),w=Array.from({length:Math.min(At,m-1)},async()=>{try{for(;!c.aborted&&v<m;)await S(v++);}catch(p){k(p);}});if(await Promise.allSettled(w),R)throw A}if(c.aborted)throw new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError");return u==="single"?g[0]:new Blob(g,{type:b})}catch(u){throw s.abort(),n?.record("warn","sdk","media","download-range-failed",()=>({data:{code:u instanceof H?u.code:"download-failed"}})),u}finally{a.signal?.removeEventListener("abort",d);}}return async function(s){return e&&s.preferBlob===true&&Number.isFinite(s.expectedBytes)&&s.expectedBytes>t?i(s):r(s.signal,async()=>{if(s.onProgress!==void 0&&typeof XMLHttpRequest<"u")return lu(s);let d=await fetch(s.url,s.signal===void 0?{}:{signal:s.signal});return o(d,s)})}}function lu(e){let n=e.preferBlob===true;return new Promise((t,r)=>{let o=new XMLHttpRequest,i=false,a=()=>{},s=()=>{e.signal?.removeEventListener("abort",a),o.onprogress=null,o.onload=null,o.onerror=null,o.onabort=null;},d=c=>{i||(i=true,s(),c());};if(a=()=>{o.abort(),d(()=>r(new DOMException("media download canceled","AbortError")));},o.open("GET",e.url,true),o.responseType=n?"blob":"arraybuffer",o.onprogress=c=>{let g=e.expectedBytes!==void 0&&Number.isFinite(e.expectedBytes)&&e.expectedBytes>0?Math.floor(e.expectedBytes):0,C=c.lengthComputable&&c.total>0?c.total:g,h=C>0?Math.min(99,Math.round(c.loaded/C*100)):0;e.onProgress?.({percent:h,bytesTransferred:c.loaded,bytesTotal:C});},o.onload=()=>{if(o.status<200||o.status>=300){d(()=>r(new Error(`media download \u5931\u8D25\uFF1AHTTP ${o.status}`)));return}let c=o.response;if(n){if(!(typeof Blob<"u"&&c instanceof Blob)){d(()=>r(new Error("media download \u5931\u8D25\uFF1AXHR \u672A\u8FD4\u56DE Blob")));return}d(()=>t(c));return}if(!(c instanceof ArrayBuffer)){d(()=>r(new Error("media download \u5931\u8D25\uFF1AXHR \u672A\u8FD4\u56DE ArrayBuffer")));return}d(()=>t(new Uint8Array(c)));},o.onerror=()=>d(()=>r(new Error("media download \u5931\u8D25\uFF1Anetwork"))),o.onabort=()=>d(()=>r(new DOMException("media download canceled","AbortError"))),e.signal?.aborted){a();return}e.signal?.addEventListener("abort",a,{once:true}),o.send();})}async function pu(e,n,t,r=false){let o=Number(e.headers.get("content-length")??0),i=t!==void 0&&Number.isFinite(t)&&t>0?Math.floor(t):0,a=Number.isFinite(o)&&o>0?o:i,s=0,d=e.body.pipeThrough(new TransformStream({transform(g,C){s+=g.byteLength;let h=a>0?Math.min(99,Math.round(s/a*100)):0;n({percent:h,bytesTransferred:s,bytesTotal:a}),C.enqueue(g);}})),c=new Response(d,{headers:e.headers});return r?await c.blob():new Uint8Array(await c.arrayBuffer())}var ii=async(e,n)=>{if(e?.aborted)throw new DOMException("media upload canceled","AbortError");return await n()},_t="is missing ETag in UploadPart response";function xt(e){if(typeof e!="object"||e===null)return false;let n=e;return n.name==="NoSuchUpload"||n.Code==="NoSuchUpload"}function fu(e,n,t){return e instanceof Uint8Array?e.subarray(n,t):e.slice(n,t)}async function ai(e,n,t){return e.transformPart===void 0?n:await e.transformPart(n instanceof Blob?n:new Blob([n]),t)}function si(e,n){let t=new Map,r=n,o=n;function i(){if(e.onProgress===void 0)return;let a=r;for(let c of t.values())a+=c;o=Math.max(o,a);let s=e.sourceBytes,d=s>0?Math.min(99,Math.round(o/s*100)):0;e.onProgress({percent:d,bytesTransferred:o,bytesTotal:s,phase:s>0&&o>=s?"finalizing":"transferring"});}return {trackPart(a,s){t.set(a,s),i();},completePart(a,s){t.delete(a),r+=s,i();},report:i}}function ci(e,n){let t=(o,i)=>{let a=i.query?.partNumber,s=a===void 0?0:Number(a);Number.isFinite(s)&&n.trackPart(s,o.loaded);},r=e;return r.on("xhr.upload.progress",t),()=>{r.off?.("xhr.upload.progress",t),r.removeListener?.("xhr.upload.progress",t);}}async function di(e,n,t=ii){let r=si(n,0),o=ci(e.handler,r);try{await t(n.signal,async()=>{let i=await ai(n,n.data,1);if(n.signal?.aborted)throw new DOMException("media upload canceled","AbortError");await e.client.send(new e.commands.PutObjectCommand({Bucket:e.bucket,Key:e.key,Body:i,...e.mimeType!==void 0&&e.mimeType!==""?{ContentType:e.mimeType}:{}}),n.signal===void 0?{}:{abortSignal:n.signal});});}finally{o();}}function Et(e,n,t,r){if(e!==void 0&&!(e.bucket!==n.bucket||e.key!==n.key)&&!(e.partSize!==r||e.sourceBytes!==t)&&e.uploadId!=="")return e.parts}async function Rt(e){let{target:n,content:t,partSize:r,queueSize:o,runUpload:i=ii}=e;if(t.signal?.aborted===true)throw new DOMException("media upload canceled","AbortError");let a=Math.max(1,Math.ceil(t.sourceBytes/r));if(a>Rn)throw new Error(`media upload: \u5206\u7247\u6570 ${a} \u8D85\u8FC7 S3 \u4E0A\u9650 ${Rn}\uFF0C\u9700\u8981\u653E\u5927\u5206\u7247\u5927\u5C0F`);let s=Et(e.resume,n,t.sourceBytes,r),d=new Map;if(s!==void 0)for(let x of s)d.set(x.partNumber,x);let c=s===void 0?"":e.resume.uploadId;if(c===""){let x=await n.client.send(new n.commands.CreateMultipartUploadCommand({Bucket:n.bucket,Key:n.key,...n.mimeType!==void 0&&n.mimeType!==""?{ContentType:n.mimeType}:{}}));if(x.UploadId===void 0||x.UploadId==="")throw new Error("media upload: CreateMultipartUpload \u672A\u8FD4\u56DE UploadId");c=x.UploadId,d.clear();}let g=x=>Math.min(r,t.sourceBytes-(x-1)*r),C=0;for(let x of d.keys())C+=g(x);let h=si(t,C),l=ci(n.handler,h),b=()=>({bucket:n.bucket,key:n.key,uploadId:c,partSize:r,sourceBytes:t.sourceBytes,parts:[...d.values()].sort((x,S)=>x.partNumber-S.partNumber)});e.onResumable?.(b()),h.report();let v=new AbortController,A=()=>v.abort();t.signal?.addEventListener("abort",A,{once:true}),t.signal?.aborted&&A();let R=1;async function k(){for(;;){if(v.signal.aborted)return;let x=R;if(R+=1,x>a)return;if(d.has(x))continue;let S=(x-1)*r,u=Math.min(S+r,t.sourceBytes),m=await i(v.signal,async()=>{let w=await ai(t,fu(t.data,S,u),x);if(v.signal.aborted)throw new DOMException("media upload canceled","AbortError");return await n.client.send(new n.commands.UploadPartCommand({Bucket:n.bucket,Key:n.key,UploadId:c,PartNumber:x,Body:w}),{abortSignal:v.signal})});if(m.ETag===void 0||m.ETag==="")throw new Error(`media upload: Part ${x} ${_t}`);d.set(x,{partNumber:x,etag:m.ETag}),h.completePart(x,u-S),e.onResumable?.(b());}}try{let x;if(await Promise.allSettled(Array.from({length:Math.min(rn,a,Math.max(1,o))},async()=>{try{await k();}catch(S){x??={cause:S},A();}})),x!==void 0)throw x.cause;if(t.signal?.aborted)throw new DOMException("media upload canceled","AbortError");if(await n.client.send(new n.commands.CompleteMultipartUploadCommand({Bucket:n.bucket,Key:n.key,UploadId:c,MultipartUpload:{Parts:[...d.values()].sort((S,u)=>S.partNumber-u.partNumber).map(S=>({PartNumber:S.partNumber,ETag:S.etag}))}}),t.signal===void 0?{}:{abortSignal:t.signal}),e.onCompleted?.(),t.signal?.aborted)throw new DOMException("media upload canceled","AbortError")}finally{t.signal?.removeEventListener("abort",A),l();}}async function on(e,n){try{await e.client.send(new e.commands.AbortMultipartUploadCommand({Bucket:n.bucket,Key:n.key,UploadId:n.uploadId}));}catch(t){if(!xt(t))throw t}}function mu(e){if(e instanceof Uint8Array)return e.byteLength;if(typeof Blob<"u"&&e instanceof Blob)return e.size}var ui="\u5206\u7247\u4E0A\u4F20\u8981\u6C42\u8BE5 bucket \u7684 CORS \u653E\u884C POST\uFF08Create/CompleteMultipartUpload\uFF09\u3001DELETE\uFF08AbortMultipartUpload\uFF09\u5E76 ExposeHeaders: ETag";function gu(e){return e instanceof Error&&e.message.includes(_t)}function yu(e,n,t){return t!==void 0?new H("multipart-abort-failed",`media upload: \u5206\u7247\u4E0A\u4F20\u5931\u8D25\u540E\u7684 AbortMultipartUpload \u6E05\u7406\u672A\u6210\u529F\uFF0C\u5DF2\u4E0A\u4F20\u5206\u7247\u53EF\u80FD\u6B8B\u7559\u5728 bucket \u4E2D\u5E76\u7EE7\u7EED\u8BA1\u8D39\uFF08\u5EFA\u8BAE\u6876\u4FA7\u914D\u7F6E AbortIncompleteMultipartUpload \u751F\u547D\u5468\u671F\u89C4\u5219\uFF09\uFF1B${ui}`,{cause:t}):e instanceof H?e:gu(e)?new H("multipart-etag-missing","media upload: \u5206\u7247\u54CD\u5E94\u8BFB\u4E0D\u5230 ETag\uFF0C\u8FD9\u662F bucket CORS \u7F3A\u5C11 ExposeHeaders: ETag \u7684\u914D\u7F6E\u95EE\u9898\uFF0C\u4E0D\u662F\u7F51\u7EDC\u95EE\u9898",{cause:e}):n&&!(e instanceof Error&&e.name==="AbortError")?new H("multipart-upload-failed",`media upload: \u5206\u7247\u4E0A\u4F20\u5931\u8D25\uFF1B${ui}`,{cause:e}):e}var hu=new Set(["upload-source-invalid","upload-resume-unavailable","multipart-etag-missing","multipart-abort-failed"]);function Tt(e,n){let t=e?.transport;if(t==null||typeof t!="object"||typeof t.logicalBucket!="string"||t.logicalBucket===""||typeof t.objectName!="string"||t.objectName===""||n!==void 0&&t.logicalBucket!==n)return;let r=t.session;if(r==null||typeof r!="object"||typeof r.bucket!="string"||r.bucket===""||typeof r.key!="string"||r.key===""||typeof r.uploadId!="string"||r.uploadId===""||!Number.isSafeInteger(r.partSize)||r.partSize<=0||!Number.isSafeInteger(r.sourceBytes)||r.sourceBytes<0||!Array.isArray(r.parts))return;let o=new Set;for(let i of r.parts){if(i===null||typeof i!="object"||!Number.isSafeInteger(i.partNumber)||i.partNumber<1||i.partNumber>Math.ceil(r.sourceBytes/r.partSize)||o.has(i.partNumber)||typeof i.etag!="string"||i.etag==="")return;o.add(i.partNumber);}return t}var an;function li(){if(an!==void 0)return an;let n=Promise.all([import('@aws-sdk/client-s3'),import('@aws-sdk/xhr-http-handler')]).then(([t,r])=>({S3Client:t.S3Client,commands:{PutObjectCommand:t.PutObjectCommand,CreateMultipartUploadCommand:t.CreateMultipartUploadCommand,UploadPartCommand:t.UploadPartCommand,CompleteMultipartUploadCommand:t.CompleteMultipartUploadCommand,AbortMultipartUploadCommand:t.AbortMultipartUploadCommand},XhrHttpHandler:r.XhrHttpHandler})).catch(t=>{throw an===n&&(an=void 0),t});return an=n,n}function pi(e,n){return new H("multipart-abort-failed","Resource upload failed and incomplete parts could not be removed",{cause:new AggregateError([e,n],"Resource upload and multipart cleanup both failed")})}function bu(e){if(e===void 0)return "";let n=e.lastIndexOf(".");return n>=0?e.slice(n):""}function Cu(e){return globalThis.crypto.randomUUID()+bu(e)}function fi(e,n){let t=e.keyPrefix??"";return t===""||n.startsWith(t)?n:`${t}${n}`}function wu(e,n){let t=hr(e.getUploadCredentials),r=xn(En);function o(l,b){if(l==="avatar")return e.avatarBucket??"";if(b==="channel"){let v=e.channelBuckets?.[l]??"";if(v!=="")return v}return e.buckets[l]??""}function i(l,b,v){let{region:A}=b;return new l.S3Client({region:A,credentials:{accessKeyId:b.accessKeyId,secretAccessKey:b.secretAccessKey,sessionToken:b.sessionToken,...b.expiresAtSeconds===void 0?{}:{expiration:new Date(b.expiresAtSeconds*1e3)}},useAccelerateEndpoint:(e.useAccelerateEndpoint??true)&&!A.toLowerCase().startsWith("cn-"),requestChecksumCalculation:"WHEN_REQUIRED",requestHandler:v})}async function a(l,b,v,A,R,k,x,S){let{multipart:u,partSize:m}=Mt(x,e.multipartTransfer===true&&e.multipartUpload!==false),w=new l.XhrHttpHandler({}),p=i(l,R,w),y={client:p,handler:w,commands:l.commands,bucket:R.bucket,key:k,...b.mimeType!==void 0&&b.mimeType!==""?{mimeType:b.mimeType}:{}},I={data:b.data,sourceBytes:x,...b.onProgress===void 0?{}:{onProgress:b.onProgress},...b.signal===void 0?{}:{signal:b.signal},...b.transformPart===void 0?{}:{transformPart:b.transformPart}},f=b.resume,P=Tt(f),M=u&&P?.logicalBucket===v&&Et(P.session,y,x,m)!==void 0,_=M?P?.session:void 0,D=O=>{_=O;let N=0;for(let B of O.parts)N+=Math.min(O.partSize,O.sourceBytes-(B.partNumber-1)*O.partSize);b.onResumable?.({bytesUploaded:N,transport:{logicalBucket:v,objectName:A,session:O}});},E=()=>{_=void 0,delete b.resume,b.onResumeInvalidated?.();},U;try{if(S.mode==="retain"&&f!==void 0&&!M)throw new H("upload-resume-unavailable","media upload: \u4E0A\u6B21\u4E0A\u4F20\u76EE\u6807\u6216\u7EED\u4F20\u8BB0\u5F55\u5DF2\u5931\u6548\uFF0C\u9700\u8981\u786E\u8BA4\u540E\u91CD\u65B0\u5B8C\u6574\u4E0A\u4F20");if(P!==void 0&&!M){try{P.logicalBucket===v?await on(y,P.session):await C(f);}catch(N){throw S.cleanupFailed=!0,pi(S.retryCause,N)}delete b.resume;}if(b.signal?.aborted)throw new DOMException("media upload canceled","AbortError");if(!u){await di(y,I,r);return}let O=_;try{await Rt({target:y,content:I,partSize:m,queueSize:rn,runUpload:r,...O===void 0?{}:{resume:O},onResumable:D,onCompleted:E});}catch(N){if(b.signal?.aborted||!xt(N)||S.mode==="discard"&&O===void 0)throw N;if(S.mode==="retain")throw new H("upload-resume-unavailable","media upload: \u4E0A\u6B21\u4E0A\u4F20\u5DF2\u65E0\u6CD5\u7EE7\u7EED\uFF0C\u9700\u8981\u786E\u8BA4\u540E\u91CD\u65B0\u5B8C\u6574\u4E0A\u4F20",{cause:N});_=void 0,await Rt({target:y,content:I,partSize:m,queueSize:rn,runUpload:r,onResumable:D,onCompleted:E});}}catch(O){if(S.mode==="retain"&&b.signal?.aborted===true&&b.signal.reason!=="offline"&&_!==void 0)try{await on(y,_),E();}catch(N){U=N;}throw S.cleanupFailed?O:yu(O,u,U)}finally{p.destroy();}}async function s(l,b,v,A={mode:"retain"}){let R=o(b,v);if(R==="")throw new H("bucket-unconfigured",`media upload: kind=${b} \u7684\u903B\u8F91\u6876\u540D\u672A\u914D\u7F6E\uFF08\u5BBF\u4E3B IM \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E\u7F3A\u8BE5\u8D44\u6E90\u7C7B\u578B\uFF09`);let k=mu(l.data);if(k===void 0)throw new H("upload-source-invalid","media upload: \u4E0A\u4F20\u5185\u5BB9\u5FC5\u987B\u662F Uint8Array \u6216 Blob");Mt(k,e.multipartTransfer===true&&e.multipartUpload!==false);let x=await li();if(A.mode==="discard"&&l.signal?.aborted)throw new DOMException("media upload canceled","AbortError");let S=Tt(l.resume,R)?.objectName??Cu(l.filename),u={...l,onResumable:w=>{u.resume=w,l.onResumable?.(w);},onResumeInvalidated:()=>{delete u.resume,l.onResumeInvalidated?.();}},m;try{m=await t.resolve(R);let w=fi(m,S);try{await a(x,u,R,S,m,w,k,A);}catch(p){if(l.signal?.aborted||p instanceof H&&hu.has(p.code))throw p;A.retryCause=p,m=await t.resolve(R,{forceRefresh:!0}),w=fi(m,S),await a(x,u,R,S,m,w,k,A);}if(l.signal?.aborted)throw new DOMException("media upload canceled","AbortError");return l.onProgress?.({percent:100,bytesTransferred:k,bytesTotal:k,phase:"finalizing"}),{url:`${m.dnsPoint}/${w}`}}catch(w){let p=Tt(u.resume);if(A.mode==="discard"&&!A.cleanupFailed&&p!==void 0&&m!==void 0){let y=new x.XhrHttpHandler({}),I=i(x,m,y);try{await on({client:I,commands:x.commands},p.session);}catch(f){throw pi(w,f)}finally{I.destroy();}}throw w instanceof H&&(w.code==="upload-resume-unavailable"?l.onFailure?.("resume-unavailable"):w.code==="multipart-abort-failed"&&l.onFailure?.("cleanup-unconfirmed")),w}}function d(l){return s(l,l.kind,l.conversationType)}function c(l){return s({data:l.data,...l.filename===void 0?{}:{filename:l.filename},...l.mimeType===void 0?{}:{mimeType:l.mimeType},...l.signal===void 0?{}:{signal:l.signal},...l.onProgress===void 0?{}:{onProgress:l.onProgress}},l.kind,void 0,{mode:"discard"})}function g(l){return s(l,"avatar")}async function C(l){let b=l.transport;if(b?.session===void 0||b.session.uploadId==="")return;let v=await li(),A=await t.resolve(b.logicalBucket),R=new v.XhrHttpHandler({}),k=i(v,A,R);try{await on({client:k,commands:v.commands},b.session);}finally{k.destroy();}}let h=oi(e.multipartTransfer===true&&e.rangeDownload!==false,n);return {upload:d,uploadAvatar:g,uploadResource:c,download:h,abandonUpload:C}}function Pu(e,n={}){let t=n.locks!==void 0?n.locks:globalThis.navigator?.locks,r=n.createChannel!==void 0?n.createChannel:typeof globalThis.BroadcastChannel=="function"?C=>new BroadcastChannel(C):void 0,o=typeof globalThis.addEventListener=="function"?globalThis:void 0,i=n.pageLifecycleTarget!==void 0?n.pageLifecycleTarget:o,a,s=0;function d(C){try{e.onError(C);}catch{}}function c(C,h=false,l="stopped"){if(a===C&&!h&&(a=void 0),C.resolveReady(false),C.closed)return;C.closed=true,C.controller.abort();let b=[],v=k=>{try{k();}catch(x){b.push(x);}};for(let k of C.cleanups.splice(0))v(k);v(()=>C.channel.close());let A=C.release;C.release=void 0;let R=C.owned;C.owned=false;try{let k=R?e.onChange(!1,l):void 0;Promise.resolve(k).then(()=>A?.(),d);}catch(k){d(k);}for(let k of b)d(k);}function g(C,h){c(C,true),d(h);}return {start(C){if(a?.key===C)return a.ready;let h=++s;if(a&&c(a),h!==s)return Promise.resolve(false);if(!C||!t||!r)return d(new Error("Browser connection ownership requires a key, Web Locks and BroadcastChannel")),Promise.resolve(false);let l;try{l=r(`im-connection:${C}`);}catch(x){return d(x),Promise.resolve(false)}let b,v=new Promise(x=>{b=x;}),A={key:C,channel:l,cleanups:[],owned:false,closed:false,ready:v,resolveReady:b,controller:new AbortController,claim:{startedAt:Date.now(),id:globalThis.crypto.randomUUID()}};a=A;let R=x=>{if(a!==A||A.closed||typeof x.data!="object"||x.data===null)return;let S=x.data;S.type==="session-ended"?c(A):S.type==="takeover"&&typeof S.startedAt=="number"&&Number.isFinite(S.startedAt)&&typeof S.id=="string"&&S.id!==A.claim.id&&(S.startedAt>A.claim.startedAt||S.startedAt===A.claim.startedAt&&S.id>A.claim.id?c(A,true,"replaced"):l.postMessage({type:"takeover",...A.claim}));},k=x=>{a===A&&x.persisted===true&&c(A);};try{i&&(A.cleanups.push(()=>i.removeEventListener("pagehide",k)),i.addEventListener("pagehide",k)),A.cleanups.push(()=>l.removeEventListener("message",R)),l.addEventListener("message",R);let x=setTimeout(()=>g(A,new Error("Browser IM takeover timed out while waiting for the previous page to close")),15e3);A.cleanups.push(()=>clearTimeout(x)),t.request(`im-connection:${C}`,{mode:"exclusive",signal:A.controller.signal},async u=>{if(a!==A||A.closed||!u){A.resolveReady(!1);return}let m=new Promise(w=>{A.release=w;});A.owned=!0,clearTimeout(x);try{await e.onChange(!0);}catch(w){g(A,w);}A.resolveReady(a===A&&A.owned),await m;}).catch(u=>{a===A&&!A.closed&&g(A,u);}),l.postMessage({type:"takeover",...A.claim});}catch(x){g(A,x);}return A.ready},stop(){s++,a&&c(a);},terminate(){s++;let C=a;if(C)try{C.closed||C.channel.postMessage({type:"session-ended"});}catch(h){d(h);}finally{c(C);}},get owned(){return a?.owned??false}}}function Iu(){let e=globalThis;return typeof e.addEventListener=="function"&&typeof e.removeEventListener=="function"?e:void 0}function vu(e,n={}){let t=n.target!==void 0?n.target:Iu(),r=n.visibilitySource!==void 0?n.visibilitySource:globalThis.document,o=n.pageLifecycleSource!==void 0?n.pageLifecycleSource:t,i=false,a=()=>e.onOnline?.(),s=()=>e.onOffline?.(),d=()=>{r!=null&&r.visibilityState==="visible"&&e.onVisible?.();},c=()=>e.onPageHide?.(),g=()=>e.onPageShow?.();return {start(){i||(i=true,t!=null&&(t.addEventListener("online",a),t.addEventListener("offline",s)),r?.addEventListener("visibilitychange",d),o!=null&&(o.addEventListener("pagehide",c),o.addEventListener("pageshow",g)));},stop(){i&&(i=false,t!=null&&(t.removeEventListener("online",a),t.removeEventListener("offline",s)),r?.removeEventListener("visibilitychange",d),o!=null&&(o.removeEventListener("pagehide",c),o.removeEventListener("pageshow",g)));},get running(){return i}}}var Mu=15,_u=20,xu=8*1024*1024,Eu=2*1024*1024,Ru=1440*60*1e3,Tu=2*1024*1024*1024,mi=1024*1024*1024,ku=512*1024*1024,Du=256*1024*1024,Uu=64*1024,kt="channel:list-version",gi="schema:conversation-key-v1",yi="schema:message-server-order-v1",hi="schema:mini-program-game-preview-v1",bi="im:membership-reset-sort-keys",Dt="default",Pe="\uFFFF";function Ci(e){if(!(e===void 0||!/^\d+$/.test(e)))return e.replace(/^0+(?=\d)/,"")}function Ou(e,n){let t=Ci(e),r=Ci(n);return t===void 0?r===void 0?0:-1:r===void 0?1:t.length!==r.length?t.length>r.length?1:-1:t===r?0:t>r?1:-1}function sn(e){return `conversation:${Ha$1(e)}`}function Ut(e,n){return `${Ha$1(e)}\0${n}`}function Bu(e){let n=Ha$1(e.conversation);return {...e,key:Ut(e.conversation,e.messageId),conversationKey:n,conversation:{...e.conversation},sContent:e.sContent.slice()}}function Nu(e){let{key:n,conversationKey:t,...r}=e;return {...r,conversation:{...r.conversation},sContent:r.sContent.slice()}}function Pi(e){return {...e,conversationKey:Ha$1(Ea$1(e))}}function Ie(e){let{conversationKey:n,...t}=e;return t}function Tn(e){return {...e,id:Ha$1(Fa$1(e)),conversationId:e.id}}function Ot(e){if(e.conversationId===void 0)return e;let{conversationId:n,...t}=e;return {...t,id:n}}function Bt(e){return e.conversationType===void 0?e:{...e,conversationId:Ha$1(e),storageConversationId:e.conversationId}}function kn(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function Ii(e){return {...e,conversationId:Ha$1(Ga$1(e)),storageConversationId:e.conversationId}}function Nt(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function Ku(e){return {...e,conversationKey:Ha$1(e.ref)}}function Gu(e){let{conversationKey:n,...t}=e;return t}function Lu(e){return typeof e=="string"?e:e.conversationId}function cn(e,n){if(new Set(n.map(t=>t.conversationType)).size>1)throw new Error(`\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF1A${e}`)}async function Hu(e){let n=e.transaction(["messages","sessions","readStates","pinnedMessages","meta"],"readwrite");try{let t=n.objectStore("meta");if((await t.get(gi))?.value===!0){await n.done;return}let r=n.objectStore("messages");for(let d of await r.getAll())d.conversationKey===void 0&&await r.put(Pi(d));let o=n.objectStore("sessions"),i=new Map;for(let d of await o.getAll()){if(d.conversationId!==void 0)continue;let c=Ot(d);i.set(c.id,c.type),await o.put(Tn(c)),await o.delete(d.id);}let a=n.objectStore("readStates");for(let d of await a.getAll()){if(d.storageConversationId!==void 0)continue;let c=d.conversationType??i.get(d.conversationId);if(c===void 0)continue;let g={...d,conversationType:c};await a.put(Bt(g)),await a.delete(d.conversationId);}let s=n.objectStore("pinnedMessages");for(let d of await s.getAll()){if(d.storageConversationId!==void 0)continue;let c=Nt(d);await s.put(Ii(c)),await s.delete(d.conversationId);}await t.put({key:gi,value:!0}),await n.done;}catch(t){try{n.abort();}catch{}try{await n.done;}catch{}throw t}}async function Fu(e){let n=e.transaction(["messages","readStates","meta"],"readwrite");try{let t=n.objectStore("meta");if((await t.get(yi))?.value===!0){await n.done;return}let r=n.objectStore("readStates"),o=await r.getAll(),i=new Map;for(let g of o){let C=kn(g);C.conversationType==="channel"&&C.readCursorSortKey!==void 0&&C.readCursor!==""&&i.set(Ha$1(C),{cursor:C.readCursor});}let a=new Map,s=n.objectStore("messages"),d=await s.openCursor();for(;d!==null;){let g=d.value,C=Ha$1(Ea$1(g)),h=l(g),l$1=i.get(C);if(l$1!==void 0&&g.extensions?.historyCursor===l$1.cursor&&(l$1.sortKey=h),h!==g.sortKey){let b=a.get(C);b===void 0&&(b=new Map,a.set(C,b)),b.set(g.sortKey,h),await d.update({...g,sortKey:h});}d=await d.continue();}for(let g of o){let C=kn(g);if(C.conversationType===void 0)continue;let h=Ha$1(C),l=i.get(h)?.sortKey??(C.readCursorSortKey===void 0?void 0:a.get(h)?.get(C.readCursorSortKey));if(l===void 0&&C.readCursorSortKey!==void 0&&C.conversationType!=="channel"&&C.readCursor!==""){let b=await s.get(C.readCursor);b!==void 0&&Ha$1(Ea$1(b))===h&&(l=b.sortKey);}l!==void 0&&l!==C.readCursorSortKey&&await r.put({...g,readCursorSortKey:l});}let c=await t.get(bi);if(Array.isArray(c?.value)){let g=!1,C=c.value.map(h=>{if(!Array.isArray(h)||h.length!==2||typeof h[0]!="string"||typeof h[1]!="string")return h;let l=a.get(h[0])?.get(h[1]);return l===void 0?h:(g=!0,[h[0],l])});g&&await t.put({key:bi,value:C});}await t.put({key:yi,value:!0}),await n.done;}catch(t){try{n.abort();}catch{}try{await n.done;}catch{}throw t}}async function $u(e){let n=e.transaction(["messages","meta"],"readwrite");try{let t=n.objectStore("meta");if((await t.get(hi))?.value===!0){await n.done;return}let o=await n.objectStore("messages").openCursor();for(;o!==null;){let i=o.value.body?.miniProgram;o.value.contentType==="miniProgram"&&i!==void 0&&s(i)&&await o.delete(),o=await o.continue();}await t.put({key:hi,value:!0}),await n.done;}catch(t){try{n.abort();}catch{}try{await n.done;}catch{}throw t}}function wi(e){return `${e.kind}:${encodeURIComponent(e.messageId)}:${e.resourceVersion}`}async function dn(e,n){let t=e.done;t.catch(()=>{});try{let r=await n();return await t,r}catch(r){try{e.abort();}catch{}throw await t.catch(()=>{}),r}}async function ju(e,n){let t=n.namespaceFactory.forAccount(e).name("durable","storage","indexed-db");typeof indexedDB>"u"||await deleteDB(t);}function qu(e){let{namespaceFactory:n}=e,t=null,r=null,o=0,i=Promise.resolve(),a=Promise.resolve(),s=0,d=e.mediaAssetCache?.maxPendingWriteBytes??Du;if(!Number.isSafeInteger(d)||d<=0)throw new RangeError("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u5F85\u5199\u5185\u5B58\u9884\u7B97\u5FC5\u987B\u662F\u6B63\u6574\u6570");function c(){if(t===null)throw new Error("ImStoragePort \u672A open\uFF1A\u8BF7\u5148 open({ namespace }) \u518D\u8BFB\u5199");return t}function g(u){let m=o,w=r,p=()=>{if(m!==o||w!==r)throw new Error("\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u64CD\u4F5C\u5DF2\u5931\u6548\uFF1A\u8D26\u53F7\u6216\u5B58\u50A8\u5DF2\u6539\u53D8");c();},y=i.then(async()=>{p();let I=await u();return p(),I});return i=y.then(()=>{},()=>{}),y}function C(u,m){return u.version!==2||!Number.isFinite(u.fetchedAt)||u.fetchedAt<0||m-u.fetchedAt>=Ru}async function h(u){if(!Number.isSafeInteger(u.byteLength)||u.byteLength<0)throw new Error("\u6700\u8FD1\u5386\u53F2\u7F13\u5B58 byteLength \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570");let m=Date.now();if(u.byteLength>Eu||C(u,m))return false;let w=Ha$1(u.conversation),p=c().transaction("recentHistoryPages","readwrite");return dn(p,async()=>{let y=await p.store.getAll(),I=[];for(let _ of y)C(_,m)?await p.store.delete(_.conversationKey):_.conversationKey!==w&&I.push(_);let f={...u,conversationKey:w};I.push(f),I.sort((_,D)=>_.fetchedAt-D.fetchedAt||_.conversationKey.localeCompare(D.conversationKey));let P=I.reduce((_,D)=>_+D.byteLength,0),M=[];for(;I.length>_u||P>xu;){let _=I.shift();M.push(_),P-=_.byteLength;}if(M.includes(f))return !1;await p.store.put(f);for(let _ of M)await p.store.delete(_.conversationKey);return !0})}async function l(u){if(typeof u!="string")return;let m=IDBKeyRange.bound([u,""],[u,Pe]),w=(await c().transaction("messages").store.index("by_conv_sort").getAll(m)).map(Ie);cn(u,w);}function b(u){let m=a.then(u,u);return a=m.then(()=>{},()=>{}),m}function v(u,m){if(u!==o||m===null||m!==r)throw new Error("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u8D26\u53F7\u4EE3\u9645\u5DF2\u5931\u6548")}function A(){return Math.max(0,Math.floor(e.mediaAssetCache?.now?.()??Date.now()))}async function R(u){let m=e.mediaAssetCache?.estimateStorage??(async()=>typeof navigator>"u"||navigator.storage?.estimate===void 0?{}:await navigator.storage.estimate());try{let{quota:w,usage:p}=await m();if(w===void 0||!Number.isFinite(w)||w<=0)return mi;let y=u.reduce((P,M)=>P+M.byteLength,0),I=Math.max(0,(p??0)-y),f=Math.max(ku,Math.floor(w*.2));return Math.max(0,Math.min(Tu,Math.floor(w-I-f)))}catch{return mi}}async function k(u,m,w){if(u.length===0)return;v(m,w);let p=c().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all(u.flatMap(y=>[p.objectStore("mediaAssets").delete(y),p.objectStore("mediaAssetMeta").delete(y)])),await p.done;}async function x(u,m,w,p){v(u,m);let y=c(),I=e.mediaAssetCache?.strategies;if(I===void 0)return;let f=p??await y.getAll("mediaAssetMeta");v(u,m);let P=new Set;for(let E of I.list()){let U=f.filter(B=>B.kind===E.kind).sort((B,te)=>B.lastAccessedAt-te.lastAccessedAt),O=U.reduce((B,te)=>B+te.byteLength,0),N=U.length;for(let B of U){if(O<=E.softMaxBytes&&N<=E.maxEntries)break;P.add(B.key),O-=B.byteLength,N-=1;}}let M=f.filter(E=>!P.has(E.key)).sort((E,U)=>E.lastAccessedAt-U.lastAccessedAt),_=Math.max(0,Math.min(await R(f),w??Number.POSITIVE_INFINITY)),D=M.reduce((E,U)=>E+U.byteLength,0);for(let E of M){if(D<=_)break;P.add(E.key),D-=E.byteLength;}await k([...P],u,m);}async function S(u,m,w){v(m,w);let p=e.mediaAssetCache?.strategies.resolve(u.kind);if(p===void 0)return "skipped";let y=u.blob,I=y.size,f=await c().getAll("mediaAssetMeta"),P=await R(f);if(v(m,w),I===0||I>p.maxEntryBytes||P<=0||I>Math.floor(P/2))return "skipped";let M=wi(u),_=A(),D=f.find(B=>B.key===M),E={key:M,kind:u.kind,messageId:u.messageId,resourceVersion:u.resourceVersion,byteLength:I,...u.mimeType===void 0?{}:{mimeType:u.mimeType},createdAt:D?.createdAt??_,lastAccessedAt:_},U=async()=>{v(m,w);let B=c().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([B.objectStore("mediaAssets").put({key:M,blob:y}),B.objectStore("mediaAssetMeta").put(E)]),await B.done;},O=false;try{await U();}catch(B){if(!(B instanceof DOMException)||B.name!=="QuotaExceededError")throw B;O=true,await x(m,w,Math.max(0,P-I)),await U();}let N=D===void 0?[...f,E]:f.map(B=>B.key===M?E:B);return await x(m,w,void 0,O?void 0:N),v(m,w),await c().get("mediaAssets",M)===void 0?"skipped":"stored"}return {recentHistoryCache:{get:u=>g(async()=>{let m=Ha$1(u),w=c().transaction("recentHistoryPages","readwrite");return dn(w,async()=>{let p=await w.store.get(m);if(p===void 0)return null;if(C(p,Date.now()))return await w.store.delete(m),null;let{conversationKey:y,...I}=p;return I})}),async put(u){let m=structuredClone(u);return g(()=>h(m))},delete:u=>g(async()=>{await c().delete("recentHistoryPages",Ha$1(u));}),clear:()=>g(async()=>{await c().clear("recentHistoryPages");})},async open({namespace:u}){if(t!==null&&r===u)return;t!==null&&(t.close(),t=null),r=u;let m=++o,w=n.forAccount(u).name("durable","storage","indexed-db"),p=await openDB(w,Mu,{upgrade(y,I,f,P){if(y.objectStoreNames.contains("messages"))P.objectStore("messages").indexNames.contains("by_conversation_key_sort")||P.objectStore("messages").createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);else {let M=y.createObjectStore("messages",{keyPath:"id"});M.createIndex("by_conv_sort",["conversationId","sortKey"]),M.createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);}if(y.objectStoreNames.contains("sessions")||y.createObjectStore("sessions",{keyPath:"id"}),y.objectStoreNames.contains("readStates")||y.createObjectStore("readStates",{keyPath:"conversationId"}),y.objectStoreNames.contains("drafts")||y.createObjectStore("drafts",{keyPath:"conversationKey"}),y.objectStoreNames.contains("outbox")||y.createObjectStore("outbox",{keyPath:"id"}),y.objectStoreNames.contains("meta")||y.createObjectStore("meta",{keyPath:"key"}),y.objectStoreNames.contains("userProfiles")||y.createObjectStore("userProfiles",{keyPath:"id"}),y.objectStoreNames.contains("groupMembers")||y.createObjectStore("groupMembers",{keyPath:"groupId"}),y.objectStoreNames.contains("groupProfiles")||y.createObjectStore("groupProfiles",{keyPath:"id"}),y.objectStoreNames.contains("pinnedMessages")||y.createObjectStore("pinnedMessages",{keyPath:"conversationId"}),y.objectStoreNames.contains("channelProfiles")||y.createObjectStore("channelProfiles",{keyPath:"id"}),y.objectStoreNames.contains("channelMembers")||y.createObjectStore("channelMembers",{keyPath:["channelId","userId"]}),y.objectStoreNames.contains("channelMemberSnapshots")||y.createObjectStore("channelMemberSnapshots",{keyPath:"channelId"}),y.objectStoreNames.contains("channelMentionCandidateSnapshots")||y.createObjectStore("channelMentionCandidateSnapshots",{keyPath:"channelId"}),y.objectStoreNames.contains("conversationBackgrounds")||y.createObjectStore("conversationBackgrounds",{keyPath:"key"}),y.objectStoreNames.contains("mediaAssets")||y.createObjectStore("mediaAssets",{keyPath:"key"}),!y.objectStoreNames.contains("mediaAssetMeta")){let M=y.createObjectStore("mediaAssetMeta",{keyPath:"key"});M.createIndex("by_kind_access",["kind","lastAccessedAt"]),M.createIndex("by_access","lastAccessedAt");}y.objectStoreNames.contains("decryptRecoveries")||y.createObjectStore("decryptRecoveries",{keyPath:"key"}).createIndex("by_conversation","conversationKey"),I>0&&I<13&&(P.objectStore("mediaAssets").clear(),P.objectStore("mediaAssetMeta").clear()),y.objectStoreNames.contains("recentHistoryPages")||y.createObjectStore("recentHistoryPages",{keyPath:"conversationKey"});}});if(m!==o){p.close();return}try{await Hu(p),await Fu(p),await $u(p);}catch(y){throw p.close(),y}if(m!==o){p.close();return}t=p;},async close(){o+=1,r=null,t!==null&&(t.close(),t=null);},async clearRebuildableCaches(){return g(async()=>{let u=o,m=r;await b(async()=>{v(u,m);let p=c().transaction(["userProfiles","groupMembers","groupProfiles","channelProfiles","channelMembers","channelMemberSnapshots","channelMentionCandidateSnapshots","mediaAssets","mediaAssetMeta","meta","recentHistoryPages"],"readwrite");await Promise.all([p.objectStore("userProfiles").clear(),p.objectStore("groupMembers").clear(),p.objectStore("groupProfiles").clear(),p.objectStore("channelProfiles").clear(),p.objectStore("channelMembers").clear(),p.objectStore("channelMemberSnapshots").clear(),p.objectStore("channelMentionCandidateSnapshots").clear(),p.objectStore("mediaAssets").clear(),p.objectStore("mediaAssetMeta").clear(),p.objectStore("meta").delete(kt),p.objectStore("recentHistoryPages").clear(),p.done]);});})},async get(u){let m=o,w=r;return await b(async()=>{if(v(m,w),e.mediaAssetCache?.strategies.resolve(u.kind)===void 0)return null;let p=wi(u),y=c(),[I,f]=await Promise.all([y.get("mediaAssets",p),y.get("mediaAssetMeta",p)]);return v(m,w),I===void 0||f===void 0?(await k([p],m,w),null):(await y.put("mediaAssetMeta",{...f,lastAccessedAt:A()}),{kind:f.kind,messageId:f.messageId,resourceVersion:f.resourceVersion,blob:I.blob,...f.mimeType===void 0?{}:{mimeType:f.mimeType}})})},async put(u){let m=o,w=r;v(m,w);let p=u.blob.size;if(p>d||s+p>d)return "skipped";s+=p;try{return await b(()=>S(u,m,w))}finally{s=Math.max(0,s-p);}},async clear(){let u=o,m=r;await b(async()=>{v(u,m);let w=c().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([w.objectStore("mediaAssets").clear(),w.objectStore("mediaAssetMeta").clear(),w.done]);});},async getMessage(u,m){let w=await c().get("messages",m);if(w===void 0)return null;let p=Ie(w);return Ha$1(Ea$1(p))===Ha$1(u)?p:null},async getMessages(u,m){let w=typeof u=="string"?"by_conv_sort":"by_conversation_key_sort",p=typeof u=="string"?u:Ha$1(u);if(await l(u),m.beforeSortKey===void 0&&m.afterSortKey!==void 0){let P=IDBKeyRange.bound([p,m.afterSortKey],[p,Pe]),M=[],_=await c().transaction("messages").store.index(w).openCursor(P,"next");for(;_!==null&&M.length<m.limit;)M.push(_.value),_=await _.continue();return M.map(Ie)}let y=m.beforeSortKey===void 0?IDBKeyRange.bound([p,""],[p,Pe]):IDBKeyRange.bound([p,""],[p,m.beforeSortKey],false,true),I=[],f=await c().transaction("messages").store.index(w).openCursor(y,"prev");for(;f!==null&&I.length<m.limit;)I.push(f.value),f=await f.continue();return I.reverse().map(Ie)},async saveMessages(u){if(u.length===0)return;let m=c().transaction("messages","readwrite");await Promise.all([...u.map(w=>m.store.put(Pi(w))),m.done]);},async searchMessages(u,m){let w=Ha$1(u),p=m.keyword?.trim()??"",y=m.contentTypes;if(p===""&&(y===void 0||y.length===0))return {items:[],exhausted:true};let I=p===""?void 0:await ga$1(p),f=m.beforeSortKey===void 0?IDBKeyRange.bound([w,""],[w,Pe]):IDBKeyRange.bound([w,""],[w,m.beforeSortKey],false,true),P=2e3,M=[],_=0,D,E=await c().transaction("messages").store.index("by_conversation_key_sort").openCursor(f,"prev");for(;E!==null&&M.length<m.limit&&_<P;){let O=ka$1(Ie(E.value));_+=1,D=O.sortKey;let N=y===void 0||y.includes(O.contentType),B=I===void 0||I.match(ea$1(O))!==null;N&&B&&M.push(O),E=await E.continue();}let U=E===null;return {items:M,exhausted:U,...U?{}:{nextBeforeSortKey:D}}},async getDecryptRecoveries(u){let m=Ha$1(u);return (await c().getAllFromIndex("decryptRecoveries","by_conversation",m)).map(Nu)},async saveDecryptRecovery(u){if(u.sContent.byteLength===0||u.sContent.byteLength>Uu)throw new Error(`\u89E3\u5BC6\u6062\u590D\u5BC6\u6587\u5B57\u8282\u957F\u5EA6\u975E\u6CD5\uFF1A${u.sContent.byteLength}`);await c().put("decryptRecoveries",Bu(u));},async deleteDecryptRecovery(u,m){await c().delete("decryptRecoveries",Ut(u,m));},async deleteConversationDecryptRecoveries(u){let m=Ha$1(u),w=c().transaction("decryptRecoveries","readwrite"),p=await w.store.index("by_conversation").openCursor(IDBKeyRange.only(m));for(;p!==null;)await p.delete(),p=await p.continue();await w.done;},async getSessions(){return (await c().getAll("sessions")).map(Ot)},async saveSessions(u){if(u.length===0)return;let m=c().transaction("sessions","readwrite");for(let w of u)await m.store.put(Tn(w)),await m.store.delete(w.id);await m.done;},async deleteSession(u){if(typeof u!="string"){let p=c().transaction(["sessions","conversationBackgrounds"],"readwrite");await p.objectStore("sessions").delete(Ha$1(u)),await p.objectStore("conversationBackgrounds").delete(sn(u)),await p.done;return}let m=(await c().getAll("sessions")).map(Ot).filter(p=>p.id===u);cn(u,m.map(p=>({conversationType:p.type})));let w=c().transaction(["sessions","conversationBackgrounds"],"readwrite");if(m[0]!==void 0){let p=Fa$1(m[0]);await w.objectStore("sessions").delete(Ha$1(p)),await w.objectStore("conversationBackgrounds").delete(sn(p));}await w.objectStore("sessions").delete(u),await w.done;},async deleteReadState(u){if(typeof u!="string"){await c().delete("readStates",Ha$1(u));return}let w=(await c().getAll("readStates")).map(kn).filter(p=>p.conversationId===u).filter(p=>p.conversationType!==void 0);cn(u,w),w[0]!==void 0&&await c().delete("readStates",Ha$1(w[0])),await c().delete("readStates",u);},async deleteMessage(u,m,w){return g(async()=>{let p=c().transaction(["messages","sessions","decryptRecoveries","recentHistoryPages"],"readwrite");return dn(p,async()=>{let y=await p.objectStore("messages").get(m);if(y!==void 0){let I=Ie(y);if(I.conversationType!==u.conversationType||I.conversationId!==u.conversationId)return !1;await p.objectStore("messages").delete(m);}return await p.objectStore("decryptRecoveries").delete(Ut(u,m)),await p.objectStore("recentHistoryPages").delete(Ha$1(u)),w!==void 0&&await p.objectStore("sessions").put(Tn(w)),y!==void 0})})},async deleteConversationMessages(u){return g(async()=>{let m=Lu(u),w=typeof u=="string"?"by_conv_sort":"by_conversation_key_sort",p=typeof u=="string"?u:Ha$1(u),y=IDBKeyRange.bound([p,""],[p,Pe]),I=c().transaction(["messages","decryptRecoveries","recentHistoryPages"],"readwrite");return dn(I,async()=>{let f=I.objectStore("messages"),P=I.objectStore("decryptRecoveries"),M=[],_=[];if(typeof u=="string"){let E=(await f.index("by_conv_sort").getAll(y)).map(Ie);M=(await P.getAll()).filter(U=>U.conversation.conversationId===u),_=(await I.objectStore("recentHistoryPages").getAll()).filter(U=>U.conversation.conversationId===m),cn(m,[...E,..._.map(U=>({conversationType:U.conversation.conversationType})),...M.map(U=>({conversationType:U.conversation.conversationType}))]);}let D=await f.index(w).openCursor(y);for(;D!==null;)await D.delete(),D=await D.continue();if(typeof u=="string"){for(let E of M)await P.delete(E.key);for(let E of _)await I.objectStore("recentHistoryPages").delete(E.conversationKey);}else {await I.objectStore("recentHistoryPages").delete(Ha$1(u));let E=await P.index("by_conversation").openCursor(IDBKeyRange.only(Ha$1(u)));for(;E!==null;)await E.delete(),E=await E.continue();}})})},async clearConversationHistory(u,m,w){return g(async()=>{let p=Ha$1(u),y=IDBKeyRange.bound([p,""],[p,Pe]),I=c().transaction(["messages","sessions","readStates","decryptRecoveries","recentHistoryPages"],"readwrite");return dn(I,async()=>{await I.objectStore("recentHistoryPages").delete(p);let f=await I.objectStore("messages").index("by_conversation_key_sort").openCursor(y);for(;f!==null;)await f.delete(),f=await f.continue();let P=await I.objectStore("decryptRecoveries").index("by_conversation").openCursor(IDBKeyRange.only(p));for(;P!==null;)await P.delete(),P=await P.continue();m!==void 0&&await I.objectStore("sessions").put(Tn(m)),w!==void 0&&(await I.objectStore("readStates").put(Bt(w)),await I.objectStore("readStates").delete(w.conversationId));})})},async getReadStates(){return (await c().getAll("readStates")).map(kn)},async saveReadState(u){let m=c().transaction("readStates","readwrite");await m.store.put(Bt(u)),u.conversationType!==void 0&&await m.store.delete(u.conversationId),await m.done;},async getDrafts(){return (await c().getAll("drafts")).map(Gu)},async saveDraft(u){await c().put("drafts",Ku(u));},async deleteDraft(u){await c().delete("drafts",Ha$1(u));},async getConversationBackground(u){return (await c().get("conversationBackgrounds",sn(u)))?.background??null},async saveConversationBackground(u,m){let w=sn(u);await c().put("conversationBackgrounds",{key:w,background:m});},async deleteConversationBackground(u){await c().delete("conversationBackgrounds",sn(u));},async getDefaultConversationBackground(){return (await c().get("conversationBackgrounds",Dt))?.background??null},async saveDefaultConversationBackground(u){await c().put("conversationBackgrounds",{key:Dt,background:u});},async deleteDefaultConversationBackground(){await c().delete("conversationBackgrounds",Dt);},async getOutbox(){return c().getAll("outbox")},async saveOutboxMessage(u){await c().put("outbox",u);},async removeOutboxMessage(u){await c().delete("outbox",u);},async getPinnedMessages(){return (await c().getAll("pinnedMessages")).map(Nt)},async savePinnedMessage(u){let m=c().transaction("pinnedMessages","readwrite");await m.store.put(Ii(u)),await m.store.delete(u.conversationId),await m.done;},async removePinnedMessage(u){if(typeof u!="string"){await c().delete("pinnedMessages",Ha$1(u));return}let m=(await c().getAll("pinnedMessages")).map(Nt).filter(w=>w.conversationId===u);cn(u,m),m[0]!==void 0&&await c().delete("pinnedMessages",Ha$1(Ga$1(m[0]))),await c().delete("pinnedMessages",u);},async getMeta(u){let m=await c().get("meta",u);return m===void 0?null:m.value},async setMeta(u,m){await c().put("meta",{key:u,value:m});},async getUserProfile(u){return await c().get("userProfiles",u)??null},async saveUserProfile(u){await c().put("userProfiles",u);},async getGroupMembers(u){return await c().get("groupMembers",u)??null},async saveGroupMembers(u){await c().put("groupMembers",u);},async getGroupProfile(u){return await c().get("groupProfiles",u)??null},async saveGroupProfile(u){await c().put("groupProfiles",u);},async getChannelProfile(u){return await c().get("channelProfiles",u)??null},async getChannelProfiles(){return c().getAll("channelProfiles")},async saveChannelProfiles(u){if(u.length===0)return;let m=c().transaction("channelProfiles","readwrite");await Promise.all([...u.map(w=>m.store.put(w)),m.done]);},async getChannelListVersion(){let u=await c().get("meta",kt);return typeof u?.value=="string"&&/^\d+$/.test(u.value)?u.value:"0"},async saveChannelListVersion(u){if(!/^\d+$/.test(u))throw new Error(`CHANNEL list version \u975E\u6CD5\uFF1A${u}`);await c().put("meta",{key:kt,value:u});},async getChannelMembers(u,m){if(m.length===0)return [];let w=c().transaction("channelMembers"),p=await Promise.all(m.map(y=>w.store.get([u,y])));return await w.done,p.filter(y=>y!==void 0)},async saveChannelMembers(u){if(u.length===0)return;let m=c().transaction("channelMembers","readwrite");for(let w of u){let p=await m.store.get([w.channelId,w.userId]);p!==void 0&&Ou(w.updateVersion,p.updateVersion)<0||await m.store.put(w);}await m.done;},async deleteChannelMembers(u){let m=IDBKeyRange.bound([u,""],[u,Pe]),w=c().transaction("channelMembers","readwrite"),p=await w.store.openCursor(m);for(;p!==null;)await p.delete(),p=await p.continue();await w.done;},async getChannelMemberSnapshot(u){return await c().get("channelMemberSnapshots",u)??null},async saveChannelMemberSnapshot(u){await c().put("channelMemberSnapshots",u);},async deleteChannelMemberSnapshot(u){await c().delete("channelMemberSnapshots",u);},async getChannelMentionCandidateSnapshot(u){return await c().get("channelMentionCandidateSnapshots",u)??null},async saveChannelMentionCandidateSnapshot(u){await c().put("channelMentionCandidateSnapshots",u);},async deleteChannelMentionCandidateSnapshot(u){await c().delete("channelMentionCandidateSnapshots",u);}}}function Ju(e={}){let n=e.createSocket??(l=>new globalThis.WebSocket(l)),t=e.connectTimeoutMs??1e4,r={open:new Set,message:new Set,close:new Set,error:new Set},o,i,a="idle",s;function d(l,b){for(let v of [...r[l]])v(b);}function c(){s!==void 0&&(clearTimeout(s),s=void 0);}function g(l,b){b!==void 0&&(l.removeEventListener("open",b.onOpen),l.removeEventListener("message",b.onMessage),l.removeEventListener("error",b.onError),l.removeEventListener("close",b.onClose));}function C(){if(c(),o!==void 0){g(o,i);try{o.close(1e3);}catch{}o=void 0;}i=void 0;}function h(l,b,v){let A={onOpen:()=>{l===o&&(c(),a="open",d("open",{endpoint:b}));},onMessage:R=>{if(l!==o||a!=="open")return;let k=R?.data;if(k instanceof ArrayBuffer){d("message",{data:k});return}d("error",{error:new Error(`WsTransport\uFF1A\u6536\u5230\u975E ArrayBuffer \u6D88\u606F\uFF08${typeof k}\uFF09\uFF0C\u5DF2\u5FFD\u7565`)});},onError:R=>{l===o&&d("error",{error:new Error(`WsTransport\uFF1AWebSocket error \u4E8B\u4EF6\uFF08${R instanceof Event?R.type:typeof R}\uFF09`)});},onClose:R=>{l===o&&(c(),g(l,A),o=void 0,i=void 0,a="closed",d("close",{code:R?.code??1006,reason:R?.reason??"",wasClean:R?.wasClean??false}));}};if(i=A,l.addEventListener("open",A.onOpen),l.addEventListener("message",A.onMessage),l.addEventListener("error",A.onError),l.addEventListener("close",A.onClose),v>0){let R=setTimeout(()=>{if(!(l!==o||a!=="connecting")){d("error",{error:new Error(`WsTransport\uFF1A\u8FDE\u63A5\u8D85\u65F6\uFF08${v}ms \u672A open\uFF09`)});try{l.close();}catch{}}},v);R.unref?.(),s=R;}}return {get state(){return a},async connect(l,b){let v=l[0];if(v===void 0)throw new Error("WsTransport.connect\uFF1Aendpoints \u4E3A\u7A7A\uFF08P0 single \u7B56\u7565\u9700\u81F3\u5C11\u4E00\u4E2A\u7AEF\u70B9\uFF09");C(),a="connecting";let A;try{A=n(v.url);}catch(R){throw a="closed",R}A.binaryType="arraybuffer",o=A,h(A,v,b?.connectTimeoutMs??t);},async send(l){if(o===void 0||a!=="open")throw new Error(`WsTransport.send\uFF1A\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF08state=${a}\uFF09\uFF0C\u62D2\u7EDD\u53D1\u9001`);o.send(l);},async close(l=1e3,b){c(),o!==void 0&&(a==="connecting"||a==="open")&&(a="closing",o.close(l,b));},on(l,b){return r[l].add(b),()=>{r[l].delete(b);}}}}
7
+ export{vc as $,Pu as $a,$s as A,rd as Aa,Si as B,$o as Ba,zs as C,jo as Ca,Ys as D,ad as Da,Qs as E,sd as Ea,Zs as F,cd as Fa,ec as G,dd as Ga,nc as H,ud as Ha,tc as I,ld as Ia,rc as J,yd as Ja,oc as K,Cd as Ka,ic as L,wd as La,ac as M,Pd as Ma,sc as N,Id as Na,cc as O,vd as Oa,dc as P,Sd as Pa,uc as Q,An as Qa,lc as R,ge as Ra,pc as S,Nd as Sa,mc as T,Fn as Ta,yc as U,Ai as Ua,In as V,Gd as Va,vn as W,cu as Wa,hc as X,H as Xa,wc as Y,Mi as Ya,Pc as Z,yr as Za,Ic as _,wu as _a,aa as a,Ac as aa,vu as ab,Yn as b,Mc as ba,ju as bb,Fe as c,xc as ca,qu as cb,J as d,Ec as da,Ju as db,Ca as e,Rc as ea,ki as eb,Pa as f,Tc as fa,ln as fb,$e as g,Dc as ga,ji as gb,Ia as h,Oc as ha,ia as hb,Ba as i,Bc as ia,Me as j,Nc as ja,W as k,Kc as ka,Ja as l,Gc as la,Va as m,Hc as ma,Ve as n,Ze as na,ce as o,$c as oa,os as p,jc as pa,ze as q,qc as qa,X as r,Jc as ra,Cs as s,Vc as sa,Ms as t,zc as ta,Rs as u,Wc as ua,Ts as v,Yc as va,Bs as w,Qc as wa,Ee as x,ed as xa,j as y,nd as ya,be as z,td as za};