@applica-software-guru/persona-chat-sdk 0.1.109 → 0.1.113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,28 +1,28 @@
1
- (function(k,yt){typeof exports=="object"&&typeof module<"u"?yt(exports,require("react/jsx-runtime"),require("react"),require("@assistant-ui/react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","@assistant-ui/react"],yt):(k=typeof globalThis<"u"?globalThis:k||self,yt(k.personaChatSDK={},k.React,k.React,k.AssistantUI))})(this,function(k,yt,Z,ue){"use strict";var c_=Object.defineProperty;var l_=(k,yt,Z)=>yt in k?c_(k,yt,{enumerable:!0,configurable:!0,writable:!0,value:Z}):k[yt]=Z;var E=(k,yt,Z)=>l_(k,typeof yt!="symbol"?yt+"":yt,Z);function $o(h){return new Promise((a,i)=>{const p=new FileReader;p.onload=()=>a(p.result),p.onerror=g=>i(g),p.readAsDataURL(h)})}class Mo{constructor(){E(this,"accept","*")}async add(a){return{id:a.file.name,type:"file",name:a.file.name,contentType:a.file.type||"application/octet-stream",file:a.file,status:{type:"requires-action",reason:"composer-send"}}}async send(a){const p=(await $o(a.file)).split(";base64,")[1];return{...a,status:{type:"complete"},content:[{type:"file",data:p,mimeType:a.contentType||"application/octet-stream"}]}}async remove(a){}}let Ko=0;function qo(){return`msg_${Date.now()}_${Ko++}`}function ko(h){return h.thought&&(h={...h,type:"reasoning"}),h.id?h.createdAt?h:{...h,createdAt:new Date}:{...h,id:qo(),createdAt:h.createdAt||new Date}}function Ho(h){return h.filter(a=>!(a.role==="assistant"&&!a.functionCalls&&!a.file&&!a.image&&(!a.text||a.text.trim()==="")))}function Tn(h){const a=[];let i=null;for(let g of h)if(g=ko(g),g.type!=="transaction")if(g.file){i&&(a.push(i),i=null),a.push(g);continue}else g.functionCalls?(i&&(i.role==="assistant"&&(!i.text||i.text.trim()==="")&&!i.file&&!i.image||a.push(i)),a.push(g),i=null):g.functionResponse?a[a.length-1]={...a[a.length-1],functionResponse:g.functionResponse}:i&&g.type===i.type&&g.protocol===i.protocol&&i.role===g.role&&(g.id===i.id||!i.finishReason)?(i.text+=g.text,i.file=i.file||g.file,i.finishReason=g.finishReason||i.finishReason,i.id=i.id||g.id,i.sources=i.sources?[...i.sources||[],...g.sources||[]]:g.sources):(i&&a.push(i),i={...g,text:g.file?"":g.text,finishReason:g.file?void 0:g.finishReason});return i&&a.push(i),Ho(a)}function zo(h){var g,v,x;const a=h.file?[{type:"file",data:h.file.url,mimeType:h.file.contentType}]:[];let i;if((h.role==="assistant"||h.role==="function")&&(h.status?i=h.status:h.finishReason==="stop"?i={type:"complete",reason:"stop"}:h.finishReason==="function_call"?i={type:"complete",reason:"stop"}:h.finishReason||(i=void 0)),h.role==="function"){const T={id:h.id,role:"assistant",createdAt:h.createdAt,content:((g=h.functionCalls)==null?void 0:g.map(C=>{var K;return{type:"tool-call",toolName:C.name,toolCallId:C.id||`tool_${Date.now()}`,args:C.args,result:(K=h.functionResponse)==null?void 0:K.result}}))??[],metadata:{...h.metadata,custom:{protocol:h.protocol,sessionId:h.sessionId,sources:h.sources,...(v=h.metadata)==null?void 0:v.custom}}};return i?{...T,status:i}:T}const p={id:h.id,role:h.role,createdAt:h.createdAt,content:h.type==="reasoning"?[{type:"reasoning",text:h.text},...a]:[{type:"text",text:h.text},...a],metadata:{...h.metadata,custom:{protocol:h.protocol,sessionId:h.sessionId,sources:h.sources,type:h.type,...(x=h.metadata)==null?void 0:x.custom}}};return h.role==="assistant"&&i?{...p,status:i}:p}class oe{constructor(){E(this,"statusChangeCallbacks",[]);E(this,"messageCallbacks",[])}addStatusChangeListener(a){this.statusChangeCallbacks.push(a)}addPacketListener(a){this.messageCallbacks.push(a)}async syncSession(a){this.session=a}async notifyPacket(a){this.messageCallbacks.forEach(i=>i(a))}async notifyPackets(a){a.forEach(i=>{this.messageCallbacks.forEach(p=>p(i))})}async setSession(a){this.session=a}async setStatus(a){const i=this.status!==a;this.status=a,i&&this.statusChangeCallbacks.forEach(p=>p(a))}clearListeners(){this.statusChangeCallbacks=[],this.messageCallbacks=[]}setAgentContext(a){return this.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:a}})}onTransaction(a){}}class Ir extends oe{constructor(i){super();E(this,"status");E(this,"autostart");E(this,"session");E(this,"config");E(this,"notify",!0);E(this,"context",{});E(this,"tools",[]);this.config=i,this.status="disconnected",this.autostart=!0}getName(){return"rest"}getPriority(){return 100}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){var C,K,X,A,D;const{apiUrl:p,apiKey:g,agentId:v}=this.config,x=this.session??"new";if(i.type==="command"&&((C=i==null?void 0:i.payload)==null?void 0:C.command)=="set_initial_context"){this.context=(K=i==null?void 0:i.payload)==null?void 0:K.arguments;return}else if(i.type==="command"&&((X=i==null?void 0:i.payload)==null?void 0:X.command)=="set_local_tools"){const P=(A=i==null?void 0:i.payload)==null?void 0:A.arguments.tools;(P==null?void 0:P.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const T=i.payload;try{const N=await(await fetch(`${p}/sessions/${x}/messages`,{body:JSON.stringify({agentId:v,userMessage:T,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":g}})).json();this.notifyPackets(N.response.messages.map(tt=>({type:"message",payload:tt})))}catch(P){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(D=this.config.logger)==null||D.error("Error sending packet:",P)}}}class Rr extends oe{constructor(i){super();E(this,"status");E(this,"autostart");E(this,"session");E(this,"config");E(this,"webSocket");this.config=i,this.status="disconnected",this.autostart=!0,this.session=null,this.webSocket=null}getName(){return"websocket"}getPriority(){return 500}async syncSession(i){var p;(p=this.config.logger)==null||p.debug("Syncing session with WebSocket protocol:",i),this.session=i,this.webSocket&&this.status==="connected"&&(this.disconnect(),this.connect(i))}connect(i){var C;if(this.webSocket!==null&&this.status==="connected")return Promise.resolve(this.session);const p=i||this.session||"new";(C=this.config.logger)==null||C.debug("Connecting to WebSocket with sessionId:",p);const g=encodeURIComponent(this.config.apiKey),v=this.config.agentId,x=this.config.userId||"anonymous",T=`${this.config.webSocketUrl}?sessionCode=${p}&agentId=${v}&apiKey=${g}&userId=${encodeURIComponent(x)}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(T),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",K=>{const X=JSON.parse(K.data);this.notifyPacket(X)}),this.webSocket.addEventListener("close",K=>{var X;this.setStatus("disconnected"),this.webSocket=null,K.code!==1e3&&(this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"Oops! The connection to the server was lost. Please try again later."}}),(X=this.config.logger)==null||X.warn("WebSocket connection closed"))}),this.webSocket.addEventListener("error",()=>{var K;this.setStatus("disconnected"),this.webSocket=null,(K=this.config.logger)==null||K.error("WebSocket connection error")}),Promise.resolve(p)}disconnect(){var i;return(i=this.config.logger)==null||i.debug("Disconnecting WebSocket"),this.webSocket&&this.status==="connected"&&(this.webSocket.close(1e3,"Normal closure"),this.setStatus("disconnected"),this.webSocket=null),Promise.resolve()}sendPacket(i){return this.webSocket&&this.status==="connected"?(this.webSocket.send(JSON.stringify(i)),Promise.resolve()):Promise.reject(new Error("WebSocket is not connected"))}}class Go{constructor(a){E(this,"config");E(this,"pc",null);E(this,"ws",null);E(this,"localStream",null);E(this,"remoteStream",new MediaStream);E(this,"audioCtx",null);E(this,"localAnalyser",null);E(this,"remoteAnalyser",null);E(this,"analyzerFrame",null);E(this,"dataChannel",null);E(this,"isConnected",!1);E(this,"visualizerCallbacks",[]);E(this,"messageCallbacks",[]);E(this,"errorCallbacks",[]);E(this,"queuedMessages",[]);this.config=a}async connect(a){var p;if(this.isConnected)return;this.isConnected=!0;try{this.localStream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(g){(p=this.config.logger)==null||p.error("Error accessing microphone:",g);return}this.pc=new RTCPeerConnection({iceServers:this.config.iceServers||[{urls:"stun:34.38.108.251:3478"},{urls:"turn:34.38.108.251:3478",username:"webrtc",credential:"webrtc"}]}),this.localStream.getTracks().forEach(g=>{this.pc.addTrack(g,this.localStream)}),this.pc.ontrack=g=>{g.streams[0].getTracks().forEach(x=>{this.remoteStream.addTrack(x)}),this.audioCtx||this._startAnalyzers();const v=new Audio;v.srcObject=this.remoteStream,v.play().catch(x=>{var T;(T=this.config.logger)==null||T.error("Error playing remote audio:",x)})},this.pc.onicecandidate=g=>{var v;g.candidate&&((v=this.ws)==null?void 0:v.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"CANDIDATE",src:"client",payload:{candidate:g.candidate}}))},this.pc.ondatachannel=g=>{const v=g.channel;v.onmessage=x=>{this.messageCallbacks.forEach(T=>{T(x)})},v.onopen=()=>{var x;for(;this.queuedMessages.length>0;){const T=this.queuedMessages.shift();T&&(v.send(JSON.stringify(T)),(x=this.config.logger)==null||x.info("Sent queued message:",T))}}};const i=this.config.webrtcUrl||"wss://persona.applica.guru/api/webrtc";this.ws=new WebSocket(`${i}?apiKey=${encodeURIComponent(this.config.apiKey)}`),this.ws.onopen=async()=>{var T,C;const g=await this.pc.createOffer();await this.pc.setLocalDescription(g);const v={apiKey:this.config.apiKey,agentId:this.config.agentId,userId:this.config.userId||"anonymous",sessionCode:a};(T=this.config.logger)==null||T.debug("Opening connection to WebRTC server: ",v);const x={type:"OFFER",src:((C=crypto.randomUUID)==null?void 0:C.call(crypto))||"client_"+Date.now(),payload:{sdp:{sdp:g.sdp,type:g.type},connectionId:(Date.now()%1e6).toString(),metadata:v}};this.ws.send(JSON.stringify(x))},this.ws.onmessage=async g=>{var x;const v=JSON.parse(g.data);if(v.type==="ANSWER")await this.pc.setRemoteDescription(new RTCSessionDescription(v.payload.sdp));else if(v.type==="CANDIDATE")try{await this.pc.addIceCandidate(new RTCIceCandidate(v.payload.candidate))}catch(T){(x=this.config.logger)==null||x.error("Error adding ICE candidate:",T)}},this.ws.onclose=g=>{g.code!==1e3&&this.errorCallbacks.forEach(v=>{v("Oops! The connection to the server was lost. Please try again later.")}),this._stopAnalyzers()}}async disconnect(){var a;this.isConnected&&(this.isConnected=!1,((a=this.ws)==null?void 0:a.readyState)===WebSocket.OPEN&&this.ws.close(),this.pc&&this.pc.close(),this.localStream&&this.localStream.getTracks().forEach(i=>i.stop()),this.remoteStream=new MediaStream,this.audioCtx&&(await this.audioCtx.close(),this.audioCtx=null),this._stopAnalyzers())}addVisualizerCallback(a){this.visualizerCallbacks.push(a)}addMessageCallback(a){this.messageCallbacks.push(a)}addErrorCallback(a){this.errorCallbacks.push(a)}createDataChannel(a="messages"){this.pc&&(this.dataChannel=this.pc.createDataChannel(a),this.dataChannel.onopen=()=>{var i,p;for((i=this.config.logger)==null||i.info("Data channel opened");this.queuedMessages.length>0;){const g=this.queuedMessages.shift();g&&(this.dataChannel.send(JSON.stringify(g)),(p=this.config.logger)==null||p.info("Sent queued message:",g))}},this.dataChannel.onmessage=i=>{this.messageCallbacks.forEach(p=>{p(i)})})}sendPacket(a){var i;if(!this.dataChannel||this.dataChannel.readyState!=="open"){this.queuedMessages.push(a);return}this.dataChannel.send(JSON.stringify(a)),(i=this.config.logger)==null||i.info("Sent message:",a)}_startAnalyzers(){if(!this.localStream||!this.remoteStream||this.visualizerCallbacks.length===0)return;this.audioCtx=new(window.AudioContext||window.webkitAudioContext);const a=this.audioCtx.createMediaStreamSource(this.localStream),i=this.audioCtx.createMediaStreamSource(this.remoteStream);this.localAnalyser=this.audioCtx.createAnalyser(),this.remoteAnalyser=this.audioCtx.createAnalyser(),this.localAnalyser.fftSize=256,this.remoteAnalyser.fftSize=256,a.connect(this.localAnalyser),i.connect(this.remoteAnalyser);const p=()=>{if(!this.localAnalyser||!this.remoteAnalyser||this.visualizerCallbacks.length===0)return;const g=new Uint8Array(this.localAnalyser.frequencyBinCount),v=new Uint8Array(this.remoteAnalyser.frequencyBinCount);this.localAnalyser.getByteFrequencyData(g),this.remoteAnalyser.getByteFrequencyData(v);const x=g.reduce((C,K)=>C+K,0)/g.length,T=v.reduce((C,K)=>C+K,0)/v.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(C=>{C({localAmplitude:x,remoteAmplitude:T})}),this.analyzerFrame=requestAnimationFrame(p)};this.analyzerFrame=requestAnimationFrame(p)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Er extends oe{constructor(i){super();E(this,"status");E(this,"session");E(this,"autostart");E(this,"config");E(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new Go(i),this.webRTCClient.addMessageCallback(p=>{const g=JSON.parse(p.data);this.notifyPacket(g)}),this.webRTCClient.addErrorCallback(p=>{var g;(g=this.config.logger)==null||g.error("WebRTC error:",p),this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:p}})})}getName(){return"webrtc"}getPriority(){return 1e3}async syncSession(i){super.syncSession(i),this.status==="connected"&&(await this.disconnect(),await this.connect(i))}async connect(i){var p;return this.status==="connected"?Promise.resolve(this.session):(this.session=i||this.session||"new",this.setStatus("connecting"),(p=this.config.logger)==null||p.debug("Connecting to WebRTC with sessionId:",this.session),await this.webRTCClient.connect(this.session),this.setStatus("connected"),await this.webRTCClient.createDataChannel(),this.session)}async disconnect(){var i,p,g;if(this.status==="disconnected")return(i=this.config.logger)==null||i.warn("Already disconnected"),Promise.resolve();await this.webRTCClient.disconnect(),this.setStatus("disconnected"),(g=(p=this.config)==null?void 0:p.logger)==null||g.debug("Disconnected from WebRTC")}sendPacket(i){return this.status!=="connected"?Promise.reject(new Error("Not connected")):(this.webRTCClient.sendPacket(i),Promise.resolve())}}var ae=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Jo(h){return h&&h.__esModule&&Object.prototype.hasOwnProperty.call(h,"default")?h.default:h}var Te={exports:{}};/**
1
+ (function(k,wt){typeof exports=="object"&&typeof module<"u"?wt(exports,require("react/jsx-runtime"),require("react"),require("@assistant-ui/react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","@assistant-ui/react"],wt):(k=typeof globalThis<"u"?globalThis:k||self,wt(k.personaChatSDK={},k.React,k.React,k.AssistantUI))})(this,function(k,wt,Z,ue){"use strict";var l_=Object.defineProperty;var h_=(k,wt,Z)=>wt in k?l_(k,wt,{enumerable:!0,configurable:!0,writable:!0,value:Z}):k[wt]=Z;var T=(k,wt,Z)=>h_(k,typeof wt!="symbol"?wt+"":wt,Z);function Mo(l){return new Promise((a,i)=>{const p=new FileReader;p.onload=()=>a(p.result),p.onerror=g=>i(g),p.readAsDataURL(l)})}class Ko{constructor(){T(this,"accept","*")}async add(a){return{id:a.file.name,type:"file",name:a.file.name,contentType:a.file.type||"application/octet-stream",file:a.file,status:{type:"requires-action",reason:"composer-send"}}}async send(a){const p=(await Mo(a.file)).split(";base64,")[1];return{...a,status:{type:"complete"},content:[{type:"file",data:p,mimeType:a.contentType||"application/octet-stream"}]}}async remove(a){}}function Ir(l){if(l==null||typeof l=="string")return l;if(Array.isArray(l))return l.map(Ir);if(typeof l=="object"){const a=l;return typeof a.contentType=="string"&&typeof a.content=="string"?{type:"image",contentType:a.contentType,note:"image content delivered separately"}:typeof a.name=="string"&&typeof a.contentType=="string"?{type:"file",name:a.name,url:a.url??null,contentType:a.contentType}:Object.fromEntries(Object.entries(a).map(([i,p])=>[i,Ir(p)]))}return l}let qo=0;function ko(){return`msg_${Date.now()}_${qo++}`}function Ho(l){return l.thought&&(l={...l,type:"reasoning"}),l.id?l.createdAt?l:{...l,createdAt:new Date}:{...l,id:ko(),createdAt:l.createdAt||new Date}}function zo(l){return l.filter(a=>!(a.role==="assistant"&&!a.functionCalls&&!a.file&&!a.image&&(!a.text||a.text.trim()==="")))}function En(l){const a=[];let i=null;for(let g of l)if(g=Ho(g),g.type!=="transaction")if(g.file){i&&(a.push(i),i=null),a.push(g);continue}else g.functionCalls?(i&&(i.role==="assistant"&&(!i.text||i.text.trim()==="")&&!i.file&&!i.image||a.push(i)),a.push(g),i=null):g.functionResponse?a[a.length-1]={...a[a.length-1],functionResponse:g.functionResponse}:i&&g.type===i.type&&g.protocol===i.protocol&&i.role===g.role&&(g.id===i.id||!i.finishReason)?(i.text+=g.text,i.file=i.file||g.file,i.finishReason=g.finishReason||i.finishReason,i.id=i.id||g.id,i.sources=i.sources?[...i.sources||[],...g.sources||[]]:g.sources):(i&&a.push(i),i={...g,text:g.file?"":g.text,finishReason:g.file?void 0:g.finishReason});return i&&a.push(i),zo(a)}function Go(l){var g,v,x;const a=l.file?[{type:"file",data:l.file.url,mimeType:l.file.contentType}]:[];let i;if((l.role==="assistant"||l.role==="function")&&(l.status?i=l.status:l.finishReason==="stop"?i={type:"complete",reason:"stop"}:l.finishReason==="function_call"?i={type:"complete",reason:"stop"}:l.finishReason||(i=void 0)),l.role==="function"){const E={id:l.id,role:"assistant",createdAt:l.createdAt,content:((g=l.functionCalls)==null?void 0:g.map(C=>{var K;return{type:"tool-call",toolName:C.name,toolCallId:C.id||`tool_${Date.now()}`,args:C.args,result:Ir((K=l.functionResponse)==null?void 0:K.result)}}))??[],metadata:{...l.metadata,custom:{protocol:l.protocol,sessionId:l.sessionId,sources:l.sources,...(v=l.metadata)==null?void 0:v.custom}}};return i?{...E,status:i}:E}const p={id:l.id,role:l.role,createdAt:l.createdAt,content:l.type==="reasoning"?[{type:"reasoning",text:l.text},...a]:[{type:"text",text:l.text},...a],metadata:{...l.metadata,custom:{protocol:l.protocol,sessionId:l.sessionId,sources:l.sources,type:l.type,...(x=l.metadata)==null?void 0:x.custom}}};return l.role==="assistant"&&i?{...p,status:i}:p}class oe{constructor(){T(this,"statusChangeCallbacks",[]);T(this,"messageCallbacks",[])}addStatusChangeListener(a){this.statusChangeCallbacks.push(a)}addPacketListener(a){this.messageCallbacks.push(a)}async syncSession(a){this.session=a}async notifyPacket(a){this.messageCallbacks.forEach(i=>i(a))}async notifyPackets(a){a.forEach(i=>{this.messageCallbacks.forEach(p=>p(i))})}async setSession(a){this.session=a}async setStatus(a){const i=this.status!==a;this.status=a,i&&this.statusChangeCallbacks.forEach(p=>p(a))}clearListeners(){this.statusChangeCallbacks=[],this.messageCallbacks=[]}setAgentContext(a){return this.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:a}})}onTransaction(a){}}class Rr extends oe{constructor(i){super();T(this,"status");T(this,"autostart");T(this,"session");T(this,"config");T(this,"notify",!0);T(this,"context",{});T(this,"tools",[]);this.config=i,this.status="disconnected",this.autostart=!0}getName(){return"rest"}getPriority(){return 100}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){var C,K,X,A,D;const{apiUrl:p,apiKey:g,agentId:v}=this.config,x=this.session??"new";if(i.type==="command"&&((C=i==null?void 0:i.payload)==null?void 0:C.command)=="set_initial_context"){this.context=(K=i==null?void 0:i.payload)==null?void 0:K.arguments;return}else if(i.type==="command"&&((X=i==null?void 0:i.payload)==null?void 0:X.command)=="set_local_tools"){const P=(A=i==null?void 0:i.payload)==null?void 0:A.arguments.tools;(P==null?void 0:P.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const E=i.payload;try{const N=await(await fetch(`${p}/sessions/${x}/messages`,{body:JSON.stringify({agentId:v,userMessage:E,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":g}})).json();this.notifyPackets(N.response.messages.map(tt=>({type:"message",payload:tt})))}catch(P){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(D=this.config.logger)==null||D.error("Error sending packet:",P)}}}class Tr extends oe{constructor(i){super();T(this,"status");T(this,"autostart");T(this,"session");T(this,"config");T(this,"webSocket");this.config=i,this.status="disconnected",this.autostart=!0,this.session=null,this.webSocket=null}getName(){return"websocket"}getPriority(){return 500}async syncSession(i){var p;(p=this.config.logger)==null||p.debug("Syncing session with WebSocket protocol:",i),this.session=i,this.webSocket&&this.status==="connected"&&(this.disconnect(),this.connect(i))}connect(i){var C;if(this.webSocket!==null&&this.status==="connected")return Promise.resolve(this.session);const p=i||this.session||"new";(C=this.config.logger)==null||C.debug("Connecting to WebSocket with sessionId:",p);const g=encodeURIComponent(this.config.apiKey),v=this.config.agentId,x=this.config.userId||"anonymous",E=`${this.config.webSocketUrl}?sessionCode=${p}&agentId=${v}&apiKey=${g}&userId=${encodeURIComponent(x)}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(E),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",K=>{const X=JSON.parse(K.data);this.notifyPacket(X)}),this.webSocket.addEventListener("close",K=>{var X;this.setStatus("disconnected"),this.webSocket=null,K.code!==1e3&&(this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"Oops! The connection to the server was lost. Please try again later."}}),(X=this.config.logger)==null||X.warn("WebSocket connection closed"))}),this.webSocket.addEventListener("error",()=>{var K;this.setStatus("disconnected"),this.webSocket=null,(K=this.config.logger)==null||K.error("WebSocket connection error")}),Promise.resolve(p)}disconnect(){var i;return(i=this.config.logger)==null||i.debug("Disconnecting WebSocket"),this.webSocket&&this.status==="connected"&&(this.webSocket.close(1e3,"Normal closure"),this.setStatus("disconnected"),this.webSocket=null),Promise.resolve()}sendPacket(i){return this.webSocket&&this.status==="connected"?(this.webSocket.send(JSON.stringify(i)),Promise.resolve()):Promise.reject(new Error("WebSocket is not connected"))}}class Jo{constructor(a){T(this,"config");T(this,"pc",null);T(this,"ws",null);T(this,"localStream",null);T(this,"remoteStream",new MediaStream);T(this,"audioCtx",null);T(this,"localAnalyser",null);T(this,"remoteAnalyser",null);T(this,"analyzerFrame",null);T(this,"dataChannel",null);T(this,"isConnected",!1);T(this,"visualizerCallbacks",[]);T(this,"messageCallbacks",[]);T(this,"errorCallbacks",[]);T(this,"queuedMessages",[]);this.config=a}async connect(a){var p;if(this.isConnected)return;this.isConnected=!0;try{this.localStream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(g){(p=this.config.logger)==null||p.error("Error accessing microphone:",g);return}this.pc=new RTCPeerConnection({iceServers:this.config.iceServers||[{urls:"stun:34.38.108.251:3478"},{urls:"turn:34.38.108.251:3478",username:"webrtc",credential:"webrtc"}]}),this.localStream.getTracks().forEach(g=>{this.pc.addTrack(g,this.localStream)}),this.pc.ontrack=g=>{g.streams[0].getTracks().forEach(x=>{this.remoteStream.addTrack(x)}),this.audioCtx||this._startAnalyzers();const v=new Audio;v.srcObject=this.remoteStream,v.play().catch(x=>{var E;(E=this.config.logger)==null||E.error("Error playing remote audio:",x)})},this.pc.onicecandidate=g=>{var v;g.candidate&&((v=this.ws)==null?void 0:v.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"CANDIDATE",src:"client",payload:{candidate:g.candidate}}))},this.pc.ondatachannel=g=>{const v=g.channel;v.onmessage=x=>{this.messageCallbacks.forEach(E=>{E(x)})},v.onopen=()=>{var x;for(;this.queuedMessages.length>0;){const E=this.queuedMessages.shift();E&&(v.send(JSON.stringify(E)),(x=this.config.logger)==null||x.info("Sent queued message:",E))}}};const i=this.config.webrtcUrl||"wss://persona.applica.guru/api/webrtc";this.ws=new WebSocket(`${i}?apiKey=${encodeURIComponent(this.config.apiKey)}`),this.ws.onopen=async()=>{var E,C;const g=await this.pc.createOffer();await this.pc.setLocalDescription(g);const v={apiKey:this.config.apiKey,agentId:this.config.agentId,userId:this.config.userId||"anonymous",sessionCode:a};(E=this.config.logger)==null||E.debug("Opening connection to WebRTC server: ",v);const x={type:"OFFER",src:((C=crypto.randomUUID)==null?void 0:C.call(crypto))||"client_"+Date.now(),payload:{sdp:{sdp:g.sdp,type:g.type},connectionId:(Date.now()%1e6).toString(),metadata:v}};this.ws.send(JSON.stringify(x))},this.ws.onmessage=async g=>{var x;const v=JSON.parse(g.data);if(v.type==="ANSWER")await this.pc.setRemoteDescription(new RTCSessionDescription(v.payload.sdp));else if(v.type==="CANDIDATE")try{await this.pc.addIceCandidate(new RTCIceCandidate(v.payload.candidate))}catch(E){(x=this.config.logger)==null||x.error("Error adding ICE candidate:",E)}},this.ws.onclose=g=>{g.code!==1e3&&this.errorCallbacks.forEach(v=>{v("Oops! The connection to the server was lost. Please try again later.")}),this._stopAnalyzers()}}async disconnect(){var a;this.isConnected&&(this.isConnected=!1,((a=this.ws)==null?void 0:a.readyState)===WebSocket.OPEN&&this.ws.close(),this.pc&&this.pc.close(),this.localStream&&this.localStream.getTracks().forEach(i=>i.stop()),this.remoteStream=new MediaStream,this.audioCtx&&(await this.audioCtx.close(),this.audioCtx=null),this._stopAnalyzers())}addVisualizerCallback(a){this.visualizerCallbacks.push(a)}addMessageCallback(a){this.messageCallbacks.push(a)}addErrorCallback(a){this.errorCallbacks.push(a)}createDataChannel(a="messages"){this.pc&&(this.dataChannel=this.pc.createDataChannel(a),this.dataChannel.onopen=()=>{var i,p;for((i=this.config.logger)==null||i.info("Data channel opened");this.queuedMessages.length>0;){const g=this.queuedMessages.shift();g&&(this.dataChannel.send(JSON.stringify(g)),(p=this.config.logger)==null||p.info("Sent queued message:",g))}},this.dataChannel.onmessage=i=>{this.messageCallbacks.forEach(p=>{p(i)})})}sendPacket(a){var i;if(!this.dataChannel||this.dataChannel.readyState!=="open"){this.queuedMessages.push(a);return}this.dataChannel.send(JSON.stringify(a)),(i=this.config.logger)==null||i.info("Sent message:",a)}_startAnalyzers(){if(!this.localStream||!this.remoteStream||this.visualizerCallbacks.length===0)return;this.audioCtx=new(window.AudioContext||window.webkitAudioContext);const a=this.audioCtx.createMediaStreamSource(this.localStream),i=this.audioCtx.createMediaStreamSource(this.remoteStream);this.localAnalyser=this.audioCtx.createAnalyser(),this.remoteAnalyser=this.audioCtx.createAnalyser(),this.localAnalyser.fftSize=256,this.remoteAnalyser.fftSize=256,a.connect(this.localAnalyser),i.connect(this.remoteAnalyser);const p=()=>{if(!this.localAnalyser||!this.remoteAnalyser||this.visualizerCallbacks.length===0)return;const g=new Uint8Array(this.localAnalyser.frequencyBinCount),v=new Uint8Array(this.remoteAnalyser.frequencyBinCount);this.localAnalyser.getByteFrequencyData(g),this.remoteAnalyser.getByteFrequencyData(v);const x=g.reduce((C,K)=>C+K,0)/g.length,E=v.reduce((C,K)=>C+K,0)/v.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(C=>{C({localAmplitude:x,remoteAmplitude:E})}),this.analyzerFrame=requestAnimationFrame(p)};this.analyzerFrame=requestAnimationFrame(p)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Er extends oe{constructor(i){super();T(this,"status");T(this,"session");T(this,"autostart");T(this,"config");T(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new Jo(i),this.webRTCClient.addMessageCallback(p=>{const g=JSON.parse(p.data);this.notifyPacket(g)}),this.webRTCClient.addErrorCallback(p=>{var g;(g=this.config.logger)==null||g.error("WebRTC error:",p),this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:p}})})}getName(){return"webrtc"}getPriority(){return 1e3}async syncSession(i){super.syncSession(i),this.status==="connected"&&(await this.disconnect(),await this.connect(i))}async connect(i){var p;return this.status==="connected"?Promise.resolve(this.session):(this.session=i||this.session||"new",this.setStatus("connecting"),(p=this.config.logger)==null||p.debug("Connecting to WebRTC with sessionId:",this.session),await this.webRTCClient.connect(this.session),this.setStatus("connected"),await this.webRTCClient.createDataChannel(),this.session)}async disconnect(){var i,p,g;if(this.status==="disconnected")return(i=this.config.logger)==null||i.warn("Already disconnected"),Promise.resolve();await this.webRTCClient.disconnect(),this.setStatus("disconnected"),(g=(p=this.config)==null?void 0:p.logger)==null||g.debug("Disconnected from WebRTC")}sendPacket(i){return this.status!=="connected"?Promise.reject(new Error("Not connected")):(this.webRTCClient.sendPacket(i),Promise.resolve())}}var ae=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Zo(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var Ee={exports:{}};/**
2
2
  * @license
3
3
  * Lodash <https://lodash.com/>
4
4
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
5
5
  * Released under MIT license <https://lodash.com/license>
6
6
  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
7
7
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
8
- */Te.exports,function(h,a){(function(){var i,p="4.17.21",g=200,v="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",x="Expected a function",T="Invalid `variable` option passed into `_.template`",C="__lodash_hash_undefined__",K=500,X="__lodash_placeholder__",A=1,D=2,P=4,N=1,tt=2,H=1,yn=2,on=4,dt=8,_t=16,Zt=32,On=64,Bt=128,nn=256,Tt=512,Oe=30,fe="...",Lt=800,We=16,Wn=1,De=2,lt=3,an=1/0,en=9007199254740991,Lr=17976931348623157e292,Hn=NaN,$t=4294967295,Or=$t-1,Fe=$t>>>1,Wr=[["ary",Bt],["bind",H],["bindKey",yn],["curry",dt],["curryRight",_t],["flip",Tt],["partial",Zt],["partialRight",On],["rearg",nn]],mn="[object Arguments]",B="[object Array]",at="[object AsyncFunction]",bt="[object Boolean]",mt="[object Date]",Ue="[object DOMException]",Ct="[object Error]",Ne="[object Function]",os="[object GeneratorFunction]",Yt="[object Map]",ce="[object Number]",Pa="[object Null]",fn="[object Object]",as="[object Promise]",Ia="[object Proxy]",le="[object RegExp]",Xt="[object Set]",he="[object String]",Be="[object Symbol]",Ra="[object Undefined]",de="[object WeakMap]",Ea="[object WeakSet]",pe="[object ArrayBuffer]",zn="[object DataView]",Dr="[object Float32Array]",Fr="[object Float64Array]",Ur="[object Int8Array]",Nr="[object Int16Array]",Br="[object Int32Array]",$r="[object Uint8Array]",Mr="[object Uint8ClampedArray]",Kr="[object Uint16Array]",qr="[object Uint32Array]",Ta=/\b__p \+= '';/g,La=/\b(__p \+=) '' \+/g,Oa=/(__e\(.*?\)|\b__t\)) \+\n'';/g,fs=/&(?:amp|lt|gt|quot|#39);/g,cs=/[&<>"']/g,Wa=RegExp(fs.source),Da=RegExp(cs.source),Fa=/<%-([\s\S]+?)%>/g,Ua=/<%([\s\S]+?)%>/g,ls=/<%=([\s\S]+?)%>/g,Na=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ba=/^\w*$/,$a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kr=/[\\^$.*+?()[\]{}|]/g,Ma=RegExp(kr.source),Hr=/^\s+/,Ka=/\s/,qa=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ka=/\{\n\/\* \[wrapped with (.+)\] \*/,Ha=/,? & /,za=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ga=/[()=,{}\[\]\/\s]/,Ja=/\\(\\)?/g,Za=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,hs=/\w*$/,Ya=/^[-+]0x[0-9a-f]+$/i,Xa=/^0b[01]+$/i,Qa=/^\[object .+?Constructor\]$/,Va=/^0o[0-7]+$/i,ja=/^(?:0|[1-9]\d*)$/,tf=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,$e=/($^)/,nf=/['\n\r\u2028\u2029\\]/g,Me="\\ud800-\\udfff",ef="\\u0300-\\u036f",rf="\\ufe20-\\ufe2f",sf="\\u20d0-\\u20ff",ds=ef+rf+sf,ps="\\u2700-\\u27bf",gs="a-z\\xdf-\\xf6\\xf8-\\xff",uf="\\xac\\xb1\\xd7\\xf7",of="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",af="\\u2000-\\u206f",ff=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",_s="A-Z\\xc0-\\xd6\\xd8-\\xde",vs="\\ufe0e\\ufe0f",ws=uf+of+af+ff,zr="['’]",cf="["+Me+"]",ys="["+ws+"]",Ke="["+ds+"]",ms="\\d+",lf="["+ps+"]",xs="["+gs+"]",Ss="[^"+Me+ws+ms+ps+gs+_s+"]",Gr="\\ud83c[\\udffb-\\udfff]",hf="(?:"+Ke+"|"+Gr+")",As="[^"+Me+"]",Jr="(?:\\ud83c[\\udde6-\\uddff]){2}",Zr="[\\ud800-\\udbff][\\udc00-\\udfff]",Gn="["+_s+"]",bs="\\u200d",Cs="(?:"+xs+"|"+Ss+")",df="(?:"+Gn+"|"+Ss+")",Ps="(?:"+zr+"(?:d|ll|m|re|s|t|ve))?",Is="(?:"+zr+"(?:D|LL|M|RE|S|T|VE))?",Rs=hf+"?",Es="["+vs+"]?",pf="(?:"+bs+"(?:"+[As,Jr,Zr].join("|")+")"+Es+Rs+")*",gf="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",_f="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ts=Es+Rs+pf,vf="(?:"+[lf,Jr,Zr].join("|")+")"+Ts,wf="(?:"+[As+Ke+"?",Ke,Jr,Zr,cf].join("|")+")",yf=RegExp(zr,"g"),mf=RegExp(Ke,"g"),Yr=RegExp(Gr+"(?="+Gr+")|"+wf+Ts,"g"),xf=RegExp([Gn+"?"+xs+"+"+Ps+"(?="+[ys,Gn,"$"].join("|")+")",df+"+"+Is+"(?="+[ys,Gn+Cs,"$"].join("|")+")",Gn+"?"+Cs+"+"+Ps,Gn+"+"+Is,_f,gf,ms,vf].join("|"),"g"),Sf=RegExp("["+bs+Me+ds+vs+"]"),Af=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,bf=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Cf=-1,et={};et[Dr]=et[Fr]=et[Ur]=et[Nr]=et[Br]=et[$r]=et[Mr]=et[Kr]=et[qr]=!0,et[mn]=et[B]=et[pe]=et[bt]=et[zn]=et[mt]=et[Ct]=et[Ne]=et[Yt]=et[ce]=et[fn]=et[le]=et[Xt]=et[he]=et[de]=!1;var nt={};nt[mn]=nt[B]=nt[pe]=nt[zn]=nt[bt]=nt[mt]=nt[Dr]=nt[Fr]=nt[Ur]=nt[Nr]=nt[Br]=nt[Yt]=nt[ce]=nt[fn]=nt[le]=nt[Xt]=nt[he]=nt[Be]=nt[$r]=nt[Mr]=nt[Kr]=nt[qr]=!0,nt[Ct]=nt[Ne]=nt[de]=!1;var Pf={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},If={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Rf={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Ef={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tf=parseFloat,Lf=parseInt,Ls=typeof ae=="object"&&ae&&ae.Object===Object&&ae,Of=typeof self=="object"&&self&&self.Object===Object&&self,pt=Ls||Of||Function("return this")(),Xr=a&&!a.nodeType&&a,Dn=Xr&&!0&&h&&!h.nodeType&&h,Os=Dn&&Dn.exports===Xr,Qr=Os&&Ls.process,Mt=function(){try{var l=Dn&&Dn.require&&Dn.require("util").types;return l||Qr&&Qr.binding&&Qr.binding("util")}catch{}}(),Ws=Mt&&Mt.isArrayBuffer,Ds=Mt&&Mt.isDate,Fs=Mt&&Mt.isMap,Us=Mt&&Mt.isRegExp,Ns=Mt&&Mt.isSet,Bs=Mt&&Mt.isTypedArray;function Ot(l,w,_){switch(_.length){case 0:return l.call(w);case 1:return l.call(w,_[0]);case 2:return l.call(w,_[0],_[1]);case 3:return l.call(w,_[0],_[1],_[2])}return l.apply(w,_)}function Wf(l,w,_,I){for(var F=-1,Y=l==null?0:l.length;++F<Y;){var ft=l[F];w(I,ft,_(ft),l)}return I}function Kt(l,w){for(var _=-1,I=l==null?0:l.length;++_<I&&w(l[_],_,l)!==!1;);return l}function Df(l,w){for(var _=l==null?0:l.length;_--&&w(l[_],_,l)!==!1;);return l}function $s(l,w){for(var _=-1,I=l==null?0:l.length;++_<I;)if(!w(l[_],_,l))return!1;return!0}function xn(l,w){for(var _=-1,I=l==null?0:l.length,F=0,Y=[];++_<I;){var ft=l[_];w(ft,_,l)&&(Y[F++]=ft)}return Y}function qe(l,w){var _=l==null?0:l.length;return!!_&&Jn(l,w,0)>-1}function Vr(l,w,_){for(var I=-1,F=l==null?0:l.length;++I<F;)if(_(w,l[I]))return!0;return!1}function rt(l,w){for(var _=-1,I=l==null?0:l.length,F=Array(I);++_<I;)F[_]=w(l[_],_,l);return F}function Sn(l,w){for(var _=-1,I=w.length,F=l.length;++_<I;)l[F+_]=w[_];return l}function jr(l,w,_,I){var F=-1,Y=l==null?0:l.length;for(I&&Y&&(_=l[++F]);++F<Y;)_=w(_,l[F],F,l);return _}function Ff(l,w,_,I){var F=l==null?0:l.length;for(I&&F&&(_=l[--F]);F--;)_=w(_,l[F],F,l);return _}function ti(l,w){for(var _=-1,I=l==null?0:l.length;++_<I;)if(w(l[_],_,l))return!0;return!1}var Uf=ni("length");function Nf(l){return l.split("")}function Bf(l){return l.match(za)||[]}function Ms(l,w,_){var I;return _(l,function(F,Y,ft){if(w(F,Y,ft))return I=Y,!1}),I}function ke(l,w,_,I){for(var F=l.length,Y=_+(I?1:-1);I?Y--:++Y<F;)if(w(l[Y],Y,l))return Y;return-1}function Jn(l,w,_){return w===w?Xf(l,w,_):ke(l,Ks,_)}function $f(l,w,_,I){for(var F=_-1,Y=l.length;++F<Y;)if(I(l[F],w))return F;return-1}function Ks(l){return l!==l}function qs(l,w){var _=l==null?0:l.length;return _?ri(l,w)/_:Hn}function ni(l){return function(w){return w==null?i:w[l]}}function ei(l){return function(w){return l==null?i:l[w]}}function ks(l,w,_,I,F){return F(l,function(Y,ft,j){_=I?(I=!1,Y):w(_,Y,ft,j)}),_}function Mf(l,w){var _=l.length;for(l.sort(w);_--;)l[_]=l[_].value;return l}function ri(l,w){for(var _,I=-1,F=l.length;++I<F;){var Y=w(l[I]);Y!==i&&(_=_===i?Y:_+Y)}return _}function ii(l,w){for(var _=-1,I=Array(l);++_<l;)I[_]=w(_);return I}function Kf(l,w){return rt(w,function(_){return[_,l[_]]})}function Hs(l){return l&&l.slice(0,Zs(l)+1).replace(Hr,"")}function Wt(l){return function(w){return l(w)}}function si(l,w){return rt(w,function(_){return l[_]})}function ge(l,w){return l.has(w)}function zs(l,w){for(var _=-1,I=l.length;++_<I&&Jn(w,l[_],0)>-1;);return _}function Gs(l,w){for(var _=l.length;_--&&Jn(w,l[_],0)>-1;);return _}function qf(l,w){for(var _=l.length,I=0;_--;)l[_]===w&&++I;return I}var kf=ei(Pf),Hf=ei(If);function zf(l){return"\\"+Ef[l]}function Gf(l,w){return l==null?i:l[w]}function Zn(l){return Sf.test(l)}function Jf(l){return Af.test(l)}function Zf(l){for(var w,_=[];!(w=l.next()).done;)_.push(w.value);return _}function ui(l){var w=-1,_=Array(l.size);return l.forEach(function(I,F){_[++w]=[F,I]}),_}function Js(l,w){return function(_){return l(w(_))}}function An(l,w){for(var _=-1,I=l.length,F=0,Y=[];++_<I;){var ft=l[_];(ft===w||ft===X)&&(l[_]=X,Y[F++]=_)}return Y}function He(l){var w=-1,_=Array(l.size);return l.forEach(function(I){_[++w]=I}),_}function Yf(l){var w=-1,_=Array(l.size);return l.forEach(function(I){_[++w]=[I,I]}),_}function Xf(l,w,_){for(var I=_-1,F=l.length;++I<F;)if(l[I]===w)return I;return-1}function Qf(l,w,_){for(var I=_+1;I--;)if(l[I]===w)return I;return I}function Yn(l){return Zn(l)?jf(l):Uf(l)}function Qt(l){return Zn(l)?tc(l):Nf(l)}function Zs(l){for(var w=l.length;w--&&Ka.test(l.charAt(w)););return w}var Vf=ei(Rf);function jf(l){for(var w=Yr.lastIndex=0;Yr.test(l);)++w;return w}function tc(l){return l.match(Yr)||[]}function nc(l){return l.match(xf)||[]}var ec=function l(w){w=w==null?pt:Xn.defaults(pt.Object(),w,Xn.pick(pt,bf));var _=w.Array,I=w.Date,F=w.Error,Y=w.Function,ft=w.Math,j=w.Object,oi=w.RegExp,rc=w.String,qt=w.TypeError,ze=_.prototype,ic=Y.prototype,Qn=j.prototype,Ge=w["__core-js_shared__"],Je=ic.toString,V=Qn.hasOwnProperty,sc=0,Ys=function(){var t=/[^.]+$/.exec(Ge&&Ge.keys&&Ge.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Ze=Qn.toString,uc=Je.call(j),oc=pt._,ac=oi("^"+Je.call(V).replace(kr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ye=Os?w.Buffer:i,bn=w.Symbol,Xe=w.Uint8Array,Xs=Ye?Ye.allocUnsafe:i,Qe=Js(j.getPrototypeOf,j),Qs=j.create,Vs=Qn.propertyIsEnumerable,Ve=ze.splice,js=bn?bn.isConcatSpreadable:i,_e=bn?bn.iterator:i,Fn=bn?bn.toStringTag:i,je=function(){try{var t=Mn(j,"defineProperty");return t({},"",{}),t}catch{}}(),fc=w.clearTimeout!==pt.clearTimeout&&w.clearTimeout,cc=I&&I.now!==pt.Date.now&&I.now,lc=w.setTimeout!==pt.setTimeout&&w.setTimeout,tr=ft.ceil,nr=ft.floor,ai=j.getOwnPropertySymbols,hc=Ye?Ye.isBuffer:i,tu=w.isFinite,dc=ze.join,pc=Js(j.keys,j),ct=ft.max,vt=ft.min,gc=I.now,_c=w.parseInt,nu=ft.random,vc=ze.reverse,fi=Mn(w,"DataView"),ve=Mn(w,"Map"),ci=Mn(w,"Promise"),Vn=Mn(w,"Set"),we=Mn(w,"WeakMap"),ye=Mn(j,"create"),er=we&&new we,jn={},wc=Kn(fi),yc=Kn(ve),mc=Kn(ci),xc=Kn(Vn),Sc=Kn(we),rr=bn?bn.prototype:i,me=rr?rr.valueOf:i,eu=rr?rr.toString:i;function u(t){if(st(t)&&!U(t)&&!(t instanceof G)){if(t instanceof kt)return t;if(V.call(t,"__wrapped__"))return ro(t)}return new kt(t)}var te=function(){function t(){}return function(n){if(!it(n))return{};if(Qs)return Qs(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function ir(){}function kt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}u.templateSettings={escape:Fa,evaluate:Ua,interpolate:ls,variable:"",imports:{_:u}},u.prototype=ir.prototype,u.prototype.constructor=u,kt.prototype=te(ir.prototype),kt.prototype.constructor=kt;function G(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=$t,this.__views__=[]}function Ac(){var t=new G(this.__wrapped__);return t.__actions__=Pt(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Pt(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Pt(this.__views__),t}function bc(){if(this.__filtered__){var t=new G(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Cc(){var t=this.__wrapped__.value(),n=this.__dir__,e=U(t),r=n<0,s=e?t.length:0,o=Nl(0,s,this.__views__),f=o.start,c=o.end,d=c-f,y=r?c:f-1,m=this.__iteratees__,S=m.length,b=0,R=vt(d,this.__takeCount__);if(!e||!r&&s==d&&R==d)return Pu(t,this.__actions__);var O=[];t:for(;d--&&b<R;){y+=n;for(var M=-1,W=t[y];++M<S;){var z=m[M],J=z.iteratee,Ut=z.type,At=J(W);if(Ut==De)W=At;else if(!At){if(Ut==Wn)continue t;break t}}O[b++]=W}return O}G.prototype=te(ir.prototype),G.prototype.constructor=G;function Un(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Pc(){this.__data__=ye?ye(null):{},this.size=0}function Ic(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}function Rc(t){var n=this.__data__;if(ye){var e=n[t];return e===C?i:e}return V.call(n,t)?n[t]:i}function Ec(t){var n=this.__data__;return ye?n[t]!==i:V.call(n,t)}function Tc(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=ye&&n===i?C:n,this}Un.prototype.clear=Pc,Un.prototype.delete=Ic,Un.prototype.get=Rc,Un.prototype.has=Ec,Un.prototype.set=Tc;function cn(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Lc(){this.__data__=[],this.size=0}function Oc(t){var n=this.__data__,e=sr(n,t);if(e<0)return!1;var r=n.length-1;return e==r?n.pop():Ve.call(n,e,1),--this.size,!0}function Wc(t){var n=this.__data__,e=sr(n,t);return e<0?i:n[e][1]}function Dc(t){return sr(this.__data__,t)>-1}function Fc(t,n){var e=this.__data__,r=sr(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}cn.prototype.clear=Lc,cn.prototype.delete=Oc,cn.prototype.get=Wc,cn.prototype.has=Dc,cn.prototype.set=Fc;function ln(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Uc(){this.size=0,this.__data__={hash:new Un,map:new(ve||cn),string:new Un}}function Nc(t){var n=vr(this,t).delete(t);return this.size-=n?1:0,n}function Bc(t){return vr(this,t).get(t)}function $c(t){return vr(this,t).has(t)}function Mc(t,n){var e=vr(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}ln.prototype.clear=Uc,ln.prototype.delete=Nc,ln.prototype.get=Bc,ln.prototype.has=$c,ln.prototype.set=Mc;function Nn(t){var n=-1,e=t==null?0:t.length;for(this.__data__=new ln;++n<e;)this.add(t[n])}function Kc(t){return this.__data__.set(t,C),this}function qc(t){return this.__data__.has(t)}Nn.prototype.add=Nn.prototype.push=Kc,Nn.prototype.has=qc;function Vt(t){var n=this.__data__=new cn(t);this.size=n.size}function kc(){this.__data__=new cn,this.size=0}function Hc(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e}function zc(t){return this.__data__.get(t)}function Gc(t){return this.__data__.has(t)}function Jc(t,n){var e=this.__data__;if(e instanceof cn){var r=e.__data__;if(!ve||r.length<g-1)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new ln(r)}return e.set(t,n),this.size=e.size,this}Vt.prototype.clear=kc,Vt.prototype.delete=Hc,Vt.prototype.get=zc,Vt.prototype.has=Gc,Vt.prototype.set=Jc;function ru(t,n){var e=U(t),r=!e&&qn(t),s=!e&&!r&&En(t),o=!e&&!r&&!s&&ie(t),f=e||r||s||o,c=f?ii(t.length,rc):[],d=c.length;for(var y in t)(n||V.call(t,y))&&!(f&&(y=="length"||s&&(y=="offset"||y=="parent")||o&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||gn(y,d)))&&c.push(y);return c}function iu(t){var n=t.length;return n?t[xi(0,n-1)]:i}function Zc(t,n){return wr(Pt(t),Bn(n,0,t.length))}function Yc(t){return wr(Pt(t))}function li(t,n,e){(e!==i&&!jt(t[n],e)||e===i&&!(n in t))&&hn(t,n,e)}function xe(t,n,e){var r=t[n];(!(V.call(t,n)&&jt(r,e))||e===i&&!(n in t))&&hn(t,n,e)}function sr(t,n){for(var e=t.length;e--;)if(jt(t[e][0],n))return e;return-1}function Xc(t,n,e,r){return Cn(t,function(s,o,f){n(r,s,e(s),f)}),r}function su(t,n){return t&&sn(n,ht(n),t)}function Qc(t,n){return t&&sn(n,Rt(n),t)}function hn(t,n,e){n=="__proto__"&&je?je(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function hi(t,n){for(var e=-1,r=n.length,s=_(r),o=t==null;++e<r;)s[e]=o?i:Gi(t,n[e]);return s}function Bn(t,n,e){return t===t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function Ht(t,n,e,r,s,o){var f,c=n&A,d=n&D,y=n&P;if(e&&(f=s?e(t,r,s,o):e(t)),f!==i)return f;if(!it(t))return t;var m=U(t);if(m){if(f=$l(t),!c)return Pt(t,f)}else{var S=wt(t),b=S==Ne||S==os;if(En(t))return Eu(t,c);if(S==fn||S==mn||b&&!s){if(f=d||b?{}:Zu(t),!c)return d?Rl(t,Qc(f,t)):Il(t,su(f,t))}else{if(!nt[S])return s?t:{};f=Ml(t,S,c)}}o||(o=new Vt);var R=o.get(t);if(R)return R;o.set(t,f),bo(t)?t.forEach(function(W){f.add(Ht(W,n,e,W,t,o))}):So(t)&&t.forEach(function(W,z){f.set(z,Ht(W,n,e,z,t,o))});var O=y?d?Oi:Li:d?Rt:ht,M=m?i:O(t);return Kt(M||t,function(W,z){M&&(z=W,W=t[z]),xe(f,z,Ht(W,n,e,z,t,o))}),f}function Vc(t){var n=ht(t);return function(e){return uu(e,t,n)}}function uu(t,n,e){var r=e.length;if(t==null)return!r;for(t=j(t);r--;){var s=e[r],o=n[s],f=t[s];if(f===i&&!(s in t)||!o(f))return!1}return!0}function ou(t,n,e){if(typeof t!="function")throw new qt(x);return Re(function(){t.apply(i,e)},n)}function Se(t,n,e,r){var s=-1,o=qe,f=!0,c=t.length,d=[],y=n.length;if(!c)return d;e&&(n=rt(n,Wt(e))),r?(o=Vr,f=!1):n.length>=g&&(o=ge,f=!1,n=new Nn(n));t:for(;++s<c;){var m=t[s],S=e==null?m:e(m);if(m=r||m!==0?m:0,f&&S===S){for(var b=y;b--;)if(n[b]===S)continue t;d.push(m)}else o(n,S,r)||d.push(m)}return d}var Cn=Du(rn),au=Du(pi,!0);function jc(t,n){var e=!0;return Cn(t,function(r,s,o){return e=!!n(r,s,o),e}),e}function ur(t,n,e){for(var r=-1,s=t.length;++r<s;){var o=t[r],f=n(o);if(f!=null&&(c===i?f===f&&!Ft(f):e(f,c)))var c=f,d=o}return d}function tl(t,n,e,r){var s=t.length;for(e=$(e),e<0&&(e=-e>s?0:s+e),r=r===i||r>s?s:$(r),r<0&&(r+=s),r=e>r?0:Po(r);e<r;)t[e++]=n;return t}function fu(t,n){var e=[];return Cn(t,function(r,s,o){n(r,s,o)&&e.push(r)}),e}function gt(t,n,e,r,s){var o=-1,f=t.length;for(e||(e=ql),s||(s=[]);++o<f;){var c=t[o];n>0&&e(c)?n>1?gt(c,n-1,e,r,s):Sn(s,c):r||(s[s.length]=c)}return s}var di=Fu(),cu=Fu(!0);function rn(t,n){return t&&di(t,n,ht)}function pi(t,n){return t&&cu(t,n,ht)}function or(t,n){return xn(n,function(e){return _n(t[e])})}function $n(t,n){n=In(n,t);for(var e=0,r=n.length;t!=null&&e<r;)t=t[un(n[e++])];return e&&e==r?t:i}function lu(t,n,e){var r=n(t);return U(t)?r:Sn(r,e(t))}function xt(t){return t==null?t===i?Ra:Pa:Fn&&Fn in j(t)?Ul(t):Yl(t)}function gi(t,n){return t>n}function nl(t,n){return t!=null&&V.call(t,n)}function el(t,n){return t!=null&&n in j(t)}function rl(t,n,e){return t>=vt(n,e)&&t<ct(n,e)}function _i(t,n,e){for(var r=e?Vr:qe,s=t[0].length,o=t.length,f=o,c=_(o),d=1/0,y=[];f--;){var m=t[f];f&&n&&(m=rt(m,Wt(n))),d=vt(m.length,d),c[f]=!e&&(n||s>=120&&m.length>=120)?new Nn(f&&m):i}m=t[0];var S=-1,b=c[0];t:for(;++S<s&&y.length<d;){var R=m[S],O=n?n(R):R;if(R=e||R!==0?R:0,!(b?ge(b,O):r(y,O,e))){for(f=o;--f;){var M=c[f];if(!(M?ge(M,O):r(t[f],O,e)))continue t}b&&b.push(O),y.push(R)}}return y}function il(t,n,e,r){return rn(t,function(s,o,f){n(r,e(s),o,f)}),r}function Ae(t,n,e){n=In(n,t),t=Vu(t,n);var r=t==null?t:t[un(Gt(n))];return r==null?i:Ot(r,t,e)}function hu(t){return st(t)&&xt(t)==mn}function sl(t){return st(t)&&xt(t)==pe}function ul(t){return st(t)&&xt(t)==mt}function be(t,n,e,r,s){return t===n?!0:t==null||n==null||!st(t)&&!st(n)?t!==t&&n!==n:ol(t,n,e,r,be,s)}function ol(t,n,e,r,s,o){var f=U(t),c=U(n),d=f?B:wt(t),y=c?B:wt(n);d=d==mn?fn:d,y=y==mn?fn:y;var m=d==fn,S=y==fn,b=d==y;if(b&&En(t)){if(!En(n))return!1;f=!0,m=!1}if(b&&!m)return o||(o=new Vt),f||ie(t)?zu(t,n,e,r,s,o):Dl(t,n,d,e,r,s,o);if(!(e&N)){var R=m&&V.call(t,"__wrapped__"),O=S&&V.call(n,"__wrapped__");if(R||O){var M=R?t.value():t,W=O?n.value():n;return o||(o=new Vt),s(M,W,e,r,o)}}return b?(o||(o=new Vt),Fl(t,n,e,r,s,o)):!1}function al(t){return st(t)&&wt(t)==Yt}function vi(t,n,e,r){var s=e.length,o=s,f=!r;if(t==null)return!o;for(t=j(t);s--;){var c=e[s];if(f&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++s<o;){c=e[s];var d=c[0],y=t[d],m=c[1];if(f&&c[2]){if(y===i&&!(d in t))return!1}else{var S=new Vt;if(r)var b=r(y,m,d,t,n,S);if(!(b===i?be(m,y,N|tt,r,S):b))return!1}}return!0}function du(t){if(!it(t)||Hl(t))return!1;var n=_n(t)?ac:Qa;return n.test(Kn(t))}function fl(t){return st(t)&&xt(t)==le}function cl(t){return st(t)&&wt(t)==Xt}function ll(t){return st(t)&&br(t.length)&&!!et[xt(t)]}function pu(t){return typeof t=="function"?t:t==null?Et:typeof t=="object"?U(t)?vu(t[0],t[1]):_u(t):No(t)}function wi(t){if(!Ie(t))return pc(t);var n=[];for(var e in j(t))V.call(t,e)&&e!="constructor"&&n.push(e);return n}function hl(t){if(!it(t))return Zl(t);var n=Ie(t),e=[];for(var r in t)r=="constructor"&&(n||!V.call(t,r))||e.push(r);return e}function yi(t,n){return t<n}function gu(t,n){var e=-1,r=It(t)?_(t.length):[];return Cn(t,function(s,o,f){r[++e]=n(s,o,f)}),r}function _u(t){var n=Di(t);return n.length==1&&n[0][2]?Xu(n[0][0],n[0][1]):function(e){return e===t||vi(e,t,n)}}function vu(t,n){return Ui(t)&&Yu(n)?Xu(un(t),n):function(e){var r=Gi(e,t);return r===i&&r===n?Ji(e,t):be(n,r,N|tt)}}function ar(t,n,e,r,s){t!==n&&di(n,function(o,f){if(s||(s=new Vt),it(o))dl(t,n,f,e,ar,r,s);else{var c=r?r(Bi(t,f),o,f+"",t,n,s):i;c===i&&(c=o),li(t,f,c)}},Rt)}function dl(t,n,e,r,s,o,f){var c=Bi(t,e),d=Bi(n,e),y=f.get(d);if(y){li(t,e,y);return}var m=o?o(c,d,e+"",t,n,f):i,S=m===i;if(S){var b=U(d),R=!b&&En(d),O=!b&&!R&&ie(d);m=d,b||R||O?U(c)?m=c:ut(c)?m=Pt(c):R?(S=!1,m=Eu(d,!0)):O?(S=!1,m=Tu(d,!0)):m=[]:Ee(d)||qn(d)?(m=c,qn(c)?m=Io(c):(!it(c)||_n(c))&&(m=Zu(d))):S=!1}S&&(f.set(d,m),s(m,d,r,o,f),f.delete(d)),li(t,e,m)}function wu(t,n){var e=t.length;if(e)return n+=n<0?e:0,gn(n,e)?t[n]:i}function yu(t,n,e){n.length?n=rt(n,function(o){return U(o)?function(f){return $n(f,o.length===1?o[0]:o)}:o}):n=[Et];var r=-1;n=rt(n,Wt(L()));var s=gu(t,function(o,f,c){var d=rt(n,function(y){return y(o)});return{criteria:d,index:++r,value:o}});return Mf(s,function(o,f){return Pl(o,f,e)})}function pl(t,n){return mu(t,n,function(e,r){return Ji(t,r)})}function mu(t,n,e){for(var r=-1,s=n.length,o={};++r<s;){var f=n[r],c=$n(t,f);e(c,f)&&Ce(o,In(f,t),c)}return o}function gl(t){return function(n){return $n(n,t)}}function mi(t,n,e,r){var s=r?$f:Jn,o=-1,f=n.length,c=t;for(t===n&&(n=Pt(n)),e&&(c=rt(t,Wt(e)));++o<f;)for(var d=0,y=n[o],m=e?e(y):y;(d=s(c,m,d,r))>-1;)c!==t&&Ve.call(c,d,1),Ve.call(t,d,1);return t}function xu(t,n){for(var e=t?n.length:0,r=e-1;e--;){var s=n[e];if(e==r||s!==o){var o=s;gn(s)?Ve.call(t,s,1):bi(t,s)}}return t}function xi(t,n){return t+nr(nu()*(n-t+1))}function _l(t,n,e,r){for(var s=-1,o=ct(tr((n-t)/(e||1)),0),f=_(o);o--;)f[r?o:++s]=t,t+=e;return f}function Si(t,n){var e="";if(!t||n<1||n>en)return e;do n%2&&(e+=t),n=nr(n/2),n&&(t+=t);while(n);return e}function q(t,n){return $i(Qu(t,n,Et),t+"")}function vl(t){return iu(se(t))}function wl(t,n){var e=se(t);return wr(e,Bn(n,0,e.length))}function Ce(t,n,e,r){if(!it(t))return t;n=In(n,t);for(var s=-1,o=n.length,f=o-1,c=t;c!=null&&++s<o;){var d=un(n[s]),y=e;if(d==="__proto__"||d==="constructor"||d==="prototype")return t;if(s!=f){var m=c[d];y=r?r(m,d,c):i,y===i&&(y=it(m)?m:gn(n[s+1])?[]:{})}xe(c,d,y),c=c[d]}return t}var Su=er?function(t,n){return er.set(t,n),t}:Et,yl=je?function(t,n){return je(t,"toString",{configurable:!0,enumerable:!1,value:Yi(n),writable:!0})}:Et;function ml(t){return wr(se(t))}function zt(t,n,e){var r=-1,s=t.length;n<0&&(n=-n>s?0:s+n),e=e>s?s:e,e<0&&(e+=s),s=n>e?0:e-n>>>0,n>>>=0;for(var o=_(s);++r<s;)o[r]=t[r+n];return o}function xl(t,n){var e;return Cn(t,function(r,s,o){return e=n(r,s,o),!e}),!!e}function fr(t,n,e){var r=0,s=t==null?r:t.length;if(typeof n=="number"&&n===n&&s<=Fe){for(;r<s;){var o=r+s>>>1,f=t[o];f!==null&&!Ft(f)&&(e?f<=n:f<n)?r=o+1:s=o}return s}return Ai(t,n,Et,e)}function Ai(t,n,e,r){var s=0,o=t==null?0:t.length;if(o===0)return 0;n=e(n);for(var f=n!==n,c=n===null,d=Ft(n),y=n===i;s<o;){var m=nr((s+o)/2),S=e(t[m]),b=S!==i,R=S===null,O=S===S,M=Ft(S);if(f)var W=r||O;else y?W=O&&(r||b):c?W=O&&b&&(r||!R):d?W=O&&b&&!R&&(r||!M):R||M?W=!1:W=r?S<=n:S<n;W?s=m+1:o=m}return vt(o,Or)}function Au(t,n){for(var e=-1,r=t.length,s=0,o=[];++e<r;){var f=t[e],c=n?n(f):f;if(!e||!jt(c,d)){var d=c;o[s++]=f===0?0:f}}return o}function bu(t){return typeof t=="number"?t:Ft(t)?Hn:+t}function Dt(t){if(typeof t=="string")return t;if(U(t))return rt(t,Dt)+"";if(Ft(t))return eu?eu.call(t):"";var n=t+"";return n=="0"&&1/t==-an?"-0":n}function Pn(t,n,e){var r=-1,s=qe,o=t.length,f=!0,c=[],d=c;if(e)f=!1,s=Vr;else if(o>=g){var y=n?null:Ol(t);if(y)return He(y);f=!1,s=ge,d=new Nn}else d=n?[]:c;t:for(;++r<o;){var m=t[r],S=n?n(m):m;if(m=e||m!==0?m:0,f&&S===S){for(var b=d.length;b--;)if(d[b]===S)continue t;n&&d.push(S),c.push(m)}else s(d,S,e)||(d!==c&&d.push(S),c.push(m))}return c}function bi(t,n){return n=In(n,t),t=Vu(t,n),t==null||delete t[un(Gt(n))]}function Cu(t,n,e,r){return Ce(t,n,e($n(t,n)),r)}function cr(t,n,e,r){for(var s=t.length,o=r?s:-1;(r?o--:++o<s)&&n(t[o],o,t););return e?zt(t,r?0:o,r?o+1:s):zt(t,r?o+1:0,r?s:o)}function Pu(t,n){var e=t;return e instanceof G&&(e=e.value()),jr(n,function(r,s){return s.func.apply(s.thisArg,Sn([r],s.args))},e)}function Ci(t,n,e){var r=t.length;if(r<2)return r?Pn(t[0]):[];for(var s=-1,o=_(r);++s<r;)for(var f=t[s],c=-1;++c<r;)c!=s&&(o[s]=Se(o[s]||f,t[c],n,e));return Pn(gt(o,1),n,e)}function Iu(t,n,e){for(var r=-1,s=t.length,o=n.length,f={};++r<s;){var c=r<o?n[r]:i;e(f,t[r],c)}return f}function Pi(t){return ut(t)?t:[]}function Ii(t){return typeof t=="function"?t:Et}function In(t,n){return U(t)?t:Ui(t,n)?[t]:eo(Q(t))}var Sl=q;function Rn(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:zt(t,n,e)}var Ru=fc||function(t){return pt.clearTimeout(t)};function Eu(t,n){if(n)return t.slice();var e=t.length,r=Xs?Xs(e):new t.constructor(e);return t.copy(r),r}function Ri(t){var n=new t.constructor(t.byteLength);return new Xe(n).set(new Xe(t)),n}function Al(t,n){var e=n?Ri(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function bl(t){var n=new t.constructor(t.source,hs.exec(t));return n.lastIndex=t.lastIndex,n}function Cl(t){return me?j(me.call(t)):{}}function Tu(t,n){var e=n?Ri(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Lu(t,n){if(t!==n){var e=t!==i,r=t===null,s=t===t,o=Ft(t),f=n!==i,c=n===null,d=n===n,y=Ft(n);if(!c&&!y&&!o&&t>n||o&&f&&d&&!c&&!y||r&&f&&d||!e&&d||!s)return 1;if(!r&&!o&&!y&&t<n||y&&e&&s&&!r&&!o||c&&e&&s||!f&&s||!d)return-1}return 0}function Pl(t,n,e){for(var r=-1,s=t.criteria,o=n.criteria,f=s.length,c=e.length;++r<f;){var d=Lu(s[r],o[r]);if(d){if(r>=c)return d;var y=e[r];return d*(y=="desc"?-1:1)}}return t.index-n.index}function Ou(t,n,e,r){for(var s=-1,o=t.length,f=e.length,c=-1,d=n.length,y=ct(o-f,0),m=_(d+y),S=!r;++c<d;)m[c]=n[c];for(;++s<f;)(S||s<o)&&(m[e[s]]=t[s]);for(;y--;)m[c++]=t[s++];return m}function Wu(t,n,e,r){for(var s=-1,o=t.length,f=-1,c=e.length,d=-1,y=n.length,m=ct(o-c,0),S=_(m+y),b=!r;++s<m;)S[s]=t[s];for(var R=s;++d<y;)S[R+d]=n[d];for(;++f<c;)(b||s<o)&&(S[R+e[f]]=t[s++]);return S}function Pt(t,n){var e=-1,r=t.length;for(n||(n=_(r));++e<r;)n[e]=t[e];return n}function sn(t,n,e,r){var s=!e;e||(e={});for(var o=-1,f=n.length;++o<f;){var c=n[o],d=r?r(e[c],t[c],c,e,t):i;d===i&&(d=t[c]),s?hn(e,c,d):xe(e,c,d)}return e}function Il(t,n){return sn(t,Fi(t),n)}function Rl(t,n){return sn(t,Gu(t),n)}function lr(t,n){return function(e,r){var s=U(e)?Wf:Xc,o=n?n():{};return s(e,t,L(r,2),o)}}function ne(t){return q(function(n,e){var r=-1,s=e.length,o=s>1?e[s-1]:i,f=s>2?e[2]:i;for(o=t.length>3&&typeof o=="function"?(s--,o):i,f&&St(e[0],e[1],f)&&(o=s<3?i:o,s=1),n=j(n);++r<s;){var c=e[r];c&&t(n,c,r,o)}return n})}function Du(t,n){return function(e,r){if(e==null)return e;if(!It(e))return t(e,r);for(var s=e.length,o=n?s:-1,f=j(e);(n?o--:++o<s)&&r(f[o],o,f)!==!1;);return e}}function Fu(t){return function(n,e,r){for(var s=-1,o=j(n),f=r(n),c=f.length;c--;){var d=f[t?c:++s];if(e(o[d],d,o)===!1)break}return n}}function El(t,n,e){var r=n&H,s=Pe(t);function o(){var f=this&&this!==pt&&this instanceof o?s:t;return f.apply(r?e:this,arguments)}return o}function Uu(t){return function(n){n=Q(n);var e=Zn(n)?Qt(n):i,r=e?e[0]:n.charAt(0),s=e?Rn(e,1).join(""):n.slice(1);return r[t]()+s}}function ee(t){return function(n){return jr(Fo(Do(n).replace(yf,"")),t,"")}}function Pe(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=te(t.prototype),r=t.apply(e,n);return it(r)?r:e}}function Tl(t,n,e){var r=Pe(t);function s(){for(var o=arguments.length,f=_(o),c=o,d=re(s);c--;)f[c]=arguments[c];var y=o<3&&f[0]!==d&&f[o-1]!==d?[]:An(f,d);if(o-=y.length,o<e)return Ku(t,n,hr,s.placeholder,i,f,y,i,i,e-o);var m=this&&this!==pt&&this instanceof s?r:t;return Ot(m,this,f)}return s}function Nu(t){return function(n,e,r){var s=j(n);if(!It(n)){var o=L(e,3);n=ht(n),e=function(c){return o(s[c],c,s)}}var f=t(n,e,r);return f>-1?s[o?n[f]:f]:i}}function Bu(t){return pn(function(n){var e=n.length,r=e,s=kt.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if(typeof o!="function")throw new qt(x);if(s&&!f&&_r(o)=="wrapper")var f=new kt([],!0)}for(r=f?r:e;++r<e;){o=n[r];var c=_r(o),d=c=="wrapper"?Wi(o):i;d&&Ni(d[0])&&d[1]==(Bt|dt|Zt|nn)&&!d[4].length&&d[9]==1?f=f[_r(d[0])].apply(f,d[3]):f=o.length==1&&Ni(o)?f[c]():f.thru(o)}return function(){var y=arguments,m=y[0];if(f&&y.length==1&&U(m))return f.plant(m).value();for(var S=0,b=e?n[S].apply(this,y):m;++S<e;)b=n[S].call(this,b);return b}})}function hr(t,n,e,r,s,o,f,c,d,y){var m=n&Bt,S=n&H,b=n&yn,R=n&(dt|_t),O=n&Tt,M=b?i:Pe(t);function W(){for(var z=arguments.length,J=_(z),Ut=z;Ut--;)J[Ut]=arguments[Ut];if(R)var At=re(W),Nt=qf(J,At);if(r&&(J=Ou(J,r,s,R)),o&&(J=Wu(J,o,f,R)),z-=Nt,R&&z<y){var ot=An(J,At);return Ku(t,n,hr,W.placeholder,e,J,ot,c,d,y-z)}var tn=S?e:this,wn=b?tn[t]:t;return z=J.length,c?J=Xl(J,c):O&&z>1&&J.reverse(),m&&d<z&&(J.length=d),this&&this!==pt&&this instanceof W&&(wn=M||Pe(wn)),wn.apply(tn,J)}return W}function $u(t,n){return function(e,r){return il(e,t,n(r),{})}}function dr(t,n){return function(e,r){var s;if(e===i&&r===i)return n;if(e!==i&&(s=e),r!==i){if(s===i)return r;typeof e=="string"||typeof r=="string"?(e=Dt(e),r=Dt(r)):(e=bu(e),r=bu(r)),s=t(e,r)}return s}}function Ei(t){return pn(function(n){return n=rt(n,Wt(L())),q(function(e){var r=this;return t(n,function(s){return Ot(s,r,e)})})})}function pr(t,n){n=n===i?" ":Dt(n);var e=n.length;if(e<2)return e?Si(n,t):n;var r=Si(n,tr(t/Yn(n)));return Zn(n)?Rn(Qt(r),0,t).join(""):r.slice(0,t)}function Ll(t,n,e,r){var s=n&H,o=Pe(t);function f(){for(var c=-1,d=arguments.length,y=-1,m=r.length,S=_(m+d),b=this&&this!==pt&&this instanceof f?o:t;++y<m;)S[y]=r[y];for(;d--;)S[y++]=arguments[++c];return Ot(b,s?e:this,S)}return f}function Mu(t){return function(n,e,r){return r&&typeof r!="number"&&St(n,e,r)&&(e=r=i),n=vn(n),e===i?(e=n,n=0):e=vn(e),r=r===i?n<e?1:-1:vn(r),_l(n,e,r,t)}}function gr(t){return function(n,e){return typeof n=="string"&&typeof e=="string"||(n=Jt(n),e=Jt(e)),t(n,e)}}function Ku(t,n,e,r,s,o,f,c,d,y){var m=n&dt,S=m?f:i,b=m?i:f,R=m?o:i,O=m?i:o;n|=m?Zt:On,n&=~(m?On:Zt),n&on||(n&=-4);var M=[t,n,s,R,S,O,b,c,d,y],W=e.apply(i,M);return Ni(t)&&ju(W,M),W.placeholder=r,to(W,t,n)}function Ti(t){var n=ft[t];return function(e,r){if(e=Jt(e),r=r==null?0:vt($(r),292),r&&tu(e)){var s=(Q(e)+"e").split("e"),o=n(s[0]+"e"+(+s[1]+r));return s=(Q(o)+"e").split("e"),+(s[0]+"e"+(+s[1]-r))}return n(e)}}var Ol=Vn&&1/He(new Vn([,-0]))[1]==an?function(t){return new Vn(t)}:Vi;function qu(t){return function(n){var e=wt(n);return e==Yt?ui(n):e==Xt?Yf(n):Kf(n,t(n))}}function dn(t,n,e,r,s,o,f,c){var d=n&yn;if(!d&&typeof t!="function")throw new qt(x);var y=r?r.length:0;if(y||(n&=-97,r=s=i),f=f===i?f:ct($(f),0),c=c===i?c:$(c),y-=s?s.length:0,n&On){var m=r,S=s;r=s=i}var b=d?i:Wi(t),R=[t,n,e,r,s,m,S,o,f,c];if(b&&Jl(R,b),t=R[0],n=R[1],e=R[2],r=R[3],s=R[4],c=R[9]=R[9]===i?d?0:t.length:ct(R[9]-y,0),!c&&n&(dt|_t)&&(n&=-25),!n||n==H)var O=El(t,n,e);else n==dt||n==_t?O=Tl(t,n,c):(n==Zt||n==(H|Zt))&&!s.length?O=Ll(t,n,e,r):O=hr.apply(i,R);var M=b?Su:ju;return to(M(O,R),t,n)}function ku(t,n,e,r){return t===i||jt(t,Qn[e])&&!V.call(r,e)?n:t}function Hu(t,n,e,r,s,o){return it(t)&&it(n)&&(o.set(n,t),ar(t,n,i,Hu,o),o.delete(n)),t}function Wl(t){return Ee(t)?i:t}function zu(t,n,e,r,s,o){var f=e&N,c=t.length,d=n.length;if(c!=d&&!(f&&d>c))return!1;var y=o.get(t),m=o.get(n);if(y&&m)return y==n&&m==t;var S=-1,b=!0,R=e&tt?new Nn:i;for(o.set(t,n),o.set(n,t);++S<c;){var O=t[S],M=n[S];if(r)var W=f?r(M,O,S,n,t,o):r(O,M,S,t,n,o);if(W!==i){if(W)continue;b=!1;break}if(R){if(!ti(n,function(z,J){if(!ge(R,J)&&(O===z||s(O,z,e,r,o)))return R.push(J)})){b=!1;break}}else if(!(O===M||s(O,M,e,r,o))){b=!1;break}}return o.delete(t),o.delete(n),b}function Dl(t,n,e,r,s,o,f){switch(e){case zn:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case pe:return!(t.byteLength!=n.byteLength||!o(new Xe(t),new Xe(n)));case bt:case mt:case ce:return jt(+t,+n);case Ct:return t.name==n.name&&t.message==n.message;case le:case he:return t==n+"";case Yt:var c=ui;case Xt:var d=r&N;if(c||(c=He),t.size!=n.size&&!d)return!1;var y=f.get(t);if(y)return y==n;r|=tt,f.set(t,n);var m=zu(c(t),c(n),r,s,o,f);return f.delete(t),m;case Be:if(me)return me.call(t)==me.call(n)}return!1}function Fl(t,n,e,r,s,o){var f=e&N,c=Li(t),d=c.length,y=Li(n),m=y.length;if(d!=m&&!f)return!1;for(var S=d;S--;){var b=c[S];if(!(f?b in n:V.call(n,b)))return!1}var R=o.get(t),O=o.get(n);if(R&&O)return R==n&&O==t;var M=!0;o.set(t,n),o.set(n,t);for(var W=f;++S<d;){b=c[S];var z=t[b],J=n[b];if(r)var Ut=f?r(J,z,b,n,t,o):r(z,J,b,t,n,o);if(!(Ut===i?z===J||s(z,J,e,r,o):Ut)){M=!1;break}W||(W=b=="constructor")}if(M&&!W){var At=t.constructor,Nt=n.constructor;At!=Nt&&"constructor"in t&&"constructor"in n&&!(typeof At=="function"&&At instanceof At&&typeof Nt=="function"&&Nt instanceof Nt)&&(M=!1)}return o.delete(t),o.delete(n),M}function pn(t){return $i(Qu(t,i,uo),t+"")}function Li(t){return lu(t,ht,Fi)}function Oi(t){return lu(t,Rt,Gu)}var Wi=er?function(t){return er.get(t)}:Vi;function _r(t){for(var n=t.name+"",e=jn[n],r=V.call(jn,n)?e.length:0;r--;){var s=e[r],o=s.func;if(o==null||o==t)return s.name}return n}function re(t){var n=V.call(u,"placeholder")?u:t;return n.placeholder}function L(){var t=u.iteratee||Xi;return t=t===Xi?pu:t,arguments.length?t(arguments[0],arguments[1]):t}function vr(t,n){var e=t.__data__;return kl(n)?e[typeof n=="string"?"string":"hash"]:e.map}function Di(t){for(var n=ht(t),e=n.length;e--;){var r=n[e],s=t[r];n[e]=[r,s,Yu(s)]}return n}function Mn(t,n){var e=Gf(t,n);return du(e)?e:i}function Ul(t){var n=V.call(t,Fn),e=t[Fn];try{t[Fn]=i;var r=!0}catch{}var s=Ze.call(t);return r&&(n?t[Fn]=e:delete t[Fn]),s}var Fi=ai?function(t){return t==null?[]:(t=j(t),xn(ai(t),function(n){return Vs.call(t,n)}))}:ji,Gu=ai?function(t){for(var n=[];t;)Sn(n,Fi(t)),t=Qe(t);return n}:ji,wt=xt;(fi&&wt(new fi(new ArrayBuffer(1)))!=zn||ve&&wt(new ve)!=Yt||ci&&wt(ci.resolve())!=as||Vn&&wt(new Vn)!=Xt||we&&wt(new we)!=de)&&(wt=function(t){var n=xt(t),e=n==fn?t.constructor:i,r=e?Kn(e):"";if(r)switch(r){case wc:return zn;case yc:return Yt;case mc:return as;case xc:return Xt;case Sc:return de}return n});function Nl(t,n,e){for(var r=-1,s=e.length;++r<s;){var o=e[r],f=o.size;switch(o.type){case"drop":t+=f;break;case"dropRight":n-=f;break;case"take":n=vt(n,t+f);break;case"takeRight":t=ct(t,n-f);break}}return{start:t,end:n}}function Bl(t){var n=t.match(ka);return n?n[1].split(Ha):[]}function Ju(t,n,e){n=In(n,t);for(var r=-1,s=n.length,o=!1;++r<s;){var f=un(n[r]);if(!(o=t!=null&&e(t,f)))break;t=t[f]}return o||++r!=s?o:(s=t==null?0:t.length,!!s&&br(s)&&gn(f,s)&&(U(t)||qn(t)))}function $l(t){var n=t.length,e=new t.constructor(n);return n&&typeof t[0]=="string"&&V.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Zu(t){return typeof t.constructor=="function"&&!Ie(t)?te(Qe(t)):{}}function Ml(t,n,e){var r=t.constructor;switch(n){case pe:return Ri(t);case bt:case mt:return new r(+t);case zn:return Al(t,e);case Dr:case Fr:case Ur:case Nr:case Br:case $r:case Mr:case Kr:case qr:return Tu(t,e);case Yt:return new r;case ce:case he:return new r(t);case le:return bl(t);case Xt:return new r;case Be:return Cl(t)}}function Kl(t,n){var e=n.length;if(!e)return t;var r=e-1;return n[r]=(e>1?"& ":"")+n[r],n=n.join(e>2?", ":" "),t.replace(qa,`{
8
+ */Ee.exports,function(l,a){(function(){var i,p="4.17.21",g=200,v="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",x="Expected a function",E="Invalid `variable` option passed into `_.template`",C="__lodash_hash_undefined__",K=500,X="__lodash_placeholder__",A=1,D=2,P=4,N=1,tt=2,H=1,wn=2,on=4,dt=8,_t=16,Zt=32,Ln=64,Bt=128,nn=256,Et=512,Le=30,fe="...",Ot=800,We=16,Wn=1,De=2,lt=3,an=1/0,en=9007199254740991,Lr=17976931348623157e292,Hn=NaN,$t=4294967295,Wr=$t-1,Fe=$t>>>1,Dr=[["ary",Bt],["bind",H],["bindKey",wn],["curry",dt],["curryRight",_t],["flip",Et],["partial",Zt],["partialRight",Ln],["rearg",nn]],mn="[object Arguments]",B="[object Array]",at="[object AsyncFunction]",bt="[object Boolean]",mt="[object Date]",Ue="[object DOMException]",Ct="[object Error]",Ne="[object Function]",as="[object GeneratorFunction]",Yt="[object Map]",ce="[object Number]",Ia="[object Null]",fn="[object Object]",fs="[object Promise]",Ra="[object Proxy]",le="[object RegExp]",Xt="[object Set]",he="[object String]",Be="[object Symbol]",Ta="[object Undefined]",de="[object WeakMap]",Ea="[object WeakSet]",pe="[object ArrayBuffer]",zn="[object DataView]",Fr="[object Float32Array]",Ur="[object Float64Array]",Nr="[object Int8Array]",Br="[object Int16Array]",$r="[object Int32Array]",Mr="[object Uint8Array]",Kr="[object Uint8ClampedArray]",qr="[object Uint16Array]",kr="[object Uint32Array]",Oa=/\b__p \+= '';/g,La=/\b(__p \+=) '' \+/g,Wa=/(__e\(.*?\)|\b__t\)) \+\n'';/g,cs=/&(?:amp|lt|gt|quot|#39);/g,ls=/[&<>"']/g,Da=RegExp(cs.source),Fa=RegExp(ls.source),Ua=/<%-([\s\S]+?)%>/g,Na=/<%([\s\S]+?)%>/g,hs=/<%=([\s\S]+?)%>/g,Ba=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,$a=/^\w*$/,Ma=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Hr=/[\\^$.*+?()[\]{}|]/g,Ka=RegExp(Hr.source),zr=/^\s+/,qa=/\s/,ka=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ha=/\{\n\/\* \[wrapped with (.+)\] \*/,za=/,? & /,Ga=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ja=/[()=,{}\[\]\/\s]/,Za=/\\(\\)?/g,Ya=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ds=/\w*$/,Xa=/^[-+]0x[0-9a-f]+$/i,Qa=/^0b[01]+$/i,Va=/^\[object .+?Constructor\]$/,ja=/^0o[0-7]+$/i,tf=/^(?:0|[1-9]\d*)$/,nf=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,$e=/($^)/,ef=/['\n\r\u2028\u2029\\]/g,Me="\\ud800-\\udfff",rf="\\u0300-\\u036f",sf="\\ufe20-\\ufe2f",uf="\\u20d0-\\u20ff",ps=rf+sf+uf,gs="\\u2700-\\u27bf",_s="a-z\\xdf-\\xf6\\xf8-\\xff",of="\\xac\\xb1\\xd7\\xf7",af="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",ff="\\u2000-\\u206f",cf=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",vs="A-Z\\xc0-\\xd6\\xd8-\\xde",ys="\\ufe0e\\ufe0f",ws=of+af+ff+cf,Gr="['’]",lf="["+Me+"]",ms="["+ws+"]",Ke="["+ps+"]",xs="\\d+",hf="["+gs+"]",Ss="["+_s+"]",As="[^"+Me+ws+xs+gs+_s+vs+"]",Jr="\\ud83c[\\udffb-\\udfff]",df="(?:"+Ke+"|"+Jr+")",bs="[^"+Me+"]",Zr="(?:\\ud83c[\\udde6-\\uddff]){2}",Yr="[\\ud800-\\udbff][\\udc00-\\udfff]",Gn="["+vs+"]",Cs="\\u200d",Ps="(?:"+Ss+"|"+As+")",pf="(?:"+Gn+"|"+As+")",Is="(?:"+Gr+"(?:d|ll|m|re|s|t|ve))?",Rs="(?:"+Gr+"(?:D|LL|M|RE|S|T|VE))?",Ts=df+"?",Es="["+ys+"]?",gf="(?:"+Cs+"(?:"+[bs,Zr,Yr].join("|")+")"+Es+Ts+")*",_f="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",vf="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Os=Es+Ts+gf,yf="(?:"+[hf,Zr,Yr].join("|")+")"+Os,wf="(?:"+[bs+Ke+"?",Ke,Zr,Yr,lf].join("|")+")",mf=RegExp(Gr,"g"),xf=RegExp(Ke,"g"),Xr=RegExp(Jr+"(?="+Jr+")|"+wf+Os,"g"),Sf=RegExp([Gn+"?"+Ss+"+"+Is+"(?="+[ms,Gn,"$"].join("|")+")",pf+"+"+Rs+"(?="+[ms,Gn+Ps,"$"].join("|")+")",Gn+"?"+Ps+"+"+Is,Gn+"+"+Rs,vf,_f,xs,yf].join("|"),"g"),Af=RegExp("["+Cs+Me+ps+ys+"]"),bf=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Cf=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Pf=-1,et={};et[Fr]=et[Ur]=et[Nr]=et[Br]=et[$r]=et[Mr]=et[Kr]=et[qr]=et[kr]=!0,et[mn]=et[B]=et[pe]=et[bt]=et[zn]=et[mt]=et[Ct]=et[Ne]=et[Yt]=et[ce]=et[fn]=et[le]=et[Xt]=et[he]=et[de]=!1;var nt={};nt[mn]=nt[B]=nt[pe]=nt[zn]=nt[bt]=nt[mt]=nt[Fr]=nt[Ur]=nt[Nr]=nt[Br]=nt[$r]=nt[Yt]=nt[ce]=nt[fn]=nt[le]=nt[Xt]=nt[he]=nt[Be]=nt[Mr]=nt[Kr]=nt[qr]=nt[kr]=!0,nt[Ct]=nt[Ne]=nt[de]=!1;var If={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Rf={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Tf={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Ef={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Of=parseFloat,Lf=parseInt,Ls=typeof ae=="object"&&ae&&ae.Object===Object&&ae,Wf=typeof self=="object"&&self&&self.Object===Object&&self,pt=Ls||Wf||Function("return this")(),Qr=a&&!a.nodeType&&a,Dn=Qr&&!0&&l&&!l.nodeType&&l,Ws=Dn&&Dn.exports===Qr,Vr=Ws&&Ls.process,Mt=function(){try{var h=Dn&&Dn.require&&Dn.require("util").types;return h||Vr&&Vr.binding&&Vr.binding("util")}catch{}}(),Ds=Mt&&Mt.isArrayBuffer,Fs=Mt&&Mt.isDate,Us=Mt&&Mt.isMap,Ns=Mt&&Mt.isRegExp,Bs=Mt&&Mt.isSet,$s=Mt&&Mt.isTypedArray;function Lt(h,y,_){switch(_.length){case 0:return h.call(y);case 1:return h.call(y,_[0]);case 2:return h.call(y,_[0],_[1]);case 3:return h.call(y,_[0],_[1],_[2])}return h.apply(y,_)}function Df(h,y,_,I){for(var F=-1,Y=h==null?0:h.length;++F<Y;){var ft=h[F];y(I,ft,_(ft),h)}return I}function Kt(h,y){for(var _=-1,I=h==null?0:h.length;++_<I&&y(h[_],_,h)!==!1;);return h}function Ff(h,y){for(var _=h==null?0:h.length;_--&&y(h[_],_,h)!==!1;);return h}function Ms(h,y){for(var _=-1,I=h==null?0:h.length;++_<I;)if(!y(h[_],_,h))return!1;return!0}function xn(h,y){for(var _=-1,I=h==null?0:h.length,F=0,Y=[];++_<I;){var ft=h[_];y(ft,_,h)&&(Y[F++]=ft)}return Y}function qe(h,y){var _=h==null?0:h.length;return!!_&&Jn(h,y,0)>-1}function jr(h,y,_){for(var I=-1,F=h==null?0:h.length;++I<F;)if(_(y,h[I]))return!0;return!1}function rt(h,y){for(var _=-1,I=h==null?0:h.length,F=Array(I);++_<I;)F[_]=y(h[_],_,h);return F}function Sn(h,y){for(var _=-1,I=y.length,F=h.length;++_<I;)h[F+_]=y[_];return h}function ti(h,y,_,I){var F=-1,Y=h==null?0:h.length;for(I&&Y&&(_=h[++F]);++F<Y;)_=y(_,h[F],F,h);return _}function Uf(h,y,_,I){var F=h==null?0:h.length;for(I&&F&&(_=h[--F]);F--;)_=y(_,h[F],F,h);return _}function ni(h,y){for(var _=-1,I=h==null?0:h.length;++_<I;)if(y(h[_],_,h))return!0;return!1}var Nf=ei("length");function Bf(h){return h.split("")}function $f(h){return h.match(Ga)||[]}function Ks(h,y,_){var I;return _(h,function(F,Y,ft){if(y(F,Y,ft))return I=Y,!1}),I}function ke(h,y,_,I){for(var F=h.length,Y=_+(I?1:-1);I?Y--:++Y<F;)if(y(h[Y],Y,h))return Y;return-1}function Jn(h,y,_){return y===y?Qf(h,y,_):ke(h,qs,_)}function Mf(h,y,_,I){for(var F=_-1,Y=h.length;++F<Y;)if(I(h[F],y))return F;return-1}function qs(h){return h!==h}function ks(h,y){var _=h==null?0:h.length;return _?ii(h,y)/_:Hn}function ei(h){return function(y){return y==null?i:y[h]}}function ri(h){return function(y){return h==null?i:h[y]}}function Hs(h,y,_,I,F){return F(h,function(Y,ft,j){_=I?(I=!1,Y):y(_,Y,ft,j)}),_}function Kf(h,y){var _=h.length;for(h.sort(y);_--;)h[_]=h[_].value;return h}function ii(h,y){for(var _,I=-1,F=h.length;++I<F;){var Y=y(h[I]);Y!==i&&(_=_===i?Y:_+Y)}return _}function si(h,y){for(var _=-1,I=Array(h);++_<h;)I[_]=y(_);return I}function qf(h,y){return rt(y,function(_){return[_,h[_]]})}function zs(h){return h&&h.slice(0,Ys(h)+1).replace(zr,"")}function Wt(h){return function(y){return h(y)}}function ui(h,y){return rt(y,function(_){return h[_]})}function ge(h,y){return h.has(y)}function Gs(h,y){for(var _=-1,I=h.length;++_<I&&Jn(y,h[_],0)>-1;);return _}function Js(h,y){for(var _=h.length;_--&&Jn(y,h[_],0)>-1;);return _}function kf(h,y){for(var _=h.length,I=0;_--;)h[_]===y&&++I;return I}var Hf=ri(If),zf=ri(Rf);function Gf(h){return"\\"+Ef[h]}function Jf(h,y){return h==null?i:h[y]}function Zn(h){return Af.test(h)}function Zf(h){return bf.test(h)}function Yf(h){for(var y,_=[];!(y=h.next()).done;)_.push(y.value);return _}function oi(h){var y=-1,_=Array(h.size);return h.forEach(function(I,F){_[++y]=[F,I]}),_}function Zs(h,y){return function(_){return h(y(_))}}function An(h,y){for(var _=-1,I=h.length,F=0,Y=[];++_<I;){var ft=h[_];(ft===y||ft===X)&&(h[_]=X,Y[F++]=_)}return Y}function He(h){var y=-1,_=Array(h.size);return h.forEach(function(I){_[++y]=I}),_}function Xf(h){var y=-1,_=Array(h.size);return h.forEach(function(I){_[++y]=[I,I]}),_}function Qf(h,y,_){for(var I=_-1,F=h.length;++I<F;)if(h[I]===y)return I;return-1}function Vf(h,y,_){for(var I=_+1;I--;)if(h[I]===y)return I;return I}function Yn(h){return Zn(h)?tc(h):Nf(h)}function Qt(h){return Zn(h)?nc(h):Bf(h)}function Ys(h){for(var y=h.length;y--&&qa.test(h.charAt(y)););return y}var jf=ri(Tf);function tc(h){for(var y=Xr.lastIndex=0;Xr.test(h);)++y;return y}function nc(h){return h.match(Xr)||[]}function ec(h){return h.match(Sf)||[]}var rc=function h(y){y=y==null?pt:Xn.defaults(pt.Object(),y,Xn.pick(pt,Cf));var _=y.Array,I=y.Date,F=y.Error,Y=y.Function,ft=y.Math,j=y.Object,ai=y.RegExp,ic=y.String,qt=y.TypeError,ze=_.prototype,sc=Y.prototype,Qn=j.prototype,Ge=y["__core-js_shared__"],Je=sc.toString,V=Qn.hasOwnProperty,uc=0,Xs=function(){var t=/[^.]+$/.exec(Ge&&Ge.keys&&Ge.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Ze=Qn.toString,oc=Je.call(j),ac=pt._,fc=ai("^"+Je.call(V).replace(Hr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ye=Ws?y.Buffer:i,bn=y.Symbol,Xe=y.Uint8Array,Qs=Ye?Ye.allocUnsafe:i,Qe=Zs(j.getPrototypeOf,j),Vs=j.create,js=Qn.propertyIsEnumerable,Ve=ze.splice,tu=bn?bn.isConcatSpreadable:i,_e=bn?bn.iterator:i,Fn=bn?bn.toStringTag:i,je=function(){try{var t=Mn(j,"defineProperty");return t({},"",{}),t}catch{}}(),cc=y.clearTimeout!==pt.clearTimeout&&y.clearTimeout,lc=I&&I.now!==pt.Date.now&&I.now,hc=y.setTimeout!==pt.setTimeout&&y.setTimeout,tr=ft.ceil,nr=ft.floor,fi=j.getOwnPropertySymbols,dc=Ye?Ye.isBuffer:i,nu=y.isFinite,pc=ze.join,gc=Zs(j.keys,j),ct=ft.max,vt=ft.min,_c=I.now,vc=y.parseInt,eu=ft.random,yc=ze.reverse,ci=Mn(y,"DataView"),ve=Mn(y,"Map"),li=Mn(y,"Promise"),Vn=Mn(y,"Set"),ye=Mn(y,"WeakMap"),we=Mn(j,"create"),er=ye&&new ye,jn={},wc=Kn(ci),mc=Kn(ve),xc=Kn(li),Sc=Kn(Vn),Ac=Kn(ye),rr=bn?bn.prototype:i,me=rr?rr.valueOf:i,ru=rr?rr.toString:i;function u(t){if(st(t)&&!U(t)&&!(t instanceof G)){if(t instanceof kt)return t;if(V.call(t,"__wrapped__"))return io(t)}return new kt(t)}var te=function(){function t(){}return function(n){if(!it(n))return{};if(Vs)return Vs(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function ir(){}function kt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}u.templateSettings={escape:Ua,evaluate:Na,interpolate:hs,variable:"",imports:{_:u}},u.prototype=ir.prototype,u.prototype.constructor=u,kt.prototype=te(ir.prototype),kt.prototype.constructor=kt;function G(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=$t,this.__views__=[]}function bc(){var t=new G(this.__wrapped__);return t.__actions__=Pt(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Pt(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Pt(this.__views__),t}function Cc(){if(this.__filtered__){var t=new G(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Pc(){var t=this.__wrapped__.value(),n=this.__dir__,e=U(t),r=n<0,s=e?t.length:0,o=Bl(0,s,this.__views__),f=o.start,c=o.end,d=c-f,w=r?c:f-1,m=this.__iteratees__,S=m.length,b=0,R=vt(d,this.__takeCount__);if(!e||!r&&s==d&&R==d)return Iu(t,this.__actions__);var L=[];t:for(;d--&&b<R;){w+=n;for(var M=-1,W=t[w];++M<S;){var z=m[M],J=z.iteratee,Ut=z.type,At=J(W);if(Ut==De)W=At;else if(!At){if(Ut==Wn)continue t;break t}}L[b++]=W}return L}G.prototype=te(ir.prototype),G.prototype.constructor=G;function Un(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Ic(){this.__data__=we?we(null):{},this.size=0}function Rc(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}function Tc(t){var n=this.__data__;if(we){var e=n[t];return e===C?i:e}return V.call(n,t)?n[t]:i}function Ec(t){var n=this.__data__;return we?n[t]!==i:V.call(n,t)}function Oc(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=we&&n===i?C:n,this}Un.prototype.clear=Ic,Un.prototype.delete=Rc,Un.prototype.get=Tc,Un.prototype.has=Ec,Un.prototype.set=Oc;function cn(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Lc(){this.__data__=[],this.size=0}function Wc(t){var n=this.__data__,e=sr(n,t);if(e<0)return!1;var r=n.length-1;return e==r?n.pop():Ve.call(n,e,1),--this.size,!0}function Dc(t){var n=this.__data__,e=sr(n,t);return e<0?i:n[e][1]}function Fc(t){return sr(this.__data__,t)>-1}function Uc(t,n){var e=this.__data__,r=sr(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}cn.prototype.clear=Lc,cn.prototype.delete=Wc,cn.prototype.get=Dc,cn.prototype.has=Fc,cn.prototype.set=Uc;function ln(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Nc(){this.size=0,this.__data__={hash:new Un,map:new(ve||cn),string:new Un}}function Bc(t){var n=vr(this,t).delete(t);return this.size-=n?1:0,n}function $c(t){return vr(this,t).get(t)}function Mc(t){return vr(this,t).has(t)}function Kc(t,n){var e=vr(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}ln.prototype.clear=Nc,ln.prototype.delete=Bc,ln.prototype.get=$c,ln.prototype.has=Mc,ln.prototype.set=Kc;function Nn(t){var n=-1,e=t==null?0:t.length;for(this.__data__=new ln;++n<e;)this.add(t[n])}function qc(t){return this.__data__.set(t,C),this}function kc(t){return this.__data__.has(t)}Nn.prototype.add=Nn.prototype.push=qc,Nn.prototype.has=kc;function Vt(t){var n=this.__data__=new cn(t);this.size=n.size}function Hc(){this.__data__=new cn,this.size=0}function zc(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e}function Gc(t){return this.__data__.get(t)}function Jc(t){return this.__data__.has(t)}function Zc(t,n){var e=this.__data__;if(e instanceof cn){var r=e.__data__;if(!ve||r.length<g-1)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new ln(r)}return e.set(t,n),this.size=e.size,this}Vt.prototype.clear=Hc,Vt.prototype.delete=zc,Vt.prototype.get=Gc,Vt.prototype.has=Jc,Vt.prototype.set=Zc;function iu(t,n){var e=U(t),r=!e&&qn(t),s=!e&&!r&&Tn(t),o=!e&&!r&&!s&&ie(t),f=e||r||s||o,c=f?si(t.length,ic):[],d=c.length;for(var w in t)(n||V.call(t,w))&&!(f&&(w=="length"||s&&(w=="offset"||w=="parent")||o&&(w=="buffer"||w=="byteLength"||w=="byteOffset")||gn(w,d)))&&c.push(w);return c}function su(t){var n=t.length;return n?t[Si(0,n-1)]:i}function Yc(t,n){return yr(Pt(t),Bn(n,0,t.length))}function Xc(t){return yr(Pt(t))}function hi(t,n,e){(e!==i&&!jt(t[n],e)||e===i&&!(n in t))&&hn(t,n,e)}function xe(t,n,e){var r=t[n];(!(V.call(t,n)&&jt(r,e))||e===i&&!(n in t))&&hn(t,n,e)}function sr(t,n){for(var e=t.length;e--;)if(jt(t[e][0],n))return e;return-1}function Qc(t,n,e,r){return Cn(t,function(s,o,f){n(r,s,e(s),f)}),r}function uu(t,n){return t&&sn(n,ht(n),t)}function Vc(t,n){return t&&sn(n,Rt(n),t)}function hn(t,n,e){n=="__proto__"&&je?je(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function di(t,n){for(var e=-1,r=n.length,s=_(r),o=t==null;++e<r;)s[e]=o?i:Ji(t,n[e]);return s}function Bn(t,n,e){return t===t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function Ht(t,n,e,r,s,o){var f,c=n&A,d=n&D,w=n&P;if(e&&(f=s?e(t,r,s,o):e(t)),f!==i)return f;if(!it(t))return t;var m=U(t);if(m){if(f=Ml(t),!c)return Pt(t,f)}else{var S=yt(t),b=S==Ne||S==as;if(Tn(t))return Eu(t,c);if(S==fn||S==mn||b&&!s){if(f=d||b?{}:Yu(t),!c)return d?Tl(t,Vc(f,t)):Rl(t,uu(f,t))}else{if(!nt[S])return s?t:{};f=Kl(t,S,c)}}o||(o=new Vt);var R=o.get(t);if(R)return R;o.set(t,f),Co(t)?t.forEach(function(W){f.add(Ht(W,n,e,W,t,o))}):Ao(t)&&t.forEach(function(W,z){f.set(z,Ht(W,n,e,z,t,o))});var L=w?d?Wi:Li:d?Rt:ht,M=m?i:L(t);return Kt(M||t,function(W,z){M&&(z=W,W=t[z]),xe(f,z,Ht(W,n,e,z,t,o))}),f}function jc(t){var n=ht(t);return function(e){return ou(e,t,n)}}function ou(t,n,e){var r=e.length;if(t==null)return!r;for(t=j(t);r--;){var s=e[r],o=n[s],f=t[s];if(f===i&&!(s in t)||!o(f))return!1}return!0}function au(t,n,e){if(typeof t!="function")throw new qt(x);return Re(function(){t.apply(i,e)},n)}function Se(t,n,e,r){var s=-1,o=qe,f=!0,c=t.length,d=[],w=n.length;if(!c)return d;e&&(n=rt(n,Wt(e))),r?(o=jr,f=!1):n.length>=g&&(o=ge,f=!1,n=new Nn(n));t:for(;++s<c;){var m=t[s],S=e==null?m:e(m);if(m=r||m!==0?m:0,f&&S===S){for(var b=w;b--;)if(n[b]===S)continue t;d.push(m)}else o(n,S,r)||d.push(m)}return d}var Cn=Fu(rn),fu=Fu(gi,!0);function tl(t,n){var e=!0;return Cn(t,function(r,s,o){return e=!!n(r,s,o),e}),e}function ur(t,n,e){for(var r=-1,s=t.length;++r<s;){var o=t[r],f=n(o);if(f!=null&&(c===i?f===f&&!Ft(f):e(f,c)))var c=f,d=o}return d}function nl(t,n,e,r){var s=t.length;for(e=$(e),e<0&&(e=-e>s?0:s+e),r=r===i||r>s?s:$(r),r<0&&(r+=s),r=e>r?0:Io(r);e<r;)t[e++]=n;return t}function cu(t,n){var e=[];return Cn(t,function(r,s,o){n(r,s,o)&&e.push(r)}),e}function gt(t,n,e,r,s){var o=-1,f=t.length;for(e||(e=kl),s||(s=[]);++o<f;){var c=t[o];n>0&&e(c)?n>1?gt(c,n-1,e,r,s):Sn(s,c):r||(s[s.length]=c)}return s}var pi=Uu(),lu=Uu(!0);function rn(t,n){return t&&pi(t,n,ht)}function gi(t,n){return t&&lu(t,n,ht)}function or(t,n){return xn(n,function(e){return _n(t[e])})}function $n(t,n){n=In(n,t);for(var e=0,r=n.length;t!=null&&e<r;)t=t[un(n[e++])];return e&&e==r?t:i}function hu(t,n,e){var r=n(t);return U(t)?r:Sn(r,e(t))}function xt(t){return t==null?t===i?Ta:Ia:Fn&&Fn in j(t)?Nl(t):Xl(t)}function _i(t,n){return t>n}function el(t,n){return t!=null&&V.call(t,n)}function rl(t,n){return t!=null&&n in j(t)}function il(t,n,e){return t>=vt(n,e)&&t<ct(n,e)}function vi(t,n,e){for(var r=e?jr:qe,s=t[0].length,o=t.length,f=o,c=_(o),d=1/0,w=[];f--;){var m=t[f];f&&n&&(m=rt(m,Wt(n))),d=vt(m.length,d),c[f]=!e&&(n||s>=120&&m.length>=120)?new Nn(f&&m):i}m=t[0];var S=-1,b=c[0];t:for(;++S<s&&w.length<d;){var R=m[S],L=n?n(R):R;if(R=e||R!==0?R:0,!(b?ge(b,L):r(w,L,e))){for(f=o;--f;){var M=c[f];if(!(M?ge(M,L):r(t[f],L,e)))continue t}b&&b.push(L),w.push(R)}}return w}function sl(t,n,e,r){return rn(t,function(s,o,f){n(r,e(s),o,f)}),r}function Ae(t,n,e){n=In(n,t),t=ju(t,n);var r=t==null?t:t[un(Gt(n))];return r==null?i:Lt(r,t,e)}function du(t){return st(t)&&xt(t)==mn}function ul(t){return st(t)&&xt(t)==pe}function ol(t){return st(t)&&xt(t)==mt}function be(t,n,e,r,s){return t===n?!0:t==null||n==null||!st(t)&&!st(n)?t!==t&&n!==n:al(t,n,e,r,be,s)}function al(t,n,e,r,s,o){var f=U(t),c=U(n),d=f?B:yt(t),w=c?B:yt(n);d=d==mn?fn:d,w=w==mn?fn:w;var m=d==fn,S=w==fn,b=d==w;if(b&&Tn(t)){if(!Tn(n))return!1;f=!0,m=!1}if(b&&!m)return o||(o=new Vt),f||ie(t)?Gu(t,n,e,r,s,o):Fl(t,n,d,e,r,s,o);if(!(e&N)){var R=m&&V.call(t,"__wrapped__"),L=S&&V.call(n,"__wrapped__");if(R||L){var M=R?t.value():t,W=L?n.value():n;return o||(o=new Vt),s(M,W,e,r,o)}}return b?(o||(o=new Vt),Ul(t,n,e,r,s,o)):!1}function fl(t){return st(t)&&yt(t)==Yt}function yi(t,n,e,r){var s=e.length,o=s,f=!r;if(t==null)return!o;for(t=j(t);s--;){var c=e[s];if(f&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++s<o;){c=e[s];var d=c[0],w=t[d],m=c[1];if(f&&c[2]){if(w===i&&!(d in t))return!1}else{var S=new Vt;if(r)var b=r(w,m,d,t,n,S);if(!(b===i?be(m,w,N|tt,r,S):b))return!1}}return!0}function pu(t){if(!it(t)||zl(t))return!1;var n=_n(t)?fc:Va;return n.test(Kn(t))}function cl(t){return st(t)&&xt(t)==le}function ll(t){return st(t)&&yt(t)==Xt}function hl(t){return st(t)&&br(t.length)&&!!et[xt(t)]}function gu(t){return typeof t=="function"?t:t==null?Tt:typeof t=="object"?U(t)?yu(t[0],t[1]):vu(t):Bo(t)}function wi(t){if(!Ie(t))return gc(t);var n=[];for(var e in j(t))V.call(t,e)&&e!="constructor"&&n.push(e);return n}function dl(t){if(!it(t))return Yl(t);var n=Ie(t),e=[];for(var r in t)r=="constructor"&&(n||!V.call(t,r))||e.push(r);return e}function mi(t,n){return t<n}function _u(t,n){var e=-1,r=It(t)?_(t.length):[];return Cn(t,function(s,o,f){r[++e]=n(s,o,f)}),r}function vu(t){var n=Fi(t);return n.length==1&&n[0][2]?Qu(n[0][0],n[0][1]):function(e){return e===t||yi(e,t,n)}}function yu(t,n){return Ni(t)&&Xu(n)?Qu(un(t),n):function(e){var r=Ji(e,t);return r===i&&r===n?Zi(e,t):be(n,r,N|tt)}}function ar(t,n,e,r,s){t!==n&&pi(n,function(o,f){if(s||(s=new Vt),it(o))pl(t,n,f,e,ar,r,s);else{var c=r?r($i(t,f),o,f+"",t,n,s):i;c===i&&(c=o),hi(t,f,c)}},Rt)}function pl(t,n,e,r,s,o,f){var c=$i(t,e),d=$i(n,e),w=f.get(d);if(w){hi(t,e,w);return}var m=o?o(c,d,e+"",t,n,f):i,S=m===i;if(S){var b=U(d),R=!b&&Tn(d),L=!b&&!R&&ie(d);m=d,b||R||L?U(c)?m=c:ut(c)?m=Pt(c):R?(S=!1,m=Eu(d,!0)):L?(S=!1,m=Ou(d,!0)):m=[]:Te(d)||qn(d)?(m=c,qn(c)?m=Ro(c):(!it(c)||_n(c))&&(m=Yu(d))):S=!1}S&&(f.set(d,m),s(m,d,r,o,f),f.delete(d)),hi(t,e,m)}function wu(t,n){var e=t.length;if(e)return n+=n<0?e:0,gn(n,e)?t[n]:i}function mu(t,n,e){n.length?n=rt(n,function(o){return U(o)?function(f){return $n(f,o.length===1?o[0]:o)}:o}):n=[Tt];var r=-1;n=rt(n,Wt(O()));var s=_u(t,function(o,f,c){var d=rt(n,function(w){return w(o)});return{criteria:d,index:++r,value:o}});return Kf(s,function(o,f){return Il(o,f,e)})}function gl(t,n){return xu(t,n,function(e,r){return Zi(t,r)})}function xu(t,n,e){for(var r=-1,s=n.length,o={};++r<s;){var f=n[r],c=$n(t,f);e(c,f)&&Ce(o,In(f,t),c)}return o}function _l(t){return function(n){return $n(n,t)}}function xi(t,n,e,r){var s=r?Mf:Jn,o=-1,f=n.length,c=t;for(t===n&&(n=Pt(n)),e&&(c=rt(t,Wt(e)));++o<f;)for(var d=0,w=n[o],m=e?e(w):w;(d=s(c,m,d,r))>-1;)c!==t&&Ve.call(c,d,1),Ve.call(t,d,1);return t}function Su(t,n){for(var e=t?n.length:0,r=e-1;e--;){var s=n[e];if(e==r||s!==o){var o=s;gn(s)?Ve.call(t,s,1):Ci(t,s)}}return t}function Si(t,n){return t+nr(eu()*(n-t+1))}function vl(t,n,e,r){for(var s=-1,o=ct(tr((n-t)/(e||1)),0),f=_(o);o--;)f[r?o:++s]=t,t+=e;return f}function Ai(t,n){var e="";if(!t||n<1||n>en)return e;do n%2&&(e+=t),n=nr(n/2),n&&(t+=t);while(n);return e}function q(t,n){return Mi(Vu(t,n,Tt),t+"")}function yl(t){return su(se(t))}function wl(t,n){var e=se(t);return yr(e,Bn(n,0,e.length))}function Ce(t,n,e,r){if(!it(t))return t;n=In(n,t);for(var s=-1,o=n.length,f=o-1,c=t;c!=null&&++s<o;){var d=un(n[s]),w=e;if(d==="__proto__"||d==="constructor"||d==="prototype")return t;if(s!=f){var m=c[d];w=r?r(m,d,c):i,w===i&&(w=it(m)?m:gn(n[s+1])?[]:{})}xe(c,d,w),c=c[d]}return t}var Au=er?function(t,n){return er.set(t,n),t}:Tt,ml=je?function(t,n){return je(t,"toString",{configurable:!0,enumerable:!1,value:Xi(n),writable:!0})}:Tt;function xl(t){return yr(se(t))}function zt(t,n,e){var r=-1,s=t.length;n<0&&(n=-n>s?0:s+n),e=e>s?s:e,e<0&&(e+=s),s=n>e?0:e-n>>>0,n>>>=0;for(var o=_(s);++r<s;)o[r]=t[r+n];return o}function Sl(t,n){var e;return Cn(t,function(r,s,o){return e=n(r,s,o),!e}),!!e}function fr(t,n,e){var r=0,s=t==null?r:t.length;if(typeof n=="number"&&n===n&&s<=Fe){for(;r<s;){var o=r+s>>>1,f=t[o];f!==null&&!Ft(f)&&(e?f<=n:f<n)?r=o+1:s=o}return s}return bi(t,n,Tt,e)}function bi(t,n,e,r){var s=0,o=t==null?0:t.length;if(o===0)return 0;n=e(n);for(var f=n!==n,c=n===null,d=Ft(n),w=n===i;s<o;){var m=nr((s+o)/2),S=e(t[m]),b=S!==i,R=S===null,L=S===S,M=Ft(S);if(f)var W=r||L;else w?W=L&&(r||b):c?W=L&&b&&(r||!R):d?W=L&&b&&!R&&(r||!M):R||M?W=!1:W=r?S<=n:S<n;W?s=m+1:o=m}return vt(o,Wr)}function bu(t,n){for(var e=-1,r=t.length,s=0,o=[];++e<r;){var f=t[e],c=n?n(f):f;if(!e||!jt(c,d)){var d=c;o[s++]=f===0?0:f}}return o}function Cu(t){return typeof t=="number"?t:Ft(t)?Hn:+t}function Dt(t){if(typeof t=="string")return t;if(U(t))return rt(t,Dt)+"";if(Ft(t))return ru?ru.call(t):"";var n=t+"";return n=="0"&&1/t==-an?"-0":n}function Pn(t,n,e){var r=-1,s=qe,o=t.length,f=!0,c=[],d=c;if(e)f=!1,s=jr;else if(o>=g){var w=n?null:Wl(t);if(w)return He(w);f=!1,s=ge,d=new Nn}else d=n?[]:c;t:for(;++r<o;){var m=t[r],S=n?n(m):m;if(m=e||m!==0?m:0,f&&S===S){for(var b=d.length;b--;)if(d[b]===S)continue t;n&&d.push(S),c.push(m)}else s(d,S,e)||(d!==c&&d.push(S),c.push(m))}return c}function Ci(t,n){return n=In(n,t),t=ju(t,n),t==null||delete t[un(Gt(n))]}function Pu(t,n,e,r){return Ce(t,n,e($n(t,n)),r)}function cr(t,n,e,r){for(var s=t.length,o=r?s:-1;(r?o--:++o<s)&&n(t[o],o,t););return e?zt(t,r?0:o,r?o+1:s):zt(t,r?o+1:0,r?s:o)}function Iu(t,n){var e=t;return e instanceof G&&(e=e.value()),ti(n,function(r,s){return s.func.apply(s.thisArg,Sn([r],s.args))},e)}function Pi(t,n,e){var r=t.length;if(r<2)return r?Pn(t[0]):[];for(var s=-1,o=_(r);++s<r;)for(var f=t[s],c=-1;++c<r;)c!=s&&(o[s]=Se(o[s]||f,t[c],n,e));return Pn(gt(o,1),n,e)}function Ru(t,n,e){for(var r=-1,s=t.length,o=n.length,f={};++r<s;){var c=r<o?n[r]:i;e(f,t[r],c)}return f}function Ii(t){return ut(t)?t:[]}function Ri(t){return typeof t=="function"?t:Tt}function In(t,n){return U(t)?t:Ni(t,n)?[t]:ro(Q(t))}var Al=q;function Rn(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:zt(t,n,e)}var Tu=cc||function(t){return pt.clearTimeout(t)};function Eu(t,n){if(n)return t.slice();var e=t.length,r=Qs?Qs(e):new t.constructor(e);return t.copy(r),r}function Ti(t){var n=new t.constructor(t.byteLength);return new Xe(n).set(new Xe(t)),n}function bl(t,n){var e=n?Ti(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function Cl(t){var n=new t.constructor(t.source,ds.exec(t));return n.lastIndex=t.lastIndex,n}function Pl(t){return me?j(me.call(t)):{}}function Ou(t,n){var e=n?Ti(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Lu(t,n){if(t!==n){var e=t!==i,r=t===null,s=t===t,o=Ft(t),f=n!==i,c=n===null,d=n===n,w=Ft(n);if(!c&&!w&&!o&&t>n||o&&f&&d&&!c&&!w||r&&f&&d||!e&&d||!s)return 1;if(!r&&!o&&!w&&t<n||w&&e&&s&&!r&&!o||c&&e&&s||!f&&s||!d)return-1}return 0}function Il(t,n,e){for(var r=-1,s=t.criteria,o=n.criteria,f=s.length,c=e.length;++r<f;){var d=Lu(s[r],o[r]);if(d){if(r>=c)return d;var w=e[r];return d*(w=="desc"?-1:1)}}return t.index-n.index}function Wu(t,n,e,r){for(var s=-1,o=t.length,f=e.length,c=-1,d=n.length,w=ct(o-f,0),m=_(d+w),S=!r;++c<d;)m[c]=n[c];for(;++s<f;)(S||s<o)&&(m[e[s]]=t[s]);for(;w--;)m[c++]=t[s++];return m}function Du(t,n,e,r){for(var s=-1,o=t.length,f=-1,c=e.length,d=-1,w=n.length,m=ct(o-c,0),S=_(m+w),b=!r;++s<m;)S[s]=t[s];for(var R=s;++d<w;)S[R+d]=n[d];for(;++f<c;)(b||s<o)&&(S[R+e[f]]=t[s++]);return S}function Pt(t,n){var e=-1,r=t.length;for(n||(n=_(r));++e<r;)n[e]=t[e];return n}function sn(t,n,e,r){var s=!e;e||(e={});for(var o=-1,f=n.length;++o<f;){var c=n[o],d=r?r(e[c],t[c],c,e,t):i;d===i&&(d=t[c]),s?hn(e,c,d):xe(e,c,d)}return e}function Rl(t,n){return sn(t,Ui(t),n)}function Tl(t,n){return sn(t,Ju(t),n)}function lr(t,n){return function(e,r){var s=U(e)?Df:Qc,o=n?n():{};return s(e,t,O(r,2),o)}}function ne(t){return q(function(n,e){var r=-1,s=e.length,o=s>1?e[s-1]:i,f=s>2?e[2]:i;for(o=t.length>3&&typeof o=="function"?(s--,o):i,f&&St(e[0],e[1],f)&&(o=s<3?i:o,s=1),n=j(n);++r<s;){var c=e[r];c&&t(n,c,r,o)}return n})}function Fu(t,n){return function(e,r){if(e==null)return e;if(!It(e))return t(e,r);for(var s=e.length,o=n?s:-1,f=j(e);(n?o--:++o<s)&&r(f[o],o,f)!==!1;);return e}}function Uu(t){return function(n,e,r){for(var s=-1,o=j(n),f=r(n),c=f.length;c--;){var d=f[t?c:++s];if(e(o[d],d,o)===!1)break}return n}}function El(t,n,e){var r=n&H,s=Pe(t);function o(){var f=this&&this!==pt&&this instanceof o?s:t;return f.apply(r?e:this,arguments)}return o}function Nu(t){return function(n){n=Q(n);var e=Zn(n)?Qt(n):i,r=e?e[0]:n.charAt(0),s=e?Rn(e,1).join(""):n.slice(1);return r[t]()+s}}function ee(t){return function(n){return ti(Uo(Fo(n).replace(mf,"")),t,"")}}function Pe(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=te(t.prototype),r=t.apply(e,n);return it(r)?r:e}}function Ol(t,n,e){var r=Pe(t);function s(){for(var o=arguments.length,f=_(o),c=o,d=re(s);c--;)f[c]=arguments[c];var w=o<3&&f[0]!==d&&f[o-1]!==d?[]:An(f,d);if(o-=w.length,o<e)return qu(t,n,hr,s.placeholder,i,f,w,i,i,e-o);var m=this&&this!==pt&&this instanceof s?r:t;return Lt(m,this,f)}return s}function Bu(t){return function(n,e,r){var s=j(n);if(!It(n)){var o=O(e,3);n=ht(n),e=function(c){return o(s[c],c,s)}}var f=t(n,e,r);return f>-1?s[o?n[f]:f]:i}}function $u(t){return pn(function(n){var e=n.length,r=e,s=kt.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if(typeof o!="function")throw new qt(x);if(s&&!f&&_r(o)=="wrapper")var f=new kt([],!0)}for(r=f?r:e;++r<e;){o=n[r];var c=_r(o),d=c=="wrapper"?Di(o):i;d&&Bi(d[0])&&d[1]==(Bt|dt|Zt|nn)&&!d[4].length&&d[9]==1?f=f[_r(d[0])].apply(f,d[3]):f=o.length==1&&Bi(o)?f[c]():f.thru(o)}return function(){var w=arguments,m=w[0];if(f&&w.length==1&&U(m))return f.plant(m).value();for(var S=0,b=e?n[S].apply(this,w):m;++S<e;)b=n[S].call(this,b);return b}})}function hr(t,n,e,r,s,o,f,c,d,w){var m=n&Bt,S=n&H,b=n&wn,R=n&(dt|_t),L=n&Et,M=b?i:Pe(t);function W(){for(var z=arguments.length,J=_(z),Ut=z;Ut--;)J[Ut]=arguments[Ut];if(R)var At=re(W),Nt=kf(J,At);if(r&&(J=Wu(J,r,s,R)),o&&(J=Du(J,o,f,R)),z-=Nt,R&&z<w){var ot=An(J,At);return qu(t,n,hr,W.placeholder,e,J,ot,c,d,w-z)}var tn=S?e:this,yn=b?tn[t]:t;return z=J.length,c?J=Ql(J,c):L&&z>1&&J.reverse(),m&&d<z&&(J.length=d),this&&this!==pt&&this instanceof W&&(yn=M||Pe(yn)),yn.apply(tn,J)}return W}function Mu(t,n){return function(e,r){return sl(e,t,n(r),{})}}function dr(t,n){return function(e,r){var s;if(e===i&&r===i)return n;if(e!==i&&(s=e),r!==i){if(s===i)return r;typeof e=="string"||typeof r=="string"?(e=Dt(e),r=Dt(r)):(e=Cu(e),r=Cu(r)),s=t(e,r)}return s}}function Ei(t){return pn(function(n){return n=rt(n,Wt(O())),q(function(e){var r=this;return t(n,function(s){return Lt(s,r,e)})})})}function pr(t,n){n=n===i?" ":Dt(n);var e=n.length;if(e<2)return e?Ai(n,t):n;var r=Ai(n,tr(t/Yn(n)));return Zn(n)?Rn(Qt(r),0,t).join(""):r.slice(0,t)}function Ll(t,n,e,r){var s=n&H,o=Pe(t);function f(){for(var c=-1,d=arguments.length,w=-1,m=r.length,S=_(m+d),b=this&&this!==pt&&this instanceof f?o:t;++w<m;)S[w]=r[w];for(;d--;)S[w++]=arguments[++c];return Lt(b,s?e:this,S)}return f}function Ku(t){return function(n,e,r){return r&&typeof r!="number"&&St(n,e,r)&&(e=r=i),n=vn(n),e===i?(e=n,n=0):e=vn(e),r=r===i?n<e?1:-1:vn(r),vl(n,e,r,t)}}function gr(t){return function(n,e){return typeof n=="string"&&typeof e=="string"||(n=Jt(n),e=Jt(e)),t(n,e)}}function qu(t,n,e,r,s,o,f,c,d,w){var m=n&dt,S=m?f:i,b=m?i:f,R=m?o:i,L=m?i:o;n|=m?Zt:Ln,n&=~(m?Ln:Zt),n&on||(n&=-4);var M=[t,n,s,R,S,L,b,c,d,w],W=e.apply(i,M);return Bi(t)&&to(W,M),W.placeholder=r,no(W,t,n)}function Oi(t){var n=ft[t];return function(e,r){if(e=Jt(e),r=r==null?0:vt($(r),292),r&&nu(e)){var s=(Q(e)+"e").split("e"),o=n(s[0]+"e"+(+s[1]+r));return s=(Q(o)+"e").split("e"),+(s[0]+"e"+(+s[1]-r))}return n(e)}}var Wl=Vn&&1/He(new Vn([,-0]))[1]==an?function(t){return new Vn(t)}:ji;function ku(t){return function(n){var e=yt(n);return e==Yt?oi(n):e==Xt?Xf(n):qf(n,t(n))}}function dn(t,n,e,r,s,o,f,c){var d=n&wn;if(!d&&typeof t!="function")throw new qt(x);var w=r?r.length:0;if(w||(n&=-97,r=s=i),f=f===i?f:ct($(f),0),c=c===i?c:$(c),w-=s?s.length:0,n&Ln){var m=r,S=s;r=s=i}var b=d?i:Di(t),R=[t,n,e,r,s,m,S,o,f,c];if(b&&Zl(R,b),t=R[0],n=R[1],e=R[2],r=R[3],s=R[4],c=R[9]=R[9]===i?d?0:t.length:ct(R[9]-w,0),!c&&n&(dt|_t)&&(n&=-25),!n||n==H)var L=El(t,n,e);else n==dt||n==_t?L=Ol(t,n,c):(n==Zt||n==(H|Zt))&&!s.length?L=Ll(t,n,e,r):L=hr.apply(i,R);var M=b?Au:to;return no(M(L,R),t,n)}function Hu(t,n,e,r){return t===i||jt(t,Qn[e])&&!V.call(r,e)?n:t}function zu(t,n,e,r,s,o){return it(t)&&it(n)&&(o.set(n,t),ar(t,n,i,zu,o),o.delete(n)),t}function Dl(t){return Te(t)?i:t}function Gu(t,n,e,r,s,o){var f=e&N,c=t.length,d=n.length;if(c!=d&&!(f&&d>c))return!1;var w=o.get(t),m=o.get(n);if(w&&m)return w==n&&m==t;var S=-1,b=!0,R=e&tt?new Nn:i;for(o.set(t,n),o.set(n,t);++S<c;){var L=t[S],M=n[S];if(r)var W=f?r(M,L,S,n,t,o):r(L,M,S,t,n,o);if(W!==i){if(W)continue;b=!1;break}if(R){if(!ni(n,function(z,J){if(!ge(R,J)&&(L===z||s(L,z,e,r,o)))return R.push(J)})){b=!1;break}}else if(!(L===M||s(L,M,e,r,o))){b=!1;break}}return o.delete(t),o.delete(n),b}function Fl(t,n,e,r,s,o,f){switch(e){case zn:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case pe:return!(t.byteLength!=n.byteLength||!o(new Xe(t),new Xe(n)));case bt:case mt:case ce:return jt(+t,+n);case Ct:return t.name==n.name&&t.message==n.message;case le:case he:return t==n+"";case Yt:var c=oi;case Xt:var d=r&N;if(c||(c=He),t.size!=n.size&&!d)return!1;var w=f.get(t);if(w)return w==n;r|=tt,f.set(t,n);var m=Gu(c(t),c(n),r,s,o,f);return f.delete(t),m;case Be:if(me)return me.call(t)==me.call(n)}return!1}function Ul(t,n,e,r,s,o){var f=e&N,c=Li(t),d=c.length,w=Li(n),m=w.length;if(d!=m&&!f)return!1;for(var S=d;S--;){var b=c[S];if(!(f?b in n:V.call(n,b)))return!1}var R=o.get(t),L=o.get(n);if(R&&L)return R==n&&L==t;var M=!0;o.set(t,n),o.set(n,t);for(var W=f;++S<d;){b=c[S];var z=t[b],J=n[b];if(r)var Ut=f?r(J,z,b,n,t,o):r(z,J,b,t,n,o);if(!(Ut===i?z===J||s(z,J,e,r,o):Ut)){M=!1;break}W||(W=b=="constructor")}if(M&&!W){var At=t.constructor,Nt=n.constructor;At!=Nt&&"constructor"in t&&"constructor"in n&&!(typeof At=="function"&&At instanceof At&&typeof Nt=="function"&&Nt instanceof Nt)&&(M=!1)}return o.delete(t),o.delete(n),M}function pn(t){return Mi(Vu(t,i,oo),t+"")}function Li(t){return hu(t,ht,Ui)}function Wi(t){return hu(t,Rt,Ju)}var Di=er?function(t){return er.get(t)}:ji;function _r(t){for(var n=t.name+"",e=jn[n],r=V.call(jn,n)?e.length:0;r--;){var s=e[r],o=s.func;if(o==null||o==t)return s.name}return n}function re(t){var n=V.call(u,"placeholder")?u:t;return n.placeholder}function O(){var t=u.iteratee||Qi;return t=t===Qi?gu:t,arguments.length?t(arguments[0],arguments[1]):t}function vr(t,n){var e=t.__data__;return Hl(n)?e[typeof n=="string"?"string":"hash"]:e.map}function Fi(t){for(var n=ht(t),e=n.length;e--;){var r=n[e],s=t[r];n[e]=[r,s,Xu(s)]}return n}function Mn(t,n){var e=Jf(t,n);return pu(e)?e:i}function Nl(t){var n=V.call(t,Fn),e=t[Fn];try{t[Fn]=i;var r=!0}catch{}var s=Ze.call(t);return r&&(n?t[Fn]=e:delete t[Fn]),s}var Ui=fi?function(t){return t==null?[]:(t=j(t),xn(fi(t),function(n){return js.call(t,n)}))}:ts,Ju=fi?function(t){for(var n=[];t;)Sn(n,Ui(t)),t=Qe(t);return n}:ts,yt=xt;(ci&&yt(new ci(new ArrayBuffer(1)))!=zn||ve&&yt(new ve)!=Yt||li&&yt(li.resolve())!=fs||Vn&&yt(new Vn)!=Xt||ye&&yt(new ye)!=de)&&(yt=function(t){var n=xt(t),e=n==fn?t.constructor:i,r=e?Kn(e):"";if(r)switch(r){case wc:return zn;case mc:return Yt;case xc:return fs;case Sc:return Xt;case Ac:return de}return n});function Bl(t,n,e){for(var r=-1,s=e.length;++r<s;){var o=e[r],f=o.size;switch(o.type){case"drop":t+=f;break;case"dropRight":n-=f;break;case"take":n=vt(n,t+f);break;case"takeRight":t=ct(t,n-f);break}}return{start:t,end:n}}function $l(t){var n=t.match(Ha);return n?n[1].split(za):[]}function Zu(t,n,e){n=In(n,t);for(var r=-1,s=n.length,o=!1;++r<s;){var f=un(n[r]);if(!(o=t!=null&&e(t,f)))break;t=t[f]}return o||++r!=s?o:(s=t==null?0:t.length,!!s&&br(s)&&gn(f,s)&&(U(t)||qn(t)))}function Ml(t){var n=t.length,e=new t.constructor(n);return n&&typeof t[0]=="string"&&V.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Yu(t){return typeof t.constructor=="function"&&!Ie(t)?te(Qe(t)):{}}function Kl(t,n,e){var r=t.constructor;switch(n){case pe:return Ti(t);case bt:case mt:return new r(+t);case zn:return bl(t,e);case Fr:case Ur:case Nr:case Br:case $r:case Mr:case Kr:case qr:case kr:return Ou(t,e);case Yt:return new r;case ce:case he:return new r(t);case le:return Cl(t);case Xt:return new r;case Be:return Pl(t)}}function ql(t,n){var e=n.length;if(!e)return t;var r=e-1;return n[r]=(e>1?"& ":"")+n[r],n=n.join(e>2?", ":" "),t.replace(ka,`{
9
9
  /* [wrapped with `+n+`] */
10
- `)}function ql(t){return U(t)||qn(t)||!!(js&&t&&t[js])}function gn(t,n){var e=typeof t;return n=n??en,!!n&&(e=="number"||e!="symbol"&&ja.test(t))&&t>-1&&t%1==0&&t<n}function St(t,n,e){if(!it(e))return!1;var r=typeof n;return(r=="number"?It(e)&&gn(n,e.length):r=="string"&&n in e)?jt(e[n],t):!1}function Ui(t,n){if(U(t))return!1;var e=typeof t;return e=="number"||e=="symbol"||e=="boolean"||t==null||Ft(t)?!0:Ba.test(t)||!Na.test(t)||n!=null&&t in j(n)}function kl(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Ni(t){var n=_r(t),e=u[n];if(typeof e!="function"||!(n in G.prototype))return!1;if(t===e)return!0;var r=Wi(e);return!!r&&t===r[0]}function Hl(t){return!!Ys&&Ys in t}var zl=Ge?_n:ts;function Ie(t){var n=t&&t.constructor,e=typeof n=="function"&&n.prototype||Qn;return t===e}function Yu(t){return t===t&&!it(t)}function Xu(t,n){return function(e){return e==null?!1:e[t]===n&&(n!==i||t in j(e))}}function Gl(t){var n=Sr(t,function(r){return e.size===K&&e.clear(),r}),e=n.cache;return n}function Jl(t,n){var e=t[1],r=n[1],s=e|r,o=s<(H|yn|Bt),f=r==Bt&&e==dt||r==Bt&&e==nn&&t[7].length<=n[8]||r==(Bt|nn)&&n[7].length<=n[8]&&e==dt;if(!(o||f))return t;r&H&&(t[2]=n[2],s|=e&H?0:on);var c=n[3];if(c){var d=t[3];t[3]=d?Ou(d,c,n[4]):c,t[4]=d?An(t[3],X):n[4]}return c=n[5],c&&(d=t[5],t[5]=d?Wu(d,c,n[6]):c,t[6]=d?An(t[5],X):n[6]),c=n[7],c&&(t[7]=c),r&Bt&&(t[8]=t[8]==null?n[8]:vt(t[8],n[8])),t[9]==null&&(t[9]=n[9]),t[0]=n[0],t[1]=s,t}function Zl(t){var n=[];if(t!=null)for(var e in j(t))n.push(e);return n}function Yl(t){return Ze.call(t)}function Qu(t,n,e){return n=ct(n===i?t.length-1:n,0),function(){for(var r=arguments,s=-1,o=ct(r.length-n,0),f=_(o);++s<o;)f[s]=r[n+s];s=-1;for(var c=_(n+1);++s<n;)c[s]=r[s];return c[n]=e(f),Ot(t,this,c)}}function Vu(t,n){return n.length<2?t:$n(t,zt(n,0,-1))}function Xl(t,n){for(var e=t.length,r=vt(n.length,e),s=Pt(t);r--;){var o=n[r];t[r]=gn(o,e)?s[o]:i}return t}function Bi(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}var ju=no(Su),Re=lc||function(t,n){return pt.setTimeout(t,n)},$i=no(yl);function to(t,n,e){var r=n+"";return $i(t,Kl(r,Ql(Bl(r),e)))}function no(t){var n=0,e=0;return function(){var r=gc(),s=We-(r-e);if(e=r,s>0){if(++n>=Lt)return arguments[0]}else n=0;return t.apply(i,arguments)}}function wr(t,n){var e=-1,r=t.length,s=r-1;for(n=n===i?r:n;++e<n;){var o=xi(e,s),f=t[o];t[o]=t[e],t[e]=f}return t.length=n,t}var eo=Gl(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace($a,function(e,r,s,o){n.push(s?o.replace(Ja,"$1"):r||e)}),n});function un(t){if(typeof t=="string"||Ft(t))return t;var n=t+"";return n=="0"&&1/t==-an?"-0":n}function Kn(t){if(t!=null){try{return Je.call(t)}catch{}try{return t+""}catch{}}return""}function Ql(t,n){return Kt(Wr,function(e){var r="_."+e[0];n&e[1]&&!qe(t,r)&&t.push(r)}),t.sort()}function ro(t){if(t instanceof G)return t.clone();var n=new kt(t.__wrapped__,t.__chain__);return n.__actions__=Pt(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function Vl(t,n,e){(e?St(t,n,e):n===i)?n=1:n=ct($(n),0);var r=t==null?0:t.length;if(!r||n<1)return[];for(var s=0,o=0,f=_(tr(r/n));s<r;)f[o++]=zt(t,s,s+=n);return f}function jl(t){for(var n=-1,e=t==null?0:t.length,r=0,s=[];++n<e;){var o=t[n];o&&(s[r++]=o)}return s}function th(){var t=arguments.length;if(!t)return[];for(var n=_(t-1),e=arguments[0],r=t;r--;)n[r-1]=arguments[r];return Sn(U(e)?Pt(e):[e],gt(n,1))}var nh=q(function(t,n){return ut(t)?Se(t,gt(n,1,ut,!0)):[]}),eh=q(function(t,n){var e=Gt(n);return ut(e)&&(e=i),ut(t)?Se(t,gt(n,1,ut,!0),L(e,2)):[]}),rh=q(function(t,n){var e=Gt(n);return ut(e)&&(e=i),ut(t)?Se(t,gt(n,1,ut,!0),i,e):[]});function ih(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:$(n),zt(t,n<0?0:n,r)):[]}function sh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:$(n),n=r-n,zt(t,0,n<0?0:n)):[]}function uh(t,n){return t&&t.length?cr(t,L(n,3),!0,!0):[]}function oh(t,n){return t&&t.length?cr(t,L(n,3),!0):[]}function ah(t,n,e,r){var s=t==null?0:t.length;return s?(e&&typeof e!="number"&&St(t,n,e)&&(e=0,r=s),tl(t,n,e,r)):[]}function io(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=e==null?0:$(e);return s<0&&(s=ct(r+s,0)),ke(t,L(n,3),s)}function so(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=r-1;return e!==i&&(s=$(e),s=e<0?ct(r+s,0):vt(s,r-1)),ke(t,L(n,3),s,!0)}function uo(t){var n=t==null?0:t.length;return n?gt(t,1):[]}function fh(t){var n=t==null?0:t.length;return n?gt(t,an):[]}function ch(t,n){var e=t==null?0:t.length;return e?(n=n===i?1:$(n),gt(t,n)):[]}function lh(t){for(var n=-1,e=t==null?0:t.length,r={};++n<e;){var s=t[n];r[s[0]]=s[1]}return r}function oo(t){return t&&t.length?t[0]:i}function hh(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=e==null?0:$(e);return s<0&&(s=ct(r+s,0)),Jn(t,n,s)}function dh(t){var n=t==null?0:t.length;return n?zt(t,0,-1):[]}var ph=q(function(t){var n=rt(t,Pi);return n.length&&n[0]===t[0]?_i(n):[]}),gh=q(function(t){var n=Gt(t),e=rt(t,Pi);return n===Gt(e)?n=i:e.pop(),e.length&&e[0]===t[0]?_i(e,L(n,2)):[]}),_h=q(function(t){var n=Gt(t),e=rt(t,Pi);return n=typeof n=="function"?n:i,n&&e.pop(),e.length&&e[0]===t[0]?_i(e,i,n):[]});function vh(t,n){return t==null?"":dc.call(t,n)}function Gt(t){var n=t==null?0:t.length;return n?t[n-1]:i}function wh(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=r;return e!==i&&(s=$(e),s=s<0?ct(r+s,0):vt(s,r-1)),n===n?Qf(t,n,s):ke(t,Ks,s,!0)}function yh(t,n){return t&&t.length?wu(t,$(n)):i}var mh=q(ao);function ao(t,n){return t&&t.length&&n&&n.length?mi(t,n):t}function xh(t,n,e){return t&&t.length&&n&&n.length?mi(t,n,L(e,2)):t}function Sh(t,n,e){return t&&t.length&&n&&n.length?mi(t,n,i,e):t}var Ah=pn(function(t,n){var e=t==null?0:t.length,r=hi(t,n);return xu(t,rt(n,function(s){return gn(s,e)?+s:s}).sort(Lu)),r});function bh(t,n){var e=[];if(!(t&&t.length))return e;var r=-1,s=[],o=t.length;for(n=L(n,3);++r<o;){var f=t[r];n(f,r,t)&&(e.push(f),s.push(r))}return xu(t,s),e}function Mi(t){return t==null?t:vc.call(t)}function Ch(t,n,e){var r=t==null?0:t.length;return r?(e&&typeof e!="number"&&St(t,n,e)?(n=0,e=r):(n=n==null?0:$(n),e=e===i?r:$(e)),zt(t,n,e)):[]}function Ph(t,n){return fr(t,n)}function Ih(t,n,e){return Ai(t,n,L(e,2))}function Rh(t,n){var e=t==null?0:t.length;if(e){var r=fr(t,n);if(r<e&&jt(t[r],n))return r}return-1}function Eh(t,n){return fr(t,n,!0)}function Th(t,n,e){return Ai(t,n,L(e,2),!0)}function Lh(t,n){var e=t==null?0:t.length;if(e){var r=fr(t,n,!0)-1;if(jt(t[r],n))return r}return-1}function Oh(t){return t&&t.length?Au(t):[]}function Wh(t,n){return t&&t.length?Au(t,L(n,2)):[]}function Dh(t){var n=t==null?0:t.length;return n?zt(t,1,n):[]}function Fh(t,n,e){return t&&t.length?(n=e||n===i?1:$(n),zt(t,0,n<0?0:n)):[]}function Uh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:$(n),n=r-n,zt(t,n<0?0:n,r)):[]}function Nh(t,n){return t&&t.length?cr(t,L(n,3),!1,!0):[]}function Bh(t,n){return t&&t.length?cr(t,L(n,3)):[]}var $h=q(function(t){return Pn(gt(t,1,ut,!0))}),Mh=q(function(t){var n=Gt(t);return ut(n)&&(n=i),Pn(gt(t,1,ut,!0),L(n,2))}),Kh=q(function(t){var n=Gt(t);return n=typeof n=="function"?n:i,Pn(gt(t,1,ut,!0),i,n)});function qh(t){return t&&t.length?Pn(t):[]}function kh(t,n){return t&&t.length?Pn(t,L(n,2)):[]}function Hh(t,n){return n=typeof n=="function"?n:i,t&&t.length?Pn(t,i,n):[]}function Ki(t){if(!(t&&t.length))return[];var n=0;return t=xn(t,function(e){if(ut(e))return n=ct(e.length,n),!0}),ii(n,function(e){return rt(t,ni(e))})}function fo(t,n){if(!(t&&t.length))return[];var e=Ki(t);return n==null?e:rt(e,function(r){return Ot(n,i,r)})}var zh=q(function(t,n){return ut(t)?Se(t,n):[]}),Gh=q(function(t){return Ci(xn(t,ut))}),Jh=q(function(t){var n=Gt(t);return ut(n)&&(n=i),Ci(xn(t,ut),L(n,2))}),Zh=q(function(t){var n=Gt(t);return n=typeof n=="function"?n:i,Ci(xn(t,ut),i,n)}),Yh=q(Ki);function Xh(t,n){return Iu(t||[],n||[],xe)}function Qh(t,n){return Iu(t||[],n||[],Ce)}var Vh=q(function(t){var n=t.length,e=n>1?t[n-1]:i;return e=typeof e=="function"?(t.pop(),e):i,fo(t,e)});function co(t){var n=u(t);return n.__chain__=!0,n}function jh(t,n){return n(t),t}function yr(t,n){return n(t)}var td=pn(function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,s=function(o){return hi(o,t)};return n>1||this.__actions__.length||!(r instanceof G)||!gn(e)?this.thru(s):(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:yr,args:[s],thisArg:i}),new kt(r,this.__chain__).thru(function(o){return n&&!o.length&&o.push(i),o}))});function nd(){return co(this)}function ed(){return new kt(this.value(),this.__chain__)}function rd(){this.__values__===i&&(this.__values__=Co(this.value()));var t=this.__index__>=this.__values__.length,n=t?i:this.__values__[this.__index__++];return{done:t,value:n}}function id(){return this}function sd(t){for(var n,e=this;e instanceof ir;){var r=ro(e);r.__index__=0,r.__values__=i,n?s.__wrapped__=r:n=r;var s=r;e=e.__wrapped__}return s.__wrapped__=t,n}function ud(){var t=this.__wrapped__;if(t instanceof G){var n=t;return this.__actions__.length&&(n=new G(this)),n=n.reverse(),n.__actions__.push({func:yr,args:[Mi],thisArg:i}),new kt(n,this.__chain__)}return this.thru(Mi)}function od(){return Pu(this.__wrapped__,this.__actions__)}var ad=lr(function(t,n,e){V.call(t,e)?++t[e]:hn(t,e,1)});function fd(t,n,e){var r=U(t)?$s:jc;return e&&St(t,n,e)&&(n=i),r(t,L(n,3))}function cd(t,n){var e=U(t)?xn:fu;return e(t,L(n,3))}var ld=Nu(io),hd=Nu(so);function dd(t,n){return gt(mr(t,n),1)}function pd(t,n){return gt(mr(t,n),an)}function gd(t,n,e){return e=e===i?1:$(e),gt(mr(t,n),e)}function lo(t,n){var e=U(t)?Kt:Cn;return e(t,L(n,3))}function ho(t,n){var e=U(t)?Df:au;return e(t,L(n,3))}var _d=lr(function(t,n,e){V.call(t,e)?t[e].push(n):hn(t,e,[n])});function vd(t,n,e,r){t=It(t)?t:se(t),e=e&&!r?$(e):0;var s=t.length;return e<0&&(e=ct(s+e,0)),Cr(t)?e<=s&&t.indexOf(n,e)>-1:!!s&&Jn(t,n,e)>-1}var wd=q(function(t,n,e){var r=-1,s=typeof n=="function",o=It(t)?_(t.length):[];return Cn(t,function(f){o[++r]=s?Ot(n,f,e):Ae(f,n,e)}),o}),yd=lr(function(t,n,e){hn(t,e,n)});function mr(t,n){var e=U(t)?rt:gu;return e(t,L(n,3))}function md(t,n,e,r){return t==null?[]:(U(n)||(n=n==null?[]:[n]),e=r?i:e,U(e)||(e=e==null?[]:[e]),yu(t,n,e))}var xd=lr(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]});function Sd(t,n,e){var r=U(t)?jr:ks,s=arguments.length<3;return r(t,L(n,4),e,s,Cn)}function Ad(t,n,e){var r=U(t)?Ff:ks,s=arguments.length<3;return r(t,L(n,4),e,s,au)}function bd(t,n){var e=U(t)?xn:fu;return e(t,Ar(L(n,3)))}function Cd(t){var n=U(t)?iu:vl;return n(t)}function Pd(t,n,e){(e?St(t,n,e):n===i)?n=1:n=$(n);var r=U(t)?Zc:wl;return r(t,n)}function Id(t){var n=U(t)?Yc:ml;return n(t)}function Rd(t){if(t==null)return 0;if(It(t))return Cr(t)?Yn(t):t.length;var n=wt(t);return n==Yt||n==Xt?t.size:wi(t).length}function Ed(t,n,e){var r=U(t)?ti:xl;return e&&St(t,n,e)&&(n=i),r(t,L(n,3))}var Td=q(function(t,n){if(t==null)return[];var e=n.length;return e>1&&St(t,n[0],n[1])?n=[]:e>2&&St(n[0],n[1],n[2])&&(n=[n[0]]),yu(t,gt(n,1),[])}),xr=cc||function(){return pt.Date.now()};function Ld(t,n){if(typeof n!="function")throw new qt(x);return t=$(t),function(){if(--t<1)return n.apply(this,arguments)}}function po(t,n,e){return n=e?i:n,n=t&&n==null?t.length:n,dn(t,Bt,i,i,i,i,n)}function go(t,n){var e;if(typeof n!="function")throw new qt(x);return t=$(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var qi=q(function(t,n,e){var r=H;if(e.length){var s=An(e,re(qi));r|=Zt}return dn(t,r,n,e,s)}),_o=q(function(t,n,e){var r=H|yn;if(e.length){var s=An(e,re(_o));r|=Zt}return dn(n,r,t,e,s)});function vo(t,n,e){n=e?i:n;var r=dn(t,dt,i,i,i,i,i,n);return r.placeholder=vo.placeholder,r}function wo(t,n,e){n=e?i:n;var r=dn(t,_t,i,i,i,i,i,n);return r.placeholder=wo.placeholder,r}function yo(t,n,e){var r,s,o,f,c,d,y=0,m=!1,S=!1,b=!0;if(typeof t!="function")throw new qt(x);n=Jt(n)||0,it(e)&&(m=!!e.leading,S="maxWait"in e,o=S?ct(Jt(e.maxWait)||0,n):o,b="trailing"in e?!!e.trailing:b);function R(ot){var tn=r,wn=s;return r=s=i,y=ot,f=t.apply(wn,tn),f}function O(ot){return y=ot,c=Re(z,n),m?R(ot):f}function M(ot){var tn=ot-d,wn=ot-y,Bo=n-tn;return S?vt(Bo,o-wn):Bo}function W(ot){var tn=ot-d,wn=ot-y;return d===i||tn>=n||tn<0||S&&wn>=o}function z(){var ot=xr();if(W(ot))return J(ot);c=Re(z,M(ot))}function J(ot){return c=i,b&&r?R(ot):(r=s=i,f)}function Ut(){c!==i&&Ru(c),y=0,r=d=s=c=i}function At(){return c===i?f:J(xr())}function Nt(){var ot=xr(),tn=W(ot);if(r=arguments,s=this,d=ot,tn){if(c===i)return O(d);if(S)return Ru(c),c=Re(z,n),R(d)}return c===i&&(c=Re(z,n)),f}return Nt.cancel=Ut,Nt.flush=At,Nt}var Od=q(function(t,n){return ou(t,1,n)}),Wd=q(function(t,n,e){return ou(t,Jt(n)||0,e)});function Dd(t){return dn(t,Tt)}function Sr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new qt(x);var e=function(){var r=arguments,s=n?n.apply(this,r):r[0],o=e.cache;if(o.has(s))return o.get(s);var f=t.apply(this,r);return e.cache=o.set(s,f)||o,f};return e.cache=new(Sr.Cache||ln),e}Sr.Cache=ln;function Ar(t){if(typeof t!="function")throw new qt(x);return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}function Fd(t){return go(2,t)}var Ud=Sl(function(t,n){n=n.length==1&&U(n[0])?rt(n[0],Wt(L())):rt(gt(n,1),Wt(L()));var e=n.length;return q(function(r){for(var s=-1,o=vt(r.length,e);++s<o;)r[s]=n[s].call(this,r[s]);return Ot(t,this,r)})}),ki=q(function(t,n){var e=An(n,re(ki));return dn(t,Zt,i,n,e)}),mo=q(function(t,n){var e=An(n,re(mo));return dn(t,On,i,n,e)}),Nd=pn(function(t,n){return dn(t,nn,i,i,i,n)});function Bd(t,n){if(typeof t!="function")throw new qt(x);return n=n===i?n:$(n),q(t,n)}function $d(t,n){if(typeof t!="function")throw new qt(x);return n=n==null?0:ct($(n),0),q(function(e){var r=e[n],s=Rn(e,0,n);return r&&Sn(s,r),Ot(t,this,s)})}function Md(t,n,e){var r=!0,s=!0;if(typeof t!="function")throw new qt(x);return it(e)&&(r="leading"in e?!!e.leading:r,s="trailing"in e?!!e.trailing:s),yo(t,n,{leading:r,maxWait:n,trailing:s})}function Kd(t){return po(t,1)}function qd(t,n){return ki(Ii(n),t)}function kd(){if(!arguments.length)return[];var t=arguments[0];return U(t)?t:[t]}function Hd(t){return Ht(t,P)}function zd(t,n){return n=typeof n=="function"?n:i,Ht(t,P,n)}function Gd(t){return Ht(t,A|P)}function Jd(t,n){return n=typeof n=="function"?n:i,Ht(t,A|P,n)}function Zd(t,n){return n==null||uu(t,n,ht(n))}function jt(t,n){return t===n||t!==t&&n!==n}var Yd=gr(gi),Xd=gr(function(t,n){return t>=n}),qn=hu(function(){return arguments}())?hu:function(t){return st(t)&&V.call(t,"callee")&&!Vs.call(t,"callee")},U=_.isArray,Qd=Ws?Wt(Ws):sl;function It(t){return t!=null&&br(t.length)&&!_n(t)}function ut(t){return st(t)&&It(t)}function Vd(t){return t===!0||t===!1||st(t)&&xt(t)==bt}var En=hc||ts,jd=Ds?Wt(Ds):ul;function tp(t){return st(t)&&t.nodeType===1&&!Ee(t)}function np(t){if(t==null)return!0;if(It(t)&&(U(t)||typeof t=="string"||typeof t.splice=="function"||En(t)||ie(t)||qn(t)))return!t.length;var n=wt(t);if(n==Yt||n==Xt)return!t.size;if(Ie(t))return!wi(t).length;for(var e in t)if(V.call(t,e))return!1;return!0}function ep(t,n){return be(t,n)}function rp(t,n,e){e=typeof e=="function"?e:i;var r=e?e(t,n):i;return r===i?be(t,n,i,e):!!r}function Hi(t){if(!st(t))return!1;var n=xt(t);return n==Ct||n==Ue||typeof t.message=="string"&&typeof t.name=="string"&&!Ee(t)}function ip(t){return typeof t=="number"&&tu(t)}function _n(t){if(!it(t))return!1;var n=xt(t);return n==Ne||n==os||n==at||n==Ia}function xo(t){return typeof t=="number"&&t==$(t)}function br(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=en}function it(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function st(t){return t!=null&&typeof t=="object"}var So=Fs?Wt(Fs):al;function sp(t,n){return t===n||vi(t,n,Di(n))}function up(t,n,e){return e=typeof e=="function"?e:i,vi(t,n,Di(n),e)}function op(t){return Ao(t)&&t!=+t}function ap(t){if(zl(t))throw new F(v);return du(t)}function fp(t){return t===null}function cp(t){return t==null}function Ao(t){return typeof t=="number"||st(t)&&xt(t)==ce}function Ee(t){if(!st(t)||xt(t)!=fn)return!1;var n=Qe(t);if(n===null)return!0;var e=V.call(n,"constructor")&&n.constructor;return typeof e=="function"&&e instanceof e&&Je.call(e)==uc}var zi=Us?Wt(Us):fl;function lp(t){return xo(t)&&t>=-en&&t<=en}var bo=Ns?Wt(Ns):cl;function Cr(t){return typeof t=="string"||!U(t)&&st(t)&&xt(t)==he}function Ft(t){return typeof t=="symbol"||st(t)&&xt(t)==Be}var ie=Bs?Wt(Bs):ll;function hp(t){return t===i}function dp(t){return st(t)&&wt(t)==de}function pp(t){return st(t)&&xt(t)==Ea}var gp=gr(yi),_p=gr(function(t,n){return t<=n});function Co(t){if(!t)return[];if(It(t))return Cr(t)?Qt(t):Pt(t);if(_e&&t[_e])return Zf(t[_e]());var n=wt(t),e=n==Yt?ui:n==Xt?He:se;return e(t)}function vn(t){if(!t)return t===0?t:0;if(t=Jt(t),t===an||t===-an){var n=t<0?-1:1;return n*Lr}return t===t?t:0}function $(t){var n=vn(t),e=n%1;return n===n?e?n-e:n:0}function Po(t){return t?Bn($(t),0,$t):0}function Jt(t){if(typeof t=="number")return t;if(Ft(t))return Hn;if(it(t)){var n=typeof t.valueOf=="function"?t.valueOf():t;t=it(n)?n+"":n}if(typeof t!="string")return t===0?t:+t;t=Hs(t);var e=Xa.test(t);return e||Va.test(t)?Lf(t.slice(2),e?2:8):Ya.test(t)?Hn:+t}function Io(t){return sn(t,Rt(t))}function vp(t){return t?Bn($(t),-en,en):t===0?t:0}function Q(t){return t==null?"":Dt(t)}var wp=ne(function(t,n){if(Ie(n)||It(n)){sn(n,ht(n),t);return}for(var e in n)V.call(n,e)&&xe(t,e,n[e])}),Ro=ne(function(t,n){sn(n,Rt(n),t)}),Pr=ne(function(t,n,e,r){sn(n,Rt(n),t,r)}),yp=ne(function(t,n,e,r){sn(n,ht(n),t,r)}),mp=pn(hi);function xp(t,n){var e=te(t);return n==null?e:su(e,n)}var Sp=q(function(t,n){t=j(t);var e=-1,r=n.length,s=r>2?n[2]:i;for(s&&St(n[0],n[1],s)&&(r=1);++e<r;)for(var o=n[e],f=Rt(o),c=-1,d=f.length;++c<d;){var y=f[c],m=t[y];(m===i||jt(m,Qn[y])&&!V.call(t,y))&&(t[y]=o[y])}return t}),Ap=q(function(t){return t.push(i,Hu),Ot(Eo,i,t)});function bp(t,n){return Ms(t,L(n,3),rn)}function Cp(t,n){return Ms(t,L(n,3),pi)}function Pp(t,n){return t==null?t:di(t,L(n,3),Rt)}function Ip(t,n){return t==null?t:cu(t,L(n,3),Rt)}function Rp(t,n){return t&&rn(t,L(n,3))}function Ep(t,n){return t&&pi(t,L(n,3))}function Tp(t){return t==null?[]:or(t,ht(t))}function Lp(t){return t==null?[]:or(t,Rt(t))}function Gi(t,n,e){var r=t==null?i:$n(t,n);return r===i?e:r}function Op(t,n){return t!=null&&Ju(t,n,nl)}function Ji(t,n){return t!=null&&Ju(t,n,el)}var Wp=$u(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Ze.call(n)),t[n]=e},Yi(Et)),Dp=$u(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Ze.call(n)),V.call(t,n)?t[n].push(e):t[n]=[e]},L),Fp=q(Ae);function ht(t){return It(t)?ru(t):wi(t)}function Rt(t){return It(t)?ru(t,!0):hl(t)}function Up(t,n){var e={};return n=L(n,3),rn(t,function(r,s,o){hn(e,n(r,s,o),r)}),e}function Np(t,n){var e={};return n=L(n,3),rn(t,function(r,s,o){hn(e,s,n(r,s,o))}),e}var Bp=ne(function(t,n,e){ar(t,n,e)}),Eo=ne(function(t,n,e,r){ar(t,n,e,r)}),$p=pn(function(t,n){var e={};if(t==null)return e;var r=!1;n=rt(n,function(o){return o=In(o,t),r||(r=o.length>1),o}),sn(t,Oi(t),e),r&&(e=Ht(e,A|D|P,Wl));for(var s=n.length;s--;)bi(e,n[s]);return e});function Mp(t,n){return To(t,Ar(L(n)))}var Kp=pn(function(t,n){return t==null?{}:pl(t,n)});function To(t,n){if(t==null)return{};var e=rt(Oi(t),function(r){return[r]});return n=L(n),mu(t,e,function(r,s){return n(r,s[0])})}function qp(t,n,e){n=In(n,t);var r=-1,s=n.length;for(s||(s=1,t=i);++r<s;){var o=t==null?i:t[un(n[r])];o===i&&(r=s,o=e),t=_n(o)?o.call(t):o}return t}function kp(t,n,e){return t==null?t:Ce(t,n,e)}function Hp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:Ce(t,n,e,r)}var Lo=qu(ht),Oo=qu(Rt);function zp(t,n,e){var r=U(t),s=r||En(t)||ie(t);if(n=L(n,4),e==null){var o=t&&t.constructor;s?e=r?new o:[]:it(t)?e=_n(o)?te(Qe(t)):{}:e={}}return(s?Kt:rn)(t,function(f,c,d){return n(e,f,c,d)}),e}function Gp(t,n){return t==null?!0:bi(t,n)}function Jp(t,n,e){return t==null?t:Cu(t,n,Ii(e))}function Zp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:Cu(t,n,Ii(e),r)}function se(t){return t==null?[]:si(t,ht(t))}function Yp(t){return t==null?[]:si(t,Rt(t))}function Xp(t,n,e){return e===i&&(e=n,n=i),e!==i&&(e=Jt(e),e=e===e?e:0),n!==i&&(n=Jt(n),n=n===n?n:0),Bn(Jt(t),n,e)}function Qp(t,n,e){return n=vn(n),e===i?(e=n,n=0):e=vn(e),t=Jt(t),rl(t,n,e)}function Vp(t,n,e){if(e&&typeof e!="boolean"&&St(t,n,e)&&(n=e=i),e===i&&(typeof n=="boolean"?(e=n,n=i):typeof t=="boolean"&&(e=t,t=i)),t===i&&n===i?(t=0,n=1):(t=vn(t),n===i?(n=t,t=0):n=vn(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var s=nu();return vt(t+s*(n-t+Tf("1e-"+((s+"").length-1))),n)}return xi(t,n)}var jp=ee(function(t,n,e){return n=n.toLowerCase(),t+(e?Wo(n):n)});function Wo(t){return Zi(Q(t).toLowerCase())}function Do(t){return t=Q(t),t&&t.replace(tf,kf).replace(mf,"")}function tg(t,n,e){t=Q(t),n=Dt(n);var r=t.length;e=e===i?r:Bn($(e),0,r);var s=e;return e-=n.length,e>=0&&t.slice(e,s)==n}function ng(t){return t=Q(t),t&&Da.test(t)?t.replace(cs,Hf):t}function eg(t){return t=Q(t),t&&Ma.test(t)?t.replace(kr,"\\$&"):t}var rg=ee(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),ig=ee(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),sg=Uu("toLowerCase");function ug(t,n,e){t=Q(t),n=$(n);var r=n?Yn(t):0;if(!n||r>=n)return t;var s=(n-r)/2;return pr(nr(s),e)+t+pr(tr(s),e)}function og(t,n,e){t=Q(t),n=$(n);var r=n?Yn(t):0;return n&&r<n?t+pr(n-r,e):t}function ag(t,n,e){t=Q(t),n=$(n);var r=n?Yn(t):0;return n&&r<n?pr(n-r,e)+t:t}function fg(t,n,e){return e||n==null?n=0:n&&(n=+n),_c(Q(t).replace(Hr,""),n||0)}function cg(t,n,e){return(e?St(t,n,e):n===i)?n=1:n=$(n),Si(Q(t),n)}function lg(){var t=arguments,n=Q(t[0]);return t.length<3?n:n.replace(t[1],t[2])}var hg=ee(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()});function dg(t,n,e){return e&&typeof e!="number"&&St(t,n,e)&&(n=e=i),e=e===i?$t:e>>>0,e?(t=Q(t),t&&(typeof n=="string"||n!=null&&!zi(n))&&(n=Dt(n),!n&&Zn(t))?Rn(Qt(t),0,e):t.split(n,e)):[]}var pg=ee(function(t,n,e){return t+(e?" ":"")+Zi(n)});function gg(t,n,e){return t=Q(t),e=e==null?0:Bn($(e),0,t.length),n=Dt(n),t.slice(e,e+n.length)==n}function _g(t,n,e){var r=u.templateSettings;e&&St(t,n,e)&&(n=i),t=Q(t),n=Pr({},n,r,ku);var s=Pr({},n.imports,r.imports,ku),o=ht(s),f=si(s,o),c,d,y=0,m=n.interpolate||$e,S="__p += '",b=oi((n.escape||$e).source+"|"+m.source+"|"+(m===ls?Za:$e).source+"|"+(n.evaluate||$e).source+"|$","g"),R="//# sourceURL="+(V.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Cf+"]")+`
11
- `;t.replace(b,function(W,z,J,Ut,At,Nt){return J||(J=Ut),S+=t.slice(y,Nt).replace(nf,zf),z&&(c=!0,S+=`' +
10
+ `)}function kl(t){return U(t)||qn(t)||!!(tu&&t&&t[tu])}function gn(t,n){var e=typeof t;return n=n??en,!!n&&(e=="number"||e!="symbol"&&tf.test(t))&&t>-1&&t%1==0&&t<n}function St(t,n,e){if(!it(e))return!1;var r=typeof n;return(r=="number"?It(e)&&gn(n,e.length):r=="string"&&n in e)?jt(e[n],t):!1}function Ni(t,n){if(U(t))return!1;var e=typeof t;return e=="number"||e=="symbol"||e=="boolean"||t==null||Ft(t)?!0:$a.test(t)||!Ba.test(t)||n!=null&&t in j(n)}function Hl(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Bi(t){var n=_r(t),e=u[n];if(typeof e!="function"||!(n in G.prototype))return!1;if(t===e)return!0;var r=Di(e);return!!r&&t===r[0]}function zl(t){return!!Xs&&Xs in t}var Gl=Ge?_n:ns;function Ie(t){var n=t&&t.constructor,e=typeof n=="function"&&n.prototype||Qn;return t===e}function Xu(t){return t===t&&!it(t)}function Qu(t,n){return function(e){return e==null?!1:e[t]===n&&(n!==i||t in j(e))}}function Jl(t){var n=Sr(t,function(r){return e.size===K&&e.clear(),r}),e=n.cache;return n}function Zl(t,n){var e=t[1],r=n[1],s=e|r,o=s<(H|wn|Bt),f=r==Bt&&e==dt||r==Bt&&e==nn&&t[7].length<=n[8]||r==(Bt|nn)&&n[7].length<=n[8]&&e==dt;if(!(o||f))return t;r&H&&(t[2]=n[2],s|=e&H?0:on);var c=n[3];if(c){var d=t[3];t[3]=d?Wu(d,c,n[4]):c,t[4]=d?An(t[3],X):n[4]}return c=n[5],c&&(d=t[5],t[5]=d?Du(d,c,n[6]):c,t[6]=d?An(t[5],X):n[6]),c=n[7],c&&(t[7]=c),r&Bt&&(t[8]=t[8]==null?n[8]:vt(t[8],n[8])),t[9]==null&&(t[9]=n[9]),t[0]=n[0],t[1]=s,t}function Yl(t){var n=[];if(t!=null)for(var e in j(t))n.push(e);return n}function Xl(t){return Ze.call(t)}function Vu(t,n,e){return n=ct(n===i?t.length-1:n,0),function(){for(var r=arguments,s=-1,o=ct(r.length-n,0),f=_(o);++s<o;)f[s]=r[n+s];s=-1;for(var c=_(n+1);++s<n;)c[s]=r[s];return c[n]=e(f),Lt(t,this,c)}}function ju(t,n){return n.length<2?t:$n(t,zt(n,0,-1))}function Ql(t,n){for(var e=t.length,r=vt(n.length,e),s=Pt(t);r--;){var o=n[r];t[r]=gn(o,e)?s[o]:i}return t}function $i(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}var to=eo(Au),Re=hc||function(t,n){return pt.setTimeout(t,n)},Mi=eo(ml);function no(t,n,e){var r=n+"";return Mi(t,ql(r,Vl($l(r),e)))}function eo(t){var n=0,e=0;return function(){var r=_c(),s=We-(r-e);if(e=r,s>0){if(++n>=Ot)return arguments[0]}else n=0;return t.apply(i,arguments)}}function yr(t,n){var e=-1,r=t.length,s=r-1;for(n=n===i?r:n;++e<n;){var o=Si(e,s),f=t[o];t[o]=t[e],t[e]=f}return t.length=n,t}var ro=Jl(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(Ma,function(e,r,s,o){n.push(s?o.replace(Za,"$1"):r||e)}),n});function un(t){if(typeof t=="string"||Ft(t))return t;var n=t+"";return n=="0"&&1/t==-an?"-0":n}function Kn(t){if(t!=null){try{return Je.call(t)}catch{}try{return t+""}catch{}}return""}function Vl(t,n){return Kt(Dr,function(e){var r="_."+e[0];n&e[1]&&!qe(t,r)&&t.push(r)}),t.sort()}function io(t){if(t instanceof G)return t.clone();var n=new kt(t.__wrapped__,t.__chain__);return n.__actions__=Pt(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function jl(t,n,e){(e?St(t,n,e):n===i)?n=1:n=ct($(n),0);var r=t==null?0:t.length;if(!r||n<1)return[];for(var s=0,o=0,f=_(tr(r/n));s<r;)f[o++]=zt(t,s,s+=n);return f}function th(t){for(var n=-1,e=t==null?0:t.length,r=0,s=[];++n<e;){var o=t[n];o&&(s[r++]=o)}return s}function nh(){var t=arguments.length;if(!t)return[];for(var n=_(t-1),e=arguments[0],r=t;r--;)n[r-1]=arguments[r];return Sn(U(e)?Pt(e):[e],gt(n,1))}var eh=q(function(t,n){return ut(t)?Se(t,gt(n,1,ut,!0)):[]}),rh=q(function(t,n){var e=Gt(n);return ut(e)&&(e=i),ut(t)?Se(t,gt(n,1,ut,!0),O(e,2)):[]}),ih=q(function(t,n){var e=Gt(n);return ut(e)&&(e=i),ut(t)?Se(t,gt(n,1,ut,!0),i,e):[]});function sh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:$(n),zt(t,n<0?0:n,r)):[]}function uh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:$(n),n=r-n,zt(t,0,n<0?0:n)):[]}function oh(t,n){return t&&t.length?cr(t,O(n,3),!0,!0):[]}function ah(t,n){return t&&t.length?cr(t,O(n,3),!0):[]}function fh(t,n,e,r){var s=t==null?0:t.length;return s?(e&&typeof e!="number"&&St(t,n,e)&&(e=0,r=s),nl(t,n,e,r)):[]}function so(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=e==null?0:$(e);return s<0&&(s=ct(r+s,0)),ke(t,O(n,3),s)}function uo(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=r-1;return e!==i&&(s=$(e),s=e<0?ct(r+s,0):vt(s,r-1)),ke(t,O(n,3),s,!0)}function oo(t){var n=t==null?0:t.length;return n?gt(t,1):[]}function ch(t){var n=t==null?0:t.length;return n?gt(t,an):[]}function lh(t,n){var e=t==null?0:t.length;return e?(n=n===i?1:$(n),gt(t,n)):[]}function hh(t){for(var n=-1,e=t==null?0:t.length,r={};++n<e;){var s=t[n];r[s[0]]=s[1]}return r}function ao(t){return t&&t.length?t[0]:i}function dh(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=e==null?0:$(e);return s<0&&(s=ct(r+s,0)),Jn(t,n,s)}function ph(t){var n=t==null?0:t.length;return n?zt(t,0,-1):[]}var gh=q(function(t){var n=rt(t,Ii);return n.length&&n[0]===t[0]?vi(n):[]}),_h=q(function(t){var n=Gt(t),e=rt(t,Ii);return n===Gt(e)?n=i:e.pop(),e.length&&e[0]===t[0]?vi(e,O(n,2)):[]}),vh=q(function(t){var n=Gt(t),e=rt(t,Ii);return n=typeof n=="function"?n:i,n&&e.pop(),e.length&&e[0]===t[0]?vi(e,i,n):[]});function yh(t,n){return t==null?"":pc.call(t,n)}function Gt(t){var n=t==null?0:t.length;return n?t[n-1]:i}function wh(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var s=r;return e!==i&&(s=$(e),s=s<0?ct(r+s,0):vt(s,r-1)),n===n?Vf(t,n,s):ke(t,qs,s,!0)}function mh(t,n){return t&&t.length?wu(t,$(n)):i}var xh=q(fo);function fo(t,n){return t&&t.length&&n&&n.length?xi(t,n):t}function Sh(t,n,e){return t&&t.length&&n&&n.length?xi(t,n,O(e,2)):t}function Ah(t,n,e){return t&&t.length&&n&&n.length?xi(t,n,i,e):t}var bh=pn(function(t,n){var e=t==null?0:t.length,r=di(t,n);return Su(t,rt(n,function(s){return gn(s,e)?+s:s}).sort(Lu)),r});function Ch(t,n){var e=[];if(!(t&&t.length))return e;var r=-1,s=[],o=t.length;for(n=O(n,3);++r<o;){var f=t[r];n(f,r,t)&&(e.push(f),s.push(r))}return Su(t,s),e}function Ki(t){return t==null?t:yc.call(t)}function Ph(t,n,e){var r=t==null?0:t.length;return r?(e&&typeof e!="number"&&St(t,n,e)?(n=0,e=r):(n=n==null?0:$(n),e=e===i?r:$(e)),zt(t,n,e)):[]}function Ih(t,n){return fr(t,n)}function Rh(t,n,e){return bi(t,n,O(e,2))}function Th(t,n){var e=t==null?0:t.length;if(e){var r=fr(t,n);if(r<e&&jt(t[r],n))return r}return-1}function Eh(t,n){return fr(t,n,!0)}function Oh(t,n,e){return bi(t,n,O(e,2),!0)}function Lh(t,n){var e=t==null?0:t.length;if(e){var r=fr(t,n,!0)-1;if(jt(t[r],n))return r}return-1}function Wh(t){return t&&t.length?bu(t):[]}function Dh(t,n){return t&&t.length?bu(t,O(n,2)):[]}function Fh(t){var n=t==null?0:t.length;return n?zt(t,1,n):[]}function Uh(t,n,e){return t&&t.length?(n=e||n===i?1:$(n),zt(t,0,n<0?0:n)):[]}function Nh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:$(n),n=r-n,zt(t,n<0?0:n,r)):[]}function Bh(t,n){return t&&t.length?cr(t,O(n,3),!1,!0):[]}function $h(t,n){return t&&t.length?cr(t,O(n,3)):[]}var Mh=q(function(t){return Pn(gt(t,1,ut,!0))}),Kh=q(function(t){var n=Gt(t);return ut(n)&&(n=i),Pn(gt(t,1,ut,!0),O(n,2))}),qh=q(function(t){var n=Gt(t);return n=typeof n=="function"?n:i,Pn(gt(t,1,ut,!0),i,n)});function kh(t){return t&&t.length?Pn(t):[]}function Hh(t,n){return t&&t.length?Pn(t,O(n,2)):[]}function zh(t,n){return n=typeof n=="function"?n:i,t&&t.length?Pn(t,i,n):[]}function qi(t){if(!(t&&t.length))return[];var n=0;return t=xn(t,function(e){if(ut(e))return n=ct(e.length,n),!0}),si(n,function(e){return rt(t,ei(e))})}function co(t,n){if(!(t&&t.length))return[];var e=qi(t);return n==null?e:rt(e,function(r){return Lt(n,i,r)})}var Gh=q(function(t,n){return ut(t)?Se(t,n):[]}),Jh=q(function(t){return Pi(xn(t,ut))}),Zh=q(function(t){var n=Gt(t);return ut(n)&&(n=i),Pi(xn(t,ut),O(n,2))}),Yh=q(function(t){var n=Gt(t);return n=typeof n=="function"?n:i,Pi(xn(t,ut),i,n)}),Xh=q(qi);function Qh(t,n){return Ru(t||[],n||[],xe)}function Vh(t,n){return Ru(t||[],n||[],Ce)}var jh=q(function(t){var n=t.length,e=n>1?t[n-1]:i;return e=typeof e=="function"?(t.pop(),e):i,co(t,e)});function lo(t){var n=u(t);return n.__chain__=!0,n}function td(t,n){return n(t),t}function wr(t,n){return n(t)}var nd=pn(function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,s=function(o){return di(o,t)};return n>1||this.__actions__.length||!(r instanceof G)||!gn(e)?this.thru(s):(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:wr,args:[s],thisArg:i}),new kt(r,this.__chain__).thru(function(o){return n&&!o.length&&o.push(i),o}))});function ed(){return lo(this)}function rd(){return new kt(this.value(),this.__chain__)}function id(){this.__values__===i&&(this.__values__=Po(this.value()));var t=this.__index__>=this.__values__.length,n=t?i:this.__values__[this.__index__++];return{done:t,value:n}}function sd(){return this}function ud(t){for(var n,e=this;e instanceof ir;){var r=io(e);r.__index__=0,r.__values__=i,n?s.__wrapped__=r:n=r;var s=r;e=e.__wrapped__}return s.__wrapped__=t,n}function od(){var t=this.__wrapped__;if(t instanceof G){var n=t;return this.__actions__.length&&(n=new G(this)),n=n.reverse(),n.__actions__.push({func:wr,args:[Ki],thisArg:i}),new kt(n,this.__chain__)}return this.thru(Ki)}function ad(){return Iu(this.__wrapped__,this.__actions__)}var fd=lr(function(t,n,e){V.call(t,e)?++t[e]:hn(t,e,1)});function cd(t,n,e){var r=U(t)?Ms:tl;return e&&St(t,n,e)&&(n=i),r(t,O(n,3))}function ld(t,n){var e=U(t)?xn:cu;return e(t,O(n,3))}var hd=Bu(so),dd=Bu(uo);function pd(t,n){return gt(mr(t,n),1)}function gd(t,n){return gt(mr(t,n),an)}function _d(t,n,e){return e=e===i?1:$(e),gt(mr(t,n),e)}function ho(t,n){var e=U(t)?Kt:Cn;return e(t,O(n,3))}function po(t,n){var e=U(t)?Ff:fu;return e(t,O(n,3))}var vd=lr(function(t,n,e){V.call(t,e)?t[e].push(n):hn(t,e,[n])});function yd(t,n,e,r){t=It(t)?t:se(t),e=e&&!r?$(e):0;var s=t.length;return e<0&&(e=ct(s+e,0)),Cr(t)?e<=s&&t.indexOf(n,e)>-1:!!s&&Jn(t,n,e)>-1}var wd=q(function(t,n,e){var r=-1,s=typeof n=="function",o=It(t)?_(t.length):[];return Cn(t,function(f){o[++r]=s?Lt(n,f,e):Ae(f,n,e)}),o}),md=lr(function(t,n,e){hn(t,e,n)});function mr(t,n){var e=U(t)?rt:_u;return e(t,O(n,3))}function xd(t,n,e,r){return t==null?[]:(U(n)||(n=n==null?[]:[n]),e=r?i:e,U(e)||(e=e==null?[]:[e]),mu(t,n,e))}var Sd=lr(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]});function Ad(t,n,e){var r=U(t)?ti:Hs,s=arguments.length<3;return r(t,O(n,4),e,s,Cn)}function bd(t,n,e){var r=U(t)?Uf:Hs,s=arguments.length<3;return r(t,O(n,4),e,s,fu)}function Cd(t,n){var e=U(t)?xn:cu;return e(t,Ar(O(n,3)))}function Pd(t){var n=U(t)?su:yl;return n(t)}function Id(t,n,e){(e?St(t,n,e):n===i)?n=1:n=$(n);var r=U(t)?Yc:wl;return r(t,n)}function Rd(t){var n=U(t)?Xc:xl;return n(t)}function Td(t){if(t==null)return 0;if(It(t))return Cr(t)?Yn(t):t.length;var n=yt(t);return n==Yt||n==Xt?t.size:wi(t).length}function Ed(t,n,e){var r=U(t)?ni:Sl;return e&&St(t,n,e)&&(n=i),r(t,O(n,3))}var Od=q(function(t,n){if(t==null)return[];var e=n.length;return e>1&&St(t,n[0],n[1])?n=[]:e>2&&St(n[0],n[1],n[2])&&(n=[n[0]]),mu(t,gt(n,1),[])}),xr=lc||function(){return pt.Date.now()};function Ld(t,n){if(typeof n!="function")throw new qt(x);return t=$(t),function(){if(--t<1)return n.apply(this,arguments)}}function go(t,n,e){return n=e?i:n,n=t&&n==null?t.length:n,dn(t,Bt,i,i,i,i,n)}function _o(t,n){var e;if(typeof n!="function")throw new qt(x);return t=$(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var ki=q(function(t,n,e){var r=H;if(e.length){var s=An(e,re(ki));r|=Zt}return dn(t,r,n,e,s)}),vo=q(function(t,n,e){var r=H|wn;if(e.length){var s=An(e,re(vo));r|=Zt}return dn(n,r,t,e,s)});function yo(t,n,e){n=e?i:n;var r=dn(t,dt,i,i,i,i,i,n);return r.placeholder=yo.placeholder,r}function wo(t,n,e){n=e?i:n;var r=dn(t,_t,i,i,i,i,i,n);return r.placeholder=wo.placeholder,r}function mo(t,n,e){var r,s,o,f,c,d,w=0,m=!1,S=!1,b=!0;if(typeof t!="function")throw new qt(x);n=Jt(n)||0,it(e)&&(m=!!e.leading,S="maxWait"in e,o=S?ct(Jt(e.maxWait)||0,n):o,b="trailing"in e?!!e.trailing:b);function R(ot){var tn=r,yn=s;return r=s=i,w=ot,f=t.apply(yn,tn),f}function L(ot){return w=ot,c=Re(z,n),m?R(ot):f}function M(ot){var tn=ot-d,yn=ot-w,$o=n-tn;return S?vt($o,o-yn):$o}function W(ot){var tn=ot-d,yn=ot-w;return d===i||tn>=n||tn<0||S&&yn>=o}function z(){var ot=xr();if(W(ot))return J(ot);c=Re(z,M(ot))}function J(ot){return c=i,b&&r?R(ot):(r=s=i,f)}function Ut(){c!==i&&Tu(c),w=0,r=d=s=c=i}function At(){return c===i?f:J(xr())}function Nt(){var ot=xr(),tn=W(ot);if(r=arguments,s=this,d=ot,tn){if(c===i)return L(d);if(S)return Tu(c),c=Re(z,n),R(d)}return c===i&&(c=Re(z,n)),f}return Nt.cancel=Ut,Nt.flush=At,Nt}var Wd=q(function(t,n){return au(t,1,n)}),Dd=q(function(t,n,e){return au(t,Jt(n)||0,e)});function Fd(t){return dn(t,Et)}function Sr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new qt(x);var e=function(){var r=arguments,s=n?n.apply(this,r):r[0],o=e.cache;if(o.has(s))return o.get(s);var f=t.apply(this,r);return e.cache=o.set(s,f)||o,f};return e.cache=new(Sr.Cache||ln),e}Sr.Cache=ln;function Ar(t){if(typeof t!="function")throw new qt(x);return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}function Ud(t){return _o(2,t)}var Nd=Al(function(t,n){n=n.length==1&&U(n[0])?rt(n[0],Wt(O())):rt(gt(n,1),Wt(O()));var e=n.length;return q(function(r){for(var s=-1,o=vt(r.length,e);++s<o;)r[s]=n[s].call(this,r[s]);return Lt(t,this,r)})}),Hi=q(function(t,n){var e=An(n,re(Hi));return dn(t,Zt,i,n,e)}),xo=q(function(t,n){var e=An(n,re(xo));return dn(t,Ln,i,n,e)}),Bd=pn(function(t,n){return dn(t,nn,i,i,i,n)});function $d(t,n){if(typeof t!="function")throw new qt(x);return n=n===i?n:$(n),q(t,n)}function Md(t,n){if(typeof t!="function")throw new qt(x);return n=n==null?0:ct($(n),0),q(function(e){var r=e[n],s=Rn(e,0,n);return r&&Sn(s,r),Lt(t,this,s)})}function Kd(t,n,e){var r=!0,s=!0;if(typeof t!="function")throw new qt(x);return it(e)&&(r="leading"in e?!!e.leading:r,s="trailing"in e?!!e.trailing:s),mo(t,n,{leading:r,maxWait:n,trailing:s})}function qd(t){return go(t,1)}function kd(t,n){return Hi(Ri(n),t)}function Hd(){if(!arguments.length)return[];var t=arguments[0];return U(t)?t:[t]}function zd(t){return Ht(t,P)}function Gd(t,n){return n=typeof n=="function"?n:i,Ht(t,P,n)}function Jd(t){return Ht(t,A|P)}function Zd(t,n){return n=typeof n=="function"?n:i,Ht(t,A|P,n)}function Yd(t,n){return n==null||ou(t,n,ht(n))}function jt(t,n){return t===n||t!==t&&n!==n}var Xd=gr(_i),Qd=gr(function(t,n){return t>=n}),qn=du(function(){return arguments}())?du:function(t){return st(t)&&V.call(t,"callee")&&!js.call(t,"callee")},U=_.isArray,Vd=Ds?Wt(Ds):ul;function It(t){return t!=null&&br(t.length)&&!_n(t)}function ut(t){return st(t)&&It(t)}function jd(t){return t===!0||t===!1||st(t)&&xt(t)==bt}var Tn=dc||ns,tp=Fs?Wt(Fs):ol;function np(t){return st(t)&&t.nodeType===1&&!Te(t)}function ep(t){if(t==null)return!0;if(It(t)&&(U(t)||typeof t=="string"||typeof t.splice=="function"||Tn(t)||ie(t)||qn(t)))return!t.length;var n=yt(t);if(n==Yt||n==Xt)return!t.size;if(Ie(t))return!wi(t).length;for(var e in t)if(V.call(t,e))return!1;return!0}function rp(t,n){return be(t,n)}function ip(t,n,e){e=typeof e=="function"?e:i;var r=e?e(t,n):i;return r===i?be(t,n,i,e):!!r}function zi(t){if(!st(t))return!1;var n=xt(t);return n==Ct||n==Ue||typeof t.message=="string"&&typeof t.name=="string"&&!Te(t)}function sp(t){return typeof t=="number"&&nu(t)}function _n(t){if(!it(t))return!1;var n=xt(t);return n==Ne||n==as||n==at||n==Ra}function So(t){return typeof t=="number"&&t==$(t)}function br(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=en}function it(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function st(t){return t!=null&&typeof t=="object"}var Ao=Us?Wt(Us):fl;function up(t,n){return t===n||yi(t,n,Fi(n))}function op(t,n,e){return e=typeof e=="function"?e:i,yi(t,n,Fi(n),e)}function ap(t){return bo(t)&&t!=+t}function fp(t){if(Gl(t))throw new F(v);return pu(t)}function cp(t){return t===null}function lp(t){return t==null}function bo(t){return typeof t=="number"||st(t)&&xt(t)==ce}function Te(t){if(!st(t)||xt(t)!=fn)return!1;var n=Qe(t);if(n===null)return!0;var e=V.call(n,"constructor")&&n.constructor;return typeof e=="function"&&e instanceof e&&Je.call(e)==oc}var Gi=Ns?Wt(Ns):cl;function hp(t){return So(t)&&t>=-en&&t<=en}var Co=Bs?Wt(Bs):ll;function Cr(t){return typeof t=="string"||!U(t)&&st(t)&&xt(t)==he}function Ft(t){return typeof t=="symbol"||st(t)&&xt(t)==Be}var ie=$s?Wt($s):hl;function dp(t){return t===i}function pp(t){return st(t)&&yt(t)==de}function gp(t){return st(t)&&xt(t)==Ea}var _p=gr(mi),vp=gr(function(t,n){return t<=n});function Po(t){if(!t)return[];if(It(t))return Cr(t)?Qt(t):Pt(t);if(_e&&t[_e])return Yf(t[_e]());var n=yt(t),e=n==Yt?oi:n==Xt?He:se;return e(t)}function vn(t){if(!t)return t===0?t:0;if(t=Jt(t),t===an||t===-an){var n=t<0?-1:1;return n*Lr}return t===t?t:0}function $(t){var n=vn(t),e=n%1;return n===n?e?n-e:n:0}function Io(t){return t?Bn($(t),0,$t):0}function Jt(t){if(typeof t=="number")return t;if(Ft(t))return Hn;if(it(t)){var n=typeof t.valueOf=="function"?t.valueOf():t;t=it(n)?n+"":n}if(typeof t!="string")return t===0?t:+t;t=zs(t);var e=Qa.test(t);return e||ja.test(t)?Lf(t.slice(2),e?2:8):Xa.test(t)?Hn:+t}function Ro(t){return sn(t,Rt(t))}function yp(t){return t?Bn($(t),-en,en):t===0?t:0}function Q(t){return t==null?"":Dt(t)}var wp=ne(function(t,n){if(Ie(n)||It(n)){sn(n,ht(n),t);return}for(var e in n)V.call(n,e)&&xe(t,e,n[e])}),To=ne(function(t,n){sn(n,Rt(n),t)}),Pr=ne(function(t,n,e,r){sn(n,Rt(n),t,r)}),mp=ne(function(t,n,e,r){sn(n,ht(n),t,r)}),xp=pn(di);function Sp(t,n){var e=te(t);return n==null?e:uu(e,n)}var Ap=q(function(t,n){t=j(t);var e=-1,r=n.length,s=r>2?n[2]:i;for(s&&St(n[0],n[1],s)&&(r=1);++e<r;)for(var o=n[e],f=Rt(o),c=-1,d=f.length;++c<d;){var w=f[c],m=t[w];(m===i||jt(m,Qn[w])&&!V.call(t,w))&&(t[w]=o[w])}return t}),bp=q(function(t){return t.push(i,zu),Lt(Eo,i,t)});function Cp(t,n){return Ks(t,O(n,3),rn)}function Pp(t,n){return Ks(t,O(n,3),gi)}function Ip(t,n){return t==null?t:pi(t,O(n,3),Rt)}function Rp(t,n){return t==null?t:lu(t,O(n,3),Rt)}function Tp(t,n){return t&&rn(t,O(n,3))}function Ep(t,n){return t&&gi(t,O(n,3))}function Op(t){return t==null?[]:or(t,ht(t))}function Lp(t){return t==null?[]:or(t,Rt(t))}function Ji(t,n,e){var r=t==null?i:$n(t,n);return r===i?e:r}function Wp(t,n){return t!=null&&Zu(t,n,el)}function Zi(t,n){return t!=null&&Zu(t,n,rl)}var Dp=Mu(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Ze.call(n)),t[n]=e},Xi(Tt)),Fp=Mu(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Ze.call(n)),V.call(t,n)?t[n].push(e):t[n]=[e]},O),Up=q(Ae);function ht(t){return It(t)?iu(t):wi(t)}function Rt(t){return It(t)?iu(t,!0):dl(t)}function Np(t,n){var e={};return n=O(n,3),rn(t,function(r,s,o){hn(e,n(r,s,o),r)}),e}function Bp(t,n){var e={};return n=O(n,3),rn(t,function(r,s,o){hn(e,s,n(r,s,o))}),e}var $p=ne(function(t,n,e){ar(t,n,e)}),Eo=ne(function(t,n,e,r){ar(t,n,e,r)}),Mp=pn(function(t,n){var e={};if(t==null)return e;var r=!1;n=rt(n,function(o){return o=In(o,t),r||(r=o.length>1),o}),sn(t,Wi(t),e),r&&(e=Ht(e,A|D|P,Dl));for(var s=n.length;s--;)Ci(e,n[s]);return e});function Kp(t,n){return Oo(t,Ar(O(n)))}var qp=pn(function(t,n){return t==null?{}:gl(t,n)});function Oo(t,n){if(t==null)return{};var e=rt(Wi(t),function(r){return[r]});return n=O(n),xu(t,e,function(r,s){return n(r,s[0])})}function kp(t,n,e){n=In(n,t);var r=-1,s=n.length;for(s||(s=1,t=i);++r<s;){var o=t==null?i:t[un(n[r])];o===i&&(r=s,o=e),t=_n(o)?o.call(t):o}return t}function Hp(t,n,e){return t==null?t:Ce(t,n,e)}function zp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:Ce(t,n,e,r)}var Lo=ku(ht),Wo=ku(Rt);function Gp(t,n,e){var r=U(t),s=r||Tn(t)||ie(t);if(n=O(n,4),e==null){var o=t&&t.constructor;s?e=r?new o:[]:it(t)?e=_n(o)?te(Qe(t)):{}:e={}}return(s?Kt:rn)(t,function(f,c,d){return n(e,f,c,d)}),e}function Jp(t,n){return t==null?!0:Ci(t,n)}function Zp(t,n,e){return t==null?t:Pu(t,n,Ri(e))}function Yp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:Pu(t,n,Ri(e),r)}function se(t){return t==null?[]:ui(t,ht(t))}function Xp(t){return t==null?[]:ui(t,Rt(t))}function Qp(t,n,e){return e===i&&(e=n,n=i),e!==i&&(e=Jt(e),e=e===e?e:0),n!==i&&(n=Jt(n),n=n===n?n:0),Bn(Jt(t),n,e)}function Vp(t,n,e){return n=vn(n),e===i?(e=n,n=0):e=vn(e),t=Jt(t),il(t,n,e)}function jp(t,n,e){if(e&&typeof e!="boolean"&&St(t,n,e)&&(n=e=i),e===i&&(typeof n=="boolean"?(e=n,n=i):typeof t=="boolean"&&(e=t,t=i)),t===i&&n===i?(t=0,n=1):(t=vn(t),n===i?(n=t,t=0):n=vn(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var s=eu();return vt(t+s*(n-t+Of("1e-"+((s+"").length-1))),n)}return Si(t,n)}var tg=ee(function(t,n,e){return n=n.toLowerCase(),t+(e?Do(n):n)});function Do(t){return Yi(Q(t).toLowerCase())}function Fo(t){return t=Q(t),t&&t.replace(nf,Hf).replace(xf,"")}function ng(t,n,e){t=Q(t),n=Dt(n);var r=t.length;e=e===i?r:Bn($(e),0,r);var s=e;return e-=n.length,e>=0&&t.slice(e,s)==n}function eg(t){return t=Q(t),t&&Fa.test(t)?t.replace(ls,zf):t}function rg(t){return t=Q(t),t&&Ka.test(t)?t.replace(Hr,"\\$&"):t}var ig=ee(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),sg=ee(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),ug=Nu("toLowerCase");function og(t,n,e){t=Q(t),n=$(n);var r=n?Yn(t):0;if(!n||r>=n)return t;var s=(n-r)/2;return pr(nr(s),e)+t+pr(tr(s),e)}function ag(t,n,e){t=Q(t),n=$(n);var r=n?Yn(t):0;return n&&r<n?t+pr(n-r,e):t}function fg(t,n,e){t=Q(t),n=$(n);var r=n?Yn(t):0;return n&&r<n?pr(n-r,e)+t:t}function cg(t,n,e){return e||n==null?n=0:n&&(n=+n),vc(Q(t).replace(zr,""),n||0)}function lg(t,n,e){return(e?St(t,n,e):n===i)?n=1:n=$(n),Ai(Q(t),n)}function hg(){var t=arguments,n=Q(t[0]);return t.length<3?n:n.replace(t[1],t[2])}var dg=ee(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()});function pg(t,n,e){return e&&typeof e!="number"&&St(t,n,e)&&(n=e=i),e=e===i?$t:e>>>0,e?(t=Q(t),t&&(typeof n=="string"||n!=null&&!Gi(n))&&(n=Dt(n),!n&&Zn(t))?Rn(Qt(t),0,e):t.split(n,e)):[]}var gg=ee(function(t,n,e){return t+(e?" ":"")+Yi(n)});function _g(t,n,e){return t=Q(t),e=e==null?0:Bn($(e),0,t.length),n=Dt(n),t.slice(e,e+n.length)==n}function vg(t,n,e){var r=u.templateSettings;e&&St(t,n,e)&&(n=i),t=Q(t),n=Pr({},n,r,Hu);var s=Pr({},n.imports,r.imports,Hu),o=ht(s),f=ui(s,o),c,d,w=0,m=n.interpolate||$e,S="__p += '",b=ai((n.escape||$e).source+"|"+m.source+"|"+(m===hs?Ya:$e).source+"|"+(n.evaluate||$e).source+"|$","g"),R="//# sourceURL="+(V.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Pf+"]")+`
11
+ `;t.replace(b,function(W,z,J,Ut,At,Nt){return J||(J=Ut),S+=t.slice(w,Nt).replace(ef,Gf),z&&(c=!0,S+=`' +
12
12
  __e(`+z+`) +
13
13
  '`),At&&(d=!0,S+=`';
14
14
  `+At+`;
15
15
  __p += '`),J&&(S+=`' +
16
16
  ((__t = (`+J+`)) == null ? '' : __t) +
17
- '`),y=Nt+W.length,W}),S+=`';
18
- `;var O=V.call(n,"variable")&&n.variable;if(!O)S=`with (obj) {
17
+ '`),w=Nt+W.length,W}),S+=`';
18
+ `;var L=V.call(n,"variable")&&n.variable;if(!L)S=`with (obj) {
19
19
  `+S+`
20
20
  }
21
- `;else if(Ga.test(O))throw new F(T);S=(d?S.replace(Ta,""):S).replace(La,"$1").replace(Oa,"$1;"),S="function("+(O||"obj")+`) {
22
- `+(O?"":`obj || (obj = {});
21
+ `;else if(Ja.test(L))throw new F(E);S=(d?S.replace(Oa,""):S).replace(La,"$1").replace(Wa,"$1;"),S="function("+(L||"obj")+`) {
22
+ `+(L?"":`obj || (obj = {});
23
23
  `)+"var __t, __p = ''"+(c?", __e = _.escape":"")+(d?`, __j = Array.prototype.join;
24
24
  function print() { __p += __j.call(arguments, '') }
25
25
  `:`;
26
26
  `)+S+`return __p
27
- }`;var M=Uo(function(){return Y(o,R+"return "+S).apply(i,f)});if(M.source=S,Hi(M))throw M;return M}function vg(t){return Q(t).toLowerCase()}function wg(t){return Q(t).toUpperCase()}function yg(t,n,e){if(t=Q(t),t&&(e||n===i))return Hs(t);if(!t||!(n=Dt(n)))return t;var r=Qt(t),s=Qt(n),o=zs(r,s),f=Gs(r,s)+1;return Rn(r,o,f).join("")}function mg(t,n,e){if(t=Q(t),t&&(e||n===i))return t.slice(0,Zs(t)+1);if(!t||!(n=Dt(n)))return t;var r=Qt(t),s=Gs(r,Qt(n))+1;return Rn(r,0,s).join("")}function xg(t,n,e){if(t=Q(t),t&&(e||n===i))return t.replace(Hr,"");if(!t||!(n=Dt(n)))return t;var r=Qt(t),s=zs(r,Qt(n));return Rn(r,s).join("")}function Sg(t,n){var e=Oe,r=fe;if(it(n)){var s="separator"in n?n.separator:s;e="length"in n?$(n.length):e,r="omission"in n?Dt(n.omission):r}t=Q(t);var o=t.length;if(Zn(t)){var f=Qt(t);o=f.length}if(e>=o)return t;var c=e-Yn(r);if(c<1)return r;var d=f?Rn(f,0,c).join(""):t.slice(0,c);if(s===i)return d+r;if(f&&(c+=d.length-c),zi(s)){if(t.slice(c).search(s)){var y,m=d;for(s.global||(s=oi(s.source,Q(hs.exec(s))+"g")),s.lastIndex=0;y=s.exec(m);)var S=y.index;d=d.slice(0,S===i?c:S)}}else if(t.indexOf(Dt(s),c)!=c){var b=d.lastIndexOf(s);b>-1&&(d=d.slice(0,b))}return d+r}function Ag(t){return t=Q(t),t&&Wa.test(t)?t.replace(fs,Vf):t}var bg=ee(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),Zi=Uu("toUpperCase");function Fo(t,n,e){return t=Q(t),n=e?i:n,n===i?Jf(t)?nc(t):Bf(t):t.match(n)||[]}var Uo=q(function(t,n){try{return Ot(t,i,n)}catch(e){return Hi(e)?e:new F(e)}}),Cg=pn(function(t,n){return Kt(n,function(e){e=un(e),hn(t,e,qi(t[e],t))}),t});function Pg(t){var n=t==null?0:t.length,e=L();return t=n?rt(t,function(r){if(typeof r[1]!="function")throw new qt(x);return[e(r[0]),r[1]]}):[],q(function(r){for(var s=-1;++s<n;){var o=t[s];if(Ot(o[0],this,r))return Ot(o[1],this,r)}})}function Ig(t){return Vc(Ht(t,A))}function Yi(t){return function(){return t}}function Rg(t,n){return t==null||t!==t?n:t}var Eg=Bu(),Tg=Bu(!0);function Et(t){return t}function Xi(t){return pu(typeof t=="function"?t:Ht(t,A))}function Lg(t){return _u(Ht(t,A))}function Og(t,n){return vu(t,Ht(n,A))}var Wg=q(function(t,n){return function(e){return Ae(e,t,n)}}),Dg=q(function(t,n){return function(e){return Ae(t,e,n)}});function Qi(t,n,e){var r=ht(n),s=or(n,r);e==null&&!(it(n)&&(s.length||!r.length))&&(e=n,n=t,t=this,s=or(n,ht(n)));var o=!(it(e)&&"chain"in e)||!!e.chain,f=_n(t);return Kt(s,function(c){var d=n[c];t[c]=d,f&&(t.prototype[c]=function(){var y=this.__chain__;if(o||y){var m=t(this.__wrapped__),S=m.__actions__=Pt(this.__actions__);return S.push({func:d,args:arguments,thisArg:t}),m.__chain__=y,m}return d.apply(t,Sn([this.value()],arguments))})}),t}function Fg(){return pt._===this&&(pt._=oc),this}function Vi(){}function Ug(t){return t=$(t),q(function(n){return wu(n,t)})}var Ng=Ei(rt),Bg=Ei($s),$g=Ei(ti);function No(t){return Ui(t)?ni(un(t)):gl(t)}function Mg(t){return function(n){return t==null?i:$n(t,n)}}var Kg=Mu(),qg=Mu(!0);function ji(){return[]}function ts(){return!1}function kg(){return{}}function Hg(){return""}function zg(){return!0}function Gg(t,n){if(t=$(t),t<1||t>en)return[];var e=$t,r=vt(t,$t);n=L(n),t-=$t;for(var s=ii(r,n);++e<t;)n(e);return s}function Jg(t){return U(t)?rt(t,un):Ft(t)?[t]:Pt(eo(Q(t)))}function Zg(t){var n=++sc;return Q(t)+n}var Yg=dr(function(t,n){return t+n},0),Xg=Ti("ceil"),Qg=dr(function(t,n){return t/n},1),Vg=Ti("floor");function jg(t){return t&&t.length?ur(t,Et,gi):i}function t_(t,n){return t&&t.length?ur(t,L(n,2),gi):i}function n_(t){return qs(t,Et)}function e_(t,n){return qs(t,L(n,2))}function r_(t){return t&&t.length?ur(t,Et,yi):i}function i_(t,n){return t&&t.length?ur(t,L(n,2),yi):i}var s_=dr(function(t,n){return t*n},1),u_=Ti("round"),o_=dr(function(t,n){return t-n},0);function a_(t){return t&&t.length?ri(t,Et):0}function f_(t,n){return t&&t.length?ri(t,L(n,2)):0}return u.after=Ld,u.ary=po,u.assign=wp,u.assignIn=Ro,u.assignInWith=Pr,u.assignWith=yp,u.at=mp,u.before=go,u.bind=qi,u.bindAll=Cg,u.bindKey=_o,u.castArray=kd,u.chain=co,u.chunk=Vl,u.compact=jl,u.concat=th,u.cond=Pg,u.conforms=Ig,u.constant=Yi,u.countBy=ad,u.create=xp,u.curry=vo,u.curryRight=wo,u.debounce=yo,u.defaults=Sp,u.defaultsDeep=Ap,u.defer=Od,u.delay=Wd,u.difference=nh,u.differenceBy=eh,u.differenceWith=rh,u.drop=ih,u.dropRight=sh,u.dropRightWhile=uh,u.dropWhile=oh,u.fill=ah,u.filter=cd,u.flatMap=dd,u.flatMapDeep=pd,u.flatMapDepth=gd,u.flatten=uo,u.flattenDeep=fh,u.flattenDepth=ch,u.flip=Dd,u.flow=Eg,u.flowRight=Tg,u.fromPairs=lh,u.functions=Tp,u.functionsIn=Lp,u.groupBy=_d,u.initial=dh,u.intersection=ph,u.intersectionBy=gh,u.intersectionWith=_h,u.invert=Wp,u.invertBy=Dp,u.invokeMap=wd,u.iteratee=Xi,u.keyBy=yd,u.keys=ht,u.keysIn=Rt,u.map=mr,u.mapKeys=Up,u.mapValues=Np,u.matches=Lg,u.matchesProperty=Og,u.memoize=Sr,u.merge=Bp,u.mergeWith=Eo,u.method=Wg,u.methodOf=Dg,u.mixin=Qi,u.negate=Ar,u.nthArg=Ug,u.omit=$p,u.omitBy=Mp,u.once=Fd,u.orderBy=md,u.over=Ng,u.overArgs=Ud,u.overEvery=Bg,u.overSome=$g,u.partial=ki,u.partialRight=mo,u.partition=xd,u.pick=Kp,u.pickBy=To,u.property=No,u.propertyOf=Mg,u.pull=mh,u.pullAll=ao,u.pullAllBy=xh,u.pullAllWith=Sh,u.pullAt=Ah,u.range=Kg,u.rangeRight=qg,u.rearg=Nd,u.reject=bd,u.remove=bh,u.rest=Bd,u.reverse=Mi,u.sampleSize=Pd,u.set=kp,u.setWith=Hp,u.shuffle=Id,u.slice=Ch,u.sortBy=Td,u.sortedUniq=Oh,u.sortedUniqBy=Wh,u.split=dg,u.spread=$d,u.tail=Dh,u.take=Fh,u.takeRight=Uh,u.takeRightWhile=Nh,u.takeWhile=Bh,u.tap=jh,u.throttle=Md,u.thru=yr,u.toArray=Co,u.toPairs=Lo,u.toPairsIn=Oo,u.toPath=Jg,u.toPlainObject=Io,u.transform=zp,u.unary=Kd,u.union=$h,u.unionBy=Mh,u.unionWith=Kh,u.uniq=qh,u.uniqBy=kh,u.uniqWith=Hh,u.unset=Gp,u.unzip=Ki,u.unzipWith=fo,u.update=Jp,u.updateWith=Zp,u.values=se,u.valuesIn=Yp,u.without=zh,u.words=Fo,u.wrap=qd,u.xor=Gh,u.xorBy=Jh,u.xorWith=Zh,u.zip=Yh,u.zipObject=Xh,u.zipObjectDeep=Qh,u.zipWith=Vh,u.entries=Lo,u.entriesIn=Oo,u.extend=Ro,u.extendWith=Pr,Qi(u,u),u.add=Yg,u.attempt=Uo,u.camelCase=jp,u.capitalize=Wo,u.ceil=Xg,u.clamp=Xp,u.clone=Hd,u.cloneDeep=Gd,u.cloneDeepWith=Jd,u.cloneWith=zd,u.conformsTo=Zd,u.deburr=Do,u.defaultTo=Rg,u.divide=Qg,u.endsWith=tg,u.eq=jt,u.escape=ng,u.escapeRegExp=eg,u.every=fd,u.find=ld,u.findIndex=io,u.findKey=bp,u.findLast=hd,u.findLastIndex=so,u.findLastKey=Cp,u.floor=Vg,u.forEach=lo,u.forEachRight=ho,u.forIn=Pp,u.forInRight=Ip,u.forOwn=Rp,u.forOwnRight=Ep,u.get=Gi,u.gt=Yd,u.gte=Xd,u.has=Op,u.hasIn=Ji,u.head=oo,u.identity=Et,u.includes=vd,u.indexOf=hh,u.inRange=Qp,u.invoke=Fp,u.isArguments=qn,u.isArray=U,u.isArrayBuffer=Qd,u.isArrayLike=It,u.isArrayLikeObject=ut,u.isBoolean=Vd,u.isBuffer=En,u.isDate=jd,u.isElement=tp,u.isEmpty=np,u.isEqual=ep,u.isEqualWith=rp,u.isError=Hi,u.isFinite=ip,u.isFunction=_n,u.isInteger=xo,u.isLength=br,u.isMap=So,u.isMatch=sp,u.isMatchWith=up,u.isNaN=op,u.isNative=ap,u.isNil=cp,u.isNull=fp,u.isNumber=Ao,u.isObject=it,u.isObjectLike=st,u.isPlainObject=Ee,u.isRegExp=zi,u.isSafeInteger=lp,u.isSet=bo,u.isString=Cr,u.isSymbol=Ft,u.isTypedArray=ie,u.isUndefined=hp,u.isWeakMap=dp,u.isWeakSet=pp,u.join=vh,u.kebabCase=rg,u.last=Gt,u.lastIndexOf=wh,u.lowerCase=ig,u.lowerFirst=sg,u.lt=gp,u.lte=_p,u.max=jg,u.maxBy=t_,u.mean=n_,u.meanBy=e_,u.min=r_,u.minBy=i_,u.stubArray=ji,u.stubFalse=ts,u.stubObject=kg,u.stubString=Hg,u.stubTrue=zg,u.multiply=s_,u.nth=yh,u.noConflict=Fg,u.noop=Vi,u.now=xr,u.pad=ug,u.padEnd=og,u.padStart=ag,u.parseInt=fg,u.random=Vp,u.reduce=Sd,u.reduceRight=Ad,u.repeat=cg,u.replace=lg,u.result=qp,u.round=u_,u.runInContext=l,u.sample=Cd,u.size=Rd,u.snakeCase=hg,u.some=Ed,u.sortedIndex=Ph,u.sortedIndexBy=Ih,u.sortedIndexOf=Rh,u.sortedLastIndex=Eh,u.sortedLastIndexBy=Th,u.sortedLastIndexOf=Lh,u.startCase=pg,u.startsWith=gg,u.subtract=o_,u.sum=a_,u.sumBy=f_,u.template=_g,u.times=Gg,u.toFinite=vn,u.toInteger=$,u.toLength=Po,u.toLower=vg,u.toNumber=Jt,u.toSafeInteger=vp,u.toString=Q,u.toUpper=wg,u.trim=yg,u.trimEnd=mg,u.trimStart=xg,u.truncate=Sg,u.unescape=Ag,u.uniqueId=Zg,u.upperCase=bg,u.upperFirst=Zi,u.each=lo,u.eachRight=ho,u.first=oo,Qi(u,function(){var t={};return rn(u,function(n,e){V.call(u.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),u.VERSION=p,Kt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){u[t].placeholder=u}),Kt(["drop","take"],function(t,n){G.prototype[t]=function(e){e=e===i?1:ct($(e),0);var r=this.__filtered__&&!n?new G(this):this.clone();return r.__filtered__?r.__takeCount__=vt(e,r.__takeCount__):r.__views__.push({size:vt(e,$t),type:t+(r.__dir__<0?"Right":"")}),r},G.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Kt(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==Wn||e==lt;G.prototype[t]=function(s){var o=this.clone();return o.__iteratees__.push({iteratee:L(s,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Kt(["head","last"],function(t,n){var e="take"+(n?"Right":"");G.prototype[t]=function(){return this[e](1).value()[0]}}),Kt(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");G.prototype[t]=function(){return this.__filtered__?new G(this):this[e](1)}}),G.prototype.compact=function(){return this.filter(Et)},G.prototype.find=function(t){return this.filter(t).head()},G.prototype.findLast=function(t){return this.reverse().find(t)},G.prototype.invokeMap=q(function(t,n){return typeof t=="function"?new G(this):this.map(function(e){return Ae(e,t,n)})}),G.prototype.reject=function(t){return this.filter(Ar(L(t)))},G.prototype.slice=function(t,n){t=$(t);var e=this;return e.__filtered__&&(t>0||n<0)?new G(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==i&&(n=$(n),e=n<0?e.dropRight(-n):e.take(n-t)),e)},G.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},G.prototype.toArray=function(){return this.take($t)},rn(G.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),s=u[r?"take"+(n=="last"?"Right":""):n],o=r||/^find/.test(n);s&&(u.prototype[n]=function(){var f=this.__wrapped__,c=r?[1]:arguments,d=f instanceof G,y=c[0],m=d||U(f),S=function(z){var J=s.apply(u,Sn([z],c));return r&&b?J[0]:J};m&&e&&typeof y=="function"&&y.length!=1&&(d=m=!1);var b=this.__chain__,R=!!this.__actions__.length,O=o&&!b,M=d&&!R;if(!o&&m){f=M?f:new G(this);var W=t.apply(f,c);return W.__actions__.push({func:yr,args:[S],thisArg:i}),new kt(W,b)}return O&&M?t.apply(this,c):(W=this.thru(S),O?r?W.value()[0]:W.value():W)})}),Kt(["pop","push","shift","sort","splice","unshift"],function(t){var n=ze[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);u.prototype[t]=function(){var s=arguments;if(r&&!this.__chain__){var o=this.value();return n.apply(U(o)?o:[],s)}return this[e](function(f){return n.apply(U(f)?f:[],s)})}}),rn(G.prototype,function(t,n){var e=u[n];if(e){var r=e.name+"";V.call(jn,r)||(jn[r]=[]),jn[r].push({name:n,func:e})}}),jn[hr(i,yn).name]=[{name:"wrapper",func:i}],G.prototype.clone=Ac,G.prototype.reverse=bc,G.prototype.value=Cc,u.prototype.at=td,u.prototype.chain=nd,u.prototype.commit=ed,u.prototype.next=rd,u.prototype.plant=sd,u.prototype.reverse=ud,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=od,u.prototype.first=u.prototype.head,_e&&(u.prototype[_e]=id),u},Xn=ec();Dn?((Dn.exports=Xn)._=Xn,Xr._=Xn):pt._=Xn}).call(ae)}(Te,Te.exports);var Zo=Te.exports;const Yo=Jo(Zo);class Xo{constructor(a){E(this,"config");this.config=a}async complete(a,i){var p;await this.persist(a,{...i,success:!0}),(p=this.config.logger)==null||p.debug("Transaction completed:",a)}async fail(a,i){var p;await this.persist(a,{...i,success:!1}),(p=this.config.logger)==null||p.debug("Transaction failed:",{...a,...i})}async persist(a,i){await fetch(`${this.config.apiUrl}/transactions/${a.id}`,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","x-persona-apikey":this.config.apiKey}})}}class Qo{constructor(a,i){E(this,"transaction");E(this,"manager");this.transaction=a,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(a,i){var T;const p=this.transaction.functionCall;if(!p){await this.fail("No function call found");return}const g=p.name,v=p.args,x=a[g];if(!x){await this.fail(`Tool ${g} not found`);return}try{const C=Yo.get(i,"schema.config.parameters.properties",{}),X=(C&&Object.keys(C).length>0?Object.keys(C):((T=x.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:T[1].split(",").map(D=>D.trim()).filter(Boolean))||[]).map(D=>v[D]),A=await x.apply(null,X);await this.complete(A)}catch(C){await this.fail(`Error executing tool ${g}: ${C}`)}}async complete(a){await this.manager.complete(this.transaction,{success:!0,output:a,error:null})}async fail(a){await this.manager.fail(this.transaction,{success:!1,output:null,error:a})}}class ns extends oe{constructor(i){super();E(this,"status");E(this,"autostart");E(this,"session");E(this,"config");E(this,"notify",!0);E(this,"_tools");E(this,"_toolSchema",{});if(this.config=i,this.status="disconnected",this.autostart=!0,Array.isArray(i.tools)){this._tools={};for(const p of i.tools)p.schema&&p.implementation&&(this._tools[p.schema.name]=p.implementation,this._toolSchema[p.schema.name]=p)}else this._tools=i.tools}getName(){return"transaction"}getPriority(){return 0}getToolInstance(i){return this._toolSchema[i]}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){}onTransaction(i){const p=new Xo(this.config),g=new Qo(i,p);if(this.config.onTransaction)this.config.onTransaction(g);else{const v=i.functionCall?this.getToolInstance(i.functionCall.name):void 0;g.invoke(this._tools,v)}}getTools(){return this._tools}}function Vo(h,a){if(Array.isArray(h))return h;if(typeof h=="object"&&h!==null){const i=a.dev?"localhost:8000":a.baseUrl||"persona.applica.guru/api",p=a.dev?"http":"https",g=a.dev?"ws":"wss";let v=Object.keys(h).map(x=>{switch(x){case"rest":return jo(h[x],{baseEndpointProtocol:p,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});case"webrtc":return ta(h[x],{baseWebSocketProtocol:g,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});case"websocket":return na(h[x],{baseWebSocketProtocol:g,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});default:throw new Error(`Unknown protocol: ${x}`)}}).filter(x=>x!==null);return a.tools&&v.push(new ns({apiUrl:`${p}://${i}`,apiKey:a.apiKey,agentId:a.agentId,tools:a.tools,logger:a.logger})),v}throw new Error("Invalid protocols configuration")}function jo(h,a){return h===!0?new Ir({apiUrl:`${a.baseEndpointProtocol}://${a.baseEndpoint}`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof h=="object"&&h!==null?new Ir(h):null}function ta(h,a){return h===!0?new Er({webrtcUrl:`${a.baseWebSocketProtocol}://${a.baseEndpoint}/webrtc`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof h=="object"&&h!==null?new Er(h):null}function na(h,a){return h===!0?new Rr({webSocketUrl:`${a.baseWebSocketProtocol}://${a.baseEndpoint}/websocket`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof h=="object"&&h!==null?new Rr(h):null}function ea(h,a,i,p,g){return v=>{v.type==="message"?ra(v.payload,h,a,i,g):v.type==="reasoning"?ia(v.payload,h,a,g):v.type==="transaction"&&sa(v.payload,h,p)}}function ra(h,a,i,p,g){h.createdAt||(h.createdAt=new Date),(h==null?void 0:h.finishReason)==="stop"&&!(h!=null&&h.functionResponse)&&!(h!=null&&h.thought)&&p(!1),h.thought&&(h.type="reasoning"),h.protocol=a.getName(),i(v=>{const x=Tn([...v,h]);return g?g(x):x})}function ia(h,a,i,p){const g={type:"reasoning",text:h.thought,role:"assistant",finishReason:"stop",protocol:a.getName(),createdAt:new Date};i(v=>{const x=Tn([...v,g]);return p?p(x):x})}function sa(h,a,i){i.filter(p=>p!==a).forEach(p=>p.onTransaction(h))}function es(h){return new Promise((a,i)=>{const p=new FileReader;p.readAsDataURL(h),p.onload=()=>{const v=p.result.split(";base64,")[1];a(v)},p.onerror=g=>{i(g)}})}function ua(h){const a={rest:i=>i.config.apiUrl,webrtc:i=>i.config.webrtcUrl.replace("/webrtc","").replace("ws://","http://").replace("wss://","https://"),websocket:i=>i.config.webSocketUrl.replace("/websocket","").replace("ws://","http://").replace("wss://","https://")};for(const i of h){const p=a[i.getName()];if(p)return p(i)}return null}function oa(h,a,i,p,g){return async v=>{const x=v.content.find(P=>P.type==="text"),T=v.attachments&&v.attachments.length>0;if(!x&&!T)throw new Error("Message must contain text or attachments");if(!h.some(P=>P.getName()!=="transaction"&&P.status==="connected")){a(P=>{const N={role:"assistant",type:"text",text:"No protocol is connected.",createdAt:new Date,finishReason:"stop"},tt=[...P,N];return p?p(tt):tt});return}const K=(x==null?void 0:x.type)==="text"?x.text??"":"",X={role:"user",type:"text",text:K,createdAt:new Date};a(P=>{const N=Tn([...P,X]);return p?p(N):N}),i(!0);const A=h.sort((P,N)=>N.getPriority()-P.getPriority()).find(P=>P.status==="connected"),D=[];if(v.attachments)for(const P of v.attachments)if(P.contentType.startsWith("image/")&&P.file)D.push({role:"user",image:{contentType:P.contentType,content:await es(P.file)},text:"",type:"text",createdAt:new Date});else if(P.content){const N=P.content.find(H=>H.type==="text");N&&"text"in N&&D.push({role:"user",file:{name:P.name,contentType:P.contentType},text:N.text,type:"text",createdAt:new Date});const tt=P.content.find(H=>H.type==="file");tt&&"data"in tt&&D.push({role:"user",file:{name:P.name,base64:tt.data,contentType:P.contentType},text:"",type:"text",createdAt:new Date})}else P.file&&D.push({role:"user",file:{name:P.name,base64:await es(P.file),contentType:P.contentType||"application/octet-stream"},text:"",type:"text",createdAt:new Date});K&&D.push({role:"user",text:K,type:"text",createdAt:new Date}),g==null||g.debug("Sending message:",D),await(A==null?void 0:A.sendPacket({type:"request",payload:D}))}}function aa(h,a,i,p,g,v){return async x=>{var N;if(((N=x.content[0])==null?void 0:N.type)!=="text")throw new Error("Only text messages are supported");const T=h.sort((tt,H)=>H.getPriority()-tt.getPriority()).find(tt=>tt.status==="connected");if(!T){v==null||v.debug("No protocol available for edit");return}const C=x.parentId;if(!C){v==null||v.debug("No parent ID provided for edit");return}const K=a.findIndex(tt=>tt.id===C);if(K===-1){v==null||v.debug("Parent message not found:",C);return}const X=a.slice(0,K+1),A={role:"user",text:x.content[0].text,type:"text",createdAt:new Date},D=Tn([...X,A]);i(g?g(D):D),p(!0);const P=[{role:"user",text:x.content[0].text,type:"text",createdAt:new Date}];v==null||v.debug("Sending edited message:",P),await T.sendPacket({type:"request",payload:P})}}function fa(h,a,i,p,g,v){return async(x,T)=>{const C=h.sort((N,tt)=>tt.getPriority()-N.getPriority()).find(N=>N.status==="connected");if(!C){v==null||v.debug("No protocol available for reload");return}const K=T.parentId??x;if(!K){v==null||v.debug("No parent ID provided for reload");return}const X=a.findIndex(N=>N.id===K);if(X===-1){v==null||v.debug("Parent message not found:",K);return}const A=a[X];i(N=>{const tt=N.slice(0,X+1);return g?g(tt):tt});let D;if(A.role==="assistant"||A.role==="function"){for(let N=X-1;N>=0;N--)if(a[N].role==="user"){D=a[N];break}}else A.role==="user"&&(D=A);if(!D){v==null||v.debug("No user message found to regenerate from");return}p(!0);const P=[];D.image&&P.push({role:"user",image:D.image,text:"",type:"text",createdAt:new Date}),P.push({role:"user",text:D.text,type:"text",createdAt:new Date}),v==null||v.debug("Regenerating message with config:",{actualParentId:K,sourceId:T.sourceId,custom:T.runConfig.custom}),await C.sendPacket({type:"request",payload:P})}}function ca(h,a,i,p){return()=>(i(!1),a(g=>{const v=g[g.length-1];if((v==null?void 0:v.role)==="assistant"&&!v.finishReason){const x=[...g];return x[x.length-1]={...v,finishReason:"stop",status:{type:"incomplete"}},p?p(x):x}return g}),h.forEach(g=>{g.status==="connected"&&g.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:{cancel:!0}}}).catch(()=>{})}),Promise.resolve())}const kn=Z.createContext(void 0);function la(){const h=Z.useContext(kn);if(!h)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return h}function rs(h){const a=Z.useContext(kn);if(!a)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=a.protocols.find(g=>g.getName()===h);if(!i)return null;const p=a.protocolsStatus.get(i.getName());return{...i,connect:i.connect.bind(i),disconnect:i.disconnect.bind(i),sendPacket:i.sendPacket.bind(i),setSession:i.setSession.bind(i),addStatusChangeListener:i.addStatusChangeListener.bind(i),addPacketListener:i.addPacketListener.bind(i),getName:i.getName.bind(i),getPriority:i.getPriority.bind(i),status:p||i.status}}function ha(){const h=Z.useContext(kn);if(!h)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return ua(h.protocols)}function da(){return rs("webrtc")}function pa(){const h=Z.useContext(kn);if(!h)throw new Error("usePersonaRenameThread must be used within a PersonaRuntimeProvider");return h.renameThread}function ga(){const h=Z.useContext(kn);if(!h)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return h.getMessages()}const Tr="DEFAULT_THREAD_ID";function _a(){const h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let a="";for(let i=0;i<8;i++)a+=h.charAt(Math.floor(Math.random()*h.length));return a}function va(h,a,i,p,g,v,x,T,C,K,X){return{threadId:h,threads:a.filter(A=>A.status==="regular").map(A=>({id:A.threadId,threadId:A.threadId,title:A.title||`Session ${A.threadId}`,status:A.status})),archivedThreads:a.filter(A=>A.status==="archived").map(A=>({id:A.threadId,threadId:A.threadId,title:A.title||`Archived Chat ${A.threadId}`,status:A.status})),onSwitchToNewThread:()=>{const A=_a(),D={threadId:A,status:"regular",title:`Session ${A}`};p(P=>[D,...P]),i(A),v==null||v(A)},onSwitchToThread:A=>{i(A),x==null||x(A)},onArchive:A=>{p(D=>D.map(P=>P.threadId===A?{...P,status:"archived"}:P)),T==null||T(A),A!==Tr&&g.archive(A)},onUnarchive:A=>{p(D=>D.map(P=>P.threadId===A?{...P,status:"regular"}:P)),C==null||C(A)},onRename:(A,D)=>{p(P=>P.map(N=>N.threadId===A?{...N,title:D}:N)),X==null||X(A,D),A!==Tr&&g.rename(A,D)},onDelete:async A=>{if(p(D=>D.filter(P=>P.threadId!==A)),h===A){const D=a.filter(P=>P.threadId!==A&&P.status==="regular");D.length>0&&i(D[0].threadId)}K==null||K(A),A!==Tr&&await g.delete(A)}}}class is{constructor(a){E(this,"endpoint");E(this,"apiKey");E(this,"pageSize");E(this,"logger");this.endpoint=a.endpoint.replace(/\/$/,""),this.apiKey=a.apiKey,this.pageSize=a.pageSize??200,this.logger=a.logger}buildHeaders(){const a={"Content-Type":"application/json"};return this.apiKey&&(a["x-persona-apikey"]=this.apiKey),a}async sync(a){var p,g;if(!a)return[];const i=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/messages?page=1&size=${this.pageSize}`;try{const v=await fetch(i,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return(p=this.logger)==null||p.warn("PersonaSessionStorage: failed to fetch messages",v.status,await v.text()),[];const x=await v.json();return Array.isArray(x.items)?x.items.map(C=>({id:C.id??C.messageId??void 0,protocol:C.protocol,thought:C.thought,text:C.text??"",image:C.image,type:C.type??"text",role:C.role??"assistant",file:C.file,sources:C.sources,sessionId:C.sessionId??a,finishReason:C.finishReason,functionCalls:C.functionCalls,functionResponse:C.functionResponse,status:C.status,createdAt:C.createdAt?new Date(C.createdAt):void 0,metadata:C.metadata})):[]}catch(v){return(g=this.logger)==null||g.warn("PersonaSessionStorage: error fetching messages",v),[]}}async archive(a){return this._visiblility(a,"archived")}async unarchive(a){return this._visiblility(a,"active")}async delete(a){return this._visiblility(a,"deleted")}async _visiblility(a,i){var g;if(!a)return;const p=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/visibility`;try{const v=JSON.stringify({visibility:i}),x=await fetch(p,{method:"PUT",headers:this.buildHeaders(),body:v});if(!x.ok){const T=await x.text();throw(g=this.logger)==null||g.warn("PersonaSessionStorage: failed to set session visibility",x.status,T),new Error(`Failed to set session visibility: ${x.status}`)}return}catch(v){throw v}}async rename(a,i){var g;if(!a)return;const p=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/name`;try{const v=await fetch(p,{method:"PUT",headers:this.buildHeaders(),body:JSON.stringify({name:i})});if(!v.ok){const x=await v.text();throw(g=this.logger)==null||g.warn("PersonaSessionStorage: failed to rename session",v.status,x),new Error(`Failed to rename session: ${v.status}`)}}catch(v){throw v}}async clearAll(){return Promise.reject(new Error("PersonaAPIMessageStorage: clearAll not supported"))}async list(a,i){const p=new URLSearchParams({page:"1",size:"100",visibility:"active"});i&&p.set("userId",i),a&&p.set("agentId",a);const g=`${this.endpoint}/sessions?${p.toString()}`;try{const v=await fetch(g,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return[];const x=await v.json();return Array.isArray(x.items)?x.items.map(C=>({threadId:C.code||C.id,title:C.name||`Session ${C.code||C.id}`,status:C.status==="archived"?"archived":"regular"})):[]}catch{return[]}}}function wa({dev:h=!1,baseUrl:a,protocols:i,logger:p,children:g,session:v="new",transformMessages:x,threads:T=!1,sessionStorage:C,onThreadCreate:K,onThreadSwitch:X,onThreadRename:A,onThreadArchive:D,onThreadUnarchive:P,onThreadDelete:N,enableAttachments:tt=!1,...H}){const[yn,on]=Z.useState(!1),[dt,_t]=Z.useState([]),[Zt,On]=Z.useState(new Map),Bt=Z.useRef(!1),nn=Z.useRef(!1),Tt=Z.useMemo(()=>C||new is({apiKey:H.apiKey,endpoint:a||"https://persona.applica.guru/api"}),[C,a,H.apiKey]),[Oe,fe]=Z.useState([]),[Lt,We]=Z.useState(""),Wn=Z.useRef(typeof v=="string"?v:"new"),De=Z.useRef(!1);Z.useEffect(()=>{!T||De.current||(De.current=!0,Tt.list(H.agentId,H.userId).then(B=>{(B==null?void 0:B.length)>0&&(fe(B),We(B[0].threadId))}).catch(B=>p==null?void 0:p.error("Failed to load threads:",B)))},[T,Tt,H.agentId,H.userId,p]);const lt=Z.useMemo(()=>Vo(i,{dev:h||!1,baseUrl:a,apiKey:H.apiKey,agentId:H.agentId,userId:H.userId,tools:H.tools,logger:p}),[i,h,a,H.apiKey,H.agentId,H.userId,H.tools,p]);Z.useEffect(()=>{Bt.current||(Bt.current=!0,p==null||p.debug("Setting up protocols:",lt.map(B=>B.getName())),lt.forEach(B=>{B.setSession(Wn.current),B.clearListeners(),B.addStatusChangeListener(at=>{p==null||p.debug(`${B.getName()} status: ${at}`),On(bt=>{const mt=new Map(bt);return mt.set(B.getName(),at),mt}),at==="connected"&&!nn.current&&(H.context&&B.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:H.context}}).catch(()=>{}),H.tools&&Array.isArray(H.tools)&&B.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:H.tools.map(bt=>bt.schema)}}}).catch(()=>{}))}),B.addPacketListener(ea(B,_t,on,lt,x)),B.autostart&&B.status==="disconnected"&&(p==null||p.debug(`Auto-connecting protocol: ${B.getName()}`),B.connect(Wn.current).catch(()=>{}),on(!1))}))},[]),Z.useEffect(()=>{T||!v||v==="new"||Tt.sync(v).then(B=>{if(B.length>0){const at=Tn(B);_t(x?x(at):at),p==null||p.debug(`Loaded ${B.length} messages for session ${v}`)}}).catch(B=>{p==null||p.error("Failed to load session messages:",B)})},[]),Z.useEffect(()=>{if(!T||!Lt){_t([]);return}if(nn.current||Lt===Wn.current)return;nn.current=!0,p==null||p.info("Switching to thread:",Lt),(async()=>{try{const at=lt.filter(Ct=>Ct.status==="connected");at.length>0&&await Promise.allSettled(at.map(Ct=>Ct.disconnect())),Wn.current=Lt,await Promise.allSettled(lt.map(Ct=>Ct.setSession(Lt)));const bt=await Tt.sync(Lt),mt=Tn(bt);_t(x?x(mt):mt),p==null||p.debug(`Loaded ${bt.length} messages for thread ${Lt}`);const Ue=lt.filter(Ct=>Ct.autostart);Ue.length>0&&await Promise.allSettled(Ue.map(Ct=>Ct.connect(Lt)))}catch(at){p==null||p.error("Failed to switch thread:",at),_t([])}finally{nn.current=!1}})()},[Lt,T,lt,Tt,x,p]);const an=Z.useCallback(oa(lt,_t,on,x,p),[lt,x,p]),en=Z.useCallback(aa(lt,dt,_t,on,x,p),[lt,dt,x,p]),Lr=Z.useCallback(fa(lt,dt,_t,on,x,p),[lt,dt,x,p]),Hn=Z.useCallback(ca(lt,_t,on,x),[lt,x]),$t=Z.useCallback(B=>{const at=Tn([...B]);_t(x?x(at):at)},[x]),Or=Z.useCallback(()=>dt,[dt]),Fe=Z.useMemo(()=>{if(T)return va(Lt,Oe,We,fe,Tt,K,X,D,P,N,A)},[T,Lt,Oe,Tt,K,X,D,P,N,A,p]),Wr=ue.useExternalStoreRuntime({isRunning:yn,messages:dt,convertMessage:zo,setMessages:$t,onNew:an,onEdit:en,onCancel:Hn,onReload:Lr,adapters:{...tt?{attachments:new ue.CompositeAttachmentAdapter([new ue.SimpleImageAttachmentAdapter,new ue.SimpleTextAttachmentAdapter,new Mo])}:{},...Fe?{threadList:Fe}:{}}}),mn=Z.useCallback((B,at)=>{fe(bt=>bt.map(mt=>mt.threadId===B?{...mt,title:at}:mt)),A==null||A(B,at),Tt.rename(B,at)},[Tt,A]);return yt.jsx(kn.Provider,{value:{protocols:lt,protocolsStatus:Zt,getMessages:Or,renameThread:mn},children:yt.jsx(ue.AssistantRuntimeProvider,{runtime:Wr,children:g})})}function ya({children:h,...a}){return yt.jsx(wa,{...a,children:h})}class ma{constructor(){E(this,"prefix","[Persona]")}log(a,...i){console.log(`${this.prefix} - ${a}`,...i)}info(a,...i){console.info(`${this.prefix} - ${a}`,...i)}warn(a,...i){console.warn(`${this.prefix} - ${a}`,...i)}error(a,...i){console.error(`${this.prefix} - ${a}`,...i)}debug(a,...i){console.debug(`${this.prefix} - ${a}`,...i)}}function Ln(h,a,i){return{type:h,description:a,...i}}function ss(h){const a=Object.entries(h.parameters).filter(([i,p])=>p.required).map(([i])=>i);return{type:"local",name:h.name,description:h.description,config:{timeout:h.timeout||60,parameters:{type:"object",title:h.title||`${h.name} parameters`,required:a,properties:h.parameters},output:{type:"object",title:`${h.name} output`,properties:h.output}}}}function Le(h){return{schema:ss(h),implementation:h.implementation}}function us(h,a,i,p,g,v){const x={name:h,description:a,title:v==null?void 0:v.title,timeout:v==null?void 0:v.timeout,parameters:p,output:g,implementation:i};return Le(x)}const xa=us("sum","Sum two numbers",function(a,i){return{result:a+i}},{a:Ln("number","First number to sum",{required:!0}),b:Ln("number","Second number to sum",{required:!0})},{result:Ln("number","Sum of two numbers")}),Sa=Le({name:"navigate_to",description:"Allow agent to redirect user to specific sub page like /foo or #/foo or anything like that",title:"Sum two numbers",timeout:60,parameters:{a:Ln("number","First number to sum"),b:Ln("number","Seconth number to sum")},output:{result:Ln("number","Sum of two numbers")},implementation:function(a,i){return{result:a+i}}});function Aa(h){const a=[],i={};return h.forEach(p=>{const{schema:g,implementation:v}=Le(p);a.push(g),i[p.name]=v}),{schemas:a,implementations:i}}function ba(h,a){const{required:i,properties:p}=a.config.parameters;for(const g of i)if(!(g in h))throw new Error(`Missing required parameter: ${g}`);for(const[g,v]of Object.entries(h)){const x=p[g];if(x){if(x.type==="number"&&typeof v!="number")throw new Error(`Parameter ${g} should be a number`);if(x.type==="string"&&typeof v!="string")throw new Error(`Parameter ${g} should be a string`);if(x.type==="boolean"&&typeof v!="boolean")throw new Error(`Parameter ${g} should be a boolean`)}}return!0}class Ca{constructor(a){E(this,"baseUrl");E(this,"apiKey");this.baseUrl=a.baseUrl.replace(/\/$/,""),this.apiKey=a.apiKey}async request(a,i){const p=await fetch(`${this.baseUrl}${a}`,{...i,headers:{"Content-Type":"application/json","x-persona-apikey":this.apiKey,...(i==null?void 0:i.headers)??{}}});if(!p.ok)throw new Error(await p.text());return await p.json()}async getSubscription(a){return this.request(`/projects/${a}/subscription`)}async changeSubscriptionPlan(a,i){return this.request(`/projects/${a}/subscription/actions/change-plan`,{method:"POST",body:JSON.stringify({toPlanType:i})})}async addSubscriptionCredits(a,i){return this.request(`/projects/${a}/subscription/actions/add-credits`,{method:"POST",body:JSON.stringify({credits:i})})}}k.PersonaConsoleLogger=ma,k.PersonaProtocolBase=oe,k.PersonaRESTProtocol=Ir,k.PersonaRuntimeProvider=ya,k.PersonaSessionStorage=is,k.PersonaTransactionProtocol=ns,k.PersonaWebRTCProtocol=Er,k.PersonaWebSocketProtocol=Rr,k.ProjectsApi=Ca,k.createParameter=Ln,k.createTool=Le,k.createToolFromFunction=us,k.createToolRegistry=Aa,k.generateToolSchema=ss,k.navigateToToolExample=Sa,k.sumTool=xa,k.usePersonaRenameThread=pa,k.usePersonaRuntime=la,k.usePersonaRuntimeEndpoint=ha,k.usePersonaRuntimeMessages=ga,k.usePersonaRuntimeProtocol=rs,k.usePersonaRuntimeWebRTCProtocol=da,k.validateToolParameters=ba,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
27
+ }`;var M=No(function(){return Y(o,R+"return "+S).apply(i,f)});if(M.source=S,zi(M))throw M;return M}function yg(t){return Q(t).toLowerCase()}function wg(t){return Q(t).toUpperCase()}function mg(t,n,e){if(t=Q(t),t&&(e||n===i))return zs(t);if(!t||!(n=Dt(n)))return t;var r=Qt(t),s=Qt(n),o=Gs(r,s),f=Js(r,s)+1;return Rn(r,o,f).join("")}function xg(t,n,e){if(t=Q(t),t&&(e||n===i))return t.slice(0,Ys(t)+1);if(!t||!(n=Dt(n)))return t;var r=Qt(t),s=Js(r,Qt(n))+1;return Rn(r,0,s).join("")}function Sg(t,n,e){if(t=Q(t),t&&(e||n===i))return t.replace(zr,"");if(!t||!(n=Dt(n)))return t;var r=Qt(t),s=Gs(r,Qt(n));return Rn(r,s).join("")}function Ag(t,n){var e=Le,r=fe;if(it(n)){var s="separator"in n?n.separator:s;e="length"in n?$(n.length):e,r="omission"in n?Dt(n.omission):r}t=Q(t);var o=t.length;if(Zn(t)){var f=Qt(t);o=f.length}if(e>=o)return t;var c=e-Yn(r);if(c<1)return r;var d=f?Rn(f,0,c).join(""):t.slice(0,c);if(s===i)return d+r;if(f&&(c+=d.length-c),Gi(s)){if(t.slice(c).search(s)){var w,m=d;for(s.global||(s=ai(s.source,Q(ds.exec(s))+"g")),s.lastIndex=0;w=s.exec(m);)var S=w.index;d=d.slice(0,S===i?c:S)}}else if(t.indexOf(Dt(s),c)!=c){var b=d.lastIndexOf(s);b>-1&&(d=d.slice(0,b))}return d+r}function bg(t){return t=Q(t),t&&Da.test(t)?t.replace(cs,jf):t}var Cg=ee(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),Yi=Nu("toUpperCase");function Uo(t,n,e){return t=Q(t),n=e?i:n,n===i?Zf(t)?ec(t):$f(t):t.match(n)||[]}var No=q(function(t,n){try{return Lt(t,i,n)}catch(e){return zi(e)?e:new F(e)}}),Pg=pn(function(t,n){return Kt(n,function(e){e=un(e),hn(t,e,ki(t[e],t))}),t});function Ig(t){var n=t==null?0:t.length,e=O();return t=n?rt(t,function(r){if(typeof r[1]!="function")throw new qt(x);return[e(r[0]),r[1]]}):[],q(function(r){for(var s=-1;++s<n;){var o=t[s];if(Lt(o[0],this,r))return Lt(o[1],this,r)}})}function Rg(t){return jc(Ht(t,A))}function Xi(t){return function(){return t}}function Tg(t,n){return t==null||t!==t?n:t}var Eg=$u(),Og=$u(!0);function Tt(t){return t}function Qi(t){return gu(typeof t=="function"?t:Ht(t,A))}function Lg(t){return vu(Ht(t,A))}function Wg(t,n){return yu(t,Ht(n,A))}var Dg=q(function(t,n){return function(e){return Ae(e,t,n)}}),Fg=q(function(t,n){return function(e){return Ae(t,e,n)}});function Vi(t,n,e){var r=ht(n),s=or(n,r);e==null&&!(it(n)&&(s.length||!r.length))&&(e=n,n=t,t=this,s=or(n,ht(n)));var o=!(it(e)&&"chain"in e)||!!e.chain,f=_n(t);return Kt(s,function(c){var d=n[c];t[c]=d,f&&(t.prototype[c]=function(){var w=this.__chain__;if(o||w){var m=t(this.__wrapped__),S=m.__actions__=Pt(this.__actions__);return S.push({func:d,args:arguments,thisArg:t}),m.__chain__=w,m}return d.apply(t,Sn([this.value()],arguments))})}),t}function Ug(){return pt._===this&&(pt._=ac),this}function ji(){}function Ng(t){return t=$(t),q(function(n){return wu(n,t)})}var Bg=Ei(rt),$g=Ei(Ms),Mg=Ei(ni);function Bo(t){return Ni(t)?ei(un(t)):_l(t)}function Kg(t){return function(n){return t==null?i:$n(t,n)}}var qg=Ku(),kg=Ku(!0);function ts(){return[]}function ns(){return!1}function Hg(){return{}}function zg(){return""}function Gg(){return!0}function Jg(t,n){if(t=$(t),t<1||t>en)return[];var e=$t,r=vt(t,$t);n=O(n),t-=$t;for(var s=si(r,n);++e<t;)n(e);return s}function Zg(t){return U(t)?rt(t,un):Ft(t)?[t]:Pt(ro(Q(t)))}function Yg(t){var n=++uc;return Q(t)+n}var Xg=dr(function(t,n){return t+n},0),Qg=Oi("ceil"),Vg=dr(function(t,n){return t/n},1),jg=Oi("floor");function t_(t){return t&&t.length?ur(t,Tt,_i):i}function n_(t,n){return t&&t.length?ur(t,O(n,2),_i):i}function e_(t){return ks(t,Tt)}function r_(t,n){return ks(t,O(n,2))}function i_(t){return t&&t.length?ur(t,Tt,mi):i}function s_(t,n){return t&&t.length?ur(t,O(n,2),mi):i}var u_=dr(function(t,n){return t*n},1),o_=Oi("round"),a_=dr(function(t,n){return t-n},0);function f_(t){return t&&t.length?ii(t,Tt):0}function c_(t,n){return t&&t.length?ii(t,O(n,2)):0}return u.after=Ld,u.ary=go,u.assign=wp,u.assignIn=To,u.assignInWith=Pr,u.assignWith=mp,u.at=xp,u.before=_o,u.bind=ki,u.bindAll=Pg,u.bindKey=vo,u.castArray=Hd,u.chain=lo,u.chunk=jl,u.compact=th,u.concat=nh,u.cond=Ig,u.conforms=Rg,u.constant=Xi,u.countBy=fd,u.create=Sp,u.curry=yo,u.curryRight=wo,u.debounce=mo,u.defaults=Ap,u.defaultsDeep=bp,u.defer=Wd,u.delay=Dd,u.difference=eh,u.differenceBy=rh,u.differenceWith=ih,u.drop=sh,u.dropRight=uh,u.dropRightWhile=oh,u.dropWhile=ah,u.fill=fh,u.filter=ld,u.flatMap=pd,u.flatMapDeep=gd,u.flatMapDepth=_d,u.flatten=oo,u.flattenDeep=ch,u.flattenDepth=lh,u.flip=Fd,u.flow=Eg,u.flowRight=Og,u.fromPairs=hh,u.functions=Op,u.functionsIn=Lp,u.groupBy=vd,u.initial=ph,u.intersection=gh,u.intersectionBy=_h,u.intersectionWith=vh,u.invert=Dp,u.invertBy=Fp,u.invokeMap=wd,u.iteratee=Qi,u.keyBy=md,u.keys=ht,u.keysIn=Rt,u.map=mr,u.mapKeys=Np,u.mapValues=Bp,u.matches=Lg,u.matchesProperty=Wg,u.memoize=Sr,u.merge=$p,u.mergeWith=Eo,u.method=Dg,u.methodOf=Fg,u.mixin=Vi,u.negate=Ar,u.nthArg=Ng,u.omit=Mp,u.omitBy=Kp,u.once=Ud,u.orderBy=xd,u.over=Bg,u.overArgs=Nd,u.overEvery=$g,u.overSome=Mg,u.partial=Hi,u.partialRight=xo,u.partition=Sd,u.pick=qp,u.pickBy=Oo,u.property=Bo,u.propertyOf=Kg,u.pull=xh,u.pullAll=fo,u.pullAllBy=Sh,u.pullAllWith=Ah,u.pullAt=bh,u.range=qg,u.rangeRight=kg,u.rearg=Bd,u.reject=Cd,u.remove=Ch,u.rest=$d,u.reverse=Ki,u.sampleSize=Id,u.set=Hp,u.setWith=zp,u.shuffle=Rd,u.slice=Ph,u.sortBy=Od,u.sortedUniq=Wh,u.sortedUniqBy=Dh,u.split=pg,u.spread=Md,u.tail=Fh,u.take=Uh,u.takeRight=Nh,u.takeRightWhile=Bh,u.takeWhile=$h,u.tap=td,u.throttle=Kd,u.thru=wr,u.toArray=Po,u.toPairs=Lo,u.toPairsIn=Wo,u.toPath=Zg,u.toPlainObject=Ro,u.transform=Gp,u.unary=qd,u.union=Mh,u.unionBy=Kh,u.unionWith=qh,u.uniq=kh,u.uniqBy=Hh,u.uniqWith=zh,u.unset=Jp,u.unzip=qi,u.unzipWith=co,u.update=Zp,u.updateWith=Yp,u.values=se,u.valuesIn=Xp,u.without=Gh,u.words=Uo,u.wrap=kd,u.xor=Jh,u.xorBy=Zh,u.xorWith=Yh,u.zip=Xh,u.zipObject=Qh,u.zipObjectDeep=Vh,u.zipWith=jh,u.entries=Lo,u.entriesIn=Wo,u.extend=To,u.extendWith=Pr,Vi(u,u),u.add=Xg,u.attempt=No,u.camelCase=tg,u.capitalize=Do,u.ceil=Qg,u.clamp=Qp,u.clone=zd,u.cloneDeep=Jd,u.cloneDeepWith=Zd,u.cloneWith=Gd,u.conformsTo=Yd,u.deburr=Fo,u.defaultTo=Tg,u.divide=Vg,u.endsWith=ng,u.eq=jt,u.escape=eg,u.escapeRegExp=rg,u.every=cd,u.find=hd,u.findIndex=so,u.findKey=Cp,u.findLast=dd,u.findLastIndex=uo,u.findLastKey=Pp,u.floor=jg,u.forEach=ho,u.forEachRight=po,u.forIn=Ip,u.forInRight=Rp,u.forOwn=Tp,u.forOwnRight=Ep,u.get=Ji,u.gt=Xd,u.gte=Qd,u.has=Wp,u.hasIn=Zi,u.head=ao,u.identity=Tt,u.includes=yd,u.indexOf=dh,u.inRange=Vp,u.invoke=Up,u.isArguments=qn,u.isArray=U,u.isArrayBuffer=Vd,u.isArrayLike=It,u.isArrayLikeObject=ut,u.isBoolean=jd,u.isBuffer=Tn,u.isDate=tp,u.isElement=np,u.isEmpty=ep,u.isEqual=rp,u.isEqualWith=ip,u.isError=zi,u.isFinite=sp,u.isFunction=_n,u.isInteger=So,u.isLength=br,u.isMap=Ao,u.isMatch=up,u.isMatchWith=op,u.isNaN=ap,u.isNative=fp,u.isNil=lp,u.isNull=cp,u.isNumber=bo,u.isObject=it,u.isObjectLike=st,u.isPlainObject=Te,u.isRegExp=Gi,u.isSafeInteger=hp,u.isSet=Co,u.isString=Cr,u.isSymbol=Ft,u.isTypedArray=ie,u.isUndefined=dp,u.isWeakMap=pp,u.isWeakSet=gp,u.join=yh,u.kebabCase=ig,u.last=Gt,u.lastIndexOf=wh,u.lowerCase=sg,u.lowerFirst=ug,u.lt=_p,u.lte=vp,u.max=t_,u.maxBy=n_,u.mean=e_,u.meanBy=r_,u.min=i_,u.minBy=s_,u.stubArray=ts,u.stubFalse=ns,u.stubObject=Hg,u.stubString=zg,u.stubTrue=Gg,u.multiply=u_,u.nth=mh,u.noConflict=Ug,u.noop=ji,u.now=xr,u.pad=og,u.padEnd=ag,u.padStart=fg,u.parseInt=cg,u.random=jp,u.reduce=Ad,u.reduceRight=bd,u.repeat=lg,u.replace=hg,u.result=kp,u.round=o_,u.runInContext=h,u.sample=Pd,u.size=Td,u.snakeCase=dg,u.some=Ed,u.sortedIndex=Ih,u.sortedIndexBy=Rh,u.sortedIndexOf=Th,u.sortedLastIndex=Eh,u.sortedLastIndexBy=Oh,u.sortedLastIndexOf=Lh,u.startCase=gg,u.startsWith=_g,u.subtract=a_,u.sum=f_,u.sumBy=c_,u.template=vg,u.times=Jg,u.toFinite=vn,u.toInteger=$,u.toLength=Io,u.toLower=yg,u.toNumber=Jt,u.toSafeInteger=yp,u.toString=Q,u.toUpper=wg,u.trim=mg,u.trimEnd=xg,u.trimStart=Sg,u.truncate=Ag,u.unescape=bg,u.uniqueId=Yg,u.upperCase=Cg,u.upperFirst=Yi,u.each=ho,u.eachRight=po,u.first=ao,Vi(u,function(){var t={};return rn(u,function(n,e){V.call(u.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),u.VERSION=p,Kt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){u[t].placeholder=u}),Kt(["drop","take"],function(t,n){G.prototype[t]=function(e){e=e===i?1:ct($(e),0);var r=this.__filtered__&&!n?new G(this):this.clone();return r.__filtered__?r.__takeCount__=vt(e,r.__takeCount__):r.__views__.push({size:vt(e,$t),type:t+(r.__dir__<0?"Right":"")}),r},G.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Kt(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==Wn||e==lt;G.prototype[t]=function(s){var o=this.clone();return o.__iteratees__.push({iteratee:O(s,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Kt(["head","last"],function(t,n){var e="take"+(n?"Right":"");G.prototype[t]=function(){return this[e](1).value()[0]}}),Kt(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");G.prototype[t]=function(){return this.__filtered__?new G(this):this[e](1)}}),G.prototype.compact=function(){return this.filter(Tt)},G.prototype.find=function(t){return this.filter(t).head()},G.prototype.findLast=function(t){return this.reverse().find(t)},G.prototype.invokeMap=q(function(t,n){return typeof t=="function"?new G(this):this.map(function(e){return Ae(e,t,n)})}),G.prototype.reject=function(t){return this.filter(Ar(O(t)))},G.prototype.slice=function(t,n){t=$(t);var e=this;return e.__filtered__&&(t>0||n<0)?new G(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==i&&(n=$(n),e=n<0?e.dropRight(-n):e.take(n-t)),e)},G.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},G.prototype.toArray=function(){return this.take($t)},rn(G.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),s=u[r?"take"+(n=="last"?"Right":""):n],o=r||/^find/.test(n);s&&(u.prototype[n]=function(){var f=this.__wrapped__,c=r?[1]:arguments,d=f instanceof G,w=c[0],m=d||U(f),S=function(z){var J=s.apply(u,Sn([z],c));return r&&b?J[0]:J};m&&e&&typeof w=="function"&&w.length!=1&&(d=m=!1);var b=this.__chain__,R=!!this.__actions__.length,L=o&&!b,M=d&&!R;if(!o&&m){f=M?f:new G(this);var W=t.apply(f,c);return W.__actions__.push({func:wr,args:[S],thisArg:i}),new kt(W,b)}return L&&M?t.apply(this,c):(W=this.thru(S),L?r?W.value()[0]:W.value():W)})}),Kt(["pop","push","shift","sort","splice","unshift"],function(t){var n=ze[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);u.prototype[t]=function(){var s=arguments;if(r&&!this.__chain__){var o=this.value();return n.apply(U(o)?o:[],s)}return this[e](function(f){return n.apply(U(f)?f:[],s)})}}),rn(G.prototype,function(t,n){var e=u[n];if(e){var r=e.name+"";V.call(jn,r)||(jn[r]=[]),jn[r].push({name:n,func:e})}}),jn[hr(i,wn).name]=[{name:"wrapper",func:i}],G.prototype.clone=bc,G.prototype.reverse=Cc,G.prototype.value=Pc,u.prototype.at=nd,u.prototype.chain=ed,u.prototype.commit=rd,u.prototype.next=id,u.prototype.plant=ud,u.prototype.reverse=od,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=ad,u.prototype.first=u.prototype.head,_e&&(u.prototype[_e]=sd),u},Xn=rc();Dn?((Dn.exports=Xn)._=Xn,Qr._=Xn):pt._=Xn}).call(ae)}(Ee,Ee.exports);var Yo=Ee.exports;const Xo=Zo(Yo);class Qo{constructor(a){T(this,"config");this.config=a}async complete(a,i){var p;await this.persist(a,{...i,success:!0}),(p=this.config.logger)==null||p.debug("Transaction completed:",a)}async fail(a,i){var p;await this.persist(a,{...i,success:!1}),(p=this.config.logger)==null||p.debug("Transaction failed:",{...a,...i})}async persist(a,i){await fetch(`${this.config.apiUrl}/transactions/${a.id}`,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","x-persona-apikey":this.config.apiKey}})}}class Vo{constructor(a,i){T(this,"transaction");T(this,"manager");this.transaction=a,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(a,i){var E;const p=this.transaction.functionCall;if(!p){await this.fail("No function call found");return}const g=p.name,v=p.args,x=a[g];if(!x){await this.fail(`Tool ${g} not found`);return}try{const C=Xo.get(i,"schema.config.parameters.properties",{}),X=(C&&Object.keys(C).length>0?Object.keys(C):((E=x.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:E[1].split(",").map(D=>D.trim()).filter(Boolean))||[]).map(D=>v[D]),A=await x(...X);await this.complete(A)}catch(C){await this.fail(`Error executing tool ${g}: ${C}`)}}async complete(a){await this.manager.complete(this.transaction,{success:!0,output:a,error:null})}async fail(a){await this.manager.fail(this.transaction,{success:!1,output:null,error:a})}}class es extends oe{constructor(i){super();T(this,"status");T(this,"autostart");T(this,"session");T(this,"config");T(this,"notify",!0);T(this,"_tools");T(this,"_toolSchema",{});if(this.config=i,this.status="disconnected",this.autostart=!0,Array.isArray(i.tools)){this._tools={};for(const p of i.tools)p.schema&&p.implementation&&(this._tools[p.schema.name]=p.implementation,this._toolSchema[p.schema.name]=p)}else this._tools=i.tools}getName(){return"transaction"}getPriority(){return 0}getToolInstance(i){return this._toolSchema[i]}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){}onTransaction(i){const p=new Qo(this.config),g=new Vo(i,p);if(this.config.onTransaction)this.config.onTransaction(g);else{const v=i.functionCall?this.getToolInstance(i.functionCall.name):void 0;g.invoke(this._tools,v)}}getTools(){return this._tools}}function jo(l,a){if(Array.isArray(l))return l;if(typeof l=="object"&&l!==null){const i=a.dev?"localhost:8000":a.baseUrl||"persona.applica.guru/api",p=a.dev?"http":"https",g=a.dev?"ws":"wss",v=Object.keys(l).map(x=>{switch(x){case"rest":return ta(l[x],{baseEndpointProtocol:p,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});case"webrtc":return na(l[x],{baseWebSocketProtocol:g,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});case"websocket":return ea(l[x],{baseWebSocketProtocol:g,baseEndpoint:i,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger});default:throw new Error(`Unknown protocol: ${x}`)}}).filter(x=>x!==null);return a.tools&&v.push(new es({apiUrl:`${p}://${i}`,apiKey:a.apiKey,agentId:a.agentId,tools:a.tools,logger:a.logger})),v}throw new Error("Invalid protocols configuration")}function ta(l,a){return l===!0?new Rr({apiUrl:`${a.baseEndpointProtocol}://${a.baseEndpoint}`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof l=="object"&&l!==null?new Rr(l):null}function na(l,a){return l===!0?new Er({webrtcUrl:`${a.baseWebSocketProtocol}://${a.baseEndpoint}/webrtc`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof l=="object"&&l!==null?new Er(l):null}function ea(l,a){return l===!0?new Tr({webSocketUrl:`${a.baseWebSocketProtocol}://${a.baseEndpoint}/websocket`,apiKey:a.apiKey,agentId:a.agentId,userId:a.userId,logger:a.logger}):typeof l=="object"&&l!==null?new Tr(l):null}function ra(l,a,i,p,g){return v=>{v.type==="message"?ia(v.payload,l,a,i,g):v.type==="reasoning"?sa(v.payload,l,a,g):v.type==="transaction"&&ua(v.payload,l,p)}}function ia(l,a,i,p,g){l.createdAt||(l.createdAt=new Date),(l==null?void 0:l.finishReason)==="stop"&&!(l!=null&&l.functionResponse)&&!(l!=null&&l.thought)&&p(!1),l.thought&&(l.type="reasoning"),l.protocol=a.getName(),i(v=>{const x=En([...v,l]);return g?g(x):x})}function sa(l,a,i,p){const g={type:"reasoning",text:l.thought,role:"assistant",finishReason:"stop",protocol:a.getName(),createdAt:new Date};i(v=>{const x=En([...v,g]);return p?p(x):x})}function ua(l,a,i){i.filter(p=>p!==a).forEach(p=>p.onTransaction(l))}function rs(l){return new Promise((a,i)=>{const p=new FileReader;p.readAsDataURL(l),p.onload=()=>{const v=p.result.split(";base64,")[1];a(v)},p.onerror=g=>{i(g)}})}function oa(l){const a={rest:i=>i.config.apiUrl,webrtc:i=>i.config.webrtcUrl.replace("/webrtc","").replace("ws://","http://").replace("wss://","https://"),websocket:i=>i.config.webSocketUrl.replace("/websocket","").replace("ws://","http://").replace("wss://","https://")};for(const i of l){const p=a[i.getName()];if(p)return p(i)}return null}function aa(l,a,i,p,g){return async v=>{const x=v.content.find(P=>P.type==="text"),E=v.attachments&&v.attachments.length>0;if(!x&&!E)throw new Error("Message must contain text or attachments");if(!l.some(P=>P.getName()!=="transaction"&&P.status==="connected")){a(P=>{const N={role:"assistant",type:"text",text:"No protocol is connected.",createdAt:new Date,finishReason:"stop"},tt=[...P,N];return p?p(tt):tt});return}const K=(x==null?void 0:x.type)==="text"?x.text??"":"",X={role:"user",type:"text",text:K,createdAt:new Date};a(P=>{const N=En([...P,X]);return p?p(N):N}),i(!0);const A=l.sort((P,N)=>N.getPriority()-P.getPriority()).find(P=>P.status==="connected"),D=[];if(v.attachments)for(const P of v.attachments)if(P.contentType.startsWith("image/")&&P.file)D.push({role:"user",image:{contentType:P.contentType,content:await rs(P.file)},text:"",type:"text",createdAt:new Date});else if(P.content){const N=P.content.find(H=>H.type==="text");N&&"text"in N&&D.push({role:"user",file:{name:P.name,contentType:P.contentType},text:N.text,type:"text",createdAt:new Date});const tt=P.content.find(H=>H.type==="file");tt&&"data"in tt&&D.push({role:"user",file:{name:P.name,base64:tt.data,contentType:P.contentType},text:"",type:"text",createdAt:new Date})}else P.file&&D.push({role:"user",file:{name:P.name,base64:await rs(P.file),contentType:P.contentType||"application/octet-stream"},text:"",type:"text",createdAt:new Date});K&&D.push({role:"user",text:K,type:"text",createdAt:new Date}),g==null||g.debug("Sending message:",D),await(A==null?void 0:A.sendPacket({type:"request",payload:D}))}}function fa(l,a,i,p,g,v){return async x=>{var N;if(((N=x.content[0])==null?void 0:N.type)!=="text")throw new Error("Only text messages are supported");const E=l.sort((tt,H)=>H.getPriority()-tt.getPriority()).find(tt=>tt.status==="connected");if(!E){v==null||v.debug("No protocol available for edit");return}const C=x.parentId;if(!C){v==null||v.debug("No parent ID provided for edit");return}const K=a.findIndex(tt=>tt.id===C);if(K===-1){v==null||v.debug("Parent message not found:",C);return}const X=a.slice(0,K+1),A={role:"user",text:x.content[0].text,type:"text",createdAt:new Date},D=En([...X,A]);i(g?g(D):D),p(!0);const P=[{role:"user",text:x.content[0].text,type:"text",createdAt:new Date}];v==null||v.debug("Sending edited message:",P),await E.sendPacket({type:"request",payload:P})}}function ca(l,a,i,p,g,v){return async(x,E)=>{const C=l.sort((N,tt)=>tt.getPriority()-N.getPriority()).find(N=>N.status==="connected");if(!C){v==null||v.debug("No protocol available for reload");return}const K=E.parentId??x;if(!K){v==null||v.debug("No parent ID provided for reload");return}const X=a.findIndex(N=>N.id===K);if(X===-1){v==null||v.debug("Parent message not found:",K);return}const A=a[X];i(N=>{const tt=N.slice(0,X+1);return g?g(tt):tt});let D;if(A.role==="assistant"||A.role==="function"){for(let N=X-1;N>=0;N--)if(a[N].role==="user"){D=a[N];break}}else A.role==="user"&&(D=A);if(!D){v==null||v.debug("No user message found to regenerate from");return}p(!0);const P=[];D.image&&P.push({role:"user",image:D.image,text:"",type:"text",createdAt:new Date}),P.push({role:"user",text:D.text,type:"text",createdAt:new Date}),v==null||v.debug("Regenerating message with config:",{actualParentId:K,sourceId:E.sourceId,custom:E.runConfig.custom}),await C.sendPacket({type:"request",payload:P})}}function la(l,a,i,p){return()=>(i(!1),a(g=>{const v=g[g.length-1];if((v==null?void 0:v.role)==="assistant"&&!v.finishReason){const x=[...g];return x[x.length-1]={...v,finishReason:"stop",status:{type:"incomplete"}},p?p(x):x}return g}),l.forEach(g=>{g.status==="connected"&&g.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:{cancel:!0}}}).catch(()=>{})}),Promise.resolve())}const kn=Z.createContext(void 0);function ha(){const l=Z.useContext(kn);if(!l)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return l}function is(l){const a=Z.useContext(kn);if(!a)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=a.protocols.find(g=>g.getName()===l);if(!i)return null;const p=a.protocolsStatus.get(i.getName());return{...i,connect:i.connect.bind(i),disconnect:i.disconnect.bind(i),sendPacket:i.sendPacket.bind(i),setSession:i.setSession.bind(i),addStatusChangeListener:i.addStatusChangeListener.bind(i),addPacketListener:i.addPacketListener.bind(i),getName:i.getName.bind(i),getPriority:i.getPriority.bind(i),status:p||i.status}}function da(){const l=Z.useContext(kn);if(!l)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return oa(l.protocols)}function pa(){return is("webrtc")}function ga(){const l=Z.useContext(kn);if(!l)throw new Error("usePersonaRenameThread must be used within a PersonaRuntimeProvider");return l.renameThread}function _a(){const l=Z.useContext(kn);if(!l)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return l.getMessages()}const Or="DEFAULT_THREAD_ID";function va(){const l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let a="";for(let i=0;i<8;i++)a+=l.charAt(Math.floor(Math.random()*l.length));return a}function ya(l,a,i,p,g,v,x,E,C,K,X){return{threadId:l,threads:a.filter(A=>A.status==="regular").map(A=>({id:A.threadId,threadId:A.threadId,title:A.title||`Session ${A.threadId}`,status:A.status})),archivedThreads:a.filter(A=>A.status==="archived").map(A=>({id:A.threadId,threadId:A.threadId,title:A.title||`Archived Chat ${A.threadId}`,status:A.status})),onSwitchToNewThread:()=>{const A=va(),D={threadId:A,status:"regular",title:`Session ${A}`};p(P=>[D,...P]),i(A),v==null||v(A)},onSwitchToThread:A=>{i(A),x==null||x(A)},onArchive:A=>{p(D=>D.map(P=>P.threadId===A?{...P,status:"archived"}:P)),E==null||E(A),A!==Or&&g.archive(A)},onUnarchive:A=>{p(D=>D.map(P=>P.threadId===A?{...P,status:"regular"}:P)),C==null||C(A)},onRename:(A,D)=>{p(P=>P.map(N=>N.threadId===A?{...N,title:D}:N)),X==null||X(A,D),A!==Or&&g.rename(A,D)},onDelete:async A=>{if(p(D=>D.filter(P=>P.threadId!==A)),l===A){const D=a.filter(P=>P.threadId!==A&&P.status==="regular");D.length>0&&i(D[0].threadId)}K==null||K(A),A!==Or&&await g.delete(A)}}}class ss{constructor(a){T(this,"endpoint");T(this,"apiKey");T(this,"pageSize");T(this,"logger");this.endpoint=a.endpoint.replace(/\/$/,""),this.apiKey=a.apiKey,this.pageSize=a.pageSize??200,this.logger=a.logger}buildHeaders(){const a={"Content-Type":"application/json"};return this.apiKey&&(a["x-persona-apikey"]=this.apiKey),a}async sync(a){var p,g;if(!a)return[];const i=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/messages?page=1&size=${this.pageSize}`;try{const v=await fetch(i,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return(p=this.logger)==null||p.warn("PersonaSessionStorage: failed to fetch messages",v.status,await v.text()),[];const x=await v.json();return Array.isArray(x.items)?x.items.map(C=>({id:C.id??C.messageId??void 0,protocol:C.protocol,thought:C.thought,text:C.text??"",image:C.image,type:C.type??"text",role:C.role??"assistant",file:C.file,sources:C.sources,sessionId:C.sessionId??a,finishReason:C.finishReason,functionCalls:C.functionCalls,functionResponse:C.functionResponse,status:C.status,createdAt:C.createdAt?new Date(C.createdAt):void 0,metadata:C.metadata})):[]}catch(v){return(g=this.logger)==null||g.warn("PersonaSessionStorage: error fetching messages",v),[]}}async archive(a){return this._visiblility(a,"archived")}async unarchive(a){return this._visiblility(a,"active")}async delete(a){return this._visiblility(a,"deleted")}async _visiblility(a,i){var x;if(!a)return;const p=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/visibility`,g=JSON.stringify({visibility:i}),v=await fetch(p,{method:"PUT",headers:this.buildHeaders(),body:g});if(!v.ok){const E=await v.text();throw(x=this.logger)==null||x.warn("PersonaSessionStorage: failed to set session visibility",v.status,E),new Error(`Failed to set session visibility: ${v.status}`)}}async rename(a,i){var v;if(!a)return;const p=`${this.endpoint}/sessions/${encodeURIComponent(String(a))}/name`,g=await fetch(p,{method:"PUT",headers:this.buildHeaders(),body:JSON.stringify({name:i})});if(!g.ok){const x=await g.text();throw(v=this.logger)==null||v.warn("PersonaSessionStorage: failed to rename session",g.status,x),new Error(`Failed to rename session: ${g.status}`)}}async clearAll(){return Promise.reject(new Error("PersonaAPIMessageStorage: clearAll not supported"))}async list(a,i){const p=new URLSearchParams({page:"1",size:"100",visibility:"active"});i&&p.set("userId",i),a&&p.set("agentId",a);const g=`${this.endpoint}/sessions?${p.toString()}`;try{const v=await fetch(g,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return[];const x=await v.json();return Array.isArray(x.items)?x.items.map(C=>({threadId:C.code||C.id,title:C.name||`Session ${C.code||C.id}`,status:C.status==="archived"?"archived":"regular"})):[]}catch{return[]}}}function wa({dev:l=!1,baseUrl:a,protocols:i,logger:p,children:g,session:v="new",transformMessages:x,threads:E=!1,sessionStorage:C,onThreadCreate:K,onThreadSwitch:X,onThreadRename:A,onThreadArchive:D,onThreadUnarchive:P,onThreadDelete:N,enableAttachments:tt=!1,...H}){const[wn,on]=Z.useState(!1),[dt,_t]=Z.useState([]),[Zt,Ln]=Z.useState(new Map),Bt=Z.useRef(!1),nn=Z.useRef(!1),Et=Z.useMemo(()=>C||new ss({apiKey:H.apiKey,endpoint:a||"https://persona.applica.guru/api"}),[C,a,H.apiKey]),[Le,fe]=Z.useState([]),[Ot,We]=Z.useState(""),Wn=Z.useRef(typeof v=="string"?v:"new"),De=Z.useRef(!1);Z.useEffect(()=>{!E||De.current||(De.current=!0,Et.list(H.agentId,H.userId).then(B=>{(B==null?void 0:B.length)>0&&(fe(B),We(B[0].threadId))}).catch(B=>p==null?void 0:p.error("Failed to load threads:",B)))},[E,Et,H.agentId,H.userId,p]);const lt=Z.useMemo(()=>jo(i,{dev:l||!1,baseUrl:a,apiKey:H.apiKey,agentId:H.agentId,userId:H.userId,tools:H.tools,logger:p}),[i,l,a,H.apiKey,H.agentId,H.userId,H.tools,p]);Z.useEffect(()=>{Bt.current||(Bt.current=!0,p==null||p.debug("Setting up protocols:",lt.map(B=>B.getName())),lt.forEach(B=>{B.setSession(Wn.current),B.clearListeners(),B.addStatusChangeListener(at=>{p==null||p.debug(`${B.getName()} status: ${at}`),Ln(bt=>{const mt=new Map(bt);return mt.set(B.getName(),at),mt}),at==="connected"&&!nn.current&&(H.context&&B.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:H.context}}).catch(()=>{}),H.tools&&Array.isArray(H.tools)&&B.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:H.tools.map(bt=>bt.schema)}}}).catch(()=>{}))}),B.addPacketListener(ra(B,_t,on,lt,x)),B.autostart&&B.status==="disconnected"&&(p==null||p.debug(`Auto-connecting protocol: ${B.getName()}`),B.connect(Wn.current).catch(()=>{}),on(!1))}))},[]),Z.useEffect(()=>{E||!v||v==="new"||Et.sync(v).then(B=>{if(B.length>0){const at=En(B);_t(x?x(at):at),p==null||p.debug(`Loaded ${B.length} messages for session ${v}`)}}).catch(B=>{p==null||p.error("Failed to load session messages:",B)})},[]),Z.useEffect(()=>{if(!E||!Ot){_t([]);return}if(nn.current||Ot===Wn.current)return;nn.current=!0,p==null||p.info("Switching to thread:",Ot),(async()=>{try{const at=lt.filter(Ct=>Ct.status==="connected");at.length>0&&await Promise.allSettled(at.map(Ct=>Ct.disconnect())),Wn.current=Ot,await Promise.allSettled(lt.map(Ct=>Ct.setSession(Ot)));const bt=await Et.sync(Ot),mt=En(bt);_t(x?x(mt):mt),p==null||p.debug(`Loaded ${bt.length} messages for thread ${Ot}`);const Ue=lt.filter(Ct=>Ct.autostart);Ue.length>0&&await Promise.allSettled(Ue.map(Ct=>Ct.connect(Ot)))}catch(at){p==null||p.error("Failed to switch thread:",at),_t([])}finally{nn.current=!1}})()},[Ot,E,lt,Et,x,p]);const an=Z.useCallback(aa(lt,_t,on,x,p),[lt,x,p]),en=Z.useCallback(fa(lt,dt,_t,on,x,p),[lt,dt,x,p]),Lr=Z.useCallback(ca(lt,dt,_t,on,x,p),[lt,dt,x,p]),Hn=Z.useCallback(la(lt,_t,on,x),[lt,x]),$t=Z.useCallback(B=>{const at=En([...B]);_t(x?x(at):at)},[x]),Wr=Z.useCallback(()=>dt,[dt]),Fe=Z.useMemo(()=>{if(E)return ya(Ot,Le,We,fe,Et,K,X,D,P,N,A)},[E,Ot,Le,Et,K,X,D,P,N,A,p]),Dr=ue.useExternalStoreRuntime({isRunning:wn,messages:dt,convertMessage:Go,setMessages:$t,onNew:an,onEdit:en,onCancel:Hn,onReload:Lr,adapters:{...tt?{attachments:new ue.CompositeAttachmentAdapter([new ue.SimpleImageAttachmentAdapter,new ue.SimpleTextAttachmentAdapter,new Ko])}:{},...Fe?{threadList:Fe}:{}}}),mn=Z.useCallback((B,at)=>{fe(bt=>bt.map(mt=>mt.threadId===B?{...mt,title:at}:mt)),A==null||A(B,at),Et.rename(B,at)},[Et,A]);return wt.jsx(kn.Provider,{value:{protocols:lt,protocolsStatus:Zt,getMessages:Wr,renameThread:mn},children:wt.jsx(ue.AssistantRuntimeProvider,{runtime:Dr,children:g})})}function ma({children:l,...a}){return wt.jsx(wa,{...a,children:l})}class xa{constructor(){T(this,"prefix","[Persona]")}log(a,...i){console.log(`${this.prefix} - ${a}`,...i)}info(a,...i){console.info(`${this.prefix} - ${a}`,...i)}warn(a,...i){console.warn(`${this.prefix} - ${a}`,...i)}error(a,...i){console.error(`${this.prefix} - ${a}`,...i)}debug(a,...i){console.debug(`${this.prefix} - ${a}`,...i)}}function On(l,a,i){return{type:l,description:a,...i}}function us(l){const a=Object.entries(l.parameters).filter(([i,p])=>p.required).map(([i])=>i);return{type:"local",name:l.name,description:l.description,config:{timeout:l.timeout||60,parameters:{type:"object",title:l.title||`${l.name} parameters`,required:a,properties:l.parameters},output:{type:"object",title:`${l.name} output`,properties:l.output}}}}function Oe(l){return{schema:us(l),implementation:l.implementation}}function os(l,a,i,p,g,v){const x={name:l,description:a,title:v==null?void 0:v.title,timeout:v==null?void 0:v.timeout,parameters:p,output:g,implementation:i};return Oe(x)}const Sa=os("sum","Sum two numbers",function(a,i){return{result:a+i}},{a:On("number","First number to sum",{required:!0}),b:On("number","Second number to sum",{required:!0})},{result:On("number","Sum of two numbers")}),Aa=Oe({name:"navigate_to",description:"Allow agent to redirect user to specific sub page like /foo or #/foo or anything like that",title:"Sum two numbers",timeout:60,parameters:{a:On("number","First number to sum"),b:On("number","Seconth number to sum")},output:{result:On("number","Sum of two numbers")},implementation:function(a,i){return{result:a+i}}});function ba(l){const a=[],i={};return l.forEach(p=>{const{schema:g,implementation:v}=Oe(p);a.push(g),i[p.name]=v}),{schemas:a,implementations:i}}function Ca(l,a){const{required:i,properties:p}=a.config.parameters;for(const g of i)if(!(g in l))throw new Error(`Missing required parameter: ${g}`);for(const[g,v]of Object.entries(l)){const x=p[g];if(x){if(x.type==="number"&&typeof v!="number")throw new Error(`Parameter ${g} should be a number`);if(x.type==="string"&&typeof v!="string")throw new Error(`Parameter ${g} should be a string`);if(x.type==="boolean"&&typeof v!="boolean")throw new Error(`Parameter ${g} should be a boolean`)}}return!0}class Pa{constructor(a){T(this,"baseUrl");T(this,"apiKey");this.baseUrl=a.baseUrl.replace(/\/$/,""),this.apiKey=a.apiKey}async request(a,i){const p=await fetch(`${this.baseUrl}${a}`,{...i,headers:{"Content-Type":"application/json","x-persona-apikey":this.apiKey,...(i==null?void 0:i.headers)??{}}});if(!p.ok)throw new Error(await p.text());return await p.json()}async getSubscription(a){return this.request(`/projects/${a}/subscription`)}async changeSubscriptionPlan(a,i){return this.request(`/projects/${a}/subscription/actions/change-plan`,{method:"POST",body:JSON.stringify({toPlanType:i})})}async addSubscriptionCredits(a,i){return this.request(`/projects/${a}/subscription/actions/add-credits`,{method:"POST",body:JSON.stringify({credits:i})})}}k.PersonaConsoleLogger=xa,k.PersonaProtocolBase=oe,k.PersonaRESTProtocol=Rr,k.PersonaRuntimeProvider=ma,k.PersonaSessionStorage=ss,k.PersonaTransactionProtocol=es,k.PersonaWebRTCProtocol=Er,k.PersonaWebSocketProtocol=Tr,k.ProjectsApi=Pa,k.createParameter=On,k.createTool=Oe,k.createToolFromFunction=os,k.createToolRegistry=ba,k.generateToolSchema=us,k.navigateToToolExample=Aa,k.sumTool=Sa,k.usePersonaRenameThread=ga,k.usePersonaRuntime=ha,k.usePersonaRuntimeEndpoint=da,k.usePersonaRuntimeMessages=_a,k.usePersonaRuntimeProtocol=is,k.usePersonaRuntimeWebRTCProtocol=pa,k.validateToolParameters=Ca,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
28
28
  //# sourceMappingURL=bundle.umd.js.map