k2-im 0.1.13 → 0.1.14
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.
- package/dist/browser.js +1 -1
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.js +1 -1
- package/dist/{chunk-UJCCXFRT.js → chunk-5IN5YRAI.js} +1 -1
- package/dist/{chunk-3IPQMVX7.js → chunk-CNVMQYSD.js} +1 -1
- package/dist/{chunk-LEJRPEOW.js → chunk-EGOTRH4T.js} +1 -1
- package/dist/chunk-HN4N3I2C.js +7 -0
- package/dist/{chunk-RBUTQQZS.js → chunk-ONYQKOD6.js} +1 -1
- package/dist/chunk-ZAYTBGR2.js +2 -0
- package/dist/chunk-ZPQ3HWNX.js +1 -0
- package/dist/i18n.js +1 -1
- package/dist/index.js +1 -1
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-CLQGUCX2.js +0 -1
- package/dist/chunk-OWCMN7YM.js +0 -7
- package/dist/chunk-P5N4THAS.js +0 -2
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import {y,B,f,g,i,K as K$1,L as L$1,x,A,k,e,z as z$1,C,M,N as N$1,E as E$1,G,F as F$1,H as H$1,I,J as J$1,qa as qa$1,pa as pa$1,oa as oa$1,U,W as W$1,S,na as na$1,O as O$1,P,la as la$1,ka as ka$1,Q as Q$1,R}from'./chunk-ZPQ3HWNX.js';import*as J from'node-forge';import {deleteDB,openDB}from'idb';function Jr(e,n=async t=>{let{createBrowserApiProtocolClient:r}=await import('./browser-BKCNJDKR.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,a)=>(await r())(o,a)}function jr(){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 K=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="VoiceError",this.code=n;}};function Je(e){return e instanceof K?e.code:void 0}function mt(e){switch(e instanceof DOMException||e instanceof Error?e.name:""){case "NotAllowedError":case "SecurityError":case "PermissionDeniedError":return new K("permission-denied","\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u62D2\u7EDD",{cause:e});case "NotFoundError":case "DevicesNotFoundError":return new K("device-not-found","\u672A\u627E\u5230\u53EF\u7528\u9EA6\u514B\u98CE",{cause:e});case "NotReadableError":case "TrackStartError":case "AbortError":return new K("device-busy","\u9EA6\u514B\u98CE\u88AB\u5360\u7528\u6216\u542F\u52A8\u5931\u8D25",{cause:e});default:return new K("device-busy",e instanceof Error?e.message:"\u9EA6\u514B\u98CE\u542F\u52A8\u5931\u8D25",{cause:e})}}var Z=16e3,qr=new URL("./speex-runtime.txt",import.meta.url).href,mn=null;async function zr(){if(document.querySelector('script[data-speex-runtime="true"]')!==null)return;let n=await fetch(qr);if(!n.ok)throw new Error(`Speex runtime fetch failed: ${n.status}`);let t=await n.text(),r=document.createElement("script");r.dataset.speexRuntime="true",r.text=t,document.head.appendChild(r);}async function gn(){let e=typeof window>"u"?void 0:window;return e?.__speexInH5!==void 0?e.__speexInH5:(mn??=(async()=>{if(e===void 0||typeof document>"u")throw new K("codec-unavailable","Speex \u8FD0\u884C\u65F6\u4EC5\u53EF\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u52A0\u8F7D");if(await zr(),e.__speexInH5===void 0&&e.initAudio?.(),e.__speexInH5===void 0)throw new K("codec-unavailable","Speex \u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return e.__speexInH5})().catch(n=>{throw mn=null,n instanceof K?n:new K("codec-unavailable","Speex \u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25",{cause:n})}),mn)}function gt(){gn().catch(()=>{});}function ce(e,n,t){for(let r=0;r<t.length;r+=1)e.setUint8(n+r,t.charCodeAt(r));}function Wr(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);ce(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),ce(o,8,"WAVE"),ce(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),ce(o,36,"data"),o.setUint32(40,e.length*2,true);let a=44;for(let s=0;s<e.length;s+=1){let d=Math.max(-1,Math.min(1,e[s]??0));o.setInt16(a,d<0?d*32768:d*32767,true),a+=2;}return r}function hn(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 Yr=40,yn=120,Qr=40,Cn=80;function Xr(e,n){let t=Math.min(Math.floor(n*Yr/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 a=e.length-1-r;e[a]=Math.round((e[a]??0)*o);}return e}function bn(e,n){if(e.length===0)return e;let t=Math.min(Math.floor(n*yn/1e3),Math.max(0,e.length-1)),r=t>0?e.subarray(t):e,o=new Float32Array(r),a=Math.min(Math.floor(n*Qr/1e3),Math.floor(o.length/2));for(let s=0;s<a;s+=1){let d=s/a;o[s]=(o[s]??0)*d;let i=o.length-1-s;o[i]=(o[i]??0)*d;}return o}function je(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);return ce(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),ce(o,8,"WAVE"),ce(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),ce(o,36,"data"),o.setUint32(40,e.length*2,true),new Int16Array(r,44).set(e),new Uint8Array(r)}function Zr(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 eo(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 ht(e,n){let t=await gn(),r=Math.floor(n*Cn/1e3),o=new Float32Array(r+e.length);o.set(e,r);let a=Wr(o,n);try{return Zr(t.encodeFile(a))}catch(s){throw new K("encode-failed","\u8BED\u97F3\u7F16\u7801\u5931\u8D25",{cause:s})}}async function yt(e){let n=await gn();try{let[t,r]=n.decodeFile(eo(e));if(t.length===0)throw new Error("decoded empty pcm");let o=Xr(hn(t),r.rate>0?r.rate:Z),a=r.rate>0?r.rate:Z;return {samples:o,sampleRate:a,durationMs:Math.round(o.length/a*1e3)}}catch(t){throw t instanceof K?t:new K("decode-failed","\u8BED\u97F3\u89E3\u7801\u5931\u8D25",{cause:t})}}async function Ct(e){let n=await yt(e);return {wavData:je(n.samples,n.sampleRate),durationMs:n.durationMs}}function no(e={}){let n=e.cacheMax??8,t={activeId:"",isPlaying:false,loadingId:"",progress:0,currentTimeMs:0,errorIds:new Set},r=new Set;function o(){for(let l of r)l(t);}let a=null,s=new Map,d=0,i=false,p=false;function m(l){let I=s.get(l);return I!==void 0&&(s.delete(l),s.set(l,I)),I}function S(l,I){if(i)return URL.revokeObjectURL(I.url),I;let C=s.get(l);if(C!==void 0)return URL.revokeObjectURL(I.url),s.delete(l),s.set(l,C),C;for(s.set(l,I);s.size>n;){let _;for(let x of s.keys())if(x!==t.activeId){_=x;break}if(_===void 0)break;let M=s.get(_);s.delete(_),M!==void 0&&URL.revokeObjectURL(M.url);}return I}function h(l){l.paused||l.pause(),l.removeAttribute("src");try{l.load();}catch{}}function u(l,I){return !i&&l===d&&t.activeId===I}function w(){if(a!==null)return a;let l=new Audio;return l.preload="auto",l.addEventListener("timeupdate",()=>{t.activeId!==""&&(t.currentTimeMs=l.currentTime*1e3,t.progress=l.duration>0?Math.min(1,l.currentTime/l.duration):0,o());}),l.addEventListener("ended",()=>{A(),h(l),o();}),l.addEventListener("pause",()=>{t.activeId!==""&&(t.isPlaying=false,o());}),a=l,l}function A(){t.activeId="",t.isPlaying=false,t.progress=0,t.currentTimeMs=0;}function T(){d+=1,p=false,t.loadingId="",A(),a!==null&&h(a),o();}function c(l){t.errorIds=new Set([...t.errorIds,l]);}function g(l){if(!t.errorIds.has(l))return;let I=new Set(t.errorIds);I.delete(l),t.errorIds=I;}async function P(l,I){let C=m(l);if(C!==void 0)return {entry:C};let _;try{_=await I();}catch(M){return {entry:null,error:{code:Je(M),cause:M}}}if(_===null)return {entry:null};try{let{wavData:M,durationMs:x}=await Ct(_),D={url:URL.createObjectURL(new Blob([M],{type:"audio/wav"})),durationMs:x};return {entry:S(l,D)}}catch(M){return {entry:null,error:{code:Je(M),cause:M}}}}async function f(l,I){if(i)return;let C=w();if(g(l),t.activeId===l){if(t.isPlaying){C.pause();return}let x=++d;try{await C.play();}catch{if(!u(x,l))return;c(l),o();return}if(!u(x,l))return;t.isPlaying=true,o(),I.onPlayStart?.();return}if(t.loadingId===l)return;T();let _=++d;t.loadingId=l,o();let M=await P(l,I.load);if(_===d){if(t.loadingId="",M.entry===null){c(l),o(),M.error!==void 0&&I.onDecodeError?.(M.error.code,M.error.cause);return}C.src=M.entry.url,t.activeId=l,t.progress=0,t.currentTimeMs=0,o();try{await C.play();}catch(x){if(!u(_,l))return;A(),h(C),c(l),o(),I.onDecodeError?.(void 0,x);return}u(_,l)&&(t.isPlaying=true,o(),I.onPlayStart?.());}}function y(l,I){a===null||t.activeId!==l||!Number.isFinite(a.duration)||a.duration<=0||(a.currentTime=Math.min(Math.max(I,0),.999)*a.duration);}function v(l){a===null||t.activeId!==l||t.isPlaying&&(p=true,a.pause());}function k(l){if(a===null||t.activeId!==l||!p)return;p=false;let I=++d;a.play().then(()=>{u(I,l)&&(t.isPlaying=true,o());}).catch(()=>{u(I,l)&&(c(l),o());});}function b(){if(!i){i=true,T();for(let l of s.values())URL.revokeObjectURL(l.url);s.clear(),r.clear(),a=null;}}return {getState:()=>t,subscribe:l=>(r.add(l),()=>r.delete(l)),toggle:f,seek:y,beginScrub:v,endScrub:k,stop:T,dispose:b}}function to(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 ro(e,n,t){if(e.length===0||n<=0||t<=0)return 0;let r=n/t,o=0,a=0;for(let s=0;s<e.length;s+=1){let d=s*r,i=.2;d<200?i=.15:d<300?i=.4:d<=3400?i=1:d<=6e3&&(i=.45),o+=(e[s]??0)/255*i,a+=i;}return a>0?o/a:0}function bt(e){let n=to(e.timeDomain),t=ro(e.frequency,e.sampleRate,e.fftSize),r=n*.55+t*.45;return Math.min(1,r*e.boost)**.72}var qe=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}};function oo(){return {channelCount:1,echoCancellation:true,noiseSuppression:true,autoGainControl:true}}var io=50,ao=.12,so=2.6,co=.06,uo=256;function lo(){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 po(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 K("audio-context-blocked","AudioContext \u4E0D\u53EF\u7528");let a=t??new r,s=t==null;try{a.state==="suspended"&&await a.resume().catch(()=>{});let d=await a.decodeAudioData(await e.arrayBuffer()),i=Math.max(1,Math.ceil(d.duration*n)),p=new o(1,i,n),m=p.createBufferSource();return m.buffer=d,m.connect(p.destination),m.start(0),(await p.startRendering()).getChannelData(0).slice()}catch(d){throw d instanceof K?d:new K("decode-failed","\u5F55\u97F3\u6BB5\u89E3\u7801\u5931\u8D25",{cause:d})}finally{s&&await a.close().catch(()=>{});}}function Pt(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 fo(e={}){if(typeof MediaRecorder>"u")throw new K("no-media-recorder","\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u5F55\u97F3");let n;if(e.stream!==void 0)n=e.stream;else {if(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)throw new K("no-media-devices","\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9EA6\u514B\u98CE\u91C7\u96C6");try{n=await navigator.mediaDevices.getUserMedia({audio:oo()});}catch(C){throw mt(C)}}gt();let t=lo(),r=e.maxDurationMs??6e4,o="recording",a=[],s=0,d=[],i=null,p=null,m=null,S=[],h=0,u=false;function w(){try{let C;try{C=t!==""?new MediaRecorder(n,{mimeType:t}):new MediaRecorder(n);}catch{C=new MediaRecorder(n);}return S=[],C.ondataavailable=_=>{_.data.size>0&&S.push(_.data);},C.start(250),h=Date.now(),C}catch(C){throw C instanceof K?C:new K("device-busy","\u5F55\u97F3\u5668\u542F\u52A8\u5931\u8D25",{cause:C})}}let A=e.amplitude?.intervalMs??io,T=e.amplitude?.boost??so,c=e.amplitude?.smoothing??ao,g=e.amplitude?.minVolume??co;function P(){let C=Math.floor(r/1e3*Z),_=0;for(let x of a)_+=x.length;if(_>C){let x=C,D=[];for(let R of a){if(x<=0)break;R.length<=x?(D.push(R),x-=R.length):(D.push(R.slice(0,x)),x=0);}a.length=0,a.push(...D);}s=Math.min(s,r);let M=Math.max(0,Math.ceil(r/A));d.length>M&&(d.length=M);}async function f(){if(o!=="recording"){e.onMaxDuration?.();return}e.onMaxDuration?.(),o="paused";let C=I().then(()=>P());m=C;try{await C;}catch(_){console.warn("[im-browser] pauseAtMaxDuration settle failed",_);}}let y=setInterval(()=>{!u&&o==="recording"&&b()>=r&&(u=true,f());},250),v=null,k=null;try{let C=window.AudioContext??window.webkitAudioContext;if(C!==void 0){v=new C,v.state==="suspended"&&v.resume().catch(()=>{});let _=v.createMediaStreamSource(n),M=v.createAnalyser();M.fftSize=uo,M.smoothingTimeConstant=c,_.connect(M);let x=new Uint8Array(M.frequencyBinCount),D=new Uint8Array(M.fftSize),R=new qe;k=setInterval(()=>{if(o!=="recording"||i===null)return;M.getByteFrequencyData(x),M.getByteTimeDomainData(D);let U=bt({timeDomain:D,frequency:x,sampleRate:v.sampleRate,fftSize:M.fftSize,boost:T}),B=R.next(U),$=B<g?0:B;d.push(Math.round($*255)),e.onAmplitude?.($);},A);}}catch(C){console.warn("[im-browser] amplitude analyser setup failed",C);}function b(){let C=o==="recording"&&i!==null?Date.now()-h:0;return s+C}function l(){y!==null&&(clearInterval(y),y=null),k!==null&&(clearInterval(k),k=null),v?.close().catch(()=>{}),v=null;for(let C of n.getTracks())C.stop();}function I(){if(p!==null)return p;let C=i;return C===null?Promise.resolve():(i=null,p=(async()=>{await new Promise(x=>{if(C.state==="inactive"){x();return}C.onstop=()=>x(),C.stop();});let _=new Blob(S,{type:C.mimeType||t||"audio/webm"});if(S=[],_.size===0)return;let M=await po(_,Z,v);M.length!==0&&(a.push(M),s+=M.length/Z*1e3);})().finally(()=>{p=null;}),p)}try{i=w();}catch(C){throw o="closed",l(),C}return {getState:()=>o,recordedMs:b,async pause(){o==="recording"&&(o="paused",await I(),(u||s>=r)&&P());},async resume(){o!=="paused"||u||(i=w(),o="recording");},async finish(){if(o==="closed")throw new K("empty-recording","\u5F55\u97F3\u4F1A\u8BDD\u5DF2\u7ED3\u675F");o="closed";try{m!==null?await m:await I(),P();}finally{l();}let C=Pt(a);if(C.length===0)throw new K("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let _=bn(C,Z);if(_.length===0)throw new K("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let M=Math.min(d.length,Math.ceil(yn/A));return {data:await ht(_,Z),durationMs:Math.round(_.length/Z*1e3)+Cn,waveform:d.slice(M),filename:`AUDIO_${Date.now()}.ogg`,mimeType:"audio/ogg"}},cancel(){if(o==="closed")return;o="closed";let C=i;if(i=null,C!==null&&(C.ondataavailable=null,C.onstop=null,C.state!=="inactive"))try{C.stop();}catch{}a.length=0,l();},async previewWav(){m!==null?await m:p!==null&&await p,P();let C=Pt(a),_=bn(C,Z);if(_.length===0)throw new K("empty-recording","\u6682\u65E0\u53EF\u8BD5\u542C\u7684\u5F55\u97F3\u5185\u5BB9");return {wavData:je(hn(_),Z),durationMs:Math.round(_.length/Z*1e3)}}}}function Ce(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 a=n.get(t);return a!==void 0&&e(a,r)?false:(n.set(t,r),true)},reset(t){n.delete(t);}}}function wt(e,n){return e.length===n.length&&e.every((t,r)=>t===n[r])}var ee=class extends Error{constructor(n,t){super(n,t),this.name="ChannelKeyError";}};function It(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 ee("channel secret_key \u4E0D\u662F\u5408\u6CD5 Base64");let r=t.replace(/=+$/,""),o=r+"=".repeat((4-r.length%4)%4),a;try{a=atob(o);}catch(p){throw new ee("channel secret_key Base64 \u89E3\u7801\u5931\u8D25",{cause:p})}let s=Uint8Array.from(a,p=>p.charCodeAt(0)&255);if(s.length===0)throw new ee("channel secret_key Base64 \u89E3\u7801\u7ED3\u679C\u4E3A\u7A7A");let d=new Uint8Array(16);d.set(s.subarray(0,d.length));let i=n.length===16&&/^[\x20-\x7E]+$/.test(n)?Uint8Array.from(n,p=>p.charCodeAt(0)):void 0;return {canonical:d,...i===void 0?{}:{legacyAscii:i},metadata:{channelKeyCharLength:n.length,decodedByteLength:s.length,padByteCount:Math.max(0,16-s.length),legacyAsciiCandidate:i!==void 0}}}function mo(e){let n=new Map,t=new Map,r=new Map,o=new Map,a=Ce(wt);function s(f){return {canonical:f.canonical.slice(),...f.legacyAscii===void 0?{}:{legacyAscii:f.legacyAscii.slice()},metadata:{...f.metadata}}}function d(f){return [{strategy:"canonical-base64-pad",key:f.canonical.slice()},...f.legacyAscii===void 0?[]:[{strategy:"legacy-ascii16",key:f.legacyAscii.slice()}]]}function i(f){n.delete(f),t.delete(f),r.delete(f),o.set(f,(o.get(f)??0)+1);}function p(f){let y=o.get(f)??0,v=(async()=>{try{let k=await e.loadSecretKey(f);if(k===null||k.trim()==="")throw new ee(`channel secret_key \u7F3A\u5931\uFF08channelId=${f}\uFF09`);let b=It(k);return (o.get(f)??0)===y&&n.set(f,s(b)),b}catch(k){let b=k instanceof ee?k:new ee(`channel secret_key \u52A0\u8F7D\u5931\u8D25\uFF08channelId=${f}\uFF09`,{cause:k});throw e.onError?.(b.message,k),b}})().finally(()=>{t.get(f)===v&&t.delete(f);});return t.set(f,v),v}function m(f,y){let v=t.get(f);if(v!==void 0)return v;a.shouldRenegotiate(f,y.staleKey,n.get(f)?.canonical)&&i(f);}function S(f,y){let v=f.trim();if(v===""){let b=new ee("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(b.message),Promise.reject(b)}if(y!==void 0){let b=m(v,y);if(b!==void 0)return b.then(s)}let k=n.get(v);return k!==void 0?Promise.resolve(s(k)):t.get(v)??p(v)}function h(f,y){let v=f.trim();if(v===""){let I=new ee("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(I.message),Promise.reject(I)}if(y!==void 0){let I=m(v,y);if(I!==void 0)return I.then(C=>C.canonical.slice())}let k=n.get(v);if(k!==void 0)return Promise.resolve(k.canonical.slice());let b=r.get(v);if(b!==void 0)return b;let l=(t.get(v)??p(v)).then(I=>I.canonical.slice()).finally(()=>{r.get(v)===l&&r.delete(v);});return r.set(v,l),l}function u(f){return n.get(f.trim())?.canonical.slice()??null}async function w(f,y){let v=await S(f,y);return d(v)}function A(f){let y=n.get(f.trim());return y===void 0?[]:d(y)}function T(f){let y=n.get(f.trim());return y===void 0?null:{...y.metadata}}function c(f,y){let v=f.trim();if(v==="")throw new ee("channel id \u4E0D\u80FD\u4E3A\u7A7A");let k=It(y);i(v),a.reset(v),n.set(v,s(k));}function g(f){let y=f.trim();y!==""&&(i(y),a.reset(y));}function P(){let f=new Set([...n.keys(),...t.keys(),...r.keys(),...o.keys()]);for(let y of f)o.set(y,(o.get(y)??0)+1),a.reset(y);n.clear(),t.clear(),r.clear();}return {getChannelKey:h,getCachedChannelKey:u,getChannelKeyCandidates:w,getCachedChannelKeyCandidates:A,getCachedChannelKeyMetadata:T,primeChannelKey:c,clearChannelKey:g,clearAll:P}}var go="core";var Ee=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";}},q=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 E(e,n,t,r){let o=r!==void 0&&"responseMode"in r&&r.responseMode==="strict",a;try{a=await e(n,{target:go,data:t,...r?.method===void 0?{}:{method:r.method},...r?.headers===void 0?{}:{headers:r.headers},...r?.prefix===void 0?{}:{prefix:r.prefix}});}catch(s){throw o?new Ee(s instanceof Error?s.message:String(s),s):s}if(o){let s=typeof a.msg=="string"?a.msg:"";if(a.code===502)throw new Ee(s);return a.code!==200?{ok:false,code:a.code,message:s,data:a.data}:{ok:true,code:200,message:s,data:a.data}}return {code:a.code,data:a.code===200&&a.data!=null?a.data:null}}function _t(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 E(e,"/user/encrypt_info/info",t,r)}function ho(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 a=0;a<r.length;a++)o[a]=r.charCodeAt(a)&255;return o}function yo(e){let n=e.clientType,t=new Map,r=new Map,o=Ce((h,u)=>h===u),a=null,s=null;function d(h,u){e.onError?.(h,u);}function i(){if(a!==null)return Promise.resolve(a);if(s!==null)return s;let h=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(u=>(a=u,u)).finally(()=>{s===h&&(s=null);});return s=h,h}async function p(h){let u;try{u=await i();}catch(c){return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08userId=${h}\uFF09`,c),null}let w;try{w=await _t(e.client,{publicKey:u.publicKeyBase64,clientType:n});}catch(c){return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${h}\uFF09`,c),null}if(w.data===null)return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08userId=${h}\uFF0Ccode=${w.code}\uFF09`),null;let A=w.data.prv_key??w.data.prvKey??"",T=String(w.data.version??"").trim();if(A==="")return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08userId=${h}\uFF09`),null;try{let c=e.crypto.rsaDecryptPkcs1({data:ho(A),privateKey:u.privateKey}),g=new TextDecoder().decode(c).trim();if(g==="")return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u79C1\u94A5\u4E3A\u7A7A\uFF08userId=${h}\uFF09`),null;let P={privateKey:g,version:T};return t.set(h,P),P}catch(c){return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08userId=${h}\uFF09`,c),null}}function m(h,u){let w=h.trim();if(w==="")return Promise.resolve(null);if(u!==void 0){let g=r.get(w);if(g!==void 0)return g;o.shouldRenegotiate(w,u.staleKey,t.get(w)?.privateKey)&&t.delete(w);}let A=t.get(w);if(A!==void 0)return Promise.resolve(A);let T=r.get(w);if(T!==void 0)return T;let c=p(w).finally(()=>{r.get(w)===c&&r.delete(w);});return r.set(w,c),c}function S(h){return t.get(h.trim())??null}return {getUserPrivateKey:m,getCachedPrivateKey:S}}function St(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 E(e,"/user_group/encrypt_info",t,r)}function Co(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 a=0;a<r.length;a++)o[a]=r.charCodeAt(a)&255;return o}function bo(e){let n=e.clientType,t=new Map,r=new Map,o=new Map,a=Ce((u,w)=>u===w),s=null,d=null;function i(){if(s!==null)return Promise.resolve(s);if(d!==null)return d;let u=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(w=>(s=w,w)).finally(()=>{d===u&&(d=null);});return d=u,u}async function p(u){let w=o.get(u)??0,A;try{A=await i();}catch(y){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08groupId=${u}\uFF09`,y),null}let T;try{T=await St(e.client,{groupId:u,publicKey:A.publicKeyBase64,clientType:n});}catch(y){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08groupId=${u}\uFF09`,y),null}if(T.data===null)return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08groupId=${u}\uFF0Ccode=${T.code}\uFF09`),null;let c=T.data,g=String(c.prv_key??c.prvKey??c.private_key??"").trim(),P=String(c.pub_key??c.pubKey??c.public_key??"").trim(),f=String(c.version??"").trim();if(g==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08groupId=${u}\uFF09`),null;try{let y=e.crypto.rsaDecryptPkcs1({data:Co(g),privateKey:A.privateKey}),v=new TextDecoder().decode(y).trim();if(v==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u7FA4\u79C1\u94A5\u4E3A\u7A7A\uFF08groupId=${u}\uFF09`),null;let k={privateKey:v,publicKey:P,version:f};return (o.get(u)??0)===w&&t.set(u,k),k}catch(y){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08groupId=${u}\uFF09`,y),null}}function m(u,w){let A=u.trim();if(A==="")return Promise.resolve(null);if(w!==void 0){let P=r.get(A);if(P!==void 0)return P;a.shouldRenegotiate(A,w.staleKey,t.get(A)?.privateKey)&&t.delete(A);}let T=t.get(A);if(T!==void 0)return Promise.resolve(T);let c=r.get(A);if(c!==void 0)return c;let g=p(A).finally(()=>{r.get(A)===g&&r.delete(A);});return r.set(A,g),g}function S(u){return t.get(u.trim())??null}function h(u){let w=u.trim();t.delete(w),r.delete(w),o.set(w,(o.get(w)??0)+1),a.reset(w);}return {getGroupKeys:m,getCachedGroupKeys:S,getCachedGroupKeyVersion:u=>t.get(u.trim())?.version??null,clearGroupKeys:h}}async function ke(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 E(e,"/user/info/other",t,r)).data}function Po(e){let n=e.clientType,t=new Map,r=new Map;async function o(s){try{let i=((await ke(e.client,{userId:s,clientType:n}))?.public_key??"").trim();return i===""?(e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\uFF1A/user/info/other \u65E0 public_key\uFF08userId=${s}\uFF09`),null):(t.set(s,i),i)}catch(d){return e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${s}\uFF09`,d),null}}function a(s,d){let i=s.trim();if(i==="")return Promise.resolve(null);d?.force===true&&t.delete(i);let p=t.get(i);if(p!==void 0)return Promise.resolve(p);let m=r.get(i);if(m!==void 0)return m;let S=o(i).finally(()=>{r.get(i)===S&&r.delete(i);});return r.set(i,S),S}return {getPeerPublicKey:a}}function wo(e){if(e.length<16)throw new Error(`TEA key \u957F\u5EA6\u4E0D\u8DB3\uFF1A${e.length}\uFF0C\u9700 \u2265 16 \u5B57\u8282`);let n=new DataView(e.buffer,e.byteOffset,16);return [n.getUint32(0,true),n.getUint32(4,true),n.getUint32(8,true),n.getUint32(12,true)]}function At([e,n],[t,r,o,a]){let s=e>>>0,d=n>>>0,i=Math.imul(2654435769,16)>>>0;for(let p=0;p<16;p++)d=d-(Math.imul(s,16)+o^s+i^(s>>>5)+a)>>>0,s=s-(Math.imul(d,16)+t^d+i^(d>>>5)+r)>>>0,i=i-2654435769>>>0;return [s,d]}function vt([e,n],[t,r,o,a]){let s=e>>>0,d=n>>>0,i=0;for(let p=0;p<16;p++)i=i+2654435769>>>0,s=s+(Math.imul(d,16)+t^d+i^(d>>>5)+r)>>>0,d=d+(Math.imul(s,16)+o^s+i^(s>>>5)+a)>>>0;return [s,d]}function ze(e,n,t,r){let o=wo(n),a=new Uint8Array(e.length),s=Math.floor(e.length/8),d=r===void 0?s:Math.min(s,Math.floor(r/8)),i=new DataView(e.buffer,e.byteOffset,e.byteLength),p=new DataView(a.buffer);for(let S=0;S<d;S++){let h=S*8,[u,w]=t([i.getUint32(h,true),i.getUint32(h+4,true)],o);p.setUint32(h,u,true),p.setUint32(h+4,w,true);}let m=d*8;return m<e.length&&a.set(e.subarray(m),m),a}function Pn(e,n){return ze(n,e,At)}function wn(e,n){return ze(n,e,vt)}function Mt(e,n){return ze(n,e,vt,32)}function xt(e,n){return ze(n,e,At,32)}var ue=16;function Et(e){let n="";for(let t of e)n+=String.fromCharCode(t);return n}function kt(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t)&255;return n}function Tt(e){return e.replace(/(.{64})/g,`$1
|
|
2
|
+
`).trim()}function Io(e){return e.replace(/-----BEGIN[^-]+-----/g,"").replace(/-----END[^-]+-----/g,"").replace(/\s+/g,"")}function _o(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u79C1\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return J.pki.privateKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return J.pki.privateKeyFromAsn1(J.asn1.fromDer(J.util.decode64(t)))}catch(a){r.push(a);}let o=Tt(t);for(let a of ["PRIVATE KEY","RSA PRIVATE KEY"])try{return J.pki.privateKeyFromPem(`-----BEGIN ${a}-----
|
|
3
|
+
${o}
|
|
4
|
+
-----END ${a}-----`)}catch(s){r.push(s);}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 Rt(e){let n=_o(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 i=0;i<r.length;i+=t){let p=Math.min(i+t,r.length);try{let m=n.decrypt(Et(r.subarray(i,p)),"RSAES-PKCS1-V1_5");o.push(kt(m));}catch(m){let S=m instanceof Error?m.message:String(m);throw new Error(`RSA-PKCS1 \u89E3\u5BC6\u5931\u8D25\uFF08\u5BC6\u6587 ${r.length}B\uFF0C\u5757 ${i}..${p}\uFF0CkeySize ${t}B\uFF0C\u79C1\u94A5 ${n.n.bitLength()}bit\uFF09\uFF1A${S}`)}}let a=o.reduce((i,p)=>i+p.length,0),s=new Uint8Array(a),d=0;for(let i of o)s.set(i,d),d+=i.length;return s}function So(e){let n=Rt({data:e.secretKey,privateKey:e.privateKey});if(n.length<ue)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${n.length} < ${ue}`);return Pn(n,e.cipherData)}function Ao(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u516C\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return J.pki.publicKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return J.pki.publicKeyFromAsn1(J.asn1.fromDer(J.util.decode64(t)))}catch(a){r.push(a);}let o=Tt(t);for(let a of ["PUBLIC KEY","RSA PUBLIC KEY"])try{return J.pki.publicKeyFromPem(`-----BEGIN ${a}-----
|
|
5
|
+
${o}
|
|
6
|
+
-----END ${a}-----`)}catch(s){r.push(s);}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 Dt(){let e=new Uint8Array(ue),n=new Uint8Array(1);for(let t=0;t<ue;t++){let r=0;do globalThis.crypto.getRandomValues(n),r=n[0]??0;while(r===0);e[t]=r;}return e}function vo(e,n){if(n.length===0)throw new Error("RSA \u52A0\u5BC6\uFF1A\u660E\u6587\u4E3A\u7A7A");let t=Ao(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 i=0;i<n.length;i+=r){let p=Math.min(i+r,n.length),m=t.encrypt(Et(n.subarray(i,p)),"RSAES-PKCS1-V1_5");o.push(kt(m));}let a=o.reduce((i,p)=>i+p.length,0),s=new Uint8Array(a),d=0;for(let i of o)s.set(i,d),d+=i.length;return s}function Mo(e){let n=e.teaKey??Dt();if(n.length<ue)throw new Error(`\u7AEF\u5230\u7AEF\u52A0\u5BC6\u5931\u8D25\uFF1AteaKey \u957F\u5EA6 ${n.length} < ${ue}`);let t=n.subarray(0,ue),r=wn(t,e.plain);return {secretKey:vo(e.publicKey,t),cipherData:r}}function xo(e){return Pn(e.teaKey,e.cipherData)}function Eo(e){return wn(e.teaKey,e.plain)}function ko(e){return Mt(e.teaKey,e.plain)}function To(e){return xt(e.teaKey,e.cipherData)}function Ro(){return new Promise((e,n)=>{J.pki.rsa.generateKeyPair({bits:2048,e:65537,workers:-1},(t,r)=>{if(t){n(t);return}e({publicKeyBase64:Io(J.pki.publicKeyToPem(r.publicKey)),privateKey:J.pki.privateKeyToPem(r.privateKey)});});})}function Do(){return {decryptEndToEnd:So,encryptEndToEnd:Mo,decryptSymmetric:xo,encryptSymmetric:Eo,encryptFileSimple:ko,decryptFileSimple:To,randomTeaKey:Dt,generateTempKeyPair:Ro,rsaDecryptPkcs1:Rt}}function In(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Te(e,n){return E(e,"/friend/apply/list_paginated",{type:n.listType,page:n.page,page_size:n.pageSize},In(n.clientType,"GET"))}function Re(e,n){return E(e,"/friend/apply/agree",{id:n.applicationId},In(n.clientType,"POST"))}function De(e,n){return E(e,"/friend/apply/del",{id:n.applicationId},In(n.clientType,"POST"))}var Ut=50,Ot=20,Bt=1,_n=2,Sn=3,Uo=4,Oo=5,Nt=0,Bo=1,No=2;function Ko(e){switch(e){case Nt:case Bo:case No:return e;default:return}}var be=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},j=class extends Error{constructor(n){super(`application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ApplicationMappingError";}};function N(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Kt(e){let n=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 Gt(e){let n=N(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=Ko(t);if(r===void 0)throw new j(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===Nt}function Go(e){let n=N(e.type);if(n==="")return true;if(Number(n)!==Bt)throw new j(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${n}`);return true}function Lo(e){let n=Number(N(e.type));if(n!==_n&&n!==Sn&&n!==Uo&&n!==Oo)throw new j(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${N(e.type)||"<empty>"}`);return n}function We(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>Ut)throw new j(`limit \u5FC5\u987B\u4E3A 1-${Ut}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new j("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new j("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function Lt(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 j("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function An(e){let n=e.trim();if(n==="")throw new j("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function Ho(e){let n=An(N(e.id)||N(e.aid)),t=N(e.user_id)||N(e.user_info?.user_id),r=N(e.nick_name??e.nickname??e.name)||N(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(t===""||r==="")throw new j(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let o=N(e.head_img_url??e.avatar)||N(e.user_info?.head_img_url??e.user_info?.avatar),a=N(e.user_info?.mid),s=Kt(e.create_time??e.createTime??e.update_version);return {applicationId:n,applicantId:t,applicantName:r,...o===""?{}:{applicantAvatar:o},...a===""?{}:{applicantDisplayId:a},message:N(e.remarks??e.introduce_self),...s===void 0?{}:{createdAt:s}}}function $o(e){let n=An(N(e.id)||N(e.aid)),t=N(e.group_id)||N(e.group_info?.group_id);if(t==="")throw new j(`GROUP id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let r=N(e.user_id)||N(e.user_info?.user_id),o=N(e.nick_name??e.nickname??e.name)||N(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(r===""||o==="")throw new j(`GROUP \u7533\u8BF7\u4EBA\u6216\u9080\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let a=N(e.head_img_url??e.avatar)||N(e.user_info?.head_img_url??e.user_info?.avatar),s=N(e.user_info?.mid),d=N(e.group_info?.name??e.group_info?.group_name);if(d==="")throw new j(`GROUP \u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let i=N(e.group_info?.head_img_url??e.group_info?.avatar),p=Kt(e.create_time??e.createTime??e.update_version);return {applicationId:n,groupId:t,kind:Number(e.type)===Sn?"invite":"request",actor:{id:r,name:o,...a===""?{}:{avatarUrl:a},...s===""?{}:{displayId:s}},target:{id:t,name:d,...i===""?{}:{avatarUrl:i}},message:N(e.remarks??e.introduce_self),...p===void 0?{}:{createdAt:p}}}async function Ye(e,n,t){let r=await t(e.client,{applicationId:An(n),clientType:e.clientType});if(!r.ok)throw new be(r.code,r.message)}function Fo(e){async function n(t){let{pageSize:r}=We(t),{page:o}=We(t);for(let a=0;a<Ot;a+=1){let s=await Te(e.client,{listType:Bt,page:o,pageSize:r,clientType:e.clientType});if(!s.ok)throw new be(s.code,s.message);let d=Lt(s.data),i=d.filter(S=>Go(S)&&Gt(S)).map(Ho),p=d.length<r,m=o+1;if(i.length>0||p)return {items:i,exhausted:p,...p?{}:{nextCursor:String(m)}};o=m;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>Ye(e,t,Re),ignoreApplication:t=>Ye(e,t,De)}}function Vo(e){async function n(t){let{pageSize:r}=We(t),{page:o}=We(t);for(let a=0;a<Ot;a+=1){let s=await Te(e.client,{listType:_n,page:o,pageSize:r,clientType:e.clientType});if(!s.ok)throw new be(s.code,s.message);let d=Lt(s.data),i=d.filter(S=>{let h=Lo(S);return (h===_n||h===Sn)&&Gt(S)}).map($o),p=d.length<r,m=o+1;if(i.length>0||p)return {items:i,exhausted:p,...p?{}:{nextCursor:String(m)}};o=m;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>Ye(e,t,Re),ignoreApplication:t=>Ye(e,t,De)}}function O(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function Jo(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 jo(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 qo(e){let n=Number(e.product_id),t=Jo(e.is_dynamic);return {...jo(e.config_type),...O(e.appid)===void 0?{}:{appId:O(e.appid)},...Number.isInteger(n)?{productId:n}:{},...O(e.domain)===void 0?{}:{domain:O(e.domain)},...O(e.suffix_address)===void 0?{}:{suffixAddress:O(e.suffix_address)},...O(e.developer_id)===void 0?{}:{developerId:O(e.developer_id)},...O(e.introduction)===void 0?{}:{introduction:O(e.introduction)},...O(e.icon)===void 0?{}:{icon:O(e.icon)},...O(e.icon_small)===void 0?{}:{iconSmall:O(e.icon_small)},...O(e.icon_medium)===void 0?{}:{iconMedium:O(e.icon_medium)},...O(e.icon_large)===void 0?{}:{iconLarge:O(e.icon_large)},...t===void 0?{}:{isDynamic:t},...O(e.lang_types)===void 0?{}:{langTypes:O(e.lang_types)},...O(e.currency_types)===void 0?{}:{currencyTypes:O(e.currency_types)},...O(e.simple_chinese_name)===void 0?{}:{nameZhHans:O(e.simple_chinese_name)},...O(e.unsimplified_chinese_name)===void 0?{}:{nameZhHant:O(e.unsimplified_chinese_name)},...O(e.english_name)===void 0?{}:{nameEn:O(e.english_name)},...O(e.vietnamese_name)===void 0?{}:{nameVi:O(e.vietnamese_name)},...O(e.thai_name)===void 0?{}:{nameTh:O(e.thai_name)},...O(e.h5_url)===void 0?{}:{h5Url:O(e.h5_url)}}}function Ht(e,n){return Array.isArray(e.mini_program_rel_list)?e.mini_program_rel_list.filter(t=>t!==null&&typeof t=="object").map(t=>qo(t)):n.source==="info"?[]:void 0}function $t(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Ft(e,n){return E(e,"/user_radio/list",{user_id:n.userId,update_version:n.updateVersion,page:n.page,page_size:n.pageSize},$t(n.clientType,"GET"))}function Vt(e,n){return E(e,"/user_radio/info",{radio_id:n.channelId},$t(n.clientType,"POST"))}var Jt=500,Ue=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},re=class extends Error{constructor(n){super(`CHANNEL profile \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelProfileMappingError";}};function jt(e,n){let t=typeof e=="string"||typeof e=="number"?String(e).trim():"";if(t==="")throw new re(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function le(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function Pe(e){return Number(e)===1}function zo(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 Wo(e,n){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":n===false?"guest":"unknown"}function Yo(e){let n=e.is_in===void 0?void 0:Pe(e.is_in),t=Pe(e.radio_user?.is_del),r=Pe(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 Qo(e,n,t){let r=le(e.radio_user?.user_id),o=e.radio_setting?.un_speaking_user_ids,a=le(e.radio_setting?.un_speaking_period);return {role:n,baseState:t,resolvedState:t,allMembersMuted:Pe(e.radio_setting?.is_unspeeking_all),currentUserMuted:r!==void 0&&Array.isArray(o)&&o.map(String).includes(r),...a===void 0?{}:{mutePeriod:a}}}function Xo(e){if(e!=null)return Number(e)===1?"standard":Number(e)===2?"competition":"unknown"}function Zo(e){let n=le(e);return n!==void 0&&/^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function ei(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 qt(e,n,t){let r=jt(e.radio_id??e.id,"id"),o=jt(e.name,"name"),a=e.is_in===void 0?void 0:Pe(e.is_in),s=Wo(e.radio_user?.role_id,a),d=Yo(e),i=Qo(e,s,d),p=la$1({channelState:d,snapshot:i,nowMs:n}),m={...i,resolvedState:p.channelState},S=Zo(e.update_version),h=le(e.head_img_url),u=le(e.desc),w=le(e.user_id),A=Number(e.total_users),T=Xo(e.type),c=zo(e.radio_setting?.is_unvisit_other),g=e.verify_way===void 0?void 0:Number(e.verify_way),P=g!==void 0&&Number.isSafeInteger(g)?g:void 0,f=le(e.invite_code),y=Ht(e,{source:t});return {id:r,name:o,...h===void 0?{}:{avatar:h},...u===void 0?{}:{description:u},...w===void 0?{}:{ownerId:w},...Number.isFinite(A)&&A>=0?{memberCount:A}:{},...P===void 0?{}:{verifyType:P},...f===void 0?{}:{inviteCode:f},role:s,permissions:p.permissions,channelState:p.channelState,allMembersMuted:m.allMembersMuted,...c===void 0?{}:{memberPrivateChatDisabled:c},accessSnapshot:m,...e.radio_user?.is_undisturb===void 0?{}:{muted:Pe(e.radio_user.is_undisturb)},...T===void 0?{}:{channelKind:T},...S===void 0?{}:{updateVersion:S},...y===void 0?{}:{miniProgramRels:y}}}function zt(e){return {...e,updatedAt:Date.now()}}function Wt(e,n){if(e.accessSnapshot===void 0)return {...e,permissions:ka$1(e.role,e.channelState)};let t=la$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 vn(e,n){let{updatedAt:t,...r}=Wt(e,n);return r}function ni(e){let n=new Map,t=new Map,r=new Map,o="0",a=false,s=null,d=0,i=null,p=0;function m(){if(a)return Promise.resolve();if(s!==null)return s;let u=d;return s=(async()=>{if(e.storage!==void 0){let[w,A]=await Promise.all([e.storage.getChannelProfiles(),e.storage.getChannelListVersion()]);if(u!==d)return;for(let T of w)n.set(T.id,Wt(T,e.now?.()??Date.now()));o=/^\d+$/.test(A)?A:"0";}a=true;})().finally(()=>{s=null;}),s}function S(u){if(u?.forceRefresh!==true&&i!==null)return i;let w=++p,A=(async()=>{await m();let T=(await e.getUserId()).trim();if(T==="")throw new re("user_id \u4E0D\u80FD\u4E3A\u7A7A");let c=u?.forceRefresh===true?"0":o,g=[];for(let f=1;;f+=1){let y=await Ft(e.client,{userId:T,updateVersion:c,page:f,pageSize:Jt,clientType:e.clientType});if(!y.ok)throw new Ue(y.code,y.message);if(y.data===null)break;if(!Array.isArray(y.data))throw new re("list data \u5FC5\u987B\u662F\u6570\u7EC4");let v=e.now?.()??Date.now(),k=y.data.map(b=>qt(b,v,"list"));if(g.push(...k),k.length<Jt)break}if(w!==p)return [...n.values()].map(f=>vn(f,e.now?.()??Date.now()));let P=o;for(let f of g)n.set(f.id,zt(f)),f.updateVersion!==void 0&&(P=ei(P,f.updateVersion));return o=P,e.storage!==void 0&&(await e.storage.saveChannelProfiles([...n.values()]),await e.storage.saveChannelListVersion(o)),[...n.values()].map(f=>vn(f,e.now?.()??Date.now()))})();return i=A,A.finally(()=>{i===A&&(i=null);}).catch(()=>{}),A}function h(u,w){let A=u.trim();if(A==="")return Promise.reject(new re("channel id \u4E0D\u80FD\u4E3A\u7A7A"));let T=w?.forceRefresh===true;if(!T){let P=t.get(A);if(P!==void 0)return P}let c=(r.get(A)??0)+1;T&&r.set(A,c);let g=(async()=>{await m();let P=n.get(A);if(!T&&P!==void 0&&P.miniProgramRels!==void 0)return vn(P,e.now?.()??Date.now());let f=await Vt(e.client,{channelId:A,clientType:e.clientType});if(!f.ok)throw new Ue(f.code,f.message);if(f.data===null||f.data===void 0)throw new re("info data \u4E0D\u80FD\u4E3A\u7A7A");let y=qt(f.data,e.now?.()??Date.now(),"info");if(y.id!==A)throw new re(`info id \u4E0D\u5339\u914D\uFF1A\u8BF7\u6C42 ${A}\uFF0C\u54CD\u5E94 ${y.id}`);if((r.get(A)??c)===c){let v=zt(y);n.set(A,v),await e.storage?.saveChannelProfiles([v]);}return y})().finally(()=>{t.get(A)===g&&t.delete(A);});return r.set(A,c),t.set(A,g),g}return {listProfiles:S,getProfile:h,clearCache(){d+=1,p+=1;for(let u of new Set([...n.keys(),...t.keys(),...r.keys()]))r.set(u,(r.get(u)??0)+1);n.clear(),t.clear(),i=null,o="0",a=true,s=null;}}}function Yt(e,n){return Te(e,{listType:2,page:n.page,pageSize:n.pageSize,clientType:n.clientType})}function Qt(e,n){return Re(e,n)}function Xt(e,n){return De(e,n)}var ti=20,Zt=50,ri=20,oi=2,ii=3,nr=4,ai=5,tr=0,si=1,ci=2;function di(e){switch(e){case tr:case si:case ci:return e;default:return}}var Oe=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},W=class extends Error{constructor(n){super(`CHANNEL join application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelJoinApplicationMappingError";}};function L(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function ui(e){let n=L(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 li(e){let n=L(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=di(t);if(r===void 0)throw new W(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===tr}function pi(e){let n=Number(L(e.type));if(n!==oi&&n!==ii&&n!==nr&&n!==ai)throw new W(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${L(e.type)||"<empty>"}`);return n}function fi(e){let n=L(e.id)||L(e.aid),t=L(e.user_id)||L(e.user_info?.user_id),r=e.radio_info??e.channel_info,o=L(e.radio_id)||L(e.channel_id)||L(r?.radio_id)||L(r?.channel_id);if(n==="")throw new W("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");if(t==="")throw new W(`\u7533\u8BF7\u4EBA id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);if(o==="")throw new W(`CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let a=L(e.user_info?.nick_name)||L(e.user_info?.nickname)||L(e.user_info?.name)||t,s=L(e.user_info?.head_img_url)||L(e.user_info?.avatar),d=L(e.user_info?.mid),i=L(r?.name)||L(r?.radio_name)||L(r?.channel_name)||o,p=L(r?.head_img_url)||L(r?.avatar),m=ui(e.create_time??e.createTime);return {applicationId:n,applicantId:t,applicantName:a,...s===""?{}:{applicantAvatar:s},...d===""?{}:{applicantDisplayId:d},channelId:o,channelName:i,...p===""?{}:{channelAvatar:p},message:L(e.remarks)||L(e.introduce_self),...m===void 0?{}:{createdAt:m}}}function er(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>Zt)throw new W(`limit \u5FC5\u987B\u4E3A 1-${Zt}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit||ti};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 mi(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 gi(e){let n=e.trim();if(n==="")throw new W("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function hi(e){async function n(r){let{pageSize:o}=er(r),{page:a}=er(r);for(let s=0;s<ri;s+=1){let d=await Yt(e.client,{page:a,pageSize:o,clientType:e.clientType});if(!d.ok)throw new Oe(d.code,d.message);let i=mi(d.data),p=i.filter(h=>pi(h)===nr&&li(h)).map(fi),m=i.length<o,S=a+1;if(p.length>0||m)return {items:p,exhausted:m,...m?{}:{nextCursor:String(S)}};a=S;}return {items:[],exhausted:false,nextCursor:String(a)}}async function t(r,o){let a=await o(e.client,{applicationId:gi(r),clientType:e.clientType});if(!a.ok)throw new Oe(a.code,a.message)}return {listJoinApplications:n,acceptJoinApplication:r=>t(r,Qt),ignoreJoinApplication:r=>t(r,Xt)}}function Qe(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Mn(e,n){return E(e,"/user_radio/users",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},Qe(n.clientType,"GET"))}function xn(e,n){return E(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"},Qe(n.clientType,"POST"))}function rr(e,n){return E(e,"/user_radio/admins",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},Qe(n.clientType,"GET"))}function or(e,n){return E(e,"/user_radio/user/infos",{radio_id:n.channelId,user_ids:n.userIds.join(",")},Qe(n.clientType,"POST"))}var Xe=18,yi=12,Ci=300*1e3,bi=32,Be=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},F=class extends Error{constructor(n){super(`CHANNEL member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMemberMappingError";}};function oe(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Pi(e){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":"unknown"}function wi(e){let n=oe(e);return /^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function En(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 ir(e,n){let t=oe(e.radio_id);if(t==="")throw new F("radio_id \u4E0D\u80FD\u4E3A\u7A7A");if(t!==n)throw new F(`\u6210\u5458\u9891\u9053 ${t} \u4E0E\u8BF7\u6C42\u9891\u9053 ${n} \u4E0D\u4E00\u81F4`);let r=oe(e.user_id)||oe(e.user_info?.user_id);if(r==="")throw new F("user_id \u4E0D\u80FD\u4E3A\u7A7A");if(e.is_master!==void 0){let p=Number(e.is_master);if(p!==0&&p!==1)throw new F(`is_master \u975E\u6CD5\uFF1A${oe(e.is_master)}`)}let o=oe(e.nick_name),a=oe(e.user_info?.nick_name)||oe(e.user_info?.name),s=oe(e.user_info?.head_img_url),d=wi(e.update_version),i=Number(e.join_type);return {userId:r,...o===""?{}:{nickname:o},displayName:o||a||r,...s===""?{}:{avatar:s},role:Pi(e.role_id),...Number.isInteger(i)?{joinType:i}:{},...d===void 0?{}:{updateVersion:d}}}function Ii(e){if(e.channelId.trim()==="")throw new F("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>Xe)throw new F(`limit \u5FC5\u987B\u4E3A 1-${Xe}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new F("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new F("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:t,pageSize:e.limit}}function ar(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 _i(e){let n=e.now??(()=>Date.now()),t=e.isActive??(()=>true),r=e.cacheTtlMs??Ci,o=new Map,a=new Map,s=new Map,d=new Map,i=new Map,p=new Set,m=new Set,S=(b,l)=>`${b}:${l}`;function h(b){let l=i.get(b);return l!==void 0?l:(i.set(b,0),0)}function u(b){let l=b.trim();if(l==="")throw new F("channelId \u4E0D\u80FD\u4E3A\u7A7A");return l}function w(b){for(a.delete(b.channelId),a.set(b.channelId,b);a.size>bi;){let l=a.keys().next().value;if(l===void 0)break;a.delete(l);}}function A(b){let l=a.get(b);if(l!==void 0)return w(l),Promise.resolve(l);if(m.has(b)||e.storage?.getChannelMemberSnapshot===void 0)return Promise.resolve(null);let I=s.get(b);if(I!==void 0)return I;let C=h(b),_=e.storage.getChannelMemberSnapshot(b).then(M=>!t()||M===null||M.channelId!==b||C!==h(b)||m.has(b)?null:(w(M),M)).finally(()=>{s.get(b)===_&&s.delete(b);});return s.set(b,_),_}function T(b,l){let I=b.map(_=>_.userId),C=new Map(b.map(_=>[_.userId,_]));for(let _ of l){C.has(_.userId)||I.push(_.userId);let M=C.get(_.userId);(M===void 0||En(_.updateVersion,M.updateVersion)>=0)&&C.set(_.userId,_);}return I.map(_=>C.get(_))}async function c(b,l){let I=await U(l);return b.filter(C=>I.match(C.displayName)!==null||I.match(C.userId,{pinyin:false})!==null)}async function g(b,l,I={}){if(!t()||l!==h(b.channelId))return;let C=b.channelId,_=m.has(C),M=I.allowPersistentRebuild===true&&_&&e.storage?.deleteChannelMemberSnapshot===void 0&&e.storage?.saveChannelMemberSnapshot!==void 0;(!_||M)&&await e.storage?.saveChannelMemberSnapshot?.(b),t()&&l===h(C)&&(w(b),I.allowPersistentRebuild===true&&(!_||e.storage?.deleteChannelMemberSnapshot===void 0)&&m.delete(C));}async function P(b,l,I,C,_=false,M){let x=await A(b);if(!t()||I!==h(b))return;let D=n(),R=M!==void 0&&x?.nextCursor===M,U=_&&x!==null&&!R,B=C!==void 0&&!U?C.nextCursor:x?.nextCursor,$={channelId:b,items:T(x?.items??[],l),...B===void 0?{}:{nextCursor:B},exhausted:U?x.exhausted:C?.exhausted??x?.exhausted??false,updatedAt:D};await g($,I);}async function f(b,l,I){if(!t()||I!==h(b))return [...l];let C=n(),_=C+r,M=[],x=[],D=new Map;for(let R of l){let U=S(b,R.userId),B=o.get(U)?.member;if(B!==void 0&&En(R.updateVersion,B.updateVersion)<0){x.push(B);continue}M.push({channelId:b,...R,updatedAt:C}),x.push(R),D.set(U,{member:R,expiresAt:_});}if(M.length>0&&t()&&I===h(b)&&!p.has(b)&&(await e.storage?.saveChannelMembers?.(M),e.storage?.getChannelMembers!==void 0&&t()&&I===h(b))){let R=await e.storage.getChannelMembers(b,M.map(B=>B.userId)),U=new Map(R.map(B=>{let{channelId:$,updatedAt:V,...ae}=B;return [ae.userId,{member:ae,updatedAt:V}]}));for(let B=0;B<x.length;B+=1){let $=x[B];if($===void 0)continue;let V=U.get($.userId);V===void 0||En(V.member.updateVersion,$.updateVersion)<=0||(x[B]=V.member,D.set(S(b,$.userId),{member:V.member,expiresAt:V.updatedAt+r}));}}if(t()&&I===h(b))for(let[R,U]of D)o.set(R,U);return x}async function y(b,l){let I=u(b.channelId),{page:C,pageSize:_}=Ii({...b,channelId:I}),M=h(I),x=await l(I,C,_);if(!x.ok)throw new Be(x.code,x.message);if(x.data!==null&&!Array.isArray(x.data))throw new F("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let D=ar((x.data??[]).map(B=>ir(B,I))),R=await f(I,D,M),U=(x.data??[]).length<_;return {items:R,exhausted:U,...U?{}:{nextCursor:String(C+1)}}}function v(b){let l=u(b),I=d.get(l);if(I!==void 0)return I;let C=h(l),_=(async()=>{let M,x=false,D=[];for(let U=0;U<yi&&!x;U+=1){let B=await y({channelId:l,limit:Xe,...M===void 0?{}:{cursor:M}},($,V,ae)=>Mn(e.client,{channelId:$,page:V,pageSize:ae,clientType:e.clientType}));if(!t()||C!==h(l))throw new F("\u6210\u5458\u5FEB\u7167\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");D=T(D,B.items),M=B.nextCursor,x=B.exhausted;}let R={channelId:l,items:D,...M===void 0?{}:{nextCursor:M},exhausted:x,updatedAt:n()};return await g(R,C,{allowPersistentRebuild:true}),{items:R.items,...R.nextCursor===void 0?{}:{nextCursor:R.nextCursor},exhausted:R.exhausted}})().finally(()=>{d.get(l)===_&&d.delete(l);});return d.set(l,_),_}async function k(b){let l=u(b),I=h(l)+1;i.set(l,I),p.add(l),m.add(l),a.delete(l),s.delete(l),d.delete(l);let C=`${l}:`;for(let _ of o.keys())_.startsWith(C)&&o.delete(_);e.storage?.deleteChannelMembers===void 0&&e.storage?.deleteChannelMemberSnapshot===void 0||(await Promise.all([e.storage.deleteChannelMembers?.(l),e.storage.deleteChannelMemberSnapshot?.(l)]),I===h(l)&&(e.storage?.deleteChannelMembers!==void 0&&p.delete(l),e.storage?.deleteChannelMemberSnapshot!==void 0&&m.delete(l)));}return {async prefetchMembers(b){let l=u(b),I=await A(l),C=m.has(l);I!==null&&!C&&I.updatedAt+r>n()||await v(l);},async getCachedMembers(b){let l=u(b.channelId),I=await A(l);if(I===null)return null;let C=b.query?.trim()??"";return C===""&&m.has(l)?null:C===""?{items:[...I.items],...I.nextCursor===void 0?{}:{nextCursor:I.nextCursor},exhausted:I.exhausted}:{items:await c(I.items,C),exhausted:true}},async refreshMembers(b){let l=u(b.channelId),I=b.query?.trim()??"";if(I==="")return v(l);let C=h(l),[_,M]=await Promise.all([y({channelId:l,query:I,limit:Xe},(D,R,U)=>xn(e.client,{channelId:D,query:I,page:R,pageSize:U,updateVersion:"0",clientType:e.clientType})),A(l)]),x=M===null?[]:await c(M.items,I);return await P(l,_.items,C),{..._,items:T(_.items,x)}},async listMembers(b){let l=u(b.channelId),I={...b,channelId:l},C=h(l),_=await y(I,(M,x,D)=>Mn(e.client,{channelId:M,page:x,pageSize:D,clientType:e.clientType}));return await P(l,_.items,C,_,I.cursor!==void 0,I.cursor),_},async searchMembers(b){let l=b.query.trim();if(l==="")return Promise.reject(new F("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A"));let I=u(b.channelId),C={...b,channelId:I},_=h(I),M=await y(C,(x,D,R)=>xn(e.client,{channelId:x,query:l,page:D,pageSize:R,updateVersion:"0",clientType:e.clientType}));return await P(I,M.items,_),M},listAdmins:b=>y(b,(l,I,C)=>rr(e.client,{channelId:l,page:I,pageSize:C,clientType:e.clientType})),async getMembersByIds(b,l,I){let C=b.trim();if(C==="")throw new F("channelId \u4E0D\u80FD\u4E3A\u7A7A");let _=[...new Set(l.map(R=>R.trim()).filter(Boolean))];if(_.length===0)return [];let M=I?.forceRefresh===true,x=new Map,D=[];for(let R of _){let U=o.get(S(C,R));!M&&U!==void 0&&U.expiresAt>n()?x.set(R,U.member):D.push(R);}if(!M&&D.length>0&&!p.has(C)&&e.storage?.getChannelMembers!==void 0){let R=h(C),U=await e.storage.getChannelMembers(C,D);if(t()&&R===h(C))for(let{channelId:B,updatedAt:$,...V}of U)B===C&&(o.set(S(C,V.userId),{member:V,expiresAt:$+r}),$+r>n()&&x.set(V.userId,V));D=D.filter(B=>!x.has(B));}if(!t())return _.flatMap(R=>x.has(R)?[x.get(R)]:[]);if(D.length>0){let R=h(C),U=await or(e.client,{channelId:C,userIds:D,clientType:e.clientType});if(!U.ok)throw new Be(U.code,U.message);if(U.data!==null&&!Array.isArray(U.data))throw new F("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let B=ar((U.data??[]).map(ye=>ir(ye,C))),$=D.filter(ye=>!B.some(Vr=>Vr.userId===ye)),V=M&&$.length>0&&R===h(C),ae;V?(await k(C),ae=B):ae=await f(C,B,R);for(let ye of ae)x.set(ye.userId,ye);}return _.flatMap(R=>x.has(R)?[x.get(R)]:[])},invalidateChannelMembers:k,clearCache(){let b=new Set(i.keys());for(let l of o.keys())b.add(l.slice(0,l.indexOf(":")));for(let l of a.keys())b.add(l);for(let l of s.keys())b.add(l);for(let l of d.keys())b.add(l);for(let l of p)b.add(l);for(let l of m)b.add(l);for(let l of b)i.set(l,h(l)+1);o.clear(),a.clear(),s.clear(),d.clear(),p.clear(),m.clear();}}}function sr(e){return {responseMode:"strict",method:"POST",...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function cr(e,n){return E(e,"/user_radio/member/list",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},sr(n.clientType))}function dr(e,n){return E(e,"/user_radio/member/search",{radio_id:n.channelId,search_name:n.query,page:n.page,page_size:n.pageSize},sr(n.clientType))}var ur=18,Ze=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},ne=class extends Error{constructor(n){super(`CHANNEL @ member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMentionMemberMappingError";}};function we(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Si(e){let n=we(e.user_id);if(n==="")throw new ne("user_id \u4E0D\u80FD\u4E3A\u7A7A");let t=we(e.radio_user_nickname)||we(e.nick_name)||we(e.name)||we(e.mid)||n,r=we(e.head_img_url);return {userId:n,displayName:t,...r===""?{}:{avatar:r}}}function Ai(e){let n=e.channelId.trim();if(n==="")throw new ne("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>ur)throw new ne(`limit \u5FC5\u987B\u4E3A 1-${ur}`);if(e.cursor===void 0)return {channelId:n,page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new ne("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new ne("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {channelId:n,page:t,pageSize:e.limit}}function vi(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 Mi(e){async function n(t,r){let{channelId:o,page:a,pageSize:s}=Ai(t),d=await r({channelId:o,page:a,pageSize:s,clientType:e.clientType});if(!d.ok)throw new Ze(d.code,d.message);if(d.data!==null&&!Array.isArray(d.data))throw new ne("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let i=d.data??[],p=vi(i.map(Si)),m=i.length<s;return {items:p,exhausted:m,...m?{}:{nextCursor:String(a+1)}}}return {listMentionMembers:t=>n(t,r=>cr(e.client,r)),searchMentionMembers:t=>{let r=t.query.trim();return r===""?Promise.reject(new ne("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):n(t,o=>dr(e.client,{...o,query:r}))}}}function xi(e){let n=e.fetch??((t,r)=>globalThis.fetch(t,r));return {async postProtobuf({path:t,body:r,headers:o,signal:a}){let s=await e.getBaseUrl();if(!s)throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let d={"Content-Type":"application/octet-stream"},i=e.getClientType?.();i!==void 0&&(d["Client-type"]=String(i)),Object.assign(d,o);let p=await e.getAuth();p!==null&&p.token!==""&&p.userId!==""&&(d.Authorization=`${p.token}:${p.userId}`);let m=await n(`${s}${t}`,{method:"POST",body:r,headers:d,signal:a});if(!m.ok)throw new Error(`CmHttp.postProtobuf \u5931\u8D25\uFF1Apath=${t} status=${m.status} ${m.statusText}`);let S=await m.arrayBuffer();return new Uint8Array(S)}}}var te=class extends Error{constructor(n){super(n),this.name="DirectoryMappingError";}};function en(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new te(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function z(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Ne(e){let n=z(e);return n===""?void 0:n}function Ei(e){let n=en(e,"\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879"),t=n.user_info===void 0?n:en(n.user_info,"\u8054\u7CFB\u4EBA user_info"),r=z(t.user_id??n.friend_user_id??n.user_id);if(r==="")throw new te("\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A user_id");let o=z(n.remark_name)||z(n.contact_name)||z(t.nick_name)||z(t.username)||z(t.mid)||r,a=z(t.nick_name)||z(t.username)||z(t.mid)||r,s=Ne(t.head_img_url),d=Ne(t.username)??Ne(t.mid);return {id:r,kind:"individual",displayName:o,cardDisplayName:a,...s===void 0?{}:{avatarUrl:s},...d===void 0?{}:{username:d}}}function ki(e){let n=en(e,"\u7FA4\u7EC4\u76EE\u5F55\u9879"),t=z(n.group_id);if(t==="")throw new te("\u7FA4\u7EC4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A group_id");let r=Ne(n.head_img_url),o=z(n.name)||t;return {id:t,kind:"group",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function Ti(e){let n=en(e,"\u793E\u7FA4\u76EE\u5F55\u9879"),t=z(n.radio_id??n.id);if(t==="")throw new te("\u793E\u7FA4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A radio_id/id");let r=Ne(n.head_img_url),o=z(n.name)||t;return {id:t,kind:"channel",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function Ri(e,n){if(!Number.isSafeInteger(e)||e<1)throw new te("\u76EE\u5F55 page \u5FC5\u987B\u662F\u6B63\u6574\u6570");if(!Number.isSafeInteger(n)||n<1||n>100)throw new te("\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570")}function Di(e){return {async list(n){Ri(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():"",a=(await E(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(a))throw new te(`${n.kind} \u76EE\u5F55 data \u5FC5\u987B\u662F\u6570\u7EC4`);let s=n.kind==="individual"?Ei:n.kind==="group"?ki:Ti,d=new Map;for(let p of a){let m=s(p);d.set(m.id,m);}let i=a.length<n.pageSize;return {items:[...d.values()],...i?{}:{nextPage:n.page+1},exhausted:i}}}}var Ui="https://api.giphy.com/v1/gifs",Ie=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},H=class extends Error{constructor(n){super(n),this.name="ExpressionMappingError";}},pe=class extends Error{constructor(t,r){super(`Giphy \u8BF7\u6C42\u5931\u8D25\uFF1AHTTP ${t}${r?` ${r}`:""}`);this.status=t;this.name="GiphyHttpError";}status};function Q(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new H(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function Y(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function de(e,n){let t=Y(e);if(t==="")throw new H(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function Se(e){let n=Y(e);return n===""?void 0:n}function _e(e,n){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw new H(`${n} \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570`);return t}function Oi(e,n){let t=Number(e);if(!Number.isSafeInteger(t))throw new H(`${n} \u5FC5\u987B\u662F\u5B89\u5168\u6574\u6570`);return t}function lr(e,n){let t=Number(e);if(!Number.isFinite(t)||t<=0)throw new H(`${n} \u5FC5\u987B\u662F\u6709\u9650\u6B63\u6570`);return t}function fe(e,n){let t=de(e,n),r;try{r=new URL(t);}catch(o){throw new H(`${n} \u4E0D\u662F\u5408\u6CD5 URL\uFF1A${o instanceof Error?o.message:String(o)}`)}if(r.protocol!=="https:"&&r.protocol!=="http:")throw new H(`${n} \u53EA\u652F\u6301 HTTP(S)`);if(r.username!==""||r.password!=="")throw new H(`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return t}function kn(e,n){if(e==null)return [];if(Array.isArray(e))return e;let r=Q(e,n).list;if(r==null)return [];if(!Array.isArray(r))throw new H(`${n}.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null`);return r}function Ke(e){return e==="sticker"?1:e==="gif"?2:3}function pr(e){let n=Q(e,"\u8D34\u56FE\u5305"),t=Se(n.onlineTime??n.online_time),r=n.isPlatformIssued??n.is_platform_issued;return {id:de(n.packId??n.pack_id,"\u8D34\u56FE\u5305 packId"),nameZh:Y(n.nameZh??n.name_zh),nameEn:Y(n.nameEn??n.name_en),nameTh:Y(n.nameTh??n.name_th),nameTw:Y(n.nameTw??n.name_tw),nameVi:Y(n.nameVi??n.name_vi),publisher:Y(n.publisher),trayIconUrl:fe(n.trayIcon??n.tray_icon,"\u8D34\u56FE\u5305 trayIcon"),sortWeight:Oi(n.sortWeight??n.sort_weight??0,"\u8D34\u56FE\u5305 sortWeight"),isPlatformIssued:r===true||Number(r)===1,...t===void 0?{}:{onlineTime:t},stickerCount:_e(n.stickerCount??n.sticker_count??0,"\u8D34\u56FE\u5305 stickerCount")}}function Tn(e,n,t,r){let o=Q(e,t),a=Se(o.id),s={...a===void 0?{}:{recordId:a},url:fe(o.imgUrl??o.img_url,`${t} imgUrl`),width:_e(o.width??0,`${t} width`),height:_e(o.height??0,`${t} height`)};if(n==="sticker")return {kind:n,...s,packageId:de(r??o.packId??o.pack_id,`${t} packageId`),resourceId:de(o.fileName??o.file_name,`${t} resourceId`)};let d=Se(o.fileName??o.file_name);return {kind:n,...s,...d===void 0?{}:{resourceId:d}}}function Bi(e,n){if(n!=="emoji")return Tn(e,n,"\u6700\u8FD1\u4F7F\u7528\u9879");let t=Q(e,"\u6700\u8FD1 emoji"),r=Se(t.id);return {kind:"emoji",...r===void 0?{}:{recordId:r},token:de(t.imgUrl??t.img_url,"\u6700\u8FD1 emoji token"),resourceId:de(t.fileName??t.file_name,"\u6700\u8FD1 emoji resourceId")}}function fr(e,n,t){let r=Ke(n);return kn(e,t).filter(o=>{let a=Q(o,`${t} item`),s=a.favType??a.fav_type;if(s==null)return true;let d=Number(s);if(d!==1&&d!==2&&d!==3)throw new H(`${t} item.favType \u5FC5\u987B\u662F 1\u30012 \u6216 3`);return d===r})}function gr(e){return {fav_type:Ke(e.kind),pack_id:e.kind==="sticker"?e.packageId:"",img_url:fe(e.url,"\u8868\u60C5\u5199\u5165 imgUrl"),file_name:e.resourceId??"",width:e.width,height:e.height}}function Ni(e){return e.kind!=="emoji"?gr(e):{fav_type:Ke(e.kind),pack_id:"",img_url:e.token,file_name:e.resourceId,width:0,height:0}}function mr(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 H("\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 Ki(e){let n=Q(e,"Giphy item"),t=Q(n.images,"Giphy item.images"),r=Q(t.original,"Giphy item.images.original"),o=t.fixed_width,a=o==null?void 0:Q(o,"Giphy item.images.fixed_width"),s=fe(r.url,"Giphy original.url"),d=a===void 0?void 0:Se(a.url),i=a===void 0?void 0:Se(a.webp),p=i===void 0?d===void 0?s:fe(d,"Giphy fixed_width.url"):fe(i,"Giphy fixed_width.webp"),m=i!==void 0&&d!==void 0&&d!==i?fe(d,"Giphy fixed_width.url"):void 0;return {kind:"gif",resourceId:de(n.id,"Giphy item.id"),title:Y(n.title)||"GIF",url:s,previewUrl:p,...m===void 0?{}:{fallbackPreviewUrl:m},width:lr(r.width,"Giphy original.width"),height:lr(r.height,"Giphy original.height")}}function Gi(e,n){let t=Q(e,"Giphy response");if(!Array.isArray(t.data))throw new H("Giphy response.data \u5FC5\u987B\u662F\u6570\u7EC4");let r=Q(t.pagination,"Giphy response.pagination"),o=_e(r.offset??n,"Giphy pagination.offset");if(o!==n)throw new H("Giphy pagination.offset \u4E0E\u8BF7\u6C42 offset \u4E0D\u4E00\u81F4");let a=_e(r.count??t.data.length,"Giphy pagination.count"),s=_e(r.total_count??r.totalCount??0,"Giphy pagination.total_count"),d=new Map;for(let p of t.data){let m=Ki(p);d.set(m.resourceId,m);}let i=o+a;return {items:[...d.values()],offset:o,totalCount:s,...a>0&&i<s?{nextOffset:i}:{}}}function Li(e){async function n(r,o,a){if(e.coreClient===void 0)throw new Ie("core");let s=await E(e.coreClient,r,o,{method:"POST",responseMode:"strict"});if(!s.ok)throw new q(a,s.code,s.message);return s.data}async function t(r,o){let a=e.giphyApiKey?.trim()??"";if(a==="")throw new Ie("giphy");let s=e.fetcher??globalThis.fetch;if(typeof s!="function")throw new Ie("giphy");let d=new URLSearchParams({api_key:a,limit:String(o.limit),offset:String(o.offset),...o.query===void 0?{}:{q:o.query,lang:"en"}}),i;try{i=await s(`${Ui}/${r}?${d.toString()}`);}catch{throw new pe(0,"network failure")}let p;try{p=await i.json();}catch(S){throw i.ok?new H(`Giphy response \u4E0D\u662F JSON\uFF1A${S instanceof Error?S.message:String(S)}`):new pe(i.status,"")}if(!i.ok){let S=p!==null&&typeof p=="object"&&!Array.isArray(p)?p.meta:void 0,h=S!==null&&typeof S=="object"&&!Array.isArray(S)?Y(S.msg):"";throw new pe(i.status,h)}let m=p!==null&&typeof p=="object"&&!Array.isArray(p)?p.meta:void 0;if(m!==null&&typeof m=="object"&&!Array.isArray(m)){let S=m,h=Number(S.status);if(Number.isFinite(h)&&h!==200)throw new pe(h,Y(S.msg))}return Gi(p,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(pr)};if(o==null)return {version:"",items:[]};let a=Q(o,"\u8D34\u56FE\u5305\u5217\u8868 data"),s=a.list??a.packs;if(s==null)return {version:Y(a.version),items:[]};if(!Array.isArray(s))throw new H("\u8D34\u56FE\u5305\u5217\u8868 data.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null");return {version:Y(a.version),items:s.map(pr)}},async listStickerItems(r){let o=await n("/user/sticker/item_list",{pack_id:r},"\u8D34\u56FE\u660E\u7EC6\u5217\u8868");return kn(o,"\u8D34\u56FE\u660E\u7EC6\u5217\u8868 data").map(a=>Tn(a,"sticker","\u8D34\u56FE\u660E\u7EC6",r))},async listFavorites(r){let o=await n("/user/sticker/my_fav/list",{fav_type:Ke(r)},"\u8868\u60C5\u6536\u85CF\u5217\u8868");return fr(o,r,"\u8868\u60C5\u6536\u85CF\u5217\u8868 data").map(a=>Tn(a,r,"\u8868\u60C5\u6536\u85CF\u9879"))},async addFavorite(r){await n("/user/sticker/my_fav/add",gr(r),"\u6DFB\u52A0\u8868\u60C5\u6536\u85CF");},async deleteFavorites(r){await n("/user/sticker/my_fav/del",{ids:mr(r)},"\u5220\u9664\u8868\u60C5\u6536\u85CF");},async listRecent(r){let o=await n("/user/sticker/recent/list",{fav_type:Ke(r)},"\u6700\u8FD1\u4F7F\u7528\u5217\u8868");return fr(o,r,"\u6700\u8FD1\u4F7F\u7528\u5217\u8868 data").map(a=>Bi(a,r))},async reportRecent(r){await n("/user/sticker/recent/report",Ni(r),"\u4E0A\u62A5\u6700\u8FD1\u4F7F\u7528");},async deleteRecent(r){await n("/user/sticker/recent/del",{ids:mr(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 kn(o,"\u5FEB\u6377\u56DE\u5E94 Top data").map(a=>{let s=Q(a,"\u5FEB\u6377\u56DE\u5E94 Top \u9879");return de(s.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 hr(e,n){let t=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await E(e,"/user_group/info",{group_id:n.groupId},t)).data}function Hi(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 $i(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 yr=200,Fi=50;async function Cr(e,n){let t=String(n.updateVersion??0).trim()||"0",r=[],o;for(let a=1;a<=Fi;a++){let s={group_id:n.groupId,update_version:t,page:String(a),page_size:String(yr)},{data:d}=await E(e,"/user_group/user/list",s,{method:"GET",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(d===null)break;let i=Hi(d);if(i.length===0)break;for(let m of i){let S=String(m.user_id??m.userId??"").trim();if(S==="")continue;let h={userId:S,nickName:String(m.nick_name??m.nickName??"").trim()},u=$i(m.join_type??m.joinType);u!==void 0&&(h.joinType=u),r.push(h);}let p=d.update_version;if(typeof p=="number"&&(o=p),i.length<yr)break}return {members:r,updateVersion:o}}async function br(e,n){return (await E(e,"/user/info/friend",{friend_user_id:n.userId})).data}var Vi=1440*60*1e3;function Rn(e,n,t=Vi){let r=new Map,o=new Map,a=new Map;function s(m){let S=(a.get(m)??0)+1;a.set(m,S);let h=e(m).then(u=>(u!==null&&a.get(m)===S&&(r.set(m,u),n?.save(m,u).catch(()=>{})),u)).finally(()=>{o.get(m)===h&&o.delete(m);});return o.set(m,h),h}return {get:async(m,S)=>{if(S?.forceRefresh===true)return s(m);let h=r.get(m);if(h!==void 0)return h;let u=o.get(m);if(u!==void 0)return u;if(n!==void 0)try{let w=a.get(m)??0,A=await n.get(m);if(A!==null)return (a.get(m)??0)===w&&(r.set(m,A.value),Date.now()-A.updatedAt>t&&s(m)),A.value}catch{}return s(m)},peek:async m=>{let S=r.get(m);if(S!==void 0)return {value:S,stale:false};if(n===void 0)return null;try{let h=a.get(m)??0,u=await n.get(m);if(u!==null)return (a.get(m)??0)===h&&r.set(m,u.value),{value:u.value,stale:Date.now()-u.updatedAt>t}}catch{}return null},clear:()=>{for(let m of new Set([...r.keys(),...o.keys(),...a.keys()]))a.set(m,(a.get(m)??0)+1);r.clear(),o.clear();}}}function Ji(e){async function n(h){let u=await br(e.client,{userId:h})??await ke(e.client,{userId:h});return u===null?null:Q$1(u)}async function t(h){let u=await hr(e.client,{groupId:h,clientType:e.clientType});return u===null?null:R(u)}async function r(h){let{members:u}=await Cr(e.client,{groupId:h,clientType:e.clientType});return u.length===0?null:u}function o(h){let u={};for(let w of h)w.nickName!==""&&(u[w.userId]=w.nickName);return u}let{storage:a}=e,s=a===void 0?void 0:{get:async h=>{let u=await a.getUserProfile(h);return u===null?null:{value:u,updatedAt:u.updatedAt}},save:async(h,u)=>{await a.saveUserProfile({...u,updatedAt:Date.now()});}},d=a===void 0?void 0:{get:async h=>{let u=await a.getGroupMembers(h);return u===null?null:{value:u.members.map(w=>({userId:w.userId,nickName:w.groupNick,...w.joinType===void 0?{}:{joinType:w.joinType}})),updatedAt:u.updatedAt}},save:async(h,u)=>{let w=u.map(A=>({userId:A.userId,groupNick:A.nickName,...A.joinType===void 0?{}:{joinType:A.joinType}}));await a.saveGroupMembers({groupId:h,members:w,updatedAt:Date.now()});}},i=a===void 0?void 0:{get:async h=>{let u=await a.getGroupProfile(h);return u===null?null:{value:u,updatedAt:u.updatedAt}},save:async(h,u)=>{await a.saveGroupProfile({...u,updatedAt:Date.now()});}},p=Rn(n,s),m=Rn(t,i),S=Rn(r,d);return {getUserProfile:(h,u)=>p.get(h,u),getGroupProfile:(h,u)=>m.get(h,u),getGroupMemberNames:async(h,u)=>{let w=await S.get(h,u);return w===null?null:o(w)},listGroupMembers:(h,u)=>S.get(h,u),peekUserProfile:h=>p.peek(h),peekGroupMemberNames:async h=>{let u=await S.peek(h);return u===null?null:{value:o(u.value),stale:u.stale}},peekGroupMembers:h=>S.peek(h),peekGroupProfile:h=>m.peek(h),clearCache:()=>{p.clear(),m.clear(),S.clear();}}}function ji(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function X(e,n,t,r){let o=await E(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message)}function qi(e){return X(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 zi(e){return X(e.client,"/user_radio/user/setting",{radio_id:e.channelId,nick_name:e.nickname},"\u4FEE\u6539\u793E\u7FA4\u6635\u79F0")}function Wi(e){return X(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 Yi(e){let n=e.userIds.map(t=>({user_id:ji(t)}));return X(e.client,"/user_radio/invited_users",{radio_id:e.channelId,members:JSON.stringify(n)},"\u9080\u8BF7\u793E\u7FA4\u6210\u5458")}function Qi(e){return X(e.client,"/user_radio/kick_user",{radio_id:e.channelId,user_id:e.userId},"\u79FB\u9664\u793E\u7FA4\u6210\u5458")}function Xi(e){return X(e.client,"/user_radio/add_admin",{radio_id:e.channelId,user_id:e.userId},"\u8BBE\u4E3A\u793E\u7FA4\u7BA1\u7406\u5458")}function Zi(e){return X(e.client,"/user_radio/del_admin",{radio_id:e.channelId,user_id:e.userId},"\u53D6\u6D88\u793E\u7FA4\u7BA1\u7406\u5458")}function ea(e){return X(e.client,"/user_radio/transfer",{radio_id:e.channelId,user_id:e.userId},"\u8F6C\u8BA9\u793E\u7FA4")}function na(e){return X(e.client,"/user_radio/user/quit",{radio_id:e.channelId,...e.newOwnerId===void 0?{}:{user_id:e.newOwnerId}},"\u9000\u51FA\u793E\u7FA4")}function ta(e){return X(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 ra(e){return X(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 oa(e){return X(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 ia(e){return X(e.client,"/user_radio/closed",{radio_id:e.channelId},"\u89E3\u6563\u793E\u7FA4")}async function aa(e){sa(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);let t=e.containAnchor??true,r=y({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}),a=B(o,{selfId:e.userId,keepRaw:true,expectedChannelIds:[e.channelId],onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps);if(t){let d=a.messages.filter(i=>i.extensions?.historyCursor===n);if(d.length!==1)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587 anchor \u5FC5\u987B\u4E00\u4E00\u5BF9\u5E94\uFF08channelId=${e.channelId}, index=${n}, count=${d.length}\uFF09`)}let s=a.nextBaseIndexes[e.channelId];return {messages:a.messages,hasNewer:(a.messageCounts[e.channelId]??0)===20&&s!==void 0&&s!==n,...s===void 0?{}:{nextCursor:s}}}function sa(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 ca(e){let n=da(e.indexes),t=f.encode(f.create({sUserId:Dn(e.userId,"user"),lsIndex:n.map(a=>({sChnnId:Dn(a.channelId,"channel"),sIndex:a.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 da(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=>{Dn(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 Dn(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 ua(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 E(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 nn=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;}},tn=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;}},Un={HIDDEN_CONTACT:40112,OWN_FRIEND_LIMIT_REACHED:40121,TARGET_FRIEND_LIMIT_REACHED:40122},la=36875,pa=40113;function On(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function ie(e){let n=On(e);return n===""?void 0:n}function Pr(e){let n=Array.isArray(e)?e[0]:e;return n!==null&&typeof n=="object"?n:void 0}function fa(e){switch(e){case Un.HIDDEN_CONTACT:return "hidden-contact";case Un.OWN_FRIEND_LIMIT_REACHED:return "own-friend-limit";case Un.TARGET_FRIEND_LIMIT_REACHED:return "target-friend-limit";default:return "remote"}}async function ma(e,n){let t=n.query.trim();if(t==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1Aquery \u4E0D\u80FD\u4E3A\u7A7A");let r=await E(e,"/user/info/search",{username:t},{responseMode:"strict",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok)throw new nn(r.code,r.message);let o=Pr(r.data);if(o===void 0)return null;let a=On(o.user_id??o.userId);if(a==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1A\u54CD\u5E94\u7F3A\u5C11 user_id");let s=On(o.nick_name??o.nickname??o.name)||a,d=o.friend_status??o.friendStatus,i=d===void 0?void 0:Number(d);if(i!==void 0&&!Number.isInteger(i))throw new Error("\u641C\u7D22\u7528\u6237\uFF1Afriend_status \u975E\u6CD5");return {userId:a,nickname:s,...ie(o.username)===void 0?{}:{username:ie(o.username)},...ie(o.mid)===void 0?{}:{miCallId:ie(o.mid)},...ie(o.head_img_url??o.avatar)===void 0?{}:{avatarUrl:ie(o.head_img_url??o.avatar)},...ie(o.per_signature??o.signature)===void 0?{}:{signature:ie(o.per_signature??o.signature)},...i===void 0?{}:{friendStatus:i}}}async function ga(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 a=await E(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(!a.ok)throw new tn(fa(a.code),a.code,a.message);let s=Pr(a.data),d=Number(s?.status??0);if(d!==0&&d!==1&&d!==2)throw new Error(`\u53D1\u9001\u597D\u53CB\u7533\u8BF7\uFF1A\u672A\u77E5\u7ED3\u679C\u72B6\u6001 ${d}`);let i=ie(s?.message??s?.msg??a.message);return {status:d,...i===void 0?{}:{message:i}}}async function ha(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await E(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!==pa)throw new Error(`\u5220\u9664\u597D\u53CB\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}async function ya(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 a=await E(e,"/user/report_user/add",{user_id:t,to_user_id:r,problem:o,images:"1"},{responseMode:"strict",method:"POST"});if(!a.ok)throw new q("\u4E3E\u62A5\u8054\u7CFB\u4EBA",a.code,a.message)}function Ca(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function ba(e){let n=e.memberIds.map(t=>({user_id:Ca(t)}));return E(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 Pa(e){return E(e.client,"/user_group/create_face",{is_hidden:"0"},{method:"POST",responseMode:"strict"})}function wa(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function Ia(e){let n=e.memberIds.map(t=>({user_id:wa(t)}));return E(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 Ae(e){if(e.trim()==="")throw new Error("board pinned message groupId \u4E0D\u80FD\u4E3A\u7A7A")}function ve(e){if(e.trim()==="")throw new Error("channel board pinned message channelId \u4E0D\u80FD\u4E3A\u7A7A")}function wr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function _a(e){Ae(e.groupId);let n=await E(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(!wr(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(!wr(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 Ir(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Sa(e){ve(e.channelId);let n=await E(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(!Ir(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(!Ir(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 Aa(e,n){let r=(await E(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 va(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 Ma(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 a=typeof o.id=="string"||typeof o.id=="number"?String(o.id):"";a.length===0||o.is_enabled!==1||!va(o.img_url)||r.has(a)||(r.add(a),t.push({id:a,url:o.img_url,...typeof o.name=="string"&&o.name.length>0?{name:o.name}:{}}));}return t}function xa(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function Ge(e,n,t,r){let o=await E(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message)}function Ea(e){let n=e.userIds.map(t=>({user_id:xa(t)}));return Ge(e.client,"/user_group/invited",{group_id:e.groupId,members:JSON.stringify(n)},"\u9080\u8BF7\u7FA4\u6210\u5458")}function ka(e){return Ge(e.client,"/user_group/kick",{group_id:e.groupId,out_user_id:e.userId},"\u79FB\u9664\u7FA4\u6210\u5458")}function Ta(e){return Ge(e.client,"/user_group/transfer",{group_id:e.groupId,new_user_id:e.userId},"\u8F6C\u8BA9\u7FA4\u7EC4")}function Ra(e){return Ge(e.client,"/user_group/user/quit",{group_id:e.groupId,...e.newOwnerId===void 0?{}:{new_user_id:e.newOwnerId}},"\u9000\u51FA\u7FA4\u7EC4")}function Da(e){return Ge(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 Ua=new Set([200,32768]);async function Oa(e){let n=K$1({userId:e.userId,groupId:e.groupId}),t=await e.http.postProtobuf({path:"/offline/v1/group/read_all",body:n}),{code:r}=L$1(t);if(!Ua.has(r))throw new Error(`\u7FA4 read_all \u4E1A\u52A1\u5931\u8D25\uFF1Acode=${r}\uFF08groupId=${e.groupId}\uFF09`)}var Le=class extends Error{constructor(n){super(`${n}\u54CD\u5E94\u5305\u542B\u65E0\u6CD5\u8BC6\u522B\u7684 is_waitting`),this.name="MembershipJoinMappingError";}};function Ba(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 Le(n)}async function _r(e,n,t,r){let o=await E(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message);if(o.data===null||o.data===void 0)throw new Le(r);return Ba(o.data.is_waitting,r)}async function Sr(e,n,t,r){let o=await E(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message);return Object.freeze({outcome:"joined"})}function Na(e){return _r(e.client,"/user_group/apply",{group_id:e.groupId,qrcode_type:2,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u666E\u901A\u7FA4")}function Ka(e){return Sr(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 Ga(e){return _r(e.client,"/user_radio/add/apply",{radio_id:e.channelId,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u793E\u7FA4")}function La(e){return Sr(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 Ha(e){if(Ae(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 E(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 $a(e){if(ve(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 E(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}}var Fa=20,Ar=10,Bn=30,Va=100;async function Ja(e){let n=[];for(let t of Mr(e.channels,Fa)){let r=x({userId:e.userId,channels:t}),o=await e.http.postProtobuf({path:"/channel/v1/sessions",body:r}),a={selfId:e.userId,keepRaw:true,expectedChannelIds:t.map(d=>d.channelId),diagnostic:{endpoint:"sessions",surface:"session-last",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:"absent"}},s=A(o,a);await vr(e,s.sessions.filter(d=>d.channelState==="active"||d.raw?.status===0).map(d=>d.channelId)),n.push(...A(o,{...a,onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps).sessions);}return n}async function ja(e){let n=Wa(e.channelBatchSize),t=e.messageCount??Bn,r=Ya(e.maxPagesPerBatch),o=new Map;for(let a of Mr(e.pulls,n)){let s=a.map(p=>({...p})),d=new Map(s.map(p=>[p.channelId,new Set([p.baseIndex])])),i=0;for(;s.length>0;){if(i>=r){let u=s.map(({channelId:w,baseIndex:A})=>`${w}@${A}`).join(",");throw new Error(`channel offline \u5206\u9875\u8D85\u8FC7 maxPagesPerBatch=${r}\uFF08active=${u}\uFF09`)}i+=1;let p=y({userId:e.userId,clientType:e.clientType,pulls:s.map(u=>({channelId:u.channelId,baseIndex:u.baseIndex,direction:0,count:t,contain:0}))}),m=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:p});await vr(e,s.map(u=>u.channelId));let S=B(m,{selfId:e.userId,keepRaw:true,expectedChannelIds:s.map(u=>u.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 u of S.messages)o.has(u.id)||o.set(u.id,u);let h=[];for(let u of s){let w=S.nextBaseIndexes[u.channelId],A=S.messageCounts[u.channelId]??0;if(w===void 0)continue;let T=d.get(u.channelId);if(T.has(w))throw new Error(`channel offline cursor \u5FAA\u73AF\uFF08channelId=${u.channelId}, baseIndex=${w}\uFF09`);A<t||(T.add(w),h.push({channelId:u.channelId,baseIndex:w}));}s=h;}}return [...o.values()].sort(k)}async function qa(e$1){let n=e$1.count??Bn;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=y({userId:e$1.userId,clientType:e$1.clientType,pulls:[{channelId:e$1.channelId,baseIndex:"",direction:1,count:n,contain:0}]}),r=await e$1.http.postProtobuf({path:"/channel/v1/offlineMessages",body:t}),o=B(r,{selfId:e$1.userId,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},e$1.decryptDeps),a=e.decode(r),s=o.batchSize===n,d=a.lsMessage[0]?.sIndex;if(s&&(typeof d!="string"||d.trim()===""))throw new Error(`channel latest: \u6EE1\u9875\u7F3A\u5C11\u5411\u65E7 cursor\uFF08channelId=${e$1.channelId}\uFF09`);return {messages:o.messages,hasOlder:s,...s?{nextCursor:d}:{}}}async function za(e){let n=e.count??Bn;e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let t=z$1({userId:e.userId,clientType:e.clientType,channelId:e.channelId,baseIndex:e.baseIndex,count:n,contain:e.contain??0}),r=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:t});return C(r,{selfId:e.userId,channelId:e.channelId,requestedBaseIndex:e.baseIndex,requestedCount:n,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 vr(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 Wa(e){if(e===void 0)return Ar;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: channelBatchSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return Math.min(e,Ar)}function Ya(e){if(e===void 0)return Va;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: maxPagesPerBatch \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return e}function Mr(e,n){let t=[];for(let r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t}async function xr(e,n){let t=O$1({userId:n.userId,clientType:n.clientType,limit:n.limit,deliveredMsgInfos:n.deliveredMsgInfos}),r=await n.http.postProtobuf({path:e,body:t});return P(r,{selfId:n.userId,keepRaw:true,onReaction:n.onReaction},n.decryptDeps)}function Er(e){return xr("/offline/v1/chat",e)}function kr(e){return xr("/offline/v1/owner_chat",e)}function Qa(e){return Er(e).then(n=>n.messages)}function Xa(e){return kr(e).then(n=>n.messages)}async function Za(e){let n=M({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 N$1(t)}function Tr(e){return [...new Set(e.filter(n=>n!==void 0&&n!==""))]}async function es(e){let n=E$1({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=G(t,{selfId:e.userId}),o=Tr(r.messages.map(a=>a.conversationId));o.length>0&&await e.prepareKeys(o);}return G(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function ns(e){let n=F$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=H$1(t,{selfId:e.userId}),o=Tr([...r.unreads.map(a=>a.groupId),...r.messages.map(a=>a.conversationId)]);o.length>0&&await e.prepareKeys(o);}return H$1(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function ts(e){e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=I({userId:e.userId,groupId:e.groupId,baseTime:e.baseTime,direct:e.direct,limit:e.limit,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/group/history_msg",body:n});return J$1(t,{selfId:e.userId,keepRaw:true,source:"history",onReaction:e.onReaction},e.decryptDeps)}var rs={direct:"/friend/undisturb/set",group:"/user_group/user/edit",channel:"/user_radio/user/setting"},os={direct:"friend_user_id",group:"group_id",channel:"radio_id"};async function is(e){let n=rs[e.conversationType],t=os[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 E(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 as(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 E(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 ss(e){let{code:n}=await E(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 cs(e){Ae(e.groupId);let n=await E(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 ds(e){ve(e.channelId);let n=await E(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 us(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 E(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`)}function ls(){let e=typeof navigator>"u"?void 0:navigator,n=e?.hardwareConcurrency??4;return (e?.deviceMemory??4)<=2?2:Math.min(4,Math.max(2,Math.floor(n/4)))}function ps(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 a=false;o.resolve(()=>{a||(a=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((a,s)=>{let d={resolve:a,reject:s,...o===void 0?{}:{signal:o}};o!==void 0&&(d.onAbort=()=>{let i=t.indexOf(d);i>=0&&t.splice(i,1),s(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},o.addEventListener("abort",d.onAbort,{once:true})),t.push(d),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 rn(e){if(e?.aborted)throw new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError")}function Rr(e,n,t){let r=Math.min(1,t/Math.max(e,n));return {width:Math.max(1,Math.round(e*r)),height:Math.max(1,Math.round(n*r))}}async function Dr(e,n,t,r,o){rn(o);let a=document.createElement("canvas");a.width=n,a.height=t;let s=a.getContext("2d");if(s===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u65E0\u6CD5\u521B\u5EFA Canvas 2D \u4E0A\u4E0B\u6587");s.drawImage(e,0,0,n,t);let d=await new Promise(i=>a.toBlob(i,"image/jpeg",r));if(rn(o),d===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1ACanvas \u7F16\u7801\u8FD4\u56DE\u7A7A\u7ED3\u679C");return await d.arrayBuffer()}function Nn(e,n){if(!Number.isInteger(e)||e<=0)throw new RangeError(`${n}\u5FC5\u987B\u662F\u6B63\u6574\u6570`)}function Ur(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 Kn(e,n,t,r,o){let a=r.kind==="video",s=a?"\u89C6\u9891\u5C01\u9762":"\u56FE\u7247\u7F29\u7565\u56FE",d=r.maxSize??320,i=r.targetBytes??(a?10240:12288),p=r.maxBytes??(a?16384:20480),m=r.quality??(a?.84:.9),S=r.minQuality??(a?.68:.72);if(Nn(d,`${s}\u6700\u5927\u8FB9\u957F`),Nn(i,`${s}\u76EE\u6807\u5B57\u8282\u6570`),Nn(p,`${s}\u6700\u5927\u5B57\u8282\u6570`),Ur(m,`${s}\u521D\u59CB\u8D28\u91CF`),Ur(S,`${s}\u6700\u4F4E\u8D28\u91CF`),i>p)throw new RangeError(`${s}\u76EE\u6807\u5B57\u8282\u6570\u4E0D\u80FD\u8D85\u8FC7\u6700\u5927\u5B57\u8282\u6570`);if(S>m)throw new RangeError(`${s}\u6700\u4F4E\u8D28\u91CF\u4E0D\u80FD\u9AD8\u4E8E\u521D\u59CB\u8D28\u91CF`);let h=Rr(n,t,d),u=Math.min(200,Math.max(h.width,h.height)),w,A=[...new Set([m,Math.max(S,m-.12),S])];for(let c of A){let g=await Dr(e,h.width,h.height,c,o);if((w===void 0||g.byteLength<w.byteLength)&&(w=g),g.byteLength<=i)return g}let T=Math.max(h.width,h.height);if(T>u&&w!==void 0){let c=Math.sqrt(i/w.byteLength),g=Math.max(u,Math.floor(T*Math.min(.9,Math.max(.5,c))));h=Rr(n,t,g);for(let P of [m,S]){let f=await Dr(e,h.width,h.height,P,o);if(f.byteLength<w.byteLength&&(w=f),f.byteLength<=i)return f}}if(w!==void 0&&w.byteLength<=p)return w;throw new Error(`${s}\u751F\u6210\u5931\u8D25\uFF1A\u7F16\u7801\u7ED3\u679C\u8D85\u8FC7 ${p} \u5B57\u8282\u786C\u4E0A\u9650`)}function Or(e,n,t){return new Promise((r,o)=>{let a,s,d,i,p=()=>{a!==void 0&&clearTimeout(a),e.removeEventListener(n,s),e.removeEventListener("error",d),t?.removeEventListener("abort",i);};s=()=>{p(),r();},d=()=>{p(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u524D\u89E3\u7801\u9519\u8BEF`));},i=()=>{p(),o(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},a=setTimeout(()=>{p(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u8D85\u65F6`));},15e3),e.addEventListener(n,s,{once:true}),e.addEventListener("error",d,{once:true}),t?.addEventListener("abort",i,{once:true});})}async function fs(e,n){rn(n);let t;try{t=await createImageBitmap(e.file);}catch(a){if(n?.aborted)throw a}if(t!==void 0)try{if(rn(n),e.includePoster===!1)return {width:t.width,height:t.height};let a=e.maxBytes??20480;return e.file.type==="image/jpeg"&&e.file.size<=a&&Math.max(t.width,t.height)<=(e.maxSize??320)?{width:t.width,height:t.height,posterData:await e.file.arrayBuffer()}:{width:t.width,height:t.height,posterData:await Kn(t,t.width,t.height,e,n)}}finally{t.close();}let r=URL.createObjectURL(e.file),o=new Image;try{if(await new Promise((s,d)=>{let i,p,m=()=>{i!==void 0&&clearTimeout(i),o.onload=null,o.onerror=null,n?.removeEventListener("abort",p);};p=()=>{m(),d(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},o.onload=()=>{m(),s();},o.onerror=()=>{m(),d(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u9519\u8BEF"));},i=setTimeout(()=>{m(),d(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u8D85\u65F6"));},15e3),n?.addEventListener("abort",p,{once:!0}),o.src=r;}),e.includePoster===!1)return {width:o.naturalWidth,height:o.naturalHeight};let a=e.maxBytes??20480;return e.file.type==="image/jpeg"&&e.file.size<=a&&Math.max(o.naturalWidth,o.naturalHeight)<=(e.maxSize??320)?{width:o.naturalWidth,height:o.naturalHeight,posterData:await e.file.arrayBuffer()}:{width:o.naturalWidth,height:o.naturalHeight,posterData:await Kn(o,o.naturalWidth,o.naturalHeight,e,n)}}finally{o.removeAttribute("src"),URL.revokeObjectURL(r);}}async function ms(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 Or(r,"loadeddata",n);let o=r.videoWidth,a=r.videoHeight;if(o<=0||a<=0)throw new Error("\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u89C6\u9891\u5C3A\u5BF8\u65E0\u6548");let s=Number.isFinite(r.duration)&&r.duration>0?r.duration:void 0,d=e.atTime===void 0?s===void 0?0:Math.min(1,s/2):Math.max(0,Math.min(e.atTime,s??e.atTime));d>0&&(r.currentTime=d,await Or(r,"seeked",n));let i=s===void 0?void 0:s,p;try{p=await Kn(r,o,a,e,n);}catch(m){if(n?.aborted||m instanceof RangeError)throw m}return {width:o,height:a,...i===void 0?{}:{duration:i},...p===void 0?{}:{posterData:p}}}finally{r.pause(),r.removeAttribute("src"),r.load(),URL.revokeObjectURL(t);}}function Gn(e={}){let n=e.maxConcurrency??ls();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=ps(n),r=false;return {async prepare(o,a){if(r)throw new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E");let s=await t.acquire(a);try{return o.kind==="video"?await ms(o,a):await fs(o,a)}finally{s();}},dispose(){r||(r=true,t.dispose());}}}var Br="image/jpeg";function Ln(e,n){return new Blob([e],n===void 0||n===""?{}:{type:n})}function gs(){let e=Gn(),n=0;return {async imageDimensions(t,r){let o=await e.prepare({operationId:`core-image-dimensions-${++n}`,generation:0,kind:"image",file:Ln(t,r),includePoster:false});return {width:o.width,height:o.height}},async imageThumbnail(t,r){let o=await e.prepare({operationId:`core-image-thumbnail-${++n}`,generation:0,kind:"image",file:Ln(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}});if(o.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(o.posterData),width:o.width,height:o.height,mimeType:Br}},async videoPoster(t,r){let o=await e.prepare({operationId:`core-video-poster-${++n}`,generation:0,kind:"video",file:Ln(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}});if(o.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(o.posterData),width:o.width,height:o.height,duration:Math.round(o.duration??0),mimeType:Br}}}}var He;function hs(){if(He!==void 0)return He;let n=Promise.all([import('@aws-sdk/client-s3'),import('@aws-sdk/credential-provider-cognito-identity'),import('@aws-sdk/lib-storage'),import('@aws-sdk/xhr-http-handler')]).then(([t,r,o,a])=>({S3Client:t.S3Client,fromCognitoIdentityPool:r.fromCognitoIdentityPool,Upload:o.Upload,XhrHttpHandler:a.XhrHttpHandler})).catch(t=>{throw He===n&&(He=void 0),t});return He=n,n}function ys(e){if(e===void 0)return "";let n=e.lastIndexOf(".");return n>=0?e.slice(n):""}function Cs(e){return globalThis.crypto.randomUUID()+ys(e)}function bs(e){let n=e.identityPoolId.split(":")[0]??"",t;function r(i){return t??=i.fromCognitoIdentityPool({identityPoolId:e.identityPoolId,clientConfig:{region:n}}),new i.S3Client({region:n,credentials:t,useAccelerateEndpoint:e.useAccelerateEndpoint??true,requestHandler:new i.XhrHttpHandler({})})}async function o(i,p,m){if(p===void 0||p.bucket===""||p.host==="")throw new Error(`media upload: kind=${m} \u7684 bucket/host \u672A\u914D\u7F6E\uFF08\u5BBF\u4E3B IM \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E\u7F3A\u8BE5\u8D44\u6E90\u7C7B\u578B\uFF09`);let S=await hs(),h=Cs(i.filename),u=r(S),w=new S.Upload({client:u,params:{Bucket:p.bucket,Key:h,Body:i.data,ACL:"public-read",...i.mimeType!==void 0&&i.mimeType!==""?{ContentType:i.mimeType}:{}},partSize:Math.max(5242880,i.data.byteLength)});i.onProgress!==void 0&&w.on("httpUploadProgress",T=>{let c=T.total??i.data.byteLength,g=T.loaded??0,P=c>0?Math.min(99,Math.round(g/c*100)):0;i.onProgress?.({percent:P,bytesTransferred:g,bytesTotal:c,phase:c>0&&g>=c?"finalizing":"transferring"});});let A=()=>{w.abort();};i.signal?.aborted?await w.abort():i.signal?.addEventListener("abort",A,{once:true});try{await w.done();}finally{i.signal?.removeEventListener("abort",A),u.destroy();}return i.onProgress?.({percent:100,bytesTransferred:i.data.byteLength,bytesTotal:i.data.byteLength,phase:"finalizing"}),{url:`${p.host}/${h}`}}function a(i){return o(i,e.buckets[i.kind],i.kind)}function s(i){return o(i,e.avatar,"avatar")}async function d(i){if(i.onProgress!==void 0&&typeof XMLHttpRequest<"u")return Ps(i);let p=await fetch(i.url,i.signal!==void 0?{signal:i.signal}:{});if(!p.ok)throw new Error(`media download \u5931\u8D25\uFF1AHTTP ${p.status} ${i.url}`);return i.onProgress===void 0||p.body===null?new Uint8Array(await p.arrayBuffer()):ws(p,i.onProgress,i.expectedBytes)}return {upload:a,uploadAvatar:s,download:d}}function Ps(e){return new Promise((n,t)=>{let r=new XMLHttpRequest,o=false,a=()=>{},s=()=>{e.signal?.removeEventListener("abort",a),r.onprogress=null,r.onload=null,r.onerror=null,r.onabort=null;},d=i=>{o||(o=true,s(),i());};if(a=()=>{r.abort(),d(()=>t(new DOMException("media download canceled","AbortError")));},r.open("GET",e.url,true),r.responseType="arraybuffer",r.onprogress=i=>{let p=e.expectedBytes!==void 0&&Number.isFinite(e.expectedBytes)&&e.expectedBytes>0?Math.floor(e.expectedBytes):0,m=i.lengthComputable&&i.total>0?i.total:p,S=m>0?Math.min(99,Math.round(i.loaded/m*100)):0;e.onProgress?.({percent:S,bytesTransferred:i.loaded,bytesTotal:m});},r.onload=()=>{if(r.status<200||r.status>=300){d(()=>t(new Error(`media download \u5931\u8D25\uFF1AHTTP ${r.status} ${e.url}`)));return}let i=r.response;if(!(i instanceof ArrayBuffer)){d(()=>t(new Error("media download \u5931\u8D25\uFF1AXHR \u672A\u8FD4\u56DE ArrayBuffer")));return}d(()=>n(new Uint8Array(i)));},r.onerror=()=>d(()=>t(new Error(`media download \u5931\u8D25\uFF1Anetwork ${e.url}`))),r.onabort=()=>d(()=>t(new DOMException("media download canceled","AbortError"))),e.signal?.aborted){a();return}e.signal?.addEventListener("abort",a,{once:true}),r.send();})}async function ws(e,n,t){let r=Number(e.headers.get("content-length")??0),o=t!==void 0&&Number.isFinite(t)&&t>0?Math.floor(t):0,a=r>0?r:o,s=e.body.getReader(),d=[],i=0;for(;;){let{done:S,value:h}=await s.read();if(S)break;d.push(h),i+=h.byteLength;let u=a>0?Math.min(99,Math.round(i/a*100)):0;n({percent:u,bytesTransferred:i,bytesTotal:a});}let p=new Uint8Array(i),m=0;for(let S of d)p.set(S,m),m+=S.byteLength;return p}function Is(){let e=globalThis;return typeof e.addEventListener=="function"&&typeof e.removeEventListener=="function"?e:void 0}function _s(e,n={}){let t=n.target!==void 0?n.target:Is(),r=n.visibilitySource!==void 0?n.visibilitySource:globalThis.document,o=n.pageLifecycleSource!==void 0?n.pageLifecycleSource:t,a=false,s=()=>e.onOnline?.(),d=()=>e.onOffline?.(),i=()=>{r!=null&&r.visibilityState==="visible"&&e.onVisible?.();},p=()=>e.onPageHide?.(),m=()=>e.onPageShow?.();return {start(){a||(a=true,t!=null&&(t.addEventListener("online",s),t.addEventListener("offline",d)),r?.addEventListener("visibilitychange",i),o!=null&&(o.addEventListener("pagehide",p),o.addEventListener("pageshow",m)));},stop(){a&&(a=false,t!=null&&(t.removeEventListener("online",s),t.removeEventListener("offline",d)),r?.removeEventListener("visibilitychange",i),o!=null&&(o.removeEventListener("pagehide",p),o.removeEventListener("pageshow",m)));},get running(){return a}}}var vs=12,Ms=2*1024*1024*1024,Nr=1024*1024*1024,xs=512*1024*1024,Es=256*1024*1024,ks=64*1024,Hn="channel:list-version",Kr="schema:conversation-key-v1",$n="default",ge="\uFFFF";function Gr(e){if(!(e===void 0||!/^\d+$/.test(e)))return e.replace(/^0+(?=\d)/,"")}function Ts(e,n){let t=Gr(e),r=Gr(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 $e(e){return `conversation:${qa$1(e)}`}function Fn(e,n){return `${qa$1(e)}\0${n}`}function Rs(e){let n=qa$1(e.conversation);return {...e,key:Fn(e.conversation,e.messageId),conversationKey:n,conversation:{...e.conversation},sContent:e.sContent.slice()}}function Ds(e){let{key:n,conversationKey:t,...r}=e;return {...r,conversation:{...r.conversation},sContent:r.sContent.slice()}}function $r(e){return {...e,conversationKey:qa$1(na$1(e))}}function he(e){let{conversationKey:n,...t}=e;return t}function on(e){return {...e,id:qa$1(oa$1(e)),conversationId:e.id}}function Vn(e){if(e.conversationId===void 0)return e;let{conversationId:n,...t}=e;return {...t,id:n}}function Jn(e){return e.conversationType===void 0?e:{...e,conversationId:qa$1(e),storageConversationId:e.conversationId}}function Lr(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function Fr(e){return {...e,conversationId:qa$1(pa$1(e)),storageConversationId:e.conversationId}}function jn(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function Us(e){return {...e,conversationKey:qa$1(e.ref)}}function Os(e){let{conversationKey:n,...t}=e;return t}function Bs(e){return typeof e=="string"?e:e.conversationId}function Fe(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 Ns(e){let n=e.transaction(["messages","sessions","readStates","pinnedMessages","meta"],"readwrite");try{let t=n.objectStore("meta");if((await t.get(Kr))?.value===!0){await n.done;return}let r=n.objectStore("messages");for(let i of await r.getAll())i.conversationKey===void 0&&await r.put($r(i));let o=n.objectStore("sessions"),a=new Map;for(let i of await o.getAll()){if(i.conversationId!==void 0)continue;let p=Vn(i);a.set(p.id,p.type),await o.put(on(p)),await o.delete(i.id);}let s=n.objectStore("readStates");for(let i of await s.getAll()){if(i.storageConversationId!==void 0)continue;let p=i.conversationType??a.get(i.conversationId);if(p===void 0)continue;let m={...i,conversationType:p};await s.put(Jn(m)),await s.delete(i.conversationId);}let d=n.objectStore("pinnedMessages");for(let i of await d.getAll()){if(i.storageConversationId!==void 0)continue;let p=jn(i);await d.put(Fr(p)),await d.delete(i.conversationId);}await t.put({key:Kr,value:!0}),await n.done;}catch(t){try{n.abort();}catch{}try{await n.done;}catch{}throw t}}function Hr(e){return `${e.kind}:${encodeURIComponent(e.messageId)}:${e.resourceVersion}`}async function Ks(e,n){let t=n.namespaceFactory.forAccount(e).name("durable","storage","indexed-db");typeof indexedDB>"u"||await deleteDB(t);}function Gs(e){let{namespaceFactory:n}=e,t=null,r=null,o=0,a=Promise.resolve(),s=0,d=e.mediaAssetCache?.maxPendingWriteBytes??Es;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 i(){if(t===null)throw new Error("ImStoragePort \u672A open\uFF1A\u8BF7\u5148 open({ namespace }) \u518D\u8BFB\u5199");return t}async function p(c){if(typeof c!="string")return;let g=IDBKeyRange.bound([c,""],[c,ge]),P=(await i().transaction("messages").store.index("by_conv_sort").getAll(g)).map(he);Fe(c,P);}function m(c){let g=a.then(c,c);return a=g.then(()=>{},()=>{}),g}function S$1(c,g){if(c!==o||g===null||g!==r)throw new Error("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u8D26\u53F7\u4EE3\u9645\u5DF2\u5931\u6548")}function h(){return Math.max(0,Math.floor(e.mediaAssetCache?.now?.()??Date.now()))}async function u(c){let g=e.mediaAssetCache?.estimateStorage??(async()=>typeof navigator>"u"||navigator.storage?.estimate===void 0?{}:await navigator.storage.estimate());try{let{quota:P,usage:f}=await g();if(P===void 0||!Number.isFinite(P)||P<=0)return Nr;let y=c.reduce((b,l)=>b+l.byteLength,0),v=Math.max(0,(f??0)-y),k=Math.max(xs,Math.floor(P*.2));return Math.max(0,Math.min(Ms,Math.floor(P-v-k)))}catch{return Nr}}async function w(c,g,P){if(c.length===0)return;S$1(g,P);let f=i().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all(c.flatMap(y=>[f.objectStore("mediaAssets").delete(y),f.objectStore("mediaAssetMeta").delete(y)])),await f.done;}async function A(c,g,P,f){S$1(c,g);let y=i(),v=e.mediaAssetCache?.strategies;if(v===void 0)return;let k=f??await y.getAll("mediaAssetMeta");S$1(c,g);let b=new Set;for(let _ of v.list()){let M=k.filter(R=>R.kind===_.kind).sort((R,U)=>R.lastAccessedAt-U.lastAccessedAt),x=M.reduce((R,U)=>R+U.byteLength,0),D=M.length;for(let R of M){if(x<=_.softMaxBytes&&D<=_.maxEntries)break;b.add(R.key),x-=R.byteLength,D-=1;}}let l=k.filter(_=>!b.has(_.key)).sort((_,M)=>_.lastAccessedAt-M.lastAccessedAt),I=Math.max(0,Math.min(await u(k),P??Number.POSITIVE_INFINITY)),C=l.reduce((_,M)=>_+M.byteLength,0);for(let _ of l){if(C<=I)break;b.add(_.key),C-=_.byteLength;}await w([...b],c,g);}async function T(c,g,P){S$1(g,P);let f=e.mediaAssetCache?.strategies.resolve(c.kind);if(f===void 0)return "skipped";let y=c.bytes,v=await i().getAll("mediaAssetMeta"),k=await u(v);if(S$1(g,P),y.byteLength===0||y.byteLength>f.maxEntryBytes||k<=0||y.byteLength>Math.floor(k/2))return "skipped";let b=Hr(c),l=h(),I=v.find(D=>D.key===b),C={key:b,kind:c.kind,messageId:c.messageId,resourceVersion:c.resourceVersion,byteLength:y.byteLength,...c.mimeType===void 0?{}:{mimeType:c.mimeType},createdAt:I?.createdAt??l,lastAccessedAt:l},_=async()=>{S$1(g,P);let D=i().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([D.objectStore("mediaAssets").put({key:b,bytes:y}),D.objectStore("mediaAssetMeta").put(C)]),await D.done;},M=false;try{await _();}catch(D){if(!(D instanceof DOMException)||D.name!=="QuotaExceededError")throw D;M=true,await A(g,P,Math.max(0,k-y.byteLength)),await _();}let x=I===void 0?[...v,C]:v.map(D=>D.key===b?C:D);return await A(g,P,void 0,M?void 0:x),S$1(g,P),await i().get("mediaAssets",b)===void 0?"skipped":"stored"}return {async open({namespace:c}){if(t!==null&&r===c)return;t!==null&&(t.close(),t=null),r=c;let g=++o,P=n.forAccount(c).name("durable","storage","indexed-db"),f=await openDB(P,vs,{upgrade(y,v,k,b){if(y.objectStoreNames.contains("messages"))b.objectStore("messages").indexNames.contains("by_conversation_key_sort")||b.objectStore("messages").createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);else {let l=y.createObjectStore("messages",{keyPath:"id"});l.createIndex("by_conv_sort",["conversationId","sortKey"]),l.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 l=y.createObjectStore("mediaAssetMeta",{keyPath:"key"});l.createIndex("by_kind_access",["kind","lastAccessedAt"]),l.createIndex("by_access","lastAccessedAt");}y.objectStoreNames.contains("decryptRecoveries")||y.createObjectStore("decryptRecoveries",{keyPath:"key"}).createIndex("by_conversation","conversationKey");}});if(g!==o){f.close();return}try{await Ns(f);}catch(y){throw f.close(),y}if(g!==o){f.close();return}t=f;},async close(){o+=1,r=null,t!==null&&(t.close(),t=null);},async clearRebuildableCaches(){let c=o,g=r;await m(async()=>{S$1(c,g);let f=i().transaction(["userProfiles","groupMembers","groupProfiles","channelProfiles","channelMembers","channelMemberSnapshots","channelMentionCandidateSnapshots","mediaAssets","mediaAssetMeta","meta"],"readwrite");await Promise.all([f.objectStore("userProfiles").clear(),f.objectStore("groupMembers").clear(),f.objectStore("groupProfiles").clear(),f.objectStore("channelProfiles").clear(),f.objectStore("channelMembers").clear(),f.objectStore("channelMemberSnapshots").clear(),f.objectStore("channelMentionCandidateSnapshots").clear(),f.objectStore("mediaAssets").clear(),f.objectStore("mediaAssetMeta").clear(),f.objectStore("meta").delete(Hn),f.done]);});},async get(c){let g=o,P=r;return await m(async()=>{if(S$1(g,P),e.mediaAssetCache?.strategies.resolve(c.kind)===void 0)return null;let f=Hr(c),y=i(),[v,k]=await Promise.all([y.get("mediaAssets",f),y.get("mediaAssetMeta",f)]);return S$1(g,P),v===void 0||k===void 0?(await w([f],g,P),null):(await y.put("mediaAssetMeta",{...k,lastAccessedAt:h()}),{kind:k.kind,messageId:k.messageId,resourceVersion:k.resourceVersion,bytes:v.bytes,...k.mimeType===void 0?{}:{mimeType:k.mimeType}})})},async put(c){let g=o,P=r;S$1(g,P);let f=c.bytes.byteLength;if(f>d||s+f>d)return "skipped";s+=f;try{return await m(()=>T(c,g,P))}finally{s=Math.max(0,s-f);}},async clear(){let c=o,g=r;await m(async()=>{S$1(c,g);let P=i().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([P.objectStore("mediaAssets").clear(),P.objectStore("mediaAssetMeta").clear(),P.done]);});},async getMessage(c,g){let P=await i().get("messages",g);if(P===void 0)return null;let f=he(P);return qa$1(na$1(f))===qa$1(c)?f:null},async getMessages(c,g){let P=typeof c=="string"?"by_conv_sort":"by_conversation_key_sort",f=typeof c=="string"?c:qa$1(c);if(await p(c),g.beforeSortKey===void 0&&g.afterSortKey!==void 0){let b=IDBKeyRange.bound([f,g.afterSortKey],[f,ge]),l=[],I=await i().transaction("messages").store.index(P).openCursor(b,"next");for(;I!==null&&l.length<g.limit;)l.push(I.value),I=await I.continue();return l.map(he)}let y=g.beforeSortKey===void 0?IDBKeyRange.bound([f,""],[f,ge]):IDBKeyRange.bound([f,""],[f,g.beforeSortKey],false,true),v=[],k=await i().transaction("messages").store.index(P).openCursor(y,"prev");for(;k!==null&&v.length<g.limit;)v.push(k.value),k=await k.continue();return v.reverse().map(he)},async saveMessages(c){if(c.length===0)return;let g=i().transaction("messages","readwrite");await Promise.all([...c.map(P=>g.store.put($r(P))),g.done]);},async searchMessages(c,g){let P=qa$1(c),f=g.keyword?.trim()??"",y=g.contentTypes;if(f===""&&(y===void 0||y.length===0))return {items:[],exhausted:true};let v=f===""?void 0:await U(f),k=g.beforeSortKey===void 0?IDBKeyRange.bound([P,""],[P,ge]):IDBKeyRange.bound([P,""],[P,g.beforeSortKey],false,true),b=2e3,l=[],I=0,C,_=await i().transaction("messages").store.index("by_conversation_key_sort").openCursor(k,"prev");for(;_!==null&&l.length<g.limit&&I<b;){let x=W$1(he(_.value));I+=1,C=x.sortKey;let D=y===void 0||y.includes(x.contentType),R=v===void 0||v.match(S(x))!==null;D&&R&&l.push(x),_=await _.continue();}let M=_===null;return {items:l,exhausted:M,...M?{}:{nextBeforeSortKey:C}}},async getDecryptRecoveries(c){let g=qa$1(c);return (await i().getAllFromIndex("decryptRecoveries","by_conversation",g)).map(Ds)},async saveDecryptRecovery(c){if(c.sContent.byteLength===0||c.sContent.byteLength>ks)throw new Error(`\u89E3\u5BC6\u6062\u590D\u5BC6\u6587\u5B57\u8282\u957F\u5EA6\u975E\u6CD5\uFF1A${c.sContent.byteLength}`);await i().put("decryptRecoveries",Rs(c));},async deleteDecryptRecovery(c,g){await i().delete("decryptRecoveries",Fn(c,g));},async deleteConversationDecryptRecoveries(c){let g=qa$1(c),P=i().transaction("decryptRecoveries","readwrite"),f=await P.store.index("by_conversation").openCursor(IDBKeyRange.only(g));for(;f!==null;)await f.delete(),f=await f.continue();await P.done;},async getSessions(){return (await i().getAll("sessions")).map(Vn)},async saveSessions(c){if(c.length===0)return;let g=i().transaction("sessions","readwrite");for(let P of c)await g.store.put(on(P)),await g.store.delete(P.id);await g.done;},async deleteSession(c){if(typeof c!="string"){let f=i().transaction(["sessions","conversationBackgrounds"],"readwrite");await f.objectStore("sessions").delete(qa$1(c)),await f.objectStore("conversationBackgrounds").delete($e(c)),await f.done;return}let g=(await i().getAll("sessions")).map(Vn).filter(f=>f.id===c);Fe(c,g.map(f=>({conversationType:f.type})));let P=i().transaction(["sessions","conversationBackgrounds"],"readwrite");if(g[0]!==void 0){let f=oa$1(g[0]);await P.objectStore("sessions").delete(qa$1(f)),await P.objectStore("conversationBackgrounds").delete($e(f));}await P.objectStore("sessions").delete(c),await P.done;},async deleteReadState(c){if(typeof c!="string"){await i().delete("readStates",qa$1(c));return}let P=(await i().getAll("readStates")).map(Lr).filter(f=>f.conversationId===c).filter(f=>f.conversationType!==void 0);Fe(c,P),P[0]!==void 0&&await i().delete("readStates",qa$1(P[0])),await i().delete("readStates",c);},async deleteMessage(c,g,P){let f=i().transaction(["messages","sessions","decryptRecoveries"],"readwrite"),y=await f.objectStore("messages").get(g);if(y!==void 0){let v=he(y);if(v.conversationType!==c.conversationType||v.conversationId!==c.conversationId)return await f.done,false;await f.objectStore("messages").delete(g);}return await f.objectStore("decryptRecoveries").delete(Fn(c,g)),P!==void 0&&await f.objectStore("sessions").put(on(P)),await f.done,y!==void 0},async deleteConversationMessages(c){let g=Bs(c),P=typeof c=="string"?"by_conv_sort":"by_conversation_key_sort",f=typeof c=="string"?c:qa$1(c),y=IDBKeyRange.bound([f,""],[f,ge]),v=i().transaction(["messages","decryptRecoveries"],"readwrite"),k=v.objectStore("messages"),b=v.objectStore("decryptRecoveries"),l=[];if(typeof c=="string"){let C=(await k.index("by_conv_sort").getAll(y)).map(he);l=(await b.getAll()).filter(_=>_.conversation.conversationId===c),Fe(g,[...C,...l.map(_=>({conversationType:_.conversation.conversationType}))]);}let I=await k.index(P).openCursor(y);for(;I!==null;)await I.delete(),I=await I.continue();if(typeof c=="string")for(let C of l)await b.delete(C.key);else {let C=await b.index("by_conversation").openCursor(IDBKeyRange.only(qa$1(c)));for(;C!==null;)await C.delete(),C=await C.continue();}await v.done;},async clearConversationHistory(c,g,P){let f=qa$1(c),y=IDBKeyRange.bound([f,""],[f,ge]),v=i().transaction(["messages","sessions","readStates","decryptRecoveries"],"readwrite"),k=await v.objectStore("messages").index("by_conversation_key_sort").openCursor(y);for(;k!==null;)await k.delete(),k=await k.continue();let b=await v.objectStore("decryptRecoveries").index("by_conversation").openCursor(IDBKeyRange.only(f));for(;b!==null;)await b.delete(),b=await b.continue();g!==void 0&&await v.objectStore("sessions").put(on(g)),P!==void 0&&(await v.objectStore("readStates").put(Jn(P)),await v.objectStore("readStates").delete(P.conversationId)),await v.done;},async getReadStates(){return (await i().getAll("readStates")).map(Lr)},async saveReadState(c){let g=i().transaction("readStates","readwrite");await g.store.put(Jn(c)),c.conversationType!==void 0&&await g.store.delete(c.conversationId),await g.done;},async getDrafts(){return (await i().getAll("drafts")).map(Os)},async saveDraft(c){await i().put("drafts",Us(c));},async deleteDraft(c){await i().delete("drafts",qa$1(c));},async getConversationBackground(c){return (await i().get("conversationBackgrounds",$e(c)))?.background??null},async saveConversationBackground(c,g){let P=$e(c);await i().put("conversationBackgrounds",{key:P,background:g});},async deleteConversationBackground(c){await i().delete("conversationBackgrounds",$e(c));},async getDefaultConversationBackground(){return (await i().get("conversationBackgrounds",$n))?.background??null},async saveDefaultConversationBackground(c){await i().put("conversationBackgrounds",{key:$n,background:c});},async deleteDefaultConversationBackground(){await i().delete("conversationBackgrounds",$n);},async getOutbox(){return i().getAll("outbox")},async saveOutboxMessage(c){await i().put("outbox",c);},async removeOutboxMessage(c){await i().delete("outbox",c);},async getPinnedMessages(){return (await i().getAll("pinnedMessages")).map(jn)},async savePinnedMessage(c){let g=i().transaction("pinnedMessages","readwrite");await g.store.put(Fr(c)),await g.store.delete(c.conversationId),await g.done;},async removePinnedMessage(c){if(typeof c!="string"){await i().delete("pinnedMessages",qa$1(c));return}let g=(await i().getAll("pinnedMessages")).map(jn).filter(P=>P.conversationId===c);Fe(c,g),g[0]!==void 0&&await i().delete("pinnedMessages",qa$1(pa$1(g[0]))),await i().delete("pinnedMessages",c);},async getMeta(c){let g=await i().get("meta",c);return g===void 0?null:g.value},async setMeta(c,g){await i().put("meta",{key:c,value:g});},async getUserProfile(c){return await i().get("userProfiles",c)??null},async saveUserProfile(c){await i().put("userProfiles",c);},async getGroupMembers(c){return await i().get("groupMembers",c)??null},async saveGroupMembers(c){await i().put("groupMembers",c);},async getGroupProfile(c){return await i().get("groupProfiles",c)??null},async saveGroupProfile(c){await i().put("groupProfiles",c);},async getChannelProfile(c){return await i().get("channelProfiles",c)??null},async getChannelProfiles(){return i().getAll("channelProfiles")},async saveChannelProfiles(c){if(c.length===0)return;let g=i().transaction("channelProfiles","readwrite");await Promise.all([...c.map(P=>g.store.put(P)),g.done]);},async getChannelListVersion(){let c=await i().get("meta",Hn);return typeof c?.value=="string"&&/^\d+$/.test(c.value)?c.value:"0"},async saveChannelListVersion(c){if(!/^\d+$/.test(c))throw new Error(`CHANNEL list version \u975E\u6CD5\uFF1A${c}`);await i().put("meta",{key:Hn,value:c});},async getChannelMembers(c,g){if(g.length===0)return [];let P=i().transaction("channelMembers"),f=await Promise.all(g.map(y=>P.store.get([c,y])));return await P.done,f.filter(y=>y!==void 0)},async saveChannelMembers(c){if(c.length===0)return;let g=i().transaction("channelMembers","readwrite");for(let P of c){let f=await g.store.get([P.channelId,P.userId]);f!==void 0&&Ts(P.updateVersion,f.updateVersion)<0||await g.store.put(P);}await g.done;},async deleteChannelMembers(c){let g=IDBKeyRange.bound([c,""],[c,ge]),P=i().transaction("channelMembers","readwrite"),f=await P.store.openCursor(g);for(;f!==null;)await f.delete(),f=await f.continue();await P.done;},async getChannelMemberSnapshot(c){return await i().get("channelMemberSnapshots",c)??null},async saveChannelMemberSnapshot(c){await i().put("channelMemberSnapshots",c);},async deleteChannelMemberSnapshot(c){await i().delete("channelMemberSnapshots",c);},async getChannelMentionCandidateSnapshot(c){return await i().get("channelMentionCandidateSnapshots",c)??null},async saveChannelMentionCandidateSnapshot(c){await i().put("channelMentionCandidateSnapshots",c);},async deleteChannelMentionCandidateSnapshot(c){await i().delete("channelMentionCandidateSnapshots",c);}}}function Ls(e={}){let n=e.createSocket??(u=>new globalThis.WebSocket(u)),t=e.connectTimeoutMs??1e4,r={open:new Set,message:new Set,close:new Set,error:new Set},o,a,s="idle",d;function i(u,w){for(let A of [...r[u]])A(w);}function p(){d!==void 0&&(clearTimeout(d),d=void 0);}function m(u,w){w!==void 0&&(u.removeEventListener("open",w.onOpen),u.removeEventListener("message",w.onMessage),u.removeEventListener("error",w.onError),u.removeEventListener("close",w.onClose));}function S(){if(p(),o!==void 0){m(o,a);try{o.close(1e3);}catch{}o=void 0;}a=void 0;}function h(u,w,A){let T={onOpen:()=>{u===o&&(p(),s="open",i("open",{endpoint:w}));},onMessage:c=>{if(u!==o)return;let g=c?.data;if(g instanceof ArrayBuffer){i("message",{data:g});return}i("error",{error:new Error(`WsTransport\uFF1A\u6536\u5230\u975E ArrayBuffer \u6D88\u606F\uFF08${typeof g}\uFF09\uFF0C\u5DF2\u5FFD\u7565`)});},onError:c=>{u===o&&i("error",{error:new Error(`WsTransport\uFF1AWebSocket error \u4E8B\u4EF6\uFF08${c instanceof Event?c.type:typeof c}\uFF09`)});},onClose:c=>{u===o&&(p(),m(u,T),o=void 0,a=void 0,s="closed",i("close",{code:c?.code??1006,reason:c?.reason??"",wasClean:c?.wasClean??false}));}};if(a=T,u.addEventListener("open",T.onOpen),u.addEventListener("message",T.onMessage),u.addEventListener("error",T.onError),u.addEventListener("close",T.onClose),A>0){let c=setTimeout(()=>{if(!(u!==o||s!=="connecting")){i("error",{error:new Error(`WsTransport\uFF1A\u8FDE\u63A5\u8D85\u65F6\uFF08${A}ms \u672A open\uFF09`)});try{u.close();}catch{}}},A);c.unref?.(),d=c;}}return {get state(){return s},async connect(u,w){let A=u[0];if(A===void 0)throw new Error("WsTransport.connect\uFF1Aendpoints \u4E3A\u7A7A\uFF08P0 single \u7B56\u7565\u9700\u81F3\u5C11\u4E00\u4E2A\u7AEF\u70B9\uFF09");S(),s="connecting";let T;try{T=n(A.url);}catch(c){throw s="closed",c}T.binaryType="arraybuffer",o=T,h(T,A,w?.connectTimeoutMs??t);},async send(u){if(o===void 0||s!=="open")throw new Error(`WsTransport.send\uFF1A\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF08state=${s}\uFF09\uFF0C\u62D2\u7EDD\u53D1\u9001`);o.send(u);},async close(u=1e3,w){p(),o!==void 0&&(s==="connecting"||s==="open")&&(s="closing",o.close(u,w));},on(u,w){return r[u].add(w),()=>{r[u].delete(w);}}}}
|
|
7
|
+
export{Ia as $,Jr as A,es as Aa,Ji as B,ns as Ba,qi as C,ts as Ca,zi as D,is as Da,Wi as E,as as Ea,Yi as F,ss as Fa,Qi as G,cs as Ga,Xi as H,ds as Ha,Zi as I,us as Ia,ea as J,Gn as Ja,na as K,gs as Ka,ta as L,bs as La,ra as M,_s as Ma,oa as N,Ks as Na,ia as O,Gs as Oa,aa as P,Ls as Pa,ca as Q,jr as Qa,ua as R,Je as Ra,nn as S,no as Sa,tn as T,fo as Ta,la as U,ma as V,ga as W,ha as X,ya as Y,ba as Z,Pa as _,mo as a,_a as aa,Ee as b,Sa as ba,q as c,Aa as ca,yo as d,Ma as da,bo as e,Ea as ea,ke as f,ka as fa,Po as g,Ta as ga,Do as h,Ra as ha,be as i,Da as ia,j,Oa as ja,Fo as k,Le as ka,Vo as l,Na as la,Ue as m,Ka as ma,re as n,Ga as na,ni as o,La as oa,Oe as p,Ha as pa,W as q,$a as qa,hi as r,Ja as ra,_i as s,ja as sa,Mi as t,qa as ta,xi as u,za as ua,Di as v,Er as va,Ie as w,kr as wa,H as x,Qa as xa,pe as y,Xa as ya,Li as z,Za as za};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {c as c$1}from'./chunk-
|
|
1
|
+
import {c as c$1}from'./chunk-5IN5YRAI.js';import {o}from'./chunk-ZPQ3HWNX.js';var w=864e5,P=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function u(e){return e!=null&&Number.isFinite(e)&&e>0&&!Number.isNaN(new Date(e).getTime())}function v(e,n){if(u(e))return e;if(u(n))return n}function b(e,n){return v(e,n)}function m(e){if(!u(e))return "";let n=new Date(e);return `${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()}`}function h(e,n){return u(e)?u(n)?m(e)!==m(n):true:false}function F(e,n){return T(e,n,"conversation")}function L(e,n){return T(e,n,"separator")}function T(e,n,r){if(!u(e))return "";let t=n.now??new Date;if(Number.isNaN(t.getTime()))return "";let o=new Date(e),a=y(t)-y(o),i=c$1(n.locale);return o.getFullYear()!==t.getFullYear()?A(o):a===0?r==="conversation"?k(o):i.today:a===1?i.yesterday:a>=2&&a<=6?x(o,i):D(o)}function y(e){return Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())/w}function x(e,n){return n.weekdays[P[e.getDay()]]}function k(e){return `${c(e.getHours())}:${c(e.getMinutes())}`}function A(e){return `${e.getFullYear()}/${c(e.getMonth()+1)}/${c(e.getDate())}`}function D(e){return `${c(e.getMonth()+1)}/${c(e.getDate())}`}function c(e){return String(e).padStart(2,"0")}function O(e){if(e.markers.length===0)return null;let n=e.viewportTop+e.overlayTop;if(e.markers[0].top>n+1)return null;let r=0;for(let d=0;d<e.markers.length&&!(e.markers[d].top>n+1);d+=1)r=d;let t=e.markers[r],o=n+e.overlayHeight,a=e.markers.filter(d=>d.top<o+1&&d.top+d.height>n-1).at(-1),i=a===void 0?0:Math.max(0,Math.min(a.top+a.height,o)-Math.max(a.top,n)),s=a===void 0?1:Math.max(1,Math.min(a.height,e.overlayHeight)),l=Math.min(1,i/s);return {key:t.key,label:t.label,inlineOpacity:1-l,...a===void 0?{}:{inlineDateKey:a.key}}}var C={text:"text",image:"image",video:"video",voice:"voice",file:"file",sticker:"sticker",contact:"contact",miniProgram:"miniProgram",game:"game",transfer:"transfer",redPacket:"redPacket",call:"call",system:"system",unknown:"unknown"};function S(e){switch(e.contentType){case "text":return typeof e.body.text=="string";case "image":return e.body.image!==void 0&&typeof e.body.image.url=="string";case "video":return e.body.video!==void 0&&typeof e.body.video.url=="string";case "voice":return e.body.voice!==void 0;case "file":return e.body.file!==void 0;case "sticker":return e.body.sticker!==void 0;case "contact":return e.body.contact!==void 0;case "miniProgram":return e.body.miniProgram!==void 0&&typeof e.body.miniProgram.appId=="string";case "transfer":return e.body.transfer!==void 0&&typeof e.body.transfer.serialNumber=="string";case "redPacket":{let n=e.body.redPacket;return n!==void 0&&n.packetId.trim()!==""&&(n.packetType===1||n.packetType===2||n.packetType===3||n.packetType===4)}case "call":return e.body.call!==void 0&&(e.body.call.callKind==="audio"||e.body.call.callKind==="video")&&typeof e.body.call.durationMs=="number";case "game":{let n=e.body.game;return n?.gameType==="dice"?Number.isInteger(n.value)&&n.value>=1&&n.value<=6:n?.gameType==="rock-paper-scissors"&&Number.isInteger(n.value)&&n.value>=1&&n.value<=3}case "system":return e.body.system!==void 0;case "unknown":return e.body.unknown!==void 0}}function I(e){return e.encryption.decryptFailed===true?"decrypt-failed":S(e)?e.contentType==="sticker"?o(e.body.sticker.imageType):C[e.contentType]:"unknown"}function _(e){let n=[...e.leadingItems??[]],r=e.entryUnread.state==="located"?e.entryUnread:null,t,o=null,a=false;for(let i of e.messages){let s=b(i.createdAt,i.serverTime),l=s!==void 0&&h(s,t);s!==void 0&&l&&n.push({kind:"date-separator",key:`date-${m(s)}-${i.id}`,label:e.formatDate(s)}),t=s,!a&&r!==null&&i.id===r.firstMessageId&&(n.push({kind:"entry-unread",key:`entry-unread-${i.id}`,...r.count===void 0?{}:{count:r.count}}),a=true);let d=e.beforeMessageItems?.(i)??[];if(n.push(...d),I(i)==="system"){n.push({kind:"system",key:i.id,message:i}),o=null;continue}n.push({kind:"message",key:`message-${i.id}`,message:i,firstOfRun:l||i.senderId!==o}),o=i.senderId;}return n}function U(e){let n=e.targetTop-e.viewportTop,r=e.currentScrollTop+n-(e.viewportHeight-e.targetHeight)/2,t=Math.max(0,e.scrollHeight-e.viewportHeight);return Math.min(t,Math.max(0,r))}function j(e){return e!==null&&e.clientWidth>0&&e.clientHeight>0}function G(e){return e.locatedAt<=0||e.duration<0||e.now<e.locatedAt?false:e.now-e.locatedAt<=e.duration}function q(e){return !Number.isFinite(e.topThreshold)||e.topThreshold<0?false:e.currentScrollTop<e.previousScrollTop&&e.currentScrollTop<=e.topThreshold}function H(e,n){return e.find(r=>r.bottom>n.top&&r.top<n.bottom)??e[0]}function f(e){return e.anchorTop??e.top}function B(e,n){let r=H(e,n);return r===void 0?void 0:{id:r.id,offset:f(r)-n.top}}function J(e,n,r){if(e===void 0)return;let t=n.find(o=>o.id===e.id);return t!==void 0&&t.bottom>r.top&&t.top<r.bottom?{id:e.id,offset:f(t)-r.top}:B(n,r)??e}function V(e,n,r){if(e===void 0)return;let t=n.find(o=>o.id===e.id);return t===void 0?void 0:f(t)-r.top-e.offset}function Q(e,n,r=3){return !Number.isFinite(r)||r<=0?[]:e.filter(t=>t.bottom>n.top&&t.top<n.bottom).slice(0,Math.floor(r)).map(t=>({id:t.id,offset:f(t)-n.top}))}function X(e,n,r){for(let t of e){let o=V(t,n,r);if(o!==void 0)return o}}function Z(e){return e.sameConversation&&!e.isHistoryWindow&&!e.isLocating&&!e.isLocateProtected&&e.userKeptLatestIntent}function ee(e){return e.isPageVisible&&!e.isHistoryWindow&&!e.isLocating&&!e.isLocateProtected&&(e.isOwnMessage||e.isAtBottom)}function ne(e){return e.isLoadingOlder&&e.previousTailId!==void 0&&e.previousTailId!==e.currentTailId&&e.previousMessageIds.includes(e.currentTailId)}function re(e,n){return e!==void 0&&!n.has(e)}async function te(e,n){let r=0;for(;e()&&!(await n()<=0);)r+=1;return r}function oe(e){return e.hasMoreHistory&&Number.isFinite(e.scrollHeight)&&Number.isFinite(e.clientHeight)&&e.scrollHeight>0&&e.clientHeight>0&&e.scrollHeight<=e.clientHeight}function ie(e){return e.isHistoryWindow&&!e.isPageSettling&&e.isAtBottom&&(e.currentScrollTop>e.previousScrollTop||e.allowStationaryBoundary===true)}function M(e){return !e.isPageVisible||!e.isAtBottom||e.isHistoryWindow}function ae(e){let n=Math.max(0,e.margin);return e.messageTop<e.viewportBottom-n&&e.messageBottom>e.viewportTop+n}function le(e){let n=new Set;function r(s){return s===n.size?false:(e?.(n.size),true)}function t(s){let l=n.size;for(let d of s)d!==""&&n.add(d);return r(l)}function o(s,l){return M(l)&&t(s)}function a(s){let l=n.size;for(let d of s)n.delete(d);return r(l)}function i(){let s=n.size;return n.clear(),r(s)}return {get count(){return n.size},add:t,trackRemote:o,acknowledgeVisible:a,clear:i}}export{M as A,ae as B,le as C,v as a,b,m as c,h as d,F as e,L as f,O as g,I as h,_ as i,U as j,j as k,G as l,q as m,H as n,B as o,J as p,V as q,Q as r,X as s,Z as t,ee as u,ne as v,re as w,te as x,oe as y,ie as z};
|